diff --git a/.gitignore b/.gitignore index 0badfe0cf61..9173b12c328 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,14 @@ test-args.txt \#*\# .\#* tests/baselines/local/* +tests/baselines/local.old/* tests/services/baselines/local/* tests/baselines/prototyping/local/* tests/baselines/rwc/* tests/baselines/test262/* tests/baselines/reference/projectOutput/* tests/baselines/local/projectOutput/* +tests/baselines/reference/testresults.tap tests/services/baselines/prototyping/local/* tests/services/browser/typescriptServices.js scripts/authors.js diff --git a/.travis.yml b/.travis.yml index 989924dc32c..11a7f940cb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,9 +7,33 @@ node_js: sudo: false -os: - - linux - - osx +env: + - workerCount=3 matrix: fast_finish: true + include: + - os: osx + node_js: stable + osx_image: xcode7.3 + env: workerCount=2 + allow_failures: + - os: osx + +branches: + only: + - master + - release.2.0 + +install: + - npm uninstall typescript + - npm uninstall tslint + - npm install + - npm update + +cache: + directories: + - node_modules + +git: + depth: 1 diff --git a/Gulpfile.ts b/Gulpfile.ts index 57da2b62aa8..bff83fcbff6 100644 --- a/Gulpfile.ts +++ b/Gulpfile.ts @@ -17,7 +17,7 @@ declare module "gulp-typescript" { stripInternal?: boolean; types?: string[]; } - interface CompileStream extends NodeJS.ReadWriteStream {} // Either gulp or gulp-typescript has some odd typings which don't reflect reality, making this required + interface CompileStream extends NodeJS.ReadWriteStream { } // Either gulp or gulp-typescript has some odd typings which don't reflect reality, making this required } import * as insert from "gulp-insert"; import * as sourcemaps from "gulp-sourcemaps"; @@ -34,11 +34,13 @@ import through2 = require("through2"); import merge2 = require("merge2"); import intoStream = require("into-stream"); import * as os from "os"; -import Linter = require("tslint"); +import fold = require("travis-fold"); const gulp = helpMaker(originalGulp); const mochaParallel = require("./scripts/mocha-parallel.js"); const {runTestsInParallel} = mochaParallel; +Error.stackTraceLimit = 1000; + const cmdLineOptions = minimist(process.argv.slice(2), { boolean: ["debug", "light", "colors", "lint", "soft"], string: ["browser", "tests", "host", "reporter"], @@ -59,14 +61,13 @@ const cmdLineOptions = minimist(process.argv.slice(2), { browser: process.env.browser || process.env.b || "IE", tests: process.env.test || process.env.tests || process.env.t, light: process.env.light || false, - port: process.env.port || process.env.p || "8888", reporter: process.env.reporter || process.env.r, lint: process.env.lint || true, files: process.env.f || process.env.file || process.env.files || "", } }); -function exec(cmd: string, args: string[], complete: () => void = (() => {}), error: (e: any, status: number) => void = (() => {})) { +function exec(cmd: string, args: string[], complete: () => void = (() => { }), error: (e: any, status: number) => void = (() => { })) { console.log(`${cmd} ${args.join(" ")}`); // TODO (weswig): Update child_process types to add windowsVerbatimArguments to the type definition const subshellFlag = isWin ? "/c" : "-c"; @@ -117,12 +118,12 @@ const es2015LibrarySources = [ ]; const es2015LibrarySourceMap = es2015LibrarySources.map(function(source) { - return { target: "lib." + source, sources: ["header.d.ts", source] }; + return { target: "lib." + source, sources: ["header.d.ts", source] }; }); -const es2016LibrarySource = [ "es2016.array.include.d.ts" ]; +const es2016LibrarySource = ["es2016.array.include.d.ts"]; -const es2016LibrarySourceMap = es2016LibrarySource.map(function (source) { +const es2016LibrarySourceMap = es2016LibrarySource.map(function(source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; }); @@ -131,38 +132,38 @@ const es2017LibrarySource = [ "es2017.sharedmemory.d.ts" ]; -const es2017LibrarySourceMap = es2017LibrarySource.map(function (source) { +const es2017LibrarySourceMap = es2017LibrarySource.map(function(source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; }); const hostsLibrarySources = ["dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts"]; const librarySourceMap = [ - // Host library - { target: "lib.dom.d.ts", sources: ["header.d.ts", "dom.generated.d.ts"] }, - { target: "lib.dom.iterable.d.ts", sources: ["header.d.ts", "dom.iterable.d.ts"] }, - { target: "lib.webworker.d.ts", sources: ["header.d.ts", "webworker.generated.d.ts"] }, - { target: "lib.scripthost.d.ts", sources: ["header.d.ts", "scripthost.d.ts"] }, + // Host library + { target: "lib.dom.d.ts", sources: ["header.d.ts", "dom.generated.d.ts"] }, + { target: "lib.dom.iterable.d.ts", sources: ["header.d.ts", "dom.iterable.d.ts"] }, + { target: "lib.webworker.d.ts", sources: ["header.d.ts", "webworker.generated.d.ts"] }, + { target: "lib.scripthost.d.ts", sources: ["header.d.ts", "scripthost.d.ts"] }, - // JavaScript library - { target: "lib.es5.d.ts", sources: ["header.d.ts", "es5.d.ts"] }, - { target: "lib.es2015.d.ts", sources: ["header.d.ts", "es2015.d.ts"] }, - { target: "lib.es2016.d.ts", sources: ["header.d.ts", "es2016.d.ts"] }, - { target: "lib.es2017.d.ts", sources: ["header.d.ts", "es2017.d.ts"] }, + // JavaScript library + { target: "lib.es5.d.ts", sources: ["header.d.ts", "es5.d.ts"] }, + { target: "lib.es2015.d.ts", sources: ["header.d.ts", "es2015.d.ts"] }, + { target: "lib.es2016.d.ts", sources: ["header.d.ts", "es2016.d.ts"] }, + { target: "lib.es2017.d.ts", sources: ["header.d.ts", "es2017.d.ts"] }, - // JavaScript + all host library - { target: "lib.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(hostsLibrarySources) }, - { target: "lib.es6.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(es2015LibrarySources, hostsLibrarySources, "dom.iterable.d.ts") } + // JavaScript + all host library + { target: "lib.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(hostsLibrarySources) }, + { target: "lib.es6.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(es2015LibrarySources, hostsLibrarySources, "dom.iterable.d.ts") } ].concat(es2015LibrarySourceMap, es2016LibrarySourceMap, es2017LibrarySourceMap); -const libraryTargets = librarySourceMap.map(function (f) { +const libraryTargets = librarySourceMap.map(function(f) { return path.join(builtLocalDirectory, f.target); }); for (const i in libraryTargets) { const entry = librarySourceMap[i]; const target = libraryTargets[i]; - const sources = [copyright].concat(entry.sources.map(function (s) { + const sources = [copyright].concat(entry.sources.map(function(s) { return path.join(libraryDirectory, s); })); gulp.task(target, false, [], function() { @@ -392,7 +393,7 @@ gulp.task(servicesFile, false, ["lib", "generate-diagnostics"], () => { .pipe(sourcemaps.init()) .pipe(tsc(servicesProject)); const completedJs = js.pipe(prependCopyright()) - .pipe(sourcemaps.write(".")); + .pipe(sourcemaps.write(".")); const completedDts = dts.pipe(prependCopyright(/*outputCopyright*/true)) .pipe(insert.transform((contents, file) => { file.path = standaloneDefinitionsFile; @@ -435,22 +436,22 @@ const tsserverLibraryDefinitionFile = path.join(builtLocalDirectory, "tsserverli gulp.task(tsserverLibraryFile, false, [servicesFile], (done) => { const serverLibraryProject = tsc.createProject("src/server/tsconfig.library.json", getCompilerSettings({}, /*useBuiltCompiler*/ true)); - const {js, dts}: {js: NodeJS.ReadableStream, dts: NodeJS.ReadableStream} = serverLibraryProject.src() + const {js, dts}: { js: NodeJS.ReadableStream, dts: NodeJS.ReadableStream } = serverLibraryProject.src() .pipe(sourcemaps.init()) .pipe(newer(tsserverLibraryFile)) .pipe(tsc(serverLibraryProject)); return merge2([ js.pipe(prependCopyright()) - .pipe(sourcemaps.write(".")) - .pipe(gulp.dest(builtLocalDirectory)), + .pipe(sourcemaps.write(".")) + .pipe(gulp.dest(builtLocalDirectory)), dts.pipe(prependCopyright()) - .pipe(gulp.dest(builtLocalDirectory)) + .pipe(gulp.dest(builtLocalDirectory)) ]); }); gulp.task("lssl", "Builds language service server library", [tsserverLibraryFile]); -gulp.task("local", "Builds the full compiler and services", [builtLocalCompiler, servicesFile, serverFile, builtGeneratedDiagnosticMessagesJSON]); +gulp.task("local", "Builds the full compiler and services", [builtLocalCompiler, servicesFile, serverFile, builtGeneratedDiagnosticMessagesJSON, tsserverLibraryFile]); gulp.task("tsc", "Builds only the compiler", [builtLocalCompiler]); @@ -477,7 +478,7 @@ gulp.task(specMd, false, [word2mdJs], (done) => { const specMDFullPath = path.resolve(specMd); const cmd = "cscript //nologo " + word2mdJs + " \"" + specWordFullPath + "\" " + "\"" + specMDFullPath + "\""; console.log(cmd); - cp.exec(cmd, function () { + cp.exec(cmd, function() { done(); }); }); @@ -493,18 +494,18 @@ gulp.task("dontUseDebugMode", false, [], (done) => { useDebugMode = false; done( gulp.task("VerifyLKG", false, [], () => { const expectedFiles = [builtLocalCompiler, servicesFile, serverFile, nodePackageFile, nodeDefinitionsFile, standaloneDefinitionsFile, tsserverLibraryFile, tsserverLibraryDefinitionFile].concat(libraryTargets); - const missingFiles = expectedFiles.filter(function (f) { + const missingFiles = expectedFiles.filter(function(f) { return !fs.existsSync(f); }); if (missingFiles.length > 0) { throw new Error("Cannot replace the LKG unless all built targets are present in directory " + builtLocalDirectory + - ". The following files are missing:\n" + missingFiles.join("\n")); + ". The following files are missing:\n" + missingFiles.join("\n")); } // Copy all the targets into the LKG directory return gulp.src(expectedFiles).pipe(gulp.dest(LKGDirectory)); }); -gulp.task("LKGInternal", false, ["lib", "local", "lssl"]); +gulp.task("LKGInternal", false, ["lib", "local"]); gulp.task("LKG", "Makes a new LKG out of the built js files", ["clean", "dontUseDebugMode"], () => { return runSequence("LKGInternal", "VerifyLKG"); @@ -532,8 +533,6 @@ const localRwcBaseline = path.join(internalTests, "baselines/rwc/local"); const refRwcBaseline = path.join(internalTests, "baselines/rwc/reference"); const localTest262Baseline = path.join(internalTests, "baselines/test262/local"); -const refTest262Baseline = path.join(internalTests, "baselines/test262/reference"); - gulp.task("tests", "Builds the test infrastructure using the built compiler", [run]); gulp.task("tests-debug", "Builds the test sources and automation in debug mode", () => { @@ -554,7 +553,7 @@ function restoreSavedNodeEnv() { process.env.NODE_ENV = savedNodeEnv; } -let testTimeout = 20000; +let testTimeout = 40000; function runConsoleTests(defaultReporter: string, runInParallel: boolean, done: (e?: any) => void) { const lintFlag = cmdLineOptions["lint"]; cleanTestDirs((err) => { @@ -628,7 +627,7 @@ function runConsoleTests(defaultReporter: string, runInParallel: boolean, done: } args.push(run); setNodeEnvToDevelopment(); - runTestsInParallel(taskConfigsFolder, run, { testTimeout: testTimeout, noColors: colors === " --no-colors " }, function (err) { + runTestsInParallel(taskConfigsFolder, run, { testTimeout: testTimeout, noColors: colors === " --no-colors " }, function(err) { // last worker clean everything and runs linter in case if there were no errors del(taskConfigsFolder).then(() => { if (!err) { @@ -680,7 +679,7 @@ gulp.task("runtests", ["build-rules", "tests"], (done) => { runConsoleTests("mocha-fivemat-progress-reporter", /*runInParallel*/ false, done); -}); + }); const nodeServerOutFile = "tests/webTestServer.js"; const nodeServerInFile = "tests/webTestServer.ts"; @@ -710,7 +709,7 @@ gulp.task("browserify", "Runs browserify on run.js to produce a file suitable fo const originalMap = file.sourceMap; const prebundledContent = file.contents.toString(); // Make paths absolute to help sorcery deal with all the terrible paths being thrown around - originalMap.sources = originalMap.sources.map(s => path.resolve(s)); + originalMap.sources = originalMap.sources.map(s => path.resolve("src", s)); // intoStream (below) makes browserify think the input file is named this, so this is what it puts in the sourcemap originalMap.file = "built/local/_stream_0.js"; @@ -730,6 +729,7 @@ gulp.task("browserify", "Runs browserify on run.js to produce a file suitable fo sourcemaps: { "built/local/_stream_0.js": originalMap, "built/local/bundle.js": maps, + "node_modules/source-map-support/source-map-support.js": undefined, } }); const finalMap = chain.apply(); @@ -766,7 +766,7 @@ function writeTestConfigFile(tests: string, light: boolean, taskConfigsFolder?: } -gulp.task("runtests-browser", "Runs the tests using the built run.js file like 'gulp runtests'. Syntax is gulp runtests-browser. Additional optional parameters --tests=[regex], --port=, --browser=[chrome|IE]", ["browserify", nodeServerOutFile], (done) => { +gulp.task("runtests-browser", "Runs the tests using the built run.js file like 'gulp runtests'. Syntax is gulp runtests-browser. Additional optional parameters --tests=[regex], --browser=[chrome|IE]", ["browserify", nodeServerOutFile], (done) => { cleanTestDirs((err) => { if (err) { console.error(err); done(err); process.exit(1); } host = "node"; @@ -781,9 +781,6 @@ gulp.task("runtests-browser", "Runs the tests using the built run.js file like ' } const args = [nodeServerOutFile]; - if (cmdLineOptions["port"]) { - args.push(cmdLineOptions["port"]); - } if (cmdLineOptions["browser"]) { args.push(cmdLineOptions["browser"]); } @@ -815,32 +812,36 @@ gulp.task("diff-rwc", "Diffs the RWC baselines using the diff tool specified by exec(getDiffTool(), [refRwcBaseline, localRwcBaseline], done, done); }); +gulp.task("baseline-accept", "Makes the most recent test results the new baseline, overwriting the old baseline", () => { + return baselineAccept(""); +}); + +function baselineAccept(subfolder = "") { + return merge2(baselineCopy(subfolder), baselineDelete(subfolder)); +} + +function baselineCopy(subfolder = "") { + return gulp.src([`tests/baselines/local/${subfolder}/**`, `!tests/baselines/local/${subfolder}/**/*.delete`]) + .pipe(gulp.dest(refBaseline)); +} + +function baselineDelete(subfolder = "") { + return gulp.src(["tests/baselines/local/**/*.delete"]) + .pipe(insert.transform((content, fileObj) => { + const target = path.join(refBaseline, fileObj.relative.substr(0, fileObj.relative.length - ".delete".length)); + del.sync(target); + del.sync(fileObj.path); + return ""; + })); +} -gulp.task("baseline-accept", "Makes the most recent test results the new baseline, overwriting the old baseline", (done) => { - const softAccept = cmdLineOptions["soft"]; - if (!softAccept) { - del(refBaseline).then(() => { - fs.renameSync(localBaseline, refBaseline); - done(); - }, done); - } - else { - gulp.src(localBaseline) - .pipe(gulp.dest(refBaseline)) - .on("end", () => { - del(path.join(refBaseline, "local")).then(() => done(), done); - }); - } -}); gulp.task("baseline-accept-rwc", "Makes the most recent rwc test results the new baseline, overwriting the old baseline", () => { - return del(refRwcBaseline).then(() => { - fs.renameSync(localRwcBaseline, refRwcBaseline); - }); + return baselineAccept("rwc"); }); + + gulp.task("baseline-accept-test262", "Makes the most recent test262 test results the new baseline, overwriting the old baseline", () => { - return del(refTest262Baseline).then(() => { - fs.renameSync(localTest262Baseline, refTest262Baseline); - }); + return baselineAccept("test262"); }); @@ -918,56 +919,19 @@ gulp.task("update-sublime", "Updates the sublime plugin's tsserver", ["local", s return gulp.src([serverFile, serverFile + ".map"]).pipe(gulp.dest("../TypeScript-Sublime-Plugin/tsserver/")); }); - -const tslintRuleDir = "scripts/tslint"; -const tslintRules = [ - "nextLineRule", - "preferConstRule", - "booleanTriviaRule", - "typeOperatorSpacingRule", - "noInOperatorRule", - "noIncrementDecrementRule", - "objectLiteralSurroundingSpaceRule", -]; -const tslintRulesFiles = tslintRules.map(function(p) { - return path.join(tslintRuleDir, p + ".ts"); +gulp.task("build-rules", "Compiles tslint rules to js", () => { + const settings: tsc.Settings = getCompilerSettings({ module: "commonjs" }, /*useBuiltCompiler*/ false); + const dest = path.join(builtLocalDirectory, "tslint"); + return gulp.src("scripts/tslint/**/*.ts") + .pipe(newer({ + dest, + ext: ".js" + })) + .pipe(sourcemaps.init()) + .pipe(tsc(settings)) + .pipe(sourcemaps.write(".")) + .pipe(gulp.dest(dest)); }); -const tslintRulesOutFiles = tslintRules.map(function(p, i) { - const pathname = path.join(builtLocalDirectory, "tslint", p + ".js"); - gulp.task(pathname, false, [], () => { - const settings: tsc.Settings = getCompilerSettings({ module: "commonjs" }, /*useBuiltCompiler*/ false); - return gulp.src(tslintRulesFiles[i]) - .pipe(newer(pathname)) - .pipe(sourcemaps.init()) - .pipe(tsc(settings)) - .pipe(sourcemaps.write(".")) - .pipe(gulp.dest(path.join(builtLocalDirectory, "tslint"))); - }); - return pathname; -}); - -gulp.task("build-rules", "Compiles tslint rules to js", tslintRulesOutFiles); - - -function getLinterOptions() { - return { - configuration: require("./tslint.json"), - formatter: "prose", - formattersDirectory: undefined, - rulesDirectory: "built/local/tslint" - }; -} - -function lintFileContents(options, path, contents) { - const ll = new Linter(path, contents, options); - console.log("Linting '" + path + "'."); - return ll.lint(); -} - -function lintFile(options, path) { - const contents = fs.readFileSync(path, "utf8"); - return lintFileContents(options, path, contents); -} const lintTargets = [ "Gulpfile.ts", @@ -977,29 +941,75 @@ const lintTargets = [ "src/server/**/*.ts", "scripts/tslint/**/*.ts", "src/services/**/*.ts", + "tests/*.ts", "tests/webhost/*.ts" // Note: does *not* descend recursively ]; +function sendNextFile(files: {path: string}[], child: cp.ChildProcess, callback: (failures: number) => void, failures: number) { + const file = files.pop(); + if (file) { + console.log(`Linting '${file.path}'.`); + child.send({ kind: "file", name: file.path }); + } + else { + child.send({ kind: "close" }); + callback(failures); + } +} + +function spawnLintWorker(files: {path: string}[], callback: (failures: number) => void) { + const child = cp.fork("./scripts/parallel-lint"); + let failures = 0; + child.on("message", function(data) { + switch (data.kind) { + case "result": + if (data.failures > 0) { + failures += data.failures; + console.log(data.output); + } + sendNextFile(files, child, callback, failures); + break; + case "error": + console.error(data.error); + failures++; + sendNextFile(files, child, callback, failures); + break; + } + }); + sendNextFile(files, child, callback, failures); +} gulp.task("lint", "Runs tslint on the compiler sources. Optional arguments are: --f[iles]=regex", ["build-rules"], () => { const fileMatcher = RegExp(cmdLineOptions["files"]); - const lintOptions = getLinterOptions(); - let failed = 0; - return gulp.src(lintTargets) - .pipe(insert.transform((contents, file) => { - if (!fileMatcher.test(file.path)) return contents; - const result = lintFile(lintOptions, file.path); - if (result.failureCount > 0) { - console.log(result.output); - failed += result.failureCount; + if (fold.isTravis()) console.log(fold.start("lint")); + + let files: {stat: fs.Stats, path: string}[] = []; + return gulp.src(lintTargets, { read: false }) + .pipe(through2.obj((chunk, enc, cb) => { + files.push(chunk); + cb(); + }, (cb) => { + files = files.filter(file => fileMatcher.test(file.path)).sort((filea, fileb) => filea.stat.size - fileb.stat.size); + const workerCount = (process.env.workerCount && +process.env.workerCount) || os.cpus().length; + for (let i = 0; i < workerCount; i++) { + spawnLintWorker(files, finished); } - return contents; // TODO (weswig): Automatically apply fixes? :3 - })) - .on("end", () => { - if (failed > 0) { - console.error("Linter errors."); - process.exit(1); + + let completed = 0; + let failures = 0; + function finished(fails) { + completed++; + failures += fails; + if (completed === workerCount) { + if (fold.isTravis()) console.log(fold.end("lint")); + if (failures > 0) { + throw new Error(`Linter errors: ${failures}`); + } + else { + cb(); + } + } } - }); + })); }); diff --git a/Jakefile.js b/Jakefile.js index 3ccca833333..0b294597574 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -4,7 +4,7 @@ var fs = require("fs"); var os = require("os"); var path = require("path"); var child_process = require("child_process"); -var Linter = require("tslint"); +var fold = require("travis-fold"); var runTestsInParallel = require("./scripts/mocha-parallel").runTestsInParallel; // Variables @@ -27,9 +27,31 @@ var thirdParty = "ThirdPartyNoticeText.txt"; // add node_modules to path so we don't need global modules, prefer the modules by adding them first var nodeModulesPathPrefix = path.resolve("./node_modules/.bin/") + path.delimiter; if (process.env.path !== undefined) { - process.env.path = nodeModulesPathPrefix + process.env.path; + process.env.path = nodeModulesPathPrefix + process.env.path; } else if (process.env.PATH !== undefined) { - process.env.PATH = nodeModulesPathPrefix + process.env.PATH; + process.env.PATH = nodeModulesPathPrefix + process.env.PATH; +} + +function toNs(diff) { + return diff[0] * 1e9 + diff[1]; +} + +function mark() { + if (!fold.isTravis()) return; + var stamp = process.hrtime(); + var id = Math.floor(Math.random() * 0xFFFFFFFF).toString(16); + console.log("travis_time:start:" + id + "\r"); + return { + stamp: stamp, + id: id + }; +} + +function measure(marker) { + if (!fold.isTravis()) return; + var diff = process.hrtime(marker.stamp); + var total = [marker.stamp[0] + diff[0], marker.stamp[1] + diff[1]]; + console.log("travis_time:end:" + marker.id + ":start=" + toNs(marker.stamp) + ",finish=" + toNs(total) + ",duration=" + toNs(diff) + "\r"); } var compilerSources = [ @@ -42,7 +64,20 @@ var compilerSources = [ "utilities.ts", "binder.ts", "checker.ts", + "factory.ts", + "visitor.ts", + "transformers/destructuring.ts", + "transformers/ts.ts", + "transformers/module/es6.ts", + "transformers/module/system.ts", + "transformers/module/module.ts", + "transformers/jsx.ts", + "transformers/es7.ts", + "transformers/generators.ts", + "transformers/es6.ts", + "transformer.ts", "sourcemap.ts", + "comments.ts", "declarationEmitter.ts", "emitter.ts", "program.ts", @@ -63,7 +98,20 @@ var servicesSources = [ "utilities.ts", "binder.ts", "checker.ts", + "factory.ts", + "visitor.ts", + "transformers/destructuring.ts", + "transformers/ts.ts", + "transformers/module/es6.ts", + "transformers/module/system.ts", + "transformers/module/module.ts", + "transformers/jsx.ts", + "transformers/es7.ts", + "transformers/generators.ts", + "transformers/es6.ts", + "transformer.ts", "sourcemap.ts", + "comments.ts", "declarationEmitter.ts", "emitter.ts", "program.ts", @@ -72,15 +120,28 @@ var servicesSources = [ ].map(function (f) { return path.join(compilerDirectory, f); }).concat([ + "types.ts", + "utilities.ts", "breakpoints.ts", + "classifier.ts", + "completions.ts", + "documentHighlights.ts", + "documentRegistry.ts", + "findAllReferences.ts", + "goToDefinition.ts", + "jsDoc.ts", + "jsTyping.ts", "navigateTo.ts", "navigationBar.ts", "outliningElementsCollector.ts", "patternMatcher.ts", + "preProcess.ts", + "rename.ts", "services.ts", "shims.ts", "signatureHelp.ts", - "utilities.ts", + "symbolDisplay.ts", + "transpile.ts", "formatting/formatting.ts", "formatting/formattingContext.ts", "formatting/formattingRequestKind.ts", @@ -158,7 +219,8 @@ var harnessSources = harnessCoreSources.concat([ "convertCompilerOptionsFromJson.ts", "convertTypingOptionsFromJson.ts", "tsserverProjectSystem.ts", - "matchFiles.ts" + "matchFiles.ts", + "initializeTSConfig.ts", ].map(function (f) { return path.join(unittestsDirectory, f); })).concat([ @@ -182,11 +244,11 @@ var es2015LibrarySources = [ "es2015.symbol.wellknown.d.ts" ]; -var es2015LibrarySourceMap = es2015LibrarySources.map(function(source) { - return { target: "lib." + source, sources: ["header.d.ts", source] }; +var es2015LibrarySourceMap = es2015LibrarySources.map(function (source) { + return { target: "lib." + source, sources: ["header.d.ts", source] }; }); -var es2016LibrarySource = [ "es2016.array.include.d.ts" ]; +var es2016LibrarySource = ["es2016.array.include.d.ts"]; var es2016LibrarySourceMap = es2016LibrarySource.map(function (source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; @@ -204,21 +266,21 @@ var es2017LibrarySourceMap = es2017LibrarySource.map(function (source) { var hostsLibrarySources = ["dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts"]; var librarySourceMap = [ - // Host library - { target: "lib.dom.d.ts", sources: ["header.d.ts", "dom.generated.d.ts"] }, - { target: "lib.dom.iterable.d.ts", sources: ["header.d.ts", "dom.iterable.d.ts"] }, - { target: "lib.webworker.d.ts", sources: ["header.d.ts", "webworker.generated.d.ts"] }, - { target: "lib.scripthost.d.ts", sources: ["header.d.ts", "scripthost.d.ts"] }, + // Host library + { target: "lib.dom.d.ts", sources: ["header.d.ts", "dom.generated.d.ts"] }, + { target: "lib.dom.iterable.d.ts", sources: ["header.d.ts", "dom.iterable.d.ts"] }, + { target: "lib.webworker.d.ts", sources: ["header.d.ts", "webworker.generated.d.ts"] }, + { target: "lib.scripthost.d.ts", sources: ["header.d.ts", "scripthost.d.ts"] }, - // JavaScript library - { target: "lib.es5.d.ts", sources: ["header.d.ts", "es5.d.ts"] }, - { target: "lib.es2015.d.ts", sources: ["header.d.ts", "es2015.d.ts"] }, - { target: "lib.es2016.d.ts", sources: ["header.d.ts", "es2016.d.ts"] }, - { target: "lib.es2017.d.ts", sources: ["header.d.ts", "es2017.d.ts"] }, + // JavaScript library + { target: "lib.es5.d.ts", sources: ["header.d.ts", "es5.d.ts"] }, + { target: "lib.es2015.d.ts", sources: ["header.d.ts", "es2015.d.ts"] }, + { target: "lib.es2016.d.ts", sources: ["header.d.ts", "es2016.d.ts"] }, + { target: "lib.es2017.d.ts", sources: ["header.d.ts", "es2017.d.ts"] }, - // JavaScript + all host library - { target: "lib.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(hostsLibrarySources) }, - { target: "lib.es6.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(es2015LibrarySources, hostsLibrarySources, "dom.iterable.d.ts") } + // JavaScript + all host library + { target: "lib.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(hostsLibrarySources) }, + { target: "lib.es6.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(es2015LibrarySources, hostsLibrarySources, "dom.iterable.d.ts") } ].concat(es2015LibrarySourceMap, es2016LibrarySourceMap, es2017LibrarySourceMap); var libraryTargets = librarySourceMap.map(function (f) { @@ -234,7 +296,7 @@ function prependFile(prefixFile, destinationFile) { fail(destinationFile + " failed to be created!"); } var temp = "temptemp"; - jake.cpR(prefixFile, temp, {silent: true}); + jake.cpR(prefixFile, temp, { silent: true }); fs.appendFileSync(temp, fs.readFileSync(destinationFile)); fs.renameSync(temp, destinationFile); } @@ -246,11 +308,11 @@ function concatenateFiles(destinationFile, sourceFiles) { if (!fs.existsSync(sourceFiles[0])) { fail(sourceFiles[0] + " does not exist!"); } - jake.cpR(sourceFiles[0], temp, {silent: true}); + jake.cpR(sourceFiles[0], temp, { silent: true }); // append all files in sequence for (var i = 1; i < sourceFiles.length; i++) { if (!fs.existsSync(sourceFiles[i])) { - fail(sourceFiles[i] + " does not exist!"); + fail(sourceFiles[i] + " does not exist!"); } fs.appendFileSync(temp, fs.readFileSync(sourceFiles[i])); } @@ -285,9 +347,13 @@ var builtLocalCompiler = path.join(builtLocalDirectory, compilerFilename); */ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts, callback) { file(outFile, prereqs, function() { + if (process.env.USE_TRANSFORMS === "false") { + useBuiltCompiler = false; + } + var startCompileTime = mark(); opts = opts || {}; var compilerPath = useBuiltCompiler ? builtLocalCompiler : LKGCompiler; - var options = "--noImplicitAny --noImplicitThis --noEmitOnError --types " + var options = "--noImplicitAny --noImplicitThis --noEmitOnError --types " if (opts.types) { options += opts.types.join(","); } @@ -317,7 +383,7 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts options += " --module commonjs"; } - if(opts.noResolve) { + if (opts.noResolve) { options += " --noResolve"; } @@ -344,13 +410,13 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts var ex = jake.createExec([cmd]); // Add listeners for output and error - ex.addListener("stdout", function(output) { + ex.addListener("stdout", function (output) { process.stdout.write(output); }); - ex.addListener("stderr", function(error) { + ex.addListener("stderr", function (error) { process.stderr.write(error); }); - ex.addListener("cmdEnd", function() { + ex.addListener("cmdEnd", function () { if (!useDebugMode && prefixes && fs.existsSync(outFile)) { for (var i in prefixes) { prependFile(prefixes[i], outFile); @@ -361,14 +427,16 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts callback(); } + measure(startCompileTime); complete(); }); - ex.addListener("error", function() { + ex.addListener("error", function () { fs.unlinkSync(outFile); fail("Compilation of " + outFile + " unsuccessful"); + measure(startCompileTime); }); ex.run(); - }, {async: true}); + }, { async: true }); } // Prerequisite task for built directory and library typings @@ -381,7 +449,7 @@ for (var i in libraryTargets) { var sources = [copyright].concat(entry.sources.map(function (s) { return path.join(libraryDirectory, s); })); - file(target, [builtLocalDirectory].concat(sources), function() { + file(target, [builtLocalDirectory].concat(sources), function () { concatenateFiles(target, sources); }); })(i); @@ -404,30 +472,30 @@ file(processDiagnosticMessagesTs); // processDiagnosticMessages script compileFile(processDiagnosticMessagesJs, - [processDiagnosticMessagesTs], - [processDiagnosticMessagesTs], - [], + [processDiagnosticMessagesTs], + [processDiagnosticMessagesTs], + [], /*useBuiltCompiler*/ false); // The generated diagnostics map; built for the compiler and for the 'generate-diagnostics' task file(diagnosticInfoMapTs, [processDiagnosticMessagesJs, diagnosticMessagesJson], function () { - var cmd = host + " " + processDiagnosticMessagesJs + " " + diagnosticMessagesJson; + var cmd = host + " " + processDiagnosticMessagesJs + " " + diagnosticMessagesJson; console.log(cmd); var ex = jake.createExec([cmd]); // Add listeners for output and error - ex.addListener("stdout", function(output) { + ex.addListener("stdout", function (output) { process.stdout.write(output); }); - ex.addListener("stderr", function(error) { + ex.addListener("stderr", function (error) { process.stderr.write(error); }); - ex.addListener("cmdEnd", function() { + ex.addListener("cmdEnd", function () { complete(); }); ex.run(); -}, {async: true}); +}, { async: true }); -file(builtGeneratedDiagnosticMessagesJSON,[generatedDiagnosticMessagesJSON], function() { +file(builtGeneratedDiagnosticMessagesJSON, [generatedDiagnosticMessagesJSON], function () { if (fs.existsSync(builtLocalDirectory)) { jake.cpR(generatedDiagnosticMessagesJSON, builtGeneratedDiagnosticMessagesJSON); } @@ -445,17 +513,17 @@ var programTs = path.join(compilerDirectory, "program.ts"); file(configureNightlyTs); compileFile(/*outfile*/configureNightlyJs, - /*sources*/ [configureNightlyTs], - /*prereqs*/ [configureNightlyTs], - /*prefixes*/ [], + /*sources*/[configureNightlyTs], + /*prereqs*/[configureNightlyTs], + /*prefixes*/[], /*useBuiltCompiler*/ false, - { noOutFile: false, generateDeclarations: false, keepComments: false, noResolve: false, stripInternal: false }); + { noOutFile: false, generateDeclarations: false, keepComments: false, noResolve: false, stripInternal: false }); -task("setDebugMode", function() { +task("setDebugMode", function () { useDebugMode = true; }); -task("configure-nightly", [configureNightlyJs], function() { +task("configure-nightly", [configureNightlyJs], function () { var cmd = host + " " + configureNightlyJs + " " + packageJson + " " + programTs; console.log(cmd); exec(cmd); @@ -496,63 +564,65 @@ var nodePackageFile = path.join(builtLocalDirectory, "typescript.js"); var nodeDefinitionsFile = path.join(builtLocalDirectory, "typescript.d.ts"); var nodeStandaloneDefinitionsFile = path.join(builtLocalDirectory, "typescript_standalone.d.ts"); -compileFile(servicesFile, servicesSources,[builtLocalDirectory, copyright].concat(servicesSources), - /*prefixes*/ [copyright], +compileFile(servicesFile, servicesSources, [builtLocalDirectory, copyright].concat(servicesSources), + /*prefixes*/[copyright], /*useBuiltCompiler*/ true, - /*opts*/ { noOutFile: false, - generateDeclarations: true, - preserveConstEnums: true, - keepComments: true, - noResolve: false, - stripInternal: true - }, + /*opts*/ { + noOutFile: false, + generateDeclarations: true, + preserveConstEnums: true, + keepComments: true, + noResolve: false, + stripInternal: true + }, /*callback*/ function () { - jake.cpR(servicesFile, nodePackageFile, {silent: true}); + jake.cpR(servicesFile, nodePackageFile, { silent: true }); - prependFile(copyright, standaloneDefinitionsFile); + prependFile(copyright, standaloneDefinitionsFile); - // Stanalone/web definition file using global 'ts' namespace - jake.cpR(standaloneDefinitionsFile, nodeDefinitionsFile, {silent: true}); - var definitionFileContents = fs.readFileSync(nodeDefinitionsFile).toString(); - definitionFileContents = definitionFileContents.replace(/^(\s*)(export )?const enum (\S+) {(\s*)$/gm, '$1$2enum $3 {$4'); - fs.writeFileSync(standaloneDefinitionsFile, definitionFileContents); + // Stanalone/web definition file using global 'ts' namespace + jake.cpR(standaloneDefinitionsFile, nodeDefinitionsFile, { silent: true }); + var definitionFileContents = fs.readFileSync(nodeDefinitionsFile).toString(); + definitionFileContents = definitionFileContents.replace(/^(\s*)(export )?const enum (\S+) {(\s*)$/gm, '$1$2enum $3 {$4'); + fs.writeFileSync(standaloneDefinitionsFile, definitionFileContents); - // Official node package definition file, pointed to by 'typings' in package.json - // Created by appending 'export = ts;' at the end of the standalone file to turn it into an external module - var nodeDefinitionsFileContents = definitionFileContents + "\r\nexport = ts;"; - fs.writeFileSync(nodeDefinitionsFile, nodeDefinitionsFileContents); + // Official node package definition file, pointed to by 'typings' in package.json + // Created by appending 'export = ts;' at the end of the standalone file to turn it into an external module + var nodeDefinitionsFileContents = definitionFileContents + "\r\nexport = ts;"; + fs.writeFileSync(nodeDefinitionsFile, nodeDefinitionsFileContents); - // Node package definition file to be distributed without the package. Created by replacing - // 'ts' namespace with '"typescript"' as a module. - var nodeStandaloneDefinitionsFileContents = definitionFileContents.replace(/declare (namespace|module) ts/g, 'declare module "typescript"'); - fs.writeFileSync(nodeStandaloneDefinitionsFile, nodeStandaloneDefinitionsFileContents); - }); + // Node package definition file to be distributed without the package. Created by replacing + // 'ts' namespace with '"typescript"' as a module. + var nodeStandaloneDefinitionsFileContents = definitionFileContents.replace(/declare (namespace|module) ts/g, 'declare module "typescript"'); + fs.writeFileSync(nodeStandaloneDefinitionsFile, nodeStandaloneDefinitionsFileContents); + }); compileFile( servicesFileInBrowserTest, servicesSources, [builtLocalDirectory, copyright].concat(servicesSources), - /*prefixes*/ [copyright], + /*prefixes*/[copyright], /*useBuiltCompiler*/ true, - { noOutFile: false, - generateDeclarations: true, - preserveConstEnums: true, - keepComments: true, - noResolve: false, - stripInternal: true, - noMapRoot: true, - inlineSourceMap: true - }); + { + noOutFile: false, + generateDeclarations: true, + preserveConstEnums: true, + keepComments: true, + noResolve: false, + stripInternal: true, + noMapRoot: true, + inlineSourceMap: true + }); var serverFile = path.join(builtLocalDirectory, "tsserver.js"); -compileFile(serverFile, serverSources,[builtLocalDirectory, copyright].concat(serverSources), /*prefixes*/ [copyright], /*useBuiltCompiler*/ true, { types: ["node"] }); +compileFile(serverFile, serverSources, [builtLocalDirectory, copyright].concat(serverSources), /*prefixes*/[copyright], /*useBuiltCompiler*/ true, { types: ["node"] }); var tsserverLibraryFile = path.join(builtLocalDirectory, "tsserverlibrary.js"); var tsserverLibraryDefinitionFile = path.join(builtLocalDirectory, "tsserverlibrary.d.ts"); compileFile( tsserverLibraryFile, languageServiceLibrarySources, - [builtLocalDirectory, copyright].concat(languageServiceLibrarySources), - /*prefixes*/ [copyright], + [builtLocalDirectory, copyright, builtLocalCompiler].concat(languageServiceLibrarySources).concat(libraryTargets), + /*prefixes*/[copyright], /*useBuiltCompiler*/ true, { noOutFile: false, generateDeclarations: true }); @@ -560,9 +630,19 @@ compileFile( desc("Builds language service server library"); task("lssl", [tsserverLibraryFile, tsserverLibraryDefinitionFile]); +desc("Emit the start of the build fold"); +task("build-fold-start", [], function () { + if (fold.isTravis()) console.log(fold.start("build")); +}); + +desc("Emit the end of the build fold"); +task("build-fold-end", [], function () { + if (fold.isTravis()) console.log(fold.end("build")); +}); + // Local target to build the compiler and services desc("Builds the full compiler and services"); -task("local", ["generate-diagnostics", "lib", tscFile, servicesFile, nodeDefinitionsFile, serverFile, builtGeneratedDiagnosticMessagesJSON]); +task("local", ["build-fold-start", "generate-diagnostics", "lib", tscFile, servicesFile, nodeDefinitionsFile, serverFile, builtGeneratedDiagnosticMessagesJSON, "lssl", "build-fold-end"]); // Local target to build only tsc.js desc("Builds only the compiler"); @@ -570,7 +650,7 @@ task("tsc", ["generate-diagnostics", "lib", tscFile]); // Local target to build the compiler and services desc("Sets release mode flag"); -task("release", function() { +task("release", function () { useDebugMode = false; }); @@ -580,7 +660,7 @@ task("default", ["local"]); // Cleans the built directory desc("Cleans the compiler output, declare files, and tests"); -task("clean", function() { +task("clean", function () { jake.rmRf(builtDirectory); }); @@ -594,9 +674,9 @@ file(word2mdTs); // word2md script compileFile(word2mdJs, - [word2mdTs], - [word2mdTs], - [], + [word2mdTs], + [word2mdTs], + [], /*useBuiltCompiler*/ false); // The generated spec.md; built for the 'generate-spec' task @@ -608,7 +688,7 @@ file(specMd, [word2mdJs, specWord], function () { child_process.exec(cmd, function () { complete(); }); -}, {async: true}); +}, { async: true }); desc("Generates a Markdown version of the Language Specification"); @@ -617,14 +697,14 @@ task("generate-spec", [specMd]); // Makes a new LKG. This target does not build anything, but errors if not all the outputs are present in the built/local directory desc("Makes a new LKG out of the built js files"); -task("LKG", ["clean", "release", "local", "lssl"].concat(libraryTargets), function() { +task("LKG", ["clean", "release", "local"].concat(libraryTargets), function () { var expectedFiles = [tscFile, servicesFile, serverFile, nodePackageFile, nodeDefinitionsFile, standaloneDefinitionsFile, tsserverLibraryFile, tsserverLibraryDefinitionFile].concat(libraryTargets); var missingFiles = expectedFiles.filter(function (f) { return !fs.existsSync(f); }); if (missingFiles.length > 0) { fail("Cannot replace the LKG unless all built targets are present in directory " + builtLocalDirectory + - ". The following files are missing:\n" + missingFiles.join("\n")); + ". The following files are missing:\n" + missingFiles.join("\n")); } // Copy all the targets into the LKG directory jake.mkdirP(LKGDirectory); @@ -645,8 +725,8 @@ var run = path.join(builtLocalDirectory, "run.js"); compileFile( /*outFile*/ run, /*source*/ harnessSources, - /*prereqs*/ [builtLocalDirectory, tscFile].concat(libraryTargets).concat(harnessSources), - /*prefixes*/ [], + /*prereqs*/[builtLocalDirectory, tscFile].concat(libraryTargets).concat(servicesSources).concat(harnessSources), + /*prefixes*/[], /*useBuiltCompiler:*/ true, /*opts*/ { inlineSourceMap: true, types: ["node", "mocha", "chai"] }); @@ -665,22 +745,22 @@ desc("Builds the test infrastructure using the built compiler"); task("tests", ["local", run].concat(libraryTargets)); function exec(cmd, completeHandler, errorHandler) { - var ex = jake.createExec([cmd], {windowsVerbatimArguments: true}); + var ex = jake.createExec([cmd], { windowsVerbatimArguments: true }); // Add listeners for output and error - ex.addListener("stdout", function(output) { + ex.addListener("stdout", function (output) { process.stdout.write(output); }); - ex.addListener("stderr", function(error) { + ex.addListener("stderr", function (error) { process.stderr.write(error); }); - ex.addListener("cmdEnd", function() { + ex.addListener("cmdEnd", function () { if (completeHandler) { completeHandler(); } complete(); }); - ex.addListener("error", function(e, status) { - if(errorHandler) { + ex.addListener("error", function (e, status) { + if (errorHandler) { errorHandler(e, status); } else { fail("Process exited with code " + status); @@ -707,8 +787,14 @@ function cleanTestDirs() { } // used to pass data from jake command line directly to run.js -function writeTestConfigFile(tests, light, taskConfigsFolder, workerCount) { - var testConfigContents = JSON.stringify({ test: tests ? [tests] : undefined, light: light, workerCount: workerCount, taskConfigsFolder: taskConfigsFolder }); +function writeTestConfigFile(tests, light, taskConfigsFolder, workerCount, stackTraceLimit) { + var testConfigContents = JSON.stringify({ + test: tests ? [tests] : undefined, + light: light, + workerCount: workerCount, + taskConfigsFolder: taskConfigsFolder, + stackTraceLimit: stackTraceLimit + }); fs.writeFileSync('test.config', testConfigContents); } @@ -719,12 +805,17 @@ function deleteTemporaryProjectOutput() { } function runConsoleTests(defaultReporter, runInParallel) { - cleanTestDirs(); + var dirty = process.env.dirty; + if (!dirty) { + cleanTestDirs(); + } + var debug = process.env.debug || process.env.d; tests = process.env.test || process.env.tests || process.env.t; var light = process.env.light || false; + var stackTraceLimit = process.env.stackTraceLimit; var testConfigFile = 'test.config'; - if(fs.existsSync(testConfigFile)) { + if (fs.existsSync(testConfigFile)) { fs.unlinkSync(testConfigFile); } var workerCount, taskConfigsFolder; @@ -742,7 +833,7 @@ function runConsoleTests(defaultReporter, runInParallel) { } if (tests || light || taskConfigsFolder) { - writeTestConfigFile(tests, light, taskConfigsFolder, workerCount); + writeTestConfigFile(tests, light, taskConfigsFolder, workerCount, stackTraceLimit); } if (tests && tests.toLocaleLowerCase() === "rwc") { @@ -757,7 +848,8 @@ function runConsoleTests(defaultReporter, runInParallel) { // timeout normally isn't necessary but Travis-CI has been timing out on compiler baselines occasionally // default timeout is 2sec which really should be enough, but maybe we just need a small amount longer - if(!runInParallel) { + if (!runInParallel) { + var startTime = mark(); tests = tests ? ' -g "' + tests + '"' : ''; var cmd = "mocha" + (debug ? " --debug-brk" : "") + " -R " + reporter + tests + colors + bail + ' -t ' + testTimeout + ' ' + run; console.log(cmd); @@ -766,10 +858,12 @@ function runConsoleTests(defaultReporter, runInParallel) { process.env.NODE_ENV = "development"; exec(cmd, function () { process.env.NODE_ENV = savedNodeEnv; + measure(startTime); runLinter(); finish(); - }, function(e, status) { + }, function (e, status) { process.env.NODE_ENV = savedNodeEnv; + measure(startTime); finish(status); }); @@ -777,9 +871,10 @@ function runConsoleTests(defaultReporter, runInParallel) { else { var savedNodeEnv = process.env.NODE_ENV; process.env.NODE_ENV = "development"; + var startTime = mark(); runTestsInParallel(taskConfigsFolder, run, { testTimeout: testTimeout, noColors: colors === " --no-colors " }, function (err) { process.env.NODE_ENV = savedNodeEnv; - + measure(startTime); // last worker clean everything and runs linter in case if there were no errors deleteTemporaryProjectOutput(); jake.rmRf(taskConfigsFolder); @@ -807,7 +902,7 @@ function runConsoleTests(defaultReporter, runInParallel) { } } function runLinter() { - if (!lintFlag) { + if (!lintFlag || dirty) { return; } var lint = jake.Task['lint']; @@ -820,14 +915,14 @@ function runConsoleTests(defaultReporter, runInParallel) { var testTimeout = 20000; desc("Runs all the tests in parallel using the built run.js file. Optional arguments are: t[ests]=category1|category2|... d[ebug]=true."); -task("runtests-parallel", ["build-rules", "tests", builtLocalDirectory], function() { +task("runtests-parallel", ["build-rules", "tests", builtLocalDirectory], function () { runConsoleTests('min', /*runInParallel*/ true); -}, {async: true}); +}, { async: true }); -desc("Runs the tests using the built run.js file. Optional arguments are: t[ests]=regex r[eporter]=[list|spec|json|] d[ebug]=true color[s]=false lint=true bail=false."); +desc("Runs the tests using the built run.js file. Optional arguments are: t[ests]=regex r[eporter]=[list|spec|json|] d[ebug]=true color[s]=false lint=true bail=false dirty=false."); task("runtests", ["build-rules", "tests", builtLocalDirectory], function() { runConsoleTests('mocha-fivemat-progress-reporter', /*runInParallel*/ false); -}, {async: true}); +}, { async: true }); desc("Generates code coverage data via instanbul"); task("generate-code-coverage", ["tests", builtLocalDirectory], function () { @@ -843,31 +938,30 @@ compileFile(nodeServerOutFile, [nodeServerInFile], [builtLocalDirectory, tscFile desc("Runs browserify on run.js to produce a file suitable for running tests in the browser"); task("browserify", ["tests", builtLocalDirectory, nodeServerOutFile], function() { - var cmd = 'browserify built/local/run.js -d -o built/local/bundle.js'; + var cmd = 'browserify built/local/run.js -t ./scripts/browserify-optional -d -o built/local/bundle.js'; exec(cmd); -}, {async: true}); +}, { async: true }); -desc("Runs the tests using the built run.js file like 'jake runtests'. Syntax is jake runtests-browser. Additional optional parameters tests=[regex], port=, browser=[chrome|IE]"); -task("runtests-browser", ["tests", "browserify", builtLocalDirectory, servicesFileInBrowserTest], function() { +desc("Runs the tests using the built run.js file like 'jake runtests'. Syntax is jake runtests-browser. Additional optional parameters tests=[regex], browser=[chrome|IE]"); +task("runtests-browser", ["tests", "browserify", builtLocalDirectory, servicesFileInBrowserTest], function () { cleanTestDirs(); host = "node"; - port = process.env.port || process.env.p || '8888'; browser = process.env.browser || process.env.b || "IE"; tests = process.env.test || process.env.tests || process.env.t; var light = process.env.light || false; var testConfigFile = 'test.config'; - if(fs.existsSync(testConfigFile)) { + if (fs.existsSync(testConfigFile)) { fs.unlinkSync(testConfigFile); } - if(tests || light) { + if (tests || light) { writeTestConfigFile(tests, light); } tests = tests ? tests : ''; - var cmd = host + " tests/webTestServer.js " + port + " " + browser + " " + JSON.stringify(tests); + var cmd = host + " tests/webTestServer.js " + browser + " " + JSON.stringify(tests); console.log(cmd); exec(cmd); -}, {async: true}); +}, { async: true }); function getDiffTool() { var program = process.env['DIFF']; @@ -880,17 +974,17 @@ function getDiffTool() { // Baseline Diff desc("Diffs the compiler baselines using the diff tool specified by the 'DIFF' environment variable"); task('diff', function () { - var cmd = '"' + getDiffTool() + '" ' + refBaseline + ' ' + localBaseline; + var cmd = '"' + getDiffTool() + '" ' + refBaseline + ' ' + localBaseline; console.log(cmd); exec(cmd); -}, {async: true}); +}, { async: true }); desc("Diffs the RWC baselines using the diff tool specified by the 'DIFF' environment variable"); task('diff-rwc', function () { - var cmd = '"' + getDiffTool() + '" ' + refRwcBaseline + ' ' + localRwcBaseline; + var cmd = '"' + getDiffTool() + '" ' + refRwcBaseline + ' ' + localRwcBaseline; console.log(cmd); exec(cmd); -}, {async: true}); +}, { async: true }); desc("Builds the test sources and automation in debug mode"); task("tests-debug", ["setDebugMode", "tests"]); @@ -898,30 +992,42 @@ task("tests-debug", ["setDebugMode", "tests"]); // Makes the test results the new baseline desc("Makes the most recent test results the new baseline, overwriting the old baseline"); -task("baseline-accept", function(hardOrSoft) { - if (!hardOrSoft || hardOrSoft === "hard") { - jake.rmRf(refBaseline); - fs.renameSync(localBaseline, refBaseline); - } - else if (hardOrSoft === "soft") { - var files = jake.readdirR(localBaseline); - for (var i in files) { - jake.cpR(files[i], refBaseline); - } - jake.rmRf(path.join(refBaseline, "local")); - } +task("baseline-accept", function () { + acceptBaseline(""); }); +function acceptBaseline(containerFolder) { + var sourceFolder = path.join(localBaseline, containerFolder); + var targetFolder = path.join(refBaseline, containerFolder); + console.log('Accept baselines from ' + sourceFolder + ' to ' + targetFolder); + var files = fs.readdirSync(sourceFolder); + var deleteEnding = '.delete'; + for (var i in files) { + var filename = files[i]; + var fullLocalPath = path.join(sourceFolder, filename); + if (fs.statSync(fullLocalPath).isFile()) { + if (filename.substr(filename.length - deleteEnding.length) === deleteEnding) { + filename = filename.substr(0, filename.length - deleteEnding.length); + fs.unlinkSync(path.join(targetFolder, filename)); + } else { + var target = path.join(targetFolder, filename); + if (fs.existsSync(target)) { + fs.unlinkSync(target); + } + fs.renameSync(path.join(sourceFolder, filename), target); + } + } + } +} + desc("Makes the most recent rwc test results the new baseline, overwriting the old baseline"); -task("baseline-accept-rwc", function() { - jake.rmRf(refRwcBaseline); - fs.renameSync(localRwcBaseline, refRwcBaseline); +task("baseline-accept-rwc", function () { + acceptBaseline("rwc"); }); desc("Makes the most recent test262 test results the new baseline, overwriting the old baseline"); -task("baseline-accept-test262", function() { - jake.rmRf(refTest262Baseline); - fs.renameSync(localTest262Baseline, refTest262Baseline); +task("baseline-accept-test262", function () { + acceptBaseline("test262"); }); @@ -931,8 +1037,8 @@ var webhostJsPath = "tests/webhost/webtsc.js"; compileFile(webhostJsPath, [webhostPath], [tscFile, webhostPath].concat(libraryTargets), [], /*useBuiltCompiler*/true); desc("Builds the tsc web host"); -task("webhost", [webhostJsPath], function() { - jake.cpR(path.join(builtLocalDirectory, "lib.d.ts"), "tests/webhost/", {silent: true}); +task("webhost", [webhostJsPath], function () { + jake.cpR(path.join(builtLocalDirectory, "lib.d.ts"), "tests/webhost/", { silent: true }); }); // Perf compiler @@ -945,38 +1051,38 @@ task("perftsc", [perftscJsPath]); // Instrumented compiler var loggedIOpath = harnessDirectory + 'loggedIO.ts'; var loggedIOJsPath = builtLocalDirectory + 'loggedIO.js'; -file(loggedIOJsPath, [builtLocalDirectory, loggedIOpath], function() { +file(loggedIOJsPath, [builtLocalDirectory, loggedIOpath], function () { var temp = builtLocalDirectory + 'temp'; jake.mkdirP(temp); var options = "--outdir " + temp + ' ' + loggedIOpath; var cmd = host + " " + LKGDirectory + compilerFilename + " " + options + " "; console.log(cmd + "\n"); var ex = jake.createExec([cmd]); - ex.addListener("cmdEnd", function() { + ex.addListener("cmdEnd", function () { fs.renameSync(temp + '/harness/loggedIO.js', loggedIOJsPath); jake.rmRf(temp); complete(); }); ex.run(); -}, {async: true}); +}, { async: true }); var instrumenterPath = harnessDirectory + 'instrumenter.ts'; var instrumenterJsPath = builtLocalDirectory + 'instrumenter.js'; compileFile(instrumenterJsPath, [instrumenterPath], [tscFile, instrumenterPath].concat(libraryTargets), [], /*useBuiltCompiler*/ true); desc("Builds an instrumented tsc.js"); -task('tsc-instrumented', [loggedIOJsPath, instrumenterJsPath, tscFile], function() { +task('tsc-instrumented', [loggedIOJsPath, instrumenterJsPath, tscFile], function () { var cmd = host + ' ' + instrumenterJsPath + ' record iocapture ' + builtLocalDirectory + compilerFilename; console.log(cmd); var ex = jake.createExec([cmd]); - ex.addListener("cmdEnd", function() { + ex.addListener("cmdEnd", function () { complete(); }); ex.run(); }, { async: true }); desc("Updates the sublime plugin's tsserver"); -task("update-sublime", ["local", serverFile], function() { +task("update-sublime", ["local", serverFile], function () { jake.cpR(serverFile, "../TypeScript-Sublime-Plugin/tsserver/"); jake.cpR(serverFile + ".map", "../TypeScript-Sublime-Plugin/tsserver/"); }); @@ -990,124 +1096,113 @@ var tslintRules = [ "noInOperatorRule", "noIncrementDecrementRule", "objectLiteralSurroundingSpaceRule", + "noTypeAssertionWhitespaceRule" ]; -var tslintRulesFiles = tslintRules.map(function(p) { +var tslintRulesFiles = tslintRules.map(function (p) { return path.join(tslintRuleDir, p + ".ts"); }); -var tslintRulesOutFiles = tslintRules.map(function(p) { +var tslintRulesOutFiles = tslintRules.map(function (p) { return path.join(builtLocalDirectory, "tslint", p + ".js"); }); desc("Compiles tslint rules to js"); -task("build-rules", tslintRulesOutFiles); -tslintRulesFiles.forEach(function(ruleFile, i) { +task("build-rules", ["build-rules-start"].concat(tslintRulesOutFiles).concat(["build-rules-end"])); +tslintRulesFiles.forEach(function (ruleFile, i) { compileFile(tslintRulesOutFiles[i], [ruleFile], [ruleFile], [], /*useBuiltCompiler*/ false, - { noOutFile: true, generateDeclarations: false, outDir: path.join(builtLocalDirectory, "tslint")}); + { noOutFile: true, generateDeclarations: false, outDir: path.join(builtLocalDirectory, "tslint") }); }); -function getLinterOptions() { - return { - configuration: require("./tslint.json"), - formatter: "prose", - formattersDirectory: undefined, - rulesDirectory: "built/local/tslint" - }; -} +desc("Emit the start of the build-rules fold"); +task("build-rules-start", [], function () { + if (fold.isTravis()) console.log(fold.start("build-rules")); +}); -function lintFileContents(options, path, contents) { - var ll = new Linter(path, contents, options); - console.log("Linting '" + path + "'."); - return ll.lint(); -} - -function lintFile(options, path) { - var contents = fs.readFileSync(path, "utf8"); - return lintFileContents(options, path, contents); -} - -function lintFileAsync(options, path, cb) { - fs.readFile(path, "utf8", function(err, contents) { - if (err) { - return cb(err); - } - var result = lintFileContents(options, path, contents); - cb(undefined, result); - }); -} +desc("Emit the end of the build-rules fold"); +task("build-rules-end", [], function () { + if (fold.isTravis()) console.log(fold.end("build-rules")); +}); var lintTargets = compilerSources .concat(harnessSources) // Other harness sources - .concat(["instrumenter.ts"].map(function(f) { return path.join(harnessDirectory, f) })) + .concat(["instrumenter.ts"].map(function (f) { return path.join(harnessDirectory, f) })) .concat(serverCoreSources) .concat(tslintRulesFiles) .concat(servicesSources) - .concat(["Gulpfile.ts"]); + .concat(["Gulpfile.ts"]) + .concat([nodeServerInFile, perftscPath, "tests/perfsys.ts", webhostPath]); +function sendNextFile(files, child, callback, failures) { + var file = files.pop(); + if (file) { + console.log("Linting '" + file + "'."); + child.send({ kind: "file", name: file }); + } + else { + child.send({ kind: "close" }); + callback(failures); + } +} + +function spawnLintWorker(files, callback) { + var child = child_process.fork("./scripts/parallel-lint"); + var failures = 0; + child.on("message", function (data) { + switch (data.kind) { + case "result": + if (data.failures > 0) { + failures += data.failures; + console.log(data.output); + } + sendNextFile(files, child, callback, failures); + break; + case "error": + console.error(data.error); + failures++; + sendNextFile(files, child, callback, failures); + break; + } + }); + sendNextFile(files, child, callback, failures); +} desc("Runs tslint on the compiler sources. Optional arguments are: f[iles]=regex"); -task("lint", ["build-rules"], function() { - var lintOptions = getLinterOptions(); +task("lint", ["build-rules"], function () { + if (fold.isTravis()) console.log(fold.start("lint")); + var startTime = mark(); var failed = 0; var fileMatcher = RegExp(process.env.f || process.env.file || process.env.files || ""); var done = {}; for (var i in lintTargets) { var target = lintTargets[i]; if (!done[target] && fileMatcher.test(target)) { - var result = lintFile(lintOptions, target); - if (result.failureCount > 0) { - console.log(result.output); - failed += result.failureCount; - } - done[target] = true; + done[target] = fs.statSync(target).size; } } - if (failed > 0) { - fail('Linter errors.', failed); - } -}); -/** - * This is required because file watches on Windows get fires _twice_ - * when a file changes on some node/windows version configuations - * (node v4 and win 10, for example). By not running a lint for a file - * which already has a pending lint, we avoid duplicating our work. - * (And avoid printing duplicate results!) - */ -var lintSemaphores = {}; + var workerCount = (process.env.workerCount && +process.env.workerCount) || os.cpus().length; -function lintWatchFile(filename) { - fs.watch(filename, {persistent: true}, function(event) { - if (event !== "change") { - return; - } - - if (!lintSemaphores[filename]) { - lintSemaphores[filename] = true; - lintFileAsync(getLinterOptions(), filename, function(err, result) { - delete lintSemaphores[filename]; - if (err) { - console.log(err); - return; - } - if (result.failureCount > 0) { - console.log("***Lint failure***"); - for (var i = 0; i < result.failures.length; i++) { - var failure = result.failures[i]; - var start = failure.startPosition.lineAndCharacter; - var end = failure.endPosition.lineAndCharacter; - console.log("warning " + filename + " (" + (start.line + 1) + "," + (start.character + 1) + "," + (end.line + 1) + "," + (end.character + 1) + "): " + failure.failure); - } - console.log("*** Total " + result.failureCount + " failures."); - } - }); - } + var names = Object.keys(done).sort(function (namea, nameb) { + return done[namea] - done[nameb]; }); -} -desc("Watches files for changes to rerun a lint pass"); -task("lint-server", ["build-rules"], function() { - console.log("Watching ./src for changes to linted files"); - for (var i = 0; i < lintTargets.length; i++) { - lintWatchFile(lintTargets[i]); + for (var i = 0; i < workerCount; i++) { + spawnLintWorker(names, finished); } -}); + + var completed = 0; + var failures = 0; + function finished(fails) { + completed++; + failures += fails; + if (completed === workerCount) { + measure(startTime); + if (fold.isTravis()) console.log(fold.end("lint")); + if (failures > 0) { + fail('Linter errors.', failed); + } + else { + complete(); + } + } + } +}, { async: true }); diff --git a/README.md b/README.md index fca2890bc77..d16bc363b26 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Join the chat at https://gitter.im/Microsoft/TypeScript](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[TypeScript](http://www.typescriptlang.org/) is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the [playground](http://www.typescriptlang.org/Playground), and stay up to date via [our blog](http://blogs.msdn.com/typescript) and [Twitter account](https://twitter.com/typescriptlang). +[TypeScript](http://www.typescriptlang.org/) is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the [playground](http://www.typescriptlang.org/Playground), and stay up to date via [our blog](https://blogs.msdn.microsoft.com/typescript) and [Twitter account](https://twitter.com/typescriptlang). ## Installing diff --git a/lib/lib.es2015.collection.d.ts b/lib/lib.es2015.collection.d.ts index f014185d9e1..175f4f8725e 100644 --- a/lib/lib.es2015.collection.d.ts +++ b/lib/lib.es2015.collection.d.ts @@ -20,7 +20,7 @@ interface Map { forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; get(key: K): V | undefined; has(key: K): boolean; - set(key: K, value?: V): this; + set(key: K, value: V): this; readonly size: number; } @@ -36,7 +36,7 @@ interface WeakMap { delete(key: K): boolean; get(key: K): V | undefined; has(key: K): boolean; - set(key: K, value?: V): this; + set(key: K, value: V): this; } interface WeakMapConstructor { diff --git a/lib/tsc.js b/lib/tsc.js index 05a903f9014..0e3d7285ac3 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -825,17 +825,10 @@ var ts; return true; } ts.containsPath = containsPath; - function startsWith(str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - } - ts.startsWith = startsWith; - function endsWith(str, suffix) { - var expectedPos = str.length - suffix.length; - return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; - } - ts.endsWith = endsWith; function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1100,8 +1093,6 @@ var ts; } ts.objectAllocator = { getNodeConstructor: function () { return Node; }, - getTokenConstructor: function () { return Node; }, - getIdentifierConstructor: function () { return Node; }, getSourceFileConstructor: function () { return Node; }, getSymbolConstructor: function () { return Symbol; }, getTypeConstructor: function () { return Type; }, @@ -1233,7 +1224,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - var wscriptSystem = { + return { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1252,7 +1243,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!wscriptSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1272,7 +1263,6 @@ var ts; } } }; - return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1445,7 +1435,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - var nodeSystem = { + return { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1495,7 +1485,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!nodeSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1543,7 +1533,6 @@ var ts; return _fs.realpathSync(path); } }; - return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2293,8 +2282,8 @@ var ts; Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." }, File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" }, _0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." }, - Report_errors_on_unused_locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_locals_6134", message: "Report errors on unused locals." }, - Report_errors_on_unused_parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_parameters_6135", message: "Report errors on unused parameters." }, + Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." }, + Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." }, The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: { code: 6136, category: ts.DiagnosticCategory.Message, key: "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", message: "The maximum dependency depth to search under node_modules and load JavaScript files" }, No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0: { code: 6137, category: ts.DiagnosticCategory.Message, key: "No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137", message: "No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'" }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." }, @@ -4847,7 +4836,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return /^\.\.?($|[\\/])/.test(moduleName); + return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -6355,24 +6344,25 @@ var ts; return node.flags & 92 && node.parent.kind === 148 && ts.isClassLike(node.parent.parent); } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; + function startsWith(str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + } + ts.startsWith = startsWith; + function endsWith(str, suffix) { + var expectedPos = str.length - suffix.length; + return str.indexOf(suffix, expectedPos) === expectedPos; + } + ts.endsWith = endsWith; })(ts || (ts = {})); var ts; (function (ts) { ts.parseTime = 0; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { if (kind === 256) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } - else if (kind === 69) { - return new (IdentifierConstructor || (IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor()))(kind, pos, end); - } - else if (kind < 139) { - return new (TokenConstructor || (TokenConstructor = ts.objectAllocator.getTokenConstructor()))(kind, pos, end); - } else { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, pos, end); } @@ -6795,8 +6785,6 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -6822,8 +6810,6 @@ var ts; } function initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind) { NodeConstructor = ts.objectAllocator.getNodeConstructor(); - TokenConstructor = ts.objectAllocator.getTokenConstructor(); - IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor(); SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor(); sourceText = _sourceText; syntaxCursor = _syntaxCursor; @@ -7130,9 +7116,7 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return kind >= 139 ? new NodeConstructor(kind, pos, pos) : - kind === 69 ? new IdentifierConstructor(kind, pos, pos) : - new TokenConstructor(kind, pos, pos); + return new NodeConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -10908,9 +10892,6 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); - if (!parentTagTerminated) { - resumePos = scanner.getStartPos(); - } } seenAsterisk = false; break; @@ -15437,18 +15418,17 @@ var ts; if (declaration.kind === 235) { return links.type = checkExpression(declaration.expression); } - if (declaration.flags & 134217728 && declaration.kind === 280 && declaration.typeExpression) { - return links.type = getTypeFromTypeNode(declaration.typeExpression.type); - } if (!pushTypeResolution(symbol, 0)) { return unknownType; } var type = undefined; - if (declaration.kind === 187 || - declaration.kind === 172 && declaration.parent.kind === 187) { - type = getUnionType(ts.map(symbol.declarations, function (decl) { return decl.kind === 187 ? - checkExpressionCached(decl.right) : - checkExpressionCached(decl.parent.right); })); + if (declaration.kind === 187) { + type = getUnionType(ts.map(symbol.declarations, function (decl) { return checkExpressionCached(decl.right); })); + } + else if (declaration.kind === 172) { + if (declaration.parent.kind === 187) { + type = checkExpressionCached(declaration.parent.right); + } } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -21955,7 +21935,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -23175,7 +23155,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (noUnusedIdentifiers && !node.body) { + if (!node.body) { checkUnusedTypeParameters(node); } } @@ -24071,7 +24051,6 @@ var ts; var parameter = local_1.valueDeclaration; if (compilerOptions.noUnusedParameters && !ts.isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && !parameterNameStartsWithUnderscore(parameter)) { error(local_1.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); } @@ -24087,9 +24066,6 @@ var ts; } } } - function parameterIsThisKeyword(parameter) { - return parameter.name && parameter.name.originalKeywordKind === 97; - } function parameterNameStartsWithUnderscore(parameter) { return parameter.name && parameter.name.kind === 69 && parameter.name.text.charCodeAt(0) === 95; } @@ -24118,14 +24094,9 @@ var ts; function checkUnusedTypeParameters(node) { if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) { if (node.typeParameters) { - var symbol = getSymbolOfNode(node); - var lastDeclaration = symbol && symbol.declarations && ts.lastOrUndefined(symbol.declarations); - if (lastDeclaration !== node) { - return; - } for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) { var typeParameter = _a[_i]; - if (!getMergedSymbol(typeParameter.symbol).isReferenced) { + if (!typeParameter.symbol.isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -25202,7 +25173,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - registerForUnusedIdentifiersCheck(node); + checkUnusedTypeParameters(node); } } function checkTypeAliasDeclaration(node) { @@ -29925,7 +29896,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); + write("//# sourceMappingURL=" + sourceMappingURL); } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, compilerOptions.emitBOM, sourceFiles); sourceMap.reset(); @@ -33575,13 +33546,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } if (decoratedClassAlias !== undefined) { - write("let " + decoratedClassAlias); + write("" + decoratedClassAlias); } else { - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } emitDeclarationName(node); } write(" = "); @@ -35825,7 +35796,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.1.0"; + ts.version = "2.0.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -35905,7 +35876,12 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); + if (ts.isRootedDiskPath(moduleName)) { + return false; + } + var i = moduleName.lastIndexOf("./", 1); + var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); + return !startsWithDotSlashOrDotDotSlash; } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -36561,22 +36537,6 @@ var ts; return ts.sortAndDeduplicateDiagnostics(diagnostics); } ts.getPreEmitDiagnostics = getPreEmitDiagnostics; - function formatDiagnostics(diagnostics, host) { - var output = ""; - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; - if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; - var fileName = diagnostic.file.fileName; - var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; - } - var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); - } - return output; - } - ts.formatDiagnostics = formatDiagnostics; function flattenDiagnosticMessageText(messageText, newLine) { if (typeof messageText === "string") { return messageText; @@ -36652,7 +36612,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesDepth = 0; + var currentNodeModulesJsDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -36876,7 +36836,8 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); + var _this = this; + return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -37283,17 +37244,8 @@ var ts; if (file_1 && options.forceConsistentCasingInFileNames && ts.getNormalizedAbsolutePath(file_1.fileName, currentDirectory) !== ts.getNormalizedAbsolutePath(fileName, currentDirectory)) { reportFileNamesDifferOnlyInCasingError(fileName, file_1.fileName, refFile, refPos, refEnd); } - if (file_1 && ts.lookUp(sourceFilesFoundSearchingNodeModules, file_1.path) && currentNodeModulesDepth == 0) { - sourceFilesFoundSearchingNodeModules[file_1.path] = false; - if (!options.noResolve) { - processReferencedFiles(file_1, ts.getDirectoryPath(fileName), isDefaultLib); - processTypeReferenceDirectives(file_1); - } - modulesWithElidedImports[file_1.path] = false; - processImportedModules(file_1, ts.getDirectoryPath(fileName)); - } - else if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesDepth < maxNodeModulesJsDepth) { + if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { + if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -37310,7 +37262,6 @@ var ts; }); filesByName.set(path, file); if (file) { - sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -37411,9 +37362,12 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - currentNodeModulesDepth++; + sourceFilesFoundSearchingNodeModules[resolvedPath] = true; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth++; + } + var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -37421,8 +37375,8 @@ var ts; else if (shouldAddFile) { findSourceFile(resolution.resolvedFileName, resolvedPath, false, false, file, ts.skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); } - if (isFromNodeModulesSearch) { - currentNodeModulesDepth--; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth--; } } } @@ -37741,12 +37695,12 @@ var ts; { name: "noUnusedLocals", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_locals + description: ts.Diagnostics.Report_Errors_on_Unused_Locals }, { name: "noUnusedParameters", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_parameters + description: ts.Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", @@ -38525,18 +38479,10 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - var defaultFormatDiagnosticsHost = { - getCurrentDirectory: function () { return ts.sys.getCurrentDirectory(); }, - getNewLine: function () { return ts.sys.newLine; }, - getCanonicalFileName: ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames) - }; - var reportDiagnosticWorker = reportDiagnosticSimply; - function reportDiagnostic(diagnostic, host) { - reportDiagnosticWorker(diagnostic, host || defaultFormatDiagnosticsHost); - } + var reportDiagnostic = reportDiagnosticSimply; function reportDiagnostics(diagnostics, host) { - for (var _i = 0, diagnostics_2 = diagnostics; _i < diagnostics_2.length; _i++) { - var diagnostic = diagnostics_2[_i]; + for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { + var diagnostic = diagnostics_1[_i]; reportDiagnostic(diagnostic, host); } } @@ -38607,8 +38553,19 @@ var ts; var diagnostic = ts.createCompilerDiagnostic.apply(undefined, arguments); return diagnostic.messageText; } + function getRelativeFileName(fileName, host) { + return host ? ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : fileName; + } function reportDiagnosticSimply(diagnostic, host) { - ts.sys.write(ts.formatDiagnostics([diagnostic], host)); + var output = ""; + if (diagnostic.file) { + var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; + var relativeFileName = getRelativeFileName(diagnostic.file.fileName, host); + output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; + } + var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); + output += category + " TS" + diagnostic.code + ": " + ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine) + ts.sys.newLine; + ts.sys.write(output); } var redForegroundEscapeSequence = "\u001b[91m"; var yellowForegroundEscapeSequence = "\u001b[93m"; @@ -38633,7 +38590,7 @@ var ts; var _a = ts.getLineAndCharacterOfPosition(file, start), firstLine = _a.line, firstLineChar = _a.character; var _b = ts.getLineAndCharacterOfPosition(file, start + length_3), lastLine = _b.line, lastLineChar = _b.character; var lastLineInFile = ts.getLineAndCharacterOfPosition(file, file.text.length).line; - var relativeFileName = host ? ts.convertToRelativePath(file.fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : file.fileName; + var relativeFileName = getRelativeFileName(file.fileName, host); var hasMoreThanFiveLines = (lastLine - firstLine) >= 4; var gutterWidth = (lastLine + 1 + "").length; if (hasMoreThanFiveLines) { @@ -38822,8 +38779,7 @@ var ts; ts.sys.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); return; } - var cwd = ts.sys.getCurrentDirectory(); - var configParseResult = ts.parseJsonConfigFileContent(configObject, ts.sys, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), commandLine.options, ts.getNormalizedAbsolutePath(configFileName, cwd)); + var configParseResult = ts.parseJsonConfigFileContent(configObject, ts.sys, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), ts.sys.getCurrentDirectory()), commandLine.options, configFileName); if (configParseResult.errors.length > 0) { reportDiagnostics(configParseResult.errors, undefined); ts.sys.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); @@ -38860,7 +38816,7 @@ var ts; compilerHost.fileExists = cachedFileExists; } if (compilerOptions.pretty) { - reportDiagnosticWorker = reportDiagnosticWithColorAndContext; + reportDiagnostic = reportDiagnosticWithColorAndContext; } cachedExistingFiles = {}; var compileResult = compile(rootFileNames, compilerOptions, compilerHost); @@ -39023,7 +38979,7 @@ var ts; output += ts.sys.newLine + ts.sys.newLine; var padding = makePadding(marginLength); output += getDiagnosticText(ts.Diagnostics.Examples_Colon_0, makePadding(marginLength - examplesLength) + "tsc hello.ts") + ts.sys.newLine; - output += padding + "tsc --outFile file.js file.ts" + ts.sys.newLine; + output += padding + "tsc --out file.js file.ts" + ts.sys.newLine; output += padding + "tsc @args.txt" + ts.sys.newLine; output += ts.sys.newLine; output += getDiagnosticText(ts.Diagnostics.Options_Colon) + ts.sys.newLine; diff --git a/lib/tsserver.js b/lib/tsserver.js index 7e0dda1736e..af6ee897902 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -830,17 +830,10 @@ var ts; return true; } ts.containsPath = containsPath; - function startsWith(str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - } - ts.startsWith = startsWith; - function endsWith(str, suffix) { - var expectedPos = str.length - suffix.length; - return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; - } - ts.endsWith = endsWith; function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1105,8 +1098,6 @@ var ts; } ts.objectAllocator = { getNodeConstructor: function () { return Node; }, - getTokenConstructor: function () { return Node; }, - getIdentifierConstructor: function () { return Node; }, getSourceFileConstructor: function () { return Node; }, getSymbolConstructor: function () { return Symbol; }, getTypeConstructor: function () { return Type; }, @@ -1238,7 +1229,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - var wscriptSystem = { + return { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1257,7 +1248,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!wscriptSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1277,7 +1268,6 @@ var ts; } } }; - return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1450,7 +1440,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - var nodeSystem = { + return { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1500,7 +1490,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!nodeSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1548,7 +1538,6 @@ var ts; return _fs.realpathSync(path); } }; - return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2298,8 +2287,8 @@ var ts; Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." }, File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" }, _0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." }, - Report_errors_on_unused_locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_locals_6134", message: "Report errors on unused locals." }, - Report_errors_on_unused_parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_parameters_6135", message: "Report errors on unused parameters." }, + Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." }, + Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." }, The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: { code: 6136, category: ts.DiagnosticCategory.Message, key: "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", message: "The maximum dependency depth to search under node_modules and load JavaScript files" }, No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0: { code: 6137, category: ts.DiagnosticCategory.Message, key: "No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137", message: "No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'" }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." }, @@ -3977,12 +3966,12 @@ var ts; { name: "noUnusedLocals", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_locals + description: ts.Diagnostics.Report_Errors_on_Unused_Locals }, { name: "noUnusedParameters", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_parameters + description: ts.Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", @@ -5765,7 +5754,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return /^\.\.?($|[\\/])/.test(moduleName); + return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7273,24 +7262,25 @@ var ts; return node.flags & 92 && node.parent.kind === 148 && ts.isClassLike(node.parent.parent); } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; + function startsWith(str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + } + ts.startsWith = startsWith; + function endsWith(str, suffix) { + var expectedPos = str.length - suffix.length; + return str.indexOf(suffix, expectedPos) === expectedPos; + } + ts.endsWith = endsWith; })(ts || (ts = {})); var ts; (function (ts) { ts.parseTime = 0; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { if (kind === 256) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } - else if (kind === 69) { - return new (IdentifierConstructor || (IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor()))(kind, pos, end); - } - else if (kind < 139) { - return new (TokenConstructor || (TokenConstructor = ts.objectAllocator.getTokenConstructor()))(kind, pos, end); - } else { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, pos, end); } @@ -7713,8 +7703,6 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -7740,8 +7728,6 @@ var ts; } function initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind) { NodeConstructor = ts.objectAllocator.getNodeConstructor(); - TokenConstructor = ts.objectAllocator.getTokenConstructor(); - IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor(); SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor(); sourceText = _sourceText; syntaxCursor = _syntaxCursor; @@ -8048,9 +8034,7 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return kind >= 139 ? new NodeConstructor(kind, pos, pos) : - kind === 69 ? new IdentifierConstructor(kind, pos, pos) : - new TokenConstructor(kind, pos, pos); + return new NodeConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -11826,9 +11810,6 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); - if (!parentTagTerminated) { - resumePos = scanner.getStartPos(); - } } seenAsterisk = false; break; @@ -16355,18 +16336,17 @@ var ts; if (declaration.kind === 235) { return links.type = checkExpression(declaration.expression); } - if (declaration.flags & 134217728 && declaration.kind === 280 && declaration.typeExpression) { - return links.type = getTypeFromTypeNode(declaration.typeExpression.type); - } if (!pushTypeResolution(symbol, 0)) { return unknownType; } var type = undefined; - if (declaration.kind === 187 || - declaration.kind === 172 && declaration.parent.kind === 187) { - type = getUnionType(ts.map(symbol.declarations, function (decl) { return decl.kind === 187 ? - checkExpressionCached(decl.right) : - checkExpressionCached(decl.parent.right); })); + if (declaration.kind === 187) { + type = getUnionType(ts.map(symbol.declarations, function (decl) { return checkExpressionCached(decl.right); })); + } + else if (declaration.kind === 172) { + if (declaration.parent.kind === 187) { + type = checkExpressionCached(declaration.parent.right); + } } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -22873,7 +22853,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -24093,7 +24073,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (noUnusedIdentifiers && !node.body) { + if (!node.body) { checkUnusedTypeParameters(node); } } @@ -24989,7 +24969,6 @@ var ts; var parameter = local_1.valueDeclaration; if (compilerOptions.noUnusedParameters && !ts.isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && !parameterNameStartsWithUnderscore(parameter)) { error(local_1.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); } @@ -25005,9 +24984,6 @@ var ts; } } } - function parameterIsThisKeyword(parameter) { - return parameter.name && parameter.name.originalKeywordKind === 97; - } function parameterNameStartsWithUnderscore(parameter) { return parameter.name && parameter.name.kind === 69 && parameter.name.text.charCodeAt(0) === 95; } @@ -25036,14 +25012,9 @@ var ts; function checkUnusedTypeParameters(node) { if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) { if (node.typeParameters) { - var symbol = getSymbolOfNode(node); - var lastDeclaration = symbol && symbol.declarations && ts.lastOrUndefined(symbol.declarations); - if (lastDeclaration !== node) { - return; - } for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) { var typeParameter = _a[_i]; - if (!getMergedSymbol(typeParameter.symbol).isReferenced) { + if (!typeParameter.symbol.isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -26120,7 +26091,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - registerForUnusedIdentifiersCheck(node); + checkUnusedTypeParameters(node); } } function checkTypeAliasDeclaration(node) { @@ -30843,7 +30814,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); + write("//# sourceMappingURL=" + sourceMappingURL); } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, compilerOptions.emitBOM, sourceFiles); sourceMap.reset(); @@ -34493,13 +34464,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } if (decoratedClassAlias !== undefined) { - write("let " + decoratedClassAlias); + write("" + decoratedClassAlias); } else { - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } emitDeclarationName(node); } write(" = "); @@ -36743,7 +36714,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.1.0"; + ts.version = "2.0.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -36823,7 +36794,12 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); + if (ts.isRootedDiskPath(moduleName)) { + return false; + } + var i = moduleName.lastIndexOf("./", 1); + var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); + return !startsWithDotSlashOrDotDotSlash; } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -37479,22 +37455,6 @@ var ts; return ts.sortAndDeduplicateDiagnostics(diagnostics); } ts.getPreEmitDiagnostics = getPreEmitDiagnostics; - function formatDiagnostics(diagnostics, host) { - var output = ""; - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; - if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; - var fileName = diagnostic.file.fileName; - var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; - } - var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); - } - return output; - } - ts.formatDiagnostics = formatDiagnostics; function flattenDiagnosticMessageText(messageText, newLine) { if (typeof messageText === "string") { return messageText; @@ -37570,7 +37530,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesDepth = 0; + var currentNodeModulesJsDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -37794,7 +37754,8 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); + var _this = this; + return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -38201,17 +38162,8 @@ var ts; if (file_1 && options.forceConsistentCasingInFileNames && ts.getNormalizedAbsolutePath(file_1.fileName, currentDirectory) !== ts.getNormalizedAbsolutePath(fileName, currentDirectory)) { reportFileNamesDifferOnlyInCasingError(fileName, file_1.fileName, refFile, refPos, refEnd); } - if (file_1 && ts.lookUp(sourceFilesFoundSearchingNodeModules, file_1.path) && currentNodeModulesDepth == 0) { - sourceFilesFoundSearchingNodeModules[file_1.path] = false; - if (!options.noResolve) { - processReferencedFiles(file_1, ts.getDirectoryPath(fileName), isDefaultLib); - processTypeReferenceDirectives(file_1); - } - modulesWithElidedImports[file_1.path] = false; - processImportedModules(file_1, ts.getDirectoryPath(fileName)); - } - else if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesDepth < maxNodeModulesJsDepth) { + if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { + if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -38228,7 +38180,6 @@ var ts; }); filesByName.set(path, file); if (file) { - sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -38329,9 +38280,12 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - currentNodeModulesDepth++; + sourceFilesFoundSearchingNodeModules[resolvedPath] = true; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth++; + } + var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -38339,8 +38293,8 @@ var ts; else if (shouldAddFile) { findSourceFile(resolution.resolvedFileName, resolvedPath, false, false, file, ts.skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); } - if (isFromNodeModulesSearch) { - currentNodeModulesDepth--; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth--; } } } @@ -39933,7 +39887,7 @@ var ts; return createPatternMatch(PatternMatchKind.exact, punctuationStripped, candidate === chunk.text); } else { - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, ts.startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -40105,6 +40059,14 @@ var ts; var str = String.fromCharCode(ch); return str === str.toLowerCase(); } + function startsWith(string, search) { + for (var i = 0, n = search.length; i < n; i++) { + if (string.charCodeAt(i) !== search.charCodeAt(i)) { + return false; + } + } + return true; + } function indexOfIgnoringCase(string, value) { for (var i = 0, n = string.length - value.length; i <= n; i++) { if (startsWithIgnoringCase(string, value, i)) { @@ -41589,9 +41551,6 @@ var ts; } return false; } - function shouldRescanJsxText(node) { - return node && node.kind === 244; - } function shouldRescanSlashToken(container) { return container.kind === 10; } @@ -41619,9 +41578,7 @@ var ts; ? 3 : shouldRescanJsxIdentifier(n) ? 4 - : shouldRescanJsxText(n) - ? 5 - : 0; + : 0; if (lastTokenInfo && expectedScanAction === lastScanAction) { return fixTokenKind(lastTokenInfo, n); } @@ -41649,10 +41606,6 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4; } - else if (expectedScanAction === 5) { - currentToken = scanner.reScanJsxToken(); - lastScanAction = 5; - } else { lastScanAction = 0; } @@ -43901,20 +43854,19 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, parent) { - var node = kind >= 139 ? new NodeObject(kind, pos, end) : - kind === 69 ? new IdentifierObject(kind, pos, end) : - new TokenObject(kind, pos, end); + function createNode(kind, pos, end, flags, parent) { + var node = new NodeObject(kind, pos, end); + node.flags = flags; node.parent = parent; return node; } var NodeObject = (function () { function NodeObject(kind, pos, end) { + this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.parent = undefined; - this.kind = kind; } NodeObject.prototype.getSourceFile = function () { return ts.getSourceFileOfNode(this); @@ -43949,14 +43901,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, this)); + nodes.push(createNode(token, pos, textPos, 0, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282, nodes.pos, nodes.end, this); + var list = createNode(282, nodes.pos, nodes.end, 0, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -44041,73 +43993,6 @@ var ts; }; return NodeObject; }()); - var TokenOrIdentifierObject = (function () { - function TokenOrIdentifierObject(pos, end) { - this.pos = pos; - this.end = end; - this.flags = 0; - this.parent = undefined; - } - TokenOrIdentifierObject.prototype.getSourceFile = function () { - return ts.getSourceFileOfNode(this); - }; - TokenOrIdentifierObject.prototype.getStart = function (sourceFile, includeJsDocComment) { - return ts.getTokenPosOfNode(this, sourceFile, includeJsDocComment); - }; - TokenOrIdentifierObject.prototype.getFullStart = function () { - return this.pos; - }; - TokenOrIdentifierObject.prototype.getEnd = function () { - return this.end; - }; - TokenOrIdentifierObject.prototype.getWidth = function (sourceFile) { - return this.getEnd() - this.getStart(sourceFile); - }; - TokenOrIdentifierObject.prototype.getFullWidth = function () { - return this.end - this.pos; - }; - TokenOrIdentifierObject.prototype.getLeadingTriviaWidth = function (sourceFile) { - return this.getStart(sourceFile) - this.pos; - }; - TokenOrIdentifierObject.prototype.getFullText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.pos, this.end); - }; - TokenOrIdentifierObject.prototype.getText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.getStart(), this.getEnd()); - }; - TokenOrIdentifierObject.prototype.getChildCount = function (sourceFile) { - return 0; - }; - TokenOrIdentifierObject.prototype.getChildAt = function (index, sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getChildren = function (sourceFile) { - return emptyArray; - }; - TokenOrIdentifierObject.prototype.getFirstToken = function (sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getLastToken = function (sourceFile) { - return undefined; - }; - return TokenOrIdentifierObject; - }()); - var TokenObject = (function (_super) { - __extends(TokenObject, _super); - function TokenObject(kind, pos, end) { - _super.call(this, pos, end); - this.kind = kind; - } - return TokenObject; - }(TokenOrIdentifierObject)); - var IdentifierObject = (function (_super) { - __extends(IdentifierObject, _super); - function IdentifierObject(kind, pos, end) { - _super.call(this, pos, end); - } - return IdentifierObject; - }(TokenOrIdentifierObject)); - IdentifierObject.prototype.kind = 69; var SymbolObject = (function () { function SymbolObject(flags, name) { this.flags = flags; @@ -49788,8 +49673,6 @@ var ts; function initializeServices() { ts.objectAllocator = { getNodeConstructor: function () { return NodeObject; }, - getTokenConstructor: function () { return TokenObject; }, - getIdentifierConstructor: function () { return IdentifierObject; }, getSourceFileConstructor: function () { return SourceFileObject; }, getSymbolConstructor: function () { return SymbolObject; }, getTypeConstructor: function () { return TypeObject; }, @@ -50910,6 +50793,7 @@ var ts; if (isOpen === void 0) { isOpen = false; } this.host = host; this.fileName = fileName; + this.content = content; this.isOpen = isOpen; this.children = []; this.formatCodeOptions = ts.clone(CompilerService.getDefaultFormatCodeOptions(this.host)); @@ -52535,7 +52419,7 @@ var ts; done: false, leaf: function (relativeStart, relativeLength, ll) { if (!f(ll, relativeStart, relativeLength)) { - walkFns.done = true; + this.done = true; } } }; @@ -53185,7 +53069,7 @@ var ts; ioSession.listen(); })(server = ts.server || (ts.server = {})); })(ts || (ts = {})); -var debugObjectHost = new Function("return this")(); +var debugObjectHost = this; var ts; (function (ts) { function logInternalError(logger, err) { @@ -53313,7 +53197,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return JSON.parse(this.shimHost.getDirectories(path)); + return this.shimHost.getDirectories(path); }; LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName = function (options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 1821c212574..2c9fffcfcfb 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -405,10 +405,7 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Token extends Node { - __tokenTag: any; - } - interface Modifier extends Token { + interface Modifier extends Node { } interface Identifier extends PrimaryExpression { text: string; @@ -2053,6 +2050,7 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; + getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -2158,8 +2156,6 @@ declare namespace ts { function ensureTrailingDirectorySeparator(path: string): string; function comparePaths(a: string, b: string, currentDirectory: string, ignoreCase?: boolean): Comparison; function containsPath(parent: string, child: string, currentDirectory: string, ignoreCase?: boolean): boolean; - function startsWith(str: string, prefix: string): boolean; - function endsWith(str: string, suffix: string): boolean; function fileExtensionIs(path: string, extension: string): boolean; function fileExtensionIsAny(path: string, extensions: string[]): boolean; function getRegularExpressionForWildcard(specs: string[], basePath: string, usage: "files" | "directories" | "exclude"): string; @@ -2197,8 +2193,6 @@ declare namespace ts { function changeExtension(path: T, newExtension: string): T; interface ObjectAllocator { getNodeConstructor(): new (kind: SyntaxKind, pos?: number, end?: number) => Node; - getTokenConstructor(): new (kind: SyntaxKind, pos?: number, end?: number) => Token; - getIdentifierConstructor(): new (kind: SyntaxKind, pos?: number, end?: number) => Token; getSourceFileConstructor(): new (kind: SyntaxKind, pos?: number, end?: number) => SourceFile; getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol; getTypeConstructor(): new (checker: TypeChecker, flags: TypeFlags) => Type; @@ -6462,13 +6456,13 @@ declare namespace ts { key: string; message: string; }; - Report_errors_on_unused_locals: { + Report_Errors_on_Unused_Locals: { code: number; category: DiagnosticCategory; key: string; message: string; }; - Report_errors_on_unused_parameters: { + Report_Errors_on_Unused_Parameters: { code: number; category: DiagnosticCategory; key: string; @@ -7149,6 +7143,8 @@ declare namespace ts { function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; function getTypeParameterOwner(d: Declaration): Declaration; function isParameterPropertyDeclaration(node: ParameterDeclaration): boolean; + function startsWith(str: string, prefix: string): boolean; + function endsWith(str: string, suffix: string): boolean; } declare namespace ts { let parseTime: number; @@ -7229,12 +7225,6 @@ declare namespace ts { const defaultInitCompilerOptions: CompilerOptions; function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; - interface FormatDiagnosticsHost { - getCurrentDirectory(): string; - getCanonicalFileName(fileName: string): string; - getNewLine(): string; - } - function formatDiagnostics(diagnostics: Diagnostic[], host: FormatDiagnosticsHost): string; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; function getAutomaticTypeDirectiveNames(options: CompilerOptions, rootFiles: string[], host: CompilerHost): string[]; function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program): Program; @@ -8398,6 +8388,7 @@ declare namespace ts.server { class ScriptInfo { private host; fileName: string; + content: string; isOpen: boolean; svc: ScriptVersionCache; children: ScriptInfo[]; @@ -8738,7 +8729,7 @@ declare namespace ts { getLocalizedDiagnosticMessages(): string; getCancellationToken(): HostCancellationToken; getCurrentDirectory(): string; - getDirectories(path: string): string; + getDirectories(path: string): string[]; getDefaultLibFileName(options: string): string; getNewLine?(): string; getProjectVersion?(): string; diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index 8823d9ce98b..5dafd5528a8 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -830,17 +830,10 @@ var ts; return true; } ts.containsPath = containsPath; - function startsWith(str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - } - ts.startsWith = startsWith; - function endsWith(str, suffix) { - var expectedPos = str.length - suffix.length; - return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; - } - ts.endsWith = endsWith; function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1105,8 +1098,6 @@ var ts; } ts.objectAllocator = { getNodeConstructor: function () { return Node; }, - getTokenConstructor: function () { return Node; }, - getIdentifierConstructor: function () { return Node; }, getSourceFileConstructor: function () { return Node; }, getSymbolConstructor: function () { return Symbol; }, getTypeConstructor: function () { return Type; }, @@ -1238,7 +1229,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - var wscriptSystem = { + return { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1257,7 +1248,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!wscriptSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1277,7 +1268,6 @@ var ts; } } }; - return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1450,7 +1440,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - var nodeSystem = { + return { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1500,7 +1490,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!nodeSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1548,7 +1538,6 @@ var ts; return _fs.realpathSync(path); } }; - return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2298,8 +2287,8 @@ var ts; Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." }, File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" }, _0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." }, - Report_errors_on_unused_locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_locals_6134", message: "Report errors on unused locals." }, - Report_errors_on_unused_parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_parameters_6135", message: "Report errors on unused parameters." }, + Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." }, + Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." }, The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: { code: 6136, category: ts.DiagnosticCategory.Message, key: "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", message: "The maximum dependency depth to search under node_modules and load JavaScript files" }, No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0: { code: 6137, category: ts.DiagnosticCategory.Message, key: "No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137", message: "No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'" }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." }, @@ -3977,12 +3966,12 @@ var ts; { name: "noUnusedLocals", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_locals + description: ts.Diagnostics.Report_Errors_on_Unused_Locals }, { name: "noUnusedParameters", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_parameters + description: ts.Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", @@ -5765,7 +5754,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return /^\.\.?($|[\\/])/.test(moduleName); + return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7273,24 +7262,25 @@ var ts; return node.flags & 92 && node.parent.kind === 148 && ts.isClassLike(node.parent.parent); } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; + function startsWith(str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + } + ts.startsWith = startsWith; + function endsWith(str, suffix) { + var expectedPos = str.length - suffix.length; + return str.indexOf(suffix, expectedPos) === expectedPos; + } + ts.endsWith = endsWith; })(ts || (ts = {})); var ts; (function (ts) { ts.parseTime = 0; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { if (kind === 256) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } - else if (kind === 69) { - return new (IdentifierConstructor || (IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor()))(kind, pos, end); - } - else if (kind < 139) { - return new (TokenConstructor || (TokenConstructor = ts.objectAllocator.getTokenConstructor()))(kind, pos, end); - } else { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, pos, end); } @@ -7713,8 +7703,6 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -7740,8 +7728,6 @@ var ts; } function initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind) { NodeConstructor = ts.objectAllocator.getNodeConstructor(); - TokenConstructor = ts.objectAllocator.getTokenConstructor(); - IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor(); SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor(); sourceText = _sourceText; syntaxCursor = _syntaxCursor; @@ -8048,9 +8034,7 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return kind >= 139 ? new NodeConstructor(kind, pos, pos) : - kind === 69 ? new IdentifierConstructor(kind, pos, pos) : - new TokenConstructor(kind, pos, pos); + return new NodeConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -11826,9 +11810,6 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); - if (!parentTagTerminated) { - resumePos = scanner.getStartPos(); - } } seenAsterisk = false; break; @@ -16355,18 +16336,17 @@ var ts; if (declaration.kind === 235) { return links.type = checkExpression(declaration.expression); } - if (declaration.flags & 134217728 && declaration.kind === 280 && declaration.typeExpression) { - return links.type = getTypeFromTypeNode(declaration.typeExpression.type); - } if (!pushTypeResolution(symbol, 0)) { return unknownType; } var type = undefined; - if (declaration.kind === 187 || - declaration.kind === 172 && declaration.parent.kind === 187) { - type = getUnionType(ts.map(symbol.declarations, function (decl) { return decl.kind === 187 ? - checkExpressionCached(decl.right) : - checkExpressionCached(decl.parent.right); })); + if (declaration.kind === 187) { + type = getUnionType(ts.map(symbol.declarations, function (decl) { return checkExpressionCached(decl.right); })); + } + else if (declaration.kind === 172) { + if (declaration.parent.kind === 187) { + type = checkExpressionCached(declaration.parent.right); + } } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -22873,7 +22853,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -24093,7 +24073,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (noUnusedIdentifiers && !node.body) { + if (!node.body) { checkUnusedTypeParameters(node); } } @@ -24989,7 +24969,6 @@ var ts; var parameter = local_1.valueDeclaration; if (compilerOptions.noUnusedParameters && !ts.isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && !parameterNameStartsWithUnderscore(parameter)) { error(local_1.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); } @@ -25005,9 +24984,6 @@ var ts; } } } - function parameterIsThisKeyword(parameter) { - return parameter.name && parameter.name.originalKeywordKind === 97; - } function parameterNameStartsWithUnderscore(parameter) { return parameter.name && parameter.name.kind === 69 && parameter.name.text.charCodeAt(0) === 95; } @@ -25036,14 +25012,9 @@ var ts; function checkUnusedTypeParameters(node) { if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) { if (node.typeParameters) { - var symbol = getSymbolOfNode(node); - var lastDeclaration = symbol && symbol.declarations && ts.lastOrUndefined(symbol.declarations); - if (lastDeclaration !== node) { - return; - } for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) { var typeParameter = _a[_i]; - if (!getMergedSymbol(typeParameter.symbol).isReferenced) { + if (!typeParameter.symbol.isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -26120,7 +26091,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - registerForUnusedIdentifiersCheck(node); + checkUnusedTypeParameters(node); } } function checkTypeAliasDeclaration(node) { @@ -30843,7 +30814,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); + write("//# sourceMappingURL=" + sourceMappingURL); } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, compilerOptions.emitBOM, sourceFiles); sourceMap.reset(); @@ -34493,13 +34464,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } if (decoratedClassAlias !== undefined) { - write("let " + decoratedClassAlias); + write("" + decoratedClassAlias); } else { - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } emitDeclarationName(node); } write(" = "); @@ -36743,7 +36714,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.1.0"; + ts.version = "2.0.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -36823,7 +36794,12 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); + if (ts.isRootedDiskPath(moduleName)) { + return false; + } + var i = moduleName.lastIndexOf("./", 1); + var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); + return !startsWithDotSlashOrDotDotSlash; } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -37479,22 +37455,6 @@ var ts; return ts.sortAndDeduplicateDiagnostics(diagnostics); } ts.getPreEmitDiagnostics = getPreEmitDiagnostics; - function formatDiagnostics(diagnostics, host) { - var output = ""; - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; - if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; - var fileName = diagnostic.file.fileName; - var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; - } - var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); - } - return output; - } - ts.formatDiagnostics = formatDiagnostics; function flattenDiagnosticMessageText(messageText, newLine) { if (typeof messageText === "string") { return messageText; @@ -37570,7 +37530,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesDepth = 0; + var currentNodeModulesJsDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -37794,7 +37754,8 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); + var _this = this; + return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -38201,17 +38162,8 @@ var ts; if (file_1 && options.forceConsistentCasingInFileNames && ts.getNormalizedAbsolutePath(file_1.fileName, currentDirectory) !== ts.getNormalizedAbsolutePath(fileName, currentDirectory)) { reportFileNamesDifferOnlyInCasingError(fileName, file_1.fileName, refFile, refPos, refEnd); } - if (file_1 && ts.lookUp(sourceFilesFoundSearchingNodeModules, file_1.path) && currentNodeModulesDepth == 0) { - sourceFilesFoundSearchingNodeModules[file_1.path] = false; - if (!options.noResolve) { - processReferencedFiles(file_1, ts.getDirectoryPath(fileName), isDefaultLib); - processTypeReferenceDirectives(file_1); - } - modulesWithElidedImports[file_1.path] = false; - processImportedModules(file_1, ts.getDirectoryPath(fileName)); - } - else if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesDepth < maxNodeModulesJsDepth) { + if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { + if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -38228,7 +38180,6 @@ var ts; }); filesByName.set(path, file); if (file) { - sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -38329,9 +38280,12 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - currentNodeModulesDepth++; + sourceFilesFoundSearchingNodeModules[resolvedPath] = true; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth++; + } + var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -38339,8 +38293,8 @@ var ts; else if (shouldAddFile) { findSourceFile(resolution.resolvedFileName, resolvedPath, false, false, file, ts.skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); } - if (isFromNodeModulesSearch) { - currentNodeModulesDepth--; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth--; } } } @@ -39933,7 +39887,7 @@ var ts; return createPatternMatch(PatternMatchKind.exact, punctuationStripped, candidate === chunk.text); } else { - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, ts.startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -40105,6 +40059,14 @@ var ts; var str = String.fromCharCode(ch); return str === str.toLowerCase(); } + function startsWith(string, search) { + for (var i = 0, n = search.length; i < n; i++) { + if (string.charCodeAt(i) !== search.charCodeAt(i)) { + return false; + } + } + return true; + } function indexOfIgnoringCase(string, value) { for (var i = 0, n = string.length - value.length; i <= n; i++) { if (startsWithIgnoringCase(string, value, i)) { @@ -41589,9 +41551,6 @@ var ts; } return false; } - function shouldRescanJsxText(node) { - return node && node.kind === 244; - } function shouldRescanSlashToken(container) { return container.kind === 10; } @@ -41619,9 +41578,7 @@ var ts; ? 3 : shouldRescanJsxIdentifier(n) ? 4 - : shouldRescanJsxText(n) - ? 5 - : 0; + : 0; if (lastTokenInfo && expectedScanAction === lastScanAction) { return fixTokenKind(lastTokenInfo, n); } @@ -41649,10 +41606,6 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4; } - else if (expectedScanAction === 5) { - currentToken = scanner.reScanJsxToken(); - lastScanAction = 5; - } else { lastScanAction = 0; } @@ -43901,20 +43854,19 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, parent) { - var node = kind >= 139 ? new NodeObject(kind, pos, end) : - kind === 69 ? new IdentifierObject(kind, pos, end) : - new TokenObject(kind, pos, end); + function createNode(kind, pos, end, flags, parent) { + var node = new NodeObject(kind, pos, end); + node.flags = flags; node.parent = parent; return node; } var NodeObject = (function () { function NodeObject(kind, pos, end) { + this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.parent = undefined; - this.kind = kind; } NodeObject.prototype.getSourceFile = function () { return ts.getSourceFileOfNode(this); @@ -43949,14 +43901,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, this)); + nodes.push(createNode(token, pos, textPos, 0, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282, nodes.pos, nodes.end, this); + var list = createNode(282, nodes.pos, nodes.end, 0, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -44041,73 +43993,6 @@ var ts; }; return NodeObject; }()); - var TokenOrIdentifierObject = (function () { - function TokenOrIdentifierObject(pos, end) { - this.pos = pos; - this.end = end; - this.flags = 0; - this.parent = undefined; - } - TokenOrIdentifierObject.prototype.getSourceFile = function () { - return ts.getSourceFileOfNode(this); - }; - TokenOrIdentifierObject.prototype.getStart = function (sourceFile, includeJsDocComment) { - return ts.getTokenPosOfNode(this, sourceFile, includeJsDocComment); - }; - TokenOrIdentifierObject.prototype.getFullStart = function () { - return this.pos; - }; - TokenOrIdentifierObject.prototype.getEnd = function () { - return this.end; - }; - TokenOrIdentifierObject.prototype.getWidth = function (sourceFile) { - return this.getEnd() - this.getStart(sourceFile); - }; - TokenOrIdentifierObject.prototype.getFullWidth = function () { - return this.end - this.pos; - }; - TokenOrIdentifierObject.prototype.getLeadingTriviaWidth = function (sourceFile) { - return this.getStart(sourceFile) - this.pos; - }; - TokenOrIdentifierObject.prototype.getFullText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.pos, this.end); - }; - TokenOrIdentifierObject.prototype.getText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.getStart(), this.getEnd()); - }; - TokenOrIdentifierObject.prototype.getChildCount = function (sourceFile) { - return 0; - }; - TokenOrIdentifierObject.prototype.getChildAt = function (index, sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getChildren = function (sourceFile) { - return emptyArray; - }; - TokenOrIdentifierObject.prototype.getFirstToken = function (sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getLastToken = function (sourceFile) { - return undefined; - }; - return TokenOrIdentifierObject; - }()); - var TokenObject = (function (_super) { - __extends(TokenObject, _super); - function TokenObject(kind, pos, end) { - _super.call(this, pos, end); - this.kind = kind; - } - return TokenObject; - }(TokenOrIdentifierObject)); - var IdentifierObject = (function (_super) { - __extends(IdentifierObject, _super); - function IdentifierObject(kind, pos, end) { - _super.call(this, pos, end); - } - return IdentifierObject; - }(TokenOrIdentifierObject)); - IdentifierObject.prototype.kind = 69; var SymbolObject = (function () { function SymbolObject(flags, name) { this.flags = flags; @@ -49788,8 +49673,6 @@ var ts; function initializeServices() { ts.objectAllocator = { getNodeConstructor: function () { return NodeObject; }, - getTokenConstructor: function () { return TokenObject; }, - getIdentifierConstructor: function () { return IdentifierObject; }, getSourceFileConstructor: function () { return SourceFileObject; }, getSymbolConstructor: function () { return SymbolObject; }, getTypeConstructor: function () { return TypeObject; }, @@ -50910,6 +50793,7 @@ var ts; if (isOpen === void 0) { isOpen = false; } this.host = host; this.fileName = fileName; + this.content = content; this.isOpen = isOpen; this.children = []; this.formatCodeOptions = ts.clone(CompilerService.getDefaultFormatCodeOptions(this.host)); @@ -52535,7 +52419,7 @@ var ts; done: false, leaf: function (relativeStart, relativeLength, ll) { if (!f(ll, relativeStart, relativeLength)) { - walkFns.done = true; + this.done = true; } } }; @@ -52951,7 +52835,7 @@ var ts; server.LineLeaf = LineLeaf; })(server = ts.server || (ts.server = {})); })(ts || (ts = {})); -var debugObjectHost = new Function("return this")(); +var debugObjectHost = this; var ts; (function (ts) { function logInternalError(logger, err) { @@ -53079,7 +52963,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return JSON.parse(this.shimHost.getDirectories(path)); + return this.shimHost.getDirectories(path); }; LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName = function (options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 92937fecf99..c322ba1dd0c 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -409,10 +409,7 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Token extends Node { - __tokenTag: any; - } - interface Modifier extends Token { + interface Modifier extends Node { } interface Identifier extends PrimaryExpression { text: string; @@ -1699,6 +1696,7 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; + getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -1844,6 +1842,8 @@ declare namespace ts { function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; function getTypeParameterOwner(d: Declaration): Declaration; function isParameterPropertyDeclaration(node: ParameterDeclaration): boolean; + function startsWith(str: string, prefix: string): boolean; + function endsWith(str: string, suffix: string): boolean; } declare namespace ts { function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; @@ -1868,12 +1868,6 @@ declare namespace ts { function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; - interface FormatDiagnosticsHost { - getCurrentDirectory(): string; - getCanonicalFileName(fileName: string): string; - getNewLine(): string; - } - function formatDiagnostics(diagnostics: Diagnostic[], host: FormatDiagnosticsHost): string; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; /** * Given a set of options and a set of root files, returns the set of type directive names diff --git a/lib/typescript.js b/lib/typescript.js index 41d3676a415..22cbe79129c 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -1756,19 +1756,10 @@ var ts; return true; } ts.containsPath = containsPath; - /* @internal */ - function startsWith(str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - } - ts.startsWith = startsWith; - /* @internal */ - function endsWith(str, suffix) { - var expectedPos = str.length - suffix.length; - return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; - } - ts.endsWith = endsWith; function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -2079,8 +2070,6 @@ var ts; } ts.objectAllocator = { getNodeConstructor: function () { return Node; }, - getTokenConstructor: function () { return Node; }, - getIdentifierConstructor: function () { return Node; }, getSourceFileConstructor: function () { return Node; }, getSymbolConstructor: function () { return Symbol; }, getTypeConstructor: function () { return Type; }, @@ -2227,7 +2216,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, /*useCaseSensitiveFileNames*/ false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - var wscriptSystem = { + return { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -2246,7 +2235,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!wscriptSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -2266,7 +2255,6 @@ var ts; } } }; - return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -2456,7 +2444,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1 /* Directory */); }); } - var nodeSystem = { + return { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -2512,7 +2500,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!nodeSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -2560,7 +2548,6 @@ var ts; return _fs.realpathSync(path); } }; - return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -3317,8 +3304,8 @@ var ts; Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." }, File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" }, _0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." }, - Report_errors_on_unused_locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_locals_6134", message: "Report errors on unused locals." }, - Report_errors_on_unused_parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_parameters_6135", message: "Report errors on unused parameters." }, + Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." }, + Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." }, The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: { code: 6136, category: ts.DiagnosticCategory.Message, key: "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", message: "The maximum dependency depth to search under node_modules and load JavaScript files" }, No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0: { code: 6137, category: ts.DiagnosticCategory.Message, key: "No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137", message: "No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'" }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." }, @@ -6166,7 +6153,7 @@ var ts; function isExternalModuleNameRelative(moduleName) { // TypeScript 1.0 spec (April 2014): 11.2.1 // An external module name is "relative" if the first term is "." or "..". - return /^\.\.?($|[\\/])/.test(moduleName); + return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7929,6 +7916,15 @@ var ts; return node.flags & 92 /* ParameterPropertyModifier */ && node.parent.kind === 148 /* Constructor */ && ts.isClassLike(node.parent.parent); } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; + function startsWith(str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + } + ts.startsWith = startsWith; + function endsWith(str, suffix) { + var expectedPos = str.length - suffix.length; + return str.indexOf(suffix, expectedPos) === expectedPos; + } + ts.endsWith = endsWith; })(ts || (ts = {})); /// /// @@ -7936,19 +7932,11 @@ var ts; (function (ts) { /* @internal */ ts.parseTime = 0; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { if (kind === 256 /* SourceFile */) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } - else if (kind === 69 /* Identifier */) { - return new (IdentifierConstructor || (IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor()))(kind, pos, end); - } - else if (kind < 139 /* FirstNode */) { - return new (TokenConstructor || (TokenConstructor = ts.objectAllocator.getTokenConstructor()))(kind, pos, end); - } else { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, pos, end); } @@ -8398,8 +8386,6 @@ var ts; var disallowInAndDecoratorContext = 4194304 /* DisallowInContext */ | 16777216 /* DecoratorContext */; // capture constructors in 'initializeState' to avoid null checks var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -8499,8 +8485,6 @@ var ts; } function initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind) { NodeConstructor = ts.objectAllocator.getNodeConstructor(); - TokenConstructor = ts.objectAllocator.getTokenConstructor(); - IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor(); SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor(); sourceText = _sourceText; syntaxCursor = _syntaxCursor; @@ -8871,9 +8855,7 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return kind >= 139 /* FirstNode */ ? new NodeConstructor(kind, pos, pos) : - kind === 69 /* Identifier */ ? new IdentifierConstructor(kind, pos, pos) : - new TokenConstructor(kind, pos, pos); + return new NodeConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -13542,9 +13524,6 @@ var ts; case 55 /* AtToken */: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); - if (!parentTagTerminated) { - resumePos = scanner.getStartPos(); - } } seenAsterisk = false; break; @@ -19012,24 +18991,22 @@ var ts; if (declaration.kind === 235 /* ExportAssignment */) { return links.type = checkExpression(declaration.expression); } - if (declaration.flags & 134217728 /* JavaScriptFile */ && declaration.kind === 280 /* JSDocPropertyTag */ && declaration.typeExpression) { - return links.type = getTypeFromTypeNode(declaration.typeExpression.type); - } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { return unknownType; } var type = undefined; - // Handle certain special assignment kinds, which happen to union across multiple declarations: - // * module.exports = expr - // * exports.p = expr - // * this.p = expr - // * className.prototype.method = expr - if (declaration.kind === 187 /* BinaryExpression */ || - declaration.kind === 172 /* PropertyAccessExpression */ && declaration.parent.kind === 187 /* BinaryExpression */) { - type = getUnionType(ts.map(symbol.declarations, function (decl) { return decl.kind === 187 /* BinaryExpression */ ? - checkExpressionCached(decl.right) : - checkExpressionCached(decl.parent.right); })); + // Handle module.exports = expr or this.p = expr + if (declaration.kind === 187 /* BinaryExpression */) { + type = getUnionType(ts.map(symbol.declarations, function (decl) { return checkExpressionCached(decl.right); })); + } + else if (declaration.kind === 172 /* PropertyAccessExpression */) { + // Declarations only exist for property access expressions for certain + // special assignment kinds + if (declaration.parent.kind === 187 /* BinaryExpression */) { + // Handle exports.p = expr or className.prototype.method = expr + type = checkExpressionCached(declaration.parent.right); + } } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); @@ -26784,7 +26761,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); + links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); } return links.inferredClassType; } @@ -28225,7 +28202,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (noUnusedIdentifiers && !node.body) { + if (!node.body) { checkUnusedTypeParameters(node); } } @@ -29364,7 +29341,6 @@ var ts; var parameter = local_1.valueDeclaration; if (compilerOptions.noUnusedParameters && !ts.isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && !parameterNameStartsWithUnderscore(parameter)) { error(local_1.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); } @@ -29380,9 +29356,6 @@ var ts; } } } - function parameterIsThisKeyword(parameter) { - return parameter.name && parameter.name.originalKeywordKind === 97 /* ThisKeyword */; - } function parameterNameStartsWithUnderscore(parameter) { return parameter.name && parameter.name.kind === 69 /* Identifier */ && parameter.name.text.charCodeAt(0) === 95 /* _ */; } @@ -29411,16 +29384,9 @@ var ts; function checkUnusedTypeParameters(node) { if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) { if (node.typeParameters) { - // Only report errors on the last declaration for the type parameter container; - // this ensures that all uses have been accounted for. - var symbol = getSymbolOfNode(node); - var lastDeclaration = symbol && symbol.declarations && ts.lastOrUndefined(symbol.declarations); - if (lastDeclaration !== node) { - return; - } for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) { var typeParameter = _a[_i]; - if (!getMergedSymbol(typeParameter.symbol).isReferenced) { + if (!typeParameter.symbol.isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -30753,7 +30719,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - registerForUnusedIdentifiersCheck(node); + checkUnusedTypeParameters(node); } } function checkTypeAliasDeclaration(node) { @@ -36017,7 +35983,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Sometimes tools can sometimes see this line as a source mapping url comment + write("//# sourceMappingURL=" + sourceMappingURL); } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM, sourceFiles); // reset the state @@ -37914,7 +37880,7 @@ var ts; * if we should also export the value after its it changed * - check if node is a source level declaration to emit it differently, * i.e non-exported variable statement 'var x = 1' is hoisted so - * when we emit variable statement 'var' should be dropped. + * we we emit variable statement 'var' should be dropped. */ function isSourceFileLevelDeclarationInSystemJsModule(node, isExported) { if (!node || !isCurrentFileSystemExternalModule()) { @@ -40381,13 +40347,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512 /* Default */) && decoratedClassAlias === undefined) { write("export "); } + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } if (decoratedClassAlias !== undefined) { - write("let " + decoratedClassAlias); + write("" + decoratedClassAlias); } else { - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } emitDeclarationName(node); } write(" = "); @@ -40406,9 +40372,7 @@ var ts; // // We'll emit: // - // let C_1 = class C{}; - // C_1.a = 1; - // C_1.b = 2; // so forth and so on + // (_temp = class C { ... }, _temp.a = 1, _temp.b = 2, _temp) // // This keeps the expression as an expression, while ensuring that the static parts // of it have been initialized by the time it is used. @@ -42972,7 +42936,7 @@ var ts; /* @internal */ ts.ioReadTime = 0; /* @internal */ ts.ioWriteTime = 0; /** The version of the TypeScript compiler release */ - ts.version = "2.1.0"; + ts.version = "2.0.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -43061,7 +43025,12 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); + if (ts.isRootedDiskPath(moduleName)) { + return false; + } + var i = moduleName.lastIndexOf("./", 1); + var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46 /* dot */); + return !startsWithDotSlashOrDotDotSlash; } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -43828,22 +43797,6 @@ var ts; return ts.sortAndDeduplicateDiagnostics(diagnostics); } ts.getPreEmitDiagnostics = getPreEmitDiagnostics; - function formatDiagnostics(diagnostics, host) { - var output = ""; - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; - if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; - var fileName = diagnostic.file.fileName; - var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; - } - var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); - } - return output; - } - ts.formatDiagnostics = formatDiagnostics; function flattenDiagnosticMessageText(messageText, newLine) { if (typeof messageText === "string") { return messageText; @@ -43936,11 +43889,11 @@ var ts; // As all these operations happen - and are nested - within the createProgram call, they close over the below variables. // The current resolution depth is tracked by incrementing/decrementing as the depth first search progresses. var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesDepth = 0; + var currentNodeModulesJsDepth = 0; // If a module has some of its imports skipped due to being at the depth limit under node_modules, then track // this, as it may be imported at a shallower depth later, and then it will need its skipped imports processed. var modulesWithElidedImports = {}; - // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. + // Track source files that are JavaScript files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); host = host || createCompilerHost(options); @@ -44197,7 +44150,8 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); + var _this = this; + return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -44649,19 +44603,9 @@ var ts; if (file_1 && options.forceConsistentCasingInFileNames && ts.getNormalizedAbsolutePath(file_1.fileName, currentDirectory) !== ts.getNormalizedAbsolutePath(fileName, currentDirectory)) { reportFileNamesDifferOnlyInCasingError(fileName, file_1.fileName, refFile, refPos, refEnd); } - // If the file was previously found via a node_modules search, but is now being processed as a root file, - // then everything it sucks in may also be marked incorrectly, and needs to be checked again. - if (file_1 && ts.lookUp(sourceFilesFoundSearchingNodeModules, file_1.path) && currentNodeModulesDepth == 0) { - sourceFilesFoundSearchingNodeModules[file_1.path] = false; - if (!options.noResolve) { - processReferencedFiles(file_1, ts.getDirectoryPath(fileName), isDefaultLib); - processTypeReferenceDirectives(file_1); - } - modulesWithElidedImports[file_1.path] = false; - processImportedModules(file_1, ts.getDirectoryPath(fileName)); - } - else if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesDepth < maxNodeModulesJsDepth) { + // See if we need to reprocess the imports due to prior skipped imports + if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { + if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -44679,7 +44623,6 @@ var ts; }); filesByName.set(path, file); if (file) { - sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { // for case-sensitive file systems check if we've already seen some file with similar filename ignoring case @@ -44794,9 +44737,12 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - currentNodeModulesDepth++; + sourceFilesFoundSearchingNodeModules[resolvedPath] = true; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth++; + } + var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -44805,8 +44751,8 @@ var ts; findSourceFile(resolution.resolvedFileName, resolvedPath, /*isDefaultLib*/ false, /*isReference*/ false, file, ts.skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); } - if (isFromNodeModulesSearch) { - currentNodeModulesDepth--; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth--; } } } @@ -45144,12 +45090,12 @@ var ts; { name: "noUnusedLocals", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_locals + description: ts.Diagnostics.Report_Errors_on_Unused_Locals }, { name: "noUnusedParameters", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_parameters + description: ts.Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", @@ -47141,7 +47087,7 @@ var ts; else { // b) Check if the part is a prefix of the candidate, in a case insensitive or sensitive // manner. If it does, return that there was a prefix match. - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ ts.startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -47407,6 +47353,14 @@ var ts; var str = String.fromCharCode(ch); return str === str.toLowerCase(); } + function startsWith(string, search) { + for (var i = 0, n = search.length; i < n; i++) { + if (string.charCodeAt(i) !== search.charCodeAt(i)) { + return false; + } + } + return true; + } // Assumes 'value' is already lowercase. function indexOfIgnoringCase(string, value) { for (var i = 0, n = string.length - value.length; i <= n; i++) { @@ -49251,7 +49205,6 @@ var ts; ScanAction[ScanAction["RescanSlashToken"] = 2] = "RescanSlashToken"; ScanAction[ScanAction["RescanTemplateToken"] = 3] = "RescanTemplateToken"; ScanAction[ScanAction["RescanJsxIdentifier"] = 4] = "RescanJsxIdentifier"; - ScanAction[ScanAction["RescanJsxText"] = 5] = "RescanJsxText"; })(ScanAction || (ScanAction = {})); function getFormattingScanner(sourceFile, startPos, endPos) { ts.Debug.assert(scanner === undefined); @@ -49343,9 +49296,6 @@ var ts; } return false; } - function shouldRescanJsxText(node) { - return node && node.kind === 244 /* JsxText */; - } function shouldRescanSlashToken(container) { return container.kind === 10 /* RegularExpressionLiteral */; } @@ -49376,9 +49326,7 @@ var ts; ? 3 /* RescanTemplateToken */ : shouldRescanJsxIdentifier(n) ? 4 /* RescanJsxIdentifier */ - : shouldRescanJsxText(n) - ? 5 /* RescanJsxText */ - : 0 /* Scan */; + : 0 /* Scan */; if (lastTokenInfo && expectedScanAction === lastScanAction) { // readTokenInfo was called before with the same expected scan action. // No need to re-scan text, return existing 'lastTokenInfo' @@ -49413,10 +49361,6 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4 /* RescanJsxIdentifier */; } - else if (expectedScanAction === 5 /* RescanJsxText */) { - currentToken = scanner.reScanJsxToken(); - lastScanAction = 5 /* RescanJsxText */; - } else { lastScanAction = 0 /* Scan */; } @@ -52089,20 +52033,19 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, parent) { - var node = kind >= 139 /* FirstNode */ ? new NodeObject(kind, pos, end) : - kind === 69 /* Identifier */ ? new IdentifierObject(kind, pos, end) : - new TokenObject(kind, pos, end); + function createNode(kind, pos, end, flags, parent) { + var node = new NodeObject(kind, pos, end); + node.flags = flags; node.parent = parent; return node; } var NodeObject = (function () { function NodeObject(kind, pos, end) { + this.kind = kind; this.pos = pos; this.end = end; this.flags = 0 /* None */; this.parent = undefined; - this.kind = kind; } NodeObject.prototype.getSourceFile = function () { return ts.getSourceFileOfNode(this); @@ -52137,14 +52080,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, this)); + nodes.push(createNode(token, pos, textPos, 0, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, this); + var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, 0, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -52230,74 +52173,6 @@ var ts; }; return NodeObject; }()); - var TokenOrIdentifierObject = (function () { - function TokenOrIdentifierObject(pos, end) { - // Set properties in same order as NodeObject - this.pos = pos; - this.end = end; - this.flags = 0 /* None */; - this.parent = undefined; - } - TokenOrIdentifierObject.prototype.getSourceFile = function () { - return ts.getSourceFileOfNode(this); - }; - TokenOrIdentifierObject.prototype.getStart = function (sourceFile, includeJsDocComment) { - return ts.getTokenPosOfNode(this, sourceFile, includeJsDocComment); - }; - TokenOrIdentifierObject.prototype.getFullStart = function () { - return this.pos; - }; - TokenOrIdentifierObject.prototype.getEnd = function () { - return this.end; - }; - TokenOrIdentifierObject.prototype.getWidth = function (sourceFile) { - return this.getEnd() - this.getStart(sourceFile); - }; - TokenOrIdentifierObject.prototype.getFullWidth = function () { - return this.end - this.pos; - }; - TokenOrIdentifierObject.prototype.getLeadingTriviaWidth = function (sourceFile) { - return this.getStart(sourceFile) - this.pos; - }; - TokenOrIdentifierObject.prototype.getFullText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.pos, this.end); - }; - TokenOrIdentifierObject.prototype.getText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.getStart(), this.getEnd()); - }; - TokenOrIdentifierObject.prototype.getChildCount = function (sourceFile) { - return 0; - }; - TokenOrIdentifierObject.prototype.getChildAt = function (index, sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getChildren = function (sourceFile) { - return emptyArray; - }; - TokenOrIdentifierObject.prototype.getFirstToken = function (sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getLastToken = function (sourceFile) { - return undefined; - }; - return TokenOrIdentifierObject; - }()); - var TokenObject = (function (_super) { - __extends(TokenObject, _super); - function TokenObject(kind, pos, end) { - _super.call(this, pos, end); - this.kind = kind; - } - return TokenObject; - }(TokenOrIdentifierObject)); - var IdentifierObject = (function (_super) { - __extends(IdentifierObject, _super); - function IdentifierObject(kind, pos, end) { - _super.call(this, pos, end); - } - return IdentifierObject; - }(TokenOrIdentifierObject)); - IdentifierObject.prototype.kind = 69 /* Identifier */; var SymbolObject = (function () { function SymbolObject(flags, name) { this.flags = flags; @@ -59062,8 +58937,6 @@ var ts; function initializeServices() { ts.objectAllocator = { getNodeConstructor: function () { return NodeObject; }, - getTokenConstructor: function () { return TokenObject; }, - getIdentifierConstructor: function () { return IdentifierObject; }, getSourceFileConstructor: function () { return SourceFileObject; }, getSymbolConstructor: function () { return SymbolObject; }, getTypeConstructor: function () { return TypeObject; }, @@ -59689,7 +59562,7 @@ var ts; // /// /* @internal */ -var debugObjectHost = new Function("return this")(); +var debugObjectHost = this; // We need to use 'null' to interface with the managed side. /* tslint:disable:no-null-keyword */ /* tslint:disable:no-in-operator */ @@ -59828,7 +59701,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return JSON.parse(this.shimHost.getDirectories(path)); + return this.shimHost.getDirectories(path); }; LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName = function (options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); diff --git a/lib/typescriptServices.d.ts b/lib/typescriptServices.d.ts index a14277d920b..4ffdd868f16 100644 --- a/lib/typescriptServices.d.ts +++ b/lib/typescriptServices.d.ts @@ -409,10 +409,7 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Token extends Node { - __tokenTag: any; - } - interface Modifier extends Token { + interface Modifier extends Node { } interface Identifier extends PrimaryExpression { text: string; @@ -1699,6 +1696,7 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; + getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -1844,6 +1842,8 @@ declare namespace ts { function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; function getTypeParameterOwner(d: Declaration): Declaration; function isParameterPropertyDeclaration(node: ParameterDeclaration): boolean; + function startsWith(str: string, prefix: string): boolean; + function endsWith(str: string, suffix: string): boolean; } declare namespace ts { function createNode(kind: SyntaxKind, pos?: number, end?: number): Node; @@ -1868,12 +1868,6 @@ declare namespace ts { function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations; function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost; function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; - interface FormatDiagnosticsHost { - getCurrentDirectory(): string; - getCanonicalFileName(fileName: string): string; - getNewLine(): string; - } - function formatDiagnostics(diagnostics: Diagnostic[], host: FormatDiagnosticsHost): string; function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; /** * Given a set of options and a set of root files, returns the set of type directive names diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index 41d3676a415..22cbe79129c 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -1756,19 +1756,10 @@ var ts; return true; } ts.containsPath = containsPath; - /* @internal */ - function startsWith(str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - } - ts.startsWith = startsWith; - /* @internal */ - function endsWith(str, suffix) { - var expectedPos = str.length - suffix.length; - return expectedPos >= 0 && str.indexOf(suffix, expectedPos) === expectedPos; - } - ts.endsWith = endsWith; function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -2079,8 +2070,6 @@ var ts; } ts.objectAllocator = { getNodeConstructor: function () { return Node; }, - getTokenConstructor: function () { return Node; }, - getIdentifierConstructor: function () { return Node; }, getSourceFileConstructor: function () { return Node; }, getSymbolConstructor: function () { return Symbol; }, getTypeConstructor: function () { return Type; }, @@ -2227,7 +2216,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, /*useCaseSensitiveFileNames*/ false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - var wscriptSystem = { + return { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -2246,7 +2235,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!wscriptSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -2266,7 +2255,6 @@ var ts; } } }; - return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -2456,7 +2444,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1 /* Directory */); }); } - var nodeSystem = { + return { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -2512,7 +2500,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!nodeSystem.directoryExists(directoryName)) { + if (!this.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -2560,7 +2548,6 @@ var ts; return _fs.realpathSync(path); } }; - return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -3317,8 +3304,8 @@ var ts; Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." }, File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" }, _0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." }, - Report_errors_on_unused_locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_locals_6134", message: "Report errors on unused locals." }, - Report_errors_on_unused_parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_errors_on_unused_parameters_6135", message: "Report errors on unused parameters." }, + Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." }, + Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." }, The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: { code: 6136, category: ts.DiagnosticCategory.Message, key: "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", message: "The maximum dependency depth to search under node_modules and load JavaScript files" }, No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0: { code: 6137, category: ts.DiagnosticCategory.Message, key: "No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137", message: "No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'" }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." }, @@ -6166,7 +6153,7 @@ var ts; function isExternalModuleNameRelative(moduleName) { // TypeScript 1.0 spec (April 2014): 11.2.1 // An external module name is "relative" if the first term is "." or "..". - return /^\.\.?($|[\\/])/.test(moduleName); + return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7929,6 +7916,15 @@ var ts; return node.flags & 92 /* ParameterPropertyModifier */ && node.parent.kind === 148 /* Constructor */ && ts.isClassLike(node.parent.parent); } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; + function startsWith(str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + } + ts.startsWith = startsWith; + function endsWith(str, suffix) { + var expectedPos = str.length - suffix.length; + return str.indexOf(suffix, expectedPos) === expectedPos; + } + ts.endsWith = endsWith; })(ts || (ts = {})); /// /// @@ -7936,19 +7932,11 @@ var ts; (function (ts) { /* @internal */ ts.parseTime = 0; var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; function createNode(kind, pos, end) { if (kind === 256 /* SourceFile */) { return new (SourceFileConstructor || (SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor()))(kind, pos, end); } - else if (kind === 69 /* Identifier */) { - return new (IdentifierConstructor || (IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor()))(kind, pos, end); - } - else if (kind < 139 /* FirstNode */) { - return new (TokenConstructor || (TokenConstructor = ts.objectAllocator.getTokenConstructor()))(kind, pos, end); - } else { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, pos, end); } @@ -8398,8 +8386,6 @@ var ts; var disallowInAndDecoratorContext = 4194304 /* DisallowInContext */ | 16777216 /* DecoratorContext */; // capture constructors in 'initializeState' to avoid null checks var NodeConstructor; - var TokenConstructor; - var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -8499,8 +8485,6 @@ var ts; } function initializeState(fileName, _sourceText, languageVersion, _syntaxCursor, scriptKind) { NodeConstructor = ts.objectAllocator.getNodeConstructor(); - TokenConstructor = ts.objectAllocator.getTokenConstructor(); - IdentifierConstructor = ts.objectAllocator.getIdentifierConstructor(); SourceFileConstructor = ts.objectAllocator.getSourceFileConstructor(); sourceText = _sourceText; syntaxCursor = _syntaxCursor; @@ -8871,9 +8855,7 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return kind >= 139 /* FirstNode */ ? new NodeConstructor(kind, pos, pos) : - kind === 69 /* Identifier */ ? new IdentifierConstructor(kind, pos, pos) : - new TokenConstructor(kind, pos, pos); + return new NodeConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -13542,9 +13524,6 @@ var ts; case 55 /* AtToken */: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); - if (!parentTagTerminated) { - resumePos = scanner.getStartPos(); - } } seenAsterisk = false; break; @@ -19012,24 +18991,22 @@ var ts; if (declaration.kind === 235 /* ExportAssignment */) { return links.type = checkExpression(declaration.expression); } - if (declaration.flags & 134217728 /* JavaScriptFile */ && declaration.kind === 280 /* JSDocPropertyTag */ && declaration.typeExpression) { - return links.type = getTypeFromTypeNode(declaration.typeExpression.type); - } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { return unknownType; } var type = undefined; - // Handle certain special assignment kinds, which happen to union across multiple declarations: - // * module.exports = expr - // * exports.p = expr - // * this.p = expr - // * className.prototype.method = expr - if (declaration.kind === 187 /* BinaryExpression */ || - declaration.kind === 172 /* PropertyAccessExpression */ && declaration.parent.kind === 187 /* BinaryExpression */) { - type = getUnionType(ts.map(symbol.declarations, function (decl) { return decl.kind === 187 /* BinaryExpression */ ? - checkExpressionCached(decl.right) : - checkExpressionCached(decl.parent.right); })); + // Handle module.exports = expr or this.p = expr + if (declaration.kind === 187 /* BinaryExpression */) { + type = getUnionType(ts.map(symbol.declarations, function (decl) { return checkExpressionCached(decl.right); })); + } + else if (declaration.kind === 172 /* PropertyAccessExpression */) { + // Declarations only exist for property access expressions for certain + // special assignment kinds + if (declaration.parent.kind === 187 /* BinaryExpression */) { + // Handle exports.p = expr or className.prototype.method = expr + type = checkExpressionCached(declaration.parent.right); + } } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); @@ -26784,7 +26761,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); + links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); } return links.inferredClassType; } @@ -28225,7 +28202,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (noUnusedIdentifiers && !node.body) { + if (!node.body) { checkUnusedTypeParameters(node); } } @@ -29364,7 +29341,6 @@ var ts; var parameter = local_1.valueDeclaration; if (compilerOptions.noUnusedParameters && !ts.isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && !parameterNameStartsWithUnderscore(parameter)) { error(local_1.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); } @@ -29380,9 +29356,6 @@ var ts; } } } - function parameterIsThisKeyword(parameter) { - return parameter.name && parameter.name.originalKeywordKind === 97 /* ThisKeyword */; - } function parameterNameStartsWithUnderscore(parameter) { return parameter.name && parameter.name.kind === 69 /* Identifier */ && parameter.name.text.charCodeAt(0) === 95 /* _ */; } @@ -29411,16 +29384,9 @@ var ts; function checkUnusedTypeParameters(node) { if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) { if (node.typeParameters) { - // Only report errors on the last declaration for the type parameter container; - // this ensures that all uses have been accounted for. - var symbol = getSymbolOfNode(node); - var lastDeclaration = symbol && symbol.declarations && ts.lastOrUndefined(symbol.declarations); - if (lastDeclaration !== node) { - return; - } for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) { var typeParameter = _a[_i]; - if (!getMergedSymbol(typeParameter.symbol).isReferenced) { + if (!typeParameter.symbol.isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -30753,7 +30719,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - registerForUnusedIdentifiersCheck(node); + checkUnusedTypeParameters(node); } } function checkTypeAliasDeclaration(node) { @@ -36017,7 +35983,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Sometimes tools can sometimes see this line as a source mapping url comment + write("//# sourceMappingURL=" + sourceMappingURL); } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM, sourceFiles); // reset the state @@ -37914,7 +37880,7 @@ var ts; * if we should also export the value after its it changed * - check if node is a source level declaration to emit it differently, * i.e non-exported variable statement 'var x = 1' is hoisted so - * when we emit variable statement 'var' should be dropped. + * we we emit variable statement 'var' should be dropped. */ function isSourceFileLevelDeclarationInSystemJsModule(node, isExported) { if (!node || !isCurrentFileSystemExternalModule()) { @@ -40381,13 +40347,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512 /* Default */) && decoratedClassAlias === undefined) { write("export "); } + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } if (decoratedClassAlias !== undefined) { - write("let " + decoratedClassAlias); + write("" + decoratedClassAlias); } else { - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } emitDeclarationName(node); } write(" = "); @@ -40406,9 +40372,7 @@ var ts; // // We'll emit: // - // let C_1 = class C{}; - // C_1.a = 1; - // C_1.b = 2; // so forth and so on + // (_temp = class C { ... }, _temp.a = 1, _temp.b = 2, _temp) // // This keeps the expression as an expression, while ensuring that the static parts // of it have been initialized by the time it is used. @@ -42972,7 +42936,7 @@ var ts; /* @internal */ ts.ioReadTime = 0; /* @internal */ ts.ioWriteTime = 0; /** The version of the TypeScript compiler release */ - ts.version = "2.1.0"; + ts.version = "2.0.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -43061,7 +43025,12 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); + if (ts.isRootedDiskPath(moduleName)) { + return false; + } + var i = moduleName.lastIndexOf("./", 1); + var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46 /* dot */); + return !startsWithDotSlashOrDotDotSlash; } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -43828,22 +43797,6 @@ var ts; return ts.sortAndDeduplicateDiagnostics(diagnostics); } ts.getPreEmitDiagnostics = getPreEmitDiagnostics; - function formatDiagnostics(diagnostics, host) { - var output = ""; - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; - if (diagnostic.file) { - var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; - var fileName = diagnostic.file.fileName; - var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - output += relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): "; - } - var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); - } - return output; - } - ts.formatDiagnostics = formatDiagnostics; function flattenDiagnosticMessageText(messageText, newLine) { if (typeof messageText === "string") { return messageText; @@ -43936,11 +43889,11 @@ var ts; // As all these operations happen - and are nested - within the createProgram call, they close over the below variables. // The current resolution depth is tracked by incrementing/decrementing as the depth first search progresses. var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesDepth = 0; + var currentNodeModulesJsDepth = 0; // If a module has some of its imports skipped due to being at the depth limit under node_modules, then track // this, as it may be imported at a shallower depth later, and then it will need its skipped imports processed. var modulesWithElidedImports = {}; - // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. + // Track source files that are JavaScript files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); host = host || createCompilerHost(options); @@ -44197,7 +44150,8 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); + var _this = this; + return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -44649,19 +44603,9 @@ var ts; if (file_1 && options.forceConsistentCasingInFileNames && ts.getNormalizedAbsolutePath(file_1.fileName, currentDirectory) !== ts.getNormalizedAbsolutePath(fileName, currentDirectory)) { reportFileNamesDifferOnlyInCasingError(fileName, file_1.fileName, refFile, refPos, refEnd); } - // If the file was previously found via a node_modules search, but is now being processed as a root file, - // then everything it sucks in may also be marked incorrectly, and needs to be checked again. - if (file_1 && ts.lookUp(sourceFilesFoundSearchingNodeModules, file_1.path) && currentNodeModulesDepth == 0) { - sourceFilesFoundSearchingNodeModules[file_1.path] = false; - if (!options.noResolve) { - processReferencedFiles(file_1, ts.getDirectoryPath(fileName), isDefaultLib); - processTypeReferenceDirectives(file_1); - } - modulesWithElidedImports[file_1.path] = false; - processImportedModules(file_1, ts.getDirectoryPath(fileName)); - } - else if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesDepth < maxNodeModulesJsDepth) { + // See if we need to reprocess the imports due to prior skipped imports + if (file_1 && ts.lookUp(modulesWithElidedImports, file_1.path)) { + if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -44679,7 +44623,6 @@ var ts; }); filesByName.set(path, file); if (file) { - sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { // for case-sensitive file systems check if we've already seen some file with similar filename ignoring case @@ -44794,9 +44737,12 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - currentNodeModulesDepth++; + sourceFilesFoundSearchingNodeModules[resolvedPath] = true; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth++; + } + var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -44805,8 +44751,8 @@ var ts; findSourceFile(resolution.resolvedFileName, resolvedPath, /*isDefaultLib*/ false, /*isReference*/ false, file, ts.skipTrivia(file.text, file.imports[i].pos), file.imports[i].end); } - if (isFromNodeModulesSearch) { - currentNodeModulesDepth--; + if (isJsFileFromNodeModules) { + currentNodeModulesJsDepth--; } } } @@ -45144,12 +45090,12 @@ var ts; { name: "noUnusedLocals", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_locals + description: ts.Diagnostics.Report_Errors_on_Unused_Locals }, { name: "noUnusedParameters", type: "boolean", - description: ts.Diagnostics.Report_errors_on_unused_parameters + description: ts.Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", @@ -47141,7 +47087,7 @@ var ts; else { // b) Check if the part is a prefix of the candidate, in a case insensitive or sensitive // manner. If it does, return that there was a prefix match. - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ ts.startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -47407,6 +47353,14 @@ var ts; var str = String.fromCharCode(ch); return str === str.toLowerCase(); } + function startsWith(string, search) { + for (var i = 0, n = search.length; i < n; i++) { + if (string.charCodeAt(i) !== search.charCodeAt(i)) { + return false; + } + } + return true; + } // Assumes 'value' is already lowercase. function indexOfIgnoringCase(string, value) { for (var i = 0, n = string.length - value.length; i <= n; i++) { @@ -49251,7 +49205,6 @@ var ts; ScanAction[ScanAction["RescanSlashToken"] = 2] = "RescanSlashToken"; ScanAction[ScanAction["RescanTemplateToken"] = 3] = "RescanTemplateToken"; ScanAction[ScanAction["RescanJsxIdentifier"] = 4] = "RescanJsxIdentifier"; - ScanAction[ScanAction["RescanJsxText"] = 5] = "RescanJsxText"; })(ScanAction || (ScanAction = {})); function getFormattingScanner(sourceFile, startPos, endPos) { ts.Debug.assert(scanner === undefined); @@ -49343,9 +49296,6 @@ var ts; } return false; } - function shouldRescanJsxText(node) { - return node && node.kind === 244 /* JsxText */; - } function shouldRescanSlashToken(container) { return container.kind === 10 /* RegularExpressionLiteral */; } @@ -49376,9 +49326,7 @@ var ts; ? 3 /* RescanTemplateToken */ : shouldRescanJsxIdentifier(n) ? 4 /* RescanJsxIdentifier */ - : shouldRescanJsxText(n) - ? 5 /* RescanJsxText */ - : 0 /* Scan */; + : 0 /* Scan */; if (lastTokenInfo && expectedScanAction === lastScanAction) { // readTokenInfo was called before with the same expected scan action. // No need to re-scan text, return existing 'lastTokenInfo' @@ -49413,10 +49361,6 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4 /* RescanJsxIdentifier */; } - else if (expectedScanAction === 5 /* RescanJsxText */) { - currentToken = scanner.reScanJsxToken(); - lastScanAction = 5 /* RescanJsxText */; - } else { lastScanAction = 0 /* Scan */; } @@ -52089,20 +52033,19 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, parent) { - var node = kind >= 139 /* FirstNode */ ? new NodeObject(kind, pos, end) : - kind === 69 /* Identifier */ ? new IdentifierObject(kind, pos, end) : - new TokenObject(kind, pos, end); + function createNode(kind, pos, end, flags, parent) { + var node = new NodeObject(kind, pos, end); + node.flags = flags; node.parent = parent; return node; } var NodeObject = (function () { function NodeObject(kind, pos, end) { + this.kind = kind; this.pos = pos; this.end = end; this.flags = 0 /* None */; this.parent = undefined; - this.kind = kind; } NodeObject.prototype.getSourceFile = function () { return ts.getSourceFileOfNode(this); @@ -52137,14 +52080,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, this)); + nodes.push(createNode(token, pos, textPos, 0, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, this); + var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, 0, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -52230,74 +52173,6 @@ var ts; }; return NodeObject; }()); - var TokenOrIdentifierObject = (function () { - function TokenOrIdentifierObject(pos, end) { - // Set properties in same order as NodeObject - this.pos = pos; - this.end = end; - this.flags = 0 /* None */; - this.parent = undefined; - } - TokenOrIdentifierObject.prototype.getSourceFile = function () { - return ts.getSourceFileOfNode(this); - }; - TokenOrIdentifierObject.prototype.getStart = function (sourceFile, includeJsDocComment) { - return ts.getTokenPosOfNode(this, sourceFile, includeJsDocComment); - }; - TokenOrIdentifierObject.prototype.getFullStart = function () { - return this.pos; - }; - TokenOrIdentifierObject.prototype.getEnd = function () { - return this.end; - }; - TokenOrIdentifierObject.prototype.getWidth = function (sourceFile) { - return this.getEnd() - this.getStart(sourceFile); - }; - TokenOrIdentifierObject.prototype.getFullWidth = function () { - return this.end - this.pos; - }; - TokenOrIdentifierObject.prototype.getLeadingTriviaWidth = function (sourceFile) { - return this.getStart(sourceFile) - this.pos; - }; - TokenOrIdentifierObject.prototype.getFullText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.pos, this.end); - }; - TokenOrIdentifierObject.prototype.getText = function (sourceFile) { - return (sourceFile || this.getSourceFile()).text.substring(this.getStart(), this.getEnd()); - }; - TokenOrIdentifierObject.prototype.getChildCount = function (sourceFile) { - return 0; - }; - TokenOrIdentifierObject.prototype.getChildAt = function (index, sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getChildren = function (sourceFile) { - return emptyArray; - }; - TokenOrIdentifierObject.prototype.getFirstToken = function (sourceFile) { - return undefined; - }; - TokenOrIdentifierObject.prototype.getLastToken = function (sourceFile) { - return undefined; - }; - return TokenOrIdentifierObject; - }()); - var TokenObject = (function (_super) { - __extends(TokenObject, _super); - function TokenObject(kind, pos, end) { - _super.call(this, pos, end); - this.kind = kind; - } - return TokenObject; - }(TokenOrIdentifierObject)); - var IdentifierObject = (function (_super) { - __extends(IdentifierObject, _super); - function IdentifierObject(kind, pos, end) { - _super.call(this, pos, end); - } - return IdentifierObject; - }(TokenOrIdentifierObject)); - IdentifierObject.prototype.kind = 69 /* Identifier */; var SymbolObject = (function () { function SymbolObject(flags, name) { this.flags = flags; @@ -59062,8 +58937,6 @@ var ts; function initializeServices() { ts.objectAllocator = { getNodeConstructor: function () { return NodeObject; }, - getTokenConstructor: function () { return TokenObject; }, - getIdentifierConstructor: function () { return IdentifierObject; }, getSourceFileConstructor: function () { return SourceFileObject; }, getSymbolConstructor: function () { return SymbolObject; }, getTypeConstructor: function () { return TypeObject; }, @@ -59689,7 +59562,7 @@ var ts; // /// /* @internal */ -var debugObjectHost = new Function("return this")(); +var debugObjectHost = this; // We need to use 'null' to interface with the managed side. /* tslint:disable:no-null-keyword */ /* tslint:disable:no-in-operator */ @@ -59828,7 +59701,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return JSON.parse(this.shimHost.getDirectories(path)); + return this.shimHost.getDirectories(path); }; LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName = function (options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); diff --git a/package.json b/package.json index 5606a423a0e..1f943f89788 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ }, "devDependencies": { "@types/browserify": "latest", - "@types/convert-source-map": "latest", "@types/chai": "latest", + "@types/convert-source-map": "latest", "@types/del": "latest", "@types/glob": "latest", "@types/gulp": "latest", @@ -69,16 +69,19 @@ "mkdirp": "latest", "mocha": "latest", "mocha-fivemat-progress-reporter": "latest", + "q": "latest", "run-sequence": "latest", "sorcery": "latest", "through2": "latest", + "travis-fold": "latest", "ts-node": "latest", + "tsd": "latest", "tslint": "next", "typescript": "next" }, "scripts": { "pretest": "jake tests", - "test": "jake runtests", + "test": "jake runtests-parallel", "build": "npm run build:compiler && npm run build:tests", "build:compiler": "jake local", "build:tests": "jake tests", diff --git a/scripts/browserify-optional.js b/scripts/browserify-optional.js new file mode 100644 index 00000000000..43997c7803c --- /dev/null +++ b/scripts/browserify-optional.js @@ -0,0 +1,24 @@ +// simple script to optionally elide source-map-support (or other optional modules) when running browserify. + +var stream = require("stream"), + Transform = stream.Transform, + resolve = require("browser-resolve"); + +var requirePattern = /require\s*\(\s*['"](source-map-support)['"]\s*\)/; +module.exports = function (file) { + return new Transform({ + transform: function (data, encoding, cb) { + var text = encoding === "buffer" ? data.toString("utf8") : data; + this.push(new Buffer(text.replace(requirePattern, function (originalText, moduleName) { + try { + resolve.sync(moduleName, { filename: file }); + return originalText; + } + catch (e) { + return "(function () { throw new Error(\"module '" + moduleName + "' not found.\"); })()"; + } + }), "utf8")); + cb(); + } + }); +}; \ No newline at end of file diff --git a/scripts/ior.ts b/scripts/ior.ts index eb67e62a275..91580203350 100644 --- a/scripts/ior.ts +++ b/scripts/ior.ts @@ -1,4 +1,4 @@ -/// +/// import fs = require('fs'); import path = require('path'); diff --git a/scripts/parallel-lint.js b/scripts/parallel-lint.js new file mode 100644 index 00000000000..a9aec06c2df --- /dev/null +++ b/scripts/parallel-lint.js @@ -0,0 +1,45 @@ +var Linter = require("tslint"); +var fs = require("fs"); + +function getLinterOptions() { + return { + configuration: require("../tslint.json"), + formatter: "prose", + formattersDirectory: undefined, + rulesDirectory: "built/local/tslint" + }; +} + +function lintFileContents(options, path, contents) { + var ll = new Linter(path, contents, options); + return ll.lint(); +} + +function lintFileAsync(options, path, cb) { + fs.readFile(path, "utf8", function (err, contents) { + if (err) { + return cb(err); + } + var result = lintFileContents(options, path, contents); + cb(undefined, result); + }); +} + +process.on("message", function (data) { + switch (data.kind) { + case "file": + var target = data.name; + var lintOptions = getLinterOptions(); + lintFileAsync(lintOptions, target, function (err, result) { + if (err) { + process.send({ kind: "error", error: err.toString() }); + return; + } + process.send({ kind: "result", failures: result.failureCount, output: result.output }); + }); + break; + case "close": + process.exit(0); + break; + } +}); \ No newline at end of file diff --git a/scripts/processDiagnosticMessages.ts b/scripts/processDiagnosticMessages.ts index 26632ba6bab..431cf460180 100644 --- a/scripts/processDiagnosticMessages.ts +++ b/scripts/processDiagnosticMessages.ts @@ -69,7 +69,7 @@ function checkForUniqueCodes(messages: string[], diagnosticTable: InputDiagnosti } function buildUniqueNameMap(names: string[]): ts.Map { - var nameMap: ts.Map = {}; + var nameMap = ts.createMap(); var uniqueNames = NameGenerator.ensureUniqueness(names, /* isCaseSensitive */ false, /* isFixed */ undefined); diff --git a/scripts/tslint/noTypeAssertionWhitespaceRule.ts b/scripts/tslint/noTypeAssertionWhitespaceRule.ts new file mode 100644 index 00000000000..e75964b9e7e --- /dev/null +++ b/scripts/tslint/noTypeAssertionWhitespaceRule.ts @@ -0,0 +1,25 @@ +import * as Lint from "tslint/lib/lint"; +import * as ts from "typescript"; + + +export class Rule extends Lint.Rules.AbstractRule { + public static TRAILING_FAILURE_STRING = "Excess trailing whitespace found around type assertion."; + + public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] { + return this.applyWithWalker(new TypeAssertionWhitespaceWalker(sourceFile, this.getOptions())); + } +} + +class TypeAssertionWhitespaceWalker extends Lint.RuleWalker { + public visitNode(node: ts.Node) { + if (node.kind === ts.SyntaxKind.TypeAssertionExpression) { + const refined = node as ts.TypeAssertion; + const leftSideWhitespaceStart = refined.type.getEnd() + 1; + const rightSideWhitespaceEnd = refined.expression.getStart(); + if (leftSideWhitespaceStart !== rightSideWhitespaceEnd) { + this.addFailure(this.createFailure(leftSideWhitespaceStart, rightSideWhitespaceEnd, Rule.TRAILING_FAILURE_STRING)); + } + } + super.visitNode(node); + } +} diff --git a/scripts/tslint/preferConstRule.ts b/scripts/tslint/preferConstRule.ts index aaa1b0e53d5..9425d2b6079 100644 --- a/scripts/tslint/preferConstRule.ts +++ b/scripts/tslint/preferConstRule.ts @@ -1,7 +1,6 @@ import * as Lint from "tslint/lib/lint"; import * as ts from "typescript"; - export class Rule extends Lint.Rules.AbstractRule { public static FAILURE_STRING_FACTORY = (identifier: string) => `Identifier '${identifier}' never appears on the LHS of an assignment - use const instead of let for its declaration.`; @@ -10,44 +9,12 @@ export class Rule extends Lint.Rules.AbstractRule { } } -function isBindingPattern(node: ts.Node): node is ts.BindingPattern { - return !!node && (node.kind === ts.SyntaxKind.ArrayBindingPattern || node.kind === ts.SyntaxKind.ObjectBindingPattern); -} - -function walkUpBindingElementsAndPatterns(node: ts.Node): ts.Node { - while (node && (node.kind === ts.SyntaxKind.BindingElement || isBindingPattern(node))) { - node = node.parent; - } - - return node; -} - -function getCombinedNodeFlags(node: ts.Node): ts.NodeFlags { - node = walkUpBindingElementsAndPatterns(node); - - let flags = node.flags; - if (node.kind === ts.SyntaxKind.VariableDeclaration) { - node = node.parent; - } - - if (node && node.kind === ts.SyntaxKind.VariableDeclarationList) { - flags |= node.flags; - node = node.parent; - } - - if (node && node.kind === ts.SyntaxKind.VariableStatement) { - flags |= node.flags; - } - - return flags; -} - function isLet(node: ts.Node) { - return !!(getCombinedNodeFlags(node) & ts.NodeFlags.Let); + return !!(ts.getCombinedNodeFlags(node) & ts.NodeFlags.Let); } function isExported(node: ts.Node) { - return !!(getCombinedNodeFlags(node) & ts.NodeFlags.Export); + return !!(ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Export); } function isAssignmentOperator(token: ts.SyntaxKind): boolean { @@ -64,7 +31,7 @@ interface DeclarationUsages { } class PreferConstWalker extends Lint.RuleWalker { - private inScopeLetDeclarations: ts.Map[] = []; + private inScopeLetDeclarations: ts.MapLike[] = []; private errors: Lint.RuleFailure[] = []; private markAssignment(identifier: ts.Identifier) { const name = identifier.text; @@ -126,11 +93,16 @@ class PreferConstWalker extends Lint.RuleWalker { private visitBindingPatternIdentifiers(pattern: ts.BindingPattern) { for (const element of pattern.elements) { - if (element.name.kind === ts.SyntaxKind.Identifier) { - this.markAssignment(element.name as ts.Identifier); + if (element.kind !== ts.SyntaxKind.BindingElement) { + continue; + } + + const name = (element).name; + if (name.kind === ts.SyntaxKind.Identifier) { + this.markAssignment(name as ts.Identifier); } else { - this.visitBindingPatternIdentifiers(element.name as ts.BindingPattern); + this.visitBindingPatternIdentifiers(name as ts.BindingPattern); } } } @@ -172,7 +144,7 @@ class PreferConstWalker extends Lint.RuleWalker { } private visitAnyForStatement(node: ts.ForOfStatement | ts.ForInStatement) { - const names: ts.Map = {}; + const names: ts.MapLike = {}; if (isLet(node.initializer)) { if (node.initializer.kind === ts.SyntaxKind.VariableDeclarationList) { this.collectLetIdentifiers(node.initializer as ts.VariableDeclarationList, names); @@ -194,7 +166,7 @@ class PreferConstWalker extends Lint.RuleWalker { } visitBlock(node: ts.Block) { - const names: ts.Map = {}; + const names: ts.MapLike = {}; for (const statement of node.statements) { if (statement.kind === ts.SyntaxKind.VariableStatement) { this.collectLetIdentifiers((statement as ts.VariableStatement).declarationList, names); @@ -205,7 +177,7 @@ class PreferConstWalker extends Lint.RuleWalker { this.popDeclarations(); } - private collectLetIdentifiers(list: ts.VariableDeclarationList, ret: ts.Map) { + private collectLetIdentifiers(list: ts.VariableDeclarationList, ret: ts.MapLike) { for (const node of list.declarations) { if (isLet(node) && !isExported(node)) { this.collectNameIdentifiers(node, node.name, ret); @@ -213,7 +185,7 @@ class PreferConstWalker extends Lint.RuleWalker { } } - private collectNameIdentifiers(declaration: ts.VariableDeclaration, node: ts.Identifier | ts.BindingPattern, table: ts.Map) { + private collectNameIdentifiers(declaration: ts.VariableDeclaration, node: ts.Identifier | ts.BindingPattern, table: ts.MapLike) { if (node.kind === ts.SyntaxKind.Identifier) { table[(node as ts.Identifier).text] = { declaration, usages: 0 }; } @@ -222,9 +194,11 @@ class PreferConstWalker extends Lint.RuleWalker { } } - private collectBindingPatternIdentifiers(value: ts.VariableDeclaration, pattern: ts.BindingPattern, table: ts.Map) { + private collectBindingPatternIdentifiers(value: ts.VariableDeclaration, pattern: ts.BindingPattern, table: ts.MapLike) { for (const element of pattern.elements) { - this.collectNameIdentifiers(value, element.name, table); + if (element.kind === ts.SyntaxKind.BindingElement) { + this.collectNameIdentifiers(value, (element).name, table); + } } } } diff --git a/scripts/types/ambient.d.ts b/scripts/types/ambient.d.ts index e77e3fe8c5a..4f4b118c432 100644 --- a/scripts/types/ambient.d.ts +++ b/scripts/types/ambient.d.ts @@ -10,7 +10,7 @@ declare module "gulp-insert" { export function append(text: string | Buffer): NodeJS.ReadWriteStream; export function prepend(text: string | Buffer): NodeJS.ReadWriteStream; export function wrap(text: string | Buffer, tail: string | Buffer): NodeJS.ReadWriteStream; - export function transform(cb: (contents: string, file: {path: string}) => string): NodeJS.ReadWriteStream; // file is a vinyl file + export function transform(cb: (contents: string, file: {path: string, relative: string}) => string): NodeJS.ReadWriteStream; // file is a vinyl file } declare module "into-stream" { @@ -22,3 +22,4 @@ declare module "into-stream" { } declare module "sorcery"; +declare module "travis-fold"; diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 6059cd1f86a..3bccf6b4a9b 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -27,7 +27,7 @@ namespace ts { return ModuleInstanceState.ConstEnumOnly; } // 3. non-exported import declarations - else if ((node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration) && !(node.flags & NodeFlags.Export)) { + else if ((node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration) && !(hasModifier(node, ModifierFlags.Export))) { return ModuleInstanceState.NonInstantiated; } // 4. other uninstantiated module declarations. @@ -89,9 +89,10 @@ namespace ts { const binder = createBinder(); export function bindSourceFile(file: SourceFile, options: CompilerOptions) { - const start = performance.mark(); + performance.mark("beforeBind"); binder(file, options); - performance.measure("Bind", start); + performance.mark("afterBind"); + performance.measure("Bind", "beforeBind", "afterBind"); } function createBinder(): (file: SourceFile, options: CompilerOptions) => void { @@ -130,13 +131,18 @@ namespace ts { const unreachableFlow: FlowNode = { flags: FlowFlags.Unreachable }; const reportedUnreachableFlow: FlowNode = { flags: FlowFlags.Unreachable }; + // state used to aggregate transform flags during bind. + let subtreeTransformFlags: TransformFlags = TransformFlags.None; + let skipTransformFlagAggregation: boolean; + function bindSourceFile(f: SourceFile, opts: CompilerOptions) { file = f; options = opts; languageVersion = getEmitScriptTarget(options); inStrictMode = !!file.externalModuleIndicator; - classifiableNames = {}; + classifiableNames = createMap(); symbolCount = 0; + skipTransformFlagAggregation = isDeclarationFile(file); Symbol = objectAllocator.getSymbolConstructor(); @@ -163,6 +169,7 @@ namespace ts { activeLabels = undefined; hasExplicitReturn = false; emitFlags = NodeFlags.None; + subtreeTransformFlags = TransformFlags.None; } return bindSourceFile; @@ -183,11 +190,11 @@ namespace ts { symbol.declarations.push(node); if (symbolFlags & SymbolFlags.HasExports && !symbol.exports) { - symbol.exports = {}; + symbol.exports = createMap(); } if (symbolFlags & SymbolFlags.HasMembers && !symbol.members) { - symbol.members = {}; + symbol.members = createMap(); } if (symbolFlags & SymbolFlags.Value) { @@ -252,7 +259,7 @@ namespace ts { case SyntaxKind.FunctionDeclaration: case SyntaxKind.ClassDeclaration: - return node.flags & NodeFlags.Default ? "default" : undefined; + return hasModifier(node, ModifierFlags.Default) ? "default" : undefined; case SyntaxKind.JSDocFunctionType: return isJSDocConstructSignature(node) ? "__new" : "__call"; case SyntaxKind.Parameter: @@ -292,14 +299,16 @@ namespace ts { function declareSymbol(symbolTable: SymbolTable, parent: Symbol, node: Declaration, includes: SymbolFlags, excludes: SymbolFlags): Symbol { Debug.assert(!hasDynamicName(node)); - const isDefaultExport = node.flags & NodeFlags.Default; + const isDefaultExport = hasModifier(node, ModifierFlags.Default); // The exported symbol for an export default function/class node is always named "default" const name = isDefaultExport && parent ? "default" : getDeclarationName(node); let symbol: Symbol; - if (name !== undefined) { - + if (name === undefined) { + symbol = createSymbol(SymbolFlags.None, "__missing"); + } + else { // Check and see if the symbol table already has a symbol with this name. If not, // create a new symbol with this name and add it to the table. Note that we don't // give the new symbol any flags *yet*. This ensures that it will not conflict @@ -311,6 +320,11 @@ namespace ts { // declaration we have for this symbol, and then create a new symbol for this // declaration. // + // Note that when properties declared in Javascript constructors + // (marked by isReplaceableByMethod) conflict with another symbol, the property loses. + // Always. This allows the common Javascript pattern of overwriting a prototype method + // with an bound instance method of the same type: `this.method = this.method.bind(this)` + // // If we created a new symbol, either because we didn't have a symbol with this name // in the symbol table, or we conflicted with an existing symbol, then just add this // node as the sole declaration of the new symbol. @@ -318,42 +332,44 @@ namespace ts { // Otherwise, we'll be merging into a compatible existing symbol (for example when // you have multiple 'vars' with the same name in the same container). In this case // just add this node into the declarations list of the symbol. - symbol = hasProperty(symbolTable, name) - ? symbolTable[name] - : (symbolTable[name] = createSymbol(SymbolFlags.None, name)); + symbol = symbolTable[name] || (symbolTable[name] = createSymbol(SymbolFlags.None, name)); if (name && (includes & SymbolFlags.Classifiable)) { classifiableNames[name] = name; } if (symbol.flags & excludes) { - if (node.name) { - node.name.parent = node; + if (symbol.isReplaceableByMethod) { + // Javascript constructor-declared symbols can be discarded in favor of + // prototype symbols like methods. + symbol = symbolTable[name] = createSymbol(SymbolFlags.None, name); } - - // Report errors every position with duplicate declaration - // Report errors on previous encountered declarations - let message = symbol.flags & SymbolFlags.BlockScopedVariable - ? Diagnostics.Cannot_redeclare_block_scoped_variable_0 - : Diagnostics.Duplicate_identifier_0; - - forEach(symbol.declarations, declaration => { - if (declaration.flags & NodeFlags.Default) { - message = Diagnostics.A_module_cannot_have_multiple_default_exports; + else { + if (node.name) { + node.name.parent = node; } - }); - forEach(symbol.declarations, declaration => { - file.bindDiagnostics.push(createDiagnosticForNode(declaration.name || declaration, message, getDisplayName(declaration))); - }); - file.bindDiagnostics.push(createDiagnosticForNode(node.name || node, message, getDisplayName(node))); + // Report errors every position with duplicate declaration + // Report errors on previous encountered declarations + let message = symbol.flags & SymbolFlags.BlockScopedVariable + ? Diagnostics.Cannot_redeclare_block_scoped_variable_0 + : Diagnostics.Duplicate_identifier_0; - symbol = createSymbol(SymbolFlags.None, name); + forEach(symbol.declarations, declaration => { + if (hasModifier(declaration, ModifierFlags.Default)) { + message = Diagnostics.A_module_cannot_have_multiple_default_exports; + } + }); + + forEach(symbol.declarations, declaration => { + file.bindDiagnostics.push(createDiagnosticForNode(declaration.name || declaration, message, getDisplayName(declaration))); + }); + file.bindDiagnostics.push(createDiagnosticForNode(node.name || node, message, getDisplayName(node))); + + symbol = createSymbol(SymbolFlags.None, name); + } } } - else { - symbol = createSymbol(SymbolFlags.None, "__missing"); - } addDeclarationToSymbol(symbol, node, includes); symbol.parent = parent; @@ -362,7 +378,7 @@ namespace ts { } function declareModuleMember(node: Declaration, symbolFlags: SymbolFlags, symbolExcludes: SymbolFlags): Symbol { - const hasExportModifier = getCombinedNodeFlags(node) & NodeFlags.Export; + const hasExportModifier = getCombinedModifierFlags(node) & ModifierFlags.Export; if (symbolFlags & SymbolFlags.Alias) { if (node.kind === SyntaxKind.ExportSpecifier || (node.kind === SyntaxKind.ImportEqualsDeclaration && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); @@ -434,7 +450,7 @@ namespace ts { if (containerFlags & ContainerFlags.IsContainer) { container = blockScopeContainer = node; if (containerFlags & ContainerFlags.HasLocals) { - container.locals = {}; + container.locals = createMap(); } addToContainerChain(container); } @@ -503,6 +519,23 @@ namespace ts { } function bindChildren(node: Node): void { + if (skipTransformFlagAggregation) { + bindChildrenWorker(node); + } + else if (node.transformFlags & TransformFlags.HasComputedFlags) { + skipTransformFlagAggregation = true; + bindChildrenWorker(node); + skipTransformFlagAggregation = false; + } + else { + const savedSubtreeTransformFlags = subtreeTransformFlags; + subtreeTransformFlags = 0; + bindChildrenWorker(node); + subtreeTransformFlags = savedSubtreeTransformFlags | computeTransformFlagsForNode(node, subtreeTransformFlags); + } + } + + function bindChildrenWorker(node: Node): void { // Binding of JsDocComment should be done before the current block scope container changes. // because the scope of JsDocComment should not be affected by whether the current node is a // container or not. @@ -558,6 +591,9 @@ namespace ts { case SyntaxKind.PrefixUnaryExpression: bindPrefixUnaryExpressionFlow(node); break; + case SyntaxKind.PostfixUnaryExpression: + bindPostfixUnaryExpressionFlow(node); + break; case SyntaxKind.BinaryExpression: bindBinaryExpressionFlow(node); break; @@ -618,18 +654,10 @@ namespace ts { return false; } - function isNarrowingNullCheckOperands(expr1: Expression, expr2: Expression) { - return (expr1.kind === SyntaxKind.NullKeyword || expr1.kind === SyntaxKind.Identifier && (expr1).text === "undefined") && isNarrowableOperand(expr2); - } - function isNarrowingTypeofOperands(expr1: Expression, expr2: Expression) { return expr1.kind === SyntaxKind.TypeOfExpression && isNarrowableOperand((expr1).expression) && expr2.kind === SyntaxKind.StringLiteral; } - function isNarrowingDiscriminant(expr: Expression) { - return expr.kind === SyntaxKind.PropertyAccessExpression && isNarrowableReference((expr).expression); - } - function isNarrowingBinaryExpression(expr: BinaryExpression) { switch (expr.operatorToken.kind) { case SyntaxKind.EqualsToken: @@ -638,9 +666,8 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - return isNarrowingNullCheckOperands(expr.right, expr.left) || isNarrowingNullCheckOperands(expr.left, expr.right) || - isNarrowingTypeofOperands(expr.right, expr.left) || isNarrowingTypeofOperands(expr.left, expr.right) || - isNarrowingDiscriminant(expr.left) || isNarrowingDiscriminant(expr.right); + return isNarrowableOperand(expr.left) || isNarrowableOperand(expr.right) || + isNarrowingTypeofOperands(expr.right, expr.left) || isNarrowingTypeofOperands(expr.left, expr.right); case SyntaxKind.InstanceOfKeyword: return isNarrowableOperand(expr.left); case SyntaxKind.CommaToken: @@ -664,11 +691,6 @@ namespace ts { return isNarrowableReference(expr); } - function isNarrowingSwitchStatement(switchStatement: SwitchStatement) { - const expr = switchStatement.expression; - return expr.kind === SyntaxKind.PropertyAccessExpression && isNarrowableReference((expr).expression); - } - function createBranchLabel(): FlowLabel { return { flags: FlowFlags.BranchLabel, @@ -718,7 +740,7 @@ namespace ts { } function createFlowSwitchClause(antecedent: FlowNode, switchStatement: SwitchStatement, clauseStart: number, clauseEnd: number): FlowNode { - if (!isNarrowingSwitchStatement(switchStatement)) { + if (!isNarrowingExpression(switchStatement.expression)) { return antecedent; } setFlowNodeReferenced(antecedent); @@ -1087,6 +1109,16 @@ namespace ts { } else { forEachChild(node, bind); + if (node.operator === SyntaxKind.PlusEqualsToken || node.operator === SyntaxKind.MinusMinusToken) { + bindAssignmentTargetFlow(node.operand); + } + } + } + + function bindPostfixUnaryExpressionFlow(node: PostfixUnaryExpression) { + forEachChild(node, bind); + if (node.operator === SyntaxKind.PlusPlusToken || node.operator === SyntaxKind.MinusMinusToken) { + bindAssignmentTargetFlow(node.operand); } } @@ -1131,8 +1163,8 @@ namespace ts { currentFlow = finishFlowLabel(postExpressionLabel); } - function bindInitializedVariableFlow(node: VariableDeclaration | BindingElement) { - const name = node.name; + function bindInitializedVariableFlow(node: VariableDeclaration | ArrayBindingElement) { + const name = !isOmittedExpression(node) ? node.name : undefined; if (isBindingPattern(name)) { for (const child of name.elements) { bindInitializedVariableFlow(child); @@ -1312,7 +1344,7 @@ namespace ts { } function declareClassMember(node: Declaration, symbolFlags: SymbolFlags, symbolExcludes: SymbolFlags) { - return node.flags & NodeFlags.Static + return hasModifier(node, ModifierFlags.Static) ? declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes) : declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); } @@ -1349,7 +1381,7 @@ namespace ts { function bindModuleDeclaration(node: ModuleDeclaration) { setExportContextFlag(node); if (isAmbientModule(node)) { - if (node.flags & NodeFlags.Export) { + if (hasModifier(node, ModifierFlags.Export)) { errorOnFirstToken(node, Diagnostics.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible); } if (isExternalModuleAugmentation(node)) { @@ -1413,7 +1445,8 @@ namespace ts { const typeLiteralSymbol = createSymbol(SymbolFlags.TypeLiteral, "__type"); addDeclarationToSymbol(typeLiteralSymbol, node, SymbolFlags.TypeLiteral); - typeLiteralSymbol.members = { [symbol.name]: symbol }; + typeLiteralSymbol.members = createMap(); + typeLiteralSymbol.members[symbol.name] = symbol; } function bindObjectLiteralExpression(node: ObjectLiteralExpression) { @@ -1423,7 +1456,7 @@ namespace ts { } if (inStrictMode) { - const seen: Map = {}; + const seen = createMap(); for (const prop of node.properties) { if (prop.name.kind !== SyntaxKind.Identifier) { @@ -1479,7 +1512,7 @@ namespace ts { // fall through. default: if (!blockScopeContainer.locals) { - blockScopeContainer.locals = {}; + blockScopeContainer.locals = createMap(); addToContainerChain(blockScopeContainer); } declareSymbol(blockScopeContainer.locals, undefined, node, symbolFlags, symbolExcludes); @@ -1615,7 +1648,7 @@ namespace ts { } } - function checkStrictModeNumericLiteral(node: LiteralExpression) { + function checkStrictModeNumericLiteral(node: NumericLiteral) { if (inStrictMode && node.isOctalLiteral) { file.bindDiagnostics.push(createDiagnosticForNode(node, Diagnostics.Octal_literals_are_not_allowed_in_strict_mode)); } @@ -1690,6 +1723,9 @@ namespace ts { } parent = saveParent; } + else if (!skipTransformFlagAggregation && (node.transformFlags & TransformFlags.HasComputedFlags) === 0) { + subtreeTransformFlags |= computeTransformFlagsForNode(node, 0); + } inStrictMode = saveInStrictMode; } @@ -1760,7 +1796,7 @@ namespace ts { case SyntaxKind.DeleteExpression: return checkStrictModeDeleteExpression(node); case SyntaxKind.NumericLiteral: - return checkStrictModeNumericLiteral(node); + return checkStrictModeNumericLiteral(node); case SyntaxKind.PostfixUnaryExpression: return checkStrictModePostfixUnaryExpression(node); case SyntaxKind.PrefixUnaryExpression: @@ -1792,7 +1828,7 @@ namespace ts { return bindPropertyOrMethodOrAccessor(node, SymbolFlags.EnumMember, SymbolFlags.EnumMemberExcludes); case SyntaxKind.JsxSpreadAttribute: - emitFlags |= NodeFlags.HasJsxSpreadAttribute; + emitFlags |= NodeFlags.HasJsxSpreadAttributes; return; case SyntaxKind.CallSignature: @@ -1901,18 +1937,17 @@ namespace ts { } function bindExportAssignment(node: ExportAssignment | BinaryExpression) { - const boundExpression = node.kind === SyntaxKind.ExportAssignment ? (node).expression : (node).right; if (!container.symbol || !container.symbol.exports) { // Export assignment in some sort of block construct bindAnonymousDeclaration(node, SymbolFlags.Alias, getDeclarationName(node)); } - else if (boundExpression.kind === SyntaxKind.Identifier && node.kind === SyntaxKind.ExportAssignment) { - // An export default clause with an identifier exports all meanings of that identifier - declareSymbol(container.symbol.exports, container.symbol, node, SymbolFlags.Alias, SymbolFlags.PropertyExcludes | SymbolFlags.AliasExcludes); - } else { - // An export default clause with an expression exports a value - declareSymbol(container.symbol.exports, container.symbol, node, SymbolFlags.Property, SymbolFlags.PropertyExcludes | SymbolFlags.AliasExcludes); + const flags = node.kind === SyntaxKind.ExportAssignment && exportAssignmentIsAlias(node) + // An export default clause with an EntityNameExpression exports all meanings of that identifier + ? SymbolFlags.Alias + // An export default clause with any other expression exports a value + : SymbolFlags.Property; + declareSymbol(container.symbol.exports, container.symbol, node, flags, SymbolFlags.PropertyExcludes | SymbolFlags.AliasExcludes); } } @@ -1939,7 +1974,7 @@ namespace ts { } } - file.symbol.globalExports = file.symbol.globalExports || {}; + file.symbol.globalExports = file.symbol.globalExports || createMap(); declareSymbol(file.symbol.globalExports, file.symbol, node, SymbolFlags.Alias, SymbolFlags.AliasExcludes); } @@ -1981,20 +2016,25 @@ namespace ts { } function bindThisPropertyAssignment(node: BinaryExpression) { - // Declare a 'member' in case it turns out the container was an ES5 class or ES6 constructor - let assignee: Node; - if (container.kind === SyntaxKind.FunctionDeclaration || container.kind === SyntaxKind.FunctionDeclaration) { - assignee = container; + Debug.assert(isInJavaScriptFile(node)); + // Declare a 'member' if the container is an ES5 class or ES6 constructor + if (container.kind === SyntaxKind.FunctionDeclaration || container.kind === SyntaxKind.FunctionExpression) { + container.symbol.members = container.symbol.members || createMap(); + // It's acceptable for multiple 'this' assignments of the same identifier to occur + declareSymbol(container.symbol.members, container.symbol, node, SymbolFlags.Property, SymbolFlags.PropertyExcludes & ~SymbolFlags.Property); } else if (container.kind === SyntaxKind.Constructor) { - assignee = container.parent; + // this.foo assignment in a JavaScript class + // Bind this property to the containing class + const saveContainer = container; + container = container.parent; + const symbol = bindPropertyOrMethodOrAccessor(node, SymbolFlags.Property, SymbolFlags.None); + if (symbol) { + // constructor-declared symbols can be overwritten by subsequent method declarations + (symbol as Symbol).isReplaceableByMethod = true; + } + container = saveContainer; } - else { - return; - } - assignee.symbol.members = assignee.symbol.members || {}; - // It's acceptable for multiple 'this' assignments of the same identifier to occur - declareSymbol(assignee.symbol.members, assignee.symbol, node, SymbolFlags.Property, SymbolFlags.PropertyExcludes & ~SymbolFlags.Property); } function bindPrototypePropertyAssignment(node: BinaryExpression) { @@ -2018,7 +2058,7 @@ namespace ts { // Set up the members collection if it doesn't exist already if (!funcSymbol.members) { - funcSymbol.members = {}; + funcSymbol.members = createMap(); } // Declare the method/property @@ -2067,7 +2107,7 @@ namespace ts { // module might have an exported variable called 'prototype'. We can't allow that as // that would clash with the built-in 'prototype' for the class. const prototypeSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Prototype, "prototype"); - if (hasProperty(symbol.exports, prototypeSymbol.name)) { + if (symbol.exports[prototypeSymbol.name]) { if (node.name) { node.name.parent = node; } @@ -2203,7 +2243,7 @@ namespace ts { if (currentFlow === unreachableFlow) { const reportError = // report error on all statements except empty ones - (isStatement(node) && node.kind !== SyntaxKind.EmptyStatement) || + (isStatementButNotDeclaration(node) && node.kind !== SyntaxKind.EmptyStatement) || // report error on class declarations node.kind === SyntaxKind.ClassDeclaration || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set @@ -2240,4 +2280,763 @@ namespace ts { return true; } } + + /** + * Computes the transform flags for a node, given the transform flags of its subtree + * + * @param node The node to analyze + * @param subtreeFlags Transform flags computed for this node's subtree + */ + export function computeTransformFlagsForNode(node: Node, subtreeFlags: TransformFlags): TransformFlags { + const kind = node.kind; + switch (kind) { + case SyntaxKind.CallExpression: + return computeCallExpression(node, subtreeFlags); + + case SyntaxKind.ModuleDeclaration: + return computeModuleDeclaration(node, subtreeFlags); + + case SyntaxKind.ParenthesizedExpression: + return computeParenthesizedExpression(node, subtreeFlags); + + case SyntaxKind.BinaryExpression: + return computeBinaryExpression(node, subtreeFlags); + + case SyntaxKind.ExpressionStatement: + return computeExpressionStatement(node, subtreeFlags); + + case SyntaxKind.Parameter: + return computeParameter(node, subtreeFlags); + + case SyntaxKind.ArrowFunction: + return computeArrowFunction(node, subtreeFlags); + + case SyntaxKind.FunctionExpression: + return computeFunctionExpression(node, subtreeFlags); + + case SyntaxKind.FunctionDeclaration: + return computeFunctionDeclaration(node, subtreeFlags); + + case SyntaxKind.VariableDeclaration: + return computeVariableDeclaration(node, subtreeFlags); + + case SyntaxKind.VariableDeclarationList: + return computeVariableDeclarationList(node, subtreeFlags); + + case SyntaxKind.VariableStatement: + return computeVariableStatement(node, subtreeFlags); + + case SyntaxKind.LabeledStatement: + return computeLabeledStatement(node, subtreeFlags); + + case SyntaxKind.ClassDeclaration: + return computeClassDeclaration(node, subtreeFlags); + + case SyntaxKind.ClassExpression: + return computeClassExpression(node, subtreeFlags); + + case SyntaxKind.HeritageClause: + return computeHeritageClause(node, subtreeFlags); + + case SyntaxKind.ExpressionWithTypeArguments: + return computeExpressionWithTypeArguments(node, subtreeFlags); + + case SyntaxKind.Constructor: + return computeConstructor(node, subtreeFlags); + + case SyntaxKind.PropertyDeclaration: + return computePropertyDeclaration(node, subtreeFlags); + + case SyntaxKind.MethodDeclaration: + return computeMethod(node, subtreeFlags); + + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + return computeAccessor(node, subtreeFlags); + + case SyntaxKind.ImportEqualsDeclaration: + return computeImportEquals(node, subtreeFlags); + + case SyntaxKind.PropertyAccessExpression: + return computePropertyAccess(node, subtreeFlags); + + default: + return computeOther(node, kind, subtreeFlags); + } + } + + function computeCallExpression(node: CallExpression, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const expression = node.expression; + const expressionKind = expression.kind; + + if (subtreeFlags & TransformFlags.ContainsSpreadElementExpression + || isSuperOrSuperProperty(expression, expressionKind)) { + // If the this node contains a SpreadElementExpression, or is a super call, then it is an ES6 + // node. + transformFlags |= TransformFlags.AssertES6; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ArrayLiteralOrCallOrNewExcludes; + } + + function isSuperOrSuperProperty(node: Node, kind: SyntaxKind) { + switch (kind) { + case SyntaxKind.SuperKeyword: + return true; + + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.ElementAccessExpression: + const expression = (node).expression; + const expressionKind = expression.kind; + return expressionKind === SyntaxKind.SuperKeyword; + } + + return false; + } + + function computeBinaryExpression(node: BinaryExpression, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const operatorTokenKind = node.operatorToken.kind; + const leftKind = node.left.kind; + + if (operatorTokenKind === SyntaxKind.EqualsToken + && (leftKind === SyntaxKind.ObjectLiteralExpression + || leftKind === SyntaxKind.ArrayLiteralExpression)) { + // Destructuring assignments are ES6 syntax. + transformFlags |= TransformFlags.AssertES6 | TransformFlags.DestructuringAssignment; + } + else if (operatorTokenKind === SyntaxKind.AsteriskAsteriskToken + || operatorTokenKind === SyntaxKind.AsteriskAsteriskEqualsToken) { + // Exponentiation is ES7 syntax. + transformFlags |= TransformFlags.AssertES7; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeParameter(node: ParameterDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const modifierFlags = getModifierFlags(node); + const name = node.name; + const initializer = node.initializer; + const dotDotDotToken = node.dotDotDotToken; + + // If the parameter has a question token, then it is TypeScript syntax. + if (node.questionToken) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If the parameter's name is 'this', then it is TypeScript syntax. + if (subtreeFlags & TransformFlags.ContainsDecorators + || (name && isIdentifier(name) && name.originalKeywordKind === SyntaxKind.ThisKeyword)) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If a parameter has an accessibility modifier, then it is TypeScript syntax. + if (modifierFlags & ModifierFlags.ParameterPropertyModifier) { + transformFlags |= TransformFlags.AssertTypeScript | TransformFlags.ContainsParameterPropertyAssignments; + } + + // If a parameter has an initializer, a binding pattern or a dotDotDot token, then + // it is ES6 syntax and its container must emit default value assignments or parameter destructuring downlevel. + if (subtreeFlags & TransformFlags.ContainsBindingPattern || initializer || dotDotDotToken) { + transformFlags |= TransformFlags.AssertES6 | TransformFlags.ContainsDefaultValueAssignments; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ParameterExcludes; + } + + function computeParenthesizedExpression(node: ParenthesizedExpression, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const expression = node.expression; + const expressionKind = expression.kind; + const expressionTransformFlags = expression.transformFlags; + + // 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 === SyntaxKind.AsExpression + || expressionKind === SyntaxKind.TypeAssertionExpression) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If the expression of a ParenthesizedExpression is a destructuring assignment, + // then the ParenthesizedExpression is a destructuring assignment. + if (expressionTransformFlags & TransformFlags.DestructuringAssignment) { + transformFlags |= TransformFlags.DestructuringAssignment; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeClassDeclaration(node: ClassDeclaration, subtreeFlags: TransformFlags) { + let transformFlags: TransformFlags; + const modifierFlags = getModifierFlags(node); + + if (modifierFlags & ModifierFlags.Ambient) { + // An ambient declaration is TypeScript syntax. + transformFlags = TransformFlags.AssertTypeScript; + } + else { + // A ClassDeclaration is ES6 syntax. + transformFlags = subtreeFlags | TransformFlags.AssertES6; + + // A class with a parameter property assignment, property initializer, or decorator is + // TypeScript syntax. + // An exported declaration may be TypeScript syntax. + if ((subtreeFlags & TransformFlags.TypeScriptClassSyntaxMask) + || (modifierFlags & ModifierFlags.Export)) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + if (subtreeFlags & TransformFlags.ContainsLexicalThisInComputedPropertyName) { + // A computed property name containing `this` might need to be rewritten, + // so propagate the ContainsLexicalThis flag upward. + transformFlags |= TransformFlags.ContainsLexicalThis; + } + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ClassExcludes; + } + + function computeClassExpression(node: ClassExpression, subtreeFlags: TransformFlags) { + // A ClassExpression is ES6 syntax. + let transformFlags = subtreeFlags | TransformFlags.AssertES6; + + // A class with a parameter property assignment, property initializer, or decorator is + // TypeScript syntax. + if (subtreeFlags & TransformFlags.TypeScriptClassSyntaxMask) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + if (subtreeFlags & TransformFlags.ContainsLexicalThisInComputedPropertyName) { + // A computed property name containing `this` might need to be rewritten, + // so propagate the ContainsLexicalThis flag upward. + transformFlags |= TransformFlags.ContainsLexicalThis; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ClassExcludes; + } + + function computeHeritageClause(node: HeritageClause, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + + switch (node.token) { + case SyntaxKind.ExtendsKeyword: + // An `extends` HeritageClause is ES6 syntax. + transformFlags |= TransformFlags.AssertES6; + break; + + case SyntaxKind.ImplementsKeyword: + // An `implements` HeritageClause is TypeScript syntax. + transformFlags |= TransformFlags.AssertTypeScript; + break; + + default: + Debug.fail("Unexpected token for heritage clause"); + break; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeExpressionWithTypeArguments(node: ExpressionWithTypeArguments, subtreeFlags: TransformFlags) { + // An ExpressionWithTypeArguments is ES6 syntax, as it is used in the + // extends clause of a class. + let transformFlags = subtreeFlags | TransformFlags.AssertES6; + + // If an ExpressionWithTypeArguments contains type arguments, then it + // is TypeScript syntax. + if (node.typeArguments) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeConstructor(node: ConstructorDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const body = node.body; + + if (body === undefined) { + // An overload constructor is TypeScript syntax. + transformFlags |= TransformFlags.AssertTypeScript; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ConstructorExcludes; + } + + function computeMethod(node: MethodDeclaration, subtreeFlags: TransformFlags) { + // A MethodDeclaration is ES6 syntax. + let transformFlags = subtreeFlags | TransformFlags.AssertES6; + const modifierFlags = getModifierFlags(node); + const body = node.body; + const typeParameters = node.typeParameters; + const asteriskToken = node.asteriskToken; + + // A MethodDeclaration is TypeScript syntax if it is either async, abstract, overloaded, + // generic, or has a decorator. + if (!body + || typeParameters + || (modifierFlags & (ModifierFlags.Async | ModifierFlags.Abstract)) + || (subtreeFlags & TransformFlags.ContainsDecorators)) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // Currently, we only support generators that were originally async function bodies. + if (asteriskToken && node.emitFlags & NodeEmitFlags.AsyncFunctionBody) { + transformFlags |= TransformFlags.AssertGenerator; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.MethodOrAccessorExcludes; + } + + function computeAccessor(node: AccessorDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const modifierFlags = getModifierFlags(node); + const body = node.body; + + // A MethodDeclaration is TypeScript syntax if it is either async, abstract, overloaded, + // generic, or has a decorator. + if (!body + || (modifierFlags & (ModifierFlags.Async | ModifierFlags.Abstract)) + || (subtreeFlags & TransformFlags.ContainsDecorators)) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.MethodOrAccessorExcludes; + } + + function computePropertyDeclaration(node: PropertyDeclaration, subtreeFlags: TransformFlags) { + // A PropertyDeclaration is TypeScript syntax. + let transformFlags = subtreeFlags | TransformFlags.AssertTypeScript; + + // If the PropertyDeclaration has an initializer, we need to inform its ancestor + // so that it handle the transformation. + if (node.initializer) { + transformFlags |= TransformFlags.ContainsPropertyInitializer; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeFunctionDeclaration(node: FunctionDeclaration, subtreeFlags: TransformFlags) { + let transformFlags: TransformFlags; + const modifierFlags = getModifierFlags(node); + const body = node.body; + const asteriskToken = node.asteriskToken; + + if (!body || (modifierFlags & ModifierFlags.Ambient)) { + // An ambient declaration is TypeScript syntax. + // A FunctionDeclaration without a body is an overload and is TypeScript syntax. + transformFlags = TransformFlags.AssertTypeScript; + } + else { + transformFlags = subtreeFlags | TransformFlags.ContainsHoistedDeclarationOrCompletion; + + // If a FunctionDeclaration is exported, then it is either ES6 or TypeScript syntax. + if (modifierFlags & ModifierFlags.Export) { + transformFlags |= TransformFlags.AssertTypeScript | TransformFlags.AssertES6; + } + + // If a FunctionDeclaration is async, then it is TypeScript syntax. + if (modifierFlags & ModifierFlags.Async) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If a FunctionDeclaration's subtree has marked the container as needing to capture the + // lexical this, or the function contains parameters with initializers, then this node is + // ES6 syntax. + if (subtreeFlags & TransformFlags.ES6FunctionSyntaxMask) { + transformFlags |= TransformFlags.AssertES6; + } + + // If a FunctionDeclaration is generator function and is the body of a + // transformed async function, then this node can be transformed to a + // down-level generator. + // Currently we do not support transforming any other generator fucntions + // down level. + if (asteriskToken && node.emitFlags & NodeEmitFlags.AsyncFunctionBody) { + transformFlags |= TransformFlags.AssertGenerator; + } + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.FunctionExcludes; + } + + function computeFunctionExpression(node: FunctionExpression, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const modifierFlags = getModifierFlags(node); + const asteriskToken = node.asteriskToken; + + // An async function expression is TypeScript syntax. + if (modifierFlags & ModifierFlags.Async) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If a FunctionExpression's subtree has marked the container as needing to capture the + // lexical this, or the function contains parameters with initializers, then this node is + // ES6 syntax. + if (subtreeFlags & TransformFlags.ES6FunctionSyntaxMask) { + transformFlags |= TransformFlags.AssertES6; + } + + // If a FunctionExpression is generator function and is the body of a + // transformed async function, then this node can be transformed to a + // down-level generator. + // Currently we do not support transforming any other generator fucntions + // down level. + if (asteriskToken && node.emitFlags & NodeEmitFlags.AsyncFunctionBody) { + transformFlags |= TransformFlags.AssertGenerator; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.FunctionExcludes; + } + + function computeArrowFunction(node: ArrowFunction, subtreeFlags: TransformFlags) { + // An ArrowFunction is ES6 syntax, and excludes markers that should not escape the scope of an ArrowFunction. + let transformFlags = subtreeFlags | TransformFlags.AssertES6; + const modifierFlags = getModifierFlags(node); + + // An async arrow function is TypeScript syntax. + if (modifierFlags & ModifierFlags.Async) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + // If an ArrowFunction contains a lexical this, its container must capture the lexical this. + if (subtreeFlags & TransformFlags.ContainsLexicalThis) { + transformFlags |= TransformFlags.ContainsCapturedLexicalThis; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ArrowFunctionExcludes; + } + + function computePropertyAccess(node: PropertyAccessExpression, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const expression = node.expression; + const expressionKind = expression.kind; + + // If a PropertyAccessExpression starts with a super keyword, then it is + // ES6 syntax, and requires a lexical `this` binding. + if (expressionKind === SyntaxKind.SuperKeyword) { + transformFlags |= TransformFlags.ContainsLexicalThis; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeVariableDeclaration(node: VariableDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + const nameKind = node.name.kind; + + // A VariableDeclaration with a binding pattern is ES6 syntax. + if (nameKind === SyntaxKind.ObjectBindingPattern || nameKind === SyntaxKind.ArrayBindingPattern) { + transformFlags |= TransformFlags.AssertES6 | TransformFlags.ContainsBindingPattern; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeVariableStatement(node: VariableStatement, subtreeFlags: TransformFlags) { + let transformFlags: TransformFlags; + const modifierFlags = getModifierFlags(node); + const declarationListTransformFlags = node.declarationList.transformFlags; + + // An ambient declaration is TypeScript syntax. + if (modifierFlags & ModifierFlags.Ambient) { + transformFlags = TransformFlags.AssertTypeScript; + } + else { + transformFlags = subtreeFlags; + + // If a VariableStatement is exported, then it is either ES6 or TypeScript syntax. + if (modifierFlags & ModifierFlags.Export) { + transformFlags |= TransformFlags.AssertES6 | TransformFlags.AssertTypeScript; + } + + if (declarationListTransformFlags & TransformFlags.ContainsBindingPattern) { + transformFlags |= TransformFlags.AssertES6; + } + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeLabeledStatement(node: LabeledStatement, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + + // A labeled statement containing a block scoped binding *may* need to be transformed from ES6. + if (subtreeFlags & TransformFlags.ContainsBlockScopedBinding + && isIterationStatement(node, /*lookInLabeledStatements*/ true)) { + transformFlags |= TransformFlags.AssertES6; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeImportEquals(node: ImportEqualsDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + + // An ImportEqualsDeclaration with a namespace reference is TypeScript. + if (!isExternalModuleImportEqualsDeclaration(node)) { + transformFlags |= TransformFlags.AssertTypeScript; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeExpressionStatement(node: ExpressionStatement, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags; + + // If the expression of an expression statement is a destructuring assignment, + // then we treat the statement as ES6 so that we can indicate that we do not + // need to hold on to the right-hand side. + if (node.expression.transformFlags & TransformFlags.DestructuringAssignment) { + transformFlags |= TransformFlags.AssertES6; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.NodeExcludes; + } + + function computeModuleDeclaration(node: ModuleDeclaration, subtreeFlags: TransformFlags) { + let transformFlags = TransformFlags.AssertTypeScript; + const modifierFlags = getModifierFlags(node); + + if ((modifierFlags & ModifierFlags.Ambient) === 0) { + transformFlags |= subtreeFlags; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.ModuleExcludes; + } + + function computeVariableDeclarationList(node: VariableDeclarationList, subtreeFlags: TransformFlags) { + let transformFlags = subtreeFlags | TransformFlags.ContainsHoistedDeclarationOrCompletion; + + if (subtreeFlags & TransformFlags.ContainsBindingPattern) { + transformFlags |= TransformFlags.AssertES6; + } + + // If a VariableDeclarationList is `let` or `const`, then it is ES6 syntax. + if (node.flags & NodeFlags.BlockScoped) { + transformFlags |= TransformFlags.AssertES6 | TransformFlags.ContainsBlockScopedBinding; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~TransformFlags.VariableDeclarationListExcludes; + } + + function computeOther(node: Node, kind: SyntaxKind, subtreeFlags: TransformFlags) { + // Mark transformations needed for each node + let transformFlags = subtreeFlags; + let excludeFlags = TransformFlags.NodeExcludes; + + switch (kind) { + case SyntaxKind.PublicKeyword: + case SyntaxKind.PrivateKeyword: + case SyntaxKind.ProtectedKeyword: + case SyntaxKind.AbstractKeyword: + case SyntaxKind.DeclareKeyword: + case SyntaxKind.AsyncKeyword: + case SyntaxKind.ConstKeyword: + case SyntaxKind.AwaitExpression: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.EnumMember: + case SyntaxKind.TypeAssertionExpression: + case SyntaxKind.AsExpression: + case SyntaxKind.NonNullExpression: + case SyntaxKind.ReadonlyKeyword: + // These nodes are TypeScript syntax. + transformFlags |= TransformFlags.AssertTypeScript; + break; + + case SyntaxKind.JsxElement: + case SyntaxKind.JsxSelfClosingElement: + case SyntaxKind.JsxOpeningElement: + case SyntaxKind.JsxText: + case SyntaxKind.JsxClosingElement: + case SyntaxKind.JsxAttribute: + case SyntaxKind.JsxSpreadAttribute: + case SyntaxKind.JsxExpression: + // These nodes are Jsx syntax. + transformFlags |= TransformFlags.AssertJsx; + break; + + case SyntaxKind.ExportKeyword: + // This node is both ES6 and TypeScript syntax. + transformFlags |= TransformFlags.AssertES6 | TransformFlags.AssertTypeScript; + break; + + case SyntaxKind.DefaultKeyword: + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: + case SyntaxKind.TemplateTail: + case SyntaxKind.TemplateExpression: + case SyntaxKind.TaggedTemplateExpression: + case SyntaxKind.ShorthandPropertyAssignment: + case SyntaxKind.ForOfStatement: + // These nodes are ES6 syntax. + transformFlags |= TransformFlags.AssertES6; + break; + + case SyntaxKind.YieldExpression: + // This node is ES6 syntax. + transformFlags |= TransformFlags.AssertES6 | TransformFlags.ContainsYield; + break; + + case SyntaxKind.AnyKeyword: + case SyntaxKind.NumberKeyword: + case SyntaxKind.NeverKeyword: + case SyntaxKind.StringKeyword: + case SyntaxKind.BooleanKeyword: + case SyntaxKind.SymbolKeyword: + case SyntaxKind.VoidKeyword: + case SyntaxKind.TypeParameter: + case SyntaxKind.PropertySignature: + case SyntaxKind.MethodSignature: + case SyntaxKind.CallSignature: + case SyntaxKind.ConstructSignature: + case SyntaxKind.IndexSignature: + case SyntaxKind.TypePredicate: + case SyntaxKind.TypeReference: + case SyntaxKind.FunctionType: + case SyntaxKind.ConstructorType: + case SyntaxKind.TypeQuery: + case SyntaxKind.TypeLiteral: + case SyntaxKind.ArrayType: + case SyntaxKind.TupleType: + case SyntaxKind.UnionType: + case SyntaxKind.IntersectionType: + case SyntaxKind.ParenthesizedType: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + case SyntaxKind.ThisType: + case SyntaxKind.LiteralType: + // Types and signatures are TypeScript syntax, and exclude all other facts. + transformFlags = TransformFlags.AssertTypeScript; + excludeFlags = TransformFlags.TypeExcludes; + break; + + case SyntaxKind.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. + transformFlags |= TransformFlags.ContainsComputedPropertyName; + if (subtreeFlags & TransformFlags.ContainsLexicalThis) { + // A computed method name like `[this.getName()](x: string) { ... }` needs to + // distinguish itself from the normal case of a method body containing `this`: + // `this` inside a method doesn't need to be rewritten (the method provides `this`), + // whereas `this` inside a computed name *might* need to be rewritten if the class/object + // is inside an arrow function: + // `_this = this; () => class K { [_this.getName()]() { ... } }` + // To make this distinction, use ContainsLexicalThisInComputedPropertyName + // instead of ContainsLexicalThis for computed property names + transformFlags |= TransformFlags.ContainsLexicalThisInComputedPropertyName; + } + break; + + case SyntaxKind.SpreadElementExpression: + // This node is ES6 syntax, but is handled by a containing node. + transformFlags |= TransformFlags.ContainsSpreadElementExpression; + break; + + case SyntaxKind.SuperKeyword: + // This node is ES6 syntax. + transformFlags |= TransformFlags.AssertES6; + break; + + case SyntaxKind.ThisKeyword: + // Mark this node and its ancestors as containing a lexical `this` keyword. + transformFlags |= TransformFlags.ContainsLexicalThis; + break; + + case SyntaxKind.ObjectBindingPattern: + case SyntaxKind.ArrayBindingPattern: + // These nodes are ES6 syntax. + transformFlags |= TransformFlags.AssertES6 | TransformFlags.ContainsBindingPattern; + break; + + case SyntaxKind.Decorator: + // This node is TypeScript syntax, and marks its container as also being TypeScript syntax. + transformFlags |= TransformFlags.AssertTypeScript | TransformFlags.ContainsDecorators; + break; + + case SyntaxKind.ObjectLiteralExpression: + excludeFlags = TransformFlags.ObjectLiteralExcludes; + if (subtreeFlags & TransformFlags.ContainsComputedPropertyName) { + // If an ObjectLiteralExpression contains a ComputedPropertyName, then it + // is an ES6 node. + transformFlags |= TransformFlags.AssertES6; + } + + if (subtreeFlags & TransformFlags.ContainsLexicalThisInComputedPropertyName) { + // A computed property name containing `this` might need to be rewritten, + // so propagate the ContainsLexicalThis flag upward. + transformFlags |= TransformFlags.ContainsLexicalThis; + } + + break; + + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.NewExpression: + excludeFlags = TransformFlags.ArrayLiteralOrCallOrNewExcludes; + if (subtreeFlags & TransformFlags.ContainsSpreadElementExpression) { + // If the this node contains a SpreadElementExpression, then it is an ES6 + // node. + transformFlags |= TransformFlags.AssertES6; + } + + break; + + case SyntaxKind.DoStatement: + case SyntaxKind.WhileStatement: + case SyntaxKind.ForStatement: + case SyntaxKind.ForInStatement: + // A loop containing a block scoped binding *may* need to be transformed from ES6. + if (subtreeFlags & TransformFlags.ContainsBlockScopedBinding) { + transformFlags |= TransformFlags.AssertES6; + } + + break; + + case SyntaxKind.SourceFile: + if (subtreeFlags & TransformFlags.ContainsCapturedLexicalThis) { + transformFlags |= TransformFlags.AssertES6; + } + + break; + + case SyntaxKind.ReturnStatement: + case SyntaxKind.ContinueStatement: + case SyntaxKind.BreakStatement: + transformFlags |= TransformFlags.ContainsHoistedDeclarationOrCompletion; + break; + } + + node.transformFlags = transformFlags | TransformFlags.HasComputedFlags; + return transformFlags & ~excludeFlags; + } } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 63087c910a3..c04f6121fde 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2,6 +2,8 @@ /* @internal */ namespace ts { + const ambientModuleSymbolRegex = /^".+"$/; + let nextSymbolId = 1; let nextNodeId = 1; let nextMergeId = 1; @@ -44,7 +46,7 @@ namespace ts { let symbolCount = 0; const emptyArray: any[] = []; - const emptySymbols: SymbolTable = {}; + const emptySymbols = createMap(); const compilerOptions = host.getCompilerOptions(); const languageVersion = compilerOptions.target || ScriptTarget.ES3; @@ -100,31 +102,40 @@ namespace ts { getAliasedSymbol: resolveAlias, getEmitResolver, getExportsOfModule: getExportsOfModuleAsArray, + getAmbientModules, getJsxElementAttributesType, getJsxIntrinsicTagNames, isOptionalParameter }; + const tupleTypes: GenericType[] = []; + const unionTypes = createMap(); + const intersectionTypes = createMap(); + const stringLiteralTypes = createMap(); + const numericLiteralTypes = createMap(); + const unknownSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "unknown"); const resolvingSymbol = createSymbol(SymbolFlags.Transient, "__resolving__"); const anyType = createIntrinsicType(TypeFlags.Any, "any"); - const stringType = createIntrinsicType(TypeFlags.String, "string"); - const numberType = createIntrinsicType(TypeFlags.Number, "number"); - const booleanType = createIntrinsicType(TypeFlags.Boolean, "boolean"); - const esSymbolType = createIntrinsicType(TypeFlags.ESSymbol, "symbol"); - const voidType = createIntrinsicType(TypeFlags.Void, "void"); + const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); const undefinedType = createIntrinsicType(TypeFlags.Undefined, "undefined"); const undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(TypeFlags.Undefined | TypeFlags.ContainsWideningType, "undefined"); const nullType = createIntrinsicType(TypeFlags.Null, "null"); const nullWideningType = strictNullChecks ? nullType : createIntrinsicType(TypeFlags.Null | TypeFlags.ContainsWideningType, "null"); - const unknownType = createIntrinsicType(TypeFlags.Any, "unknown"); + const stringType = createIntrinsicType(TypeFlags.String, "string"); + const numberType = createIntrinsicType(TypeFlags.Number, "number"); + const trueType = createIntrinsicType(TypeFlags.BooleanLiteral, "true"); + const falseType = createIntrinsicType(TypeFlags.BooleanLiteral, "false"); + const booleanType = createBooleanType([trueType, falseType]); + const esSymbolType = createIntrinsicType(TypeFlags.ESSymbol, "symbol"); + const voidType = createIntrinsicType(TypeFlags.Void, "void"); const neverType = createIntrinsicType(TypeFlags.Never, "never"); const emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); const emptyGenericType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); - emptyGenericType.instantiations = {}; + emptyGenericType.instantiations = createMap(); const anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated @@ -133,12 +144,13 @@ namespace ts { const noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); - const anySignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); - const unknownSignature = createSignature(undefined, undefined, undefined, emptyArray, unknownType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false); + const anySignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + const unknownSignature = createSignature(undefined, undefined, undefined, emptyArray, unknownType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); + const resolvingSignature = createSignature(undefined, undefined, undefined, emptyArray, anyType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false); const enumNumberIndexInfo = createIndexInfo(stringType, /*isReadonly*/ true); - const globals: SymbolTable = {}; + const globals = createMap(); /** * List of every ambient module with a "*" wildcard. * Unlike other ambient modules, these can't be stored in `globals` because symbol tables only deal with exact matches. @@ -149,6 +161,7 @@ namespace ts { let getGlobalESSymbolConstructorSymbol: () => Symbol; let getGlobalPromiseConstructorSymbol: () => Symbol; + let tryGetGlobalPromiseConstructorSymbol: () => Symbol; let globalObjectType: ObjectType; let globalFunctionType: ObjectType; @@ -192,10 +205,8 @@ namespace ts { let flowLoopCount = 0; let visitedFlowCount = 0; - const tupleTypes: Map = {}; - const unionTypes: Map = {}; - const intersectionTypes: Map = {}; - const stringLiteralTypes: Map = {}; + const emptyStringType = getLiteralTypeForText(TypeFlags.StringLiteral, ""); + const zeroType = getLiteralTypeForText(TypeFlags.NumberLiteral, "0"); const resolutionTargets: TypeSystemEntity[] = []; const resolutionResults: boolean[] = []; @@ -209,7 +220,7 @@ namespace ts { const flowLoopKeys: string[] = []; const flowLoopTypes: Type[][] = []; const visitedFlowNodes: FlowNode[] = []; - const visitedFlowTypes: Type[] = []; + const visitedFlowTypes: FlowType[] = []; const potentialThisCollisions: Node[] = []; const awaitedTypeStack: number[] = []; @@ -239,27 +250,46 @@ namespace ts { NEUndefinedOrNull = 1 << 19, // x != undefined / x != null Truthy = 1 << 20, // x Falsy = 1 << 21, // !x - All = (1 << 22) - 1, + Discriminatable = 1 << 22, // May have discriminant property + All = (1 << 23) - 1, // The following members encode facts about particular kinds of types for use in the getTypeFacts function. // The presence of a particular fact means that the given test is true for some (and possibly all) values // of that kind of type. - StringStrictFacts = TypeofEQString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy | Falsy, - StringFacts = StringStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull, - NumberStrictFacts = TypeofEQNumber | TypeofNEString | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy | Falsy, - NumberFacts = NumberStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull, - BooleanStrictFacts = TypeofEQBoolean | TypeofNEString | TypeofNENumber | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy | Falsy, - BooleanFacts = BooleanStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull, + BaseStringStrictFacts = TypeofEQString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull, + BaseStringFacts = BaseStringStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, + StringStrictFacts = BaseStringStrictFacts | Truthy | Falsy, + StringFacts = BaseStringFacts | Truthy, + EmptyStringStrictFacts = BaseStringStrictFacts | Falsy, + EmptyStringFacts = BaseStringFacts, + NonEmptyStringStrictFacts = BaseStringStrictFacts | Truthy, + NonEmptyStringFacts = BaseStringFacts | Truthy, + BaseNumberStrictFacts = TypeofEQNumber | TypeofNEString | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull, + BaseNumberFacts = BaseNumberStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, + NumberStrictFacts = BaseNumberStrictFacts | Truthy | Falsy, + NumberFacts = BaseNumberFacts | Truthy, + ZeroStrictFacts = BaseNumberStrictFacts | Falsy, + ZeroFacts = BaseNumberFacts, + NonZeroStrictFacts = BaseNumberStrictFacts | Truthy, + NonZeroFacts = BaseNumberFacts | Truthy, + BaseBooleanStrictFacts = TypeofEQBoolean | TypeofNEString | TypeofNENumber | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull, + BaseBooleanFacts = BaseBooleanStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, + BooleanStrictFacts = BaseBooleanStrictFacts | Truthy | Falsy, + BooleanFacts = BaseBooleanFacts | Truthy, + FalseStrictFacts = BaseBooleanStrictFacts | Falsy, + FalseFacts = BaseBooleanFacts, + TrueStrictFacts = BaseBooleanStrictFacts | Truthy, + TrueFacts = BaseBooleanFacts | Truthy, SymbolStrictFacts = TypeofEQSymbol | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy, SymbolFacts = SymbolStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, - ObjectStrictFacts = TypeofEQObject | TypeofEQHostObject | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEFunction | NEUndefined | NENull | NEUndefinedOrNull | Truthy, + ObjectStrictFacts = TypeofEQObject | TypeofEQHostObject | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEFunction | NEUndefined | NENull | NEUndefinedOrNull | Truthy | Discriminatable, ObjectFacts = ObjectStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, - FunctionStrictFacts = TypeofEQFunction | TypeofEQHostObject | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy, + FunctionStrictFacts = TypeofEQFunction | TypeofEQHostObject | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | NEUndefined | NENull | NEUndefinedOrNull | Truthy | Discriminatable, FunctionFacts = FunctionStrictFacts | EQUndefined | EQNull | EQUndefinedOrNull | Falsy, UndefinedFacts = TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEObject | TypeofNEFunction | TypeofNEHostObject | EQUndefined | EQUndefinedOrNull | NENull | Falsy, NullFacts = TypeofEQObject | TypeofNEString | TypeofNENumber | TypeofNEBoolean | TypeofNESymbol | TypeofNEFunction | TypeofNEHostObject | EQNull | EQUndefinedOrNull | NEUndefined | Falsy, } - const typeofEQFacts: Map = { + const typeofEQFacts = createMap({ "string": TypeFacts.TypeofEQString, "number": TypeFacts.TypeofEQNumber, "boolean": TypeFacts.TypeofEQBoolean, @@ -267,9 +297,9 @@ namespace ts { "undefined": TypeFacts.EQUndefined, "object": TypeFacts.TypeofEQObject, "function": TypeFacts.TypeofEQFunction - }; + }); - const typeofNEFacts: Map = { + const typeofNEFacts = createMap({ "string": TypeFacts.TypeofNEString, "number": TypeFacts.TypeofNENumber, "boolean": TypeFacts.TypeofNEBoolean, @@ -277,19 +307,19 @@ namespace ts { "undefined": TypeFacts.NEUndefined, "object": TypeFacts.TypeofNEObject, "function": TypeFacts.TypeofNEFunction - }; + }); - const typeofTypesByName: Map = { + const typeofTypesByName = createMap({ "string": stringType, "number": numberType, "boolean": booleanType, "symbol": esSymbolType, "undefined": undefinedType - }; + }); let jsxElementType: ObjectType; /** Things we lazy load from the JSX namespace */ - const jsxTypes: Map = {}; + const jsxTypes = createMap(); const JsxNames = { JSX: "JSX", IntrinsicElements: "IntrinsicElements", @@ -300,10 +330,10 @@ namespace ts { IntrinsicClassAttributes: "IntrinsicClassAttributes" }; - const subtypeRelation: Map = {}; - const assignableRelation: Map = {}; - const comparableRelation: Map = {}; - const identityRelation: Map = {}; + const subtypeRelation = createMap(); + const assignableRelation = createMap(); + const comparableRelation = createMap(); + const identityRelation = createMap(); // This is for caching the result of getSymbolDisplayBuilder. Do not access directly. let _displayBuilder: SymbolDisplayBuilder; @@ -317,9 +347,8 @@ namespace ts { ResolvedReturnType } - const builtinGlobals: SymbolTable = { - [undefinedSymbol.name]: undefinedSymbol - }; + const builtinGlobals = createMap(); + builtinGlobals[undefinedSymbol.name] = undefinedSymbol; initializeTypeChecker(); @@ -379,8 +408,8 @@ namespace ts { result.parent = symbol.parent; if (symbol.valueDeclaration) result.valueDeclaration = symbol.valueDeclaration; if (symbol.constEnumOnlyModule) result.constEnumOnlyModule = true; - if (symbol.members) result.members = cloneSymbolTable(symbol.members); - if (symbol.exports) result.exports = cloneSymbolTable(symbol.exports); + if (symbol.members) result.members = cloneMap(symbol.members); + if (symbol.exports) result.exports = cloneMap(symbol.exports); recordMergedSymbol(result, symbol); return result; } @@ -402,11 +431,11 @@ namespace ts { target.declarations.push(node); }); if (source.members) { - if (!target.members) target.members = {}; + if (!target.members) target.members = createMap(); mergeSymbolTable(target.members, source.members); } if (source.exports) { - if (!target.exports) target.exports = {}; + if (!target.exports) target.exports = createMap(); mergeSymbolTable(target.exports, source.exports); } recordMergedSymbol(target, source); @@ -423,29 +452,17 @@ namespace ts { } } - function cloneSymbolTable(symbolTable: SymbolTable): SymbolTable { - const result: SymbolTable = {}; - for (const id in symbolTable) { - if (hasProperty(symbolTable, id)) { - result[id] = symbolTable[id]; - } - } - return result; - } - function mergeSymbolTable(target: SymbolTable, source: SymbolTable) { for (const id in source) { - if (hasProperty(source, id)) { - if (!hasProperty(target, id)) { - target[id] = source[id]; - } - else { - let symbol = target[id]; - if (!(symbol.flags & SymbolFlags.Merged)) { - target[id] = symbol = cloneSymbol(symbol); - } - mergeSymbol(symbol, source[id]); + let targetSymbol = target[id]; + if (!targetSymbol) { + target[id] = source[id]; + } + else { + if (!(targetSymbol.flags & SymbolFlags.Merged)) { + target[id] = targetSymbol = cloneSymbol(targetSymbol); } + mergeSymbol(targetSymbol, source[id]); } } } @@ -489,14 +506,12 @@ namespace ts { function addToSymbolTable(target: SymbolTable, source: SymbolTable, message: DiagnosticMessage) { for (const id in source) { - if (hasProperty(source, id)) { - if (hasProperty(target, id)) { - // Error on redeclarations - forEach(target[id].declarations, addDeclarationDiagnostic(id, message)); - } - else { - target[id] = source[id]; - } + if (target[id]) { + // Error on redeclarations + forEach(target[id].declarations, addDeclarationDiagnostic(id, message)); + } + else { + target[id] = source[id]; } } @@ -513,7 +528,7 @@ namespace ts { function getNodeLinks(node: Node): NodeLinks { const nodeId = getNodeId(node); - return nodeLinks[nodeId] || (nodeLinks[nodeId] = {}); + return nodeLinks[nodeId] || (nodeLinks[nodeId] = { flags: 0 }); } function isGlobalSourceFile(node: Node) { @@ -521,18 +536,20 @@ namespace ts { } function getSymbol(symbols: SymbolTable, name: string, meaning: SymbolFlags): Symbol { - if (meaning && hasProperty(symbols, name)) { + if (meaning) { const symbol = symbols[name]; - Debug.assert((symbol.flags & SymbolFlags.Instantiated) === 0, "Should never get an instantiated symbol here."); - if (symbol.flags & meaning) { - return symbol; - } - if (symbol.flags & SymbolFlags.Alias) { - const target = resolveAlias(symbol); - // Unknown symbol means an error occurred in alias resolution, treat it as positive answer to avoid cascading errors - if (target === unknownSymbol || target.flags & meaning) { + if (symbol) { + Debug.assert((symbol.flags & SymbolFlags.Instantiated) === 0, "Should never get an instantiated symbol here."); + if (symbol.flags & meaning) { return symbol; } + if (symbol.flags & SymbolFlags.Alias) { + const target = resolveAlias(symbol); + // Unknown symbol means an error occurred in alias resolution, treat it as positive answer to avoid cascading errors + if (target === unknownSymbol || target.flags & meaning) { + return symbol; + } + } } } // return undefined if we can't find a symbol. @@ -624,7 +641,7 @@ namespace ts { const initializerOfNonStaticProperty = current.parent && current.parent.kind === SyntaxKind.PropertyDeclaration && - (current.parent.flags & NodeFlags.Static) === 0 && + (getModifierFlags(current.parent) & ModifierFlags.Static) === 0 && (current.parent).initializer === current; if (initializerOfNonStaticProperty) { @@ -640,7 +657,7 @@ namespace ts { // Resolve a given name for a given meaning at a given location. An error is reported if the name was not found and // the nameNotFoundMessage argument is not undefined. Returns the resolved symbol, or undefined if no symbol with // the given name can be found. - function resolveName(location: Node, name: string, meaning: SymbolFlags, nameNotFoundMessage: DiagnosticMessage, nameArg: string | Identifier): Symbol { + function resolveName(location: Node | undefined, name: string, meaning: SymbolFlags, nameNotFoundMessage: DiagnosticMessage, nameArg: string | Identifier): Symbol { let result: Symbol; let lastLocation: Node; let propertyWithInvalidInitializer: Node; @@ -720,7 +737,7 @@ namespace ts { // 2. We check === SymbolFlags.Alias in order to check that the symbol is *purely* // an alias. If we used &, we'd be throwing out symbols that have non alias aspects, // which is not the desired behavior. - if (hasProperty(moduleExports, name) && + if (moduleExports[name] && moduleExports[name].flags === SymbolFlags.Alias && getDeclarationOfKind(moduleExports[name], SyntaxKind.ExportSpecifier)) { break; @@ -744,7 +761,7 @@ namespace ts { // local variables of the constructor. This effectively means that entities from outer scopes // by the same name as a constructor parameter or local variable are inaccessible // in initializer expressions for instance member variables. - if (isClassLike(location.parent) && !(location.flags & NodeFlags.Static)) { + if (isClassLike(location.parent) && !(getModifierFlags(location) & ModifierFlags.Static)) { const ctor = findConstructorDeclaration(location.parent); if (ctor && ctor.locals) { if (getSymbol(ctor.locals, name, meaning & SymbolFlags.Value)) { @@ -758,7 +775,7 @@ namespace ts { case SyntaxKind.ClassExpression: case SyntaxKind.InterfaceDeclaration: if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & SymbolFlags.Type)) { - if (lastLocation && lastLocation.flags & NodeFlags.Static) { + if (lastLocation && getModifierFlags(lastLocation) & ModifierFlags.Static) { // TypeScript 1.0 spec (April 2014): 3.4.1 // The scope of a type parameter extends over the entire declaration with which the type // parameter list is associated, with the exception of static member declarations in classes. @@ -857,7 +874,8 @@ namespace ts { if (!result) { if (nameNotFoundMessage) { - if (!checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && + if (!errorLocation || + !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && !checkAndReportErrorForExtendingInterface(errorLocation)) { error(errorLocation, nameNotFoundMessage, typeof nameArg === "string" ? nameArg : declarationNameToString(nameArg)); } @@ -906,7 +924,7 @@ namespace ts { } function checkAndReportErrorForMissingPrefix(errorLocation: Node, name: string, nameArg: string | Identifier): boolean { - if (!errorLocation || (errorLocation.kind === SyntaxKind.Identifier && (isTypeReferenceIdentifier(errorLocation)) || isInTypeQuery(errorLocation))) { + if ((errorLocation.kind === SyntaxKind.Identifier && (isTypeReferenceIdentifier(errorLocation)) || isInTypeQuery(errorLocation))) { return false; } @@ -928,7 +946,7 @@ namespace ts { // No static member is present. // Check if we're in an instance method and look for a relevant instance member. - if (location === container && !(location.flags & NodeFlags.Static)) { + if (location === container && !(getModifierFlags(location) & ModifierFlags.Static)) { const instanceType = (getDeclaredTypeOfSymbol(classSymbol)).thisType; if (getPropertyOfType(instanceType, name)) { error(errorLocation, Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, typeof nameArg === "string" ? nameArg : declarationNameToString(nameArg)); @@ -944,28 +962,30 @@ namespace ts { function checkAndReportErrorForExtendingInterface(errorLocation: Node): boolean { - let parentClassExpression = errorLocation; - while (parentClassExpression) { - const kind = parentClassExpression.kind; - if (kind === SyntaxKind.Identifier || kind === SyntaxKind.PropertyAccessExpression) { - parentClassExpression = parentClassExpression.parent; - continue; - } - if (kind === SyntaxKind.ExpressionWithTypeArguments) { - break; - } - return false; - } - if (!parentClassExpression) { - return false; - } - const expression = (parentClassExpression).expression; - if (resolveEntityName(expression, SymbolFlags.Interface, /*ignoreErrors*/ true)) { + const expression = getEntityNameForExtendingInterface(errorLocation); + const isError = !!(expression && resolveEntityName(expression, SymbolFlags.Interface, /*ignoreErrors*/ true)); + if (isError) { error(errorLocation, Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, getTextOfNode(expression)); - return true; } - return false; + return isError; } + /** + * Climbs up parents to an ExpressionWithTypeArguments, and returns its expression, + * but returns undefined if that expression is not an EntityNameExpression. + */ + function getEntityNameForExtendingInterface(node: Node): EntityNameExpression | undefined { + switch (node.kind) { + case SyntaxKind.Identifier: + case SyntaxKind.PropertyAccessExpression: + return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; + case SyntaxKind.ExpressionWithTypeArguments: + Debug.assert(isEntityNameExpression((node).expression)); + return (node).expression; + default: + return undefined; + } + } + function checkResolvedBlockScopedVariable(result: Symbol, errorLocation: Node): void { Debug.assert((result.flags & SymbolFlags.BlockScopedVariable) !== 0); @@ -1008,7 +1028,7 @@ namespace ts { } } - function getDeclarationOfAliasSymbol(symbol: Symbol): Declaration { + function getDeclarationOfAliasSymbol(symbol: Symbol): Declaration | undefined { return forEach(symbol.declarations, d => isAliasSymbolDeclaration(d) ? d : undefined); } @@ -1023,7 +1043,7 @@ namespace ts { const moduleSymbol = resolveExternalModuleName(node, (node.parent).moduleSpecifier); if (moduleSymbol) { - const exportDefaultSymbol = isShorthandAmbientModule(moduleSymbol.valueDeclaration) ? + const exportDefaultSymbol = isShorthandAmbientModuleSymbol(moduleSymbol) ? moduleSymbol : moduleSymbol.exports["export="] ? getPropertyOfType(getTypeOfSymbol(moduleSymbol.exports["export="]), "default") : @@ -1077,9 +1097,9 @@ namespace ts { function getExportOfModule(symbol: Symbol, name: string): Symbol { if (symbol.flags & SymbolFlags.Module) { - const exports = getExportsOfSymbol(symbol); - if (hasProperty(exports, name)) { - return resolveSymbol(exports[name]); + const exportedSymbol = getExportsOfSymbol(symbol)[name]; + if (exportedSymbol) { + return resolveSymbol(exportedSymbol); } } } @@ -1099,7 +1119,7 @@ namespace ts { if (targetSymbol) { const name = specifier.propertyName || specifier.name; if (name.text) { - if (isShorthandAmbientModule(moduleSymbol.valueDeclaration)) { + if (isShorthandAmbientModuleSymbol(moduleSymbol)) { return moduleSymbol; } @@ -1113,7 +1133,11 @@ namespace ts { } // if symbolFromVariable is export - get its final target symbolFromVariable = resolveSymbol(symbolFromVariable); - const symbolFromModule = getExportOfModule(targetSymbol, name.text); + let symbolFromModule = getExportOfModule(targetSymbol, name.text); + // If the export member we're looking for is default, and there is no real default but allowSyntheticDefaultImports is on, return the entire module as the default + if (!symbolFromModule && allowSyntheticDefaultImports && name.text === "default") { + symbolFromModule = resolveExternalModuleSymbol(moduleSymbol) || resolveSymbol(moduleSymbol); + } const symbol = symbolFromModule && symbolFromVariable ? combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) : symbolFromModule || symbolFromVariable; @@ -1140,7 +1164,7 @@ namespace ts { } function getTargetOfExportAssignment(node: ExportAssignment): Symbol { - return resolveEntityName(node.expression, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace); + return resolveEntityName(node.expression, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace); } function getTargetOfAliasDeclaration(node: Declaration): Symbol { @@ -1172,6 +1196,7 @@ namespace ts { if (!links.target) { links.target = resolvingSymbol; const node = getDeclarationOfAliasSymbol(symbol); + Debug.assert(!!node); const target = getTargetOfAliasDeclaration(node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; @@ -1207,6 +1232,7 @@ namespace ts { if (!links.referenced) { links.referenced = true; const node = getDeclarationOfAliasSymbol(symbol); + Debug.assert(!!node); if (node.kind === SyntaxKind.ExportAssignment) { // export default checkExpressionCached((node).expression); @@ -1250,7 +1276,7 @@ namespace ts { } // Resolves a qualified name and any involved aliases - function resolveEntityName(name: EntityName | Expression, meaning: SymbolFlags, ignoreErrors?: boolean, dontResolveAlias?: boolean): Symbol { + function resolveEntityName(name: EntityNameOrEntityNameExpression, meaning: SymbolFlags, ignoreErrors?: boolean, dontResolveAlias?: boolean, location?: Node): Symbol | undefined { if (nodeIsMissing(name)) { return undefined; } @@ -1259,16 +1285,16 @@ namespace ts { if (name.kind === SyntaxKind.Identifier) { const message = meaning === SymbolFlags.Namespace ? Diagnostics.Cannot_find_namespace_0 : Diagnostics.Cannot_find_name_0; - symbol = resolveName(name, (name).text, meaning, ignoreErrors ? undefined : message, name); + symbol = resolveName(location || name, (name).text, meaning, ignoreErrors ? undefined : message, name); if (!symbol) { return undefined; } } else if (name.kind === SyntaxKind.QualifiedName || name.kind === SyntaxKind.PropertyAccessExpression) { - const left = name.kind === SyntaxKind.QualifiedName ? (name).left : (name).expression; + const left = name.kind === SyntaxKind.QualifiedName ? (name).left : (name).expression; const right = name.kind === SyntaxKind.QualifiedName ? (name).right : (name).name; - const namespace = resolveEntityName(left, SymbolFlags.Namespace, ignoreErrors); + const namespace = resolveEntityName(left, SymbolFlags.Namespace, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace || nodeIsMissing(right)) { return undefined; } @@ -1301,10 +1327,13 @@ namespace ts { } const moduleReferenceLiteral = moduleReferenceExpression; + return resolveExternalModule(location, moduleReferenceLiteral.text, moduleNotFoundError, moduleReferenceLiteral); + } + function resolveExternalModule(location: Node, moduleReference: string, moduleNotFoundError: DiagnosticMessage, errorNode: Node): Symbol { // Module names are escaped in our symbol table. However, string literal values aren't. // Escape the name in the "require(...)" clause to ensure we find the right symbol. - const moduleName = escapeIdentifier(moduleReferenceLiteral.text); + const moduleName = escapeIdentifier(moduleReference); if (moduleName === undefined) { return; @@ -1319,7 +1348,7 @@ namespace ts { } } - const resolvedModule = getResolvedModule(getSourceFileOfNode(location), moduleReferenceLiteral.text); + const resolvedModule = getResolvedModule(getSourceFileOfNode(location), moduleReference); const sourceFile = resolvedModule && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { if (sourceFile.symbol) { @@ -1328,7 +1357,7 @@ namespace ts { } if (moduleNotFoundError) { // report errors only if it was requested - error(moduleReferenceLiteral, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); + error(errorNode, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); } return undefined; } @@ -1342,7 +1371,14 @@ namespace ts { if (moduleNotFoundError) { // report errors only if it was requested - error(moduleReferenceLiteral, moduleNotFoundError, moduleName); + const tsExtension = tryExtractTypeScriptExtension(moduleName); + if (tsExtension) { + const diag = Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead; + error(errorNode, diag, tsExtension, removeExtension(moduleName, tsExtension)); + } + else { + error(errorNode, moduleNotFoundError, moduleName); + } } return undefined; } @@ -1393,7 +1429,7 @@ namespace ts { */ function extendExportSymbols(target: SymbolTable, source: SymbolTable, lookupTable?: Map, exportNode?: ExportDeclaration) { for (const id in source) { - if (id !== "default" && !hasProperty(target, id)) { + if (id !== "default" && !target[id]) { target[id] = source[id]; if (lookupTable && exportNode) { lookupTable[id] = { @@ -1401,7 +1437,7 @@ namespace ts { } as ExportCollisionTracker; } } - else if (lookupTable && exportNode && id !== "default" && hasProperty(target, id) && resolveSymbol(target[id]) !== resolveSymbol(source[id])) { + else if (lookupTable && exportNode && id !== "default" && target[id] && resolveSymbol(target[id]) !== resolveSymbol(source[id])) { if (!lookupTable[id].exportsWithDuplicate) { lookupTable[id].exportsWithDuplicate = [exportNode]; } @@ -1423,12 +1459,12 @@ namespace ts { return; } visitedSymbols.push(symbol); - const symbols = cloneSymbolTable(symbol.exports); + const symbols = cloneMap(symbol.exports); // All export * declarations are collected in an __export symbol by the binder const exportStars = symbol.exports["__export"]; if (exportStars) { - const nestedSymbols: SymbolTable = {}; - const lookupTable: Map = {}; + const nestedSymbols = createMap(); + const lookupTable = createMap(); for (const node of exportStars.declarations) { const resolvedModule = resolveExternalModuleName(node, (node as ExportDeclaration).moduleSpecifier); const exportedSymbols = visit(resolvedModule); @@ -1442,7 +1478,7 @@ namespace ts { for (const id in lookupTable) { const { exportsWithDuplicate } = lookupTable[id]; // It's not an error if the file with multiple `export *`s with duplicate names exports a member with that name itself - if (id === "export=" || !(exportsWithDuplicate && exportsWithDuplicate.length) || hasProperty(symbols, id)) { + if (id === "export=" || !(exportsWithDuplicate && exportsWithDuplicate.length) || symbols[id]) { continue; } for (const node of exportsWithDuplicate) { @@ -1510,8 +1546,8 @@ namespace ts { function createType(flags: TypeFlags): Type { const result = new Type(checker, flags); - result.id = typeCount; typeCount++; + result.id = typeCount; return result; } @@ -1521,6 +1557,13 @@ namespace ts { return type; } + function createBooleanType(trueFalseTypes: Type[]): IntrinsicType & UnionType { + const type = getUnionType(trueFalseTypes); + type.flags |= TypeFlags.Boolean; + type.intrinsicName = "boolean"; + return type; + } + function createObjectType(kind: TypeFlags, symbol?: Symbol): ObjectType { const type = createType(kind); type.symbol = symbol; @@ -1541,13 +1584,11 @@ namespace ts { function getNamedMembers(members: SymbolTable): Symbol[] { let result: Symbol[]; for (const id in members) { - if (hasProperty(members, id)) { - if (!isReservedMemberName(id)) { - if (!result) result = []; - const symbol = members[id]; - if (symbolIsValue(symbol)) { - result.push(symbol); - } + if (!isReservedMemberName(id)) { + if (!result) result = []; + const symbol = members[id]; + if (symbolIsValue(symbol)) { + result.push(symbol); } } } @@ -1623,12 +1664,12 @@ namespace ts { } // If symbol is directly available by its name in the symbol table - if (isAccessible(lookUp(symbols, symbol.name))) { + if (isAccessible(symbols[symbol.name])) { return [symbol]; } // Check if symbol is any of the alias - return forEachValue(symbols, symbolFromSymbolTable => { + return forEachProperty(symbols, symbolFromSymbolTable => { if (symbolFromSymbolTable.flags & SymbolFlags.Alias && symbolFromSymbolTable.name !== "export=" && !getDeclarationOfKind(symbolFromSymbolTable, SyntaxKind.ExportSpecifier)) { @@ -1663,12 +1704,12 @@ namespace ts { let qualify = false; forEachSymbolTableInScope(enclosingDeclaration, symbolTable => { // If symbol of this name is not available in the symbol table we are ok - if (!hasProperty(symbolTable, symbol.name)) { + let symbolFromSymbolTable = symbolTable[symbol.name]; + if (!symbolFromSymbolTable) { // Continue to the next symbol table return false; } // If the symbol with this name is present it should refer to the symbol - let symbolFromSymbolTable = symbolTable[symbol.name]; if (symbolFromSymbolTable === symbol) { // No need to qualify return true; @@ -1792,7 +1833,7 @@ namespace ts { const anyImportSyntax = getAnyImportSyntax(declaration); if (anyImportSyntax && - !(anyImportSyntax.flags & NodeFlags.Export) && // import clause without export + !(getModifierFlags(anyImportSyntax) & ModifierFlags.Export) && // import clause without export isDeclarationVisible(anyImportSyntax.parent)) { getNodeLinks(declaration).isVisible = true; if (aliasesToMakeVisible) { @@ -1814,7 +1855,7 @@ namespace ts { } } - function isEntityNameVisible(entityName: EntityName | Expression, enclosingDeclaration: Node): SymbolVisibilityResult { + function isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node): SymbolVisibilityResult { // get symbol of the first identifier of the entityName let meaning: SymbolFlags; if (entityName.parent.kind === SyntaxKind.TypeQuery || isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent)) { @@ -1895,11 +1936,35 @@ namespace ts { return result; } - function visibilityToString(flags: NodeFlags) { - if (flags === NodeFlags.Private) { + function formatUnionTypes(types: Type[]): Type[] { + const result: Type[] = []; + let flags: TypeFlags = 0; + for (let i = 0; i < types.length; i++) { + const t = types[i]; + flags |= t.flags; + if (!(t.flags & TypeFlags.Nullable)) { + if (t.flags & (TypeFlags.BooleanLiteral | TypeFlags.EnumLiteral)) { + const baseType = t.flags & TypeFlags.BooleanLiteral ? booleanType : (t).baseType; + const count = baseType.types.length; + if (i + count <= types.length && types[i + count - 1] === baseType.types[count - 1]) { + result.push(baseType); + i += count - 1; + continue; + } + } + result.push(t); + } + } + if (flags & TypeFlags.Null) result.push(nullType); + if (flags & TypeFlags.Undefined) result.push(undefinedType); + return result || types; + } + + function visibilityToString(flags: ModifierFlags) { + if (flags === ModifierFlags.Private) { return "private"; } - if (flags === NodeFlags.Protected) { + if (flags === ModifierFlags.Protected) { return "protected"; } return "public"; @@ -2003,7 +2068,7 @@ namespace ts { parentSymbol = symbol; } - // const the writer know we just wrote out a symbol. The declaration emitter writer uses + // Let the writer know we just wrote out a symbol. The declaration emitter writer uses // this to determine if an import it has previously seen (and not written out) needs // to be written to the file once the walk of the tree is complete. // @@ -2011,37 +2076,34 @@ namespace ts { // up front (for example, during checking) could determine if we need to emit the imports // and we could then access that data during declaration emit. writer.trackSymbol(symbol, enclosingDeclaration, meaning); - function walkSymbol(symbol: Symbol, meaning: SymbolFlags): void { - if (symbol) { - const accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, !!(flags & SymbolFormatFlags.UseOnlyExternalAliasing)); + /** @param endOfChain Set to false for recursive calls; non-recursive calls should always output something. */ + function walkSymbol(symbol: Symbol, meaning: SymbolFlags, endOfChain: boolean): void { + const accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, !!(flags & SymbolFormatFlags.UseOnlyExternalAliasing)); - if (!accessibleSymbolChain || - needsQualification(accessibleSymbolChain[0], enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { + if (!accessibleSymbolChain || + needsQualification(accessibleSymbolChain[0], enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { - // Go up and add our parent. - walkSymbol( - getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol), - getQualifiedLeftMeaning(meaning)); + // Go up and add our parent. + const parent = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); + if (parent) { + walkSymbol(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); } + } - if (accessibleSymbolChain) { - for (const accessibleSymbol of accessibleSymbolChain) { - appendParentTypeArgumentsAndSymbolName(accessibleSymbol); - } + if (accessibleSymbolChain) { + for (const accessibleSymbol of accessibleSymbolChain) { + appendParentTypeArgumentsAndSymbolName(accessibleSymbol); } - else { - // If we didn't find accessible symbol chain for this symbol, break if this is external module - if (!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol)) { - return; - } + } + else if ( + // 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`.) + !(!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol)) && + // If a parent symbol is an anonymous type, don't write it. + !(symbol.flags & (SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral))) { - // if this is anonymous type break - if (symbol.flags & SymbolFlags.TypeLiteral || symbol.flags & SymbolFlags.ObjectLiteral) { - return; - } - - appendParentTypeArgumentsAndSymbolName(symbol); - } + appendParentTypeArgumentsAndSymbolName(symbol); } } @@ -2051,11 +2113,11 @@ namespace ts { const isTypeParameter = symbol.flags & SymbolFlags.TypeParameter; const typeFormatFlag = TypeFormatFlags.UseFullyQualifiedType & typeFlags; if (!isTypeParameter && (enclosingDeclaration || typeFormatFlag)) { - walkSymbol(symbol, meaning); - return; + walkSymbol(symbol, meaning, /*endOfChain*/ true); + } + else { + appendParentTypeArgumentsAndSymbolName(symbol); } - - return appendParentTypeArgumentsAndSymbolName(symbol); } function buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]) { @@ -2064,6 +2126,7 @@ namespace ts { return writeType(type, globalFlags); function writeType(type: Type, flags: TypeFormatFlags) { + const nextFlags = flags & ~TypeFormatFlags.InTypeAlias; // Write undefined/null type as any if (type.flags & TypeFlags.Intrinsic) { // Special handling for unknown / resolving types, they should show up as any and not unknown or __resolving @@ -2078,23 +2141,32 @@ namespace ts { writer.writeKeyword("this"); } else if (type.flags & TypeFlags.Reference) { - writeTypeReference(type, flags); + writeTypeReference(type, nextFlags); + } + else if (type.flags & TypeFlags.EnumLiteral) { + buildSymbolDisplay(getParentOfSymbol(type.symbol), writer, enclosingDeclaration, SymbolFlags.Type, SymbolFormatFlags.None, nextFlags); + writePunctuation(writer, SyntaxKind.DotToken); + appendSymbolNameOnly(type.symbol, writer); } else if (type.flags & (TypeFlags.Class | TypeFlags.Interface | TypeFlags.Enum | TypeFlags.TypeParameter)) { // The specified symbol flags need to be reinterpreted as type flags - buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, SymbolFlags.Type, SymbolFormatFlags.None, flags); + buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, SymbolFlags.Type, SymbolFormatFlags.None, nextFlags); } - else if (type.flags & TypeFlags.Tuple) { - writeTupleType(type); + else if (!(flags & TypeFormatFlags.InTypeAlias) && type.flags & (TypeFlags.Anonymous | TypeFlags.UnionOrIntersection) && type.aliasSymbol) { + const typeArguments = type.aliasTypeArguments; + writeSymbolTypeReference(type.aliasSymbol, typeArguments, 0, typeArguments ? typeArguments.length : 0, nextFlags); } else if (type.flags & TypeFlags.UnionOrIntersection) { - writeUnionOrIntersectionType(type, flags); + writeUnionOrIntersectionType(type, nextFlags); } else if (type.flags & TypeFlags.Anonymous) { - writeAnonymousType(type, flags); + writeAnonymousType(type, nextFlags); } else if (type.flags & TypeFlags.StringLiteral) { - writer.writeStringLiteral(`"${escapeString((type).text)}"`); + writer.writeStringLiteral(`"${escapeString((type).text)}"`); + } + else if (type.flags & TypeFlags.NumberLiteral) { + writer.writeStringLiteral((type).text); } else { // Should never get here @@ -2146,6 +2218,11 @@ namespace ts { writePunctuation(writer, SyntaxKind.OpenBracketToken); writePunctuation(writer, SyntaxKind.CloseBracketToken); } + else if (type.target.flags & TypeFlags.Tuple) { + writePunctuation(writer, SyntaxKind.OpenBracketToken); + writeTypeList(type.typeArguments.slice(0, getTypeReferenceArity(type)), SyntaxKind.CommaToken); + writePunctuation(writer, SyntaxKind.CloseBracketToken); + } else { // Write the type reference in the format f.g.C where A and B are type arguments // for outer type parameters, and f and g are the respective declaring containers of those @@ -2174,17 +2251,16 @@ namespace ts { } } - function writeTupleType(type: TupleType) { - writePunctuation(writer, SyntaxKind.OpenBracketToken); - writeTypeList(type.elementTypes, SyntaxKind.CommaToken); - writePunctuation(writer, SyntaxKind.CloseBracketToken); - } - function writeUnionOrIntersectionType(type: UnionOrIntersectionType, flags: TypeFormatFlags) { if (flags & TypeFormatFlags.InElementType) { writePunctuation(writer, SyntaxKind.OpenParenToken); } - writeTypeList(type.types, type.flags & TypeFlags.Union ? SyntaxKind.BarToken : SyntaxKind.AmpersandToken); + if (type.flags & TypeFlags.Union) { + writeTypeList(formatUnionTypes(type.types), SyntaxKind.BarToken); + } + else { + writeTypeList(type.types, SyntaxKind.AmpersandToken); + } if (flags & TypeFormatFlags.InElementType) { writePunctuation(writer, SyntaxKind.CloseParenToken); } @@ -2230,7 +2306,7 @@ namespace ts { function shouldWriteTypeOfFunctionSymbol() { const isStaticMethodSymbol = !!(symbol.flags & SymbolFlags.Method && // typeof static method - forEach(symbol.declarations, declaration => declaration.flags & NodeFlags.Static)); + forEach(symbol.declarations, declaration => getModifierFlags(declaration) & ModifierFlags.Static)); const isNonLocalFunctionSymbol = !!(symbol.flags & SymbolFlags.Function) && (symbol.parent || // is exported function symbol forEach(symbol.declarations, declaration => @@ -2426,8 +2502,8 @@ namespace ts { } } - function buildBindingElementDisplay(bindingElement: BindingElement, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { - if (bindingElement.kind === SyntaxKind.OmittedExpression) { + function buildBindingElementDisplay(bindingElement: ArrayBindingElement, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, symbolStack?: Symbol[]) { + if (isOmittedExpression(bindingElement)) { return; } Debug.assert(bindingElement.kind === SyntaxKind.BindingElement); @@ -2597,7 +2673,7 @@ namespace ts { } const parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) - if (!(getCombinedNodeFlags(node) & NodeFlags.Export) && + if (!(getCombinedModifierFlags(node) & ModifierFlags.Export) && !(node.kind !== SyntaxKind.ImportEqualsDeclaration && parent.kind !== SyntaxKind.SourceFile && isInAmbientContext(parent))) { return isGlobalSourceFile(parent); } @@ -2610,7 +2686,7 @@ namespace ts { case SyntaxKind.SetAccessor: case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: - if (node.flags & (NodeFlags.Private | NodeFlags.Protected)) { + if (getModifierFlags(node) & (ModifierFlags.Private | ModifierFlags.Protected)) { // Private/protected properties/methods are not visible return false; } @@ -2843,7 +2919,7 @@ namespace ts { // undefined or any type of the parent. if (!parentType || isTypeAny(parentType)) { if (declaration.initializer) { - return checkExpressionCached(declaration.initializer); + return getBaseTypeOfLiteralType(checkExpressionCached(declaration.initializer)); } return parentType; } @@ -2885,7 +2961,7 @@ namespace ts { : elementType; if (!type) { if (isTupleType(parentType)) { - error(declaration, Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2, typeToString(parentType), (parentType).elementTypes.length, pattern.elements.length); + error(declaration, Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2, typeToString(parentType), getTypeReferenceArity(parentType), pattern.elements.length); } else { error(declaration, Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); @@ -2900,10 +2976,12 @@ namespace ts { } // 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 && !(getCombinedTypeFlags(checkExpressionCached(declaration.initializer)) & TypeFlags.Undefined)) { + if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & TypeFlags.Undefined)) { type = getTypeWithFacts(type, TypeFacts.NEUndefined); } - return type; + return declaration.initializer ? + getUnionType([type, checkExpressionCached(declaration.initializer)], /*subtypeReduction*/ true) : + type; } function getTypeForVariableLikeDeclarationFromJSDocComment(declaration: VariableLikeDeclaration) { @@ -2943,7 +3021,7 @@ namespace ts { } function addOptionality(type: Type, optional: boolean): Type { - return strictNullChecks && optional ? addTypeKind(type, TypeFlags.Undefined) : type; + return strictNullChecks && optional ? includeFalsyTypes(type, TypeFlags.Undefined) : type; } // Return the inferred type for a variable, parameter, or property declaration @@ -2997,9 +3075,14 @@ namespace ts { } } // Use contextual parameter type if one is available - const type = declaration.symbol.name === "this" - ? getContextuallyTypedThisType(func) - : getContextuallyTypedParameterType(declaration); + let type: Type; + if (declaration.symbol.name === "this") { + const thisParameter = getContextualThisParameter(func); + type = thisParameter ? getTypeOfSymbol(thisParameter) : undefined; + } + else { + type = getContextuallyTypedParameterType(declaration); + } if (type) { return addOptionality(type, /*optional*/ declaration.questionToken && includeOptionality); } @@ -3007,7 +3090,9 @@ namespace ts { // Use the type of the initializer expression if one is present if (declaration.initializer) { - return addOptionality(checkExpressionCached(declaration.initializer), /*optional*/ declaration.questionToken && includeOptionality); + const exprType = checkExpressionCached(declaration.initializer); + const type = getCombinedNodeFlags(declaration) & NodeFlags.Const || getCombinedModifierFlags(declaration) & ModifierFlags.Readonly ? exprType : getBaseTypeOfLiteralType(exprType); + return addOptionality(type, /*optional*/ declaration.questionToken && includeOptionality); } // If it is a short-hand property assignment, use the type of the identifier @@ -3017,7 +3102,7 @@ namespace ts { // If the declaration specifies a binding pattern, use the type implied by the binding pattern if (isBindingPattern(declaration.name)) { - return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ false); + return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ false, /*reportErrors*/ true); } // No type specified and nothing can be inferred @@ -3027,24 +3112,23 @@ namespace ts { // Return the type implied by a binding pattern element. This is the type of the initializer of the element if // one is present. Otherwise, if the element is itself a binding pattern, it is the type implied by the binding // pattern. Otherwise, it is the type any. - function getTypeFromBindingElement(element: BindingElement, includePatternInType?: boolean): Type { + function getTypeFromBindingElement(element: BindingElement, includePatternInType?: boolean, reportErrors?: boolean): Type { if (element.initializer) { - const type = checkExpressionCached(element.initializer); - reportErrorsFromWidening(element, type); - return getWidenedType(type); + const exprType = checkExpressionCached(element.initializer); + return getCombinedNodeFlags(element) & NodeFlags.Const ? exprType : getBaseTypeOfLiteralType(exprType); } if (isBindingPattern(element.name)) { - return getTypeFromBindingPattern(element.name, includePatternInType); + return getTypeFromBindingPattern(element.name, includePatternInType, reportErrors); } - if (compilerOptions.noImplicitAny && !declarationBelongsToPrivateAmbientMember(element)) { + if (reportErrors && compilerOptions.noImplicitAny && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAnyError(element, anyType); } return anyType; } // Return the type implied by an object binding pattern - function getTypeFromObjectBindingPattern(pattern: BindingPattern, includePatternInType: boolean): Type { - const members: SymbolTable = {}; + function getTypeFromObjectBindingPattern(pattern: ObjectBindingPattern, includePatternInType: boolean, reportErrors: boolean): Type { + const members = createMap(); let hasComputedProperties = false; forEach(pattern.elements, e => { const name = e.propertyName || e.name; @@ -3057,7 +3141,7 @@ namespace ts { const text = getTextOfPropertyName(name); const flags = SymbolFlags.Property | SymbolFlags.Transient | (e.initializer ? SymbolFlags.Optional : 0); const symbol = createSymbol(flags, text); - symbol.type = getTypeFromBindingElement(e, includePatternInType); + symbol.type = getTypeFromBindingElement(e, includePatternInType, reportErrors); symbol.bindingElement = e; members[symbol.name] = symbol; }); @@ -3072,19 +3156,20 @@ namespace ts { } // Return the type implied by an array binding pattern - function getTypeFromArrayBindingPattern(pattern: BindingPattern, includePatternInType: boolean): Type { + function getTypeFromArrayBindingPattern(pattern: BindingPattern, includePatternInType: boolean, reportErrors: boolean): Type { const elements = pattern.elements; - if (elements.length === 0 || elements[elements.length - 1].dotDotDotToken) { + const lastElement = lastOrUndefined(elements); + if (elements.length === 0 || (!isOmittedExpression(lastElement) && lastElement.dotDotDotToken)) { return languageVersion >= ScriptTarget.ES6 ? createIterableType(anyType) : anyArrayType; } // If the pattern has at least one element, and no rest element, then it should imply a tuple type. - const elementTypes = map(elements, e => e.kind === SyntaxKind.OmittedExpression ? anyType : getTypeFromBindingElement(e, includePatternInType)); + const elementTypes = map(elements, e => isOmittedExpression(e) ? anyType : getTypeFromBindingElement(e, includePatternInType, reportErrors)); + let result = createTupleType(elementTypes); if (includePatternInType) { - const result = createNewTupleType(elementTypes); + result = cloneTypeReference(result); result.pattern = pattern; - return result; } - return createTupleType(elementTypes); + return result; } // Return the type implied by a binding pattern. This is the type implied purely by the binding pattern itself @@ -3094,10 +3179,10 @@ namespace ts { // used as the contextual type of an initializer associated with the binding pattern. Also, for a destructuring // parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of // the parameter. - function getTypeFromBindingPattern(pattern: BindingPattern, includePatternInType?: boolean): Type { + function getTypeFromBindingPattern(pattern: BindingPattern, includePatternInType?: boolean, reportErrors?: boolean): Type { return pattern.kind === SyntaxKind.ObjectBindingPattern - ? getTypeFromObjectBindingPattern(pattern, includePatternInType) - : getTypeFromArrayBindingPattern(pattern, includePatternInType); + ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) + : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } // Return the type associated with a variable, parameter, or property declaration. In the simple case this is the type @@ -3166,7 +3251,7 @@ namespace ts { return unknownType; } - let type: Type = undefined; + let type: Type; // Handle certain special assignment kinds, which happen to union across multiple declarations: // * module.exports = expr // * exports.p = expr @@ -3174,13 +3259,20 @@ namespace ts { // * className.prototype.method = expr if (declaration.kind === SyntaxKind.BinaryExpression || declaration.kind === SyntaxKind.PropertyAccessExpression && declaration.parent.kind === SyntaxKind.BinaryExpression) { - type = getUnionType(map(symbol.declarations, - decl => decl.kind === SyntaxKind.BinaryExpression ? - checkExpressionCached((decl).right) : - checkExpressionCached((decl.parent).right))); + // Use JS Doc type if present on parent expression statement + if (declaration.flags & NodeFlags.JavaScriptFile) { + const typeTag = getJSDocTypeTag(declaration.parent); + if (typeTag && typeTag.typeExpression) { + return links.type = getTypeFromTypeNode(typeTag.typeExpression.type); + } + } + const declaredTypes = map(symbol.declarations, + decl => decl.kind === SyntaxKind.BinaryExpression ? + checkExpressionCached((decl).right) : + checkExpressionCached((decl.parent).right)); + type = getUnionType(declaredTypes, /*subtypeReduction*/ true); } - - if (type === undefined) { + else { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); } @@ -3265,7 +3357,13 @@ namespace ts { // Otherwise, fall back to 'any'. else { if (compilerOptions.noImplicitAny) { - error(setter, Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation, symbolToString(symbol)); + if (setter) { + error(setter, Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol)); + } + else { + Debug.assert(!!getter, "there must existed getter as we are current checking either setter or getter in this function"); + error(getter, Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol)); + } } type = anyType; } @@ -3286,13 +3384,13 @@ namespace ts { function getTypeOfFuncClassEnumModule(symbol: Symbol): Type { const links = getSymbolLinks(symbol); if (!links.type) { - if (symbol.valueDeclaration.kind === SyntaxKind.ModuleDeclaration && isShorthandAmbientModule(symbol.valueDeclaration)) { + if (symbol.valueDeclaration.kind === SyntaxKind.ModuleDeclaration && isShorthandAmbientModuleSymbol(symbol)) { links.type = anyType; } else { const type = createObjectType(TypeFlags.Anonymous, symbol); links.type = strictNullChecks && symbol.flags & SymbolFlags.Optional ? - addTypeKind(type, TypeFlags.Undefined) : type; + includeFalsyTypes(type, TypeFlags.Undefined) : type; } } return links.type; @@ -3301,7 +3399,7 @@ namespace ts { function getTypeOfEnumMember(symbol: Symbol): Type { const links = getSymbolLinks(symbol); if (!links.type) { - links.type = getDeclaredTypeOfEnum(getParentOfSymbol(symbol)); + links.type = getDeclaredTypeOfEnumMember(symbol); } return links.type; } @@ -3446,7 +3544,7 @@ namespace ts { function getInstantiatedConstructorsForTypeArguments(type: ObjectType, typeArgumentNodes: TypeNode[]): Signature[] { let signatures = getConstructorsForTypeArguments(type, typeArgumentNodes); if (typeArgumentNodes) { - const typeArguments = map(typeArgumentNodes, getTypeFromTypeNode); + const typeArguments = map(typeArgumentNodes, getTypeFromTypeNodeNoAlias); signatures = map(signatures, sig => getSignatureInstantiation(sig, typeArguments)); } return signatures; @@ -3486,18 +3584,21 @@ namespace ts { } function getBaseTypes(type: InterfaceType): ObjectType[] { - const isClass = type.symbol.flags & SymbolFlags.Class; - const isInterface = type.symbol.flags & SymbolFlags.Interface; if (!type.resolvedBaseTypes) { - if (!isClass && !isInterface) { + if (type.flags & TypeFlags.Tuple) { + type.resolvedBaseTypes = [createArrayType(getUnionType(type.typeParameters))]; + } + else if (type.symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { + if (type.symbol.flags & SymbolFlags.Class) { + resolveBaseTypesOfClass(type); + } + if (type.symbol.flags & SymbolFlags.Interface) { + resolveBaseTypesOfInterface(type); + } + } + else { Debug.fail("type must be class or interface"); } - if (isClass) { - resolveBaseTypesOfClass(type); - } - if (isInterface) { - resolveBaseTypesOfInterface(type); - } } return type.resolvedBaseTypes; } @@ -3602,7 +3703,7 @@ namespace ts { const baseTypeNodes = getInterfaceBaseTypeNodes(declaration); if (baseTypeNodes) { for (const node of baseTypeNodes) { - if (isSupportedExpressionWithTypeArguments(node)) { + if (isEntityNameExpression(node.expression)) { const baseSymbol = resolveEntityName(node.expression, SymbolFlags.Type, /*ignoreErrors*/ true); if (!baseSymbol || !(baseSymbol.flags & SymbolFlags.Interface) || getDeclaredTypeOfClassOrInterface(baseSymbol).thisType) { return false; @@ -3632,7 +3733,7 @@ namespace ts { type.typeParameters = concatenate(outerTypeParameters, localTypeParameters); type.outerTypeParameters = outerTypeParameters; type.localTypeParameters = localTypeParameters; - (type).instantiations = {}; + (type).instantiations = createMap(); (type).instantiations[getTypeListId(type.typeParameters)] = type; (type).target = type; (type).typeArguments = type.typeParameters; @@ -3653,8 +3754,9 @@ namespace ts { return unknownType; } - let type: Type; + const typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); let declaration: JSDocTypedefTag | TypeAliasDeclaration = getDeclarationOfKind(symbol, SyntaxKind.JSDocTypedefTag); + let type: Type; if (declaration) { if (declaration.jsDocTypeLiteral) { type = getTypeFromTypeNode(declaration.jsDocTypeLiteral); @@ -3665,15 +3767,15 @@ namespace ts { } else { declaration = getDeclarationOfKind(symbol, SyntaxKind.TypeAliasDeclaration); - type = getTypeFromTypeNode(declaration.type); + type = getTypeFromTypeNode(declaration.type, symbol, typeParameters); } if (popTypeResolution()) { - links.typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); - if (links.typeParameters) { + links.typeParameters = typeParameters; + if (typeParameters) { // Initialize the instantiation cache for generic type aliases. The declared type corresponds to // an instantiation of the type alias with the type parameters supplied as type arguments. - links.instantiations = {}; + links.instantiations = createMap(); links.instantiations[getTypeListId(links.typeParameters)] = type; } } @@ -3686,12 +3788,72 @@ namespace ts { return links.declaredType; } + function isLiteralEnumMember(symbol: Symbol, member: EnumMember) { + const expr = member.initializer; + if (!expr) { + return !isInAmbientContext(member); + } + return expr.kind === SyntaxKind.NumericLiteral || + expr.kind === SyntaxKind.PrefixUnaryExpression && (expr).operator === SyntaxKind.MinusToken && + (expr).operand.kind === SyntaxKind.NumericLiteral || + expr.kind === SyntaxKind.Identifier && !!symbol.exports[(expr).text]; + } + + function enumHasLiteralMembers(symbol: Symbol) { + for (const declaration of symbol.declarations) { + if (declaration.kind === SyntaxKind.EnumDeclaration) { + for (const member of (declaration).members) { + if (!isLiteralEnumMember(symbol, member)) { + return false; + } + } + } + } + return true; + } + function getDeclaredTypeOfEnum(symbol: Symbol): Type { const links = getSymbolLinks(symbol); if (!links.declaredType) { - const type = createType(TypeFlags.Enum); - type.symbol = symbol; - links.declaredType = type; + const enumType = links.declaredType = createType(TypeFlags.Enum); + enumType.symbol = symbol; + if (enumHasLiteralMembers(symbol)) { + const memberTypeList: Type[] = []; + const memberTypes = createMap(); + for (const declaration of enumType.symbol.declarations) { + if (declaration.kind === SyntaxKind.EnumDeclaration) { + computeEnumMemberValues(declaration); + for (const member of (declaration).members) { + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member); + if (!memberTypes[value]) { + const memberType = memberTypes[value] = createType(TypeFlags.EnumLiteral); + memberType.symbol = memberSymbol; + memberType.baseType = enumType; + memberType.text = "" + value; + memberTypeList.push(memberType); + } + } + } + } + enumType.memberTypes = memberTypes; + if (memberTypeList.length > 1) { + enumType.flags |= TypeFlags.Union; + (enumType).types = memberTypeList; + unionTypes[getTypeListId(memberTypeList)] = enumType; + } + } + } + return links.declaredType; + } + + function getDeclaredTypeOfEnumMember(symbol: Symbol): Type { + const links = getSymbolLinks(symbol); + if (!links.declaredType) { + const enumType = getDeclaredTypeOfEnum(getParentOfSymbol(symbol)); + links.declaredType = enumType.flags & TypeFlags.Union ? + enumType.memberTypes[getEnumMemberValue(symbol.valueDeclaration)] : + enumType; } return links.declaredType; } @@ -3725,11 +3887,14 @@ namespace ts { if (symbol.flags & SymbolFlags.TypeAlias) { return getDeclaredTypeOfTypeAlias(symbol); } + if (symbol.flags & SymbolFlags.TypeParameter) { + return getDeclaredTypeOfTypeParameter(symbol); + } if (symbol.flags & SymbolFlags.Enum) { return getDeclaredTypeOfEnum(symbol); } - if (symbol.flags & SymbolFlags.TypeParameter) { - return getDeclaredTypeOfTypeParameter(symbol); + if (symbol.flags & SymbolFlags.EnumMember) { + return getDeclaredTypeOfEnumMember(symbol); } if (symbol.flags & SymbolFlags.Alias) { return getDeclaredTypeOfAlias(symbol); @@ -3763,7 +3928,7 @@ namespace ts { case SyntaxKind.UndefinedKeyword: case SyntaxKind.NullKeyword: case SyntaxKind.NeverKeyword: - case SyntaxKind.StringLiteralType: + case SyntaxKind.LiteralType: return true; case SyntaxKind.ArrayType: return isIndependentType((node).elementType); @@ -3817,7 +3982,7 @@ namespace ts { } function createSymbolTable(symbols: Symbol[]): SymbolTable { - const result: SymbolTable = {}; + const result = createMap(); for (const symbol of symbols) { result[symbol.name] = symbol; } @@ -3827,7 +3992,7 @@ namespace ts { // The mappingThisOnly flag indicates that the only type parameter being mapped is "this". When the flag is true, // we check symbols to see if we can quickly conclude they are free of "this" references, thus needing no instantiation. function createInstantiatedSymbolTable(symbols: Symbol[], mapper: TypeMapper, mappingThisOnly: boolean): SymbolTable { - const result: SymbolTable = {}; + const result = createMap(); for (const symbol of symbols) { result[symbol.name] = mappingThisOnly && isIndependentMember(symbol) ? symbol : instantiateSymbol(symbol, mapper); } @@ -3836,7 +4001,7 @@ namespace ts { function addInheritedMembers(symbols: SymbolTable, baseSymbols: Symbol[]) { for (const s of baseSymbols) { - if (!hasProperty(symbols, s.name)) { + if (!symbols[s.name]) { symbols[s.name] = s; } } @@ -3863,13 +4028,21 @@ namespace ts { } function resolveObjectTypeMembers(type: ObjectType, source: InterfaceTypeWithDeclaredMembers, typeParameters: TypeParameter[], typeArguments: Type[]) { - let mapper = identityMapper; - let members = source.symbol.members; - let callSignatures = source.declaredCallSignatures; - let constructSignatures = source.declaredConstructSignatures; - let stringIndexInfo = source.declaredStringIndexInfo; - let numberIndexInfo = source.declaredNumberIndexInfo; - if (!rangeEquals(typeParameters, typeArguments, 0, typeParameters.length)) { + let mapper: TypeMapper; + let members: SymbolTable; + let callSignatures: Signature[]; + let constructSignatures: Signature[]; + let stringIndexInfo: IndexInfo; + let numberIndexInfo: IndexInfo; + if (rangeEquals(typeParameters, typeArguments, 0, typeParameters.length)) { + mapper = identityMapper; + members = source.symbol ? source.symbol.members : createSymbolTable(source.declaredProperties); + callSignatures = source.declaredCallSignatures; + constructSignatures = source.declaredConstructSignatures; + stringIndexInfo = source.declaredStringIndexInfo; + numberIndexInfo = source.declaredNumberIndexInfo; + } + else { mapper = createTypeMapper(typeParameters, typeArguments); members = createInstantiatedSymbolTable(source.declaredProperties, mapper, /*mappingThisOnly*/ typeParameters.length === 1); callSignatures = instantiateList(source.declaredCallSignatures, mapper, instantiateSignature); @@ -3879,7 +4052,7 @@ namespace ts { } const baseTypes = getBaseTypes(source); if (baseTypes.length) { - if (members === source.symbol.members) { + if (source.symbol && members === source.symbol.members) { members = createSymbolTable(source.declaredProperties); } const thisArgument = lastOrUndefined(typeArguments); @@ -3908,7 +4081,7 @@ namespace ts { } function createSignature(declaration: SignatureDeclaration, typeParameters: TypeParameter[], thisParameter: Symbol | undefined, parameters: Symbol[], - resolvedReturnType: Type, typePredicate: TypePredicate, minArgumentCount: number, hasRestParameter: boolean, hasStringLiterals: boolean): Signature { + resolvedReturnType: Type, typePredicate: TypePredicate, minArgumentCount: number, hasRestParameter: boolean, hasLiteralTypes: boolean): Signature { const sig = new Signature(checker); sig.declaration = declaration; sig.typeParameters = typeParameters; @@ -3918,23 +4091,23 @@ namespace ts { sig.typePredicate = typePredicate; sig.minArgumentCount = minArgumentCount; sig.hasRestParameter = hasRestParameter; - sig.hasStringLiterals = hasStringLiterals; + sig.hasLiteralTypes = hasLiteralTypes; return sig; } function cloneSignature(sig: Signature): Signature { return createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, sig.resolvedReturnType, - sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); + sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasLiteralTypes); } function getDefaultConstructSignatures(classType: InterfaceType): Signature[] { const baseConstructorType = getBaseConstructorTypeOfClass(classType); const baseSignatures = getSignaturesOfType(baseConstructorType, SignatureKind.Construct); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, undefined, emptyArray, classType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasStringLiterals*/ false)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, emptyArray, classType, /*typePredicate*/ undefined, 0, /*hasRestParameter*/ false, /*hasLiteralTypes*/ false)]; } const baseTypeNode = getBaseTypeNodeOfClass(classType); - const typeArguments = map(baseTypeNode.typeArguments, getTypeFromTypeNode); + const typeArguments = map(baseTypeNode.typeArguments, getTypeFromTypeNodeNoAlias); const typeArgCount = typeArguments ? typeArguments.length : 0; const result: Signature[] = []; for (const baseSig of baseSignatures) { @@ -3949,25 +4122,6 @@ namespace ts { return result; } - function createTupleTypeMemberSymbols(memberTypes: Type[]): SymbolTable { - const members: SymbolTable = {}; - for (let i = 0; i < memberTypes.length; i++) { - const symbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "" + i); - symbol.type = memberTypes[i]; - members[i] = symbol; - } - return members; - } - - function resolveTupleTypeMembers(type: TupleType) { - const arrayElementType = getUnionType(type.elementTypes, /*noSubtypeReduction*/ true); - // Make the tuple type itself the 'this' type by including an extra type argument - const arrayType = resolveStructuredTypeMembers(createTypeFromGenericGlobalType(globalArrayType, [arrayElementType, type])); - const members = createTupleTypeMemberSymbols(type.elementTypes); - addInheritedMembers(members, arrayType.properties); - setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexInfo, arrayType.numberIndexInfo); - } - function findMatchingSignature(signatureList: Signature[], signature: Signature, partialMatch: boolean, ignoreThisTypes: boolean, ignoreReturnTypes: boolean): Signature { for (const s of signatureList) { if (compareSignaturesIdentical(s, signature, partialMatch, ignoreThisTypes, ignoreReturnTypes, compareTypesIdentical)) { @@ -4022,7 +4176,7 @@ namespace ts { if (unionSignatures.length > 1) { s = cloneSignature(signature); if (forEach(unionSignatures, sig => sig.thisParameter)) { - const thisType = getUnionType(map(unionSignatures, sig => getTypeOfSymbol(sig.thisParameter) || anyType)); + const thisType = getUnionType(map(unionSignatures, sig => getTypeOfSymbol(sig.thisParameter) || anyType), /*subtypeReduction*/ true); s.thisParameter = createTransientSymbol(signature.thisParameter, thisType); } // Clear resolved return type we possibly got from cloneSignature @@ -4048,7 +4202,7 @@ namespace ts { indexTypes.push(indexInfo.type); isAnyReadonly = isAnyReadonly || indexInfo.isReadonly; } - return createIndexInfo(getUnionType(indexTypes), isAnyReadonly); + return createIndexInfo(getUnionType(indexTypes, /*subtypeReduction*/ true), isAnyReadonly); } function resolveUnionTypeMembers(type: UnionType) { @@ -4146,9 +4300,6 @@ namespace ts { else if (type.flags & TypeFlags.Anonymous) { resolveAnonymousTypeMembers(type); } - else if (type.flags & TypeFlags.Tuple) { - resolveTupleTypeMembers(type); - } else if (type.flags & TypeFlags.Union) { resolveUnionTypeMembers(type); } @@ -4172,11 +4323,9 @@ namespace ts { function getPropertyOfObjectType(type: Type, name: string): Symbol { if (type.flags & TypeFlags.ObjectType) { const resolved = resolveStructuredTypeMembers(type); - if (hasProperty(resolved.members, name)) { - const symbol = resolved.members[name]; - if (symbolIsValue(symbol)) { - return symbol; - } + const symbol = resolved.members[name]; + if (symbol && symbolIsValue(symbol)) { + return symbol; } } } @@ -4230,7 +4379,7 @@ namespace ts { else if (type.flags & TypeFlags.NumberLike) { type = globalNumberType; } - else if (type.flags & TypeFlags.Boolean) { + else if (type.flags & TypeFlags.BooleanLike) { type = globalBooleanType; } else if (type.flags & TypeFlags.ESSymbol) { @@ -4249,7 +4398,7 @@ namespace ts { const type = getApparentType(current); if (type !== unknownType) { const prop = getPropertyOfType(type, name); - if (prop && !(getDeclarationFlagsFromSymbol(prop) & (NodeFlags.Private | NodeFlags.Protected))) { + if (prop && !(getDeclarationModifierFlagsFromSymbol(prop) & (ModifierFlags.Private | ModifierFlags.Protected))) { commonFlags &= prop.flags; if (!props) { props = [prop]; @@ -4275,10 +4424,19 @@ namespace ts { } const propTypes: Type[] = []; const declarations: Declaration[] = []; + let commonType: Type = undefined; + let hasCommonType = true; for (const prop of props) { if (prop.declarations) { addRange(declarations, prop.declarations); } + const type = getTypeOfSymbol(prop); + if (!commonType) { + commonType = type; + } + else if (type !== commonType) { + hasCommonType = false; + } propTypes.push(getTypeOfSymbol(prop)); } const result = createSymbol( @@ -4288,6 +4446,7 @@ namespace ts { commonFlags, name); result.containingType = containingType; + result.hasCommonType = hasCommonType; result.declarations = declarations; result.isReadonly = isReadonly; result.type = containingType.flags & TypeFlags.Union ? getUnionType(propTypes) : getIntersectionType(propTypes); @@ -4295,29 +4454,32 @@ namespace ts { } function getPropertyOfUnionOrIntersectionType(type: UnionOrIntersectionType, name: string): Symbol { - const properties = type.resolvedProperties || (type.resolvedProperties = {}); - if (hasProperty(properties, name)) { - return properties[name]; - } - const property = createUnionOrIntersectionProperty(type, name); - if (property) { - properties[name] = property; + const properties = type.resolvedProperties || (type.resolvedProperties = createMap()); + let property = properties[name]; + if (!property) { + property = createUnionOrIntersectionProperty(type, name); + if (property) { + properties[name] = property; + } } return property; } - // Return the symbol for the property with the given name in the given type. Creates synthetic union properties when - // necessary, maps primitive types and type parameters are to their apparent types, and augments with properties from - // Object and Function as appropriate. + /** + * Return the symbol for the property with the given name in the given type. Creates synthetic union properties when + * necessary, maps primitive types and type parameters are to their apparent types, and augments with properties from + * Object and Function as appropriate. + * + * @param type a type to look up property from + * @param name a name of property to look up in a given type + */ function getPropertyOfType(type: Type, name: string): Symbol { type = getApparentType(type); if (type.flags & TypeFlags.ObjectType) { const resolved = resolveStructuredTypeMembers(type); - if (hasProperty(resolved.members, name)) { - const symbol = resolved.members[name]; - if (symbolIsValue(symbol)) { - return symbol; - } + const symbol = resolved.members[name]; + if (symbol && symbolIsValue(symbol)) { + return symbol; } if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) { const symbol = getPropertyOfObjectType(globalFunctionType, name); @@ -4382,7 +4544,7 @@ namespace ts { } } if (propTypes.length) { - return getUnionType(propTypes); + return getUnionType(propTypes, /*subtypeReduction*/ true); } } return undefined; @@ -4479,7 +4641,7 @@ namespace ts { const links = getNodeLinks(declaration); if (!links.resolvedSignature) { const parameters: Symbol[] = []; - let hasStringLiterals = false; + let hasLiteralTypes = false; let minArgumentCount = -1; let thisParameter: Symbol = undefined; let hasThisParameter: boolean; @@ -4505,8 +4667,8 @@ namespace ts { parameters.push(paramSymbol); } - if (param.type && param.type.kind === SyntaxKind.StringLiteralType) { - hasStringLiterals = true; + if (param.type && param.type.kind === SyntaxKind.LiteralType) { + hasLiteralTypes = true; } if (param.initializer || param.questionToken || param.dotDotDotToken || isJSDocOptionalParameter(param)) { @@ -4537,6 +4699,9 @@ namespace ts { if (isJSConstructSignature) { minArgumentCount--; } + if (!thisParameter && isObjectLiteralMethod(declaration)) { + thisParameter = getContextualThisParameter(declaration); + } const classType = declaration.kind === SyntaxKind.Constructor ? getDeclaredTypeOfClassOrInterface(getMergedSymbol((declaration.parent).symbol)) @@ -4549,7 +4714,7 @@ namespace ts { createTypePredicateFromTypePredicateNode(declaration.type as TypePredicateNode) : undefined; - links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, returnType, typePredicate, minArgumentCount, hasRestParameter(declaration), hasStringLiterals); + links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, returnType, typePredicate, minArgumentCount, hasRestParameter(declaration), hasLiteralTypes); } return links.resolvedSignature; } @@ -4647,7 +4812,7 @@ namespace ts { type = instantiateType(getReturnTypeOfSignature(signature.target), signature.mapper); } else if (signature.unionSignatures) { - type = getUnionType(map(signature.unionSignatures, getReturnTypeOfSignature)); + type = getUnionType(map(signature.unionSignatures, getReturnTypeOfSignature), /*subtypeReduction*/ true); } else { type = getReturnTypeFromBody(signature.declaration); @@ -4698,7 +4863,7 @@ namespace ts { // will result in a different declaration kind. if (!signature.isolatedSignatureType) { const isConstructor = signature.declaration.kind === SyntaxKind.Constructor || signature.declaration.kind === SyntaxKind.ConstructSignature; - const type = createObjectType(TypeFlags.Anonymous | TypeFlags.FromSignature); + const type = createObjectType(TypeFlags.Anonymous); type.members = emptySymbols; type.properties = emptyArray; type.callSignatures = !isConstructor ? [signature] : emptyArray; @@ -4739,7 +4904,7 @@ namespace ts { const declaration = getIndexDeclarationOfSymbol(symbol, kind); if (declaration) { return createIndexInfo(declaration.type ? getTypeFromTypeNode(declaration.type) : anyType, - (declaration.flags & NodeFlags.Readonly) !== 0, declaration); + (getModifierFlags(declaration) & ModifierFlags.Readonly) !== 0, declaration); } return undefined; } @@ -4785,24 +4950,27 @@ namespace ts { } function getTypeListId(types: Type[]) { + let result = ""; if (types) { - switch (types.length) { - case 1: - return "" + types[0].id; - case 2: - return types[0].id + "," + types[1].id; - default: - let result = ""; - for (let i = 0; i < types.length; i++) { - if (i > 0) { - result += ","; - } - result += types[i].id; - } - return result; + const length = types.length; + let i = 0; + while (i < length) { + const startId = types[i].id; + let count = 1; + while (i + count < length && types[i + count].id === startId + count) { + count++; + } + if (result.length) { + result += ","; + } + result += startId; + if (count > 1) { + result += ":" + count; + } + i += count; } } - return ""; + return result; } // This function is used to propagate certain flags when creating new object type references and union types. @@ -4832,6 +5000,17 @@ namespace ts { return type; } + function cloneTypeReference(source: TypeReference): TypeReference { + const type = createObjectType(source.flags, source.symbol); + type.target = source.target; + type.typeArguments = source.typeArguments; + return type; + } + + function getTypeReferenceArity(type: TypeReference): number { + return type.target.typeParameters ? type.target.typeParameters.length : 0; + } + // Get type from reference to class or interface function getTypeFromClassOrInterfaceReference(node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference, symbol: Symbol): Type { const type = getDeclaredTypeOfSymbol(getMergedSymbol(symbol)); @@ -4844,7 +5023,7 @@ namespace ts { // In a type reference, the outer type parameters of the referenced class or interface are automatically // supplied as type arguments and the type reference only specifies arguments for the local type parameters // of the class or interface. - return createTypeReference(type, concatenate(type.outerTypeParameters, map(node.typeArguments, getTypeFromTypeNode))); + return createTypeReference(type, concatenate(type.outerTypeParameters, map(node.typeArguments, getTypeFromTypeNodeNoAlias))); } if (node.typeArguments) { error(node, Diagnostics.Type_0_is_not_generic, typeToString(type)); @@ -4865,7 +5044,7 @@ namespace ts { error(node, Diagnostics.Generic_type_0_requires_1_type_argument_s, symbolToString(symbol), typeParameters.length); return unknownType; } - const typeArguments = map(node.typeArguments, getTypeFromTypeNode); + const typeArguments = map(node.typeArguments, getTypeFromTypeNodeNoAlias); const id = getTypeListId(typeArguments); return links.instantiations[id] || (links.instantiations[id] = instantiateType(type, createTypeMapper(typeParameters, typeArguments))); } @@ -4885,7 +5064,7 @@ namespace ts { return getDeclaredTypeOfSymbol(symbol); } - function getTypeReferenceName(node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference): LeftHandSideExpression | EntityName { + function getTypeReferenceName(node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference): EntityNameOrEntityNameExpression | undefined { switch (node.kind) { case SyntaxKind.TypeReference: return (node).typeName; @@ -4894,8 +5073,9 @@ namespace ts { case SyntaxKind.ExpressionWithTypeArguments: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. - if (isSupportedExpressionWithTypeArguments(node)) { - return (node).expression; + const expr = (node).expression; + if (isEntityNameExpression(expr)) { + return expr; } // fall through; @@ -4906,7 +5086,7 @@ namespace ts { function resolveTypeReferenceName( node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference, - typeReferenceName: LeftHandSideExpression | EntityName) { + typeReferenceName: EntityNameExpression | EntityName) { if (!typeReferenceName) { return unknownSymbol; @@ -4947,15 +5127,14 @@ namespace ts { const typeReferenceName = getTypeReferenceName(node); symbol = resolveTypeReferenceName(node, typeReferenceName); type = getTypeReferenceType(node, symbol); - - links.resolvedSymbol = symbol; - links.resolvedType = type; } else { // We only support expressions that are simple qualified names. For other expressions this produces undefined. - const typeNameOrExpression = node.kind === SyntaxKind.TypeReference ? (node).typeName : - isSupportedExpressionWithTypeArguments(node) ? (node).expression : - undefined; + const typeNameOrExpression: EntityNameOrEntityNameExpression = node.kind === SyntaxKind.TypeReference + ? (node).typeName + : isEntityNameExpression((node).expression) + ? (node).expression + : undefined; symbol = typeNameOrExpression && resolveEntityName(typeNameOrExpression, SymbolFlags.Type) || unknownSymbol; type = symbol === unknownSymbol ? unknownType : symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface) ? getTypeFromClassOrInterfaceReference(node, symbol) : @@ -5074,22 +5253,53 @@ namespace ts { return links.resolvedType; } - function createTupleType(elementTypes: Type[]) { - const id = getTypeListId(elementTypes); - return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes)); + // We represent tuple types as type references to synthesized generic interface types created by + // this function. The types are of the form: + // + // interface Tuple extends Array { 0: T0, 1: T1, 2: T2, ... } + // + // Note that the generic type created by this function has no symbol associated with it. The same + // is true for each of the synthesized type parameters. + function createTupleTypeOfArity(arity: number): GenericType { + const typeParameters: TypeParameter[] = []; + const properties: Symbol[] = []; + for (let i = 0; i < arity; i++) { + const typeParameter = createType(TypeFlags.TypeParameter); + typeParameters.push(typeParameter); + const property = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "" + i); + property.type = typeParameter; + properties.push(property); + } + const type = createObjectType(TypeFlags.Tuple | TypeFlags.Reference); + type.typeParameters = typeParameters; + type.outerTypeParameters = undefined; + type.localTypeParameters = typeParameters; + type.instantiations = createMap(); + type.instantiations[getTypeListId(type.typeParameters)] = type; + type.target = type; + type.typeArguments = type.typeParameters; + type.thisType = createType(TypeFlags.TypeParameter | TypeFlags.ThisType); + type.thisType.constraint = type; + type.declaredProperties = properties; + type.declaredCallSignatures = emptyArray; + type.declaredConstructSignatures = emptyArray; + type.declaredStringIndexInfo = undefined; + type.declaredNumberIndexInfo = undefined; + return type; } - function createNewTupleType(elementTypes: Type[]) { - const propagatedFlags = getPropagatingFlagsOfTypes(elementTypes, /*excludeKinds*/ 0); - const type = createObjectType(TypeFlags.Tuple | propagatedFlags); - type.elementTypes = elementTypes; - return type; + function getTupleTypeOfArity(arity: number): GenericType { + return tupleTypes[arity] || (tupleTypes[arity] = createTupleTypeOfArity(arity)); + } + + function createTupleType(elementTypes: Type[]) { + return createTypeReference(getTupleTypeOfArity(elementTypes.length), elementTypes); } function getTypeFromTupleTypeNode(node: TupleTypeNode): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = createTupleType(map(node.elementTypes, getTypeFromTypeNode)); + links.resolvedType = createTupleType(map(node.elementTypes, getTypeFromTypeNodeNoAlias)); } return links.resolvedType; } @@ -5101,29 +5311,70 @@ namespace ts { containsNonWideningType?: boolean; } - function addTypeToSet(typeSet: TypeSet, type: Type, typeSetKind: TypeFlags) { - if (type.flags & typeSetKind) { - addTypesToSet(typeSet, (type).types, typeSetKind); + function binarySearchTypes(types: Type[], type: Type): number { + let low = 0; + let high = types.length - 1; + const typeId = type.id; + while (low <= high) { + const middle = low + ((high - low) >> 1); + const id = types[middle].id; + if (id === typeId) { + return middle; + } + else if (id > typeId) { + high = middle - 1; + } + else { + low = middle + 1; + } } - else if (type.flags & (TypeFlags.Any | TypeFlags.Undefined | TypeFlags.Null)) { - if (type.flags & TypeFlags.Any) typeSet.containsAny = true; + return ~low; + } + + function containsType(types: Type[], type: Type): boolean { + return binarySearchTypes(types, type) >= 0; + } + + function addTypeToUnion(typeSet: TypeSet, type: Type) { + if (type.flags & TypeFlags.Union) { + addTypesToUnion(typeSet, (type).types); + } + else if (type.flags & TypeFlags.Any) { + typeSet.containsAny = true; + } + else if (!strictNullChecks && type.flags & TypeFlags.Nullable) { if (type.flags & TypeFlags.Undefined) typeSet.containsUndefined = true; if (type.flags & TypeFlags.Null) typeSet.containsNull = true; if (!(type.flags & TypeFlags.ContainsWideningType)) typeSet.containsNonWideningType = true; } - else if (type !== neverType && !contains(typeSet, type)) { - typeSet.push(type); + else if (!(type.flags & TypeFlags.Never)) { + const len = typeSet.length; + const index = len && type.id > typeSet[len - 1].id ? ~len : binarySearchTypes(typeSet, type); + if (index < 0) { + if (!(type.flags & TypeFlags.Anonymous && type.symbol && type.symbol.flags & (SymbolFlags.Function | SymbolFlags.Method) && containsIdenticalType(typeSet, type))) { + typeSet.splice(~index, 0, type); + } + } } } // Add the given types to the given type set. Order is preserved, duplicates are removed, // and nested types of the given kind are flattened into the set. - function addTypesToSet(typeSet: TypeSet, types: Type[], typeSetKind: TypeFlags) { + function addTypesToUnion(typeSet: TypeSet, types: Type[]) { for (const type of types) { - addTypeToSet(typeSet, type, typeSetKind); + addTypeToUnion(typeSet, type); } } + function containsIdenticalType(types: Type[], type: Type) { + for (const t of types) { + if (isTypeIdenticalTo(t, type)) { + return true; + } + } + return false; + } + function isSubtypeOfAny(candidate: Type, types: Type[]): boolean { for (let i = 0, len = types.length; i < len; i++) { if (candidate !== types[i] && isTypeSubtypeOf(candidate, types[i])) { @@ -5138,19 +5389,19 @@ namespace ts { while (i > 0) { i--; if (isSubtypeOfAny(types[i], types)) { - types.splice(i, 1); + orderedRemoveItemAt(types, i); } } } - // We reduce the constituent type set to only include types that aren't subtypes of other types, unless - // the noSubtypeReduction flag is specified, in which case we perform a simple deduplication based on - // object identity. Subtype reduction is possible only when union types are known not to circularly - // reference themselves (as is the case with union types created by expression constructs such as array - // literals and the || and ?: operators). Named types can circularly reference themselves and therefore - // cannot be deduplicated during their declaration. For example, "type Item = string | (() => Item" is - // a named type that circularly references itself. - function getUnionType(types: Type[], noSubtypeReduction?: boolean): Type { + // We sort and deduplicate the constituent types based on object identity. If the subtypeReduction + // flag is specified we also reduce the constituent type set to only include types that aren't subtypes + // of other types. Subtype reduction is expensive for large union types and is possible only when union + // types are known not to circularly reference themselves (as is the case with union types created by + // expression constructs such as array literals and the || and ?: operators). Named types can + // circularly reference themselves and therefore cannot be subtype reduced during their declaration. + // For example, "type Item = string | (() => Item" is a named type that circularly references itself. + function getUnionType(types: Type[], subtypeReduction?: boolean, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { if (types.length === 0) { return neverType; } @@ -5158,15 +5409,11 @@ namespace ts { return types[0]; } const typeSet = [] as TypeSet; - addTypesToSet(typeSet, types, TypeFlags.Union); + addTypesToUnion(typeSet, types); if (typeSet.containsAny) { return anyType; } - if (strictNullChecks) { - if (typeSet.containsNull) typeSet.push(nullType); - if (typeSet.containsUndefined) typeSet.push(undefinedType); - } - if (!noSubtypeReduction) { + if (subtypeReduction) { removeSubtypes(typeSet); } if (typeSet.length === 0) { @@ -5174,45 +5421,71 @@ namespace ts { typeSet.containsUndefined ? typeSet.containsNonWideningType ? undefinedType : undefinedWideningType : neverType; } - else if (typeSet.length === 1) { - return typeSet[0]; + return getUnionTypeFromSortedList(typeSet, aliasSymbol, aliasTypeArguments); + } + + // This function assumes the constituent type list is sorted and deduplicated. + function getUnionTypeFromSortedList(types: Type[], aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { + if (types.length === 0) { + return neverType; } - const id = getTypeListId(typeSet); + if (types.length === 1) { + return types[0]; + } + const id = getTypeListId(types); let type = unionTypes[id]; if (!type) { - const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Nullable); + const propagatedFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ TypeFlags.Nullable); type = unionTypes[id] = createObjectType(TypeFlags.Union | propagatedFlags); - type.types = typeSet; + type.types = types; + type.aliasSymbol = aliasSymbol; + type.aliasTypeArguments = aliasTypeArguments; } return type; } - function getTypeFromUnionTypeNode(node: UnionTypeNode): Type { + function getTypeFromUnionTypeNode(node: UnionTypeNode, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = getUnionType(map(node.types, getTypeFromTypeNode), /*noSubtypeReduction*/ true); + links.resolvedType = getUnionType(map(node.types, getTypeFromTypeNodeNoAlias), /*subtypeReduction*/ false, aliasSymbol, aliasTypeArguments); } return links.resolvedType; } + function addTypeToIntersection(typeSet: TypeSet, type: Type) { + if (type.flags & TypeFlags.Intersection) { + addTypesToIntersection(typeSet, (type).types); + } + else if (type.flags & TypeFlags.Any) { + typeSet.containsAny = true; + } + else if (!(type.flags & TypeFlags.Never) && (strictNullChecks || !(type.flags & TypeFlags.Nullable)) && !contains(typeSet, type)) { + typeSet.push(type); + } + } + + // Add the given types to the given type set. Order is preserved, duplicates are removed, + // and nested types of the given kind are flattened into the set. + function addTypesToIntersection(typeSet: TypeSet, types: Type[]) { + for (const type of types) { + addTypeToIntersection(typeSet, type); + } + } + // We do not perform structural deduplication on intersection types. Intersection types are created only by the & // type operator and we can't reduce those because we want to support recursive intersection types. For example, // a type alias of the form "type List = T & { next: List }" cannot be reduced during its declaration. // 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: Type[]): Type { + function getIntersectionType(types: Type[], aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { if (types.length === 0) { return emptyObjectType; } const typeSet = [] as TypeSet; - addTypesToSet(typeSet, types, TypeFlags.Intersection); + addTypesToIntersection(typeSet, types); if (typeSet.containsAny) { return anyType; } - if (strictNullChecks) { - if (typeSet.containsNull) typeSet.push(nullType); - if (typeSet.containsUndefined) typeSet.push(undefinedType); - } if (typeSet.length === 1) { return typeSet[0]; } @@ -5222,40 +5495,47 @@ namespace ts { const propagatedFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Nullable); type = intersectionTypes[id] = createObjectType(TypeFlags.Intersection | propagatedFlags); type.types = typeSet; + type.aliasSymbol = aliasSymbol; + type.aliasTypeArguments = aliasTypeArguments; } return type; } - function getTypeFromIntersectionTypeNode(node: IntersectionTypeNode): Type { + function getTypeFromIntersectionTypeNode(node: IntersectionTypeNode, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = getIntersectionType(map(node.types, getTypeFromTypeNode)); + links.resolvedType = getIntersectionType(map(node.types, getTypeFromTypeNodeNoAlias), aliasSymbol, aliasTypeArguments); } return links.resolvedType; } - function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node: Node): Type { + function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node: Node, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { const links = getNodeLinks(node); if (!links.resolvedType) { // Deferred resolution of members is handled by resolveObjectTypeMembers - links.resolvedType = createObjectType(TypeFlags.Anonymous, node.symbol); + const type = createObjectType(TypeFlags.Anonymous, node.symbol); + type.aliasSymbol = aliasSymbol; + type.aliasTypeArguments = aliasTypeArguments; + links.resolvedType = type; } return links.resolvedType; } - function getStringLiteralTypeForText(text: string): StringLiteralType { - if (hasProperty(stringLiteralTypes, text)) { - return stringLiteralTypes[text]; - } - const type = stringLiteralTypes[text] = createType(TypeFlags.StringLiteral); + function createLiteralType(flags: TypeFlags, text: string) { + const type = createType(flags); type.text = text; return type; } - function getTypeFromStringLiteralTypeNode(node: StringLiteralTypeNode): Type { + function getLiteralTypeForText(flags: TypeFlags, text: string) { + const map = flags & TypeFlags.StringLiteral ? stringLiteralTypes : numericLiteralTypes; + return map[text] || (map[text] = createLiteralType(flags, text)); + } + + function getTypeFromLiteralTypeNode(node: LiteralTypeNode): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = getStringLiteralTypeForText(unescapeIdentifier(node.text)); + links.resolvedType = checkExpression(node.literal); } return links.resolvedType; } @@ -5272,7 +5552,7 @@ namespace ts { function getTypeFromJSDocTupleType(node: JSDocTupleType): Type { const links = getNodeLinks(node); if (!links.resolvedType) { - const types = map(node.types, getTypeFromTypeNode); + const types = map(node.types, getTypeFromTypeNodeNoAlias); links.resolvedType = createTupleType(types); } return links.resolvedType; @@ -5282,8 +5562,8 @@ namespace ts { const container = getThisContainer(node, /*includeArrowFunctions*/ false); const parent = container && container.parent; if (parent && (isClassLike(parent) || parent.kind === SyntaxKind.InterfaceDeclaration)) { - if (!(container.flags & NodeFlags.Static) && - (container.kind !== SyntaxKind.Constructor || isNodeDescendentOf(node, (container).body))) { + if (!(getModifierFlags(container) & ModifierFlags.Static) && + (container.kind !== SyntaxKind.Constructor || isNodeDescendantOf(node, (container).body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } @@ -5299,7 +5579,11 @@ namespace ts { return links.resolvedType; } - function getTypeFromTypeNode(node: TypeNode): Type { + function getTypeFromTypeNodeNoAlias(type: TypeNode) { + return getTypeFromTypeNode(type, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined); + } + + function getTypeFromTypeNode(node: TypeNode, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { switch (node.kind) { case SyntaxKind.AnyKeyword: case SyntaxKind.JSDocAllType: @@ -5321,11 +5605,19 @@ namespace ts { return nullType; case SyntaxKind.NeverKeyword: return neverType; + case SyntaxKind.JSDocNullKeyword: + return nullType; + case SyntaxKind.JSDocUndefinedKeyword: + return undefinedType; + case SyntaxKind.JSDocNeverKeyword: + return neverType; case SyntaxKind.ThisType: case SyntaxKind.ThisKeyword: return getTypeFromThisTypeNode(node); - case SyntaxKind.StringLiteralType: - return getTypeFromStringLiteralTypeNode(node); + case SyntaxKind.LiteralType: + return getTypeFromLiteralTypeNode(node); + case SyntaxKind.JSDocLiteralType: + return getTypeFromLiteralTypeNode((node).literal); case SyntaxKind.TypeReference: case SyntaxKind.JSDocTypeReference: return getTypeFromTypeReference(node); @@ -5342,9 +5634,9 @@ namespace ts { return getTypeFromTupleTypeNode(node); case SyntaxKind.UnionType: case SyntaxKind.JSDocUnionType: - return getTypeFromUnionTypeNode(node); + return getTypeFromUnionTypeNode(node, aliasSymbol, aliasTypeArguments); case SyntaxKind.IntersectionType: - return getTypeFromIntersectionTypeNode(node); + return getTypeFromIntersectionTypeNode(node, aliasSymbol, aliasTypeArguments); case SyntaxKind.ParenthesizedType: case SyntaxKind.JSDocNullableType: case SyntaxKind.JSDocNonNullableType: @@ -5358,7 +5650,7 @@ namespace ts { case SyntaxKind.JSDocTypeLiteral: case SyntaxKind.JSDocFunctionType: case SyntaxKind.JSDocRecordType: - return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); + return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node, aliasSymbol, aliasTypeArguments); // This function assumes that an identifier or qualified name is a type expression // Callers should first ensure this by calling isTypeNode case SyntaxKind.Identifier: @@ -5411,6 +5703,7 @@ namespace ts { count == 2 ? createBinaryTypeMapper(sources[0], targets ? targets[0] : anyType, sources[1], targets ? targets[1] : anyType) : createArrayTypeMapper(sources, targets); mapper.mappedTypes = sources; + mapper.targetTypes = targets; return mapper; } @@ -5421,7 +5714,7 @@ namespace ts { function getInferenceMapper(context: InferenceContext): TypeMapper { if (!context.mapper) { const mapper: TypeMapper = t => { - const typeParameters = context.typeParameters; + const typeParameters = context.signature.typeParameters; for (let i = 0; i < typeParameters.length; i++) { if (t === typeParameters[i]) { context.inferences[i].isFixed = true; @@ -5430,7 +5723,7 @@ namespace ts { } return t; }; - mapper.mappedTypes = context.typeParameters; + mapper.mappedTypes = context.signature.typeParameters; mapper.context = context; context.mapper = mapper; } @@ -5492,7 +5785,7 @@ namespace ts { instantiateList(signature.parameters, mapper, instantiateSymbol), instantiateType(signature.resolvedReturnType, mapper), freshTypePredicate, - signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); + signature.minArgumentCount, signature.hasRestParameter, signature.hasLiteralTypes); result.target = signature; result.mapper = mapper; return result; @@ -5536,6 +5829,8 @@ namespace ts { const result = createObjectType(TypeFlags.Anonymous | TypeFlags.Instantiated, type.symbol); result.target = type; result.mapper = mapper; + result.aliasSymbol = type.aliasSymbol; + result.aliasTypeArguments = mapper.targetTypes; mapper.instantiations[type.id] = result; return result; } @@ -5609,14 +5904,11 @@ namespace ts { if (type.flags & TypeFlags.Reference) { return createTypeReference((type).target, instantiateList((type).typeArguments, mapper, instantiateType)); } - if (type.flags & TypeFlags.Tuple) { - return createTupleType(instantiateList((type).elementTypes, mapper, instantiateType)); - } - if (type.flags & TypeFlags.Union) { - return getUnionType(instantiateList((type).types, mapper, instantiateType), /*noSubtypeReduction*/ true); + if (type.flags & TypeFlags.Union && !(type.flags & TypeFlags.Primitive)) { + return getUnionType(instantiateList((type).types, mapper, instantiateType), /*subtypeReduction*/ false, type.aliasSymbol, mapper.targetTypes); } if (type.flags & TypeFlags.Intersection) { - return getIntersectionType(instantiateList((type).types, mapper, instantiateType)); + return getIntersectionType(instantiateList((type).types, mapper, instantiateType), type.aliasSymbol, mapper.targetTypes); } } return type; @@ -5684,23 +5976,30 @@ namespace ts { // TYPE CHECKING function isTypeIdenticalTo(source: Type, target: Type): boolean { - return checkTypeRelatedTo(source, target, identityRelation, /*errorNode*/ undefined); + return isTypeRelatedTo(source, target, identityRelation); } function compareTypesIdentical(source: Type, target: Type): Ternary { - return checkTypeRelatedTo(source, target, identityRelation, /*errorNode*/ undefined) ? Ternary.True : Ternary.False; + return isTypeRelatedTo(source, target, identityRelation) ? Ternary.True : Ternary.False; } function compareTypesAssignable(source: Type, target: Type): Ternary { - return checkTypeRelatedTo(source, target, assignableRelation, /*errorNode*/ undefined) ? Ternary.True : Ternary.False; + return isTypeRelatedTo(source, target, assignableRelation) ? Ternary.True : Ternary.False; } function isTypeSubtypeOf(source: Type, target: Type): boolean { - return checkTypeSubtypeOf(source, target, /*errorNode*/ undefined); + return isTypeRelatedTo(source, target, subtypeRelation); } function isTypeAssignableTo(source: Type, target: Type): boolean { - return checkTypeAssignableTo(source, target, /*errorNode*/ undefined); + return isTypeRelatedTo(source, target, assignableRelation); + } + + // A type S is considered to be an instance of a type T if S and T are the same type or if S is a + // subtype of T but not structurally identical to T. This specifically means that two distinct but + // structurally identical types (such as two classes) are not considered instances of each other. + function isTypeInstanceOf(source: Type, target: Type): boolean { + return source === target || isTypeSubtypeOf(source, target) && !isTypeIdenticalTo(source, target); } /** @@ -5708,7 +6007,7 @@ namespace ts { * If one needs to check both directions for comparability, use a second call to this function or 'checkTypeComparableTo'. */ function isTypeComparableTo(source: Type, target: Type): boolean { - return checkTypeComparableTo(source, target, /*errorNode*/ undefined); + return isTypeRelatedTo(source, target, comparableRelation); } function areTypesComparable(type1: Type, type2: Type): boolean { @@ -5737,6 +6036,8 @@ namespace ts { return compareSignaturesRelated(source, target, ignoreReturnTypes, /*reportErrors*/ false, /*errorReporter*/ undefined, compareTypesAssignable) !== Ternary.False; } + type ErrorReporter = (message: DiagnosticMessage, arg0?: string, arg1?: string) => void; + /** * See signatureRelatedTo, compareSignaturesIdentical */ @@ -5744,7 +6045,7 @@ namespace ts { target: Signature, ignoreReturnTypes: boolean, reportErrors: boolean, - errorReporter: (d: DiagnosticMessage, arg0?: string, arg1?: string) => void, + errorReporter: ErrorReporter, compareTypes: (s: Type, t: Type, reportErrors?: boolean) => Ternary): Ternary { // TODO (drosen): De-duplicate code between related functions. if (source === target) { @@ -5829,7 +6130,7 @@ namespace ts { function compareTypePredicateRelatedTo(source: TypePredicate, target: TypePredicate, reportErrors: boolean, - errorReporter: (d: DiagnosticMessage, arg0?: string, arg1?: string) => void, + errorReporter: ErrorReporter, compareTypes: (s: Type, t: Type, reportErrors?: boolean) => Ternary): Ternary { if (source.kind !== target.kind) { if (reportErrors) { @@ -5866,8 +6167,8 @@ namespace ts { const sourceReturnType = getReturnTypeOfSignature(erasedSource); const targetReturnType = getReturnTypeOfSignature(erasedTarget); if (targetReturnType === voidType - || checkTypeRelatedTo(targetReturnType, sourceReturnType, assignableRelation, /*errorNode*/ undefined) - || checkTypeRelatedTo(sourceReturnType, targetReturnType, assignableRelation, /*errorNode*/ undefined)) { + || isTypeRelatedTo(targetReturnType, sourceReturnType, assignableRelation) + || isTypeRelatedTo(sourceReturnType, targetReturnType, assignableRelation)) { return isSignatureAssignableTo(erasedSource, erasedTarget, /*ignoreReturnTypes*/ true); } @@ -5901,6 +6202,64 @@ namespace ts { } } + function isEnumTypeRelatedTo(source: EnumType, target: EnumType, errorReporter?: ErrorReporter) { + if (source === target) { + return true; + } + if (source.symbol.name !== target.symbol.name || !(source.symbol.flags & SymbolFlags.RegularEnum) || !(target.symbol.flags & SymbolFlags.RegularEnum)) { + return false; + } + const targetEnumType = getTypeOfSymbol(target.symbol); + for (const property of getPropertiesOfType(getTypeOfSymbol(source.symbol))) { + if (property.flags & SymbolFlags.EnumMember) { + const targetProperty = getPropertyOfType(targetEnumType, property.name); + if (!targetProperty || !(targetProperty.flags & SymbolFlags.EnumMember)) { + if (errorReporter) { + errorReporter(Diagnostics.Property_0_is_missing_in_type_1, property.name, + typeToString(target, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType)); + } + return false; + } + } + } + return true; + } + + function isSimpleTypeRelatedTo(source: Type, target: Type, relation: Map, errorReporter?: ErrorReporter) { + if (target.flags & TypeFlags.Never) return false; + if (target.flags & TypeFlags.Any || source.flags & TypeFlags.Never) return true; + if (source.flags & TypeFlags.StringLike && target.flags & TypeFlags.String) return true; + if (source.flags & TypeFlags.NumberLike && target.flags & TypeFlags.Number) return true; + if (source.flags & TypeFlags.BooleanLike && target.flags & TypeFlags.Boolean) return true; + if (source.flags & TypeFlags.EnumLiteral && target.flags & TypeFlags.Enum && (source).baseType === target) return true; + if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum && isEnumTypeRelatedTo(source, target, errorReporter)) return true; + if (source.flags & TypeFlags.Undefined && (!strictNullChecks || target.flags & (TypeFlags.Undefined | TypeFlags.Void))) return true; + if (source.flags & TypeFlags.Null && (!strictNullChecks || target.flags & TypeFlags.Null)) return true; + if (relation === assignableRelation || relation === comparableRelation) { + if (source.flags & TypeFlags.Any) return true; + if (source.flags & (TypeFlags.Number | TypeFlags.NumberLiteral) && target.flags & TypeFlags.Enum) return true; + if (source.flags & TypeFlags.NumberLiteral && target.flags & TypeFlags.EnumLiteral && (source).text === (target).text) return true; + } + return false; + } + + function isTypeRelatedTo(source: Type, target: Type, relation: Map) { + if (source === target || relation !== identityRelation && isSimpleTypeRelatedTo(source, target, relation)) { + return true; + } + if (source.flags & TypeFlags.ObjectType && target.flags & TypeFlags.ObjectType) { + const id = relation !== identityRelation || source.id < target.id ? source.id + "," + target.id : target.id + "," + source.id; + const related = relation[id]; + if (related !== undefined) { + return related === RelationComparisonResult.Succeeded; + } + } + if (source.flags & TypeFlags.StructuredOrTypeParameter || target.flags & TypeFlags.StructuredOrTypeParameter) { + return checkTypeRelatedTo(source, target, relation, undefined, undefined, undefined); + } + return false; + } + /** * Checks if 'source' is related to 'target' (e.g.: is a assignable to). * @param source The left-hand-side of the relation. @@ -5964,6 +6323,18 @@ namespace ts { reportError(message, sourceType, targetType); } + function tryElaborateErrorsForPrimitivesAndObjects(source: Type, target: Type) { + const sourceType = typeToString(source); + const targetType = typeToString(target); + + if ((globalStringType === source && stringType === target) || + (globalNumberType === source && numberType === target) || + (globalBooleanType === source && booleanType === target) || + (getGlobalESSymbolType() === source && esSymbolType === target)) { + reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType); + } + } + // Compare two types and return // Ternary.True if they are related with no assumptions, // Ternary.Maybe if they are related with assumptions of other relationships, or @@ -5972,33 +6343,12 @@ namespace ts { let result: Ternary; // both types are the same - covers 'they are the same primitive type or both are Any' or the same type parameter cases if (source === target) return Ternary.True; + if (relation === identityRelation) { return isIdenticalTo(source, target); } - if (!(target.flags & TypeFlags.Never)) { - if (target.flags & TypeFlags.Any || source.flags & TypeFlags.Never) return Ternary.True; - if (source.flags & TypeFlags.Undefined) { - if (!strictNullChecks || target.flags & (TypeFlags.Undefined | TypeFlags.Void)) return Ternary.True; - } - if (source.flags & TypeFlags.Null) { - if (!strictNullChecks || target.flags & TypeFlags.Null) return Ternary.True; - } - if (source.flags & TypeFlags.Enum && target === numberType) return Ternary.True; - if (source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) { - if (result = enumRelatedTo(source, target, reportErrors)) { - return result; - } - } - if (source.flags & TypeFlags.StringLiteral && target === stringType) return Ternary.True; - if (relation === assignableRelation || relation === comparableRelation) { - if (source.flags & TypeFlags.Any) return Ternary.True; - if (source === numberType && target.flags & TypeFlags.Enum) return Ternary.True; - } - if (source.flags & TypeFlags.Boolean && target.flags & TypeFlags.Boolean) { - return Ternary.True; - } - } + if (isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return Ternary.True; if (source.flags & TypeFlags.FreshObjectLiteral) { if (hasExcessProperties(source, target, reportErrors)) { @@ -6021,10 +6371,10 @@ namespace ts { // Note that these checks are specifically ordered to produce correct results. if (source.flags & TypeFlags.Union) { if (relation === comparableRelation) { - result = someTypeRelatedToType(source as UnionType, target, reportErrors); + result = someTypeRelatedToType(source as UnionType, target, reportErrors && !(source.flags & TypeFlags.Primitive)); } else { - result = eachTypeRelatedToType(source as UnionType, target, reportErrors); + result = eachTypeRelatedToType(source as UnionType, target, reportErrors && !(source.flags & TypeFlags.Primitive)); } if (result) { @@ -6061,7 +6411,7 @@ namespace ts { } } if (target.flags & TypeFlags.Union) { - if (result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & TypeFlags.Primitive))) { + if (result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & TypeFlags.Primitive) && !(target.flags & TypeFlags.Primitive))) { return result; } } @@ -6108,6 +6458,9 @@ namespace ts { } if (reportErrors) { + if (source.flags & TypeFlags.ObjectType && target.flags & TypeFlags.Primitive) { + tryElaborateErrorsForPrimitivesAndObjects(source, target); + } reportRelationError(headMessage, source, target); } return Ternary.False; @@ -6202,18 +6555,10 @@ namespace ts { function typeRelatedToSomeType(source: Type, target: UnionOrIntersectionType, reportErrors: boolean): Ternary { const targetTypes = target.types; - let len = targetTypes.length; - // The null and undefined types are guaranteed to be at the end of the constituent type list. In order - // to produce the best possible errors we first check the nullable types, such that the last type we - // check and report errors from is a non-nullable type if one is present. - while (len >= 2 && targetTypes[len - 1].flags & TypeFlags.Nullable) { - const related = isRelatedTo(source, targetTypes[len - 1], /*reportErrors*/ false); - if (related) { - return related; - } - len--; + if (target.flags & TypeFlags.Union && containsType(targetTypes, source)) { + return Ternary.True; } - // Now check the non-nullable types and report errors on the last one. + const len = targetTypes.length; for (let i = 0; i < len; i++) { const related = isRelatedTo(source, targetTypes[i], reportErrors && i === len - 1); if (related) { @@ -6238,18 +6583,10 @@ namespace ts { function someTypeRelatedToType(source: UnionOrIntersectionType, target: Type, reportErrors: boolean): Ternary { const sourceTypes = source.types; - let len = sourceTypes.length; - // The null and undefined types are guaranteed to be at the end of the constituent type list. In order - // to produce the best possible errors we first check the nullable types, such that the last type we - // check and report errors from is a non-nullable type if one is present. - while (len >= 2 && sourceTypes[len - 1].flags & TypeFlags.Nullable) { - const related = isRelatedTo(sourceTypes[len - 1], target, /*reportErrors*/ false); - if (related) { - return related; - } - len--; + if (source.flags & TypeFlags.Union && containsType(sourceTypes, target)) { + return Ternary.True; } - // Now check the non-nullable types and report errors on the last one. + const len = sourceTypes.length; for (let i = 0; i < len; i++) { const related = isRelatedTo(sourceTypes[i], target, reportErrors && i === len - 1); if (related) { @@ -6331,7 +6668,7 @@ namespace ts { } sourceStack[depth] = source; targetStack[depth] = target; - maybeStack[depth] = {}; + maybeStack[depth] = createMap(); maybeStack[depth][id] = RelationComparisonResult.Succeeded; depth++; const saveExpandingFlags = expandingFlags; @@ -6362,7 +6699,7 @@ namespace ts { const maybeCache = maybeStack[depth]; // If result is definitely true, copy assumptions to global cache, else copy to next level up const destinationCache = (result === Ternary.True || depth === 0) ? relation : maybeStack[depth - 1]; - copyMap(maybeCache, destinationCache); + copyProperties(maybeCache, destinationCache); } else { // A false result goes straight into global cache (when something is false under assumptions it @@ -6392,24 +6729,24 @@ namespace ts { } } else if (!(targetProp.flags & SymbolFlags.Prototype)) { - const sourcePropFlags = getDeclarationFlagsFromSymbol(sourceProp); - const targetPropFlags = getDeclarationFlagsFromSymbol(targetProp); - if (sourcePropFlags & NodeFlags.Private || targetPropFlags & NodeFlags.Private) { + const sourcePropFlags = getDeclarationModifierFlagsFromSymbol(sourceProp); + const targetPropFlags = getDeclarationModifierFlagsFromSymbol(targetProp); + if (sourcePropFlags & ModifierFlags.Private || targetPropFlags & ModifierFlags.Private) { if (sourceProp.valueDeclaration !== targetProp.valueDeclaration) { if (reportErrors) { - if (sourcePropFlags & NodeFlags.Private && targetPropFlags & NodeFlags.Private) { + if (sourcePropFlags & ModifierFlags.Private && targetPropFlags & ModifierFlags.Private) { reportError(Diagnostics.Types_have_separate_declarations_of_a_private_property_0, symbolToString(targetProp)); } else { reportError(Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), - typeToString(sourcePropFlags & NodeFlags.Private ? source : target), - typeToString(sourcePropFlags & NodeFlags.Private ? target : source)); + typeToString(sourcePropFlags & ModifierFlags.Private ? source : target), + typeToString(sourcePropFlags & ModifierFlags.Private ? target : source)); } } return Ternary.False; } } - else if (targetPropFlags & NodeFlags.Protected) { + else if (targetPropFlags & ModifierFlags.Protected) { const sourceDeclaredInClass = sourceProp.parent && sourceProp.parent.flags & SymbolFlags.Class; const sourceClass = sourceDeclaredInClass ? getDeclaredTypeOfSymbol(getParentOfSymbol(sourceProp)) : undefined; const targetClass = getDeclaredTypeOfSymbol(getParentOfSymbol(targetProp)); @@ -6421,7 +6758,7 @@ namespace ts { return Ternary.False; } } - else if (sourcePropFlags & NodeFlags.Protected) { + else if (sourcePropFlags & ModifierFlags.Protected) { if (reportErrors) { reportError(Diagnostics.Property_0_is_protected_in_type_1_but_public_in_type_2, symbolToString(targetProp), typeToString(source), typeToString(target)); @@ -6626,49 +6963,26 @@ namespace ts { return Ternary.False; } - function enumRelatedTo(source: Type, target: Type, reportErrors?: boolean) { - if (source.symbol.name !== target.symbol.name || - source.symbol.flags & SymbolFlags.ConstEnum || - target.symbol.flags & SymbolFlags.ConstEnum) { - return Ternary.False; - } - const targetEnumType = getTypeOfSymbol(target.symbol); - for (const property of getPropertiesOfType(getTypeOfSymbol(source.symbol))) { - if (property.flags & SymbolFlags.EnumMember) { - const targetProperty = getPropertyOfType(targetEnumType, property.name); - if (!targetProperty || !(targetProperty.flags & SymbolFlags.EnumMember)) { - if (reportErrors) { - reportError(Diagnostics.Property_0_is_missing_in_type_1, - property.name, - typeToString(target, /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType)); - } - return Ternary.False; - } - } - } - return Ternary.True; - } - function constructorVisibilitiesAreCompatible(sourceSignature: Signature, targetSignature: Signature, reportErrors: boolean) { if (!sourceSignature.declaration || !targetSignature.declaration) { return true; } - const sourceAccessibility = sourceSignature.declaration.flags & (NodeFlags.Private | NodeFlags.Protected); - const targetAccessibility = targetSignature.declaration.flags & (NodeFlags.Private | NodeFlags.Protected); + const sourceAccessibility = getModifierFlags(sourceSignature.declaration) & ModifierFlags.NonPublicAccessibilityModifier; + const targetAccessibility = getModifierFlags(targetSignature.declaration) & ModifierFlags.NonPublicAccessibilityModifier; // A public, protected and private signature is assignable to a private signature. - if (targetAccessibility === NodeFlags.Private) { + if (targetAccessibility === ModifierFlags.Private) { return true; } // A public and protected signature is assignable to a protected signature. - if (targetAccessibility === NodeFlags.Protected && sourceAccessibility !== NodeFlags.Private) { + if (targetAccessibility === ModifierFlags.Protected && sourceAccessibility !== ModifierFlags.Private) { return true; } // Only a public signature is assignable to public signature. - if (targetAccessibility !== NodeFlags.Protected && !sourceAccessibility) { + if (targetAccessibility !== ModifierFlags.Protected && !sourceAccessibility) { return true; } @@ -6686,7 +7000,7 @@ namespace ts { const symbol = type.symbol; if (symbol && symbol.flags & SymbolFlags.Class) { const declaration = getClassLikeDeclarationOfSymbol(symbol); - if (declaration && declaration.flags & NodeFlags.Abstract) { + if (declaration && getModifierFlags(declaration) & ModifierFlags.Abstract) { return true; } } @@ -6726,8 +7040,8 @@ namespace ts { if (sourceProp === targetProp) { return Ternary.True; } - const sourcePropAccessibility = getDeclarationFlagsFromSymbol(sourceProp) & (NodeFlags.Private | NodeFlags.Protected); - const targetPropAccessibility = getDeclarationFlagsFromSymbol(targetProp) & (NodeFlags.Private | NodeFlags.Protected); + const sourcePropAccessibility = getDeclarationModifierFlagsFromSymbol(sourceProp) & ModifierFlags.NonPublicAccessibilityModifier; + const targetPropAccessibility = getDeclarationModifierFlagsFromSymbol(targetProp) & ModifierFlags.NonPublicAccessibilityModifier; if (sourcePropAccessibility !== targetPropAccessibility) { return Ternary.False; } @@ -6758,9 +7072,11 @@ namespace ts { // A source signature partially matches a target signature if the target signature has no fewer required // parameters and no more overall parameters than the source signature (where a signature with a rest // parameter is always considered to have more overall parameters than one without). + const sourceRestCount = source.hasRestParameter ? 1 : 0; + const targetRestCount = target.hasRestParameter ? 1 : 0; if (partialMatch && source.minArgumentCount <= target.minArgumentCount && ( - source.hasRestParameter && !target.hasRestParameter || - source.hasRestParameter === target.hasRestParameter && source.parameters.length >= target.parameters.length)) { + sourceRestCount > targetRestCount || + sourceRestCount === targetRestCount && source.parameters.length >= target.parameters.length)) { return true; } return false; @@ -6832,24 +7148,37 @@ namespace ts { return true; } - function getCombinedFlagsOfTypes(types: Type[]) { - let flags: TypeFlags = 0; + function literalTypesWithSameBaseType(types: Type[]): boolean { + let commonBaseType: Type; for (const t of types) { - flags |= t.flags; + const baseType = getBaseTypeOfLiteralType(t); + if (!commonBaseType) { + commonBaseType = baseType; + } + if (baseType === t || baseType !== commonBaseType) { + return false; + } } - return flags; + return true; + } + + // When the candidate types are all literal types with the same base type, the common + // supertype is a union of those literal types. Otherwise, the common supertype is the + // first type that is a supertype of each of the other types. + function getSupertypeOrUnion(types: Type[]): Type { + return literalTypesWithSameBaseType(types) ? getUnionType(types) : forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); } function getCommonSupertype(types: Type[]): Type { if (!strictNullChecks) { - return forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); + return getSupertypeOrUnion(types); } const primaryTypes = filter(types, t => !(t.flags & TypeFlags.Nullable)); if (!primaryTypes.length) { - return getUnionType(types); + return getUnionType(types, /*subtypeReduction*/ true); } - const supertype = forEach(primaryTypes, t => isSupertypeOfEach(t, primaryTypes) ? t : undefined); - return supertype && addTypeKind(supertype, getCombinedFlagsOfTypes(types) & TypeFlags.Nullable); + const supertype = getSupertypeOrUnion(primaryTypes); + return supertype && includeFalsyTypes(supertype, getFalsyFlagsOfTypes(types) & TypeFlags.Nullable); } function reportNoCommonSupertypeError(types: Type[], errorLocation: Node, errorMessageChainHead: DiagnosticMessageChain): void { @@ -6908,36 +7237,70 @@ namespace ts { return !!getPropertyOfType(type, "0"); } - function isStringLiteralUnionType(type: Type): boolean { - return type.flags & TypeFlags.StringLiteral ? true : - type.flags & TypeFlags.Union ? forEach((type).types, isStringLiteralUnionType) : - false; + function isUnitType(type: Type): boolean { + return (type.flags & (TypeFlags.Literal | TypeFlags.Undefined | TypeFlags.Null)) !== 0; + } + + function isLiteralType(type: Type): boolean { + return type.flags & TypeFlags.Boolean ? true : + type.flags & TypeFlags.Union ? type.flags & TypeFlags.Enum ? true : !forEach((type).types, t => !isUnitType(t)) : + isUnitType(type); + } + + function getBaseTypeOfLiteralType(type: Type): Type { + return type.flags & TypeFlags.StringLiteral ? stringType : + type.flags & TypeFlags.NumberLiteral ? numberType : + type.flags & TypeFlags.BooleanLiteral ? booleanType : + type.flags & TypeFlags.EnumLiteral ? (type).baseType : + type.flags & TypeFlags.Union && !(type.flags & TypeFlags.Enum) ? getUnionType(map((type).types, getBaseTypeOfLiteralType)) : + type; } /** * Check if a Type was written as a tuple type literal. * Prefer using isTupleLikeType() unless the use of `elementTypes` is required. */ - function isTupleType(type: Type): type is TupleType { - return !!(type.flags & TypeFlags.Tuple); + function isTupleType(type: Type): boolean { + return !!(type.flags & TypeFlags.Reference && (type).target.flags & TypeFlags.Tuple); } - function getCombinedTypeFlags(type: Type): TypeFlags { - return type.flags & TypeFlags.Union ? getCombinedFlagsOfTypes((type).types) : type.flags; + function getFalsyFlagsOfTypes(types: Type[]): TypeFlags { + let result: TypeFlags = 0; + for (const t of types) { + result |= getFalsyFlags(t); + } + return result; } - function addTypeKind(type: Type, kind: TypeFlags) { - if ((getCombinedTypeFlags(type) & kind) === kind) { + // Returns the String, Number, Boolean, StringLiteral, NumberLiteral, BooleanLiteral, Void, Undefined, or Null + // 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: Type): TypeFlags { + return type.flags & TypeFlags.Union ? getFalsyFlagsOfTypes((type).types) : + type.flags & TypeFlags.StringLiteral ? type === emptyStringType ? TypeFlags.StringLiteral : 0 : + type.flags & TypeFlags.NumberLiteral ? type === zeroType ? TypeFlags.NumberLiteral : 0 : + type.flags & TypeFlags.BooleanLiteral ? type === falseType ? TypeFlags.BooleanLiteral : 0 : + type.flags & TypeFlags.PossiblyFalsy; + } + + function includeFalsyTypes(type: Type, flags: TypeFlags) { + if ((getFalsyFlags(type) & flags) === flags) { return type; } const types = [type]; - if (kind & TypeFlags.String) types.push(stringType); - if (kind & TypeFlags.Number) types.push(numberType); - if (kind & TypeFlags.Boolean) types.push(booleanType); - if (kind & TypeFlags.Void) types.push(voidType); - if (kind & TypeFlags.Undefined) types.push(undefinedType); - if (kind & TypeFlags.Null) types.push(nullType); - return getUnionType(types); + if (flags & TypeFlags.StringLike) types.push(emptyStringType); + if (flags & TypeFlags.NumberLike) types.push(zeroType); + if (flags & TypeFlags.BooleanLike) types.push(falseType); + if (flags & TypeFlags.Void) types.push(voidType); + if (flags & TypeFlags.Undefined) types.push(undefinedType); + if (flags & TypeFlags.Null) types.push(nullType); + return getUnionType(types, /*subtypeReduction*/ true); + } + + function removeDefinitelyFalsyTypes(type: Type): Type { + return getFalsyFlags(type) & TypeFlags.DefinitelyFalsy ? + filterType(type, t => !(getFalsyFlags(t) & TypeFlags.DefinitelyFalsy)) : + type; } function getNonNullableType(type: Type): Type { @@ -6967,7 +7330,7 @@ namespace ts { } function transformTypeOfMembers(type: Type, f: (propertyType: Type) => Type) { - const members: SymbolTable = {}; + const members = createMap(); for (const property of getPropertiesOfObjectType(type)) { const original = getTypeOfSymbol(property); const updated = f(original); @@ -7028,13 +7391,10 @@ namespace ts { return getWidenedTypeOfObjectLiteral(type); } if (type.flags & TypeFlags.Union) { - return getUnionType(map((type).types, getWidenedConstituentType), /*noSubtypeReduction*/ true); + return getUnionType(map((type).types, getWidenedConstituentType)); } - if (isArrayType(type)) { - return createArrayType(getWidenedType((type).typeArguments[0])); - } - if (isTupleType(type)) { - return createTupleType(map(type.elementTypes, getWidenedType)); + if (isArrayType(type) || isTupleType(type)) { + return createTypeReference((type).target, map((type).typeArguments, getWidenedType)); } } return type; @@ -7060,11 +7420,8 @@ namespace ts { } } } - if (isArrayType(type)) { - return reportWideningErrorsInType((type).typeArguments[0]); - } - if (isTupleType(type)) { - for (const t of type.elementTypes) { + if (isArrayType(type) || isTupleType(type)) { + for (const t of (type).typeArguments) { if (reportWideningErrorsInType(t)) { errorReported = true; } @@ -7149,14 +7506,13 @@ namespace ts { } } - function createInferenceContext(typeParameters: TypeParameter[], inferUnionTypes: boolean): InferenceContext { - const inferences = map(typeParameters, createTypeInferencesObject); - + function createInferenceContext(signature: Signature, inferUnionTypes: boolean): InferenceContext { + const inferences = map(signature.typeParameters, createTypeInferencesObject); return { - typeParameters, + signature, inferUnionTypes, inferences, - inferredTypes: new Array(typeParameters.length), + inferredTypes: new Array(signature.typeParameters.length), }; } @@ -7164,17 +7520,40 @@ namespace ts { return { primary: undefined, secondary: undefined, + topLevel: true, isFixed: false, }; } - function inferTypes(context: InferenceContext, source: Type, target: Type) { + // Return true if the given type could possibly reference a type parameter for which + // we perform type inference (i.e. a type parameter of a generic function). We cache + // results for union and intersection types for performance reasons. + function couldContainTypeParameters(type: Type): boolean { + return !!(type.flags & TypeFlags.TypeParameter || + type.flags & TypeFlags.Reference && forEach((type).typeArguments, couldContainTypeParameters) || + type.flags & TypeFlags.Anonymous && type.symbol && type.symbol.flags & (SymbolFlags.Method | SymbolFlags.TypeLiteral | SymbolFlags.Class) || + type.flags & TypeFlags.UnionOrIntersection && couldUnionOrIntersectionContainTypeParameters(type)); + } + + function couldUnionOrIntersectionContainTypeParameters(type: UnionOrIntersectionType): boolean { + if (type.couldContainTypeParameters === undefined) { + type.couldContainTypeParameters = forEach(type.types, couldContainTypeParameters); + } + return type.couldContainTypeParameters; + } + + function isTypeParameterAtTopLevel(type: Type, typeParameter: TypeParameter): boolean { + return type === typeParameter || type.flags & TypeFlags.UnionOrIntersection && forEach((type).types, t => isTypeParameterAtTopLevel(t, typeParameter)); + } + + function inferTypes(context: InferenceContext, originalSource: Type, originalTarget: Type) { + const typeParameters = context.signature.typeParameters; let sourceStack: Type[]; let targetStack: Type[]; let depth = 0; let inferiority = 0; - const visited: Map = {}; - inferFromTypes(source, target); + const visited = createMap(); + inferFromTypes(originalSource, originalTarget); function isInProcess(source: Type, target: Type) { for (let i = 0; i < depth; i++) { @@ -7186,12 +7565,22 @@ namespace ts { } function inferFromTypes(source: Type, target: Type) { - if (source.flags & TypeFlags.Union && target.flags & TypeFlags.Union || + if (!couldContainTypeParameters(target)) { + return; + } + if (source.flags & TypeFlags.Union && target.flags & TypeFlags.Union && !(source.flags & TypeFlags.Enum && target.flags & TypeFlags.Enum) || source.flags & TypeFlags.Intersection && target.flags & TypeFlags.Intersection) { - // Source and target are both unions or both intersections. First, find each - // target constituent type that has an identically matching source constituent - // type, and for each such target constituent type infer from the type to itself. - // When inferring from a type to itself we effectively find all type parameter + // 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) { + for (const t of (source).types) { + inferFromTypes(t, t); + } + return; + } + // Find each target constituent type that has an identically matching source + // constituent type, and for each such target constituent type infer from the type to + // itself. When inferring from a type to itself we effectively find all type parameter // occurrences within that type and infer themselves as their type arguments. let matchingTypes: Type[]; for (const t of (target).types) { @@ -7218,7 +7607,6 @@ namespace ts { if (source.flags & TypeFlags.ContainsAnyFunctionType) { return; } - const typeParameters = context.typeParameters; for (let i = 0; i < typeParameters.length; i++) { if (target === typeParameters[i]) { const inferences = context.inferences[i]; @@ -7235,6 +7623,9 @@ namespace ts { if (!contains(candidates, source)) { candidates.push(source); } + if (!isTypeParameterAtTopLevel(originalTarget, target)) { + inferences.topLevel = false; + } } return; } @@ -7249,21 +7640,13 @@ namespace ts { inferFromTypes(sourceTypes[i], targetTypes[i]); } } - else if (source.flags & TypeFlags.Tuple && target.flags & TypeFlags.Tuple && (source).elementTypes.length === (target).elementTypes.length) { - // If source and target are tuples of the same size, infer from element types - const sourceTypes = (source).elementTypes; - const targetTypes = (target).elementTypes; - for (let i = 0; i < sourceTypes.length; i++) { - inferFromTypes(sourceTypes[i], targetTypes[i]); - } - } else if (target.flags & TypeFlags.UnionOrIntersection) { const targetTypes = (target).types; let typeParameterCount = 0; let typeParameter: TypeParameter; // First infer to each type in union or intersection that isn't a type parameter for (const t of targetTypes) { - if (t.flags & TypeFlags.TypeParameter && contains(context.typeParameters, t)) { + if (t.flags & TypeFlags.TypeParameter && contains(typeParameters, t)) { typeParameter = t; typeParameterCount++; } @@ -7289,25 +7672,18 @@ namespace ts { } else { source = getApparentType(source); - if (source.flags & TypeFlags.ObjectType && ( - target.flags & TypeFlags.Reference && (target).typeArguments || - target.flags & TypeFlags.Tuple || - target.flags & TypeFlags.Anonymous && target.symbol && target.symbol.flags & (SymbolFlags.Method | SymbolFlags.TypeLiteral | SymbolFlags.Class))) { - // If source is an object type, and target is a type reference with type arguments, a tuple type, - // the type of a method, or a type literal, infer from members + if (source.flags & TypeFlags.ObjectType) { if (isInProcess(source, target)) { return; } if (isDeeplyNestedGeneric(source, sourceStack, depth) && isDeeplyNestedGeneric(target, targetStack, depth)) { return; } - const key = source.id + "," + target.id; - if (hasProperty(visited, key)) { + if (visited[key]) { return; } visited[key] = true; - if (depth === 0) { sourceStack = []; targetStack = []; @@ -7345,8 +7721,12 @@ namespace ts { } } + function inferFromParameterTypes(source: Type, target: Type) { + return inferFromTypes(source, target); + } + function inferFromSignature(source: Signature, target: Signature) { - forEachMatchingParameterType(source, target, inferFromTypes); + forEachMatchingParameterType(source, target, inferFromParameterTypes); if (source.typePredicate && target.typePredicate && source.typePredicate.kind === target.typePredicate.kind) { inferFromTypes(source.typePredicate.type, target.typePredicate.type); @@ -7397,7 +7777,7 @@ namespace ts { reducedTypes.push(t); } } - return type.flags & TypeFlags.Union ? getUnionType(reducedTypes, /*noSubtypeReduction*/ true) : getIntersectionType(reducedTypes); + return type.flags & TypeFlags.Union ? getUnionType(reducedTypes) : getIntersectionType(reducedTypes); } function getInferenceCandidates(context: InferenceContext, index: number): Type[] { @@ -7405,14 +7785,28 @@ namespace ts { return inferences.primary || inferences.secondary || emptyArray; } + function hasPrimitiveConstraint(type: TypeParameter): boolean { + const constraint = getConstraintOfTypeParameter(type); + return constraint && maybeTypeOfKind(constraint, TypeFlags.Primitive); + } + function getInferredType(context: InferenceContext, index: number): Type { let inferredType = context.inferredTypes[index]; let inferenceSucceeded: boolean; if (!inferredType) { const inferences = getInferenceCandidates(context, index); if (inferences.length) { + // We widen inferred literal types if + // all inferences were made to top-level ocurrences 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. + const signature = context.signature; + const widenLiteralTypes = context.inferences[index].topLevel && + !hasPrimitiveConstraint(signature.typeParameters[index]) && + (context.inferences[index].isFixed || !isTypeParameterAtTopLevel(getReturnTypeOfSignature(signature), signature.typeParameters[index])); + const baseInferences = widenLiteralTypes ? map(inferences, getBaseTypeOfLiteralType) : inferences; // Infer widened union or supertype, or the unknown type for no common supertype - const unionOrSuperType = context.inferUnionTypes ? getUnionType(inferences) : getCommonSupertype(inferences); + const unionOrSuperType = context.inferUnionTypes ? getUnionType(baseInferences, /*subtypeReduction*/ true) : getCommonSupertype(baseInferences); inferredType = unionOrSuperType ? getWidenedType(unionOrSuperType) : unknownType; inferenceSucceeded = !!unionOrSuperType; } @@ -7428,7 +7822,7 @@ namespace ts { // Only do the constraint check if inference succeeded (to prevent cascading errors) if (inferenceSucceeded) { - const constraint = getConstraintOfTypeParameter(context.typeParameters[index]); + const constraint = getConstraintOfTypeParameter(context.signature.typeParameters[index]); if (constraint) { const instantiatedConstraint = instantiateType(constraint, getInferenceMapper(context)); if (!isTypeAssignableTo(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) { @@ -7501,11 +7895,6 @@ namespace ts { return undefined; } - function isNullOrUndefinedLiteral(node: Expression) { - return node.kind === SyntaxKind.NullKeyword || - node.kind === SyntaxKind.Identifier && getResolvedSymbol(node) === undefinedSymbol; - } - function getLeftmostIdentifierOrThis(node: Node): Node { switch (node.kind) { case SyntaxKind.Identifier: @@ -7518,16 +7907,17 @@ namespace ts { } function isMatchingReference(source: Node, target: Node): boolean { - if (source.kind === target.kind) { - switch (source.kind) { - case SyntaxKind.Identifier: - return getResolvedSymbol(source) === getResolvedSymbol(target); - case SyntaxKind.ThisKeyword: - return true; - case SyntaxKind.PropertyAccessExpression: - return (source).name.text === (target).name.text && - isMatchingReference((source).expression, (target).expression); - } + switch (source.kind) { + case SyntaxKind.Identifier: + return target.kind === SyntaxKind.Identifier && getResolvedSymbol(source) === getResolvedSymbol(target) || + (target.kind === SyntaxKind.VariableDeclaration || target.kind === SyntaxKind.BindingElement) && + getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); + case SyntaxKind.ThisKeyword: + return target.kind === SyntaxKind.ThisKeyword; + case SyntaxKind.PropertyAccessExpression: + return target.kind === SyntaxKind.PropertyAccessExpression && + (source).name.text === (target).name.text && + isMatchingReference((source).expression, (target).expression); } return false; } @@ -7542,6 +7932,51 @@ namespace ts { return false; } + // Return true if target is a property access xxx.yyy, source is a property access xxx.zzz, the declared + // type of xxx is a union type, and yyy is a property that is possibly a discriminant. We consider a property + // 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: Node, target: Node) { + return target.kind === SyntaxKind.PropertyAccessExpression && + containsMatchingReference(source, (target).expression) && + isDiscriminantProperty(getDeclaredTypeOfReference((target).expression), (target).name.text); + } + + function getDeclaredTypeOfReference(expr: Node): Type { + if (expr.kind === SyntaxKind.Identifier) { + return getTypeOfSymbol(getResolvedSymbol(expr)); + } + if (expr.kind === SyntaxKind.PropertyAccessExpression) { + const type = getDeclaredTypeOfReference((expr).expression); + return type && getTypeOfPropertyOfType(type, (expr).name.text); + } + return undefined; + } + + function isDiscriminantProperty(type: Type, name: string) { + if (type && type.flags & TypeFlags.Union) { + let prop = getPropertyOfType(type, name); + if (!prop) { + // The type may be a union that includes nullable or primitive types. If filtering + // those out produces a different type, get the property from that type instead. + // Effectively, we're checking if this *could* be a discriminant property once nullable + // and primitive types are removed by other type guards. + const filteredType = getTypeWithFacts(type, TypeFacts.Discriminatable); + if (filteredType !== type && filteredType.flags & TypeFlags.Union) { + prop = getPropertyOfType(filteredType, name); + } + } + if (prop && prop.flags & SymbolFlags.SyntheticProperty) { + if ((prop).isDiscriminantProperty === undefined) { + (prop).isDiscriminantProperty = !(prop).hasCommonType && + isLiteralType(getTypeOfSymbol(prop)); + } + return (prop).isDiscriminantProperty; + } + } + return false; + } + function isOrContainsMatchingReference(source: Node, target: Node) { return isMatchingReference(source, target) || containsMatchingReference(source, target); } @@ -7585,29 +8020,60 @@ namespace ts { // For example, when a variable of type number | string | boolean is assigned a value of type number | boolean, // we remove type string. function getAssignmentReducedType(declaredType: UnionType, assignedType: Type) { - if (declaredType !== assignedType && declaredType.flags & TypeFlags.Union) { - const reducedTypes = filter(declaredType.types, t => typeMaybeAssignableTo(assignedType, t)); - if (reducedTypes.length) { - return reducedTypes.length === 1 ? reducedTypes[0] : getUnionType(reducedTypes); + if (declaredType !== assignedType) { + const reducedType = filterType(declaredType, t => typeMaybeAssignableTo(assignedType, t)); + if (reducedType !== neverType) { + return reducedType; } } return declaredType; } + function getTypeFactsOfTypes(types: Type[]): TypeFacts { + let result: TypeFacts = TypeFacts.None; + for (const t of types) { + result |= getTypeFacts(t); + } + return result; + } + + function isFunctionObjectType(type: ObjectType): boolean { + // We do a quick check for a "bind" property before performing the more expensive subtype + // check. This gives us a quicker out in the common case where an object type is not a function. + const resolved = resolveStructuredTypeMembers(type); + return !!(resolved.callSignatures.length || resolved.constructSignatures.length || + resolved.members["bind"] && isTypeSubtypeOf(type, globalFunctionType)); + } + function getTypeFacts(type: Type): TypeFacts { const flags = type.flags; - if (flags & TypeFlags.StringLike) { + if (flags & TypeFlags.String) { return strictNullChecks ? TypeFacts.StringStrictFacts : TypeFacts.StringFacts; } - if (flags & TypeFlags.NumberLike) { + if (flags & TypeFlags.StringLiteral) { + return strictNullChecks ? + type === emptyStringType ? TypeFacts.EmptyStringStrictFacts : TypeFacts.NonEmptyStringStrictFacts : + type === emptyStringType ? TypeFacts.EmptyStringFacts : TypeFacts.NonEmptyStringFacts; + } + if (flags & (TypeFlags.Number | TypeFlags.Enum)) { return strictNullChecks ? TypeFacts.NumberStrictFacts : TypeFacts.NumberFacts; } + if (flags & (TypeFlags.NumberLiteral | TypeFlags.EnumLiteral)) { + const isZero = type === zeroType || type.flags & TypeFlags.EnumLiteral && (type).text === "0"; + return strictNullChecks ? + isZero ? TypeFacts.ZeroStrictFacts : TypeFacts.NonZeroStrictFacts : + isZero ? TypeFacts.ZeroFacts : TypeFacts.NonZeroFacts; + } if (flags & TypeFlags.Boolean) { return strictNullChecks ? TypeFacts.BooleanStrictFacts : TypeFacts.BooleanFacts; } + if (flags & TypeFlags.BooleanLike) { + return strictNullChecks ? + type === falseType ? TypeFacts.FalseStrictFacts : TypeFacts.TrueStrictFacts : + type === falseType ? TypeFacts.FalseFacts : TypeFacts.TrueFacts; + } if (flags & TypeFlags.ObjectType) { - const resolved = resolveStructuredTypeMembers(type); - return resolved.callSignatures.length || resolved.constructSignatures.length || isTypeSubtypeOf(type, globalFunctionType) ? + return isFunctionObjectType(type) ? strictNullChecks ? TypeFacts.FunctionStrictFacts : TypeFacts.FunctionFacts : strictNullChecks ? TypeFacts.ObjectStrictFacts : TypeFacts.ObjectFacts; } @@ -7622,34 +8088,16 @@ namespace ts { } if (flags & TypeFlags.TypeParameter) { const constraint = getConstraintOfTypeParameter(type); - return constraint ? getTypeFacts(constraint) : TypeFacts.All; + return getTypeFacts(constraint || emptyObjectType); } - if (flags & TypeFlags.Intersection) { - return reduceLeft((type).types, (flags, type) => flags |= getTypeFacts(type), TypeFacts.None); + if (flags & TypeFlags.UnionOrIntersection) { + return getTypeFactsOfTypes((type).types); } return TypeFacts.All; } function getTypeWithFacts(type: Type, include: TypeFacts) { - if (!(type.flags & TypeFlags.Union)) { - return getTypeFacts(type) & include ? type : neverType; - } - let firstType: Type; - let types: Type[]; - for (const t of (type as UnionType).types) { - if (getTypeFacts(t) & include) { - if (!firstType) { - firstType = t; - } - else { - if (!types) { - types = [firstType]; - } - types.push(t); - } - } - } - return firstType ? types ? getUnionType(types, /*noSubtypeReduction*/ true) : firstType : neverType; + return filterType(type, t => (getTypeFacts(t) & include) !== 0); } function getTypeWithDefault(type: Type, defaultExpression: Expression) { @@ -7761,16 +8209,22 @@ namespace ts { getInitialTypeOfBindingElement(node); } - function getReferenceFromExpression(node: Expression): Expression { + function getInitialOrAssignedType(node: VariableDeclaration | BindingElement | Expression) { + return node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.BindingElement ? + getInitialType(node) : + getAssignedType(node); + } + + function getReferenceCandidate(node: Expression): Expression { switch (node.kind) { case SyntaxKind.ParenthesizedExpression: - return getReferenceFromExpression((node).expression); + return getReferenceCandidate((node).expression); case SyntaxKind.BinaryExpression: switch ((node).operatorToken.kind) { case SyntaxKind.EqualsToken: - return getReferenceFromExpression((node).left); + return getReferenceCandidate((node).left); case SyntaxKind.CommaToken: - return getReferenceFromExpression((node).right); + return getReferenceCandidate((node).right); } } return node; @@ -7778,10 +8232,10 @@ namespace ts { function getTypeOfSwitchClause(clause: CaseClause | DefaultClause) { if (clause.kind === SyntaxKind.CaseClause) { - const expr = (clause).expression; - return expr.kind === SyntaxKind.StringLiteral ? getStringLiteralTypeForText((expr).text) : checkExpression(expr); + const caseType = checkExpression((clause).expression); + return isUnitType(caseType) ? caseType : undefined; } - return undefined; + return neverType; } function getSwitchClauseTypes(switchStatement: SwitchStatement): Type[] { @@ -7790,7 +8244,7 @@ namespace ts { // If all case clauses specify expressions that have unit types, we return an array // of those unit types. Otherwise we return an empty array. const types = map(switchStatement.caseBlock.clauses, getTypeOfSwitchClause); - links.switchTypes = forEach(types, t => !t || t.flags & TypeFlags.StringLiteral) ? types : emptyArray; + links.switchTypes = !contains(types, undefined) ? types : emptyArray; } return links.switchTypes; } @@ -7799,27 +8253,61 @@ namespace ts { return source.flags & TypeFlags.Union ? !forEach((source).types, t => !contains(types, t)) : contains(types, source); } - function filterType(type: Type, f: (t: Type) => boolean): Type { - return type.flags & TypeFlags.Union ? - getUnionType(filter((type).types, f)) : - f(type) ? type : neverType; + function isTypeSubsetOf(source: Type, target: Type) { + return source === target || target.flags & TypeFlags.Union && isTypeSubsetOfUnion(source, target); } - function getFlowTypeOfReference(reference: Node, declaredType: Type, assumeInitialized: boolean, includeOuterFunctions: boolean) { + function isTypeSubsetOfUnion(source: Type, target: UnionType) { + if (source.flags & TypeFlags.Union) { + for (const t of (source).types) { + if (!containsType(target.types, t)) { + return false; + } + } + return true; + } + if (source.flags & TypeFlags.EnumLiteral && target.flags & TypeFlags.Enum && (source).baseType === target) { + return true; + } + return containsType(target.types, source); + } + + function filterType(type: Type, f: (t: Type) => boolean): Type { + if (type.flags & TypeFlags.Union) { + const types = (type).types; + const filtered = filter(types, f); + return filtered === types ? type : getUnionTypeFromSortedList(filtered); + } + return f(type) ? type : neverType; + } + + function isIncomplete(flowType: FlowType) { + return flowType.flags === 0; + } + + function getTypeFromFlowType(flowType: FlowType) { + return flowType.flags === 0 ? (flowType).type : flowType; + } + + function createFlowType(type: Type, incomplete: boolean): FlowType { + return incomplete ? { flags: 0, type } : type; + } + + function getFlowTypeOfReference(reference: Node, declaredType: Type, assumeInitialized: boolean, flowContainer: Node) { let key: string; if (!reference.flowNode || assumeInitialized && !(declaredType.flags & TypeFlags.Narrowable)) { return declaredType; } - const initialType = assumeInitialized ? declaredType : addTypeKind(declaredType, TypeFlags.Undefined); + const initialType = assumeInitialized ? declaredType : includeFalsyTypes(declaredType, TypeFlags.Undefined); const visitedFlowStart = visitedFlowCount; - const result = getTypeAtFlowNode(reference.flowNode); + const result = getTypeFromFlowType(getTypeAtFlowNode(reference.flowNode)); visitedFlowCount = visitedFlowStart; if (reference.parent.kind === SyntaxKind.NonNullExpression && getTypeWithFacts(result, TypeFacts.NEUndefinedOrNull) === neverType) { return declaredType; } return result; - function getTypeAtFlowNode(flow: FlowNode): Type { + function getTypeAtFlowNode(flow: FlowNode): FlowType { while (true) { if (flow.flags & FlowFlags.Shared) { // We cache results of flow type resolution for shared nodes that were previously visited in @@ -7831,7 +8319,7 @@ namespace ts { } } } - let type: Type; + let type: FlowType; if (flow.flags & FlowFlags.Assignment) { type = getTypeAtFlowAssignment(flow); if (!type) { @@ -7857,7 +8345,7 @@ namespace ts { else if (flow.flags & FlowFlags.Start) { // Check if we should continue with the control flow of the containing function. const container = (flow).container; - if (container && includeOuterFunctions) { + if (container && container !== flowContainer && reference.kind !== SyntaxKind.PropertyAccessExpression) { flow = container.flowNode; continue; } @@ -7883,19 +8371,10 @@ namespace ts { const node = flow.node; // Assignments only narrow the computed type if the declared type is a union type. Thus, we // only need to evaluate the assigned type if the declared type is a union type. - if ((node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.BindingElement) && - reference.kind === SyntaxKind.Identifier && - getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(reference)) === getSymbolOfNode(node)) { - return declaredType.flags & TypeFlags.Union ? - getAssignmentReducedType(declaredType, getInitialType(node)) : - declaredType; - } - // If the node is not a variable declaration or binding element, it is an identifier - // or a dotted name that is the target of an assignment. If we have a match, reduce - // the declared type by the assigned type. if (isMatchingReference(reference, node)) { - return declaredType.flags & TypeFlags.Union ? - getAssignmentReducedType(declaredType, getAssignedType(node)) : + const isIncrementOrDecrement = node.parent.kind === SyntaxKind.PrefixUnaryExpression || node.parent.kind === SyntaxKind.PostfixUnaryExpression; + return declaredType.flags & TypeFlags.Union && !isIncrementOrDecrement ? + getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)) : declaredType; } // We didn't have a direct match. However, if the reference is a dotted name, this @@ -7909,34 +8388,45 @@ namespace ts { return undefined; } - function getTypeAtFlowCondition(flow: FlowCondition) { - let type = getTypeAtFlowNode(flow.antecedent); + function getTypeAtFlowCondition(flow: FlowCondition): FlowType { + const flowType = getTypeAtFlowNode(flow.antecedent); + let type = getTypeFromFlowType(flowType); if (type !== neverType) { // If we have an antecedent type (meaning we're reachable in some way), we first - // attempt to narrow the antecedent type. If that produces the nothing type, then - // we take the type guard as an indication that control could reach here in a - // manner not understood by the control flow analyzer (e.g. a function argument - // has an invalid type, or a nested function has possibly made an assignment to a - // captured variable). We proceed by reverting to the declared type and then + // attempt to narrow the antecedent type. If that produces the never type, and if + // the antecedent type is incomplete (i.e. a transient type in a loop), then we + // take the type guard as an indication that control *could* reach here once we + // have the complete type. We proceed by reverting to the declared type and then // narrow that. const assumeTrue = (flow.flags & FlowFlags.TrueCondition) !== 0; type = narrowType(type, flow.expression, assumeTrue); - if (type === neverType) { + if (type === neverType && isIncomplete(flowType)) { type = narrowType(declaredType, flow.expression, assumeTrue); } } - return type; + return createFlowType(type, isIncomplete(flowType)); } - function getTypeAtSwitchClause(flow: FlowSwitchClause) { - const type = getTypeAtFlowNode(flow.antecedent); - return narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); + function getTypeAtSwitchClause(flow: FlowSwitchClause): FlowType { + const flowType = getTypeAtFlowNode(flow.antecedent); + let type = getTypeFromFlowType(flowType); + const expr = flow.switchStatement.expression; + if (isMatchingReference(reference, expr)) { + type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); + } + else if (isMatchingReferenceDiscriminant(expr)) { + type = narrowTypeByDiscriminant(type, expr, t => narrowTypeBySwitchOnDiscriminant(t, flow.switchStatement, flow.clauseStart, flow.clauseEnd)); + } + return createFlowType(type, isIncomplete(flowType)); } - function getTypeAtFlowBranchLabel(flow: FlowLabel) { + function getTypeAtFlowBranchLabel(flow: FlowLabel): FlowType { const antecedentTypes: Type[] = []; + let subtypeReduction = false; + let seenIncomplete = false; for (const antecedent of flow.antecedents) { - const type = getTypeAtFlowNode(antecedent); + const flowType = getTypeAtFlowNode(antecedent); + const type = getTypeFromFlowType(flowType); // If the type at a particular antecedent path is the declared type and the // reference is known to always be assigned (i.e. when declared and initial types // are the same), there is no reason to process more antecedents since the only @@ -7947,15 +8437,24 @@ namespace ts { if (!contains(antecedentTypes, type)) { antecedentTypes.push(type); } + // If an antecedent type is not a subset of the declared type, we need to perform + // subtype reduction. This happens when a "foreign" type is injected into the control + // flow using the instanceof operator or a user defined type predicate. + if (!isTypeSubsetOf(type, declaredType)) { + subtypeReduction = true; + } + if (isIncomplete(flowType)) { + seenIncomplete = true; + } } - return getUnionType(antecedentTypes); + return createFlowType(getUnionType(antecedentTypes, subtypeReduction), seenIncomplete); } - function getTypeAtFlowLoopLabel(flow: FlowLabel) { + function getTypeAtFlowLoopLabel(flow: FlowLabel): FlowType { // If we have previously computed the control flow type for the reference at // this flow loop junction, return the cached type. const id = getFlowNodeId(flow); - const cache = flowLoopCaches[id] || (flowLoopCaches[id] = {}); + const cache = flowLoopCaches[id] || (flowLoopCaches[id] = createMap()); if (!key) { key = getFlowCacheKey(reference); } @@ -7963,24 +8462,30 @@ namespace ts { return cache[key]; } // If this flow loop junction and reference are already being processed, return - // the union of the types computed for each branch so far. We should never see - // an empty array here because the first antecedent of a loop junction is always - // the non-looping control flow path that leads to the top. + // the union of the types computed for each branch so far, marked as incomplete. + // We should never see an empty array here because the first antecedent of a loop + // junction is always the non-looping control flow path that leads to the top. for (let i = flowLoopStart; i < flowLoopCount; i++) { if (flowLoopNodes[i] === flow && flowLoopKeys[i] === key) { - return getUnionType(flowLoopTypes[i]); + return createFlowType(getUnionType(flowLoopTypes[i]), /*incomplete*/ true); } } // Add the flow loop junction and reference to the in-process stack and analyze // each antecedent code path. const antecedentTypes: Type[] = []; + let subtypeReduction = false; + let firstAntecedentType: FlowType; flowLoopNodes[flowLoopCount] = flow; flowLoopKeys[flowLoopCount] = key; flowLoopTypes[flowLoopCount] = antecedentTypes; for (const antecedent of flow.antecedents) { flowLoopCount++; - const type = getTypeAtFlowNode(antecedent); + const flowType = getTypeAtFlowNode(antecedent); flowLoopCount--; + if (!firstAntecedentType) { + firstAntecedentType = flowType; + } + const type = getTypeFromFlowType(flowType); // If we see a value appear in the cache it is a sign that control flow analysis // was restarted and completed by checkExpressionCached. We can simply pick up // the resulting type and bail out. @@ -7990,6 +8495,12 @@ namespace ts { if (!contains(antecedentTypes, type)) { antecedentTypes.push(type); } + // If an antecedent type is not a subset of the declared type, we need to perform + // subtype reduction. This happens when a "foreign" type is injected into the control + // flow using the instanceof operator or a user defined type predicate. + if (!isTypeSubsetOf(type, declaredType)) { + subtypeReduction = true; + } // If the type at a particular antecedent path is the declared type there is no // reason to process more antecedents since the only possible outcome is subtypes // that will be removed in the final union type anyway. @@ -7997,11 +8508,40 @@ namespace ts { break; } } - return cache[key] = getUnionType(antecedentTypes); + // The result is incomplete if the first antecedent (the non-looping control flow path) + // is incomplete. + const result = getUnionType(antecedentTypes, subtypeReduction); + if (isIncomplete(firstAntecedentType)) { + return createFlowType(result, /*incomplete*/ true); + } + return cache[key] = result; + } + + function isMatchingReferenceDiscriminant(expr: Expression) { + return expr.kind === SyntaxKind.PropertyAccessExpression && + declaredType.flags & TypeFlags.Union && + isMatchingReference(reference, (expr).expression) && + isDiscriminantProperty(declaredType, (expr).name.text); + } + + function narrowTypeByDiscriminant(type: Type, propAccess: PropertyAccessExpression, narrowType: (t: Type) => Type): Type { + const propName = propAccess.name.text; + const propType = getTypeOfPropertyOfType(type, propName); + const narrowedPropType = propType && narrowType(propType); + return propType === narrowedPropType ? type : filterType(type, t => isTypeComparableTo(getTypeOfPropertyOfType(t, propName), narrowedPropType)); } function narrowTypeByTruthiness(type: Type, expr: Expression, assumeTrue: boolean): Type { - return isMatchingReference(reference, expr) ? getTypeWithFacts(type, assumeTrue ? TypeFacts.Truthy : TypeFacts.Falsy) : type; + if (isMatchingReference(reference, expr)) { + return getTypeWithFacts(type, assumeTrue ? TypeFacts.Truthy : TypeFacts.Falsy); + } + if (isMatchingReferenceDiscriminant(expr)) { + return narrowTypeByDiscriminant(type, expr, t => getTypeWithFacts(t, assumeTrue ? TypeFacts.Truthy : TypeFacts.Falsy)); + } + if (containsMatchingReferenceDiscriminant(reference, expr)) { + return declaredType; + } + return type; } function narrowTypeByBinaryExpression(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { @@ -8012,26 +8552,29 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: - const left = expr.left; const operator = expr.operatorToken.kind; - const right = expr.right; - if (isNullOrUndefinedLiteral(right)) { - return narrowTypeByNullCheck(type, left, operator, right, assumeTrue); - } - if (isNullOrUndefinedLiteral(left)) { - return narrowTypeByNullCheck(type, right, operator, left, assumeTrue); - } + const left = getReferenceCandidate(expr.left); + const right = getReferenceCandidate(expr.right); if (left.kind === SyntaxKind.TypeOfExpression && right.kind === SyntaxKind.StringLiteral) { return narrowTypeByTypeof(type, left, operator, right, assumeTrue); } if (right.kind === SyntaxKind.TypeOfExpression && left.kind === SyntaxKind.StringLiteral) { return narrowTypeByTypeof(type, right, operator, left, assumeTrue); } - if (left.kind === SyntaxKind.PropertyAccessExpression) { - return narrowTypeByDiscriminant(type, left, operator, right, assumeTrue); + if (isMatchingReference(reference, left)) { + return narrowTypeByEquality(type, operator, right, assumeTrue); } - if (right.kind === SyntaxKind.PropertyAccessExpression) { - return narrowTypeByDiscriminant(type, right, operator, left, assumeTrue); + if (isMatchingReference(reference, right)) { + return narrowTypeByEquality(type, operator, left, assumeTrue); + } + if (isMatchingReferenceDiscriminant(left)) { + return narrowTypeByDiscriminant(type, left, t => narrowTypeByEquality(t, operator, right, assumeTrue)); + } + if (isMatchingReferenceDiscriminant(right)) { + return narrowTypeByDiscriminant(type, right, t => narrowTypeByEquality(t, operator, left, assumeTrue)); + } + if (containsMatchingReferenceDiscriminant(reference, left) || containsMatchingReferenceDiscriminant(reference, right)) { + return declaredType; } break; case SyntaxKind.InstanceOfKeyword: @@ -8042,26 +8585,39 @@ namespace ts { return type; } - function narrowTypeByNullCheck(type: Type, target: Expression, operator: SyntaxKind, literal: Expression, assumeTrue: boolean): Type { - // We have '==', '!=', '===', or '!==' operator with 'null' or 'undefined' as value + function narrowTypeByEquality(type: Type, operator: SyntaxKind, value: Expression, assumeTrue: boolean): Type { + if (type.flags & TypeFlags.Any) { + return type; + } if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { assumeTrue = !assumeTrue; } - if (!strictNullChecks || !isMatchingReference(reference, getReferenceFromExpression(target))) { + const valueType = checkExpression(value); + if (valueType.flags & TypeFlags.Nullable) { + if (!strictNullChecks) { + return type; + } + const doubleEquals = operator === SyntaxKind.EqualsEqualsToken || operator === SyntaxKind.ExclamationEqualsToken; + const facts = doubleEquals ? + assumeTrue ? TypeFacts.EQUndefinedOrNull : TypeFacts.NEUndefinedOrNull : + value.kind === SyntaxKind.NullKeyword ? + assumeTrue ? TypeFacts.EQNull : TypeFacts.NENull : + assumeTrue ? TypeFacts.EQUndefined : TypeFacts.NEUndefined; + return getTypeWithFacts(type, facts); + } + if (type.flags & TypeFlags.NotUnionOrUnit) { return type; } - const doubleEquals = operator === SyntaxKind.EqualsEqualsToken || operator === SyntaxKind.ExclamationEqualsToken; - const facts = doubleEquals ? - assumeTrue ? TypeFacts.EQUndefinedOrNull : TypeFacts.NEUndefinedOrNull : - literal.kind === SyntaxKind.NullKeyword ? - assumeTrue ? TypeFacts.EQNull : TypeFacts.NENull : - assumeTrue ? TypeFacts.EQUndefined : TypeFacts.NEUndefined; - return getTypeWithFacts(type, facts); + if (assumeTrue) { + const narrowedType = filterType(type, t => areTypesComparable(t, valueType)); + return narrowedType !== neverType ? narrowedType : type; + } + return isUnitType(valueType) ? filterType(type, t => t !== valueType) : type; } function narrowTypeByTypeof(type: Type, typeOfExpr: TypeOfExpression, operator: SyntaxKind, literal: LiteralExpression, assumeTrue: boolean): Type { // We have '==', '!=', '====', or !==' operator with 'typeof xxx' and string literal operands - const target = getReferenceFromExpression(typeOfExpr.expression); + const target = getReferenceCandidate(typeOfExpr.expression); if (!isMatchingReference(reference, target)) { // For a reference of the form 'x.y', a 'typeof x === ...' type guard resets the // narrowed type of 'y' to its declared type. @@ -8075,73 +8631,38 @@ namespace ts { } 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 primtive type. For example, type 'any' can be narrowed + // is a supertype of that primitive type. For example, type 'any' can be narrowed // to one of the primitive types. - const targetType = getProperty(typeofTypesByName, literal.text); + const targetType = typeofTypesByName[literal.text]; if (targetType && isTypeSubtypeOf(targetType, type)) { return targetType; } } const facts = assumeTrue ? - getProperty(typeofEQFacts, literal.text) || TypeFacts.TypeofEQHostObject : - getProperty(typeofNEFacts, literal.text) || TypeFacts.TypeofNEHostObject; + typeofEQFacts[literal.text] || TypeFacts.TypeofEQHostObject : + typeofNEFacts[literal.text] || TypeFacts.TypeofNEHostObject; return getTypeWithFacts(type, facts); } - function narrowTypeByDiscriminant(type: Type, propAccess: PropertyAccessExpression, operator: SyntaxKind, value: Expression, assumeTrue: boolean): Type { - // We have '==', '!=', '===', or '!==' operator with property access as target - if (!isMatchingReference(reference, propAccess.expression)) { - return type; - } - const propName = propAccess.name.text; - const propType = getTypeOfPropertyOfType(type, propName); - if (!propType || !isStringLiteralUnionType(propType)) { - return type; - } - const discriminantType = value.kind === SyntaxKind.StringLiteral ? getStringLiteralTypeForText((value).text) : checkExpression(value); - if (!isStringLiteralUnionType(discriminantType)) { - return type; - } - if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { - assumeTrue = !assumeTrue; - } - if (assumeTrue) { - return filterType(type, t => areTypesComparable(getTypeOfPropertyOfType(t, propName), discriminantType)); - } - if (discriminantType.flags & TypeFlags.StringLiteral) { - return filterType(type, t => getTypeOfPropertyOfType(t, propName) !== discriminantType); - } - return type; - } - function narrowTypeBySwitchOnDiscriminant(type: Type, switchStatement: SwitchStatement, clauseStart: number, clauseEnd: number) { - // We have switch statement with property access expression - if (!isMatchingReference(reference, (switchStatement.expression).expression)) { - return type; - } - const propName = (switchStatement.expression).name.text; - const propType = getTypeOfPropertyOfType(type, propName); - if (!propType || !isStringLiteralUnionType(propType)) { - return type; - } + // We only narrow if all case expressions specify values with unit types const switchTypes = getSwitchClauseTypes(switchStatement); if (!switchTypes.length) { return type; } const clauseTypes = switchTypes.slice(clauseStart, clauseEnd); - const hasDefaultClause = clauseStart === clauseEnd || contains(clauseTypes, undefined); - const caseTypes = hasDefaultClause ? filter(clauseTypes, t => !!t) : clauseTypes; - const discriminantType = caseTypes.length ? getUnionType(caseTypes) : undefined; - const caseType = discriminantType && filterType(type, t => isTypeComparableTo(discriminantType, getTypeOfPropertyOfType(t, propName))); + const hasDefaultClause = clauseStart === clauseEnd || contains(clauseTypes, neverType); + const discriminantType = getUnionType(clauseTypes); + const caseType = discriminantType === neverType ? neverType : filterType(type, t => isTypeComparableTo(discriminantType, t)); if (!hasDefaultClause) { return caseType; } - const defaultType = filterType(type, t => !eachTypeContainedIn(getTypeOfPropertyOfType(t, propName), switchTypes)); - return caseType ? getUnionType([caseType, defaultType]) : defaultType; + const defaultType = filterType(type, t => !(isUnitType(t) && contains(switchTypes, t))); + return caseType === neverType ? defaultType : getUnionType([caseType, defaultType]); } function narrowTypeByInstanceof(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { - const left = getReferenceFromExpression(expr.left); + const left = getReferenceCandidate(expr.left); if (!isMatchingReference(reference, left)) { // For a reference of the form 'x.y', an 'x instanceof T' type guard resets the // narrowed type of 'y' to its declared type. @@ -8150,10 +8671,6 @@ namespace ts { } return type; } - // We never narrow type any in an instanceof guard - if (isTypeAny(type)) { - return type; - } // Check that right operand is a function type with a prototype property const rightType = checkExpression(expr.right); @@ -8171,6 +8688,11 @@ namespace ts { } } + // Don't narrow from 'any' if the target type is exactly 'Object' or 'Function' + if (isTypeAny(type) && (targetType === globalObjectType || targetType === globalFunctionType)) { + return type; + } + if (!targetType) { // Target type is type of construct signature let constructSignatures: Signature[]; @@ -8194,29 +8716,30 @@ namespace ts { function getNarrowedType(type: Type, candidate: Type, assumeTrue: boolean) { if (!assumeTrue) { - return type.flags & TypeFlags.Union ? - getUnionType(filter((type).types, t => !isTypeSubtypeOf(t, candidate))) : - type; + return filterType(type, t => !isTypeInstanceOf(t, candidate)); } - // If the current type is a union type, remove all constituents that aren't assignable to + // 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 & TypeFlags.Union) { - const assignableConstituents = filter((type).types, t => isTypeAssignableTo(t, candidate)); - if (assignableConstituents.length) { - return getUnionType(assignableConstituents); + const assignableType = filterType(type, t => isTypeInstanceOf(t, candidate)); + if (assignableType !== neverType) { + return assignableType; } } - // If the candidate type is assignable to the target type, narrow to the candidate type. - // Otherwise, if the current type is assignable to the candidate, keep the current type. - // Otherwise, the types are completely unrelated, so narrow to the empty type. + // If the candidate type is a subtype of the target type, narrow to the candidate type. + // Otherwise, if the target type is assignable to the candidate type, keep the target type. + // Otherwise, if the candidate type is assignable to the target type, narrow to the candidate + // type. Otherwise, the types are completely unrelated, so narrow to an intersection of the + // two types. const targetType = type.flags & TypeFlags.TypeParameter ? getApparentType(type) : type; - return isTypeAssignableTo(candidate, targetType) ? candidate : + return isTypeSubtypeOf(candidate, type) ? candidate : isTypeAssignableTo(type, candidate) ? type : - getIntersectionType([type, candidate]); + isTypeAssignableTo(candidate, targetType) ? candidate : + getIntersectionType([type, candidate]); } function narrowTypeByTypePredicate(type: Type, callExpression: CallExpression, assumeTrue: boolean): Type { - if (type.flags & TypeFlags.Any || !hasMatchingArgument(callExpression, reference)) { + if (!hasMatchingArgument(callExpression, reference)) { return type; } const signature = getResolvedSignature(callExpression); @@ -8224,6 +8747,12 @@ namespace ts { if (!predicate) { return type; } + + // Don't narrow from 'any' if the predicate type is exactly 'Object' or 'Function' + if (isTypeAny(type) && (predicate.type === globalObjectType || predicate.type === globalFunctionType)) { + return type; + } + if (isIdentifierTypePredicate(predicate)) { const predicateArgument = callExpression.arguments[predicate.parameterIndex]; if (predicateArgument) { @@ -8294,7 +8823,7 @@ namespace ts { // The location isn't a reference to the given symbol, meaning we're being asked // a hypothetical question of what type the symbol would have if there was a reference // to it at the given location. Since we have no control flow information for the - // hypotherical reference (control flow information is created and attached by the + // hypothetical reference (control flow information is created and attached by the // binder), we simply return the declared type of the symbol. return getTypeOfSymbol(symbol); } @@ -8309,21 +8838,52 @@ namespace ts { function getControlFlowContainer(node: Node): Node { while (true) { node = node.parent; - if (isFunctionLike(node) || node.kind === SyntaxKind.ModuleBlock || node.kind === SyntaxKind.SourceFile || node.kind === SyntaxKind.PropertyDeclaration) { + if (isFunctionLike(node) && !getImmediatelyInvokedFunctionExpression(node) || + node.kind === SyntaxKind.ModuleBlock || + node.kind === SyntaxKind.SourceFile || + node.kind === SyntaxKind.PropertyDeclaration) { return node; } } } - function isDeclarationIncludedInFlow(reference: Node, declaration: Declaration, includeOuterFunctions: boolean) { - const declarationContainer = getControlFlowContainer(declaration); - let container = getControlFlowContainer(reference); - while (container !== declarationContainer && - (container.kind === SyntaxKind.FunctionExpression || container.kind === SyntaxKind.ArrowFunction) && - (includeOuterFunctions || getImmediatelyInvokedFunctionExpression(container))) { - container = getControlFlowContainer(container); + // Check if a parameter is assigned anywhere within its declaring function. + function isParameterAssigned(symbol: Symbol) { + const func = getRootDeclaration(symbol.valueDeclaration).parent; + const links = getNodeLinks(func); + if (!(links.flags & NodeCheckFlags.AssignmentsMarked)) { + links.flags |= NodeCheckFlags.AssignmentsMarked; + if (!hasParentWithAssignmentsMarked(func)) { + markParameterAssignments(func); + } + } + return symbol.isAssigned || false; + } + + function hasParentWithAssignmentsMarked(node: Node) { + while (true) { + node = node.parent; + if (!node) { + return false; + } + if (isFunctionLike(node) && getNodeLinks(node).flags & NodeCheckFlags.AssignmentsMarked) { + return true; + } + } + } + + function markParameterAssignments(node: Node) { + if (node.kind === SyntaxKind.Identifier) { + if (isAssignmentTarget(node)) { + const symbol = getResolvedSymbol(node); + if (symbol.valueDeclaration && getRootDeclaration(symbol.valueDeclaration).kind === SyntaxKind.Parameter) { + symbol.isAssigned = true; + } + } + } + else { + forEachChild(node, markParameterAssignments); } - return container === declarationContainer; } function checkIdentifier(node: Identifier): Type { @@ -8337,10 +8897,13 @@ namespace ts { // can explicitly bound arguments objects if (symbol === argumentsSymbol) { const container = getContainingFunction(node); - if (container.kind === SyntaxKind.ArrowFunction) { - if (languageVersion < ScriptTarget.ES6) { + if (languageVersion < ScriptTarget.ES6) { + if (container.kind === SyntaxKind.ArrowFunction) { error(node, Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } + else if (hasModifier(container, ModifierFlags.Async)) { + error(node, Diagnostics.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method); + } } if (node.flags & NodeFlags.AwaitContext) { @@ -8354,22 +8917,41 @@ namespace ts { const localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); - // 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 (languageVersion === ScriptTarget.ES6 - && localOrExportSymbol.flags & SymbolFlags.Class - && localOrExportSymbol.valueDeclaration.kind === SyntaxKind.ClassDeclaration - && nodeIsDecorated(localOrExportSymbol.valueDeclaration)) { - let container = getContainingClass(node); - while (container !== undefined) { - if (container === localOrExportSymbol.valueDeclaration && container.name !== node) { - getNodeLinks(container).flags |= NodeCheckFlags.ClassWithBodyScopedClassBinding; - getNodeLinks(node).flags |= NodeCheckFlags.BodyScopedClassBinding; - break; - } + if (localOrExportSymbol.flags & SymbolFlags.Class) { + const declaration = localOrExportSymbol.valueDeclaration; + // 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 (languageVersion === ScriptTarget.ES6 + && declaration.kind === SyntaxKind.ClassDeclaration + && nodeIsDecorated(declaration)) { + let container = getContainingClass(node); + while (container !== undefined) { + if (container === declaration && container.name !== node) { + getNodeLinks(declaration).flags |= NodeCheckFlags.ClassWithConstructorReference; + getNodeLinks(node).flags |= NodeCheckFlags.ConstructorReferenceInClass; + break; + } - container = getContainingClass(container); + container = getContainingClass(container); + } + } + else if (declaration.kind === SyntaxKind.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. + let container = getThisContainer(node, /*includeArrowFunctions*/ false); + while (container !== undefined) { + if (container.parent === declaration) { + if (container.kind === SyntaxKind.PropertyDeclaration && hasModifier(container, ModifierFlags.Static)) { + getNodeLinks(declaration).flags |= NodeCheckFlags.ClassWithConstructorReference; + getNodeLinks(node).flags |= NodeCheckFlags.ConstructorReferenceInClass; + } + break; + } + + container = getThisContainer(container, /*includeArrowFunctions*/ false); + } } } @@ -8378,16 +8960,37 @@ namespace ts { checkNestedBlockScopedBinding(node, symbol); const type = getTypeOfSymbol(localOrExportSymbol); - if (!(localOrExportSymbol.flags & SymbolFlags.Variable) || isAssignmentTarget(node)) { + const declaration = localOrExportSymbol.valueDeclaration; + // We only narrow variables and parameters occurring in a non-assignment position. For all other + // entities we simply return the declared type. + if (!(localOrExportSymbol.flags & SymbolFlags.Variable) || isAssignmentTarget(node) || !declaration) { return type; } - const declaration = localOrExportSymbol.valueDeclaration; - const includeOuterFunctions = isReadonlySymbol(localOrExportSymbol); - const assumeInitialized = !strictNullChecks || (type.flags & TypeFlags.Any) !== 0 || !declaration || - getRootDeclaration(declaration).kind === SyntaxKind.Parameter || isInAmbientContext(declaration) || - !isDeclarationIncludedInFlow(node, declaration, includeOuterFunctions); - const flowType = getFlowTypeOfReference(node, type, assumeInitialized, includeOuterFunctions); - if (!assumeInitialized && !(getCombinedTypeFlags(type) & TypeFlags.Undefined) && getCombinedTypeFlags(flowType) & TypeFlags.Undefined) { + // 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. + const isParameter = getRootDeclaration(declaration).kind === SyntaxKind.Parameter; + const declarationContainer = getControlFlowContainer(declaration); + let flowContainer = getControlFlowContainer(node); + const isOuterVariable = flowContainer !== declarationContainer; + // 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 === SyntaxKind.FunctionExpression || flowContainer.kind === SyntaxKind.ArrowFunction) && + (isReadonlySymbol(localOrExportSymbol) || isParameter && !isParameterAssigned(localOrExportSymbol))) { + flowContainer = getControlFlowContainer(flowContainer); + } + // We only look for uninitialized variables in strict null checking mode, and only when we can analyze + // the entire control flow graph from the variable's declaration (i.e. when the flow container and + // declaration container are the same). + const assumeInitialized = !strictNullChecks || (type.flags & TypeFlags.Any) !== 0 || isParameter || + isOuterVariable || isInAmbientContext(declaration); + const flowType = getFlowTypeOfReference(node, type, assumeInitialized, flowContainer); + // A variable is considered uninitialized when it is possible to analyze the entire control flow graph + // from declaration to use, and when the variable's declared type doesn't include undefined but the + // control flow based type does include undefined. + if (!assumeInitialized && !(getFalsyFlags(type) & TypeFlags.Undefined) && getFalsyFlags(flowType) & TypeFlags.Undefined) { error(node, Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; @@ -8594,7 +9197,7 @@ namespace ts { break; case SyntaxKind.PropertyDeclaration: case SyntaxKind.PropertySignature: - if (container.flags & NodeFlags.Static) { + if (getModifierFlags(container) & ModifierFlags.Static) { error(node, 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 } @@ -8626,20 +9229,17 @@ namespace ts { return getInferredClassType(classSymbol); } } - const type = getContextuallyTypedThisType(container); - if (type) { - return type; - } const thisType = getThisTypeOfDeclaration(container); if (thisType) { return thisType; } } + if (isClassLike(container.parent)) { const symbol = getSymbolOfNode(container.parent); - const type = container.flags & NodeFlags.Static ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; - return getFlowTypeOfReference(node, type, /*assumeInitialized*/ true, /*includeOuterFunctions*/ true); + const type = hasModifier(container, ModifierFlags.Static) ? getTypeOfSymbol(symbol) : (getDeclaredTypeOfSymbol(symbol)).thisType; + return getFlowTypeOfReference(node, type, /*assumeInitialized*/ true, /*flowContainer*/ undefined); } if (isInJavaScriptFile(node)) { @@ -8717,7 +9317,7 @@ namespace ts { return unknownType; } - if ((container.flags & NodeFlags.Static) || isCallExpression) { + if ((getModifierFlags(container) & ModifierFlags.Static) || isCallExpression) { nodeCheckFlag = NodeCheckFlags.SuperStatic; } else { @@ -8782,8 +9382,8 @@ namespace 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 === SyntaxKind.MethodDeclaration && container.flags & NodeFlags.Async) { - if (isSuperPropertyOrElementAccess(node.parent) && isAssignmentTarget(node.parent)) { + if (container.kind === SyntaxKind.MethodDeclaration && getModifierFlags(container) & ModifierFlags.Async) { + if (isSuperProperty(node.parent) && isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= NodeCheckFlags.AsyncMethodWithSuperBinding; } else { @@ -8848,7 +9448,7 @@ namespace ts { // topmost container must be something that is directly nested in the class declaration\object literal expression if (isClassLike(container.parent) || container.parent.kind === SyntaxKind.ObjectLiteralExpression) { - if (container.flags & NodeFlags.Static) { + if (getModifierFlags(container) & ModifierFlags.Static) { return container.kind === SyntaxKind.MethodDeclaration || container.kind === SyntaxKind.MethodSignature || container.kind === SyntaxKind.GetAccessor || @@ -8870,11 +9470,11 @@ namespace ts { } } - function getContextuallyTypedThisType(func: FunctionLikeDeclaration): Type { + function getContextualThisParameter(func: FunctionLikeDeclaration): Symbol { if (isContextSensitiveFunctionOrObjectLiteralMethod(func) && func.kind !== SyntaxKind.ArrowFunction) { const contextualSignature = getContextualSignature(func); if (contextualSignature) { - return getThisTypeOfSignature(contextualSignature); + return contextualSignature.thisParameter; } } @@ -8892,14 +9492,14 @@ namespace ts { if (parameter.dotDotDotToken) { const restTypes: Type[] = []; for (let i = indexOfParameter; i < iife.arguments.length; i++) { - restTypes.push(getTypeOfExpression(iife.arguments[i])); + restTypes.push(getBaseTypeOfLiteralType(checkExpression(iife.arguments[i]))); } return createArrayType(getUnionType(restTypes)); } const links = getNodeLinks(iife); const cached = links.resolvedSignature; links.resolvedSignature = anySignature; - const type = checkExpression(iife.arguments[indexOfParameter]); + const type = getBaseTypeOfLiteralType(checkExpression(iife.arguments[indexOfParameter])); links.resolvedSignature = cached; return type; } @@ -8945,7 +9545,7 @@ namespace ts { } } if (isBindingPattern(declaration.name)) { - return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true); + return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true, /*reportErrors*/ false); } if (isBindingPattern(declaration.parent)) { const parentDeclaration = declaration.parent.parent; @@ -9050,6 +9650,11 @@ namespace ts { const binaryExpression = node.parent; const operator = binaryExpression.operatorToken.kind; if (operator >= SyntaxKind.FirstAssignment && operator <= SyntaxKind.LastAssignment) { + // Don't do this for special property assignments to avoid circularity + if (getSpecialPropertyAssignmentKind(binaryExpression) !== SpecialPropertyAssignmentKind.None) { + return undefined; + } + // In an assignment expression, the right operand is contextually typed by the type of the left operand. if (node === binaryExpression.right) { return checkExpression(binaryExpression.left); @@ -9245,6 +9850,7 @@ namespace ts { case SyntaxKind.BinaryExpression: return getContextualTypeForBinaryOperand(node); case SyntaxKind.PropertyAssignment: + case SyntaxKind.ShorthandPropertyAssignment: return getContextualTypeForObjectLiteralElement(parent); case SyntaxKind.ArrayLiteralExpression: return getContextualTypeForElementExpression(node); @@ -9400,7 +10006,7 @@ namespace ts { } } else { - const type = checkExpression(e, contextualMapper); + const type = checkExpressionForMutableLocation(e, contextualMapper); elementTypes.push(type); } hasSpreadElement = hasSpreadElement || e.kind === SyntaxKind.SpreadElementExpression; @@ -9409,7 +10015,7 @@ namespace ts { // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such // that we get the same behavior for "var [x, y] = []" and "[x, y] = []". if (inDestructuringPattern && elementTypes.length) { - const type = createNewTupleType(elementTypes); + const type = cloneTypeReference(createTupleType(elementTypes)); type.pattern = node; return type; } @@ -9423,7 +10029,7 @@ namespace ts { for (let i = elementTypes.length; i < patternElements.length; i++) { const patternElement = patternElements[i]; if (hasDefaultValue(patternElement)) { - elementTypes.push((contextualType).elementTypes[i]); + elementTypes.push((contextualType).typeArguments[i]); } else { if (patternElement.kind !== SyntaxKind.OmittedExpression) { @@ -9438,7 +10044,9 @@ namespace ts { } } } - return createArrayType(elementTypes.length ? getUnionType(elementTypes) : strictNullChecks ? neverType : undefinedWideningType); + return createArrayType(elementTypes.length ? + getUnionType(elementTypes, /*subtypeReduction*/ true) : + strictNullChecks ? neverType : undefinedWideningType); } function isNumericName(name: DeclarationName): boolean { @@ -9455,6 +10063,10 @@ namespace ts { return isTypeAny(type) || isTypeOfKind(type, kind); } + function isInfinityOrNaNString(name: string): boolean { + return name === "Infinity" || name === "-Infinity" || name === "NaN"; + } + function isNumericLiteralName(name: string) { // The intent of numeric names is that // - they are names with text in a numeric form, and that @@ -9505,7 +10117,7 @@ namespace ts { propTypes.push(getTypeOfSymbol(properties[i])); } } - const unionType = propTypes.length ? getUnionType(propTypes) : undefinedType; + const unionType = propTypes.length ? getUnionType(propTypes, /*subtypeReduction*/ true) : undefinedType; return createIndexInfo(unionType, /*isReadonly*/ false); } @@ -9514,7 +10126,7 @@ namespace ts { // Grammar checking checkGrammarObjectLiteralExpression(node, inDestructuringPattern); - const propertiesTable: SymbolTable = {}; + const propertiesTable = createMap(); const propertiesArray: Symbol[] = []; const contextualType = getApparentTypeOfContextualType(node); const contextualTypeHasPattern = contextualType && contextualType.pattern && @@ -9538,7 +10150,7 @@ namespace ts { } else { Debug.assert(memberDecl.kind === SyntaxKind.ShorthandPropertyAssignment); - type = checkExpression((memberDecl).name, contextualMapper); + type = checkExpressionForMutableLocation((memberDecl).name, contextualMapper); } typeFlags |= type.flags; const prop = createSymbol(SymbolFlags.Property | SymbolFlags.Transient | member.flags, member.name); @@ -9605,7 +10217,7 @@ namespace ts { // type with those properties for which the binding pattern specifies a default value. if (contextualTypeHasPattern) { for (const prop of getPropertiesOfType(contextualType)) { - if (!hasProperty(propertiesTable, prop.name)) { + if (!propertiesTable[prop.name]) { if (!(prop.flags & SymbolFlags.Optional)) { error(prop.valueDeclaration || (prop).bindingElement, Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); @@ -9695,10 +10307,9 @@ namespace ts { const correspondingPropSymbol = getPropertyOfType(elementAttributesType, node.name.text); correspondingPropType = correspondingPropSymbol && getTypeOfSymbol(correspondingPropSymbol); if (isUnhyphenatedJsxName(node.name.text)) { - // Maybe there's a string indexer? - const indexerType = getIndexTypeOfType(elementAttributesType, IndexKind.String); - if (indexerType) { - correspondingPropType = indexerType; + const attributeType = getTypeOfPropertyOfType(elementAttributesType, getTextOfPropertyName(node.name)) || getIndexTypeOfType(elementAttributesType, IndexKind.String); + if (attributeType) { + correspondingPropType = attributeType; } else { // If there's no corresponding property with this name, error @@ -9816,7 +10427,7 @@ namespace ts { } } - return getUnionType(signatures.map(getReturnTypeOfSignature)); + return getUnionType(signatures.map(getReturnTypeOfSignature), /*subtypeReduction*/ true); } /// e.g. "props" for React.d.ts, @@ -9868,7 +10479,7 @@ namespace ts { const types = (elemType).types; return getUnionType(types.map(type => { return getResolvedJsxType(node, type, elemClassType); - })); + }), /*subtypeReduction*/ true); } // 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 @@ -9879,7 +10490,7 @@ namespace ts { // 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 const intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements); if (intrinsicElementsType !== unknownType) { - const stringLiteralTypeName = (elemType).text; + const stringLiteralTypeName = (elemType).text; const intrinsicProp = getPropertyOfType(intrinsicElementsType, stringLiteralTypeName); if (intrinsicProp) { return getTypeOfSymbol(intrinsicProp); @@ -10055,7 +10666,7 @@ namespace ts { const targetAttributesType = getJsxElementAttributesType(node); - const nameTable: Map = {}; + const nameTable = createMap(); // Process this array in right-to-left order so we know which // attributes (mostly from spreads) are being overwritten and // thus should have their types ignored @@ -10079,7 +10690,7 @@ namespace ts { const targetProperties = getPropertiesOfType(targetAttributesType); for (let i = 0; i < targetProperties.length; i++) { if (!(targetProperties[i].flags & SymbolFlags.Optional) && - nameTable[targetProperties[i].name] === undefined) { + !nameTable[targetProperties[i].name]) { error(node, Diagnostics.Property_0_is_missing_in_type_1, targetProperties[i].name, typeToString(targetAttributesType)); } @@ -10102,8 +10713,12 @@ namespace ts { return s.valueDeclaration ? s.valueDeclaration.kind : SyntaxKind.PropertyDeclaration; } - function getDeclarationFlagsFromSymbol(s: Symbol): NodeFlags { - return s.valueDeclaration ? getCombinedNodeFlags(s.valueDeclaration) : s.flags & SymbolFlags.Prototype ? NodeFlags.Public | NodeFlags.Static : 0; + function getDeclarationModifierFlagsFromSymbol(s: Symbol): ModifierFlags { + return s.valueDeclaration ? getCombinedModifierFlags(s.valueDeclaration) : s.flags & SymbolFlags.Prototype ? ModifierFlags.Public | ModifierFlags.Static : 0; + } + + function getDeclarationNodeFlagsFromSymbol(s: Symbol): NodeFlags { + return s.valueDeclaration ? getCombinedNodeFlags(s.valueDeclaration) : 0; } /** @@ -10115,7 +10730,7 @@ namespace ts { * @param prop The symbol for the right hand side of the property access. */ function checkClassPropertyAccess(node: PropertyAccessExpression | QualifiedName | VariableLikeDeclaration, left: Expression | QualifiedName, type: Type, prop: Symbol): boolean { - const flags = getDeclarationFlagsFromSymbol(prop); + const flags = getDeclarationModifierFlagsFromSymbol(prop); const declaringClass = getDeclaredTypeOfSymbol(getParentOfSymbol(prop)); const errorNode = node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.VariableDeclaration ? (node).name : @@ -10136,7 +10751,7 @@ namespace ts { return false; } - if (flags & NodeFlags.Abstract) { + if (flags & ModifierFlags.Abstract) { // A method cannot be accessed in a super property access if the method is abstract. // This error could mask a private property access error. But, a member // cannot simultaneously be private and abstract, so this will trigger an @@ -10148,14 +10763,14 @@ namespace ts { } // Public properties are otherwise accessible. - if (!(flags & (NodeFlags.Private | NodeFlags.Protected))) { + if (!(flags & ModifierFlags.NonPublicAccessibilityModifier)) { return true; } // Property is known to be private or protected at this point // Private property is accessible if the property is within the declaring class - if (flags & NodeFlags.Private) { + if (flags & ModifierFlags.Private) { const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (!isNodeWithinClass(node, declaringClassDeclaration)) { error(errorNode, Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(declaringClass)); @@ -10183,7 +10798,7 @@ namespace ts { return false; } // No further restrictions for static properties - if (flags & NodeFlags.Static) { + if (flags & ModifierFlags.Static) { return true; } // An instance property must be accessed through an instance of the enclosing class @@ -10203,7 +10818,7 @@ namespace ts { function checkNonNullExpression(node: Expression | QualifiedName) { const type = checkExpression(node); if (strictNullChecks) { - const kind = getCombinedTypeFlags(type) & TypeFlags.Nullable; + const kind = getFalsyFlags(type) & TypeFlags.Nullable; if (kind) { error(node, kind & TypeFlags.Undefined ? kind & TypeFlags.Null ? Diagnostics.Object_is_possibly_null_or_undefined : @@ -10244,7 +10859,7 @@ namespace ts { if (noUnusedIdentifiers && (prop.flags & SymbolFlags.ClassMember) && - prop.valueDeclaration && (prop.valueDeclaration.flags & NodeFlags.Private)) { + prop.valueDeclaration && (getModifierFlags(prop.valueDeclaration) & ModifierFlags.Private)) { if (prop.flags & SymbolFlags.Instantiated) { getSymbolLinks(prop).target.isReferenced = true; @@ -10261,6 +10876,7 @@ namespace ts { } const propType = getTypeOfSymbol(prop); + // 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. @@ -10269,7 +10885,7 @@ namespace ts { !(prop.flags & SymbolFlags.Method && propType.flags & TypeFlags.Union)) { return propType; } - return getFlowTypeOfReference(node, propType, /*assumeInitialized*/ true, /*includeOuterFunctions*/ false); + return getFlowTypeOfReference(node, propType, /*assumeInitialized*/ true, /*flowContainer*/ undefined); } function isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean { @@ -10394,10 +11010,11 @@ namespace ts { } // Check for compatible indexer types. - if (isTypeAnyOrAllConstituentTypesHaveKind(indexType, TypeFlags.StringLike | TypeFlags.NumberLike | TypeFlags.ESSymbol)) { + const allowedNullableFlags = strictNullChecks ? 0 : TypeFlags.Nullable; + if (isTypeAnyOrAllConstituentTypesHaveKind(indexType, TypeFlags.StringLike | TypeFlags.NumberLike | TypeFlags.ESSymbol | allowedNullableFlags)) { // Try to use a number indexer. - if (isTypeAnyOrAllConstituentTypesHaveKind(indexType, TypeFlags.NumberLike) || isForInVariableForNumericPropertyNames(node.argumentExpression)) { + if (isTypeAnyOrAllConstituentTypesHaveKind(indexType, TypeFlags.NumberLike | allowedNullableFlags) || isForInVariableForNumericPropertyNames(node.argumentExpression)) { const numberIndexInfo = getIndexInfoOfType(objectType, IndexKind.Number); if (numberIndexInfo) { getNodeLinks(node).resolvedIndexInfo = numberIndexInfo; @@ -10557,7 +11174,7 @@ namespace ts { // specialized signatures always need to be placed before non-specialized signatures regardless // of the cutoff position; see GH#1133 - if (signature.hasStringLiterals) { + if (signature.hasLiteralTypes) { specializedIndex++; spliceIndex = specializedIndex; // The cutoff index always needs to be greater than or equal to the specialized signature index @@ -10676,7 +11293,7 @@ namespace ts { // Instantiate a generic signature in the context of a non-generic signature (section 3.8.5 in TypeScript spec) function instantiateSignatureInContextOf(signature: Signature, contextualSignature: Signature, contextualMapper: TypeMapper): Signature { - const context = createInferenceContext(signature.typeParameters, /*inferUnionTypes*/ true); + const context = createInferenceContext(signature, /*inferUnionTypes*/ true); forEachMatchingParameterType(contextualSignature, signature, (source, target) => { // Type parameters from outer context referenced by source type are fixed by instantiation of the source type inferTypes(context, instantiateType(source, contextualMapper), target); @@ -10816,9 +11433,7 @@ namespace ts { // If the effective argument type is 'undefined', there is no synthetic type // for the argument. In that case, we should check the argument. if (argType === undefined) { - argType = arg.kind === SyntaxKind.StringLiteral && !reportErrors - ? getStringLiteralTypeForText((arg).text) - : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + argType = checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); } // Use argument expression as error location when reporting errors @@ -11026,7 +11641,7 @@ namespace ts { case SyntaxKind.Identifier: case SyntaxKind.NumericLiteral: case SyntaxKind.StringLiteral: - return getStringLiteralTypeForText((element.name).text); + return getLiteralTypeForText(TypeFlags.StringLiteral, (element.name).text); case SyntaxKind.ComputedPropertyName: const nameType = checkComputedPropertyName(element.name); @@ -11275,7 +11890,7 @@ namespace ts { else if (candidateForTypeArgumentError) { if (!isTaggedTemplate && !isDecorator && typeArguments) { const typeArguments = (node).typeArguments; - checkTypeArguments(candidateForTypeArgumentError, typeArguments, map(typeArguments, getTypeFromTypeNode), /*reportErrors*/ true, headMessage); + checkTypeArguments(candidateForTypeArgumentError, typeArguments, map(typeArguments, getTypeFromTypeNodeNoAlias), /*reportErrors*/ true, headMessage); } else { Debug.assert(resultOfFailedInference.failedTypeParameterIndex >= 0); @@ -11306,7 +11921,7 @@ namespace ts { for (let candidate of candidates) { if (hasCorrectArity(node, args, candidate)) { if (candidate.typeParameters && typeArguments) { - candidate = getSignatureInstantiation(candidate, map(typeArguments, getTypeFromTypeNode)); + candidate = getSignatureInstantiation(candidate, map(typeArguments, getTypeFromTypeNodeNoAlias)); } return candidate; } @@ -11334,7 +11949,7 @@ namespace ts { let candidate: Signature; let typeArgumentsAreValid: boolean; const inferenceContext = originalCandidate.typeParameters - ? createInferenceContext(originalCandidate.typeParameters, /*inferUnionTypes*/ false) + ? createInferenceContext(originalCandidate, /*inferUnionTypes*/ false) : undefined; while (true) { @@ -11342,7 +11957,7 @@ namespace ts { if (candidate.typeParameters) { let typeArgumentTypes: Type[]; if (typeArguments) { - typeArgumentTypes = map(typeArguments, getTypeFromTypeNode); + typeArgumentTypes = map(typeArguments, getTypeFromTypeNodeNoAlias); typeArgumentsAreValid = checkTypeArguments(candidate, typeArguments, typeArgumentTypes, /*reportErrors*/ false); } else { @@ -11421,18 +12036,12 @@ namespace ts { // Function interface, since they have none by default. This is a bit of a leap of faith // that the user will not add any. const callSignatures = getSignaturesOfType(apparentType, SignatureKind.Call); - const constructSignatures = getSignaturesOfType(apparentType, SignatureKind.Construct); - // TS 1.0 spec: 4.12 - // If FuncExpr is of type Any, or of an object type that has no call or construct signatures - // but is a subtype of the Function interface, the call is an untyped function call. In an - // untyped function call no TypeArgs are permitted, Args can be any argument list, no contextual + + // TS 1.0 Spec: 4.12 + // In an untyped function call no TypeArgs are permitted, Args can be any argument list, no contextual // types are provided for the argument expressions, and the result is always of type Any. - // We exclude union types because we may have a union of function types that happen to have - // no common signatures. - if (isTypeAny(funcType) || - (isTypeAny(apparentType) && funcType.flags & TypeFlags.TypeParameter) || - (!callSignatures.length && !constructSignatures.length && !(funcType.flags & TypeFlags.Union) && isTypeAssignableTo(funcType, globalFunctionType))) { + 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) { @@ -11455,6 +12064,29 @@ namespace ts { return resolveCall(node, callSignatures, candidatesOutArray); } + /** + * TS 1.0 spec: 4.12 + * If FuncExpr is of type Any, or of an object type that has no call or construct signatures + * but is a subtype of the Function interface, the call is an untyped function call. + */ + function isUntypedFunctionCall(funcType: Type, apparentFuncType: Type, numCallSignatures: number, numConstructSignatures: number) { + if (isTypeAny(funcType)) { + return true; + } + if (isTypeAny(apparentFuncType) && funcType.flags & TypeFlags.TypeParameter) { + return true; + } + if (!numCallSignatures && !numConstructSignatures) { + // We exclude union types because we may have a union of function types that happen to have + // no common signatures. + if (funcType.flags & TypeFlags.Union) { + return false; + } + return isTypeAssignableTo(funcType, globalFunctionType); + } + return false; + } + function resolveNewExpression(node: NewExpression, candidatesOutArray: Signature[]): Signature { if (node.arguments && languageVersion < ScriptTarget.ES5) { const spreadIndex = getSpreadArgumentIndex(node.arguments); @@ -11481,7 +12113,7 @@ namespace ts { // In the case of a merged class-module or class-interface declaration, // only the class declaration node will have the Abstract flag set. const valueDecl = expressionType.symbol && getClassLikeDeclarationOfSymbol(expressionType.symbol); - if (valueDecl && valueDecl.flags & NodeFlags.Abstract) { + if (valueDecl && getModifierFlags(valueDecl) & ModifierFlags.Abstract) { error(node, Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0, declarationNameToString(valueDecl.name)); return resolveErrorCall(node); } @@ -11534,22 +12166,34 @@ namespace ts { } const declaration = signature.declaration; - const flags = declaration.flags; + const modifiers = getModifierFlags(declaration); // Public constructor is accessible. - if (!(flags & (NodeFlags.Private | NodeFlags.Protected))) { + if (!(modifiers & ModifierFlags.NonPublicAccessibilityModifier)) { return true; } const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(declaration.parent.symbol); const declaringClass = getDeclaredTypeOfSymbol(declaration.parent.symbol); - // A private or protected constructor can only be instantiated within it's own class + // A private or protected constructor can only be instantiated within its own class (or a subclass, for protected) if (!isNodeWithinClass(node, declaringClassDeclaration)) { - if (flags & NodeFlags.Private) { + const containingClass = getContainingClass(node); + if (containingClass) { + const containingType = getTypeOfNode(containingClass); + const baseTypes = getBaseTypes(containingType); + if (baseTypes.length) { + const baseType = baseTypes[0]; + if (modifiers & ModifierFlags.Protected && + baseType.symbol === declaration.parent.symbol) { + return true; + } + } + } + if (modifiers & ModifierFlags.Private) { error(node, Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, typeToString(declaringClass)); } - if (flags & NodeFlags.Protected) { + if (modifiers & ModifierFlags.Protected) { error(node, Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration, typeToString(declaringClass)); } return false; @@ -11568,8 +12212,9 @@ namespace ts { } const callSignatures = getSignaturesOfType(apparentType, SignatureKind.Call); + const constructSignatures = getSignaturesOfType(apparentType, SignatureKind.Construct); - if (isTypeAny(tagType) || (!callSignatures.length && !(tagType.flags & TypeFlags.Union) && isTypeAssignableTo(tagType, globalFunctionType))) { + if (isUntypedFunctionCall(tagType, apparentType, callSignatures.length, constructSignatures.length)) { return resolveUntypedCall(node); } @@ -11614,7 +12259,8 @@ namespace ts { } const callSignatures = getSignaturesOfType(apparentType, SignatureKind.Call); - if (funcType === anyType || (!callSignatures.length && !(funcType.flags & TypeFlags.Union) && isTypeAssignableTo(funcType, globalFunctionType))) { + const constructSignatures = getSignaturesOfType(apparentType, SignatureKind.Construct); + if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, constructSignatures.length)) { return resolveUntypedCall(node); } @@ -11653,10 +12299,10 @@ namespace ts { // or that a different candidatesOutArray was passed in. Therefore, we need to redo the work // to correctly fill the candidatesOutArray. const cached = links.resolvedSignature; - if (cached && cached !== anySignature && !candidatesOutArray) { + if (cached && cached !== resolvingSignature && !candidatesOutArray) { return cached; } - links.resolvedSignature = anySignature; + links.resolvedSignature = resolvingSignature; const result = resolveSignature(node, candidatesOutArray); // If signature resolution originated in control flow type analysis (for example to compute the // assigned type in a flow assignment) we don't cache the result as it may be based on temporary @@ -11668,7 +12314,7 @@ namespace ts { function getResolvedOrAnySignature(node: CallLikeExpression) { // If we're already in the process of resolving the given signature, don't resolve again as // that could cause infinite recursion. Instead, return anySignature. - return getNodeLinks(node).resolvedSignature === anySignature ? anySignature : getResolvedSignature(node); + return getNodeLinks(node).resolvedSignature === resolvingSignature ? resolvingSignature : getResolvedSignature(node); } function getInferredClassType(symbol: Symbol) { @@ -11734,7 +12380,7 @@ namespace ts { } function checkAssertion(node: AssertionExpression) { - const exprType = getRegularTypeOfObjectLiteral(checkExpression(node.expression)); + const exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(checkExpression(node.expression))); checkSourceElement(node.type); const targetType = getTypeFromTypeNode(node.type); @@ -11757,7 +12403,7 @@ namespace ts { if (strictNullChecks) { const declaration = symbol.valueDeclaration; if (declaration && (declaration).initializer) { - return addTypeKind(type, TypeFlags.Undefined); + return includeFalsyTypes(type, TypeFlags.Undefined); } } return type; @@ -11771,6 +12417,12 @@ namespace ts { function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { const len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); + if (context.thisParameter) { + if (!signature.thisParameter) { + signature.thisParameter = createTransientSymbol(context.thisParameter, undefined); + } + assignTypeToParameterAndFixTypeParameters(signature.thisParameter, getTypeOfSymbol(context.thisParameter), mapper); + } for (let i = 0; i < len; i++) { const parameter = signature.parameters[i]; const contextualParameterType = getTypeAtPosition(context, i); @@ -11788,7 +12440,7 @@ namespace ts { function assignBindingElementTypes(node: VariableLikeDeclaration) { if (isBindingPattern(node.name)) { for (const element of (node.name).elements) { - if (element.kind !== SyntaxKind.OmittedExpression) { + if (!isOmittedExpression(element)) { if (element.name.kind === SyntaxKind.Identifier) { getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element); } @@ -11918,20 +12570,8 @@ namespace ts { return isAsync ? createPromiseReturnType(func, voidType) : voidType; } } - // When yield/return statements are contextually typed we allow the return type to be a union type. - // Otherwise we require the yield/return expressions to have a best common supertype. - type = contextualSignature ? getUnionType(types) : getCommonSupertype(types); - if (!type) { - if (funcIsGenerator) { - error(func, Diagnostics.No_best_common_type_exists_among_yield_expressions); - return createIterableIteratorType(unknownType); - } - else { - error(func, Diagnostics.No_best_common_type_exists_among_return_expressions); - // Defer to unioning the return types so we get a) downstream errors earlier and b) better Salsa experience - return isAsync ? createPromiseReturnType(func, getUnionType(types)) : getUnionType(types); - } - } + // Return a union of the return expression types. + type = getUnionType(types, /*subtypeReduction*/ true); if (funcIsGenerator) { type = createIterableIteratorType(type); @@ -11940,6 +12580,9 @@ namespace ts { if (!contextualSignature) { reportErrorsFromWidening(func, type); } + if (isUnitType(type) && !(contextualSignature && isLiteralContextualType(getReturnTypeOfSignature(contextualSignature)))) { + type = getBaseTypeOfLiteralType(type); + } const widenedType = getWidenedType(type); // From within an async function you can return either a non-promise value or a promise. Any @@ -11971,24 +12614,18 @@ namespace ts { } function isExhaustiveSwitchStatement(node: SwitchStatement): boolean { - const expr = node.expression; - if (!node.possiblyExhaustive || expr.kind !== SyntaxKind.PropertyAccessExpression) { + if (!node.possiblyExhaustive) { return false; } - const type = checkExpression((expr).expression); - if (!(type.flags & TypeFlags.Union)) { - return false; - } - const propName = (expr).name.text; - const propType = getTypeOfPropertyOfType(type, propName); - if (!propType || !isStringLiteralUnionType(propType)) { + const type = checkExpression(node.expression); + if (!isLiteralType(type)) { return false; } const switchTypes = getSwitchClauseTypes(node); if (!switchTypes.length) { return false; } - return eachTypeContainedIn(propType, switchTypes); + return eachTypeContainedIn(type, switchTypes); } function functionHasImplicitReturn(func: FunctionLikeDeclaration) { @@ -12216,8 +12853,8 @@ namespace ts { // Enum members // Unions and intersections of the above (unions and intersections eagerly set isReadonly on creation) return symbol.isReadonly || - symbol.flags & SymbolFlags.Property && (getDeclarationFlagsFromSymbol(symbol) & NodeFlags.Readonly) !== 0 || - symbol.flags & SymbolFlags.Variable && (getDeclarationFlagsFromSymbol(symbol) & NodeFlags.Const) !== 0 || + symbol.flags & SymbolFlags.Property && (getDeclarationModifierFlagsFromSymbol(symbol) & ModifierFlags.Readonly) !== 0 || + symbol.flags & SymbolFlags.Variable && (getDeclarationNodeFlagsFromSymbol(symbol) & NodeFlags.Const) !== 0 || symbol.flags & SymbolFlags.Accessor && !(symbol.flags & SymbolFlags.SetAccessor) || (symbol.flags & SymbolFlags.EnumMember) !== 0; } @@ -12324,6 +12961,9 @@ namespace ts { function checkPrefixUnaryExpression(node: PrefixUnaryExpression): Type { const operandType = checkExpression(node.operand); + if (node.operator === SyntaxKind.MinusToken && node.operand.kind === SyntaxKind.NumericLiteral) { + return getLiteralTypeForText(TypeFlags.NumberLiteral, "" + -(node.operand).text); + } switch (node.operator) { case SyntaxKind.PlusToken: case SyntaxKind.MinusToken: @@ -12333,7 +12973,10 @@ namespace ts { } return numberType; case SyntaxKind.ExclamationToken: - return booleanType; + const facts = getTypeFacts(operandType) & (TypeFacts.Truthy | TypeFacts.Falsy); + return facts === TypeFacts.Truthy ? falseType : + facts === TypeFacts.Falsy ? trueType : + booleanType; case SyntaxKind.PlusPlusToken: case SyntaxKind.MinusMinusToken: const ok = checkArithmeticOperandType(node.operand, getNonNullableType(operandType), @@ -12514,8 +13157,11 @@ namespace ts { return checkDestructuringAssignment(element, type, contextualMapper); } else { + // We still need to check element expression here because we may need to set appropriate flag on the expression + // such as NodeCheckFlags.LexicalThis on "this"expression. + checkExpression(element); if (isTupleType(sourceType)) { - error(element, Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2, typeToString(sourceType), (sourceType).elementTypes.length, elements.length); + error(element, Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2, typeToString(sourceType), getTypeReferenceArity(sourceType), elements.length); } else { error(element, Diagnostics.Type_0_has_no_property_1, typeToString(sourceType), propName); @@ -12548,7 +13194,7 @@ namespace ts { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getCombinedTypeFlags(checkExpression(prop.objectAssignmentInitializer)) & TypeFlags.Undefined)) { + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & TypeFlags.Undefined)) { sourceType = getTypeWithFacts(sourceType, TypeFacts.NEUndefined); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, contextualMapper); @@ -12584,6 +13230,14 @@ namespace ts { return (target.flags & TypeFlags.Nullable) !== 0 || isTypeComparableTo(source, target); } + function getBestChoiceType(type1: Type, type2: Type): Type { + const firstAssignableToSecond = isTypeAssignableTo(type1, type2); + const secondAssignableToFirst = isTypeAssignableTo(type2, type1); + return secondAssignableToFirst && !firstAssignableToSecond ? type1 : + firstAssignableToSecond && !secondAssignableToFirst ? type2 : + getUnionType([type1, type2], /*subtypeReduction*/ true); + } + function checkBinaryExpression(node: BinaryExpression, contextualMapper?: TypeMapper) { return checkBinaryLikeExpression(node.left, node.operatorToken, node.right, contextualMapper, node); } @@ -12633,8 +13287,8 @@ namespace ts { let suggestedOperator: SyntaxKind; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion - if ((leftType.flags & TypeFlags.Boolean) && - (rightType.flags & TypeFlags.Boolean) && + if ((leftType.flags & TypeFlags.BooleanLike) && + (rightType.flags & TypeFlags.BooleanLike) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, tokenToString(operatorToken.kind), tokenToString(suggestedOperator)); } @@ -12707,6 +13361,12 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: + const leftIsLiteral = isLiteralType(leftType); + const rightIsLiteral = isLiteralType(rightType); + if (!leftIsLiteral || !rightIsLiteral) { + leftType = leftIsLiteral ? getBaseTypeOfLiteralType(leftType) : leftType; + rightType = rightIsLiteral ? getBaseTypeOfLiteralType(rightType) : rightType; + } if (!isTypeEqualityComparableTo(leftType, rightType) && !isTypeEqualityComparableTo(rightType, leftType)) { reportOperatorError(); } @@ -12716,9 +13376,13 @@ namespace ts { case SyntaxKind.InKeyword: return checkInExpression(left, right, leftType, rightType); case SyntaxKind.AmpersandAmpersandToken: - return strictNullChecks ? addTypeKind(rightType, getCombinedTypeFlags(leftType) & TypeFlags.Falsy) : rightType; + return getTypeFacts(leftType) & TypeFacts.Truthy ? + includeFalsyTypes(rightType, getFalsyFlags(strictNullChecks ? leftType : getBaseTypeOfLiteralType(rightType))) : + leftType; case SyntaxKind.BarBarToken: - return getUnionType([getNonNullableType(leftType), rightType]); + return getTypeFacts(leftType) & TypeFacts.Falsy ? + getBestChoiceType(removeDefinitelyFalsyTypes(leftType), rightType) : + leftType; case SyntaxKind.EqualsToken: checkAssignmentOperator(rightType); return getRegularTypeOfObjectLiteral(rightType); @@ -12844,16 +13508,22 @@ namespace ts { checkExpression(node.condition); const type1 = checkExpression(node.whenTrue, contextualMapper); const type2 = checkExpression(node.whenFalse, contextualMapper); - return getUnionType([type1, type2]); + return getBestChoiceType(type1, type2); } - function checkStringLiteralExpression(node: StringLiteral): Type { - const contextualType = getContextualType(node); - if (contextualType && isStringLiteralUnionType(contextualType)) { - return getStringLiteralTypeForText(node.text); + function checkLiteralExpression(node: Expression): Type { + if (node.kind === SyntaxKind.NumericLiteral) { + checkGrammarNumericLiteral(node); + } + switch (node.kind) { + case SyntaxKind.StringLiteral: + return getLiteralTypeForText(TypeFlags.StringLiteral, (node).text); + case SyntaxKind.NumericLiteral: + return getLiteralTypeForText(TypeFlags.NumberLiteral, (node).text); + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: + return node.kind === SyntaxKind.TrueKeyword ? trueType : falseType; } - - return stringType; } function checkTemplateExpression(node: TemplateExpression): Type { @@ -12891,6 +13561,28 @@ namespace ts { return links.resolvedType; } + function isLiteralContextualType(contextualType: Type) { + if (contextualType) { + if (contextualType.flags & TypeFlags.TypeParameter) { + const apparentType = getApparentTypeOfTypeParameter(contextualType); + // If the type parameter is constrained to the base primitive type we're checking for, + // consider this a literal context. For example, given a type parameter 'T extends string', + // this causes us to infer string literal types for T. + if (apparentType.flags & (TypeFlags.String | TypeFlags.Number | TypeFlags.Boolean | TypeFlags.Enum)) { + return true; + } + contextualType = apparentType; + } + return maybeTypeOfKind(contextualType, TypeFlags.Literal); + } + return false; + } + + function checkExpressionForMutableLocation(node: Expression, contextualMapper?: TypeMapper): Type { + const type = checkExpression(node, contextualMapper); + return isLiteralContextualType(getContextualType(node)) ? type : getBaseTypeOfLiteralType(type); + } + function checkPropertyAssignment(node: PropertyAssignment, contextualMapper?: TypeMapper): Type { // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including @@ -12899,7 +13591,7 @@ namespace ts { checkComputedPropertyName(node.name); } - return checkExpression((node).initializer, contextualMapper); + return checkExpressionForMutableLocation((node).initializer, contextualMapper); } function checkObjectLiteralMethod(node: MethodDeclaration, contextualMapper?: TypeMapper): Type { @@ -12968,12 +13660,6 @@ namespace ts { return type; } - function checkNumericLiteral(node: LiteralExpression): Type { - // Grammar checking - checkGrammarNumericLiteral(node); - return numberType; - } - function checkExpressionWorker(node: Expression, contextualMapper: TypeMapper): Type { switch (node.kind) { case SyntaxKind.Identifier: @@ -12984,15 +13670,13 @@ namespace ts { return checkSuperExpression(node); case SyntaxKind.NullKeyword: return nullWideningType; + case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: case SyntaxKind.TrueKeyword: case SyntaxKind.FalseKeyword: - return booleanType; - case SyntaxKind.NumericLiteral: - return checkNumericLiteral(node); + return checkLiteralExpression(node); case SyntaxKind.TemplateExpression: return checkTemplateExpression(node); - case SyntaxKind.StringLiteral: - return checkStringLiteralExpression(node); case SyntaxKind.NoSubstitutionTemplateLiteral: return stringType; case SyntaxKind.RegularExpressionLiteral: @@ -13082,7 +13766,7 @@ namespace ts { checkVariableLikeDeclaration(node); let func = getContainingFunction(node); - if (node.flags & NodeFlags.ParameterPropertyModifier) { + if (getModifierFlags(node) & ModifierFlags.ParameterPropertyModifier) { func = getContainingFunction(node); if (!(func.kind === SyntaxKind.Constructor && nodeIsPresent(func.body))) { error(node, Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); @@ -13199,7 +13883,12 @@ namespace ts { pattern: BindingPattern, predicateVariableNode: Node, predicateVariableName: string) { - for (const { name } of pattern.elements) { + for (const element of pattern.elements) { + if (isOmittedExpression(element)) { + continue; + } + + const name = element.name; if (name.kind === SyntaxKind.Identifier && (name).text === predicateVariableName) { error(predicateVariableNode, @@ -13282,15 +13971,19 @@ namespace ts { } function checkClassForDuplicateDeclarations(node: ClassLikeDeclaration) { - const getter = 1, setter = 2, property = getter | setter; + const enum Accessor { + Getter = 1, + Setter = 2, + Property = Getter | Setter + } - const instanceNames: Map = {}; - const staticNames: Map = {}; + const instanceNames = createMap(); + const staticNames = createMap(); for (const member of node.members) { if (member.kind === SyntaxKind.Constructor) { for (const param of (member as ConstructorDeclaration).parameters) { if (isParameterPropertyDeclaration(param)) { - addName(instanceNames, param.name, (param.name as Identifier).text, property); + addName(instanceNames, param.name, (param.name as Identifier).text, Accessor.Property); } } } @@ -13302,24 +13995,24 @@ namespace ts { if (memberName) { switch (member.kind) { case SyntaxKind.GetAccessor: - addName(names, member.name, memberName, getter); + addName(names, member.name, memberName, Accessor.Getter); break; case SyntaxKind.SetAccessor: - addName(names, member.name, memberName, setter); + addName(names, member.name, memberName, Accessor.Setter); break; case SyntaxKind.PropertyDeclaration: - addName(names, member.name, memberName, property); + addName(names, member.name, memberName, Accessor.Property); break; } } } } - function addName(names: Map, location: Node, name: string, meaning: number) { - if (hasProperty(names, name)) { - const prev = names[name]; + function addName(names: Map, location: Node, name: string, meaning: Accessor) { + const prev = names[name]; + if (prev) { if (prev & meaning) { error(location, Diagnostics.Duplicate_identifier_0, getTextOfNode(location)); } @@ -13334,7 +14027,7 @@ namespace ts { } function checkObjectTypeForDuplicateDeclarations(node: TypeLiteralNode | InterfaceDeclaration) { - const names: Map = {}; + const names = createMap(); for (const member of node.members) { if (member.kind == SyntaxKind.PropertySignature) { let memberName: string; @@ -13348,7 +14041,7 @@ namespace ts { continue; } - if (hasProperty(names, memberName)) { + if (names[memberName]) { error(member.symbol.valueDeclaration.name, Diagnostics.Duplicate_identifier_0, memberName); error(member.name, Diagnostics.Duplicate_identifier_0, memberName); } @@ -13418,7 +14111,7 @@ namespace ts { // Abstract methods cannot have an implementation. // Extra checks are to avoid reporting multiple errors relating to the "abstractness" of the node. - if (node.flags & NodeFlags.Abstract && node.body) { + if (getModifierFlags(node) & ModifierFlags.Abstract && node.body) { error(node, Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, declarationNameToString(node.name)); } } @@ -13477,7 +14170,7 @@ namespace ts { function isInstancePropertyWithInitializer(n: Node): boolean { return n.kind === SyntaxKind.PropertyDeclaration && - !(n.flags & NodeFlags.Static) && + !(getModifierFlags(n) & ModifierFlags.Static) && !!(n).initializer; } @@ -13500,7 +14193,7 @@ namespace ts { // or the containing class declares instance member variables with initializers. const superCallShouldBeFirst = forEach((node.parent).members, isInstancePropertyWithInitializer) || - forEach(node.parameters, p => p.flags & NodeFlags.ParameterPropertyModifier); + forEach(node.parameters, p => getModifierFlags(p) & ModifierFlags.ParameterPropertyModifier); // Skip past any prologue directives to find the first statement // to ensure that it was a super call. @@ -13537,12 +14230,7 @@ namespace ts { checkSignatureDeclaration(node); if (node.kind === SyntaxKind.GetAccessor) { if (!isInAmbientContext(node) && nodeIsPresent(node.body) && (node.flags & NodeFlags.HasImplicitReturn)) { - if (node.flags & NodeFlags.HasExplicitReturn) { - if (compilerOptions.noImplicitReturns) { - error(node.name, Diagnostics.Not_all_code_paths_return_a_value); - } - } - else { + if (!(node.flags & NodeFlags.HasExplicitReturn)) { error(node.name, Diagnostics.A_get_accessor_must_return_a_value); } } @@ -13559,10 +14247,10 @@ namespace ts { const otherKind = node.kind === SyntaxKind.GetAccessor ? SyntaxKind.SetAccessor : SyntaxKind.GetAccessor; const otherAccessor = getDeclarationOfKind(node.symbol, otherKind); if (otherAccessor) { - if (((node.flags & NodeFlags.AccessibilityModifier) !== (otherAccessor.flags & NodeFlags.AccessibilityModifier))) { + if ((getModifierFlags(node) & ModifierFlags.AccessibilityModifier) !== (getModifierFlags(otherAccessor) & ModifierFlags.AccessibilityModifier)) { error(node.name, Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); } - if (((node.flags & NodeFlags.Abstract) !== (otherAccessor.flags & NodeFlags.Abstract))) { + if (hasModifier(node, ModifierFlags.Abstract) !== hasModifier(otherAccessor, ModifierFlags.Abstract)) { error(node.name, Diagnostics.Accessors_must_both_be_abstract_or_non_abstract); } @@ -13572,7 +14260,10 @@ namespace ts { checkAccessorDeclarationTypesIdentical(node, otherAccessor, getThisTypeOfDeclaration, Diagnostics.get_and_set_accessor_must_have_the_same_this_type); } } - getTypeOfAccessors(getSymbolOfNode(node)); + const returnType = getTypeOfAccessors(getSymbolOfNode(node)); + if (node.kind === SyntaxKind.GetAccessor) { + checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); + } } if (node.parent.kind !== SyntaxKind.ObjectLiteralExpression) { checkSourceElement(node.body); @@ -13608,7 +14299,7 @@ namespace ts { const constraint = getConstraintOfTypeParameter(typeParameters[i]); if (constraint) { if (!typeArguments) { - typeArguments = map(typeArgumentNodes, getTypeFromTypeNode); + typeArguments = map(typeArgumentNodes, getTypeFromTypeNodeNoAlias); mapper = createTypeMapper(typeParameters, typeArguments); } const typeArgument = typeArguments[i]; @@ -13635,6 +14326,9 @@ namespace ts { checkTypeArgumentConstraints(typeParameters, node.typeArguments); } } + if (type.flags & TypeFlags.Enum && !(type).memberTypes && getNodeLinks(node).resolvedSymbol.flags & SymbolFlags.EnumMember) { + error(node, Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); + } } } @@ -13671,11 +14365,11 @@ namespace ts { } function isPrivateWithinAmbient(node: Node): boolean { - return (node.flags & NodeFlags.Private) && isInAmbientContext(node); + return (getModifierFlags(node) & ModifierFlags.Private) && isInAmbientContext(node); } - function getEffectiveDeclarationFlags(n: Node, flagsToCheck: NodeFlags): NodeFlags { - let flags = getCombinedNodeFlags(n); + function getEffectiveDeclarationFlags(n: Node, flagsToCheck: ModifierFlags): ModifierFlags { + let flags = getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. @@ -13683,11 +14377,11 @@ namespace ts { n.parent.kind !== SyntaxKind.ClassDeclaration && n.parent.kind !== SyntaxKind.ClassExpression && isInAmbientContext(n)) { - if (!(flags & NodeFlags.Ambient)) { + if (!(flags & ModifierFlags.Ambient)) { // It is nested in an ambient context, which means it is automatically exported - flags |= NodeFlags.Export; + flags |= ModifierFlags.Export; } - flags |= NodeFlags.Ambient; + flags |= ModifierFlags.Ambient; } return flags & flagsToCheck; @@ -13708,7 +14402,7 @@ namespace ts { return implementationSharesContainerWithFirstOverload ? implementation : overloads[0]; } - function checkFlagAgreementBetweenOverloads(overloads: Declaration[], implementation: FunctionLikeDeclaration, flagsToCheck: NodeFlags, someOverloadFlags: NodeFlags, allOverloadFlags: NodeFlags): void { + function checkFlagAgreementBetweenOverloads(overloads: Declaration[], implementation: FunctionLikeDeclaration, flagsToCheck: ModifierFlags, someOverloadFlags: ModifierFlags, allOverloadFlags: ModifierFlags): void { // Error if some overloads have a flag that is not shared by all overloads. To find the // deviations, we XOR someOverloadFlags with allOverloadFlags const someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags; @@ -13717,16 +14411,16 @@ namespace ts { forEach(overloads, o => { const deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags; - if (deviation & NodeFlags.Export) { + if (deviation & ModifierFlags.Export) { error(o.name, Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported); } - else if (deviation & NodeFlags.Ambient) { + else if (deviation & ModifierFlags.Ambient) { error(o.name, Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); } - else if (deviation & (NodeFlags.Private | NodeFlags.Protected)) { + else if (deviation & (ModifierFlags.Private | ModifierFlags.Protected)) { error(o.name || o, Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); } - else if (deviation & NodeFlags.Abstract) { + else if (deviation & ModifierFlags.Abstract) { error(o.name, Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract); } }); @@ -13745,8 +14439,8 @@ namespace ts { } } - const flagsToCheck: NodeFlags = NodeFlags.Export | NodeFlags.Ambient | NodeFlags.Private | NodeFlags.Protected | NodeFlags.Abstract; - let someNodeFlags: NodeFlags = 0; + const flagsToCheck: ModifierFlags = ModifierFlags.Export | ModifierFlags.Ambient | ModifierFlags.Private | ModifierFlags.Protected | ModifierFlags.Abstract; + let someNodeFlags: ModifierFlags = ModifierFlags.None; let allNodeFlags = flagsToCheck; let someHaveQuestionToken = false; let allHaveQuestionToken = true; @@ -13781,13 +14475,13 @@ namespace ts { if (node.name && (subsequentNode).name && (node.name).text === ((subsequentNode).name).text) { const reportError = (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.MethodSignature) && - (node.flags & NodeFlags.Static) !== (subsequentNode.flags & NodeFlags.Static); + (getModifierFlags(node) & ModifierFlags.Static) !== (getModifierFlags(subsequentNode) & ModifierFlags.Static); // we can get here in two cases // 1. mixed static and instance class members // 2. something with the same name was defined before the set of overloads that prevents them from merging // here we'll report error only for the first case since for second we should already report error in binder if (reportError) { - const diagnostic = node.flags & NodeFlags.Static ? Diagnostics.Function_overload_must_be_static : Diagnostics.Function_overload_must_not_be_static; + const diagnostic = getModifierFlags(node) & ModifierFlags.Static ? Diagnostics.Function_overload_must_be_static : Diagnostics.Function_overload_must_not_be_static; error(errorNode, diagnostic); } return; @@ -13805,7 +14499,7 @@ namespace ts { else { // Report different errors regarding non-consecutive blocks of declarations depending on whether // the node in question is abstract. - if (node.flags & NodeFlags.Abstract) { + if (getModifierFlags(node) & ModifierFlags.Abstract) { error(errorNode, Diagnostics.All_declarations_of_an_abstract_method_must_be_consecutive); } else { @@ -13881,7 +14575,7 @@ namespace ts { // Abstract methods can't have an implementation -- in particular, they don't need one. if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body && - !(lastSeenNonAmbientDeclaration.flags & NodeFlags.Abstract) && !lastSeenNonAmbientDeclaration.questionToken) { + !(getModifierFlags(lastSeenNonAmbientDeclaration) & ModifierFlags.Abstract) && !lastSeenNonAmbientDeclaration.questionToken) { reportImplementationExpectedError(lastSeenNonAmbientDeclaration); } @@ -13931,10 +14625,10 @@ namespace ts { let defaultExportedDeclarationSpaces = SymbolFlags.None; for (const d of symbol.declarations) { const declarationSpaces = getDeclarationSpaces(d); - const effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, NodeFlags.Export | NodeFlags.Default); + const effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, ModifierFlags.Export | ModifierFlags.Default); - if (effectiveDeclarationFlags & NodeFlags.Export) { - if (effectiveDeclarationFlags & NodeFlags.Default) { + if (effectiveDeclarationFlags & ModifierFlags.Export) { + if (effectiveDeclarationFlags & ModifierFlags.Default) { defaultExportedDeclarationSpaces |= declarationSpaces; } else { @@ -14058,7 +14752,7 @@ namespace ts { return undefined; } - return getUnionType(map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature)); + return getUnionType(map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), /*subtypeReduction*/ true); } function getTypeOfFirstParameterOfSignature(signature: Signature) { @@ -14086,7 +14780,7 @@ namespace ts { types.push(checkAwaitedTypeWorker(constituentType)); } - return getUnionType(types); + return getUnionType(types, /*subtypeReduction*/ true); } else { const promisedType = getPromisedType(type); @@ -14171,7 +14865,7 @@ namespace ts { * @param returnType The return type of a FunctionLikeDeclaration * @param location The node on which to report the error. */ - function checkCorrectPromiseType(returnType: Type, location: Node) { + function checkCorrectPromiseType(returnType: Type, location: Node, diagnostic: DiagnosticMessage, typeName?: string) { if (returnType === unknownType) { // The return type already had some other error, so we ignore and return // the unknown type. @@ -14190,7 +14884,7 @@ namespace ts { // 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(location, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); + error(location, diagnostic, typeName); return unknownType; } @@ -14210,7 +14904,7 @@ namespace ts { function checkAsyncFunctionReturnType(node: FunctionLikeDeclaration): Type { if (languageVersion >= ScriptTarget.ES6) { const returnType = getTypeFromTypeNode(node.type); - return checkCorrectPromiseType(returnType, node.type); + return checkCorrectPromiseType(returnType, node.type, Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type); } const globalPromiseConstructorLikeType = getGlobalPromiseConstructorLikeType(); @@ -14256,11 +14950,11 @@ namespace ts { const promiseConstructor = getNodeLinks(node.type).resolvedSymbol; if (!promiseConstructor || !symbolIsValue(promiseConstructor)) { + // try to fall back to global promise type. const typeName = promiseConstructor ? symbolToString(promiseConstructor) : typeToString(promiseType); - error(node, Diagnostics.Type_0_is_not_a_valid_async_function_return_type, typeName); - return unknownType; + return checkCorrectPromiseType(promiseType, node.type, Diagnostics.Type_0_is_not_a_valid_async_function_return_type, typeName); } // If the Promise constructor, resolved locally, is an alias symbol we should mark it as referenced. @@ -14268,7 +14962,7 @@ namespace ts { // Validate the promise constructor type. const promiseConstructorType = getTypeOfSymbol(promiseConstructor); - if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, node, Diagnostics.Type_0_is_not_a_valid_async_function_return_type)) { + if (!checkTypeAssignableTo(promiseConstructorType, globalPromiseConstructorLikeType, node.type, Diagnostics.Type_0_is_not_a_valid_async_function_return_type)) { return unknownType; } @@ -14557,22 +15251,20 @@ namespace ts { function checkUnusedLocalsAndParameters(node: Node): void { if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && noUnusedIdentifiers && !isInAmbientContext(node)) { for (const key in node.locals) { - if (hasProperty(node.locals, key)) { - const local = node.locals[key]; - if (!local.isReferenced) { - if (local.valueDeclaration && local.valueDeclaration.kind === SyntaxKind.Parameter) { - const parameter = local.valueDeclaration; - if (compilerOptions.noUnusedParameters && - !isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && - !parameterNameStartsWithUnderscore(parameter)) { - error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name); - } - } - else if (compilerOptions.noUnusedLocals) { - forEach(local.declarations, d => error(d.name || d, Diagnostics._0_is_declared_but_never_used, local.name)); + const local = node.locals[key]; + if (!local.isReferenced) { + if (local.valueDeclaration && local.valueDeclaration.kind === SyntaxKind.Parameter) { + const parameter = local.valueDeclaration; + if (compilerOptions.noUnusedParameters && + !isParameterPropertyDeclaration(parameter) && + !parameterIsThisKeyword(parameter) && + !parameterNameStartsWithUnderscore(parameter)) { + error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name); } } + else if (compilerOptions.noUnusedLocals) { + forEach(local.declarations, d => error(d.name || d, Diagnostics._0_is_declared_but_never_used, local.name)); + } } } } @@ -14591,14 +15283,14 @@ namespace ts { if (node.members) { for (const member of node.members) { if (member.kind === SyntaxKind.MethodDeclaration || member.kind === SyntaxKind.PropertyDeclaration) { - if (!member.symbol.isReferenced && member.flags & NodeFlags.Private) { + if (!member.symbol.isReferenced && getModifierFlags(member) & ModifierFlags.Private) { error(member.name, Diagnostics._0_is_declared_but_never_used, member.symbol.name); } } else if (member.kind === SyntaxKind.Constructor) { for (const parameter of (member).parameters) { - if (!parameter.symbol.isReferenced && parameter.flags & NodeFlags.Private) { - error(parameter.name, Diagnostics._0_is_declared_but_never_used, parameter.symbol.name); + if (!parameter.symbol.isReferenced && getModifierFlags(parameter) & ModifierFlags.Private) { + error(parameter.name, Diagnostics.Property_0_is_declared_but_never_used, parameter.symbol.name); } } } @@ -14629,13 +15321,11 @@ namespace ts { function checkUnusedModuleMembers(node: ModuleDeclaration | SourceFile): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { - if (hasProperty(node.locals, key)) { - const local = node.locals[key]; - if (!local.isReferenced && !local.exportSymbol) { - for (const declaration of local.declarations) { - if (!isAmbientModule(declaration)) { - error(declaration.name, Diagnostics._0_is_declared_but_never_used, local.name); - } + const local = node.locals[key]; + if (!local.isReferenced && !local.exportSymbol) { + for (const declaration of local.declarations) { + if (!isAmbientModule(declaration)) { + error(declaration.name, Diagnostics._0_is_declared_but_never_used, local.name); } } } @@ -14825,7 +15515,7 @@ namespace ts { if (localDeclarationSymbol && localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & SymbolFlags.BlockScopedVariable) { - if (getDeclarationFlagsFromSymbol(localDeclarationSymbol) & NodeFlags.BlockScoped) { + if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & NodeFlags.BlockScoped) { const varDeclList = getAncestor(localDeclarationSymbol.valueDeclaration, SyntaxKind.VariableDeclarationList); const container = varDeclList.parent.kind === SyntaxKind.VariableStatement && varDeclList.parent.parent @@ -14903,7 +15593,7 @@ namespace ts { // computed property names/initializers in instance property declaration of class like entities // are executed in constructor and thus deferred if (current.parent.kind === SyntaxKind.PropertyDeclaration && - !(current.parent.flags & NodeFlags.Static) && + !(hasModifier(current.parent, ModifierFlags.Static)) && isClassLike(current.parent.parent)) { return; } @@ -15018,14 +15708,14 @@ namespace ts { return false; } - const interestingFlags = NodeFlags.Private | - NodeFlags.Protected | - NodeFlags.Async | - NodeFlags.Abstract | - NodeFlags.Readonly | - NodeFlags.Static; + const interestingFlags = ModifierFlags.Private | + ModifierFlags.Protected | + ModifierFlags.Async | + ModifierFlags.Abstract | + ModifierFlags.Readonly | + ModifierFlags.Static; - return (left.flags & interestingFlags) === (right.flags & interestingFlags); + return (getModifierFlags(left) & interestingFlags) === (getModifierFlags(right) & interestingFlags); } function checkVariableDeclaration(node: VariableDeclaration) { @@ -15311,7 +16001,7 @@ namespace ts { return undefined; } - typeAsIterable.iterableElementType = getElementTypeOfIterator(getUnionType(map(iteratorFunctionSignatures, getReturnTypeOfSignature)), errorNode); + typeAsIterable.iterableElementType = getElementTypeOfIterator(getUnionType(map(iteratorFunctionSignatures, getReturnTypeOfSignature), /*subtypeReduction*/ true), errorNode); } } @@ -15357,7 +16047,7 @@ namespace ts { return undefined; } - const iteratorNextResult = getUnionType(map(iteratorNextFunctionSignatures, getReturnTypeOfSignature)); + const iteratorNextResult = getUnionType(map(iteratorNextFunctionSignatures, getReturnTypeOfSignature), /*subtypeReduction*/ true); if (isTypeAny(iteratorNextResult)) { return undefined; } @@ -15416,7 +16106,7 @@ namespace ts { // based on whether the remaining type is the same as the initial type. let arrayType = arrayOrStringType; if (arrayOrStringType.flags & TypeFlags.Union) { - arrayType = getUnionType(filter((arrayOrStringType as UnionType).types, t => !(t.flags & TypeFlags.StringLike))); + arrayType = getUnionType(filter((arrayOrStringType as UnionType).types, t => !(t.flags & TypeFlags.StringLike)), /*subtypeReduction*/ true); } else if (arrayOrStringType.flags & TypeFlags.StringLike) { arrayType = neverType; @@ -15457,7 +16147,7 @@ namespace ts { return stringType; } - return getUnionType([arrayElementType, stringType]); + return getUnionType([arrayElementType, stringType], /*subtypeReduction*/ true); } return arrayElementType; @@ -15644,7 +16334,7 @@ namespace ts { else { const identifierName = (catchClause.variableDeclaration.name).text; const locals = catchClause.block.locals; - if (locals && hasProperty(locals, identifierName)) { + if (locals) { const localSymbol = locals[identifierName]; if (localSymbol && (localSymbol.flags & SymbolFlags.BlockScopedVariable) !== 0) { grammarErrorOnNode(localSymbol.valueDeclaration, Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause, identifierName); @@ -15681,7 +16371,7 @@ namespace ts { // Only process instance properties with computed names here. // Static properties cannot be in conflict with indexers, // and properties with literal names were already checked. - if (!(member.flags & NodeFlags.Static) && hasDynamicName(member)) { + if (!(getModifierFlags(member) & ModifierFlags.Static) && hasDynamicName(member)) { const propType = getTypeOfSymbol(member.symbol); checkIndexConstraintForProperty(member.symbol, propType, type, declaredStringIndexer, stringIndexType, IndexKind.String); checkIndexConstraintForProperty(member.symbol, propType, type, declaredNumberIndexer, numberIndexType, IndexKind.Number); @@ -15811,7 +16501,7 @@ namespace ts { } function checkClassDeclaration(node: ClassDeclaration) { - if (!node.name && !(node.flags & NodeFlags.Default)) { + if (!node.name && !(getModifierFlags(node) & ModifierFlags.Default)) { grammarErrorOnFirstToken(node, Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name); } checkClassLikeDeclaration(node); @@ -15858,6 +16548,12 @@ namespace ts { checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); + if (baseType.symbol.valueDeclaration && !isInAmbientContext(baseType.symbol.valueDeclaration)) { + if (!isBlockScopedNameDeclaredBeforeUse(baseType.symbol.valueDeclaration, node)) { + error(baseTypeNode, Diagnostics.A_class_must_be_declared_after_its_base_class); + } + } + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & SymbolFlags.Class)) { // 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 @@ -15875,7 +16571,7 @@ namespace ts { const implementedTypeNodes = getClassImplementsHeritageClauseElements(node); if (implementedTypeNodes) { for (const typeRefNode of implementedTypeNodes) { - if (!isSupportedExpressionWithTypeArguments(typeRefNode)) { + if (!isEntityNameExpression(typeRefNode.expression)) { error(typeRefNode.expression, Diagnostics.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments); } checkTypeReferenceNode(typeRefNode); @@ -15904,7 +16600,7 @@ namespace ts { const signatures = getSignaturesOfType(type, SignatureKind.Construct); if (signatures.length) { const declaration = signatures[0].declaration; - if (declaration && declaration.flags & NodeFlags.Private) { + if (declaration && getModifierFlags(declaration) & ModifierFlags.Private) { const typeClassDeclaration = getClassLikeDeclarationOfSymbol(type.symbol); if (!isNodeWithinClass(node, typeClassDeclaration)) { error(node, Diagnostics.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private, (node.expression).text); @@ -15949,7 +16645,7 @@ namespace ts { } const derived = getTargetSymbol(getPropertyOfObjectType(type, base.name)); - const baseDeclarationFlags = getDeclarationFlagsFromSymbol(base); + const baseDeclarationFlags = getDeclarationModifierFlagsFromSymbol(base); Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration."); @@ -15965,7 +16661,7 @@ namespace ts { // It is an error to inherit an abstract member without implementing it or being declared abstract. // 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 & NodeFlags.Abstract && (!derivedClassDecl || !(derivedClassDecl.flags & NodeFlags.Abstract))) { + if (baseDeclarationFlags & ModifierFlags.Abstract && (!derivedClassDecl || !(getModifierFlags(derivedClassDecl) & ModifierFlags.Abstract))) { if (derivedClassDecl.kind === SyntaxKind.ClassExpression) { error(derivedClassDecl, Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); @@ -15978,13 +16674,13 @@ namespace ts { } else { // derived overrides base. - const derivedDeclarationFlags = getDeclarationFlagsFromSymbol(derived); - if ((baseDeclarationFlags & NodeFlags.Private) || (derivedDeclarationFlags & NodeFlags.Private)) { + const derivedDeclarationFlags = getDeclarationModifierFlagsFromSymbol(derived); + if ((baseDeclarationFlags & ModifierFlags.Private) || (derivedDeclarationFlags & ModifierFlags.Private)) { // either base or derived property is private - not override, skip it continue; } - if ((baseDeclarationFlags & NodeFlags.Static) !== (derivedDeclarationFlags & NodeFlags.Static)) { + if ((baseDeclarationFlags & ModifierFlags.Static) !== (derivedDeclarationFlags & ModifierFlags.Static)) { // value of 'static' is not the same for properties - not override, skip it continue; } @@ -16059,18 +16755,18 @@ namespace ts { return true; } - const seen: Map<{ prop: Symbol; containingType: Type }> = {}; + const seen = createMap<{ prop: Symbol; containingType: Type }>(); forEach(resolveDeclaredMembers(type).declaredProperties, p => { seen[p.name] = { prop: p, containingType: type }; }); let ok = true; for (const base of baseTypes) { const properties = getPropertiesOfObjectType(getTypeWithThisArgument(base, type.thisType)); for (const prop of properties) { - if (!hasProperty(seen, prop.name)) { + const existing = seen[prop.name]; + if (!existing) { seen[prop.name] = { prop: prop, containingType: base }; } else { - const existing = seen[prop.name]; const isInheritedProperty = existing.containingType !== type; if (isInheritedProperty && !isPropertyIdenticalTo(existing.prop, prop)) { ok = false; @@ -16117,7 +16813,7 @@ namespace ts { checkObjectTypeForDuplicateDeclarations(node); } forEach(getInterfaceBaseTypeNodes(node), heritageElement => { - if (!isSupportedExpressionWithTypeArguments(heritageElement)) { + if (!isEntityNameExpression(heritageElement.expression)) { error(heritageElement.expression, Diagnostics.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments); } checkTypeReferenceNode(heritageElement); @@ -16155,7 +16851,7 @@ namespace ts { } else { const text = getTextOfPropertyName(member.name); - if (isNumericLiteralName(text)) { + if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) { error(member.name, Diagnostics.An_enum_member_cannot_have_a_numeric_name); } } @@ -16256,7 +16952,7 @@ namespace ts { } return undefined; case SyntaxKind.NumericLiteral: - return +(e).text; + return +(e).text; case SyntaxKind.ParenthesizedExpression: return evalConstant((e).expression); case SyntaxKind.Identifier: @@ -16517,11 +17213,6 @@ namespace ts { } } - if (compilerOptions.noImplicitAny && !node.body) { - // Ambient shorthand module is an implicit any - reportImplicitAnyError(node, anyType); - } - if (node.body) { checkSourceElement(node.body); if (!isGlobalScopeAugmentation(node)) { @@ -16582,20 +17273,21 @@ namespace ts { } } - function getFirstIdentifier(node: EntityName | Expression): Identifier { - while (true) { - if (node.kind === SyntaxKind.QualifiedName) { - node = (node).left; - } - else if (node.kind === SyntaxKind.PropertyAccessExpression) { - node = (node).expression; - } - else { - break; - } + function getFirstIdentifier(node: EntityNameOrEntityNameExpression): Identifier { + switch (node.kind) { + case SyntaxKind.Identifier: + return node; + case SyntaxKind.QualifiedName: + do { + node = (node).left; + } while (node.kind !== SyntaxKind.Identifier); + return node; + case SyntaxKind.PropertyAccessExpression: + do { + node = (node).expression; + } while (node.kind !== SyntaxKind.Identifier); + return node; } - Debug.assert(node.kind === SyntaxKind.Identifier); - return node; } function checkExternalImportOrExportDeclaration(node: ImportDeclaration | ImportEqualsDeclaration | ExportDeclaration): boolean { @@ -16661,7 +17353,7 @@ namespace ts { // If we hit an import declaration in an illegal context, just bail out to avoid cascading errors. return; } - if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { + if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && getModifierFlags(node) !== 0) { grammarErrorOnFirstToken(node, Diagnostics.An_import_declaration_cannot_have_modifiers); } if (checkExternalImportOrExportDeclaration(node)) { @@ -16691,7 +17383,7 @@ namespace ts { checkGrammarDecorators(node) || checkGrammarModifiers(node); if (isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) { checkImportBinding(node); - if (node.flags & NodeFlags.Export) { + if (getModifierFlags(node) & ModifierFlags.Export) { markExportAsReferenced(node); } if (isInternalModuleImportEqualsDeclaration(node)) { @@ -16724,7 +17416,7 @@ namespace ts { return; } - if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { + if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && getModifierFlags(node) !== 0) { grammarErrorOnFirstToken(node, Diagnostics.An_export_declaration_cannot_have_modifiers); } @@ -16783,7 +17475,7 @@ namespace ts { return; } // Grammar checking - if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && (node.flags & NodeFlags.Modifier)) { + if (!checkGrammarDecorators(node) && !checkGrammarModifiers(node) && getModifierFlags(node) !== 0) { grammarErrorOnFirstToken(node, Diagnostics.An_export_assignment_cannot_have_modifiers); } if (node.expression.kind === SyntaxKind.Identifier) { @@ -17024,11 +17716,10 @@ namespace ts { } function checkSourceFile(node: SourceFile) { - const start = performance.mark(); - + performance.mark("beforeCheck"); checkSourceFileWorker(node); - - performance.measure("Check", start); + performance.mark("afterCheck"); + performance.measure("Check", "beforeCheck", "afterCheck"); } // Fully type check a source file and collect the relevant diagnostics. @@ -17128,8 +17819,8 @@ namespace ts { } function getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[] { - const symbols: SymbolTable = {}; - let memberFlags: NodeFlags = 0; + const symbols = createMap(); + let memberFlags: ModifierFlags = ModifierFlags.None; if (isInsideWithStatementBody(location)) { // We cannot answer semantic questions within a with block, do not proceed any further @@ -17170,7 +17861,7 @@ namespace ts { // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. // Note: that the memberFlags come from previous iteration. - if (!(memberFlags & NodeFlags.Static)) { + if (!(memberFlags & ModifierFlags.Static)) { copySymbols(getSymbolOfNode(location).members, meaning & SymbolFlags.Type); } break; @@ -17186,7 +17877,7 @@ namespace ts { copySymbol(argumentsSymbol, meaning); } - memberFlags = location.flags; + memberFlags = getModifierFlags(location); location = location.parent; } @@ -17206,7 +17897,7 @@ namespace ts { // We will copy all symbol regardless of its reserved name because // symbolsToArray will check whether the key is a reserved name and // it will not copy symbol with reserved name to the array - if (!hasProperty(symbols, id)) { + if (!symbols[id]) { symbols[id] = symbol; } } @@ -17294,7 +17985,7 @@ namespace ts { return getLeftSideOfImportEqualsOrExportAssignment(node) !== undefined; } - function getSymbolOfEntityNameOrPropertyAccessExpression(entityName: EntityName | PropertyAccessExpression): Symbol { + function getSymbolOfEntityNameOrPropertyAccessExpression(entityName: EntityName | PropertyAccessExpression): Symbol | undefined { if (isDeclarationName(entityName)) { return getSymbolOfNode(entityName.parent); } @@ -17313,22 +18004,20 @@ namespace ts { } } - if (entityName.parent.kind === SyntaxKind.ExportAssignment) { - return resolveEntityName(entityName, + if (entityName.parent.kind === SyntaxKind.ExportAssignment && isEntityNameExpression(entityName)) { + return resolveEntityName(entityName, /*all meanings*/ SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias); } - if (entityName.kind !== SyntaxKind.PropertyAccessExpression) { - if (isInRightSideOfImportOrExportAssignment(entityName)) { - // Since we already checked for ExportAssignment, this really could only be an Import - const importEqualsDeclaration = getAncestor(entityName, SyntaxKind.ImportEqualsDeclaration); - Debug.assert(importEqualsDeclaration !== undefined); - return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, importEqualsDeclaration, /*dontResolveAlias*/ true); - } + if (entityName.kind !== SyntaxKind.PropertyAccessExpression && isInRightSideOfImportOrExportAssignment(entityName)) { + // Since we already checked for ExportAssignment, this really could only be an Import + const importEqualsDeclaration = getAncestor(entityName, SyntaxKind.ImportEqualsDeclaration); + Debug.assert(importEqualsDeclaration !== undefined); + return getSymbolOfPartOfRightHandSideOfImportEquals(entityName, importEqualsDeclaration, /*dontResolveAlias*/ true); } if (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { - entityName = entityName.parent; + entityName = entityName.parent; } if (isHeritageClauseElementIdentifier(entityName)) { @@ -17350,7 +18039,7 @@ namespace ts { meaning |= SymbolFlags.Alias; return resolveEntityName(entityName, meaning); } - else if (isExpression(entityName)) { + else if (isPartOfExpression(entityName)) { if (nodeIsMissing(entityName)) { // Missing entity name. return undefined; @@ -17444,7 +18133,7 @@ namespace ts { // fallthrough case SyntaxKind.SuperKeyword: - const type = isExpression(node) ? checkExpression(node) : getTypeFromTypeNode(node); + const type = isPartOfExpression(node) ? checkExpression(node) : getTypeFromTypeNode(node); return type.symbol; case SyntaxKind.ThisType: @@ -17475,7 +18164,7 @@ namespace ts { if (objectType === unknownType) return undefined; const apparentType = getApparentType(objectType); if (apparentType === unknownType) return undefined; - return getPropertyOfType(apparentType, (node).text); + return getPropertyOfType(apparentType, (node).text); } break; } @@ -17505,11 +18194,11 @@ namespace ts { return unknownType; } - if (isTypeNode(node)) { + if (isPartOfTypeNode(node)) { return getTypeFromTypeNode(node); } - if (isExpression(node)) { + if (isPartOfExpression(node)) { return getTypeOfExpression(node); } @@ -17615,7 +18304,7 @@ namespace ts { */ function getParentTypeOfClassElement(node: ClassElement) { const classSymbol = getSymbolOfNode(node.parent); - return node.flags & NodeFlags.Static + return getModifierFlags(node) & ModifierFlags.Static ? getTypeOfSymbol(classSymbol) : getDeclaredTypeOfSymbol(classSymbol); } @@ -17627,7 +18316,7 @@ namespace ts { const propsByName = createSymbolTable(getPropertiesOfType(type)); if (getSignaturesOfType(type, SignatureKind.Call).length || getSignaturesOfType(type, SignatureKind.Construct).length) { forEach(getPropertiesOfType(globalFunctionType), p => { - if (!hasProperty(propsByName, p.name)) { + if (!propsByName[p.name]) { propsByName[p.name] = p; } }); @@ -17663,13 +18352,20 @@ namespace ts { // Emitter support function isArgumentsLocalBinding(node: Identifier): boolean { - return getReferencedValueSymbol(node) === argumentsSymbol; + if (!isGeneratedIdentifier(node)) { + node = getParseTreeNode(node, isIdentifier); + if (node) { + return getReferencedValueSymbol(node) === argumentsSymbol; + } + } + + return false; } function moduleExportsSomeValue(moduleReferenceExpression: Expression): boolean { let moduleSymbol = resolveExternalModuleName(moduleReferenceExpression.parent, moduleReferenceExpression); - if (!moduleSymbol) { - // module not found - be conservative + if (!moduleSymbol || isShorthandAmbientModuleSymbol(moduleSymbol)) { + // If the module is not found or is shorthand, assume that it may export a value. return true; } @@ -17684,7 +18380,7 @@ namespace ts { // otherwise - check if at least one export is value symbolLinks.exportsSomeValue = hasExportAssignment ? !!(moduleSymbol.flags & SymbolFlags.Value) - : forEachValue(getExportsOfModule(moduleSymbol), isValue); + : forEachProperty(getExportsOfModule(moduleSymbol), isValue); } return symbolLinks.exportsSomeValue; @@ -17695,46 +18391,63 @@ namespace ts { } } + function isNameOfModuleOrEnumDeclaration(node: Identifier) { + const parent = node.parent; + return isModuleOrEnumDeclaration(parent) && 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: Identifier): SourceFile | ModuleDeclaration | EnumDeclaration | undefined { - let symbol = getReferencedValueSymbol(node); - if (symbol) { - if (symbol.flags & SymbolFlags.ExportValue) { - // If we reference an exported entity within the same module declaration, then whether - // we prefix depends on the kind of entity. SymbolFlags.ExportHasLocal encompasses all the - // kinds that we do NOT prefix. - const exportSymbol = getMergedSymbol(symbol.exportSymbol); - if (exportSymbol.flags & SymbolFlags.ExportHasLocal) { - return undefined; + function getReferencedExportContainer(node: Identifier, prefixLocals?: boolean): SourceFile | ModuleDeclaration | EnumDeclaration | undefined { + node = getParseTreeNode(node, 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. + // Otherwise, we could incorrectly resolve the export container as the + // declaration if it contains an exported member with the same name. + let symbol = getReferencedValueSymbol(node, /*startInDeclarationContainer*/ isNameOfModuleOrEnumDeclaration(node)); + if (symbol) { + if (symbol.flags & SymbolFlags.ExportValue) { + // If we reference an exported entity within the same module declaration, then whether + // we prefix depends on the kind of entity. SymbolFlags.ExportHasLocal encompasses all the + // kinds that we do NOT prefix. + const exportSymbol = getMergedSymbol(symbol.exportSymbol); + if (!prefixLocals && exportSymbol.flags & SymbolFlags.ExportHasLocal) { + return undefined; + } + symbol = exportSymbol; } - symbol = exportSymbol; - } - const parentSymbol = getParentOfSymbol(symbol); - if (parentSymbol) { - if (parentSymbol.flags & SymbolFlags.ValueModule && parentSymbol.valueDeclaration.kind === SyntaxKind.SourceFile) { - const symbolFile = parentSymbol.valueDeclaration; - const referenceFile = 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. - const symbolIsUmdExport = symbolFile !== referenceFile; - return symbolIsUmdExport ? undefined : symbolFile; - } - - for (let n = node.parent; n; n = n.parent) { - if ((n.kind === SyntaxKind.ModuleDeclaration || n.kind === SyntaxKind.EnumDeclaration) && getSymbolOfNode(n) === parentSymbol) { - return n; + const parentSymbol = getParentOfSymbol(symbol); + if (parentSymbol) { + if (parentSymbol.flags & SymbolFlags.ValueModule && parentSymbol.valueDeclaration.kind === SyntaxKind.SourceFile) { + const symbolFile = parentSymbol.valueDeclaration; + const referenceFile = 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. + const symbolIsUmdExport = symbolFile !== referenceFile; + return symbolIsUmdExport ? undefined : symbolFile; + } + for (let n = node.parent; n; n = n.parent) { + if (isModuleOrEnumDeclaration(n) && getSymbolOfNode(n) === parentSymbol) { + return n; + } } } } } - return undefined; } // 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: Identifier): Declaration { - const symbol = getReferencedValueSymbol(node); - return symbol && symbol.flags & SymbolFlags.Alias ? getDeclarationOfAliasSymbol(symbol) : undefined; + node = getParseTreeNode(node, isIdentifier); + if (node) { + const symbol = getReferencedValueSymbol(node); + if (symbol && symbol.flags & SymbolFlags.Alias) { + return getDeclarationOfAliasSymbol(symbol); + } + } + + return undefined; } function isSymbolOfDeclarationWithCollidingName(symbol: Symbol): boolean { @@ -17784,35 +18497,62 @@ namespace ts { // 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: Identifier): Declaration { - const symbol = getReferencedValueSymbol(node); - return symbol && isSymbolOfDeclarationWithCollidingName(symbol) ? symbol.valueDeclaration : undefined; + if (!isGeneratedIdentifier(node)) { + node = getParseTreeNode(node, isIdentifier); + if (node) { + const symbol = getReferencedValueSymbol(node); + if (symbol && isSymbolOfDeclarationWithCollidingName(symbol)) { + return symbol.valueDeclaration; + } + } + } + + return undefined; } // 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: Declaration): boolean { - return isSymbolOfDeclarationWithCollidingName(getSymbolOfNode(node)); + node = getParseTreeNode(node, isDeclaration); + if (node) { + const symbol = getSymbolOfNode(node); + if (symbol) { + return isSymbolOfDeclarationWithCollidingName(symbol); + } + } + + return false; } function isValueAliasDeclaration(node: Node): boolean { + node = getParseTreeNode(node); + if (node === undefined) { + // A synthesized node comes from an emit transformation and is always a value. + return true; + } + switch (node.kind) { case SyntaxKind.ImportEqualsDeclaration: case SyntaxKind.ImportClause: case SyntaxKind.NamespaceImport: case SyntaxKind.ImportSpecifier: case SyntaxKind.ExportSpecifier: - return isAliasResolvedToValue(getSymbolOfNode(node)); + return isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol); case SyntaxKind.ExportDeclaration: const exportClause = (node).exportClause; return exportClause && forEach(exportClause.elements, isValueAliasDeclaration); case SyntaxKind.ExportAssignment: - return (node).expression && (node).expression.kind === SyntaxKind.Identifier ? isAliasResolvedToValue(getSymbolOfNode(node)) : true; + return (node).expression + && (node).expression.kind === SyntaxKind.Identifier + ? isAliasResolvedToValue(getSymbolOfNode(node) || unknownSymbol) + : true; } return false; } function isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean { - if (node.parent.kind !== SyntaxKind.SourceFile || !isInternalModuleImportEqualsDeclaration(node)) { + node = getParseTreeNode(node, isImportEqualsDeclaration); + if (node === undefined || node.parent.kind !== SyntaxKind.SourceFile || !isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -17837,9 +18577,15 @@ namespace ts { } function isReferencedAliasDeclaration(node: Node, checkChildren?: boolean): boolean { + node = getParseTreeNode(node); + // Purely synthesized nodes are always emitted. + if (node === undefined) { + return true; + } + if (isAliasSymbolDeclaration(node)) { const symbol = getSymbolOfNode(node); - if (getSymbolLinks(symbol).referenced) { + if (symbol && getSymbolLinks(symbol).referenced) { return true; } } @@ -17872,7 +18618,8 @@ namespace ts { } function getNodeCheckFlags(node: Node): NodeCheckFlags { - return getNodeLinks(node).flags; + node = getParseTreeNode(node); + return node ? getNodeLinks(node).flags : undefined; } function getEnumMemberValue(node: EnumMember): number { @@ -17900,16 +18647,21 @@ namespace ts { return type.flags & TypeFlags.ObjectType && getSignaturesOfType(type, SignatureKind.Call).length > 0; } - function getTypeReferenceSerializationKind(typeName: EntityName): TypeReferenceSerializationKind { + function getTypeReferenceSerializationKind(typeName: EntityName, location?: Node): TypeReferenceSerializationKind { // Resolve the symbol as a value to ensure the type can be reached at runtime during emit. - const valueSymbol = resolveEntityName(typeName, SymbolFlags.Value, /*ignoreErrors*/ true); + const valueSymbol = resolveEntityName(typeName, SymbolFlags.Value, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, location); + const globalPromiseSymbol = tryGetGlobalPromiseConstructorSymbol(); + if (globalPromiseSymbol && valueSymbol === globalPromiseSymbol) { + return TypeReferenceSerializationKind.Promise; + } + const constructorType = valueSymbol ? getTypeOfSymbol(valueSymbol) : undefined; if (constructorType && isConstructorType(constructorType)) { return TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue; } // Resolve the symbol as a type so that we can provide a more useful hint for the type serializer. - const typeSymbol = resolveEntityName(typeName, SymbolFlags.Type, /*ignoreErrors*/ true); + const typeSymbol = resolveEntityName(typeName, SymbolFlags.Type, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, location); // We might not be able to resolve type symbol so use unknown type in that case (eg error case) if (!typeSymbol) { return TypeReferenceSerializationKind.ObjectType; @@ -17921,10 +18673,10 @@ namespace ts { else if (type.flags & TypeFlags.Any) { return TypeReferenceSerializationKind.ObjectType; } - else if (isTypeOfKind(type, TypeFlags.Void)) { - return TypeReferenceSerializationKind.VoidType; + else if (isTypeOfKind(type, TypeFlags.Void | TypeFlags.Nullable | TypeFlags.Never)) { + return TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeOfKind(type, TypeFlags.Boolean)) { + else if (isTypeOfKind(type, TypeFlags.BooleanLike)) { return TypeReferenceSerializationKind.BooleanType; } else if (isTypeOfKind(type, TypeFlags.NumberLike)) { @@ -17933,7 +18685,7 @@ namespace ts { else if (isTypeOfKind(type, TypeFlags.StringLike)) { return TypeReferenceSerializationKind.StringLikeType; } - else if (isTypeOfKind(type, TypeFlags.Tuple)) { + else if (isTupleType(type)) { return TypeReferenceSerializationKind.ArrayLikeType; } else if (isTypeOfKind(type, TypeFlags.ESSymbol)) { @@ -17978,19 +18730,40 @@ namespace ts { } function hasGlobalName(name: string): boolean { - return hasProperty(globals, name); + return !!globals[name]; } - function getReferencedValueSymbol(reference: Identifier): Symbol { - return getNodeLinks(reference).resolvedSymbol || - resolveName(reference, reference.text, SymbolFlags.Value | SymbolFlags.ExportValue | SymbolFlags.Alias, - /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined); + function getReferencedValueSymbol(reference: Identifier, startInDeclarationContainer?: boolean): Symbol { + const resolvedSymbol = getNodeLinks(reference).resolvedSymbol; + if (resolvedSymbol) { + return resolvedSymbol; + } + + let location: Node = reference; + if (startInDeclarationContainer) { + // When resolving the name of a declaration as a value, we need to start resolution + // at a point outside of the declaration. + const parent = reference.parent; + if (isDeclaration(parent) && reference === parent.name) { + location = getDeclarationContainer(parent); + } + } + + return resolveName(location, reference.text, SymbolFlags.Value | SymbolFlags.ExportValue | SymbolFlags.Alias, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined); } function getReferencedValueDeclaration(reference: Identifier): Declaration { - Debug.assert(!nodeIsSynthesized(reference)); - const symbol = getReferencedValueSymbol(reference); - return symbol && getExportSymbolOfValueSymbolIfExported(symbol).valueDeclaration; + if (!isGeneratedIdentifier(reference)) { + reference = getParseTreeNode(reference, isIdentifier); + if (reference) { + const symbol = getReferencedValueSymbol(reference); + if (symbol) { + return getExportSymbolOfValueSymbolIfExported(symbol).valueDeclaration; + } + } + } + + return undefined; } function createResolver(): EmitResolver { @@ -18002,9 +18775,6 @@ namespace ts { // populate reverse mapping: file path -> type reference directive that was resolved to this file fileToDirective = createFileMap(); for (const key in resolvedTypeReferenceDirectives) { - if (!hasProperty(resolvedTypeReferenceDirectives, key)) { - continue; - } const resolvedDirective = resolvedTypeReferenceDirectives[key]; if (!resolvedDirective) { continue; @@ -18044,7 +18814,7 @@ namespace ts { }; // defined here to avoid outer scope pollution - function getTypeReferenceDirectivesForEntityName(node: EntityName | PropertyAccessExpression): string[] { + function getTypeReferenceDirectivesForEntityName(node: EntityNameOrEntityNameExpression): string[] { // program does not have any files with type reference directives - bail out if (!fileToDirective) { return undefined; @@ -18129,27 +18899,43 @@ namespace ts { function initializeTypeChecker() { // Bind all source files and propagate errors - forEach(host.getSourceFiles(), file => { + for (const file of host.getSourceFiles()) { bindSourceFile(file, compilerOptions); - }); + } - let augmentations: LiteralExpression[][]; // Initialize global symbol table - forEach(host.getSourceFiles(), file => { + let augmentations: LiteralExpression[][]; + let requestedExternalEmitHelpers: NodeFlags = 0; + let firstFileRequestingExternalHelpers: SourceFile; + for (const file of host.getSourceFiles()) { if (!isExternalOrCommonJsModule(file)) { mergeSymbolTable(globals, file.locals); } if (file.patternAmbientModules && file.patternAmbientModules.length) { patternAmbientModules = concatenate(patternAmbientModules, file.patternAmbientModules); } - if (file.moduleAugmentations.length) { (augmentations || (augmentations = [])).push(file.moduleAugmentations); } if (file.symbol && file.symbol.globalExports) { - mergeSymbolTable(globals, file.symbol.globalExports); + // Merge in UMD exports with first-in-wins semantics (see #9771) + const source = file.symbol.globalExports; + for (const id in source) { + if (!(id in globals)) { + globals[id] = source[id]; + } + } } - }); + if ((compilerOptions.isolatedModules || isExternalModule(file)) && !file.isDeclarationFile) { + const fileRequestedExternalEmitHelpers = file.flags & NodeFlags.EmitHelperFlags; + if (fileRequestedExternalEmitHelpers) { + requestedExternalEmitHelpers |= fileRequestedExternalEmitHelpers; + if (firstFileRequestingExternalHelpers === undefined) { + firstFileRequestingExternalHelpers = file; + } + } + } + } if (augmentations) { // merge module augmentations. @@ -18189,6 +18975,7 @@ namespace ts { getGlobalPromiseLikeType = memoize(() => getGlobalType("PromiseLike", /*arity*/ 1)); getInstantiatedGlobalPromiseLikeType = memoize(createInstantiatedPromiseLikeType); getGlobalPromiseConstructorSymbol = memoize(() => getGlobalValueSymbol("Promise")); + tryGetGlobalPromiseConstructorSymbol = memoize(() => getGlobalSymbol("Promise", SymbolFlags.Value, /*diagnostic*/ undefined) && getGlobalPromiseConstructorSymbol()); getGlobalPromiseConstructorLikeType = memoize(() => getGlobalType("PromiseConstructorLike")); getGlobalThenableType = memoize(createThenableType); @@ -18212,6 +18999,51 @@ namespace ts { const symbol = getGlobalSymbol("ReadonlyArray", SymbolFlags.Type, /*diagnostic*/ undefined); globalReadonlyArrayType = symbol && getTypeOfGlobalSymbol(symbol, /*arity*/ 1); anyReadonlyArrayType = globalReadonlyArrayType ? createTypeFromGenericGlobalType(globalReadonlyArrayType, [anyType]) : anyArrayType; + + // If we have specified that we are importing helpers, we should report global + // errors if we cannot resolve the helpers external module, or if it does not have + // the necessary helpers exported. + if (compilerOptions.importHelpers && firstFileRequestingExternalHelpers) { + // Find the first reference to the helpers module. + const helpersModule = resolveExternalModule( + firstFileRequestingExternalHelpers, + externalHelpersModuleNameText, + Diagnostics.Cannot_find_module_0, + /*errorNode*/ undefined); + + // If we found the module, report errors if it does not have the necessary exports. + if (helpersModule) { + const exports = helpersModule.exports; + if (requestedExternalEmitHelpers & NodeFlags.HasClassExtends && languageVersion < ScriptTarget.ES6) { + verifyHelperSymbol(exports, "__extends", SymbolFlags.Value); + } + if (requestedExternalEmitHelpers & NodeFlags.HasJsxSpreadAttributes && compilerOptions.jsx !== JsxEmit.Preserve) { + verifyHelperSymbol(exports, "__assign", SymbolFlags.Value); + } + if (requestedExternalEmitHelpers & NodeFlags.HasDecorators) { + verifyHelperSymbol(exports, "__decorate", SymbolFlags.Value); + if (compilerOptions.emitDecoratorMetadata) { + verifyHelperSymbol(exports, "__metadata", SymbolFlags.Value); + } + } + if (requestedExternalEmitHelpers & NodeFlags.HasParamDecorators) { + verifyHelperSymbol(exports, "__param", SymbolFlags.Value); + } + if (requestedExternalEmitHelpers & NodeFlags.HasAsyncFunctions) { + verifyHelperSymbol(exports, "__awaiter", SymbolFlags.Value); + if (languageVersion < ScriptTarget.ES6) { + verifyHelperSymbol(exports, "__generator", SymbolFlags.Value); + } + } + } + } + } + + function verifyHelperSymbol(symbols: SymbolTable, name: string, meaning: SymbolFlags) { + const symbol = getSymbol(symbols, escapeIdentifier(name), meaning); + if (!symbol) { + error(/*location*/ undefined, Diagnostics.Module_0_has_no_exported_member_1, externalHelpersModuleNameText, name); + } } function createInstantiatedPromiseLikeType(): ObjectType { @@ -18259,54 +19091,13 @@ namespace ts { } function checkGrammarModifiers(node: Node): boolean { - switch (node.kind) { - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.Constructor: - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.IndexSignature: - case SyntaxKind.ModuleDeclaration: - case SyntaxKind.ImportDeclaration: - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ExportDeclaration: - case SyntaxKind.ExportAssignment: - case SyntaxKind.FunctionExpression: - case SyntaxKind.ArrowFunction: - case SyntaxKind.Parameter: - break; - case SyntaxKind.FunctionDeclaration: - if (node.modifiers && (node.modifiers.length > 1 || node.modifiers[0].kind !== SyntaxKind.AsyncKeyword) && - node.parent.kind !== SyntaxKind.ModuleBlock && node.parent.kind !== SyntaxKind.SourceFile) { - return grammarErrorOnFirstToken(node, Diagnostics.Modifiers_cannot_appear_here); - } - break; - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.VariableStatement: - case SyntaxKind.TypeAliasDeclaration: - if (node.modifiers && node.parent.kind !== SyntaxKind.ModuleBlock && node.parent.kind !== SyntaxKind.SourceFile) { - return grammarErrorOnFirstToken(node, Diagnostics.Modifiers_cannot_appear_here); - } - break; - case SyntaxKind.EnumDeclaration: - if (node.modifiers && (node.modifiers.length > 1 || node.modifiers[0].kind !== SyntaxKind.ConstKeyword) && - node.parent.kind !== SyntaxKind.ModuleBlock && node.parent.kind !== SyntaxKind.SourceFile) { - return grammarErrorOnFirstToken(node, Diagnostics.Modifiers_cannot_appear_here); - } - break; - default: - return false; - } - - if (!node.modifiers) { - return; + const quickResult = reportObviousModifierErrors(node); + if (quickResult !== undefined) { + return quickResult; } let lastStatic: Node, lastPrivate: Node, lastProtected: Node, lastDeclare: Node, lastAsync: Node, lastReadonly: Node; - let flags = 0; + let flags = ModifierFlags.None; for (const modifier of node.modifiers) { if (modifier.kind !== SyntaxKind.ReadonlyKeyword) { if (node.kind === SyntaxKind.PropertySignature || node.kind === SyntaxKind.MethodSignature) { @@ -18334,22 +19125,22 @@ namespace ts { lastPrivate = modifier; } - if (flags & NodeFlags.AccessibilityModifier) { + if (flags & ModifierFlags.AccessibilityModifier) { return grammarErrorOnNode(modifier, Diagnostics.Accessibility_modifier_already_seen); } - else if (flags & NodeFlags.Static) { + else if (flags & ModifierFlags.Static) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, text, "static"); } - else if (flags & NodeFlags.Readonly) { + else if (flags & ModifierFlags.Readonly) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, text, "readonly"); } - else if (flags & NodeFlags.Async) { + else if (flags & ModifierFlags.Async) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } else if (node.parent.kind === SyntaxKind.ModuleBlock || node.parent.kind === SyntaxKind.SourceFile) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } - else if (flags & NodeFlags.Abstract) { + else if (flags & ModifierFlags.Abstract) { if (modifier.kind === SyntaxKind.PrivateKeyword) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_with_1_modifier, text, "abstract"); } @@ -18361,13 +19152,13 @@ namespace ts { break; case SyntaxKind.StaticKeyword: - if (flags & NodeFlags.Static) { + if (flags & ModifierFlags.Static) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "static"); } - else if (flags & NodeFlags.Readonly) { + else if (flags & ModifierFlags.Readonly) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, "static", "readonly"); } - else if (flags & NodeFlags.Async) { + else if (flags & ModifierFlags.Async) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } else if (node.parent.kind === SyntaxKind.ModuleBlock || node.parent.kind === SyntaxKind.SourceFile) { @@ -18376,36 +19167,36 @@ namespace ts { else if (node.kind === SyntaxKind.Parameter) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } - else if (flags & NodeFlags.Abstract) { + else if (flags & ModifierFlags.Abstract) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); } - flags |= NodeFlags.Static; + flags |= ModifierFlags.Static; lastStatic = modifier; break; case SyntaxKind.ReadonlyKeyword: - if (flags & NodeFlags.Readonly) { + if (flags & ModifierFlags.Readonly) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "readonly"); } else if (node.kind !== SyntaxKind.PropertyDeclaration && node.kind !== SyntaxKind.PropertySignature && node.kind !== SyntaxKind.IndexSignature && node.kind !== SyntaxKind.Parameter) { // If node.kind === SyntaxKind.Parameter, checkParameter report an error if it's not a parameter property. return grammarErrorOnNode(modifier, Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } - flags |= NodeFlags.Readonly; + flags |= ModifierFlags.Readonly; lastReadonly = modifier; break; case SyntaxKind.ExportKeyword: - if (flags & NodeFlags.Export) { + if (flags & ModifierFlags.Export) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "export"); } - else if (flags & NodeFlags.Ambient) { + else if (flags & ModifierFlags.Ambient) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); } - else if (flags & NodeFlags.Abstract) { + else if (flags & ModifierFlags.Abstract) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, "export", "abstract"); } - else if (flags & NodeFlags.Async) { + else if (flags & ModifierFlags.Async) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } else if (node.parent.kind === SyntaxKind.ClassDeclaration) { @@ -18414,14 +19205,14 @@ namespace ts { else if (node.kind === SyntaxKind.Parameter) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } - flags |= NodeFlags.Export; + flags |= ModifierFlags.Export; break; case SyntaxKind.DeclareKeyword: - if (flags & NodeFlags.Ambient) { + if (flags & ModifierFlags.Ambient) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "declare"); } - else if (flags & NodeFlags.Async) { + else if (flags & ModifierFlags.Async) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } else if (node.parent.kind === SyntaxKind.ClassDeclaration) { @@ -18433,12 +19224,12 @@ namespace ts { else if (isInAmbientContext(node.parent) && node.parent.kind === SyntaxKind.ModuleBlock) { return grammarErrorOnNode(modifier, Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } - flags |= NodeFlags.Ambient; + flags |= ModifierFlags.Ambient; lastDeclare = modifier; break; case SyntaxKind.AbstractKeyword: - if (flags & NodeFlags.Abstract) { + if (flags & ModifierFlags.Abstract) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "abstract"); } if (node.kind !== SyntaxKind.ClassDeclaration) { @@ -18448,70 +19239,121 @@ namespace ts { node.kind !== SyntaxKind.SetAccessor) { return grammarErrorOnNode(modifier, Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === SyntaxKind.ClassDeclaration && node.parent.flags & NodeFlags.Abstract)) { + if (!(node.parent.kind === SyntaxKind.ClassDeclaration && getModifierFlags(node.parent) & ModifierFlags.Abstract)) { return grammarErrorOnNode(modifier, Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } - if (flags & NodeFlags.Static) { + if (flags & ModifierFlags.Static) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); } - if (flags & NodeFlags.Private) { + if (flags & ModifierFlags.Private) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract"); } } - flags |= NodeFlags.Abstract; + flags |= ModifierFlags.Abstract; break; case SyntaxKind.AsyncKeyword: - if (flags & NodeFlags.Async) { + if (flags & ModifierFlags.Async) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_already_seen, "async"); } - else if (flags & NodeFlags.Ambient || isInAmbientContext(node.parent)) { + else if (flags & ModifierFlags.Ambient || isInAmbientContext(node.parent)) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } else if (node.kind === SyntaxKind.Parameter) { return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } - flags |= NodeFlags.Async; + flags |= ModifierFlags.Async; lastAsync = modifier; break; } } if (node.kind === SyntaxKind.Constructor) { - if (flags & NodeFlags.Static) { + if (flags & ModifierFlags.Static) { return grammarErrorOnNode(lastStatic, Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } - if (flags & NodeFlags.Abstract) { + if (flags & ModifierFlags.Abstract) { return grammarErrorOnNode(lastStatic, Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); } - else if (flags & NodeFlags.Async) { + else if (flags & ModifierFlags.Async) { return grammarErrorOnNode(lastAsync, Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); } - else if (flags & NodeFlags.Readonly) { + else if (flags & ModifierFlags.Readonly) { return grammarErrorOnNode(lastReadonly, Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); } return; } - else if ((node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration) && flags & NodeFlags.Ambient) { + else if ((node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration) && flags & ModifierFlags.Ambient) { return grammarErrorOnNode(lastDeclare, Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === SyntaxKind.Parameter && (flags & NodeFlags.ParameterPropertyModifier) && isBindingPattern((node).name)) { + else if (node.kind === SyntaxKind.Parameter && (flags & ModifierFlags.ParameterPropertyModifier) && isBindingPattern((node).name)) { return grammarErrorOnNode(node, Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === SyntaxKind.Parameter && (flags & NodeFlags.ParameterPropertyModifier) && (node).dotDotDotToken) { + else if (node.kind === SyntaxKind.Parameter && (flags & ModifierFlags.ParameterPropertyModifier) && (node).dotDotDotToken) { return grammarErrorOnNode(node, Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } - if (flags & NodeFlags.Async) { + if (flags & ModifierFlags.Async) { return checkGrammarAsyncModifier(node, lastAsync); } } - function checkGrammarAsyncModifier(node: Node, asyncModifier: Node): boolean { - if (languageVersion < ScriptTarget.ES6) { - return grammarErrorOnNode(asyncModifier, Diagnostics.Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher); + /** + * true | false: Early return this value from checkGrammarModifiers. + * undefined: Need to do full checking on the modifiers. + */ + function reportObviousModifierErrors(node: Node): boolean | undefined { + return !node.modifiers + ? false + : shouldReportBadModifier(node) + ? grammarErrorOnFirstToken(node, Diagnostics.Modifiers_cannot_appear_here) + : undefined; + } + function shouldReportBadModifier(node: Node): boolean { + switch (node.kind) { + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.Constructor: + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.IndexSignature: + case SyntaxKind.ModuleDeclaration: + case SyntaxKind.ImportDeclaration: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + case SyntaxKind.ExportAssignment: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.Parameter: + return false; + default: + if (node.parent.kind === SyntaxKind.ModuleBlock || node.parent.kind === SyntaxKind.SourceFile) { + return false; + } + switch (node.kind) { + case SyntaxKind.FunctionDeclaration: + return nodeHasAnyModifiersExcept(node, SyntaxKind.AsyncKeyword); + case SyntaxKind.ClassDeclaration: + return nodeHasAnyModifiersExcept(node, SyntaxKind.AbstractKeyword); + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.VariableStatement: + case SyntaxKind.TypeAliasDeclaration: + return true; + case SyntaxKind.EnumDeclaration: + return nodeHasAnyModifiersExcept(node, SyntaxKind.ConstKeyword); + default: + Debug.fail(); + return false; + } } + } + function nodeHasAnyModifiersExcept(node: Node, allowedModifier: SyntaxKind): boolean { + return node.modifiers.length > 1 || node.modifiers[0].kind !== allowedModifier; + } + function checkGrammarAsyncModifier(node: Node, asyncModifier: Node): boolean { switch (node.kind) { case SyntaxKind.MethodDeclaration: case SyntaxKind.FunctionDeclaration: @@ -18615,7 +19457,7 @@ namespace ts { if (parameter.dotDotDotToken) { return grammarErrorOnNode(parameter.dotDotDotToken, Diagnostics.An_index_signature_cannot_have_a_rest_parameter); } - if (parameter.flags & NodeFlags.Modifier) { + if (getModifierFlags(parameter) !== 0) { return grammarErrorOnNode(parameter.name, Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier); } if (parameter.questionToken) { @@ -18779,7 +19621,7 @@ namespace ts { } function checkGrammarObjectLiteralExpression(node: ObjectLiteralExpression, inDestructuring: boolean) { - const seen: Map = {}; + const seen = createMap(); const Property = 1; const GetAccessor = 2; const SetAccessor = 4; @@ -18800,11 +19642,13 @@ namespace ts { } // Modifiers are never allowed on properties except for 'async' on a method declaration - forEach(prop.modifiers, mod => { - if (mod.kind !== SyntaxKind.AsyncKeyword || prop.kind !== SyntaxKind.MethodDeclaration) { - grammarErrorOnNode(mod, Diagnostics._0_modifier_cannot_be_used_here, getTextOfNode(mod)); + if (prop.modifiers) { + for (const mod of prop.modifiers) { + if (mod.kind !== SyntaxKind.AsyncKeyword || prop.kind !== SyntaxKind.MethodDeclaration) { + grammarErrorOnNode(mod, Diagnostics._0_modifier_cannot_be_used_here, getTextOfNode(mod)); + } } - }); + } // ECMA-262 11.1.5 Object Initializer // If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true @@ -18819,7 +19663,7 @@ namespace ts { // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop, (prop).questionToken, Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === SyntaxKind.NumericLiteral) { - checkGrammarNumericLiteral(name); + checkGrammarNumericLiteral(name); } currentKind = Property; } @@ -18841,7 +19685,7 @@ namespace ts { continue; } - if (!hasProperty(seen, effectiveName)) { + if (!seen[effectiveName]) { seen[effectiveName] = currentKind; } else { @@ -18865,7 +19709,7 @@ namespace ts { } function checkGrammarJsxElement(node: JsxOpeningLikeElement) { - const seen: Map = {}; + const seen = createMap(); for (const attr of node.attributes) { if (attr.kind === SyntaxKind.JsxSpreadAttribute) { continue; @@ -18873,7 +19717,7 @@ namespace ts { const jsxAttr = (attr); const name = jsxAttr.name; - if (!hasProperty(seen, name.text)) { + if (!seen[name.text]) { seen[name.text] = true; } else { @@ -18942,7 +19786,7 @@ namespace ts { else if (isInAmbientContext(accessor)) { return grammarErrorOnNode(accessor.name, Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context); } - else if (accessor.body === undefined && !(accessor.flags & NodeFlags.Abstract)) { + else if (accessor.body === undefined && !(getModifierFlags(accessor) & ModifierFlags.Abstract)) { return grammarErrorAtPos(getSourceFileOfNode(accessor), accessor.end - 1, ";".length, Diagnostics._0_expected, "{"); } else if (accessor.typeParameters) { @@ -19153,7 +19997,7 @@ namespace ts { else { const elements = (name).elements; for (const element of elements) { - if (element.kind !== SyntaxKind.OmittedExpression) { + if (!isOmittedExpression(element)) { checkGrammarNameInLetOrConstDeclarations(element.name); } } @@ -19268,7 +20112,7 @@ namespace ts { } function checkGrammarTopLevelElementForRequiredDeclareModifier(node: Node): boolean { - // A declare modifier is required for any top level .d.ts declaration except export=, export default, + // A declare modifier is required for any top level .d.ts declaration except export=, export default, export as namespace // interfaces and imports categories: // // DeclarationElement: @@ -19286,10 +20130,9 @@ namespace ts { node.kind === SyntaxKind.ImportEqualsDeclaration || node.kind === SyntaxKind.ExportDeclaration || node.kind === SyntaxKind.ExportAssignment || - (node.flags & NodeFlags.Ambient) || - (node.flags & (NodeFlags.Export | NodeFlags.Default))) { - - return false; + node.kind === SyntaxKind.NamespaceExportDeclaration || + getModifierFlags(node) & (ModifierFlags.Ambient | ModifierFlags.Export | ModifierFlags.Default)) { + return false; } return grammarErrorOnFirstToken(node, Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); @@ -19342,7 +20185,7 @@ namespace ts { } } - function checkGrammarNumericLiteral(node: LiteralExpression): boolean { + function checkGrammarNumericLiteral(node: NumericLiteral): boolean { // Grammar checking if (node.isOctalLiteral && languageVersion >= ScriptTarget.ES5) { return grammarErrorOnNode(node, Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher); @@ -19357,5 +20200,15 @@ namespace ts { return true; } } + + function getAmbientModules(): Symbol[] { + const result: Symbol[] = []; + for (const sym in globals) { + if (ambientModuleSymbolRegex.test(sym)) { + result.push(globals[sym]); + } + } + return result; + } } } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index b82cf6a094d..742d57a12ff 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -30,6 +30,7 @@ namespace ts { { name: "extendedDiagnostics", type: "boolean", + experimental: true }, { name: "emitBOM", @@ -61,10 +62,10 @@ namespace ts { }, { name: "jsx", - type: { + type: createMap({ "preserve": JsxEmit.Preserve, "react": JsxEmit.React - }, + }), paramType: Diagnostics.KIND, description: Diagnostics.Specify_JSX_code_generation_Colon_preserve_or_react, }, @@ -91,7 +92,7 @@ namespace ts { { name: "module", shortName: "m", - type: { + type: createMap({ "none": ModuleKind.None, "commonjs": ModuleKind.CommonJS, "amd": ModuleKind.AMD, @@ -99,16 +100,16 @@ namespace ts { "umd": ModuleKind.UMD, "es6": ModuleKind.ES6, "es2015": ModuleKind.ES2015, - }, + }), description: Diagnostics.Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015, paramType: Diagnostics.KIND, }, { name: "newLine", - type: { + type: createMap({ "crlf": NewLineKind.CarriageReturnLineFeed, "lf": NewLineKind.LineFeed - }, + }), description: Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix, paramType: Diagnostics.NEWLINE, }, @@ -126,6 +127,10 @@ namespace ts { type: "boolean", description: Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported, }, + { + name: "noErrorTruncation", + type: "boolean" + }, { name: "noImplicitAny", type: "boolean", @@ -139,12 +144,12 @@ namespace ts { { name: "noUnusedLocals", type: "boolean", - description: Diagnostics.Report_errors_on_unused_locals, + description: Diagnostics.Report_errors_on_unused_locals, }, { name: "noUnusedParameters", type: "boolean", - description: Diagnostics.Report_errors_on_unused_parameters, + description: Diagnostics.Report_errors_on_unused_parameters, }, { name: "noLib", @@ -250,12 +255,12 @@ namespace ts { { name: "target", shortName: "t", - type: { + type: createMap({ "es3": ScriptTarget.ES3, "es5": ScriptTarget.ES5, "es6": ScriptTarget.ES6, "es2015": ScriptTarget.ES2015, - }, + }), description: Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015, paramType: Diagnostics.VERSION, }, @@ -284,11 +289,12 @@ namespace ts { }, { name: "moduleResolution", - type: { + type: createMap({ "node": ModuleResolutionKind.NodeJs, "classic": ModuleResolutionKind.Classic, - }, + }), description: Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6, + paramType: Diagnostics.STRATEGY, }, { name: "allowUnusedLabels", @@ -392,7 +398,7 @@ namespace ts { type: "list", element: { name: "lib", - type: { + type: createMap({ // JavaScript only "es5": "lib.es5.d.ts", "es6": "lib.es2015.d.ts", @@ -417,7 +423,7 @@ namespace ts { "es2016.array.include": "lib.es2016.array.include.d.ts", "es2017.object": "lib.es2017.object.d.ts", "es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts" - }, + }), }, description: Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon }, @@ -429,6 +435,11 @@ namespace ts { name: "strictNullChecks", type: "boolean", description: Diagnostics.Enable_strict_null_checks + }, + { + name: "importHelpers", + type: "boolean", + description: Diagnostics.Import_emit_helpers_from_tslib } ]; @@ -462,6 +473,14 @@ namespace ts { shortOptionNames: Map; } + /* @internal */ + export const defaultInitCompilerOptions: CompilerOptions = { + module: ModuleKind.CommonJS, + target: ScriptTarget.ES5, + noImplicitAny: false, + sourceMap: false, + }; + let optionNameMapCache: OptionNameMap; /* @internal */ @@ -470,8 +489,8 @@ namespace ts { return optionNameMapCache; } - const optionNameMap: Map = {}; - const shortOptionNames: Map = {}; + const optionNameMap = createMap(); + const shortOptionNames = createMap(); forEach(optionDeclarations, option => { optionNameMap[option.name.toLowerCase()] = option; if (option.shortName) { @@ -486,10 +505,9 @@ namespace ts { /* @internal */ export function createCompilerDiagnosticForInvalidCustomType(opt: CommandLineOptionOfCustomType): Diagnostic { const namesOfType: string[] = []; - forEachKey(opt.type, key => { + for (const key in opt.type) { namesOfType.push(` '${key}'`); - }); - + } return createCompilerDiagnostic(Diagnostics.Argument_for_0_option_must_be_Colon_1, `--${opt.name}`, namesOfType); } @@ -497,7 +515,7 @@ namespace ts { export function parseCustomTypeOption(opt: CommandLineOptionOfCustomType, value: string, errors: Diagnostic[]) { const key = trimString((value || "")).toLowerCase(); const map = opt.type; - if (hasProperty(map, key)) { + if (key in map) { return map[key]; } else { @@ -551,11 +569,11 @@ namespace ts { s = s.slice(s.charCodeAt(1) === CharacterCodes.minus ? 2 : 1).toLowerCase(); // Try to translate short option names to their full equivalents. - if (hasProperty(shortOptionNames, s)) { + if (s in shortOptionNames) { s = shortOptionNames[s]; } - if (hasProperty(optionNameMap, s)) { + if (s in optionNameMap) { const opt = optionNameMap[s]; if (opt.isTSConfigOnly) { @@ -668,6 +686,94 @@ namespace ts { } } + /** + * Generate tsconfig configuration when running command line "--init" + * @param options commandlineOptions to be generated into tsconfig.json + * @param fileNames array of filenames to be generated into tsconfig.json + */ + /* @internal */ + export function generateTSConfig(options: CompilerOptions, fileNames: string[]): { compilerOptions: Map } { + const compilerOptions = extend(options, defaultInitCompilerOptions); + const configurations: any = { + compilerOptions: serializeCompilerOptions(compilerOptions) + }; + if (fileNames && fileNames.length) { + // only set the files property if we have at least one file + configurations.files = fileNames; + } + + return configurations; + + function getCustomTypeMapOfCommandLineOption(optionDefinition: CommandLineOption): Map | undefined { + if (optionDefinition.type === "string" || optionDefinition.type === "number" || optionDefinition.type === "boolean") { + // this is of a type CommandLineOptionOfPrimitiveType + return undefined; + } + else if (optionDefinition.type === "list") { + return getCustomTypeMapOfCommandLineOption((optionDefinition).element); + } + else { + return (optionDefinition).type; + } + } + + function getNameOfCompilerOptionValue(value: CompilerOptionsValue, customTypeMap: MapLike): string | undefined { + // There is a typeMap associated with this command-line option so use it to map value back to its name + for (const key in customTypeMap) { + if (customTypeMap[key] === value) { + return key; + } + } + return undefined; + } + + function serializeCompilerOptions(options: CompilerOptions): Map { + const result = createMap(); + const optionsNameMap = getOptionNameMap().optionNameMap; + + for (const name in options) { + if (hasProperty(options, name)) { + // tsconfig only options cannot be specified via command line, + // so we can assume that only types that can appear here string | number | boolean + switch (name) { + case "init": + case "watch": + case "version": + case "help": + case "project": + break; + default: + const value = options[name]; + let optionDefinition = optionsNameMap[name.toLowerCase()]; + if (optionDefinition) { + const customTypeMap = getCustomTypeMapOfCommandLineOption(optionDefinition); + if (!customTypeMap) { + // There is no map associated with this compiler option then use the value as-is + // This is the case if the value is expect to be string, number, boolean or list of string + result[name] = value; + } + else { + if (optionDefinition.type === "list") { + const convertedValue: string[] = []; + for (const element of value as (string | number)[]) { + convertedValue.push(getNameOfCompilerOptionValue(element, customTypeMap)); + } + result[name] = convertedValue; + } + else { + // There is a typeMap associated with this command-line option so use it to map value back to its name + result[name] = getNameOfCompilerOptionValue(value, customTypeMap); + } + } + } + break; + } + } + } + return result; + } + } + /** * Remove the comments from a json like text. * Comments can be single line comments (starting with # or //) or multiline comments using / * * / @@ -693,9 +799,6 @@ namespace ts { return output; } - // Skip over any minified JavaScript files (ending in ".min.js") - // Skip over dotted files and folders as well - const ignoreFileNamePattern = /(\.min\.js$)|([\\/]\.[\w.])/; /** * Parse the contents of a config file (tsconfig.json). * @param json The contents of the config file to parse @@ -756,14 +859,13 @@ namespace ts { errors.push(createCompilerDiagnostic(Diagnostics.Unknown_option_excludes_Did_you_mean_exclude)); } else { - // By default, exclude common package folders + // By default, exclude common package folders and the outDir excludeSpecs = ["node_modules", "bower_components", "jspm_packages"]; - } - // Always exclude the output directory unless explicitly included - const outDir = json["compilerOptions"] && json["compilerOptions"]["outDir"]; - if (outDir) { - excludeSpecs.push(outDir); + const outDir = json["compilerOptions"] && json["compilerOptions"]["outDir"]; + if (outDir) { + excludeSpecs.push(outDir); + } } if (fileNames === undefined && includeSpecs === undefined) { @@ -789,7 +891,7 @@ namespace ts { function convertCompilerOptionsFromJsonWorker(jsonOptions: any, basePath: string, errors: Diagnostic[], configFileName?: string): CompilerOptions { - const options: CompilerOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { allowJs: true } : {}; + const options: CompilerOptions = getBaseFileName(configFileName) === "jsconfig.json" ? { allowJs: true, maxNodeModuleJsDepth: 2 } : {}; convertOptionsFromJson(optionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_compiler_option_0, errors); return options; } @@ -814,7 +916,7 @@ namespace ts { const optionNameMap = arrayToMap(optionDeclarations, opt => opt.name); for (const id in jsonOptions) { - if (hasProperty(optionNameMap, id)) { + if (id in optionNameMap) { const opt = optionNameMap[id]; defaultOptions[opt.name] = convertJsonOption(opt, jsonOptions[id], basePath, errors); } @@ -851,7 +953,7 @@ namespace ts { function convertJsonOptionOfCustomType(opt: CommandLineOptionOfCustomType, value: string, errors: Diagnostic[]) { const key = value.toLowerCase(); - if (hasProperty(opt.type, key)) { + if (key in opt.type) { return opt.type[key]; } else { @@ -961,12 +1063,12 @@ namespace ts { // Literal file names (provided via the "files" array in tsconfig.json) are stored in a // file map with a possibly case insensitive key. We use this map later when when including // wildcard paths. - const literalFileMap: Map = {}; + const literalFileMap = createMap(); // Wildcard paths (provided via the "includes" array in tsconfig.json) are stored in a // file map with a possibly case insensitive key. We use this map to store paths matched // via wildcard, and to handle extension priority. - const wildcardFileMap: Map = {}; + const wildcardFileMap = createMap(); if (include) { include = validateSpecs(include, errors, /*allowTrailingRecursion*/ false); @@ -1007,10 +1109,6 @@ namespace ts { continue; } - if (ignoreFileNamePattern.test(file)) { - continue; - } - // We may have included a wildcard path with a lower priority // extension due to the user-defined order of entries in the // "include" array. If there is a lower priority extension in the @@ -1018,7 +1116,7 @@ namespace ts { removeWildcardFilesWithLowerPriorityExtension(file, wildcardFileMap, supportedExtensions, keyMapper); const key = keyMapper(file); - if (!hasProperty(literalFileMap, key) && !hasProperty(wildcardFileMap, key)) { + if (!(key in literalFileMap) && !(key in wildcardFileMap)) { wildcardFileMap[key] = file; } } @@ -1070,7 +1168,7 @@ namespace ts { // /a/b/a?z - Watch /a/b directly to catch any new file matching a?z const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path, "exclude"); const excludeRegex = rawExcludeRegex && new RegExp(rawExcludeRegex, useCaseSensitiveFileNames ? "" : "i"); - const wildcardDirectories: Map = {}; + const wildcardDirectories = createMap(); if (include !== undefined) { const recursiveKeys: string[] = []; for (const file of include) { @@ -1083,7 +1181,7 @@ namespace ts { if (match) { const key = useCaseSensitiveFileNames ? match[0] : match[0].toLowerCase(); const flags = watchRecursivePattern.test(name) ? WatchDirectoryFlags.Recursive : WatchDirectoryFlags.None; - const existingFlags = getProperty(wildcardDirectories, key); + const existingFlags = wildcardDirectories[key]; if (existingFlags === undefined || existingFlags < flags) { wildcardDirectories[key] = flags; if (flags === WatchDirectoryFlags.Recursive) { @@ -1095,11 +1193,9 @@ namespace ts { // Remove any subpaths under an existing recursively watched directory. for (const key in wildcardDirectories) { - if (hasProperty(wildcardDirectories, key)) { - for (const recursiveKey of recursiveKeys) { - if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { - delete wildcardDirectories[key]; - } + for (const recursiveKey of recursiveKeys) { + if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { + delete wildcardDirectories[key]; } } } @@ -1122,7 +1218,7 @@ namespace ts { for (let i = ExtensionPriority.Highest; i < adjustedExtensionPriority; i++) { const higherPriorityExtension = extensions[i]; const higherPriorityPath = keyMapper(changeExtension(file, higherPriorityExtension)); - if (hasProperty(literalFiles, higherPriorityPath) || hasProperty(wildcardFiles, higherPriorityPath)) { + if (higherPriorityPath in literalFiles || higherPriorityPath in wildcardFiles) { return true; } } diff --git a/src/compiler/comments.ts b/src/compiler/comments.ts new file mode 100644 index 00000000000..1bca13a4bdb --- /dev/null +++ b/src/compiler/comments.ts @@ -0,0 +1,352 @@ +/// + +/* @internal */ +namespace ts { + export interface CommentWriter { + reset(): void; + setSourceFile(sourceFile: SourceFile): void; + emitNodeWithComments(node: Node, emitCallback: (node: Node) => void): void; + emitBodyWithDetachedComments(node: Node, detachedRange: TextRange, emitCallback: (node: Node) => void): void; + emitTrailingCommentsOfPosition(pos: number): void; + } + + export function createCommentWriter(host: EmitHost, writer: EmitTextWriter, sourceMap: SourceMapWriter): CommentWriter { + const compilerOptions = host.getCompilerOptions(); + const extendedDiagnostics = compilerOptions.extendedDiagnostics; + const newLine = host.getNewLine(); + const { emitPos } = sourceMap; + + let containerPos = -1; + let containerEnd = -1; + let declarationListContainerEnd = -1; + let currentSourceFile: SourceFile; + let currentText: string; + let currentLineMap: number[]; + let detachedCommentsInfo: { nodePos: number, detachedCommentEndPos: number}[]; + let hasWrittenComment = false; + let disabled: boolean = compilerOptions.removeComments; + + return { + reset, + setSourceFile, + emitNodeWithComments, + emitBodyWithDetachedComments, + emitTrailingCommentsOfPosition, + }; + + function emitNodeWithComments(node: Node, emitCallback: (node: Node) => void) { + if (disabled) { + emitCallback(node); + return; + } + + if (node) { + const { pos, end } = node.commentRange || node; + const emitFlags = node.emitFlags; + if ((pos < 0 && end < 0) || (pos === end)) { + // Both pos and end are synthesized, so just emit the node without comments. + if (emitFlags & NodeEmitFlags.NoNestedComments) { + disableCommentsAndEmit(node, emitCallback); + } + else { + emitCallback(node); + } + } + else { + if (extendedDiagnostics) { + performance.mark("preEmitNodeWithComment"); + } + + const isEmittedNode = node.kind !== SyntaxKind.NotEmittedStatement; + const skipLeadingComments = pos < 0 || (emitFlags & NodeEmitFlags.NoLeadingComments) !== 0; + const skipTrailingComments = end < 0 || (emitFlags & NodeEmitFlags.NoTrailingComments) !== 0; + + // Emit leading comments if the position is not synthesized and the node + // has not opted out from emitting leading comments. + if (!skipLeadingComments) { + emitLeadingComments(pos, isEmittedNode); + } + + // Save current container state on the stack. + const savedContainerPos = containerPos; + const savedContainerEnd = containerEnd; + const savedDeclarationListContainerEnd = declarationListContainerEnd; + + if (!skipLeadingComments) { + containerPos = pos; + } + + if (!skipTrailingComments) { + 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 === SyntaxKind.VariableDeclarationList) { + declarationListContainerEnd = end; + } + } + + if (extendedDiagnostics) { + performance.measure("commentTime", "preEmitNodeWithComment"); + } + + if (emitFlags & NodeEmitFlags.NoNestedComments) { + disableCommentsAndEmit(node, emitCallback); + } + else { + emitCallback(node); + } + + if (extendedDiagnostics) { + performance.mark("beginEmitNodeWithComment"); + } + + // Restore previous container state. + containerPos = savedContainerPos; + containerEnd = savedContainerEnd; + declarationListContainerEnd = savedDeclarationListContainerEnd; + + // Emit trailing comments if the position is not synthesized and the node + // has not opted out from emitting leading comments and is an emitted node. + if (!skipTrailingComments && isEmittedNode) { + emitTrailingComments(end); + } + + if (extendedDiagnostics) { + performance.measure("commentTime", "beginEmitNodeWithComment"); + } + } + } + } + + function emitBodyWithDetachedComments(node: Node, detachedRange: TextRange, emitCallback: (node: Node) => void) { + if (extendedDiagnostics) { + performance.mark("preEmitBodyWithDetachedComments"); + } + + const { pos, end } = detachedRange; + const emitFlags = node.emitFlags; + const skipLeadingComments = pos < 0 || (emitFlags & NodeEmitFlags.NoLeadingComments) !== 0; + const skipTrailingComments = disabled || end < 0 || (emitFlags & NodeEmitFlags.NoTrailingComments) !== 0; + + if (!skipLeadingComments) { + emitDetachedCommentsAndUpdateCommentsInfo(detachedRange); + } + + if (extendedDiagnostics) { + performance.measure("commentTime", "preEmitBodyWithDetachedComments"); + } + + if (emitFlags & NodeEmitFlags.NoNestedComments) { + disableCommentsAndEmit(node, emitCallback); + } + else { + emitCallback(node); + } + + if (extendedDiagnostics) { + performance.mark("beginEmitBodyWithDetachedCommetns"); + } + + if (!skipTrailingComments) { + emitLeadingComments(detachedRange.end, /*isEmittedNode*/ true); + } + + if (extendedDiagnostics) { + performance.measure("commentTime", "beginEmitBodyWithDetachedCommetns"); + } + } + + function emitLeadingComments(pos: number, isEmittedNode: boolean) { + hasWrittenComment = false; + + if (isEmittedNode) { + forEachLeadingCommentToEmit(pos, emitLeadingComment); + } + else if (pos === 0) { + // If the node will not be emitted in JS, remove all the comments(normal, pinned and ///) associated with the node, + // unless it is a triple slash comment at the top of the file. + // For Example: + // /// + // declare var x; + // /// + // interface F {} + // The first /// will NOT be removed while the second one will be removed even though both node will not be emitted + forEachLeadingCommentToEmit(pos, emitTripleSlashLeadingComment); + } + } + + function emitTripleSlashLeadingComment(commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean, rangePos: number) { + if (isTripleSlashComment(commentPos, commentEnd)) { + emitLeadingComment(commentPos, commentEnd, kind, hasTrailingNewLine, rangePos); + } + } + + function emitLeadingComment(commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean, rangePos: number) { + if (!hasWrittenComment) { + emitNewLineBeforeLeadingCommentOfPosition(currentLineMap, writer, rangePos, commentPos); + hasWrittenComment = true; + } + + // Leading comments are emitted at /*leading comment1 */space/*leading comment*/space + emitPos(commentPos); + writeCommentRange(currentText, currentLineMap, writer, commentPos, commentEnd, newLine); + emitPos(commentEnd); + + if (hasTrailingNewLine) { + writer.writeLine(); + } + else { + writer.write(" "); + } + } + + function emitTrailingComments(pos: number) { + forEachTrailingCommentToEmit(pos, emitTrailingComment); + } + + function emitTrailingComment(commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean) { + // trailing comments are emitted at space/*trailing comment1 */space/*trailing comment2*/ + if (!writer.isAtStartOfLine()) { + writer.write(" "); + } + + emitPos(commentPos); + writeCommentRange(currentText, currentLineMap, writer, commentPos, commentEnd, newLine); + emitPos(commentEnd); + + if (hasTrailingNewLine) { + writer.writeLine(); + } + } + + function emitTrailingCommentsOfPosition(pos: number) { + if (disabled) { + return; + } + + if (extendedDiagnostics) { + performance.mark("beforeEmitTrailingCommentsOfPosition"); + } + + forEachTrailingCommentToEmit(pos, emitTrailingCommentOfPosition); + + if (extendedDiagnostics) { + performance.measure("commentTime", "beforeEmitTrailingCommentsOfPosition"); + } + } + + function emitTrailingCommentOfPosition(commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean) { + // trailing comments of a position are emitted at /*trailing comment1 */space/*trailing comment*/space + + emitPos(commentPos); + writeCommentRange(currentText, currentLineMap, writer, commentPos, commentEnd, newLine); + emitPos(commentEnd); + + if (hasTrailingNewLine) { + writer.writeLine(); + } + else { + writer.write(" "); + } + } + + function forEachLeadingCommentToEmit(pos: number, cb: (commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean, rangePos: number) => void) { + // Emit the leading comments only if the container's pos doesn't match because the container should take care of emitting these comments + if (containerPos === -1 || pos !== containerPos) { + if (hasDetachedComments(pos)) { + forEachLeadingCommentWithoutDetachedComments(cb); + } + else { + forEachLeadingCommentRange(currentText, pos, cb, /*state*/ pos); + } + } + } + + function forEachTrailingCommentToEmit(end: number, cb: (commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean) => void) { + // Emit the trailing comments only if the container's end doesn't match because the container should take care of emitting these comments + if (containerEnd === -1 || (end !== containerEnd && end !== declarationListContainerEnd)) { + forEachTrailingCommentRange(currentText, end, cb); + } + } + + function reset() { + currentSourceFile = undefined; + currentText = undefined; + currentLineMap = undefined; + detachedCommentsInfo = undefined; + } + + function setSourceFile(sourceFile: SourceFile) { + currentSourceFile = sourceFile; + currentText = currentSourceFile.text; + currentLineMap = getLineStarts(currentSourceFile); + detachedCommentsInfo = undefined; + } + + function disableCommentsAndEmit(node: Node, emitCallback: (node: Node) => void): void { + if (disabled) { + emitCallback(node); + } + else { + disabled = true; + emitCallback(node); + disabled = false; + } + } + + function hasDetachedComments(pos: number) { + return detachedCommentsInfo !== undefined && lastOrUndefined(detachedCommentsInfo).nodePos === pos; + } + + function forEachLeadingCommentWithoutDetachedComments(cb: (commentPos: number, commentEnd: number, kind: SyntaxKind, hasTrailingNewLine: boolean, rangePos: number) => void) { + // get the leading comments from detachedPos + const pos = lastOrUndefined(detachedCommentsInfo).detachedCommentEndPos; + if (detachedCommentsInfo.length - 1) { + detachedCommentsInfo.pop(); + } + else { + detachedCommentsInfo = undefined; + } + + forEachLeadingCommentRange(currentText, pos, cb, /*state*/ pos); + } + + function emitDetachedCommentsAndUpdateCommentsInfo(range: TextRange) { + const currentDetachedCommentInfo = emitDetachedComments(currentText, currentLineMap, writer, writeComment, range, newLine, disabled); + if (currentDetachedCommentInfo) { + if (detachedCommentsInfo) { + detachedCommentsInfo.push(currentDetachedCommentInfo); + } + else { + detachedCommentsInfo = [currentDetachedCommentInfo]; + } + } + } + + function writeComment(text: string, lineMap: number[], writer: EmitTextWriter, commentPos: number, commentEnd: number, newLine: string) { + emitPos(commentPos); + writeCommentRange(text, lineMap, writer, commentPos, commentEnd, newLine); + emitPos(commentEnd); + } + + /** + * Determine if the given comment is a triple-slash + * + * @return true if the comment is a triple-slash comment else false + **/ + function isTripleSlashComment(commentPos: number, commentEnd: number) { + // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text + // so that we don't end up computing comment string and doing match for all // comments + if (currentText.charCodeAt(commentPos + 1) === CharacterCodes.slash && + commentPos + 2 < commentEnd && + currentText.charCodeAt(commentPos + 2) === CharacterCodes.slash) { + const textSubStr = currentText.substring(commentPos, commentEnd); + return textSubStr.match(fullTripleSlashReferencePathRegEx) || + textSubStr.match(fullTripleSlashAMDReferencePathRegEx) ? + true : false; + } + return false; + } + } +} \ No newline at end of file diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 926ee38a795..75a724e4fd8 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -19,8 +19,28 @@ namespace ts { True = -1 } + const createObject = Object.create; + + export function createMap(template?: MapLike): Map { + const map: Map = createObject(null); // tslint:disable-line:no-null-keyword + + // Using 'delete' on an object causes V8 to put the object in dictionary mode. + // This disables creation of hidden classes, which are expensive when an object is + // constantly changing shape. + map["__"] = undefined; + delete map["__"]; + + // Copies keys/values from template. Note that for..in will not throw if + // template is undefined, and instead will just exit the loop. + for (const key in template) if (hasOwnProperty.call(template, key)) { + map[key] = template[key]; + } + + return map; + } + export function createFileMap(keyMapper?: (key: string) => string): FileMap { - let files: Map = {}; + let files = createMap(); return { get, set, @@ -46,7 +66,7 @@ namespace ts { } function contains(path: Path) { - return hasProperty(files, toKey(path)); + return toKey(path) in files; } function remove(path: Path) { @@ -55,7 +75,7 @@ namespace ts { } function clear() { - files = {}; + files = createMap(); } function toKey(path: Path): string { @@ -81,7 +101,7 @@ namespace ts { * returns a truthy value, then returns that value. * If no such value is found, the callback is applied to each element of array and undefined is returned. */ - export function forEach(array: T[], callback: (element: T, index: number) => U): U { + export function forEach(array: T[] | undefined, callback: (element: T, index: number) => U | undefined): U | undefined { if (array) { for (let i = 0, len = array.length; i < len; i++) { const result = callback(array[i], i); @@ -93,10 +113,52 @@ namespace ts { return undefined; } - export function contains(array: T[], value: T, areEqual?: (a: T, b: T) => boolean): boolean { + /** + * Iterates through `array` by index and performs the callback on each element of array until the callback + * returns a falsey value, then returns false. + * If no such value is found, the callback is applied to each element of array and `true` is returned. + */ + export function every(array: T[], callback: (element: T, index: number) => boolean): boolean { + if (array) { + for (let i = 0, len = array.length; i < len; i++) { + if (!callback(array[i], i)) { + return false; + } + } + } + + return true; + } + + /** Works like Array.prototype.find, returning `undefined` if no element satisfying the predicate is found. */ + export function find(array: T[], predicate: (element: T, index: number) => boolean): T | undefined { + for (let i = 0, len = array.length; i < len; i++) { + const value = array[i]; + if (predicate(value, i)) { + return value; + } + } + return undefined; + } + + /** + * Returns the first truthy result of `callback`, or else fails. + * This is like `forEach`, but never returns undefined. + */ + export function findMap(array: T[], callback: (element: T, index: number) => U | undefined): U { + for (let i = 0, len = array.length; i < len; i++) { + const result = callback(array[i], i); + if (result) { + return result; + } + } + Debug.fail(); + } + + export function contains(array: T[], value: T): boolean { if (array) { for (const v of array) { - if (areEqual ? areEqual(v, value) : v === value) { + if (v === value) { return true; } } @@ -124,11 +186,12 @@ namespace ts { return -1; } - export function countWhere(array: T[], predicate: (x: T) => boolean): number { + export function countWhere(array: T[], predicate: (x: T, i: number) => boolean): number { let count = 0; if (array) { - for (const v of array) { - if (predicate(v)) { + for (let i = 0; i < array.length; i++) { + const v = array[i]; + if (predicate(v, i)) { count++; } } @@ -136,17 +199,46 @@ namespace ts { return count; } + /** + * Filters an array by a predicate function. Returns the same array instance if the predicate is + * true for all elements, otherwise returns a new array instance containing the filtered subset. + */ + export function filter(array: T[], f: (x: T) => x is U): U[]; + export function filter(array: T[], f: (x: T) => boolean): T[] export function filter(array: T[], f: (x: T) => boolean): T[] { - let result: T[]; if (array) { - result = []; - for (const item of array) { - if (f(item)) { - result.push(item); + const len = array.length; + let i = 0; + while (i < len && f(array[i])) i++; + if (i < len) { + const result = array.slice(0, i); + i++; + while (i < len) { + const item = array[i]; + if (f(item)) { + result.push(item); + } + i++; } + return result; } } - return result; + return array; + } + + export function removeWhere(array: T[], f: (x: T) => boolean): boolean { + let outIndex = 0; + for (const item of array) { + if (!f(item)) { + array[outIndex] = item; + outIndex++; + } + } + if (outIndex !== array.length) { + array.length = outIndex; + return true; + } + return false; } export function filterMutate(array: T[], f: (x: T) => boolean): void { @@ -160,37 +252,174 @@ namespace ts { array.length = outIndex; } - export function map(array: T[], f: (x: T) => U): U[] { + export function map(array: T[], f: (x: T, i: number) => U): U[] { let result: U[]; if (array) { result = []; - for (const v of array) { - result.push(f(v)); + for (let i = 0; i < array.length; i++) { + const v = array[i]; + result.push(f(v, i)); } } return result; } + /** + * Flattens an array containing a mix of array or non-array elements. + * + * @param array The array to flatten. + */ + export function flatten(array: (T | T[])[]): T[] { + let result: T[]; + if (array) { + result = []; + for (const v of array) { + if (v) { + if (isArray(v)) { + addRange(result, v); + } + else { + result.push(v); + } + } + } + } + + return result; + } + + /** + * 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. + */ + export function flatMap(array: T[], mapfn: (x: T, i: number) => U | U[]): U[] { + let result: U[]; + if (array) { + result = []; + for (let i = 0; i < array.length; i++) { + const v = mapfn(array[i], i); + if (v) { + if (isArray(v)) { + addRange(result, v); + } + else { + result.push(v); + } + } + } + } + return result; + } + + /** + * Computes the first matching span of elements and returns a tuple of the first span + * and the remaining elements. + */ + export function span(array: T[], f: (x: T, i: number) => boolean): [T[], T[]] { + if (array) { + for (let i = 0; i < array.length; i++) { + if (!f(array[i], i)) { + return [array.slice(0, i), array.slice(i)]; + } + } + return [array.slice(0), []]; + } + + return undefined; + } + + /** + * 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. + */ + export function spanMap(array: T[], keyfn: (x: T, i: number) => K, mapfn: (chunk: T[], key: K, start: number, end: number) => U): U[] { + let result: U[]; + if (array) { + result = []; + const len = array.length; + let previousKey: K; + let key: K; + let start = 0; + let pos = 0; + while (start < len) { + while (pos < len) { + const value = array[pos]; + key = keyfn(value, pos); + if (pos === 0) { + previousKey = key; + } + else if (key !== previousKey) { + break; + } + + pos++; + } + + if (start < pos) { + const v = mapfn(array.slice(start, pos), previousKey, start, pos); + if (v) { + result.push(v); + } + + start = pos; + } + + previousKey = key; + pos++; + } + } + + return result; + } + export function concatenate(array1: T[], array2: T[]): T[] { if (!array2 || !array2.length) return array1; if (!array1 || !array1.length) return array2; - - return array1.concat(array2); + return [...array1, ...array2]; } export function deduplicate(array: T[], areEqual?: (a: T, b: T) => boolean): T[] { let result: T[]; if (array) { result = []; - for (const item of array) { - if (!contains(result, item, areEqual)) { - result.push(item); + loop: for (const item of array) { + for (const res of result) { + if (areEqual ? areEqual(res, item) : res === item) { + continue loop; + } } + result.push(item); } } return result; } + /** + * Compacts an array, removing any falsey elements. + */ + export function compact(array: T[]): T[] { + let result: T[]; + if (array) { + for (let i = 0; i < array.length; i++) { + const v = array[i]; + if (result || !v) { + if (!result) { + result = array.slice(0, i); + } + if (v) { + result.push(v); + } + } + } + } + return result || array; + } + export function sum(array: any[], prop: string): number { let result = 0; for (const v of array) { @@ -202,7 +431,9 @@ namespace ts { export function addRange(to: T[], from: T[]): void { if (to && from) { for (const v of from) { - to.push(v); + if (v !== undefined) { + to.push(v); + } } } } @@ -217,15 +448,31 @@ namespace ts { return true; } + export function firstOrUndefined(array: T[]): T { + return array && array.length > 0 + ? array[0] + : undefined; + } + + export function singleOrUndefined(array: T[]): T { + return array && array.length === 1 + ? array[0] + : undefined; + } + + export function singleOrMany(array: T[]): T | T[] { + return array && array.length === 1 + ? array[0] + : array; + } + /** * Returns the last element of an array if non-empty, undefined otherwise. */ export function lastOrUndefined(array: T[]): T { - if (array.length === 0) { - return undefined; - } - - return array[array.length - 1]; + return array && array.length > 0 + ? array[array.length - 1] + : undefined; } /** @@ -257,14 +504,15 @@ namespace ts { return ~low; } - export function reduceLeft(array: T[], f: (a: T, x: T) => T): T; - export function reduceLeft(array: T[], f: (a: U, x: T) => U, initial: U): U; - export function reduceLeft(array: T[], f: (a: U, x: T) => U, initial?: U): U { - if (array) { - const count = array.length; - if (count > 0) { - let pos = 0; - let result: T | U; + export function reduceLeft(array: T[], f: (memo: U, value: T, i: number) => U, initial: U, start?: number, count?: number): U; + export function reduceLeft(array: T[], f: (memo: T, value: T, i: number) => T): T; + export function reduceLeft(array: T[], f: (memo: T, value: T, i: number) => T, initial?: T, start?: number, count?: number): T { + if (array && array.length > 0) { + const size = array.length; + if (size > 0) { + let pos = start === undefined || start < 0 ? 0 : start; + const end = count === undefined || pos + count > size - 1 ? size - 1 : pos + count; + let result: T; if (arguments.length <= 2) { result = array[pos]; pos++; @@ -272,23 +520,25 @@ namespace ts { else { result = initial; } - while (pos < count) { - result = f(result, array[pos]); + while (pos <= end) { + result = f(result, array[pos], pos); pos++; } - return result; + return result; } } return initial; } - export function reduceRight(array: T[], f: (a: T, x: T) => T): T; - export function reduceRight(array: T[], f: (a: U, x: T) => U, initial: U): U; - export function reduceRight(array: T[], f: (a: U, x: T) => U, initial?: U): U { + export function reduceRight(array: T[], f: (memo: U, value: T, i: number) => U, initial: U, start?: number, count?: number): U; + export function reduceRight(array: T[], f: (memo: T, value: T, i: number) => T): T; + export function reduceRight(array: T[], f: (memo: T, value: T, i: number) => T, initial?: T, start?: number, count?: number): T { if (array) { - let pos = array.length - 1; - if (pos >= 0) { - let result: T | U; + const size = array.length; + if (size > 0) { + let pos = start === undefined || start > size - 1 ? size - 1 : start; + const end = count === undefined || pos - count < 0 ? 0 : pos - count; + let result: T; if (arguments.length <= 2) { result = array[pos]; pos--; @@ -296,11 +546,11 @@ namespace ts { else { result = initial; } - while (pos >= 0) { - result = f(result, array[pos]); + while (pos >= end) { + result = f(result, array[pos], pos); pos--; } - return result; + return result; } } return initial; @@ -308,78 +558,142 @@ namespace ts { const hasOwnProperty = Object.prototype.hasOwnProperty; - export function hasProperty(map: Map, key: string): boolean { + /** + * Indicates whether a map-like contains an own property with the specified key. + * + * NOTE: This is intended for use only with MapLike objects. For Map objects, use + * the 'in' operator. + * + * @param map A map-like. + * @param key A property key. + */ + export function hasProperty(map: MapLike, key: string): boolean { return hasOwnProperty.call(map, key); } - export function getKeys(map: Map): string[] { + /** + * Gets the value of an owned property in a map-like. + * + * NOTE: This is intended for use only with MapLike objects. For Map objects, use + * an indexer. + * + * @param map A map-like. + * @param key A property key. + */ + export function getProperty(map: MapLike, key: string): T | undefined { + return hasOwnProperty.call(map, key) ? map[key] : undefined; + } + + /** + * Gets the owned, enumerable property keys of a map-like. + * + * NOTE: This is intended for use with MapLike objects. For Map objects, use + * Object.keys instead as it offers better performance. + * + * @param map A map-like. + */ + export function getOwnKeys(map: MapLike): string[] { const keys: string[] = []; - for (const key in map) { + for (const key in map) if (hasOwnProperty.call(map, key)) { keys.push(key); } return keys; } - export function getProperty(map: Map, key: string): T { - return hasOwnProperty.call(map, key) ? map[key] : undefined; + /** + * Enumerates the properties of a Map, invoking a callback and returning the first truthy result. + * + * @param map A map for which properties should be enumerated. + * @param callback A callback to invoke for each property. + */ + export function forEachProperty(map: Map, callback: (value: T, key: string) => U): U { + let result: U; + for (const key in map) { + if (result = callback(map[key], key)) break; + } + return result; } - export function isEmpty(map: Map) { - for (const id in map) { - if (hasProperty(map, id)) { - return false; - } + /** + * Returns true if a Map has some matching property. + * + * @param map A map whose properties should be tested. + * @param predicate An optional callback used to test each property. + */ + export function someProperties(map: Map, predicate?: (value: T, key: string) => boolean) { + for (const key in map) { + if (!predicate || predicate(map[key], key)) return true; + } + return false; + } + + /** + * Performs a shallow copy of the properties from a source Map to a target MapLike + * + * @param source A map from which properties should be copied. + * @param target A map to which properties should be copied. + */ + export function copyProperties(source: Map, target: MapLike): void { + for (const key in source) { + target[key] = source[key]; + } + } + + /** + * Reduce the properties of a map. + * + * NOTE: This is intended for use with Map objects. For MapLike objects, use + * reduceOwnProperties instead as it offers better runtime safety. + * + * @param map The map to reduce + * @param callback An aggregation function that is called for each entry in the map + * @param initial The initial value for the reduction. + */ + export function reduceProperties(map: Map, callback: (aggregate: U, value: T, key: string) => U, initial: U): U { + let result = initial; + for (const key in map) { + result = callback(result, map[key], String(key)); + } + return result; + } + + /** + * Reduce the properties defined on a map-like (but not from its prototype chain). + * + * NOTE: This is intended for use with MapLike objects. For Map objects, use + * reduceProperties instead as it offers better performance. + * + * @param map The map-like to reduce + * @param callback An aggregation function that is called for each entry in the map + * @param initial The initial value for the reduction. + */ + export function reduceOwnProperties(map: MapLike, callback: (aggregate: U, value: T, key: string) => U, initial: U): U { + let result = initial; + for (const key in map) if (hasOwnProperty.call(map, key)) { + result = callback(result, map[key], String(key)); + } + return result; + } + + /** + * Performs a shallow equality comparison of the contents of two map-likes. + * + * @param left A map-like whose properties should be compared. + * @param right A map-like whose properties should be compared. + */ + export function equalOwnProperties(left: MapLike, right: MapLike, equalityComparer?: (left: T, right: T) => boolean) { + if (left === right) return true; + if (!left || !right) return false; + for (const key in left) if (hasOwnProperty.call(left, key)) { + if (!hasOwnProperty.call(right, key) === undefined) return false; + if (equalityComparer ? !equalityComparer(left[key], right[key]) : left[key] !== right[key]) return false; + } + for (const key in right) if (hasOwnProperty.call(right, key)) { + if (!hasOwnProperty.call(left, key)) return false; } return true; } - export function clone(object: T): T { - const result: any = {}; - for (const id in object) { - result[id] = (object)[id]; - } - return result; - } - - export function extend, T2 extends Map<{}>>(first: T1 , second: T2): T1 & T2 { - const result: T1 & T2 = {}; - for (const id in first) { - (result as any)[id] = first[id]; - } - for (const id in second) { - if (!hasProperty(result, id)) { - (result as any)[id] = second[id]; - } - } - return result; - } - - export function forEachValue(map: Map, callback: (value: T) => U): U { - let result: U; - for (const id in map) { - if (result = callback(map[id])) break; - } - return result; - } - - export function forEachKey(map: Map, callback: (key: string) => U): U { - let result: U; - for (const id in map) { - if (result = callback(id)) break; - } - return result; - } - - export function lookUp(map: Map, key: string): T { - return hasProperty(map, key) ? map[key] : undefined; - } - - export function copyMap(source: Map, target: Map): void { - for (const p in source) { - target[p] = source[p]; - } - } - /** * Creates a map from the elements of an array. * @@ -390,34 +704,80 @@ namespace ts { * the same key with the given 'makeKey' function, then the element with the higher * index in the array will be the one associated with the produced key. */ - export function arrayToMap(array: T[], makeKey: (value: T) => string): Map { - const result: Map = {}; + export function arrayToMap(array: T[], makeKey: (value: T) => string): Map; + export function arrayToMap(array: T[], makeKey: (value: T) => string, makeValue: (value: T) => U): Map; + export function arrayToMap(array: T[], makeKey: (value: T) => string, makeValue?: (value: T) => U): Map { + const result = createMap(); + for (const value of array) { + result[makeKey(value)] = makeValue ? makeValue(value) : value; + } + return result; + } - forEach(array, value => { - result[makeKey(value)] = value; - }); + export function isEmpty(map: Map) { + for (const id in map) { + if (hasProperty(map, id)) { + return false; + } + } + return true; + } + export function cloneMap(map: Map) { + const clone = createMap(); + copyProperties(map, clone); + return clone; + } + + export function clone(object: T): T { + const result: any = {}; + for (const id in object) { + if (hasOwnProperty.call(object, id)) { + result[id] = (object)[id]; + } + } + return result; + } + + export function extend(first: T1 , second: T2): T1 & T2 { + const result: T1 & T2 = {}; + for (const id in second) if (hasOwnProperty.call(second, id)) { + (result as any)[id] = (second as any)[id]; + } + for (const id in first) if (hasOwnProperty.call(first, id)) { + (result as any)[id] = (first as any)[id]; + } return result; } /** - * Reduce the properties of a map. - * - * @param map The map to reduce - * @param callback An aggregation function that is called for each entry in the map - * @param initial The initial value for the reduction. + * Adds the value to an array of values associated with the key, and returns the array. + * Creates the array if it does not already exist. */ - export function reduceProperties(map: Map, callback: (aggregate: U, value: T, key: string) => U, initial: U): U { - let result = initial; - if (map) { - for (const key in map) { - if (hasProperty(map, key)) { - result = callback(result, map[key], String(key)); - } + export function multiMapAdd(map: Map, key: string, value: V): V[] { + const values = map[key]; + if (values) { + values.push(value); + return values; + } + else { + return map[key] = [value]; + } + } + + /** + * Removes a value from an array of values associated with the key. + * Does not preserve the order of those values. + * Does nothing if `key` is not in `map`, or `value` is not in `map[key]`. + */ + export function multiMapRemove(map: Map, key: string, value: V): void { + const values = map[key]; + if (values) { + unorderedRemoveItem(values, value); + if (!values.length) { + delete map[key]; } } - - return result; } /** @@ -447,9 +807,7 @@ namespace ts { export let localizedDiagnosticMessages: Map = undefined; export function getLocaleSpecificMessage(message: DiagnosticMessage) { - return localizedDiagnosticMessages && localizedDiagnosticMessages[message.key] - ? localizedDiagnosticMessages[message.key] - : message.message; + return localizedDiagnosticMessages && localizedDiagnosticMessages[message.key] || message.message; } export function createFileDiagnostic(file: SourceFile, start: number, length: number, message: DiagnosticMessage, ...args: any[]): Diagnostic; @@ -932,11 +1290,29 @@ namespace ts { const reservedCharacterPattern = /[^\w\s\/]/g; const wildcardCharCodes = [CharacterCodes.asterisk, CharacterCodes.question]; + /** + * 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) + * (\\.(?!min\\.js$))? # matches . characters but not if they are part of the .min.js file extension + */ + const singleAsteriskRegexFragmentFiles = "([^./]|(\\.(?!min\\.js$))?)*"; + const singleAsteriskRegexFragmentOther = "[^/]*"; + export function getRegularExpressionForWildcard(specs: string[], basePath: string, usage: "files" | "directories" | "exclude") { if (specs === undefined || specs.length === 0) { return undefined; } + const replaceWildcardCharacter = usage === "files" ? replaceWildCardCharacterFiles : replaceWildCardCharacterOther; + const singleAsteriskRegexFragment = usage === "files" ? singleAsteriskRegexFragmentFiles : singleAsteriskRegexFragmentOther; + + /** + * Regex for the ** wildcard. Matches any number of subdirectories. When used for including + * files or directories, does not match subdirectories that start with a . character + */ + const doubleAsteriskRegexFragment = usage === "exclude" ? "(/.+?)?" : "(/[^/.][^/]*)*?"; + let pattern = ""; let hasWrittenSubpattern = false; spec: for (const spec of specs) { @@ -957,13 +1333,13 @@ namespace ts { components[0] = removeTrailingDirectorySeparator(components[0]); let optionalCount = 0; - for (const component of components) { + for (let component of components) { if (component === "**") { if (hasRecursiveDirectoryWildcard) { continue spec; } - subpattern += "(/.+?)?"; + subpattern += doubleAsteriskRegexFragment; hasRecursiveDirectoryWildcard = true; hasWrittenComponent = true; } @@ -977,6 +1353,20 @@ namespace ts { subpattern += directorySeparator; } + if (usage !== "exclude") { + // The * and ? wildcards should not match directories or files that start with . if they + // appear first in a component. Dotted directories and files can be included explicitly + // like so: **/.*/.* + if (component.charCodeAt(0) === CharacterCodes.asterisk) { + subpattern += "([^./]" + singleAsteriskRegexFragment + ")?"; + component = component.substr(1); + } + else if (component.charCodeAt(0) === CharacterCodes.question) { + subpattern += "[^./]"; + component = component.substr(1); + } + } + subpattern += component.replace(reservedCharacterPattern, replaceWildcardCharacter); hasWrittenComponent = true; } @@ -1002,8 +1392,16 @@ namespace ts { return "^(" + pattern + (usage === "exclude" ? ")($|/)" : ")$"); } - function replaceWildcardCharacter(match: string) { - return match === "*" ? "[^/]*" : match === "?" ? "[^/]" : "\\" + match; + function replaceWildCardCharacterFiles(match: string) { + return replaceWildcardCharacter(match, singleAsteriskRegexFragmentFiles); + } + + function replaceWildCardCharacterOther(match: string) { + return replaceWildcardCharacter(match, singleAsteriskRegexFragmentOther); + } + + function replaceWildcardCharacter(match: string, singleAsteriskRegexFragment: string) { + return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } export interface FileSystemEntries { @@ -1145,6 +1543,8 @@ namespace ts { * List of supported extensions in order of file resolution precedence. */ export const supportedTypeScriptExtensions = [".ts", ".tsx", ".d.ts"]; + /** Must have ".d.ts" first because if ".ts" goes first, that will be detected as the extension instead of ".d.ts". */ + export const supportedTypescriptExtensionsForExtractExtension = [".d.ts", ".ts", ".tsx"]; export const supportedJavascriptExtensions = [".js", ".jsx"]; const allSupportedExtensions = supportedTypeScriptExtensions.concat(supportedJavascriptExtensions); @@ -1227,8 +1627,12 @@ namespace ts { return path; } - export function tryRemoveExtension(path: string, extension: string): string { - return fileExtensionIs(path, extension) ? path.substring(0, path.length - extension.length) : undefined; + export function tryRemoveExtension(path: string, extension: string): string | undefined { + return fileExtensionIs(path, extension) ? removeExtension(path, extension) : undefined; + } + + export function removeExtension(path: string, extension: string): string { + return path.substring(0, path.length - extension.length); } export function isJsxOrTsxExtension(ext: string): boolean { @@ -1263,11 +1667,16 @@ namespace ts { } function Node(this: Node, kind: SyntaxKind, pos: number, end: number) { + this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = NodeFlags.None; + this.modifierFlagsCache = ModifierFlags.None; + this.transformFlags = TransformFlags.None; this.parent = undefined; + this.original = undefined; + this.transformId = 0; } export let objectAllocator: ObjectAllocator = { @@ -1288,10 +1697,13 @@ namespace ts { } export namespace Debug { - const currentAssertionLevel = AssertionLevel.None; + declare var process: any; + declare var require: any; + + let currentAssertionLevel: AssertionLevel; export function shouldAssert(level: AssertionLevel): boolean { - return currentAssertionLevel >= level; + return getCurrentAssertionLevel() >= level; } export function assert(expression: boolean, message?: string, verboseDebugInfo?: () => string): void { @@ -1308,22 +1720,70 @@ namespace ts { export function fail(message?: string): void { Debug.assert(/*expression*/ false, message); } + + function getCurrentAssertionLevel() { + if (currentAssertionLevel !== undefined) { + return currentAssertionLevel; + } + + if (sys === undefined) { + return AssertionLevel.None; + } + + const developmentMode = /^development$/i.test(getEnvironmentVariable("NODE_ENV")); + currentAssertionLevel = developmentMode + ? AssertionLevel.Normal + : AssertionLevel.None; + + return currentAssertionLevel; + } } - export function copyListRemovingItem(item: T, list: T[]) { - const copiedList: T[] = []; - for (const e of list) { - if (e !== item) { - copiedList.push(e); + export function getEnvironmentVariable(name: string, host?: CompilerHost) { + if (host && host.getEnvironmentVariable) { + return host.getEnvironmentVariable(name); + } + + if (sys && sys.getEnvironmentVariable) { + return sys.getEnvironmentVariable(name); + } + + return ""; + } + + /** Remove an item from an array, moving everything to its right one space left. */ + export function orderedRemoveItemAt(array: T[], index: number): void { + // This seems to be faster than either `array.splice(i, 1)` or `array.copyWithin(i, i+ 1)`. + for (let i = index; i < array.length - 1; i++) { + array[i] = array[i + 1]; + } + array.pop(); + } + + export function unorderedRemoveItemAt(array: T[], index: number): void { + // Fill in the "hole" left at `index`. + array[index] = array[array.length - 1]; + array.pop(); + } + + /** Remove the *first* occurrence of `item` from the array. */ + export function unorderedRemoveItem(array: T[], item: T): void { + unorderedRemoveFirstItemWhere(array, element => element === item); + } + + /** Remove the *first* element satisfying `predicate`. */ + function unorderedRemoveFirstItemWhere(array: T[], predicate: (element: T) => boolean): void { + for (let i = 0; i < array.length; i++) { + if (predicate(array[i])) { + unorderedRemoveItemAt(array, i); + break; } } - return copiedList; } - export function createGetCanonicalFileName(useCaseSensitivefileNames: boolean): (fileName: string) => string { - return useCaseSensitivefileNames + export function createGetCanonicalFileName(useCaseSensitiveFileNames: boolean): (fileName: string) => string { + return useCaseSensitiveFileNames ? ((fileName) => fileName) : ((fileName) => fileName.toLowerCase()); } - } diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 2708833a13f..68e488295e7 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -157,9 +157,7 @@ namespace ts { if (usedTypeDirectiveReferences) { for (const directive in usedTypeDirectiveReferences) { - if (hasProperty(usedTypeDirectiveReferences, directive)) { - referencesOutput += `/// ${newLine}`; - } + referencesOutput += `/// ${newLine}`; } } @@ -269,10 +267,10 @@ namespace ts { } if (!usedTypeDirectiveReferences) { - usedTypeDirectiveReferences = {}; + usedTypeDirectiveReferences = createMap(); } for (const directive of typeReferenceDirectives) { - if (!hasProperty(usedTypeDirectiveReferences, directive)) { + if (!(directive in usedTypeDirectiveReferences)) { usedTypeDirectiveReferences[directive] = directive; } } @@ -376,7 +374,7 @@ namespace ts { const jsDocComments = getJsDocCommentsFromText(declaration, currentText); emitNewLineBeforeLeadingComments(currentLineMap, writer, declaration, jsDocComments); // jsDoc comments are emitted at /*leading comment1 */space/*leading comment*/space - emitComments(currentText, currentLineMap, writer, jsDocComments, /*trailingSeparator*/ true, newLine, writeCommentRange); + emitComments(currentText, currentLineMap, writer, jsDocComments, /*leadingSeparator*/ false, /*trailingSeparator*/ true, newLine, writeCommentRange); } } @@ -397,7 +395,7 @@ namespace ts { case SyntaxKind.NullKeyword: case SyntaxKind.NeverKeyword: case SyntaxKind.ThisType: - case SyntaxKind.StringLiteralType: + case SyntaxKind.LiteralType: return writeTextOfNode(currentText, type); case SyntaxKind.ExpressionWithTypeArguments: return emitExpressionWithTypeArguments(type); @@ -441,7 +439,7 @@ namespace ts { } } - function emitEntityName(entityName: EntityName | PropertyAccessExpression) { + function emitEntityName(entityName: EntityNameOrEntityNameExpression) { const visibilityResult = resolver.isEntityNameVisible(entityName, // Aliases can be written asynchronously so use correct enclosing declaration entityName.parent.kind === SyntaxKind.ImportEqualsDeclaration ? entityName.parent : enclosingDeclaration); @@ -452,9 +450,9 @@ namespace ts { } function emitExpressionWithTypeArguments(node: ExpressionWithTypeArguments) { - if (isSupportedExpressionWithTypeArguments(node)) { + if (isEntityNameExpression(node.expression)) { Debug.assert(node.expression.kind === SyntaxKind.Identifier || node.expression.kind === SyntaxKind.PropertyAccessExpression); - emitEntityName(node.expression); + emitEntityName(node.expression); if (node.typeArguments) { write("<"); emitCommaList(node.typeArguments, emitType); @@ -537,14 +535,14 @@ namespace ts { // do not need to keep track of created temp names. function getExportDefaultTempVariableName(): string { const baseName = "_default"; - if (!hasProperty(currentIdentifiers, baseName)) { + if (!(baseName in currentIdentifiers)) { return baseName; } let count = 0; while (true) { count++; const name = baseName + "_" + count; - if (!hasProperty(currentIdentifiers, name)) { + if (!(name in currentIdentifiers)) { return name; } } @@ -657,12 +655,13 @@ namespace ts { function emitModuleElementDeclarationFlags(node: Node) { // If the node is parented in the current source file we need to emit export declare or just export if (node.parent.kind === SyntaxKind.SourceFile) { + const modifiers = getModifierFlags(node); // If the node is exported - if (node.flags & NodeFlags.Export) { + if (modifiers & ModifierFlags.Export) { write("export "); } - if (node.flags & NodeFlags.Default) { + if (modifiers & ModifierFlags.Default) { write("default "); } else if (node.kind !== SyntaxKind.InterfaceDeclaration && !noDeclare) { @@ -671,21 +670,21 @@ namespace ts { } } - function emitClassMemberDeclarationFlags(flags: NodeFlags) { - if (flags & NodeFlags.Private) { + function emitClassMemberDeclarationFlags(flags: ModifierFlags) { + if (flags & ModifierFlags.Private) { write("private "); } - else if (flags & NodeFlags.Protected) { + else if (flags & ModifierFlags.Protected) { write("protected "); } - if (flags & NodeFlags.Static) { + if (flags & ModifierFlags.Static) { write("static "); } - if (flags & NodeFlags.Readonly) { + if (flags & ModifierFlags.Readonly) { write("readonly "); } - if (flags & NodeFlags.Abstract) { + if (flags & ModifierFlags.Abstract) { write("abstract "); } } @@ -694,7 +693,7 @@ namespace ts { // note usage of writer. methods instead of aliases created, just to make sure we are using // correct writer especially to handle asynchronous alias writing emitJsDocComments(node); - if (node.flags & NodeFlags.Export) { + if (hasModifier(node, ModifierFlags.Export)) { write("export "); } write("import "); @@ -733,7 +732,7 @@ namespace ts { function writeImportDeclaration(node: ImportDeclaration) { emitJsDocComments(node); - if (node.flags & NodeFlags.Export) { + if (hasModifier(node, ModifierFlags.Export)) { write("export "); } write("import "); @@ -928,7 +927,7 @@ namespace ts { } function isPrivateMethodTypeParameter(node: TypeParameterDeclaration) { - return node.parent.kind === SyntaxKind.MethodDeclaration && (node.parent.flags & NodeFlags.Private); + return node.parent.kind === SyntaxKind.MethodDeclaration && hasModifier(node.parent, ModifierFlags.Private); } function emitTypeParameters(typeParameters: TypeParameterDeclaration[]) { @@ -978,7 +977,7 @@ namespace ts { case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: - if (node.parent.flags & NodeFlags.Static) { + if (hasModifier(node.parent, ModifierFlags.Static)) { diagnosticMessage = Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } else if (node.parent.parent.kind === SyntaxKind.ClassDeclaration) { @@ -1019,7 +1018,7 @@ namespace ts { } function emitTypeOfTypeReference(node: ExpressionWithTypeArguments) { - if (isSupportedExpressionWithTypeArguments(node)) { + if (isEntityNameExpression(node.expression)) { emitTypeWithNewGetSymbolAccessibilityDiagnostic(node, getHeritageClauseVisibilityError); } else if (!isImplementsList && node.expression.kind === SyntaxKind.NullKeyword) { @@ -1057,7 +1056,7 @@ namespace ts { function emitParameterProperties(constructorDeclaration: ConstructorDeclaration) { if (constructorDeclaration) { forEach(constructorDeclaration.parameters, param => { - if (param.flags & NodeFlags.ParameterPropertyModifier) { + if (hasModifier(param, ModifierFlags.ParameterPropertyModifier)) { emitPropertyDeclaration(param); } }); @@ -1066,7 +1065,7 @@ namespace ts { emitJsDocComments(node); emitModuleElementDeclarationFlags(node); - if (node.flags & NodeFlags.Abstract) { + if (hasModifier(node, ModifierFlags.Abstract)) { write("abstract "); } @@ -1116,7 +1115,7 @@ namespace ts { } emitJsDocComments(node); - emitClassMemberDeclarationFlags(node.flags); + emitClassMemberDeclarationFlags(getModifierFlags(node)); emitVariableDeclaration(node); write(";"); writeLine(); @@ -1134,14 +1133,16 @@ namespace ts { // it if it's not a well known symbol. In that case, the text of the name will be exactly // what we want, namely the name expression enclosed in brackets. writeTextOfNode(currentText, node.name); - // If optional property emit ? - if ((node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature || node.kind === SyntaxKind.Parameter) && hasQuestionToken(node)) { + // If optional property emit ? but in the case of parameterProperty declaration with "?" indicating optional parameter for the constructor + // we don't want to emit property declaration with "?" + if ((node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature || + (node.kind === SyntaxKind.Parameter && !isParameterPropertyDeclaration(node))) && hasQuestionToken(node)) { write("?"); } if ((node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature) && node.parent.kind === SyntaxKind.TypeLiteral) { emitTypeOfVariableDeclarationFromTypeLiteral(node); } - else if (!(node.flags & NodeFlags.Private)) { + else if (!hasModifier(node, ModifierFlags.Private)) { writeTypeOfDeclaration(node, node.type, getVariableDeclarationTypeVisibilityError); } } @@ -1158,7 +1159,7 @@ namespace ts { // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit else if (node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature) { // TODO(jfreeman): Deal with computed properties in error reporting. - if (node.flags & NodeFlags.Static) { + if (hasModifier(node, ModifierFlags.Static)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -1269,9 +1270,9 @@ namespace ts { if (node === accessors.firstAccessor) { emitJsDocComments(accessors.getAccessor); emitJsDocComments(accessors.setAccessor); - emitClassMemberDeclarationFlags(node.flags | (accessors.setAccessor ? 0 : NodeFlags.Readonly)); + emitClassMemberDeclarationFlags(getModifierFlags(node) | (accessors.setAccessor ? 0 : ModifierFlags.Readonly)); writeTextOfNode(currentText, node.name); - if (!(node.flags & NodeFlags.Private)) { + if (!hasModifier(node, ModifierFlags.Private)) { accessorWithTypeAnnotation = node; let type = getTypeAnnotationFromAccessor(node); if (!type) { @@ -1302,7 +1303,7 @@ namespace ts { let diagnosticMessage: DiagnosticMessage; if (accessorWithTypeAnnotation.kind === SyntaxKind.SetAccessor) { // Setters have to have type named and cannot infer it so, the type should always be named - if (accessorWithTypeAnnotation.parent.flags & NodeFlags.Static) { + if (hasModifier(accessorWithTypeAnnotation.parent, ModifierFlags.Static)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1; @@ -1320,7 +1321,7 @@ namespace ts { }; } else { - if (accessorWithTypeAnnotation.flags & NodeFlags.Static) { + if (hasModifier(accessorWithTypeAnnotation, ModifierFlags.Static)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -1356,7 +1357,7 @@ namespace ts { emitModuleElementDeclarationFlags(node); } else if (node.kind === SyntaxKind.MethodDeclaration || node.kind === SyntaxKind.Constructor) { - emitClassMemberDeclarationFlags(node.flags); + emitClassMemberDeclarationFlags(getModifierFlags(node)); } if (node.kind === SyntaxKind.FunctionDeclaration) { write("function "); @@ -1387,7 +1388,7 @@ namespace ts { if (node.kind === SyntaxKind.IndexSignature) { // Index signature can have readonly modifier - emitClassMemberDeclarationFlags(node.flags); + emitClassMemberDeclarationFlags(getModifierFlags(node)); write("["); } else { @@ -1428,7 +1429,7 @@ namespace ts { emitType(node.type); } } - else if (node.kind !== SyntaxKind.Constructor && !(node.flags & NodeFlags.Private)) { + else if (node.kind !== SyntaxKind.Constructor && !hasModifier(node, ModifierFlags.Private)) { writeReturnTypeAtSignature(node, getReturnTypeVisibilityError); } @@ -1468,7 +1469,7 @@ namespace ts { case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: - if (node.flags & NodeFlags.Static) { + if (hasModifier(node, ModifierFlags.Static)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -1534,7 +1535,7 @@ namespace ts { node.parent.parent.kind === SyntaxKind.TypeLiteral) { emitTypeOfVariableDeclarationFromTypeLiteral(node); } - else if (!(node.parent.flags & NodeFlags.Private)) { + else if (!hasModifier(node.parent, ModifierFlags.Private)) { writeTypeOfDeclaration(node, node.type, getParameterDeclarationTypeVisibilityError); } @@ -1570,7 +1571,7 @@ namespace ts { case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: - if (node.parent.flags & NodeFlags.Static) { + if (hasModifier(node.parent, ModifierFlags.Static)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 8ffb02a8974..559206ab098 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -827,10 +827,6 @@ "category": "Error", "code": 1308 }, - "Async functions are only available when targeting ECMAScript 2015 or higher.": { - "category": "Error", - "code": 1311 - }, "'=' can only be used in an object literal property inside a destructuring assignment.": { "category": "Error", "code": 1312 @@ -1067,10 +1063,6 @@ "category": "Error", "code": 2353 }, - "No best common type exists among return expressions.": { - "category": "Error", - "code": 2354 - }, "A function whose declared type is neither 'void' nor 'any' must return a value.": { "category": "Error", "code": 2355 @@ -1635,10 +1627,6 @@ "category": "Error", "code": 2503 }, - "No best common type exists among yield expressions.": { - "category": "Error", - "code": 2504 - }, "A generator cannot have a 'void' type annotation.": { "category": "Error", "code": 2505 @@ -1703,7 +1691,7 @@ "category": "Error", "code": 2521 }, - "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression.": { + "The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method.": { "category": "Error", "code": 2522 }, @@ -1755,6 +1743,10 @@ "category": "Error", "code": 2534 }, + "Enum type '{0}' has members with initializers that are not literals.": { + "category": "Error", + "code": 2535 + }, "JSX element attributes type '{0}' may not be a union type.": { "category": "Error", "code": 2600 @@ -1943,6 +1935,18 @@ "category": "Error", "code": 2689 }, + "A class must be declared after its base class.": { + "category": "Error", + "code": 2690 + }, + "An import path cannot end with a '{0}' extension. Consider importing '{1}' instead.": { + "category": "Error", + "code": 2691 + }, + "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible.": { + "category": "Error", + "code": 2692 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 @@ -2223,7 +2227,7 @@ "category": "Error", "code": 4082 }, - "Conflicting library definitions for '{0}' found at '{1}' and '{2}'. Copy the correct file to the 'typings' folder to resolve this conflict.": { + "Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.": { "category": "Message", "code": 4090 }, @@ -2336,6 +2340,10 @@ "category": "Error", "code": 5065 }, + "Substitutions for pattern '{0}' shouldn't be an empty array.": { + "category": "Error", + "code": 5066 + }, "Concatenate and emit output to single file.": { "category": "Message", "code": 6001 @@ -2456,6 +2464,10 @@ "category": "Message", "code": 6038 }, + "STRATEGY": { + "category": "Message", + "code": 6039 + }, "Compilation complete. Watching for file changes.": { "category": "Message", "code": 6042 @@ -2800,11 +2812,11 @@ "category": "Error", "code": 6133 }, - "Report errors on unused locals.": { + "Report errors on unused locals.": { "category": "Message", "code": 6134 }, - "Report errors on unused parameters.": { + "Report errors on unused parameters.": { "category": "Message", "code": 6135 }, @@ -2816,6 +2828,14 @@ "category": "Message", "code": 6137 }, + "Property '{0}' is declared but never used.": { + "category": "Error", + "code": 6138 + }, + "Import emit helpers from 'tslib'.": { + "category": "Message", + "code": 6139 + }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", "code": 7005 @@ -2848,10 +2868,6 @@ "category": "Error", "code": 7015 }, - "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation.": { - "category": "Error", - "code": 7016 - }, "Index signature of object type implicitly has an 'any' type.": { "category": "Error", "code": 7017 @@ -2908,6 +2924,14 @@ "category": "Error", "code": 7031 }, + "Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation.": { + "category": "Error", + "code": 7032 + }, + "Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation.": { + "category": "Error", + "code": 7033 + }, "You cannot rename this element.": { "category": "Error", "code": 8000 diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 9c36dff481f..6ef6912d650 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1,285 +1,11 @@ /// -/// +/// /// +/// +/// /* @internal */ namespace ts { - export function getResolvedExternalModuleName(host: EmitHost, file: SourceFile): string { - return file.moduleName || getExternalModuleNameFromPath(host, file.fileName); - } - - export function getExternalModuleNameFromDeclaration(host: EmitHost, resolver: EmitResolver, declaration: ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration): string { - const file = resolver.getExternalModuleFileFromDeclaration(declaration); - if (!file || isDeclarationFile(file)) { - return undefined; - } - return getResolvedExternalModuleName(host, file); - } - - type DependencyGroup = Array; - - const enum Jump { - Break = 1 << 1, - Continue = 1 << 2, - Return = 1 << 3 - } - - const entities: Map = { - "quot": 0x0022, - "amp": 0x0026, - "apos": 0x0027, - "lt": 0x003C, - "gt": 0x003E, - "nbsp": 0x00A0, - "iexcl": 0x00A1, - "cent": 0x00A2, - "pound": 0x00A3, - "curren": 0x00A4, - "yen": 0x00A5, - "brvbar": 0x00A6, - "sect": 0x00A7, - "uml": 0x00A8, - "copy": 0x00A9, - "ordf": 0x00AA, - "laquo": 0x00AB, - "not": 0x00AC, - "shy": 0x00AD, - "reg": 0x00AE, - "macr": 0x00AF, - "deg": 0x00B0, - "plusmn": 0x00B1, - "sup2": 0x00B2, - "sup3": 0x00B3, - "acute": 0x00B4, - "micro": 0x00B5, - "para": 0x00B6, - "middot": 0x00B7, - "cedil": 0x00B8, - "sup1": 0x00B9, - "ordm": 0x00BA, - "raquo": 0x00BB, - "frac14": 0x00BC, - "frac12": 0x00BD, - "frac34": 0x00BE, - "iquest": 0x00BF, - "Agrave": 0x00C0, - "Aacute": 0x00C1, - "Acirc": 0x00C2, - "Atilde": 0x00C3, - "Auml": 0x00C4, - "Aring": 0x00C5, - "AElig": 0x00C6, - "Ccedil": 0x00C7, - "Egrave": 0x00C8, - "Eacute": 0x00C9, - "Ecirc": 0x00CA, - "Euml": 0x00CB, - "Igrave": 0x00CC, - "Iacute": 0x00CD, - "Icirc": 0x00CE, - "Iuml": 0x00CF, - "ETH": 0x00D0, - "Ntilde": 0x00D1, - "Ograve": 0x00D2, - "Oacute": 0x00D3, - "Ocirc": 0x00D4, - "Otilde": 0x00D5, - "Ouml": 0x00D6, - "times": 0x00D7, - "Oslash": 0x00D8, - "Ugrave": 0x00D9, - "Uacute": 0x00DA, - "Ucirc": 0x00DB, - "Uuml": 0x00DC, - "Yacute": 0x00DD, - "THORN": 0x00DE, - "szlig": 0x00DF, - "agrave": 0x00E0, - "aacute": 0x00E1, - "acirc": 0x00E2, - "atilde": 0x00E3, - "auml": 0x00E4, - "aring": 0x00E5, - "aelig": 0x00E6, - "ccedil": 0x00E7, - "egrave": 0x00E8, - "eacute": 0x00E9, - "ecirc": 0x00EA, - "euml": 0x00EB, - "igrave": 0x00EC, - "iacute": 0x00ED, - "icirc": 0x00EE, - "iuml": 0x00EF, - "eth": 0x00F0, - "ntilde": 0x00F1, - "ograve": 0x00F2, - "oacute": 0x00F3, - "ocirc": 0x00F4, - "otilde": 0x00F5, - "ouml": 0x00F6, - "divide": 0x00F7, - "oslash": 0x00F8, - "ugrave": 0x00F9, - "uacute": 0x00FA, - "ucirc": 0x00FB, - "uuml": 0x00FC, - "yacute": 0x00FD, - "thorn": 0x00FE, - "yuml": 0x00FF, - "OElig": 0x0152, - "oelig": 0x0153, - "Scaron": 0x0160, - "scaron": 0x0161, - "Yuml": 0x0178, - "fnof": 0x0192, - "circ": 0x02C6, - "tilde": 0x02DC, - "Alpha": 0x0391, - "Beta": 0x0392, - "Gamma": 0x0393, - "Delta": 0x0394, - "Epsilon": 0x0395, - "Zeta": 0x0396, - "Eta": 0x0397, - "Theta": 0x0398, - "Iota": 0x0399, - "Kappa": 0x039A, - "Lambda": 0x039B, - "Mu": 0x039C, - "Nu": 0x039D, - "Xi": 0x039E, - "Omicron": 0x039F, - "Pi": 0x03A0, - "Rho": 0x03A1, - "Sigma": 0x03A3, - "Tau": 0x03A4, - "Upsilon": 0x03A5, - "Phi": 0x03A6, - "Chi": 0x03A7, - "Psi": 0x03A8, - "Omega": 0x03A9, - "alpha": 0x03B1, - "beta": 0x03B2, - "gamma": 0x03B3, - "delta": 0x03B4, - "epsilon": 0x03B5, - "zeta": 0x03B6, - "eta": 0x03B7, - "theta": 0x03B8, - "iota": 0x03B9, - "kappa": 0x03BA, - "lambda": 0x03BB, - "mu": 0x03BC, - "nu": 0x03BD, - "xi": 0x03BE, - "omicron": 0x03BF, - "pi": 0x03C0, - "rho": 0x03C1, - "sigmaf": 0x03C2, - "sigma": 0x03C3, - "tau": 0x03C4, - "upsilon": 0x03C5, - "phi": 0x03C6, - "chi": 0x03C7, - "psi": 0x03C8, - "omega": 0x03C9, - "thetasym": 0x03D1, - "upsih": 0x03D2, - "piv": 0x03D6, - "ensp": 0x2002, - "emsp": 0x2003, - "thinsp": 0x2009, - "zwnj": 0x200C, - "zwj": 0x200D, - "lrm": 0x200E, - "rlm": 0x200F, - "ndash": 0x2013, - "mdash": 0x2014, - "lsquo": 0x2018, - "rsquo": 0x2019, - "sbquo": 0x201A, - "ldquo": 0x201C, - "rdquo": 0x201D, - "bdquo": 0x201E, - "dagger": 0x2020, - "Dagger": 0x2021, - "bull": 0x2022, - "hellip": 0x2026, - "permil": 0x2030, - "prime": 0x2032, - "Prime": 0x2033, - "lsaquo": 0x2039, - "rsaquo": 0x203A, - "oline": 0x203E, - "frasl": 0x2044, - "euro": 0x20AC, - "image": 0x2111, - "weierp": 0x2118, - "real": 0x211C, - "trade": 0x2122, - "alefsym": 0x2135, - "larr": 0x2190, - "uarr": 0x2191, - "rarr": 0x2192, - "darr": 0x2193, - "harr": 0x2194, - "crarr": 0x21B5, - "lArr": 0x21D0, - "uArr": 0x21D1, - "rArr": 0x21D2, - "dArr": 0x21D3, - "hArr": 0x21D4, - "forall": 0x2200, - "part": 0x2202, - "exist": 0x2203, - "empty": 0x2205, - "nabla": 0x2207, - "isin": 0x2208, - "notin": 0x2209, - "ni": 0x220B, - "prod": 0x220F, - "sum": 0x2211, - "minus": 0x2212, - "lowast": 0x2217, - "radic": 0x221A, - "prop": 0x221D, - "infin": 0x221E, - "ang": 0x2220, - "and": 0x2227, - "or": 0x2228, - "cap": 0x2229, - "cup": 0x222A, - "int": 0x222B, - "there4": 0x2234, - "sim": 0x223C, - "cong": 0x2245, - "asymp": 0x2248, - "ne": 0x2260, - "equiv": 0x2261, - "le": 0x2264, - "ge": 0x2265, - "sub": 0x2282, - "sup": 0x2283, - "nsub": 0x2284, - "sube": 0x2286, - "supe": 0x2287, - "oplus": 0x2295, - "otimes": 0x2297, - "perp": 0x22A5, - "sdot": 0x22C5, - "lceil": 0x2308, - "rceil": 0x2309, - "lfloor": 0x230A, - "rfloor": 0x230B, - "lang": 0x2329, - "rang": 0x232A, - "loz": 0x25CA, - "spades": 0x2660, - "clubs": 0x2663, - "hearts": 0x2665, - "diams": 0x2666 - }; - // Flags enum to track count of temp variables and a few dedicated names const enum TempFlags { Auto = 0x00000000, // No preferred name @@ -287,56 +13,11 @@ namespace ts { _i = 0x10000000, // Use/preference flag for '_i' } - const enum CopyDirection { - ToOriginal, - ToOutParameter - } - - /** - * If loop contains block scoped binding captured in some function then loop body is converted to a function. - * Lexical bindings declared in loop initializer will be passed into the loop body function as parameters, - * however if this binding is modified inside the body - this new value should be propagated back to the original binding. - * This is done by declaring new variable (out parameter holder) outside of the loop for every binding that is reassigned inside the body. - * On every iteration this variable is initialized with value of corresponding binding. - * At every point where control flow leaves the loop either explicitly (break/continue) or implicitly (at the end of loop body) - * we copy the value inside the loop to the out parameter holder. - * - * for (let x;;) { - * let a = 1; - * let b = () => a; - * x++ - * if (...) break; - * ... - * } - * - * will be converted to - * - * var out_x; - * var loop = function(x) { - * var a = 1; - * var b = function() { return a; } - * x++; - * if (...) return out_x = x, "break"; - * ... - * out_x = x; - * } - * for (var x;;) { - * out_x = x; - * var state = loop(x); - * x = out_x; - * if (state === "break") break; - * } - * - * NOTE: values to out parameters are not copies if loop is abrupted with 'return' - in this case this will end the entire enclosing function - * so nobody can observe this new value. - */ - interface LoopOutParameter { - originalName: Identifier; - outParamName: string; - } - // targetSourceFile is when users only want one file in entire project to be emitted. This is used in compileOnSave feature export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFile: SourceFile): EmitResult { + const delimiters = createDelimiterMap(); + const brackets = createBracketsMap(); + // emit output for the __extends helper function const extendsHelper = ` var __extends = (this && this.__extends) || function (d, b) { @@ -345,6 +26,9 @@ var __extends = (this && this.__extends) || function (d, b) { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); };`; + // Emit output for the __assign helper function. + // This is typically used for JSX spread attributes, + // and can be used for object literal spread properties. const assignHelper = ` var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -376,6 +60,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } };`; + // emit output for the __awaiter helper function const awaiterHelper = ` var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { @@ -386,17 +71,146 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); };`; + const generatorHelper = ` +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +};`; + + // emit output for the __export helper function + const exportStarHelper = ` +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +}`; + + // emit output for the UMD helper function. + const umdHelper = ` +(function (dependencies, factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + var v = factory(require, exports); if (v !== undefined) module.exports = v; + } + else if (typeof define === 'function' && define.amd) { + define(dependencies, factory); + } +})`; + + const superHelper = ` +const _super = name => super[name];`; + + const advancedSuperHelper = ` +const _super = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); +})(name => super[name], (name, value) => super[name] = value);`; + const compilerOptions = host.getCompilerOptions(); const languageVersion = getEmitScriptTarget(compilerOptions); - const modulekind = getEmitModuleKind(compilerOptions); + const moduleKind = getEmitModuleKind(compilerOptions); const sourceMapDataList: SourceMapData[] = compilerOptions.sourceMap || compilerOptions.inlineSourceMap ? [] : undefined; const emittedFilesList: string[] = compilerOptions.listEmittedFiles ? [] : undefined; const emitterDiagnostics = createDiagnosticCollection(); - let emitSkipped = false; const newLine = host.getNewLine(); + const transformers = getTransformers(compilerOptions); + const writer = createTextWriter(newLine); + const { + write, + writeLine, + increaseIndent, + decreaseIndent + } = writer; - const emitJavaScript = createFileEmitter(); - forEachExpectedEmitFile(host, emitFile, targetSourceFile); + const sourceMap = createSourceMapWriter(host, writer); + const { + emitStart, + emitEnd, + emitTokenStart, + emitTokenEnd + } = sourceMap; + + const comments = createCommentWriter(host, writer, sourceMap); + const { + emitNodeWithComments, + emitBodyWithDetachedComments, + emitTrailingCommentsOfPosition + } = comments; + + let nodeIdToGeneratedName: string[]; + let autoGeneratedIdToGeneratedName: string[]; + let generatedNameSet: Map; + let tempFlags: TempFlags; + let currentSourceFile: SourceFile; + let currentText: string; + let currentFileIdentifiers: Map; + let extendsEmitted: boolean; + let assignEmitted: boolean; + let decorateEmitted: boolean; + let paramEmitted: boolean; + let awaiterEmitted: boolean; + let isOwnFileEmit: boolean; + let emitSkipped = false; + + performance.mark("beforeTransform"); + + // Transform the source files + const transformed = transformFiles( + resolver, + host, + getSourceFilesToEmit(host, targetSourceFile), + transformers); + + performance.measure("transformTime", "beforeTransform"); + + // Extract helpers from the result + const { + getTokenSourceMapRange, + isSubstitutionEnabled, + isEmitNotificationEnabled, + onSubstituteNode, + onEmitNode + } = transformed; + + performance.mark("beforePrint"); + + // Emit each output file + forEachTransformedEmitFile(host, transformed.getSourceFiles(), emitFile); + + // Clean up after transformation + transformed.dispose(); + + performance.measure("printTime", "beforePrint"); return { emitSkipped, @@ -405,7967 +219,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge sourceMaps: sourceMapDataList }; - function isUniqueLocalName(name: string, container: Node): boolean { - for (let node = container; isNodeDescendentOf(node, container); node = node.nextContainer) { - if (node.locals && hasProperty(node.locals, name)) { - // We conservatively include alias symbols to cover cases where they're emitted as locals - if (node.locals[name].flags & (SymbolFlags.Value | SymbolFlags.ExportValue | SymbolFlags.Alias)) { - return false; - } - } - } - return true; - } - - interface ConvertedLoopState { - /* - * set of labels that occurred inside the converted loop - * used to determine if labeled jump can be emitted as is or it should be dispatched to calling code - */ - labels?: Map; - /* - * collection of labeled jumps that transfer control outside the converted loop. - * maps store association 'label -> labelMarker' where - * - label - value of label as it appear in code - * - label marker - return value that should be interpreted by calling code as 'jump to
completion list at "1" will contain "div" with type any + const tagName = (location.parent.parent).openingElement.tagName; + entries.push({ + name: (tagName).text, + kind: undefined, + kindModifiers: undefined, + sortText: "0", + }); + } + else { + return undefined; + } + } + + getCompletionEntriesFromSymbols(symbols, entries, location, /*performCharacterChecks*/ true); + } + + // Add keywords if this is not a member completion list + if (!isMemberCompletion && !isJsDocTagName) { + addRange(entries, keywordCompletions); + } + + return { isMemberCompletion, isNewIdentifierLocation: isNewIdentifierLocation || isSourceFileJavaScript(sourceFile), entries }; + + function getJavaScriptCompletionEntries(sourceFile: SourceFile, position: number, uniqueNames: Map): CompletionEntry[] { + const entries: CompletionEntry[] = []; + + const nameTable = getNameTable(sourceFile); + for (const name in nameTable) { + // Skip identifiers produced only from the current location + if (nameTable[name] === position) { + continue; + } + + if (!uniqueNames[name]) { + uniqueNames[name] = name; + const displayName = getCompletionEntryDisplayName(unescapeIdentifier(name), compilerOptions.target, /*performCharacterChecks*/ true); + if (displayName) { + const entry = { + name: displayName, + kind: ScriptElementKind.warning, + kindModifiers: "", + sortText: "1" + }; + entries.push(entry); + } + } + } + + return entries; + } + + function createCompletionEntry(symbol: Symbol, location: Node, performCharacterChecks: boolean): CompletionEntry { + // Try to get a valid display name for this symbol, if we could not find one, then ignore it. + // We would like to only show things that can be added after a dot, so for instance numeric properties can + // not be accessed with a dot (a.1 <- invalid) + const displayName = getCompletionEntryDisplayNameForSymbol(typeChecker, symbol, compilerOptions.target, performCharacterChecks, location); + if (!displayName) { + return undefined; + } + + // TODO(drosen): Right now we just permit *all* semantic meanings when calling + // 'getSymbolKind' which is permissible given that it is backwards compatible; but + // really we should consider passing the meaning for the node so that we don't report + // that a suggestion for a value is an interface. We COULD also just do what + // 'getSymbolModifiers' does, which is to use the first declaration. + + // Use a 'sortText' of 0' so that all symbol completion entries come before any other + // entries (like JavaScript identifier entries). + return { + name: displayName, + kind: SymbolDisplay.getSymbolKind(typeChecker, symbol, location), + kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), + sortText: "0", + }; + + } + + function getCompletionEntriesFromSymbols(symbols: Symbol[], entries: CompletionEntry[], location: Node, performCharacterChecks: boolean): Map { + const start = timestamp(); + const uniqueNames = createMap(); + if (symbols) { + for (const symbol of symbols) { + const entry = createCompletionEntry(symbol, location, performCharacterChecks); + if (entry) { + const id = escapeIdentifier(entry.name); + if (!uniqueNames[id]) { + entries.push(entry); + uniqueNames[id] = id; + } + } + } + } + + log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (timestamp() - start)); + return uniqueNames; + } + + function getStringLiteralCompletionEntries(sourceFile: SourceFile, position: number) { + const node = findPrecedingToken(position, sourceFile); + if (!node || node.kind !== SyntaxKind.StringLiteral) { + return undefined; + } + + if (node.parent.kind === SyntaxKind.PropertyAssignment && node.parent.parent.kind === SyntaxKind.ObjectLiteralExpression) { + // Get quoted name of properties of the object literal expression + // i.e. interface ConfigFiles { + // 'jspm:dev': string + // } + // let files: ConfigFiles = { + // '/*completion position*/' + // } + // + // function foo(c: ConfigFiles) {} + // foo({ + // '/*completion position*/' + // }); + return getStringLiteralCompletionEntriesFromPropertyAssignment(node.parent); + } + else if (isElementAccessExpression(node.parent) && node.parent.argumentExpression === node) { + // Get all names of properties on the expression + // i.e. interface A { + // 'prop1': string + // } + // let a: A; + // a['/*completion position*/'] + return getStringLiteralCompletionEntriesFromElementAccess(node.parent); + } + else if (node.parent.kind === SyntaxKind.ImportDeclaration || isExpressionOfExternalModuleImportEqualsDeclaration(node) || isRequireCall(node.parent, false)) { + // Get all known external module names or complete a path to a module + // i.e. import * as ns from "/*completion position*/"; + // import x = require("/*completion position*/"); + // var y = require("/*completion position*/"); + return getStringLiteralCompletionEntriesFromModuleNames(node); + } + else { + const argumentInfo = SignatureHelp.getContainingArgumentInfo(node, position, sourceFile); + if (argumentInfo) { + // Get string literal completions from specialized signatures of the target + // i.e. declare function f(a: 'A'); + // f("/*completion position*/") + return getStringLiteralCompletionEntriesFromCallExpression(argumentInfo, node); + } + + // Get completion for string literal from string literal type + // i.e. var x: "hi" | "hello" = "/*completion position*/" + return getStringLiteralCompletionEntriesFromContextualType(node); + } + } + + function getStringLiteralCompletionEntriesFromPropertyAssignment(element: ObjectLiteralElement) { + const type = typeChecker.getContextualType((element.parent)); + const entries: CompletionEntry[] = []; + if (type) { + getCompletionEntriesFromSymbols(type.getApparentProperties(), entries, element, /*performCharacterChecks*/false); + if (entries.length) { + return { isMemberCompletion: true, isNewIdentifierLocation: true, entries }; + } + } + } + + function getStringLiteralCompletionEntriesFromCallExpression(argumentInfo: SignatureHelp.ArgumentListInfo, location: Node) { + const candidates: Signature[] = []; + const entries: CompletionEntry[] = []; + + typeChecker.getResolvedSignature(argumentInfo.invocation, candidates); + + for (const candidate of candidates) { + if (candidate.parameters.length > argumentInfo.argumentIndex) { + const parameter = candidate.parameters[argumentInfo.argumentIndex]; + addStringLiteralCompletionsFromType(typeChecker.getTypeAtLocation(parameter.valueDeclaration), entries); + } + } + + if (entries.length) { + return { isMemberCompletion: false, isNewIdentifierLocation: true, entries }; + } + + return undefined; + } + + function getStringLiteralCompletionEntriesFromElementAccess(node: ElementAccessExpression) { + const type = typeChecker.getTypeAtLocation(node.expression); + const entries: CompletionEntry[] = []; + if (type) { + getCompletionEntriesFromSymbols(type.getApparentProperties(), entries, node, /*performCharacterChecks*/false); + if (entries.length) { + return { isMemberCompletion: true, isNewIdentifierLocation: true, entries }; + } + } + return undefined; + } + + function getStringLiteralCompletionEntriesFromContextualType(node: StringLiteral) { + const type = typeChecker.getContextualType(node); + if (type) { + const entries: CompletionEntry[] = []; + addStringLiteralCompletionsFromType(type, entries); + if (entries.length) { + return { isMemberCompletion: false, isNewIdentifierLocation: false, entries }; + } + } + return undefined; + } + + function addStringLiteralCompletionsFromType(type: Type, result: CompletionEntry[]): void { + if (!type) { + return; + } + if (type.flags & TypeFlags.Union) { + forEach((type).types, t => addStringLiteralCompletionsFromType(t, result)); + } + else { + if (type.flags & TypeFlags.StringLiteral) { + result.push({ + name: (type).text, + kindModifiers: ScriptElementKindModifier.none, + kind: ScriptElementKind.variableElement, + sortText: "0" + }); + } + } + } + + function getStringLiteralCompletionEntriesFromModuleNames(node: StringLiteral): CompletionInfo { + const literalValue = normalizeSlashes(node.text); + + const scriptPath = node.getSourceFile().path; + const scriptDirectory = getDirectoryPath(scriptPath); + + const span = getDirectoryFragmentTextSpan((node).text, node.getStart() + 1); + let entries: CompletionEntry[]; + if (isPathRelativeToScript(literalValue) || isRootedDiskPath(literalValue)) { + if (compilerOptions.rootDirs) { + entries = getCompletionEntriesForDirectoryFragmentWithRootDirs( + compilerOptions.rootDirs, literalValue, scriptDirectory, getSupportedExtensions(compilerOptions), /*includeExtensions*/false, span, scriptPath); + } + else { + entries = getCompletionEntriesForDirectoryFragment( + literalValue, scriptDirectory, getSupportedExtensions(compilerOptions), /*includeExtensions*/false, span, scriptPath); + } + } + else { + // Check for node modules + entries = getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, span); + } + return { + isMemberCompletion: false, + isNewIdentifierLocation: true, + entries + }; + } + + /** + * Takes a script path and returns paths for all potential folders that could be merged with its + * containing folder via the "rootDirs" compiler option + */ + function getBaseDirectoriesFromRootDirs(rootDirs: string[], basePath: string, scriptPath: string, ignoreCase: boolean): string[] { + // Make all paths absolute/normalized if they are not already + rootDirs = map(rootDirs, rootDirectory => normalizePath(isRootedDiskPath(rootDirectory) ? rootDirectory : combinePaths(basePath, rootDirectory))); + + // Determine the path to the directory containing the script relative to the root directory it is contained within + let relativeDirectory: string; + for (const rootDirectory of rootDirs) { + if (containsPath(rootDirectory, scriptPath, basePath, ignoreCase)) { + relativeDirectory = scriptPath.substr(rootDirectory.length); + break; + } + } + + // Now find a path for each potential directory that is to be merged with the one containing the script + return deduplicate(map(rootDirs, rootDirectory => combinePaths(rootDirectory, relativeDirectory))); + } + + function getCompletionEntriesForDirectoryFragmentWithRootDirs(rootDirs: string[], fragment: string, scriptPath: string, extensions: string[], includeExtensions: boolean, span: TextSpan, exclude?: string): CompletionEntry[] { + const basePath = compilerOptions.project || host.getCurrentDirectory(); + const ignoreCase = !(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames()); + const baseDirectories = getBaseDirectoriesFromRootDirs(rootDirs, basePath, scriptPath, ignoreCase); + + const result: CompletionEntry[] = []; + + for (const baseDirectory of baseDirectories) { + getCompletionEntriesForDirectoryFragment(fragment, baseDirectory, extensions, includeExtensions, span, exclude, result); + } + + return result; + } + + function getCompletionEntriesForDirectoryFragment(fragment: string, scriptPath: string, extensions: string[], includeExtensions: boolean, span: TextSpan, exclude?: string, result: CompletionEntry[] = []): CompletionEntry[] { + fragment = getDirectoryPath(fragment); + if (!fragment) { + fragment = "./"; + } + else { + fragment = ensureTrailingDirectorySeparator(fragment); + } + + const absolutePath = normalizeAndPreserveTrailingSlash(isRootedDiskPath(fragment) ? fragment : combinePaths(scriptPath, fragment)); + const baseDirectory = getDirectoryPath(absolutePath); + const ignoreCase = !(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames()); + + if (directoryProbablyExists(baseDirectory, host)) { + if (host.readDirectory) { + // Enumerate the available files if possible + const files = host.readDirectory(baseDirectory, extensions, /*exclude*/undefined, /*include*/["./*"]); + const foundFiles = createMap(); + for (let filePath of files) { + filePath = normalizePath(filePath); + if (exclude && comparePaths(filePath, exclude, scriptPath, ignoreCase) === Comparison.EqualTo) { + continue; + } + + const foundFileName = includeExtensions ? getBaseFileName(filePath) : removeFileExtension(getBaseFileName(filePath)); + + if (!foundFiles[foundFileName]) { + foundFiles[foundFileName] = true; + } + } + + for (const foundFile in foundFiles) { + result.push(createCompletionEntryForModule(foundFile, ScriptElementKind.scriptElement, span)); + } + } + + // If possible, get folder completion as well + if (host.getDirectories) { + const directories = host.getDirectories(baseDirectory); + for (const directory of directories) { + const directoryName = getBaseFileName(normalizePath(directory)); + + result.push(createCompletionEntryForModule(directoryName, ScriptElementKind.directory, span)); + } + } + } + + return result; + } + + /** + * Check all of the declared modules and those in node modules. Possible sources of modules: + * Modules that are found by the type checker + * Modules found relative to "baseUrl" compliler options (including patterns from "paths" compiler option) + * Modules from node_modules (i.e. those listed in package.json) + * This includes all files that are found in node_modules/moduleName/ with acceptable file extensions + */ + function getCompletionEntriesForNonRelativeModules(fragment: string, scriptPath: string, span: TextSpan): CompletionEntry[] { + const { baseUrl, paths } = compilerOptions; + + let result: CompletionEntry[]; + + if (baseUrl) { + const fileExtensions = getSupportedExtensions(compilerOptions); + const projectDir = compilerOptions.project || host.getCurrentDirectory(); + const absolute = isRootedDiskPath(baseUrl) ? baseUrl : combinePaths(projectDir, baseUrl); + result = getCompletionEntriesForDirectoryFragment(fragment, normalizePath(absolute), fileExtensions, /*includeExtensions*/false, span); + + if (paths) { + for (const path in paths) { + if (paths.hasOwnProperty(path)) { + if (path === "*") { + if (paths[path]) { + for (const pattern of paths[path]) { + for (const match of getModulesForPathsPattern(fragment, baseUrl, pattern, fileExtensions)) { + result.push(createCompletionEntryForModule(match, ScriptElementKind.externalModuleName, span)); + } + } + } + } + else if (startsWith(path, fragment)) { + const entry = paths[path] && paths[path].length === 1 && paths[path][0]; + if (entry) { + result.push(createCompletionEntryForModule(path, ScriptElementKind.externalModuleName, span)); + } + } + } + } + } + } + else { + result = []; + } + + getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, span, result); + + for (const moduleName of enumeratePotentialNonRelativeModules(fragment, scriptPath, compilerOptions)) { + result.push(createCompletionEntryForModule(moduleName, ScriptElementKind.externalModuleName, span)); + } + + return result; + } + + function getModulesForPathsPattern(fragment: string, baseUrl: string, pattern: string, fileExtensions: string[]): string[] { + if (host.readDirectory) { + const parsed = hasZeroOrOneAsteriskCharacter(pattern) ? tryParsePattern(pattern) : undefined; + if (parsed) { + // The prefix has two effective parts: the directory path and the base component after the filepath that is not a + // full directory component. For example: directory/path/of/prefix/base* + const normalizedPrefix = normalizeAndPreserveTrailingSlash(parsed.prefix); + const normalizedPrefixDirectory = getDirectoryPath(normalizedPrefix); + const normalizedPrefixBase = getBaseFileName(normalizedPrefix); + + const fragmentHasPath = fragment.indexOf(directorySeparator) !== -1; + + // Try and expand the prefix to include any path from the fragment so that we can limit the readDirectory call + const expandedPrefixDirectory = fragmentHasPath ? combinePaths(normalizedPrefixDirectory, normalizedPrefixBase + getDirectoryPath(fragment)) : normalizedPrefixDirectory; + + const normalizedSuffix = normalizePath(parsed.suffix); + const baseDirectory = combinePaths(baseUrl, expandedPrefixDirectory); + const completePrefix = fragmentHasPath ? baseDirectory : ensureTrailingDirectorySeparator(baseDirectory) + normalizedPrefixBase; + + // If we have a suffix, then we need to read the directory all the way down. We could create a glob + // that encodes the suffix, but we would have to escape the character "?" which readDirectory + // doesn't support. For now, this is safer but slower + const includeGlob = normalizedSuffix ? "**/*" : "./*"; + + const matches = host.readDirectory(baseDirectory, fileExtensions, undefined, [includeGlob]); + const result: string[] = []; + + // Trim away prefix and suffix + for (const match of matches) { + const normalizedMatch = normalizePath(match); + if (!endsWith(normalizedMatch, normalizedSuffix) || !startsWith(normalizedMatch, completePrefix)) { + continue; + } + + const start = completePrefix.length; + const length = normalizedMatch.length - start - normalizedSuffix.length; + + result.push(removeFileExtension(normalizedMatch.substr(start, length))); + } + return result; + } + } + + return undefined; + } + + function enumeratePotentialNonRelativeModules(fragment: string, scriptPath: string, options: CompilerOptions): string[] { + // Check If this is a nested module + const isNestedModule = fragment.indexOf(directorySeparator) !== -1; + const moduleNameFragment = isNestedModule ? fragment.substr(0, fragment.lastIndexOf(directorySeparator)) : undefined; + + // Get modules that the type checker picked up + const ambientModules = map(typeChecker.getAmbientModules(), sym => stripQuotes(sym.name)); + let nonRelativeModules = filter(ambientModules, moduleName => startsWith(moduleName, fragment)); + + // Nested modules of the form "module-name/sub" need to be adjusted to only return the string + // after the last '/' that appears in the fragment because that's where the replacement span + // starts + if (isNestedModule) { + const moduleNameWithSeperator = ensureTrailingDirectorySeparator(moduleNameFragment); + nonRelativeModules = map(nonRelativeModules, moduleName => { + if (startsWith(fragment, moduleNameWithSeperator)) { + return moduleName.substr(moduleNameWithSeperator.length); + } + return moduleName; + }); + } + + + if (!options.moduleResolution || options.moduleResolution === ModuleResolutionKind.NodeJs) { + for (const visibleModule of enumerateNodeModulesVisibleToScript(host, scriptPath)) { + if (!isNestedModule) { + nonRelativeModules.push(visibleModule.moduleName); + } + else if (host.readDirectory && startsWith(visibleModule.moduleName, moduleNameFragment)) { + const nestedFiles = host.readDirectory(visibleModule.moduleDir, supportedTypeScriptExtensions, /*exclude*/undefined, /*include*/["./*"]); + + for (let f of nestedFiles) { + f = normalizePath(f); + const nestedModule = removeFileExtension(getBaseFileName(f)); + nonRelativeModules.push(nestedModule); + } + } + } + } + + return deduplicate(nonRelativeModules); + } + + function getTripleSlashReferenceCompletion(sourceFile: SourceFile, position: number): CompletionInfo { + const token = getTokenAtPosition(sourceFile, position); + if (!token) { + return undefined; + } + const commentRanges: CommentRange[] = getLeadingCommentRanges(sourceFile.text, token.pos); + + if (!commentRanges || !commentRanges.length) { + return undefined; + } + + const range = forEach(commentRanges, commentRange => position >= commentRange.pos && position <= commentRange.end && commentRange); + + if (!range) { + return undefined; + } + + const text = sourceFile.text.substr(range.pos, position - range.pos); + + const match = tripleSlashDirectiveFragmentRegex.exec(text); + if (match) { + const prefix = match[1]; + const kind = match[2]; + const toComplete = match[3]; + + const scriptPath = getDirectoryPath(sourceFile.path); + let entries: CompletionEntry[]; + if (kind === "path") { + // Give completions for a relative path + const span: TextSpan = getDirectoryFragmentTextSpan(toComplete, range.pos + prefix.length); + entries = getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getSupportedExtensions(compilerOptions), /*includeExtensions*/true, span, sourceFile.path); + } + else { + // Give completions based on the typings available + const span: TextSpan = { start: range.pos + prefix.length, length: match[0].length - prefix.length }; + entries = getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, span); + } + + return { + isMemberCompletion: false, + isNewIdentifierLocation: true, + entries + }; + } + + return undefined; + } + + function getCompletionEntriesFromTypings(host: LanguageServiceHost, options: CompilerOptions, scriptPath: string, span: TextSpan, result: CompletionEntry[] = []): CompletionEntry[] { + // Check for typings specified in compiler options + if (options.types) { + for (const moduleName of options.types) { + result.push(createCompletionEntryForModule(moduleName, ScriptElementKind.externalModuleName, span)); + } + } + else if (host.getDirectories) { + const typeRoots = getEffectiveTypeRoots(options, host); + for (const root of typeRoots) { + getCompletionEntriesFromDirectories(host, options, root, span, result); + } + } + + if (host.getDirectories) { + // Also get all @types typings installed in visible node_modules directories + for (const packageJson of findPackageJsons(scriptPath)) { + const typesDir = combinePaths(getDirectoryPath(packageJson), "node_modules/@types"); + getCompletionEntriesFromDirectories(host, options, typesDir, span, result); + } + } + + return result; + } + + function getCompletionEntriesFromDirectories(host: LanguageServiceHost, options: CompilerOptions, directory: string, span: TextSpan, result: CompletionEntry[]) { + if (host.getDirectories && directoryProbablyExists(directory, host)) { + for (let typeDirectory of host.getDirectories(directory)) { + typeDirectory = normalizePath(typeDirectory); + result.push(createCompletionEntryForModule(getBaseFileName(typeDirectory), ScriptElementKind.externalModuleName, span)); + } + } + } + + function findPackageJsons(currentDir: string): string[] { + const paths: string[] = []; + let currentConfigPath: string; + while (true) { + currentConfigPath = findConfigFile(currentDir, (f) => host.fileExists(f), "package.json"); + if (currentConfigPath) { + paths.push(currentConfigPath); + + currentDir = getDirectoryPath(currentConfigPath); + const parent = getDirectoryPath(currentDir); + if (currentDir === parent) { + break; + } + currentDir = parent; + } + else { + break; + } + } + + return paths; + } + + + function enumerateNodeModulesVisibleToScript(host: LanguageServiceHost, scriptPath: string) { + const result: VisibleModuleInfo[] = []; + + if (host.readFile && host.fileExists) { + for (const packageJson of findPackageJsons(scriptPath)) { + const contents = tryReadingPackageJson(packageJson); + if (!contents) { + return; + } + + const nodeModulesDir = combinePaths(getDirectoryPath(packageJson), "node_modules"); + const foundModuleNames: string[] = []; + + // Provide completions for all non @types dependencies + for (const key of nodeModulesDependencyKeys) { + addPotentialPackageNames(contents[key], foundModuleNames); + } + + for (const moduleName of foundModuleNames) { + const moduleDir = combinePaths(nodeModulesDir, moduleName); + result.push({ + moduleName, + moduleDir + }); + } + } + } + + return result; + + function tryReadingPackageJson(filePath: string) { + try { + const fileText = host.readFile(filePath); + return JSON.parse(fileText); + } + catch (e) { + return undefined; + } + } + + function addPotentialPackageNames(dependencies: any, result: string[]) { + if (dependencies) { + for (const dep in dependencies) { + if (dependencies.hasOwnProperty(dep) && !startsWith(dep, "@types/")) { + result.push(dep); + } + } + } + } + } + + function createCompletionEntryForModule(name: string, kind: string, replacementSpan: TextSpan): CompletionEntry { + return { name, kind, kindModifiers: ScriptElementKindModifier.none, sortText: name, replacementSpan }; + } + + // Replace everything after the last directory seperator that appears + function getDirectoryFragmentTextSpan(text: string, textStart: number): TextSpan { + const index = text.lastIndexOf(directorySeparator); + const offset = index !== -1 ? index + 1 : 0; + return { start: textStart + offset, length: text.length - offset }; + } + + // Returns true if the path is explicitly relative to the script (i.e. relative to . or ..) + function isPathRelativeToScript(path: string) { + if (path && path.length >= 2 && path.charCodeAt(0) === CharacterCodes.dot) { + const slashIndex = path.length >= 3 && path.charCodeAt(1) === CharacterCodes.dot ? 2 : 1; + const slashCharCode = path.charCodeAt(slashIndex); + return slashCharCode === CharacterCodes.slash || slashCharCode === CharacterCodes.backslash; + } + return false; + } + + function normalizeAndPreserveTrailingSlash(path: string) { + return hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalizePath(path)) : normalizePath(path); + } + } + + export function getCompletionEntryDetails(typeChecker: TypeChecker, log: (message: string) => void, compilerOptions: CompilerOptions, sourceFile: SourceFile, position: number, entryName: string): CompletionEntryDetails { + // Compute all the completion symbols again. + const completionData = getCompletionData(typeChecker, log, sourceFile, position); + if (completionData) { + const { symbols, location } = completionData; + + // Find the symbol with the matching entry name. + // We don't need to perform character checks here because we're only comparing the + // name against 'entryName' (which is known to be good), not building a new + // completion entry. + const symbol = forEach(symbols, s => getCompletionEntryDisplayNameForSymbol(typeChecker, s, compilerOptions.target, /*performCharacterChecks*/ false, location) === entryName ? s : undefined); + + if (symbol) { + const { displayParts, documentation, symbolKind } = SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, location, location, SemanticMeaning.All); + return { + name: entryName, + kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), + kind: symbolKind, + displayParts, + documentation + }; + } + } + + // Didn't find a symbol with this name. See if we can find a keyword instead. + const keywordCompletion = forEach(keywordCompletions, c => c.name === entryName); + if (keywordCompletion) { + return { + name: entryName, + kind: ScriptElementKind.keyword, + kindModifiers: ScriptElementKindModifier.none, + displayParts: [displayPart(entryName, SymbolDisplayPartKind.keyword)], + documentation: undefined + }; + } + + return undefined; + } + + export function getCompletionEntrySymbol(typeChecker: TypeChecker, log: (message: string) => void, compilerOptions: CompilerOptions, sourceFile: SourceFile, position: number, entryName: string): Symbol { + // Compute all the completion symbols again. + const completionData = getCompletionData(typeChecker, log, sourceFile, position); + if (completionData) { + const { symbols, location } = completionData; + + // Find the symbol with the matching entry name. + // We don't need to perform character checks here because we're only comparing the + // name against 'entryName' (which is known to be good), not building a new + // completion entry. + return forEach(symbols, s => getCompletionEntryDisplayNameForSymbol(typeChecker, s, compilerOptions.target, /*performCharacterChecks*/ false, location) === entryName ? s : undefined); + } + + return undefined; + } + + function getCompletionData(typeChecker: TypeChecker, log: (message: string) => void, sourceFile: SourceFile, position: number) { + const isJavaScriptFile = isSourceFileJavaScript(sourceFile); + + let isJsDocTagName = false; + + let start = timestamp(); + const currentToken = getTokenAtPosition(sourceFile, position); + log("getCompletionData: Get current token: " + (timestamp() - start)); + + start = timestamp(); + // Completion not allowed inside comments, bail out if this is the case + const insideComment = isInsideComment(sourceFile, currentToken, position); + log("getCompletionData: Is inside comment: " + (timestamp() - start)); + + if (insideComment) { + // The current position is next to the '@' sign, when no tag name being provided yet. + // Provide a full list of tag names + if (hasDocComment(sourceFile, position) && sourceFile.text.charCodeAt(position - 1) === CharacterCodes.at) { + isJsDocTagName = true; + } + + // Completion should work inside certain JsDoc tags. For example: + // /** @type {number | string} */ + // Completion should work in the brackets + let insideJsDocTagExpression = false; + const tag = getJsDocTagAtPosition(sourceFile, position); + if (tag) { + if (tag.tagName.pos <= position && position <= tag.tagName.end) { + isJsDocTagName = true; + } + + switch (tag.kind) { + case SyntaxKind.JSDocTypeTag: + case SyntaxKind.JSDocParameterTag: + case SyntaxKind.JSDocReturnTag: + const tagWithExpression = tag; + if (tagWithExpression.typeExpression) { + insideJsDocTagExpression = tagWithExpression.typeExpression.pos < position && position < tagWithExpression.typeExpression.end; + } + break; + } + } + + if (isJsDocTagName) { + return { symbols: undefined, isMemberCompletion: false, isNewIdentifierLocation: false, location: undefined, isRightOfDot: false, isJsDocTagName }; + } + + if (!insideJsDocTagExpression) { + // Proceed if the current position is in jsDoc tag expression; otherwise it is a normal + // comment or the plain text part of a jsDoc comment, so no completion should be available + log("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment."); + return undefined; + } + } + + start = timestamp(); + const previousToken = findPrecedingToken(position, sourceFile); + log("getCompletionData: Get previous token 1: " + (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 + let contextToken = previousToken; + + // Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS| + // Skip this partial identifier and adjust the contextToken to the token that precedes it. + if (contextToken && position <= contextToken.end && isWord(contextToken.kind)) { + const start = timestamp(); + contextToken = findPrecedingToken(contextToken.getFullStart(), sourceFile); + log("getCompletionData: Get previous token 2: " + (timestamp() - start)); + } + + // Find the node where completion is requested on. + // Also determine whether we are trying to complete with members of that node + // or attributes of a JSX tag. + let node = currentToken; + let isRightOfDot = false; + let isRightOfOpenTag = false; + let isStartingCloseTag = false; + + let location = getTouchingPropertyName(sourceFile, position); + if (contextToken) { + // Bail out if this is a known invalid completion location + if (isCompletionListBlocker(contextToken)) { + log("Returning an empty list because completion was requested in an invalid position."); + return undefined; + } + + const { parent, kind } = contextToken; + if (kind === SyntaxKind.DotToken) { + if (parent.kind === SyntaxKind.PropertyAccessExpression) { + node = (contextToken.parent).expression; + isRightOfDot = true; + } + else if (parent.kind === SyntaxKind.QualifiedName) { + node = (contextToken.parent).left; + isRightOfDot = true; + } + else { + // There is nothing that precedes the dot, so this likely just a stray character + // or leading into a '...' token. Just bail out instead. + return undefined; + } + } + else if (sourceFile.languageVariant === LanguageVariant.JSX) { + if (kind === SyntaxKind.LessThanToken) { + isRightOfOpenTag = true; + location = contextToken; + } + else if (kind === SyntaxKind.SlashToken && contextToken.parent.kind === SyntaxKind.JsxClosingElement) { + isStartingCloseTag = true; + location = contextToken; + } + } + } + + const semanticStart = timestamp(); + let isMemberCompletion: boolean; + let isNewIdentifierLocation: boolean; + let symbols: Symbol[] = []; + + if (isRightOfDot) { + getTypeScriptMemberSymbols(); + } + else if (isRightOfOpenTag) { + const tagSymbols = typeChecker.getJsxIntrinsicTagNames(); + if (tryGetGlobalSymbols()) { + symbols = tagSymbols.concat(symbols.filter(s => !!(s.flags & (SymbolFlags.Value | SymbolFlags.Alias)))); + } + else { + symbols = tagSymbols; + } + isMemberCompletion = true; + isNewIdentifierLocation = false; + } + else if (isStartingCloseTag) { + const tagName = (contextToken.parent.parent).openingElement.tagName; + const tagSymbol = typeChecker.getSymbolAtLocation(tagName); + + if (!typeChecker.isUnknownSymbol(tagSymbol)) { + symbols = [tagSymbol]; + } + isMemberCompletion = true; + isNewIdentifierLocation = false; + } + else { + // For JavaScript or TypeScript, if we're not after a dot, then just try to get the + // global symbols in scope. These results should be valid for either language as + // the set of symbols that can be referenced from this location. + if (!tryGetGlobalSymbols()) { + return undefined; + } + } + + log("getCompletionData: Semantic work: " + (timestamp() - semanticStart)); + + return { symbols, isMemberCompletion, isNewIdentifierLocation, location, isRightOfDot: (isRightOfDot || isRightOfOpenTag), isJsDocTagName }; + + function getTypeScriptMemberSymbols(): void { + // Right of dot member completion list + isMemberCompletion = true; + isNewIdentifierLocation = false; + + if (node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName || node.kind === SyntaxKind.PropertyAccessExpression) { + let symbol = typeChecker.getSymbolAtLocation(node); + + // This is an alias, follow what it aliases + if (symbol && symbol.flags & SymbolFlags.Alias) { + symbol = typeChecker.getAliasedSymbol(symbol); + } + + if (symbol && symbol.flags & SymbolFlags.HasExports) { + // Extract module or enum members + const exportedSymbols = typeChecker.getExportsOfModule(symbol); + forEach(exportedSymbols, symbol => { + if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) { + symbols.push(symbol); + } + }); + } + } + + const type = typeChecker.getTypeAtLocation(node); + addTypeProperties(type); + } + + function addTypeProperties(type: Type) { + if (type) { + // Filter private properties + for (const symbol of type.getApparentProperties()) { + if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) { + symbols.push(symbol); + } + } + + if (isJavaScriptFile && type.flags & TypeFlags.Union) { + // 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 + // anyways. So we might as well elevate the members that were at least part + // of the individual types to a higher status since we know what they are. + const unionType = type; + for (const elementType of unionType.types) { + addTypeProperties(elementType); + } + } + } + } + + function tryGetGlobalSymbols(): boolean { + let objectLikeContainer: ObjectLiteralExpression | BindingPattern; + let namedImportsOrExports: NamedImportsOrExports; + let jsxContainer: JsxOpeningLikeElement; + + if (objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken)) { + return tryGetObjectLikeCompletionSymbols(objectLikeContainer); + } + + if (namedImportsOrExports = tryGetNamedImportsOrExportsForCompletion(contextToken)) { + // cursor is in an import clause + // try to show exported member for imported module + return tryGetImportOrExportClauseCompletionSymbols(namedImportsOrExports); + } + + if (jsxContainer = tryGetContainingJsxElement(contextToken)) { + let attrsType: Type; + if ((jsxContainer.kind === SyntaxKind.JsxSelfClosingElement) || (jsxContainer.kind === SyntaxKind.JsxOpeningElement)) { + // Cursor is inside a JSX self-closing element or opening element + attrsType = typeChecker.getJsxElementAttributesType(jsxContainer); + + if (attrsType) { + symbols = filterJsxAttributes(typeChecker.getPropertiesOfType(attrsType), (jsxContainer).attributes); + isMemberCompletion = true; + isNewIdentifierLocation = false; + return true; + } + + } + } + + // Get all entities in the current scope. + isMemberCompletion = false; + isNewIdentifierLocation = isNewIdentifierDefinitionLocation(contextToken); + + if (previousToken !== contextToken) { + Debug.assert(!!previousToken, "Expected 'contextToken' to be defined when different from 'previousToken'."); + } + // We need to find the node that will give us an appropriate scope to begin + // aggregating completion candidates. This is achieved in 'getScopeNode' + // by finding the first node that encompasses a position, accounting for whether a node + // is "complete" to decide whether a position belongs to the node. + // + // However, at the end of an identifier, we are interested in the scope of the identifier + // itself, but fall outside of the identifier. For instance: + // + // xyz => x$ + // + // the cursor is outside of both the 'x' and the arrow function 'xyz => x', + // so 'xyz' is not returned in our results. + // + // We define 'adjustedPosition' so that we may appropriately account for + // being at the end of an identifier. The intention is that if requesting completion + // at the end of an identifier, it should be effectively equivalent to requesting completion + // anywhere inside/at the beginning of the identifier. So in the previous case, the + // 'adjustedPosition' will work as if requesting completion in the following: + // + // xyz => $x + // + // If previousToken !== contextToken, then + // - 'contextToken' was adjusted to the token prior to 'previousToken' + // because we were at the end of an identifier. + // - 'previousToken' is defined. + const adjustedPosition = previousToken !== contextToken ? + previousToken.getStart() : + position; + + const scopeNode = getScopeNode(contextToken, adjustedPosition, sourceFile) || sourceFile; + + /// TODO filter meaning based on the current context + const symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; + symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings); + + return true; + } + + /** + * Finds the first node that "embraces" the position, so that one may + * accurately aggregate locals from the closest containing scope. + */ + function getScopeNode(initialToken: Node, position: number, sourceFile: SourceFile) { + let scope = initialToken; + while (scope && !positionBelongsToNode(scope, position, sourceFile)) { + scope = scope.parent; + } + return scope; + } + + function isCompletionListBlocker(contextToken: Node): boolean { + const start = timestamp(); + const result = isInStringOrRegularExpressionOrTemplateLiteral(contextToken) || + isSolelyIdentifierDefinitionLocation(contextToken) || + isDotOfNumericLiteral(contextToken) || + isInJsxText(contextToken); + log("getCompletionsAtPosition: isCompletionListBlocker: " + (timestamp() - start)); + return result; + } + + function isInJsxText(contextToken: Node): boolean { + if (contextToken.kind === SyntaxKind.JsxText) { + return true; + } + + if (contextToken.kind === SyntaxKind.GreaterThanToken && contextToken.parent) { + if (contextToken.parent.kind === SyntaxKind.JsxOpeningElement) { + return true; + } + + if (contextToken.parent.kind === SyntaxKind.JsxClosingElement || contextToken.parent.kind === SyntaxKind.JsxSelfClosingElement) { + return contextToken.parent.parent && contextToken.parent.parent.kind === SyntaxKind.JsxElement; + } + } + return false; + } + + function isNewIdentifierDefinitionLocation(previousToken: Node): boolean { + if (previousToken) { + const containingNodeKind = previousToken.parent.kind; + switch (previousToken.kind) { + case SyntaxKind.CommaToken: + return containingNodeKind === SyntaxKind.CallExpression // func( a, | + || containingNodeKind === SyntaxKind.Constructor // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === SyntaxKind.NewExpression // new C(a, | + || containingNodeKind === SyntaxKind.ArrayLiteralExpression // [a, | + || containingNodeKind === SyntaxKind.BinaryExpression // const x = (a, | + || containingNodeKind === SyntaxKind.FunctionType; // var x: (s: string, list| + + case SyntaxKind.OpenParenToken: + return containingNodeKind === SyntaxKind.CallExpression // func( | + || containingNodeKind === SyntaxKind.Constructor // constructor( | + || containingNodeKind === SyntaxKind.NewExpression // new C(a| + || containingNodeKind === SyntaxKind.ParenthesizedExpression // const x = (a| + || containingNodeKind === SyntaxKind.ParenthesizedType; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + + case SyntaxKind.OpenBracketToken: + return containingNodeKind === SyntaxKind.ArrayLiteralExpression // [ | + || containingNodeKind === SyntaxKind.IndexSignature // [ | : string ] + || containingNodeKind === SyntaxKind.ComputedPropertyName; // [ | /* this can become an index signature */ + + case SyntaxKind.ModuleKeyword: // module | + case SyntaxKind.NamespaceKeyword: // namespace | + return true; + + case SyntaxKind.DotToken: + return containingNodeKind === SyntaxKind.ModuleDeclaration; // module A.| + + case SyntaxKind.OpenBraceToken: + return containingNodeKind === SyntaxKind.ClassDeclaration; // class A{ | + + case SyntaxKind.EqualsToken: + return containingNodeKind === SyntaxKind.VariableDeclaration // const x = a| + || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| + + case SyntaxKind.TemplateHead: + return containingNodeKind === SyntaxKind.TemplateExpression; // `aa ${| + + case SyntaxKind.TemplateMiddle: + return containingNodeKind === SyntaxKind.TemplateSpan; // `aa ${10} dd ${| + + case SyntaxKind.PublicKeyword: + case SyntaxKind.PrivateKeyword: + case SyntaxKind.ProtectedKeyword: + return containingNodeKind === SyntaxKind.PropertyDeclaration; // class A{ public | + } + + // Previous token may have been a keyword that was converted to an identifier. + switch (previousToken.getText()) { + case "public": + case "protected": + case "private": + return true; + } + } + + return false; + } + + function isInStringOrRegularExpressionOrTemplateLiteral(contextToken: Node): boolean { + if (contextToken.kind === SyntaxKind.StringLiteral + || contextToken.kind === SyntaxKind.RegularExpressionLiteral + || isTemplateLiteralKind(contextToken.kind)) { + const start = contextToken.getStart(); + const 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 < position && position < end) { + return true; + } + + if (position === end) { + return !!(contextToken).isUnterminated + || contextToken.kind === SyntaxKind.RegularExpressionLiteral; + } + } + + return false; + } + + /** + * Aggregates relevant symbols for completion in object literals and object binding patterns. + * Relevant symbols are stored in the captured 'symbols' variable. + * + * @returns true if 'symbols' was successfully populated; false otherwise. + */ + function tryGetObjectLikeCompletionSymbols(objectLikeContainer: ObjectLiteralExpression | BindingPattern): boolean { + // We're looking up possible property names from contextual/inferred/declared type. + isMemberCompletion = true; + + let typeForObject: Type; + let existingMembers: Declaration[]; + + if (objectLikeContainer.kind === SyntaxKind.ObjectLiteralExpression) { + // We are completing on contextual types, but may also include properties + // other than those within the declared type. + isNewIdentifierLocation = true; + + // If the object literal is being assigned to something of type 'null | { hello: string }', + // it clearly isn't trying to satisfy the 'null' type. So we grab the non-nullable type if possible. + typeForObject = typeChecker.getContextualType(objectLikeContainer); + typeForObject = typeForObject && typeForObject.getNonNullableType(); + + existingMembers = (objectLikeContainer).properties; + } + else if (objectLikeContainer.kind === SyntaxKind.ObjectBindingPattern) { + // We are *only* completing on properties from the type being destructured. + isNewIdentifierLocation = false; + + const rootDeclaration = getRootDeclaration(objectLikeContainer.parent); + if (isVariableLike(rootDeclaration)) { + // We don't want to complete using the type acquired by the shape + // of the binding pattern; we are only interested in types acquired + // 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 + let canGetType = !!(rootDeclaration.initializer || rootDeclaration.type); + if (!canGetType && rootDeclaration.kind === SyntaxKind.Parameter) { + if (isExpression(rootDeclaration.parent)) { + canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); + } + else if (rootDeclaration.parent.kind === SyntaxKind.MethodDeclaration || rootDeclaration.parent.kind === SyntaxKind.SetAccessor) { + canGetType = isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); + } + } + if (canGetType) { + typeForObject = typeChecker.getTypeAtLocation(objectLikeContainer); + existingMembers = (objectLikeContainer).elements; + } + } + else { + Debug.fail("Root declaration is not variable-like."); + } + } + else { + Debug.fail("Expected object literal or binding pattern, got " + objectLikeContainer.kind); + } + + if (!typeForObject) { + return false; + } + + const typeMembers = typeChecker.getPropertiesOfType(typeForObject); + if (typeMembers && typeMembers.length > 0) { + // Add filtered items to the completion list + symbols = filterObjectMembersList(typeMembers, existingMembers); + } + return true; + } + + /** + * Aggregates relevant symbols for completion in import clauses and export clauses + * whose declarations have a module specifier; for instance, symbols will be aggregated for + * + * import { | } from "moduleName"; + * export { a as foo, | } from "moduleName"; + * + * but not for + * + * export { | }; + * + * Relevant symbols are stored in the captured 'symbols' variable. + * + * @returns true if 'symbols' was successfully populated; false otherwise. + */ + function tryGetImportOrExportClauseCompletionSymbols(namedImportsOrExports: NamedImportsOrExports): boolean { + const declarationKind = namedImportsOrExports.kind === SyntaxKind.NamedImports ? + SyntaxKind.ImportDeclaration : + SyntaxKind.ExportDeclaration; + const importOrExportDeclaration = getAncestor(namedImportsOrExports, declarationKind); + const moduleSpecifier = importOrExportDeclaration.moduleSpecifier; + + if (!moduleSpecifier) { + return false; + } + + isMemberCompletion = true; + isNewIdentifierLocation = false; + + let exports: Symbol[]; + const moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(importOrExportDeclaration.moduleSpecifier); + if (moduleSpecifierSymbol) { + exports = typeChecker.getExportsOfModule(moduleSpecifierSymbol); + } + + symbols = exports ? filterNamedImportOrExportCompletionItems(exports, namedImportsOrExports.elements) : emptyArray; + + return true; + } + + /** + * Returns the immediate owning object literal or binding pattern of a context token, + * on the condition that one exists and that the context implies completion should be given. + */ + function tryGetObjectLikeCompletionContainer(contextToken: Node): ObjectLiteralExpression | BindingPattern { + if (contextToken) { + switch (contextToken.kind) { + case SyntaxKind.OpenBraceToken: // const x = { | + case SyntaxKind.CommaToken: // const x = { a: 0, | + const parent = contextToken.parent; + if (parent && (parent.kind === SyntaxKind.ObjectLiteralExpression || parent.kind === SyntaxKind.ObjectBindingPattern)) { + return parent; + } + break; + } + } + + return undefined; + } + + /** + * Returns the containing list of named imports or exports of a context token, + * on the condition that one exists and that the context implies completion should be given. + */ + function tryGetNamedImportsOrExportsForCompletion(contextToken: Node): NamedImportsOrExports { + if (contextToken) { + switch (contextToken.kind) { + case SyntaxKind.OpenBraceToken: // import { | + case SyntaxKind.CommaToken: // import { a as 0, | + switch (contextToken.parent.kind) { + case SyntaxKind.NamedImports: + case SyntaxKind.NamedExports: + return contextToken.parent; + } + } + } + + return undefined; + } + + function tryGetContainingJsxElement(contextToken: Node): JsxOpeningLikeElement { + if (contextToken) { + const parent = contextToken.parent; + switch (contextToken.kind) { + case SyntaxKind.LessThanSlashToken: + case SyntaxKind.SlashToken: + case SyntaxKind.Identifier: + case SyntaxKind.JsxAttribute: + case SyntaxKind.JsxSpreadAttribute: + if (parent && (parent.kind === SyntaxKind.JsxSelfClosingElement || parent.kind === SyntaxKind.JsxOpeningElement)) { + return parent; + } + else if (parent.kind === SyntaxKind.JsxAttribute) { + return parent.parent; + } + break; + + // The context token is the closing } or " of an attribute, which means + // its parent is a JsxExpression, whose parent is a JsxAttribute, + // whose parent is a JsxOpeningLikeElement + case SyntaxKind.StringLiteral: + if (parent && ((parent.kind === SyntaxKind.JsxAttribute) || (parent.kind === SyntaxKind.JsxSpreadAttribute))) { + return parent.parent; + } + + break; + + case SyntaxKind.CloseBraceToken: + if (parent && + parent.kind === SyntaxKind.JsxExpression && + parent.parent && + (parent.parent.kind === SyntaxKind.JsxAttribute)) { + return parent.parent.parent; + } + + if (parent && parent.kind === SyntaxKind.JsxSpreadAttribute) { + return parent.parent; + } + + break; + } + } + return undefined; + } + + function isFunction(kind: SyntaxKind): boolean { + switch (kind) { + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.CallSignature: + case SyntaxKind.ConstructSignature: + case SyntaxKind.IndexSignature: + return true; + } + return false; + } + + /** + * @returns true if we are certain that the currently edited location must define a new location; false otherwise. + */ + function isSolelyIdentifierDefinitionLocation(contextToken: Node): boolean { + const containingNodeKind = contextToken.parent.kind; + switch (contextToken.kind) { + case SyntaxKind.CommaToken: + return containingNodeKind === SyntaxKind.VariableDeclaration || + containingNodeKind === SyntaxKind.VariableDeclarationList || + containingNodeKind === SyntaxKind.VariableStatement || + containingNodeKind === SyntaxKind.EnumDeclaration || // enum a { foo, | + isFunction(containingNodeKind) || + containingNodeKind === SyntaxKind.ClassDeclaration || // class A(); + + for (const element of namedImportsOrExports) { + // If this is the current item we are editing right now, do not filter it out + if (element.getStart() <= position && position <= element.getEnd()) { + continue; + } + + const name = element.propertyName || element.name; + existingImportsOrExports[name.text] = true; + } + + if (!someProperties(existingImportsOrExports)) { + return filter(exportsOfModule, e => e.name !== "default"); + } + + return filter(exportsOfModule, e => e.name !== "default" && !existingImportsOrExports[e.name]); + } + + /** + * Filters out completion suggestions for named imports or exports. + * + * @returns Symbols to be suggested in an object binding pattern or object literal expression, barring those whose declarations + * do not occur at the current position and have not otherwise been typed. + */ + function filterObjectMembersList(contextualMemberSymbols: Symbol[], existingMembers: Declaration[]): Symbol[] { + if (!existingMembers || existingMembers.length === 0) { + return contextualMemberSymbols; + } + + const existingMemberNames = createMap(); + for (const m of existingMembers) { + // Ignore omitted expressions for missing members + if (m.kind !== SyntaxKind.PropertyAssignment && + m.kind !== SyntaxKind.ShorthandPropertyAssignment && + m.kind !== SyntaxKind.BindingElement && + m.kind !== SyntaxKind.MethodDeclaration) { + continue; + } + + // If this is the current item we are editing right now, do not filter it out + if (m.getStart() <= position && position <= m.getEnd()) { + continue; + } + + let existingName: string; + + if (m.kind === SyntaxKind.BindingElement && (m).propertyName) { + // include only identifiers in completion list + if ((m).propertyName.kind === SyntaxKind.Identifier) { + existingName = ((m).propertyName).text; + } + } + else { + // TODO(jfreeman): Account for computed property name + // NOTE: if one only performs this step when m.name is an identifier, + // things like '__proto__' are not filtered out. + existingName = (m.name).text; + } + + existingMemberNames[existingName] = true; + } + + return filter(contextualMemberSymbols, m => !existingMemberNames[m.name]); + } + + /** + * Filters out completion suggestions from 'symbols' according to existing JSX attributes. + * + * @returns Symbols to be suggested in a JSX element, barring those whose attributes + * do not occur at the current position and have not otherwise been typed. + */ + function filterJsxAttributes(symbols: Symbol[], attributes: NodeArray): Symbol[] { + const seenNames = createMap(); + for (const attr of attributes) { + // If this is the current item we are editing right now, do not filter it out + if (attr.getStart() <= position && position <= attr.getEnd()) { + continue; + } + + if (attr.kind === SyntaxKind.JsxAttribute) { + seenNames[(attr).name.text] = true; + } + } + + return filter(symbols, a => !seenNames[a.name]); + } + } + + /** + * Get the name to be display in completion from a given symbol. + * + * @return undefined if the name is of external module otherwise a name with striped of any quote + */ + function getCompletionEntryDisplayNameForSymbol(typeChecker: TypeChecker, symbol: Symbol, target: ScriptTarget, performCharacterChecks: boolean, location: Node): string { + const displayName: string = getDeclaredName(typeChecker, symbol, location); + + if (displayName) { + const firstCharCode = displayName.charCodeAt(0); + // First check of the displayName is not external module; if it is an external module, it is not valid entry + if ((symbol.flags & SymbolFlags.Namespace) && (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { + // If the symbol is external module, don't show it in the completion list + // (i.e declare module "http" { const x; } | // <= request completion here, "http" should not be there) + return undefined; + } + } + + return getCompletionEntryDisplayName(displayName, target, performCharacterChecks); + } + + /** + * Get a displayName from a given for completion list, performing any necessary quotes stripping + * and checking whether the name is valid identifier name. + */ + function getCompletionEntryDisplayName(name: string, target: ScriptTarget, performCharacterChecks: boolean): string { + if (!name) { + return undefined; + } + + name = stripQuotes(name); + + if (!name) { + return undefined; + } + + // If the user entered name for the symbol was quoted, removing the quotes is not enough, as the name could be an + // invalid identifier name. We need to check if whatever was inside the quotes is actually a valid identifier name. + // e.g "b a" is valid quoted name but when we strip off the quotes, it is invalid. + // We, thus, need to check if whatever was inside the quotes is actually a valid identifier name. + if (performCharacterChecks) { + if (!isIdentifierText(name, target)) { + return undefined; + } + } + + return name; + } + + // A cache of completion entries for keywords, these do not change between sessions + const keywordCompletions: CompletionEntry[] = []; + for (let i = SyntaxKind.FirstKeyword; i <= SyntaxKind.LastKeyword; i++) { + keywordCompletions.push({ + name: tokenToString(i), + kind: ScriptElementKind.keyword, + kindModifiers: ScriptElementKindModifier.none, + sortText: "0" + }); + } + + /** + * Matches a triple slash reference directive with an incomplete string literal for its path. Used + * to determine if the caret is currently within the string literal and capture the literal fragment + * for completions. + * For example, this matches /// (); + const result: DocumentHighlights[] = []; + for (const referencedSymbol of referencedSymbols) { + for (const referenceEntry of referencedSymbol.references) { + const fileName = referenceEntry.fileName; + let documentHighlights = fileNameToDocumentHighlights[fileName]; + if (!documentHighlights) { + documentHighlights = { fileName, highlightSpans: [] }; + + fileNameToDocumentHighlights[fileName] = documentHighlights; + result.push(documentHighlights); + } + + documentHighlights.highlightSpans.push({ + textSpan: referenceEntry.textSpan, + kind: referenceEntry.isWriteAccess ? HighlightSpanKind.writtenReference : HighlightSpanKind.reference + }); + } + } + + return result; + } + } + + function getSyntacticDocumentHighlights(node: Node): DocumentHighlights[] { + const fileName = sourceFile.fileName; + + const highlightSpans = getHighlightSpans(node); + if (!highlightSpans || highlightSpans.length === 0) { + return undefined; + } + + return [{ fileName, highlightSpans }]; + + // returns true if 'node' is defined and has a matching 'kind'. + function hasKind(node: Node, kind: SyntaxKind) { + return node !== undefined && node.kind === kind; + } + + // Null-propagating 'parent' function. + function parent(node: Node): Node { + return node && node.parent; + } + + function getHighlightSpans(node: Node): HighlightSpan[] { + if (node) { + switch (node.kind) { + case SyntaxKind.IfKeyword: + case SyntaxKind.ElseKeyword: + if (hasKind(node.parent, SyntaxKind.IfStatement)) { + return getIfElseOccurrences(node.parent); + } + break; + case SyntaxKind.ReturnKeyword: + if (hasKind(node.parent, SyntaxKind.ReturnStatement)) { + return getReturnOccurrences(node.parent); + } + break; + case SyntaxKind.ThrowKeyword: + if (hasKind(node.parent, SyntaxKind.ThrowStatement)) { + return getThrowOccurrences(node.parent); + } + break; + case SyntaxKind.CatchKeyword: + if (hasKind(parent(parent(node)), SyntaxKind.TryStatement)) { + return getTryCatchFinallyOccurrences(node.parent.parent); + } + break; + case SyntaxKind.TryKeyword: + case SyntaxKind.FinallyKeyword: + if (hasKind(parent(node), SyntaxKind.TryStatement)) { + return getTryCatchFinallyOccurrences(node.parent); + } + break; + case SyntaxKind.SwitchKeyword: + if (hasKind(node.parent, SyntaxKind.SwitchStatement)) { + return getSwitchCaseDefaultOccurrences(node.parent); + } + break; + case SyntaxKind.CaseKeyword: + case SyntaxKind.DefaultKeyword: + if (hasKind(parent(parent(parent(node))), SyntaxKind.SwitchStatement)) { + return getSwitchCaseDefaultOccurrences(node.parent.parent.parent); + } + break; + case SyntaxKind.BreakKeyword: + case SyntaxKind.ContinueKeyword: + if (hasKind(node.parent, SyntaxKind.BreakStatement) || hasKind(node.parent, SyntaxKind.ContinueStatement)) { + return getBreakOrContinueStatementOccurrences(node.parent); + } + break; + case SyntaxKind.ForKeyword: + if (hasKind(node.parent, SyntaxKind.ForStatement) || + hasKind(node.parent, SyntaxKind.ForInStatement) || + hasKind(node.parent, SyntaxKind.ForOfStatement)) { + return getLoopBreakContinueOccurrences(node.parent); + } + break; + case SyntaxKind.WhileKeyword: + case SyntaxKind.DoKeyword: + if (hasKind(node.parent, SyntaxKind.WhileStatement) || hasKind(node.parent, SyntaxKind.DoStatement)) { + return getLoopBreakContinueOccurrences(node.parent); + } + break; + case SyntaxKind.ConstructorKeyword: + if (hasKind(node.parent, SyntaxKind.Constructor)) { + return getConstructorOccurrences(node.parent); + } + break; + case SyntaxKind.GetKeyword: + case SyntaxKind.SetKeyword: + if (hasKind(node.parent, SyntaxKind.GetAccessor) || hasKind(node.parent, SyntaxKind.SetAccessor)) { + return getGetAndSetOccurrences(node.parent); + } + break; + default: + if (isModifierKind(node.kind) && node.parent && + (isDeclaration(node.parent) || node.parent.kind === SyntaxKind.VariableStatement)) { + return getModifierOccurrences(node.kind, node.parent); + } + } + } + + return undefined; + } + + /** + * Aggregates all throw-statements within this node *without* crossing + * into function boundaries and try-blocks with catch-clauses. + */ + function aggregateOwnedThrowStatements(node: Node): ThrowStatement[] { + const statementAccumulator: ThrowStatement[] = []; + aggregate(node); + return statementAccumulator; + + function aggregate(node: Node): void { + if (node.kind === SyntaxKind.ThrowStatement) { + statementAccumulator.push(node); + } + else if (node.kind === SyntaxKind.TryStatement) { + const tryStatement = node; + + if (tryStatement.catchClause) { + aggregate(tryStatement.catchClause); + } + else { + // Exceptions thrown within a try block lacking a catch clause + // are "owned" in the current context. + aggregate(tryStatement.tryBlock); + } + + if (tryStatement.finallyBlock) { + aggregate(tryStatement.finallyBlock); + } + } + // Do not cross function boundaries. + else if (!isFunctionLike(node)) { + forEachChild(node, aggregate); + } + } + } + + /** + * For lack of a better name, this function takes a throw statement and returns the + * nearest ancestor that is a try-block (whose try statement has a catch clause), + * function-block, or source file. + */ + function getThrowStatementOwner(throwStatement: ThrowStatement): Node { + let child: Node = throwStatement; + + while (child.parent) { + const parent = child.parent; + + if (isFunctionBlock(parent) || parent.kind === SyntaxKind.SourceFile) { + return parent; + } + + // A throw-statement is only owned by a try-statement if the try-statement has + // a catch clause, and if the throw-statement occurs within the try block. + if (parent.kind === SyntaxKind.TryStatement) { + const tryStatement = parent; + + if (tryStatement.tryBlock === child && tryStatement.catchClause) { + return child; + } + } + + child = parent; + } + + return undefined; + } + + function aggregateAllBreakAndContinueStatements(node: Node): BreakOrContinueStatement[] { + const statementAccumulator: BreakOrContinueStatement[] = []; + aggregate(node); + return statementAccumulator; + + function aggregate(node: Node): void { + if (node.kind === SyntaxKind.BreakStatement || node.kind === SyntaxKind.ContinueStatement) { + statementAccumulator.push(node); + } + // Do not cross function boundaries. + else if (!isFunctionLike(node)) { + forEachChild(node, aggregate); + } + } + } + + function ownsBreakOrContinueStatement(owner: Node, statement: BreakOrContinueStatement): boolean { + const actualOwner = getBreakOrContinueOwner(statement); + + return actualOwner && actualOwner === owner; + } + + function getBreakOrContinueOwner(statement: BreakOrContinueStatement): Node { + for (let node = statement.parent; node; node = node.parent) { + switch (node.kind) { + case SyntaxKind.SwitchStatement: + if (statement.kind === SyntaxKind.ContinueStatement) { + continue; + } + // Fall through. + case SyntaxKind.ForStatement: + case SyntaxKind.ForInStatement: + case SyntaxKind.ForOfStatement: + case SyntaxKind.WhileStatement: + case SyntaxKind.DoStatement: + if (!statement.label || isLabeledBy(node, statement.label.text)) { + return node; + } + break; + default: + // Don't cross function boundaries. + if (isFunctionLike(node)) { + return undefined; + } + break; + } + } + + return undefined; + } + + function getModifierOccurrences(modifier: SyntaxKind, declaration: Node): HighlightSpan[] { + const container = declaration.parent; + + // Make sure we only highlight the keyword when it makes sense to do so. + if (isAccessibilityModifier(modifier)) { + if (!(container.kind === SyntaxKind.ClassDeclaration || + container.kind === SyntaxKind.ClassExpression || + (declaration.kind === SyntaxKind.Parameter && hasKind(container, SyntaxKind.Constructor)))) { + return undefined; + } + } + else if (modifier === SyntaxKind.StaticKeyword) { + if (!(container.kind === SyntaxKind.ClassDeclaration || container.kind === SyntaxKind.ClassExpression)) { + return undefined; + } + } + else if (modifier === SyntaxKind.ExportKeyword || modifier === SyntaxKind.DeclareKeyword) { + if (!(container.kind === SyntaxKind.ModuleBlock || container.kind === SyntaxKind.SourceFile)) { + return undefined; + } + } + else if (modifier === SyntaxKind.AbstractKeyword) { + if (!(container.kind === SyntaxKind.ClassDeclaration || declaration.kind === SyntaxKind.ClassDeclaration)) { + return undefined; + } + } + else { + // unsupported modifier + return undefined; + } + + const keywords: Node[] = []; + const modifierFlag: ModifierFlags = getFlagFromModifier(modifier); + + let nodes: Node[]; + switch (container.kind) { + case SyntaxKind.ModuleBlock: + case SyntaxKind.SourceFile: + // Container is either a class declaration or the declaration is a classDeclaration + if (modifierFlag & ModifierFlags.Abstract) { + nodes = ((declaration).members).concat(declaration); + } + else { + nodes = (container).statements; + } + break; + case SyntaxKind.Constructor: + nodes = ((container).parameters).concat( + (container.parent).members); + break; + case SyntaxKind.ClassDeclaration: + case SyntaxKind.ClassExpression: + 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. + if (modifierFlag & ModifierFlags.AccessibilityModifier) { + const constructor = forEach((container).members, member => { + return member.kind === SyntaxKind.Constructor && member; + }); + + if (constructor) { + nodes = nodes.concat(constructor.parameters); + } + } + else if (modifierFlag & ModifierFlags.Abstract) { + nodes = nodes.concat(container); + } + break; + default: + Debug.fail("Invalid container kind."); + } + + forEach(nodes, node => { + if (getModifierFlags(node) & modifierFlag) { + forEach(node.modifiers, child => pushKeywordIf(keywords, child, modifier)); + } + }); + + return map(keywords, getHighlightSpanForNode); + + function getFlagFromModifier(modifier: SyntaxKind) { + switch (modifier) { + case SyntaxKind.PublicKeyword: + return ModifierFlags.Public; + case SyntaxKind.PrivateKeyword: + return ModifierFlags.Private; + case SyntaxKind.ProtectedKeyword: + return ModifierFlags.Protected; + case SyntaxKind.StaticKeyword: + return ModifierFlags.Static; + case SyntaxKind.ExportKeyword: + return ModifierFlags.Export; + case SyntaxKind.DeclareKeyword: + return ModifierFlags.Ambient; + case SyntaxKind.AbstractKeyword: + return ModifierFlags.Abstract; + default: + Debug.fail(); + } + } + } + + function pushKeywordIf(keywordList: Node[], token: Node, ...expected: SyntaxKind[]): boolean { + if (token && contains(expected, token.kind)) { + keywordList.push(token); + return true; + } + + return false; + } + + function getGetAndSetOccurrences(accessorDeclaration: AccessorDeclaration): HighlightSpan[] { + const keywords: Node[] = []; + + tryPushAccessorKeyword(accessorDeclaration.symbol, SyntaxKind.GetAccessor); + tryPushAccessorKeyword(accessorDeclaration.symbol, SyntaxKind.SetAccessor); + + return map(keywords, getHighlightSpanForNode); + + function tryPushAccessorKeyword(accessorSymbol: Symbol, accessorKind: SyntaxKind): void { + const accessor = getDeclarationOfKind(accessorSymbol, accessorKind); + + if (accessor) { + forEach(accessor.getChildren(), child => pushKeywordIf(keywords, child, SyntaxKind.GetKeyword, SyntaxKind.SetKeyword)); + } + } + } + + function getConstructorOccurrences(constructorDeclaration: ConstructorDeclaration): HighlightSpan[] { + const declarations = constructorDeclaration.symbol.getDeclarations(); + + const keywords: Node[] = []; + + forEach(declarations, declaration => { + forEach(declaration.getChildren(), token => { + return pushKeywordIf(keywords, token, SyntaxKind.ConstructorKeyword); + }); + }); + + return map(keywords, getHighlightSpanForNode); + } + + function getLoopBreakContinueOccurrences(loopNode: IterationStatement): HighlightSpan[] { + const keywords: Node[] = []; + + if (pushKeywordIf(keywords, loopNode.getFirstToken(), SyntaxKind.ForKeyword, SyntaxKind.WhileKeyword, SyntaxKind.DoKeyword)) { + // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. + if (loopNode.kind === SyntaxKind.DoStatement) { + const loopTokens = loopNode.getChildren(); + + for (let i = loopTokens.length - 1; i >= 0; i--) { + if (pushKeywordIf(keywords, loopTokens[i], SyntaxKind.WhileKeyword)) { + break; + } + } + } + } + + const breaksAndContinues = aggregateAllBreakAndContinueStatements(loopNode.statement); + + forEach(breaksAndContinues, statement => { + if (ownsBreakOrContinueStatement(loopNode, statement)) { + pushKeywordIf(keywords, statement.getFirstToken(), SyntaxKind.BreakKeyword, SyntaxKind.ContinueKeyword); + } + }); + + return map(keywords, getHighlightSpanForNode); + } + + function getBreakOrContinueStatementOccurrences(breakOrContinueStatement: BreakOrContinueStatement): HighlightSpan[] { + const owner = getBreakOrContinueOwner(breakOrContinueStatement); + + if (owner) { + switch (owner.kind) { + case SyntaxKind.ForStatement: + case SyntaxKind.ForInStatement: + case SyntaxKind.ForOfStatement: + case SyntaxKind.DoStatement: + case SyntaxKind.WhileStatement: + return getLoopBreakContinueOccurrences(owner); + case SyntaxKind.SwitchStatement: + return getSwitchCaseDefaultOccurrences(owner); + + } + } + + return undefined; + } + + function getSwitchCaseDefaultOccurrences(switchStatement: SwitchStatement): HighlightSpan[] { + const keywords: Node[] = []; + + pushKeywordIf(keywords, switchStatement.getFirstToken(), SyntaxKind.SwitchKeyword); + + // Go through each clause in the switch statement, collecting the 'case'/'default' keywords. + forEach(switchStatement.caseBlock.clauses, clause => { + pushKeywordIf(keywords, clause.getFirstToken(), SyntaxKind.CaseKeyword, SyntaxKind.DefaultKeyword); + + const breaksAndContinues = aggregateAllBreakAndContinueStatements(clause); + + forEach(breaksAndContinues, statement => { + if (ownsBreakOrContinueStatement(switchStatement, statement)) { + pushKeywordIf(keywords, statement.getFirstToken(), SyntaxKind.BreakKeyword); + } + }); + }); + + return map(keywords, getHighlightSpanForNode); + } + + function getTryCatchFinallyOccurrences(tryStatement: TryStatement): HighlightSpan[] { + const keywords: Node[] = []; + + pushKeywordIf(keywords, tryStatement.getFirstToken(), SyntaxKind.TryKeyword); + + if (tryStatement.catchClause) { + pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), SyntaxKind.CatchKeyword); + } + + if (tryStatement.finallyBlock) { + const finallyKeyword = findChildOfKind(tryStatement, SyntaxKind.FinallyKeyword, sourceFile); + pushKeywordIf(keywords, finallyKeyword, SyntaxKind.FinallyKeyword); + } + + return map(keywords, getHighlightSpanForNode); + } + + function getThrowOccurrences(throwStatement: ThrowStatement): HighlightSpan[] { + const owner = getThrowStatementOwner(throwStatement); + + if (!owner) { + return undefined; + } + + const keywords: Node[] = []; + + forEach(aggregateOwnedThrowStatements(owner), throwStatement => { + pushKeywordIf(keywords, throwStatement.getFirstToken(), SyntaxKind.ThrowKeyword); + }); + + // If the "owner" is a function, then we equate 'return' and 'throw' statements in their + // ability to "jump out" of the function, and include occurrences for both. + if (isFunctionBlock(owner)) { + forEachReturnStatement(owner, returnStatement => { + pushKeywordIf(keywords, returnStatement.getFirstToken(), SyntaxKind.ReturnKeyword); + }); + } + + return map(keywords, getHighlightSpanForNode); + } + + function getReturnOccurrences(returnStatement: ReturnStatement): HighlightSpan[] { + const func = getContainingFunction(returnStatement); + + // If we didn't find a containing function with a block body, bail out. + if (!(func && hasKind(func.body, SyntaxKind.Block))) { + return undefined; + } + + const keywords: Node[] = []; + forEachReturnStatement(func.body, returnStatement => { + pushKeywordIf(keywords, returnStatement.getFirstToken(), SyntaxKind.ReturnKeyword); + }); + + // Include 'throw' statements that do not occur within a try block. + forEach(aggregateOwnedThrowStatements(func.body), throwStatement => { + pushKeywordIf(keywords, throwStatement.getFirstToken(), SyntaxKind.ThrowKeyword); + }); + + return map(keywords, getHighlightSpanForNode); + } + + function getIfElseOccurrences(ifStatement: IfStatement): HighlightSpan[] { + const keywords: Node[] = []; + + // Traverse upwards through all parent if-statements linked by their else-branches. + while (hasKind(ifStatement.parent, SyntaxKind.IfStatement) && (ifStatement.parent).elseStatement === ifStatement) { + ifStatement = ifStatement.parent; + } + + // Now traverse back down through the else branches, aggregating if/else keywords of if-statements. + while (ifStatement) { + const children = ifStatement.getChildren(); + pushKeywordIf(keywords, children[0], SyntaxKind.IfKeyword); + + // Generally the 'else' keyword is second-to-last, so we traverse backwards. + for (let i = children.length - 1; i >= 0; i--) { + if (pushKeywordIf(keywords, children[i], SyntaxKind.ElseKeyword)) { + break; + } + } + + if (!hasKind(ifStatement.elseStatement, SyntaxKind.IfStatement)) { + break; + } + + ifStatement = ifStatement.elseStatement; + } + + const result: HighlightSpan[] = []; + + // We'd like to highlight else/ifs together if they are only separated by whitespace + // (i.e. the keywords are separated by no comments, no newlines). + for (let i = 0; i < keywords.length; i++) { + if (keywords[i].kind === SyntaxKind.ElseKeyword && i < keywords.length - 1) { + const elseKeyword = keywords[i]; + const ifKeyword = keywords[i + 1]; // this *should* always be an 'if' keyword. + + let shouldCombindElseAndIf = true; + + // Avoid recalculating getStart() by iterating backwards. + for (let j = ifKeyword.getStart() - 1; j >= elseKeyword.end; j--) { + if (!isWhiteSpaceSingleLine(sourceFile.text.charCodeAt(j))) { + shouldCombindElseAndIf = false; + break; + } + } + + if (shouldCombindElseAndIf) { + result.push({ + fileName: fileName, + textSpan: createTextSpanFromBounds(elseKeyword.getStart(), ifKeyword.end), + kind: HighlightSpanKind.reference + }); + i++; // skip the next keyword + continue; + } + } + + // Ordinary case: just highlight the keyword. + result.push(getHighlightSpanForNode(keywords[i])); + } + + return result; + } + } + } + + /** + * Whether or not a 'node' is preceded by a label of the given string. + * Note: 'node' cannot be a SourceFile. + */ + function isLabeledBy(node: Node, labelName: string) { + for (let owner = node.parent; owner.kind === SyntaxKind.LabeledStatement; owner = owner.parent) { + if ((owner).label.text === labelName) { + return true; + } + } + + return false; + } +} diff --git a/src/services/documentRegistry.ts b/src/services/documentRegistry.ts new file mode 100644 index 00000000000..d73e4d3b0a1 --- /dev/null +++ b/src/services/documentRegistry.ts @@ -0,0 +1,240 @@ +namespace ts { + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ + export interface DocumentRegistry { + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument( + fileName: string, + compilationSettings: CompilerOptions, + scriptSnapshot: IScriptSnapshot, + version: string, + scriptKind?: ScriptKind): SourceFile; + + acquireDocumentWithKey( + fileName: string, + path: Path, + compilationSettings: CompilerOptions, + key: DocumentRegistryBucketKey, + scriptSnapshot: IScriptSnapshot, + version: string, + scriptKind?: ScriptKind): SourceFile; + + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @param scriptSnapshot Text of the file. + * @param version Current version of the file. + */ + updateDocument( + fileName: string, + compilationSettings: CompilerOptions, + scriptSnapshot: IScriptSnapshot, + version: string, + scriptKind?: ScriptKind): SourceFile; + + updateDocumentWithKey( + fileName: string, + path: Path, + compilationSettings: CompilerOptions, + key: DocumentRegistryBucketKey, + scriptSnapshot: IScriptSnapshot, + version: string, + scriptKind?: ScriptKind): SourceFile; + + getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; + + reportStats(): string; + } + + export type DocumentRegistryBucketKey = string & { __bucketKey: any }; + + interface DocumentRegistryEntry { + sourceFile: SourceFile; + + // The number of language services that this source file is referenced in. When no more + // language services are referencing the file, then the file can be removed from the + // registry. + languageServiceRefCount: number; + owners: string[]; + } + + export function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory = ""): DocumentRegistry { + // Maps from compiler setting target (ES3, ES5, etc.) to all the cached documents we have + // for those settings. + const buckets = createMap>(); + const getCanonicalFileName = createGetCanonicalFileName(!!useCaseSensitiveFileNames); + + function getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey { + return `_${settings.target}|${settings.module}|${settings.noResolve}|${settings.jsx}|${settings.allowJs}|${settings.baseUrl}|${JSON.stringify(settings.typeRoots)}|${JSON.stringify(settings.rootDirs)}|${JSON.stringify(settings.paths)}`; + } + + function getBucketForCompilationSettings(key: DocumentRegistryBucketKey, createIfMissing: boolean): FileMap { + let bucket = buckets[key]; + if (!bucket && createIfMissing) { + buckets[key] = bucket = createFileMap(); + } + return bucket; + } + + function reportStats() { + const bucketInfoArray = Object.keys(buckets).filter(name => name && name.charAt(0) === "_").map(name => { + const entries = buckets[name]; + const sourceFiles: { name: string; refCount: number; references: string[]; }[] = []; + entries.forEachValue((key, entry) => { + sourceFiles.push({ + name: key, + refCount: entry.languageServiceRefCount, + references: entry.owners.slice(0) + }); + }); + sourceFiles.sort((x, y) => y.refCount - x.refCount); + return { + bucket: name, + sourceFiles + }; + }); + return JSON.stringify(bucketInfoArray, undefined, 2); + } + + function acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { + const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const key = getKeyForCompilationSettings(compilationSettings); + return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); + } + + function acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { + return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ true, scriptKind); + } + + function updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { + const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const key = getKeyForCompilationSettings(compilationSettings); + return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); + } + + function updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { + return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ false, scriptKind); + } + + function acquireOrUpdateDocument( + fileName: string, + path: Path, + compilationSettings: CompilerOptions, + key: DocumentRegistryBucketKey, + scriptSnapshot: IScriptSnapshot, + version: string, + acquiring: boolean, + scriptKind?: ScriptKind): SourceFile { + + const bucket = getBucketForCompilationSettings(key, /*createIfMissing*/ true); + let entry = bucket.get(path); + if (!entry) { + Debug.assert(acquiring, "How could we be trying to update a document that the registry doesn't have?"); + + // Have never seen this file with these settings. Create a new source file for it. + const sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, compilationSettings.target, version, /*setNodeParents*/ false, scriptKind); + + entry = { + sourceFile: sourceFile, + languageServiceRefCount: 0, + owners: [] + }; + bucket.set(path, entry); + } + else { + // We have an entry for this file. However, it may be for a different version of + // the script snapshot. If so, update it appropriately. Otherwise, we can just + // return it as is. + if (entry.sourceFile.version !== version) { + entry.sourceFile = updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, + scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); + } + } + + // 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 + // not acquiring, then that means the LS is 'updating' the file instead, and that means + // it has already acquired the document previously. As such, we do not need to increase + // the ref count. + if (acquiring) { + entry.languageServiceRefCount++; + } + + return entry.sourceFile; + } + + function releaseDocument(fileName: string, compilationSettings: CompilerOptions): void { + const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const key = getKeyForCompilationSettings(compilationSettings); + return releaseDocumentWithKey(path, key); + } + + function releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void { + const bucket = getBucketForCompilationSettings(key, /*createIfMissing*/false); + Debug.assert(bucket !== undefined); + + const entry = bucket.get(path); + entry.languageServiceRefCount--; + + Debug.assert(entry.languageServiceRefCount >= 0); + if (entry.languageServiceRefCount === 0) { + bucket.remove(path); + } + } + + return { + acquireDocument, + acquireDocumentWithKey, + updateDocument, + updateDocumentWithKey, + releaseDocument, + releaseDocumentWithKey, + reportStats, + getKeyForCompilationSettings + }; + } +} diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts new file mode 100644 index 00000000000..d8bb2929268 --- /dev/null +++ b/src/services/findAllReferences.ts @@ -0,0 +1,1125 @@ +/* @internal */ +namespace ts.FindAllReferences { + export function findReferencedSymbols(typeChecker: TypeChecker, cancellationToken: CancellationToken, sourceFiles: SourceFile[], sourceFile: SourceFile, position: number, findInStrings: boolean, findInComments: boolean): ReferencedSymbol[] { + const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); + if (node === sourceFile) { + return undefined; + } + + switch (node.kind) { + case SyntaxKind.NumericLiteral: + if (!isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { + break; + } + // Fallthrough + case SyntaxKind.Identifier: + case SyntaxKind.ThisKeyword: + // case SyntaxKind.SuperKeyword: TODO:GH#9268 + case SyntaxKind.ConstructorKeyword: + case SyntaxKind.StringLiteral: + return getReferencedSymbolsForNode(typeChecker, cancellationToken, node, sourceFiles, findInStrings, findInComments); + } + return undefined; + } + + export function getReferencedSymbolsForNode(typeChecker: TypeChecker, cancellationToken: CancellationToken, node: Node, sourceFiles: SourceFile[], findInStrings: boolean, findInComments: boolean): ReferencedSymbol[] { + // Labels + if (isLabelName(node)) { + if (isJumpStatementTarget(node)) { + const labelDefinition = getTargetLabel((node.parent), (node).text); + // if we have a label definition, look within its statement for references, if not, then + // the label is undefined and we have no results.. + return labelDefinition ? getLabelReferencesInNode(labelDefinition.parent, labelDefinition) : undefined; + } + else { + // it is a label definition and not a target, search within the parent labeledStatement + return getLabelReferencesInNode(node.parent, node); + } + } + + if (isThis(node)) { + return getReferencesForThisKeyword(node, sourceFiles); + } + + if (node.kind === SyntaxKind.SuperKeyword) { + return getReferencesForSuperKeyword(node); + } + + // `getSymbolAtLocation` normally returns the symbol of the class when given the constructor keyword, + // so we have to specify that we want the constructor symbol. + const symbol = typeChecker.getSymbolAtLocation(node); + + if (!symbol && node.kind === SyntaxKind.StringLiteral) { + return getReferencesForStringLiteral(node, sourceFiles); + } + + // Could not find a symbol e.g. unknown identifier + if (!symbol) { + // Can't have references to something that we have no symbol for. + return undefined; + } + + const declarations = symbol.declarations; + + // The symbol was an internal symbol and does not have a declaration e.g. undefined symbol + if (!declarations || !declarations.length) { + return undefined; + } + + let result: ReferencedSymbol[]; + + // Compute the meaning from the location and the symbol it references + const searchMeaning = getIntersectingMeaningFromDeclarations(getMeaningFromLocation(node), declarations); + + // Get the text to search for. + // Note: if this is an external module symbol, the name doesn't include quotes. + const declaredName = stripQuotes(getDeclaredName(typeChecker, symbol, node)); + + // 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). + const scope = getSymbolScope(symbol); + + // Maps from a symbol ID to the ReferencedSymbol entry in 'result'. + const symbolToIndex: number[] = []; + + if (scope) { + result = []; + getReferencesInNode(scope, symbol, declaredName, node, searchMeaning, findInStrings, findInComments, result, symbolToIndex); + } + else { + const internedName = getInternedName(symbol, node, declarations); + for (const sourceFile of sourceFiles) { + cancellationToken.throwIfCancellationRequested(); + + const nameTable = getNameTable(sourceFile); + + if (nameTable[internedName] !== undefined) { + result = result || []; + getReferencesInNode(sourceFile, symbol, declaredName, node, searchMeaning, findInStrings, findInComments, result, symbolToIndex); + } + } + } + + return result; + + function getDefinition(symbol: Symbol): ReferencedSymbolDefinitionInfo { + const info = SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, node.getSourceFile(), getContainerNode(node), node); + const name = map(info.displayParts, p => p.text).join(""); + const declarations = symbol.declarations; + if (!declarations || declarations.length === 0) { + return undefined; + } + + return { + containerKind: "", + containerName: "", + name, + kind: info.symbolKind, + fileName: declarations[0].getSourceFile().fileName, + textSpan: createTextSpan(declarations[0].getStart(), 0), + displayParts: info.displayParts + }; + } + + function getAliasSymbolForPropertyNameSymbol(symbol: Symbol, location: Node): Symbol | undefined { + if (symbol.flags & SymbolFlags.Alias) { + // Default import get alias + const defaultImport = getDeclarationOfKind(symbol, SyntaxKind.ImportClause); + if (defaultImport) { + return typeChecker.getAliasedSymbol(symbol); + } + + const importOrExportSpecifier = forEach(symbol.declarations, + declaration => (declaration.kind === SyntaxKind.ImportSpecifier || + declaration.kind === SyntaxKind.ExportSpecifier) ? declaration : undefined); + if (importOrExportSpecifier && + // export { a } + (!importOrExportSpecifier.propertyName || + // export {a as class } where a is location + importOrExportSpecifier.propertyName === location)) { + // If Import specifier -> get alias + // else Export specifier -> get local target + return importOrExportSpecifier.kind === SyntaxKind.ImportSpecifier ? + typeChecker.getAliasedSymbol(symbol) : + typeChecker.getExportSpecifierLocalTargetSymbol(importOrExportSpecifier); + } + } + return undefined; + } + + function followAliasIfNecessary(symbol: Symbol, location: Node): Symbol { + return getAliasSymbolForPropertyNameSymbol(symbol, location) || symbol; + } + + function getPropertySymbolOfDestructuringAssignment(location: Node) { + return isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && + typeChecker.getPropertySymbolOfDestructuringAssignment(location); + } + + function isObjectBindingPatternElementWithoutPropertyName(symbol: Symbol) { + const bindingElement = getDeclarationOfKind(symbol, SyntaxKind.BindingElement); + return bindingElement && + bindingElement.parent.kind === SyntaxKind.ObjectBindingPattern && + !bindingElement.propertyName; + } + + function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol: Symbol) { + if (isObjectBindingPatternElementWithoutPropertyName(symbol)) { + const bindingElement = getDeclarationOfKind(symbol, SyntaxKind.BindingElement); + const typeOfPattern = typeChecker.getTypeAtLocation(bindingElement.parent); + return typeOfPattern && typeChecker.getPropertyOfType(typeOfPattern, (bindingElement.name).text); + } + return undefined; + } + + function getInternedName(symbol: Symbol, location: Node, declarations: Declaration[]): string { + // If this is an export or import specifier it could have been renamed using the 'as' syntax. + // If so we want to search for whatever under the cursor. + if (isImportOrExportSpecifierName(location)) { + return location.getText(); + } + + // Try to get the local symbol if we're dealing with an 'export default' + // since that symbol has the "true" name. + const localExportDefaultSymbol = getLocalSymbolForExportDefault(symbol); + symbol = localExportDefaultSymbol || symbol; + + return stripQuotes(symbol.name); + } + + /** + * Determines the smallest scope in which a symbol may have named references. + * Note that not every construct has been accounted for. This function can + * probably be improved. + * + * @returns undefined if the scope cannot be determined, implying that + * a reference to a symbol can occur anywhere. + */ + function getSymbolScope(symbol: Symbol): Node { + // If this is the symbol of a named function expression or named class expression, + // then named references are limited to its own scope. + const valueDeclaration = symbol.valueDeclaration; + if (valueDeclaration && (valueDeclaration.kind === SyntaxKind.FunctionExpression || valueDeclaration.kind === SyntaxKind.ClassExpression)) { + return valueDeclaration; + } + + // If this is private property or method, the scope is the containing class + if (symbol.flags & (SymbolFlags.Property | SymbolFlags.Method)) { + const privateDeclaration = forEach(symbol.getDeclarations(), d => (getModifierFlags(d) & ModifierFlags.Private) ? d : undefined); + if (privateDeclaration) { + return getAncestor(privateDeclaration, SyntaxKind.ClassDeclaration); + } + } + + // If the symbol is an import we would like to find it if we are looking for what it imports. + // So consider it visible outside its declaration scope. + if (symbol.flags & SymbolFlags.Alias) { + return undefined; + } + + // If symbol is of object binding pattern element without property name we would want to + // look for property too and that could be anywhere + if (isObjectBindingPatternElementWithoutPropertyName(symbol)) { + return undefined; + } + + // if this symbol is visible from its parent container, e.g. exported, then bail out + // if symbol correspond to the union property - bail out + if (symbol.parent || (symbol.flags & SymbolFlags.SyntheticProperty)) { + return undefined; + } + + let scope: Node; + + const declarations = symbol.getDeclarations(); + if (declarations) { + for (const declaration of declarations) { + const container = getContainerNode(declaration); + + if (!container) { + return undefined; + } + + if (scope && scope !== container) { + // Different declarations have different containers, bail out + return undefined; + } + + if (container.kind === SyntaxKind.SourceFile && !isExternalModule(container)) { + // This is a global variable and not an external module, any declaration defined + // within this scope is visible outside the file + return undefined; + } + + // The search scope is the container node + scope = container; + } + } + + return scope; + } + + function getPossibleSymbolReferencePositions(sourceFile: SourceFile, symbolName: string, start: number, end: number): number[] { + const positions: number[] = []; + + /// TODO: Cache symbol existence for files to save text search + // Also, need to make this work for unicode escapes. + + // Be resilient in the face of a symbol with no name or zero length name + if (!symbolName || !symbolName.length) { + return positions; + } + + const text = sourceFile.text; + const sourceLength = text.length; + const symbolNameLength = symbolName.length; + + let position = text.indexOf(symbolName, start); + while (position >= 0) { + cancellationToken.throwIfCancellationRequested(); + + // If we are past the end, stop looking + if (position > end) break; + + // We found a match. Make sure it's not part of a larger word (i.e. the char + // before and after it have to be a non-identifier char). + const endPosition = position + symbolNameLength; + + if ((position === 0 || !isIdentifierPart(text.charCodeAt(position - 1), ScriptTarget.Latest)) && + (endPosition === sourceLength || !isIdentifierPart(text.charCodeAt(endPosition), ScriptTarget.Latest))) { + // Found a real match. Keep searching. + positions.push(position); + } + position = text.indexOf(symbolName, position + symbolNameLength + 1); + } + + return positions; + } + + function getLabelReferencesInNode(container: Node, targetLabel: Identifier): ReferencedSymbol[] { + const references: ReferenceEntry[] = []; + const sourceFile = container.getSourceFile(); + const labelName = targetLabel.text; + const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, labelName, container.getStart(), container.getEnd()); + forEach(possiblePositions, position => { + cancellationToken.throwIfCancellationRequested(); + + const node = getTouchingWord(sourceFile, position); + if (!node || node.getWidth() !== labelName.length) { + return; + } + + // Only pick labels that are either the target label, or have a target that is the target label + if (node === targetLabel || + (isJumpStatementTarget(node) && getTargetLabel(node, labelName) === targetLabel)) { + references.push(getReferenceEntryFromNode(node)); + } + }); + + const definition: ReferencedSymbolDefinitionInfo = { + containerKind: "", + containerName: "", + fileName: targetLabel.getSourceFile().fileName, + kind: ScriptElementKind.label, + name: labelName, + textSpan: createTextSpanFromBounds(targetLabel.getStart(), targetLabel.getEnd()), + displayParts: [displayPart(labelName, SymbolDisplayPartKind.text)] + }; + + return [{ definition, references }]; + } + + function isValidReferencePosition(node: Node, searchSymbolName: string): boolean { + if (node) { + // Compare the length so we filter out strict superstrings of the symbol we are looking for + switch (node.kind) { + case SyntaxKind.Identifier: + return node.getWidth() === searchSymbolName.length; + + case SyntaxKind.StringLiteral: + if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || + isNameOfExternalModuleImportOrDeclaration(node)) { + // For string literals we have two additional chars for the quotes + return node.getWidth() === searchSymbolName.length + 2; + } + break; + + case SyntaxKind.NumericLiteral: + if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { + return node.getWidth() === searchSymbolName.length; + } + break; + } + } + + return false; + } + + /** Search within node "container" for references for a search value, where the search value is defined as a + * tuple of(searchSymbol, searchText, searchLocation, and searchMeaning). + * searchLocation: a node where the search value + */ + function getReferencesInNode(container: Node, + searchSymbol: Symbol, + searchText: string, + searchLocation: Node, + searchMeaning: SemanticMeaning, + findInStrings: boolean, + findInComments: boolean, + result: ReferencedSymbol[], + symbolToIndex: number[]): void { + + const sourceFile = container.getSourceFile(); + + const start = findInComments ? container.getFullStart() : container.getStart(); + const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, searchText, start, container.getEnd()); + + if (possiblePositions.length) { + // Build the set of symbols to search for, initially it has only the current symbol + const searchSymbols = populateSearchSymbolSet(searchSymbol, searchLocation); + + forEach(possiblePositions, position => { + cancellationToken.throwIfCancellationRequested(); + + const referenceLocation = getTouchingPropertyName(sourceFile, position); + if (!isValidReferencePosition(referenceLocation, searchText)) { + // This wasn't the start of a token. Check to see if it might be a + // match in a comment or string if that's what the caller is asking + // for. + if ((findInStrings && isInString(sourceFile, position)) || + (findInComments && isInNonReferenceComment(sourceFile, position))) { + + // In the case where we're looking inside comments/strings, we don't have + // an actual definition. So just use 'undefined' here. Features like + // 'Rename' won't care (as they ignore the definitions), and features like + // 'FindReferences' will just filter out these results. + result.push({ + definition: undefined, + references: [{ + fileName: sourceFile.fileName, + textSpan: createTextSpan(position, searchText.length), + isWriteAccess: false, + isDefinition: false + }] + }); + } + return; + } + + if (!(getMeaningFromLocation(referenceLocation) & searchMeaning)) { + return; + } + + const referenceSymbol = typeChecker.getSymbolAtLocation(referenceLocation); + if (referenceSymbol) { + const referenceSymbolDeclaration = referenceSymbol.valueDeclaration; + const shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(referenceSymbolDeclaration); + const relatedSymbol = getRelatedSymbol(searchSymbols, referenceSymbol, referenceLocation, + /*searchLocationIsConstructor*/ searchLocation.kind === SyntaxKind.ConstructorKeyword); + + if (relatedSymbol) { + const referencedSymbol = getReferencedSymbol(relatedSymbol); + referencedSymbol.references.push(getReferenceEntryFromNode(referenceLocation)); + } + /* Because in short-hand property assignment, an identifier which stored as name of the short-hand property assignment + * has two meaning : property name and property value. Therefore when we do findAllReference at the position where + * an identifier is declared, the language service should return the position of the variable declaration as well as + * the position in short-hand property assignment excluding property accessing. However, if we do findAllReference at the + * position of property accessing, the referenceEntry of such position will be handled in the first case. + */ + else if (!(referenceSymbol.flags & SymbolFlags.Transient) && searchSymbols.indexOf(shorthandValueSymbol) >= 0) { + const referencedSymbol = getReferencedSymbol(shorthandValueSymbol); + referencedSymbol.references.push(getReferenceEntryFromNode(referenceSymbolDeclaration.name)); + } + else if (searchLocation.kind === SyntaxKind.ConstructorKeyword) { + findAdditionalConstructorReferences(referenceSymbol, referenceLocation); + } + } + }); + } + + return; + + /** Adds references when a constructor is used with `new this()` in its own class and `super()` calls in subclasses. */ + function findAdditionalConstructorReferences(referenceSymbol: Symbol, referenceLocation: Node): void { + Debug.assert(isClassLike(searchSymbol.valueDeclaration)); + + const referenceClass = referenceLocation.parent; + if (referenceSymbol === searchSymbol && isClassLike(referenceClass)) { + Debug.assert(referenceClass.name === referenceLocation); + // This is the class declaration containing the constructor. + addReferences(findOwnConstructorCalls(searchSymbol)); + } + else { + // If this class appears in `extends C`, then the extending class' "super" calls are references. + const classExtending = tryGetClassByExtendingIdentifier(referenceLocation); + if (classExtending && isClassLike(classExtending) && followAliasIfNecessary(referenceSymbol, referenceLocation) === searchSymbol) { + addReferences(superConstructorAccesses(classExtending)); + } + } + } + + function addReferences(references: Node[]): void { + if (references.length) { + const referencedSymbol = getReferencedSymbol(searchSymbol); + addRange(referencedSymbol.references, map(references, getReferenceEntryFromNode)); + } + } + + /** `classSymbol` is the class where the constructor was defined. + * Reference the constructor and all calls to `new this()`. + */ + function findOwnConstructorCalls(classSymbol: Symbol): Node[] { + const result: Node[] = []; + + for (const decl of classSymbol.members["__constructor"].declarations) { + Debug.assert(decl.kind === SyntaxKind.Constructor); + const ctrKeyword = decl.getChildAt(0); + Debug.assert(ctrKeyword.kind === SyntaxKind.ConstructorKeyword); + result.push(ctrKeyword); + } + + forEachProperty(classSymbol.exports, member => { + const decl = member.valueDeclaration; + if (decl && decl.kind === SyntaxKind.MethodDeclaration) { + const body = (decl).body; + if (body) { + forEachDescendantOfKind(body, SyntaxKind.ThisKeyword, thisKeyword => { + if (isNewExpressionTarget(thisKeyword)) { + result.push(thisKeyword); + } + }); + } + } + }); + + return result; + } + + /** Find references to `super` in the constructor of an extending class. */ + function superConstructorAccesses(cls: ClassLikeDeclaration): Node[] { + const symbol = cls.symbol; + const ctr = symbol.members["__constructor"]; + if (!ctr) { + return []; + } + + const result: Node[] = []; + for (const decl of ctr.declarations) { + Debug.assert(decl.kind === SyntaxKind.Constructor); + const body = (decl).body; + if (body) { + forEachDescendantOfKind(body, SyntaxKind.SuperKeyword, node => { + if (isCallExpressionTarget(node)) { + result.push(node); + } + }); + } + }; + return result; + } + + function getReferencedSymbol(symbol: Symbol): ReferencedSymbol { + const symbolId = getSymbolId(symbol); + let index = symbolToIndex[symbolId]; + if (index === undefined) { + index = result.length; + symbolToIndex[symbolId] = index; + + result.push({ + definition: getDefinition(symbol), + references: [] + }); + } + + return result[index]; + } + } + + function getReferencesForSuperKeyword(superKeyword: Node): ReferencedSymbol[] { + let searchSpaceNode = getSuperContainer(superKeyword, /*stopOnFunctions*/ false); + if (!searchSpaceNode) { + return undefined; + } + // Whether 'super' occurs in a static context within a class. + let staticFlag = ModifierFlags.Static; + + switch (searchSpaceNode.kind) { + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.Constructor: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + staticFlag &= getModifierFlags(searchSpaceNode); + searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class + break; + default: + return undefined; + } + + const references: ReferenceEntry[] = []; + + const sourceFile = searchSpaceNode.getSourceFile(); + const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "super", searchSpaceNode.getStart(), searchSpaceNode.getEnd()); + forEach(possiblePositions, position => { + cancellationToken.throwIfCancellationRequested(); + + const node = getTouchingWord(sourceFile, position); + + if (!node || node.kind !== SyntaxKind.SuperKeyword) { + return; + } + + const container = getSuperContainer(node, /*stopOnFunctions*/ false); + + // If we have a 'super' container, we must have an enclosing class. + // Now make sure the owning class is the same as the search-space + // and has the same static qualifier as the original 'super's owner. + if (container && (ModifierFlags.Static & getModifierFlags(container)) === staticFlag && container.parent.symbol === searchSpaceNode.symbol) { + references.push(getReferenceEntryFromNode(node)); + } + }); + + const definition = getDefinition(searchSpaceNode.symbol); + return [{ definition, references }]; + } + + function getReferencesForThisKeyword(thisOrSuperKeyword: Node, sourceFiles: SourceFile[]): ReferencedSymbol[] { + let searchSpaceNode = getThisContainer(thisOrSuperKeyword, /* includeArrowFunctions */ false); + + // Whether 'this' occurs in a static context within a class. + let staticFlag = ModifierFlags.Static; + + switch (searchSpaceNode.kind) { + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + if (isObjectLiteralMethod(searchSpaceNode)) { + break; + } + // fall through + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.Constructor: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + staticFlag &= getModifierFlags(searchSpaceNode); + searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class + break; + case SyntaxKind.SourceFile: + if (isExternalModule(searchSpaceNode)) { + return undefined; + } + // Fall through + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.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; + } + + const references: ReferenceEntry[] = []; + + let possiblePositions: number[]; + if (searchSpaceNode.kind === SyntaxKind.SourceFile) { + forEach(sourceFiles, sourceFile => { + possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "this", sourceFile.getStart(), sourceFile.getEnd()); + getThisReferencesInFile(sourceFile, sourceFile, possiblePositions, references); + }); + } + else { + const sourceFile = searchSpaceNode.getSourceFile(); + possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "this", searchSpaceNode.getStart(), searchSpaceNode.getEnd()); + getThisReferencesInFile(sourceFile, searchSpaceNode, possiblePositions, references); + } + + const thisOrSuperSymbol = typeChecker.getSymbolAtLocation(thisOrSuperKeyword); + + const displayParts = thisOrSuperSymbol && SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind( + typeChecker, thisOrSuperSymbol, thisOrSuperKeyword.getSourceFile(), getContainerNode(thisOrSuperKeyword), thisOrSuperKeyword).displayParts; + + return [{ + definition: { + containerKind: "", + containerName: "", + fileName: node.getSourceFile().fileName, + kind: ScriptElementKind.variableElement, + name: "this", + textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()), + displayParts + }, + references: references + }]; + + function getThisReferencesInFile(sourceFile: SourceFile, searchSpaceNode: Node, possiblePositions: number[], result: ReferenceEntry[]): void { + forEach(possiblePositions, position => { + cancellationToken.throwIfCancellationRequested(); + + const node = getTouchingWord(sourceFile, position); + if (!node || !isThis(node)) { + return; + } + + const container = getThisContainer(node, /* includeArrowFunctions */ false); + + switch (searchSpaceNode.kind) { + case SyntaxKind.FunctionExpression: + case SyntaxKind.FunctionDeclaration: + if (searchSpaceNode.symbol === container.symbol) { + result.push(getReferenceEntryFromNode(node)); + } + break; + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + if (isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol) { + result.push(getReferenceEntryFromNode(node)); + } + break; + case SyntaxKind.ClassExpression: + case SyntaxKind.ClassDeclaration: + // Make sure the container belongs to the same class + // and has the appropriate static modifier from the original container. + if (container.parent && searchSpaceNode.symbol === container.parent.symbol && (getModifierFlags(container) & ModifierFlags.Static) === staticFlag) { + result.push(getReferenceEntryFromNode(node)); + } + break; + case SyntaxKind.SourceFile: + if (container.kind === SyntaxKind.SourceFile && !isExternalModule(container)) { + result.push(getReferenceEntryFromNode(node)); + } + break; + } + }); + } + } + + function getReferencesForStringLiteral(node: StringLiteral, sourceFiles: SourceFile[]): ReferencedSymbol[] { + const type = getStringLiteralTypeForNode(node, typeChecker); + + if (!type) { + // nothing to do here. moving on + return undefined; + } + + const references: ReferenceEntry[] = []; + + for (const sourceFile of sourceFiles) { + const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, type.text, sourceFile.getStart(), sourceFile.getEnd()); + getReferencesForStringLiteralInFile(sourceFile, type, possiblePositions, references); + } + + return [{ + definition: { + containerKind: "", + containerName: "", + fileName: node.getSourceFile().fileName, + kind: ScriptElementKind.variableElement, + name: type.text, + textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()), + displayParts: [displayPart(getTextOfNode(node), SymbolDisplayPartKind.stringLiteral)] + }, + references: references + }]; + + function getReferencesForStringLiteralInFile(sourceFile: SourceFile, searchType: Type, possiblePositions: number[], references: ReferenceEntry[]): void { + for (const position of possiblePositions) { + cancellationToken.throwIfCancellationRequested(); + + const node = getTouchingWord(sourceFile, position); + if (!node || node.kind !== SyntaxKind.StringLiteral) { + return; + } + + const type = getStringLiteralTypeForNode(node, typeChecker); + if (type === searchType) { + references.push(getReferenceEntryFromNode(node)); + } + } + } + } + + function populateSearchSymbolSet(symbol: Symbol, location: Node): Symbol[] { + // The search set contains at least the current symbol + let result = [symbol]; + + // If the location is name of property symbol from object literal destructuring pattern + // Search the property symbol + // for ( { property: p2 } of elems) { } + const containingObjectLiteralElement = getContainingObjectLiteralElement(location); + if (containingObjectLiteralElement && containingObjectLiteralElement.kind !== SyntaxKind.ShorthandPropertyAssignment) { + const propertySymbol = getPropertySymbolOfDestructuringAssignment(location); + if (propertySymbol) { + result.push(propertySymbol); + } + } + + // If the symbol is an alias, add what it aliases to the list + // import {a} from "mod"; + // export {a} + // If the symbol is an alias to default declaration, add what it aliases to the list + // declare "mod" { export default class B { } } + // import B from "mod"; + //// For export specifiers, the exported name can be referring to a local symbol, e.g.: + //// import {a} from "mod"; + //// export {a as somethingElse} + //// We want the *local* declaration of 'a' as declared in the import, + //// *not* as declared within "mod" (or farther) + const aliasSymbol = getAliasSymbolForPropertyNameSymbol(symbol, location); + if (aliasSymbol) { + result = result.concat(populateSearchSymbolSet(aliasSymbol, location)); + } + + // If the location is in a context sensitive location (i.e. in an object literal) try + // to get a contextual type for it, and add the property symbol from the contextual + // type to the search set + if (containingObjectLiteralElement) { + forEach(getPropertySymbolsFromContextualType(containingObjectLiteralElement), contextualSymbol => { + addRange(result, typeChecker.getRootSymbols(contextualSymbol)); + }); + + /* Because in short-hand property assignment, location has two meaning : property name and as value of the property + * When we do findAllReference at the position of the short-hand property assignment, we would want to have references to position of + * property name and variable declaration of the identifier. + * Like in below example, when querying for all references for an identifier 'name', of the property assignment, the language service + * should show both 'name' in 'obj' and 'name' in variable declaration + * const name = "Foo"; + * const obj = { name }; + * In order to do that, we will populate the search set with the value symbol of the identifier as a value of the property assignment + * so that when matching with potential reference symbol, both symbols from property declaration and variable declaration + * will be included correctly. + */ + const shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(location.parent); + if (shorthandValueSymbol) { + result.push(shorthandValueSymbol); + } + } + + // If the symbol.valueDeclaration is a property parameter declaration, + // we should include both parameter declaration symbol and property declaration symbol + // Parameter Declaration symbol is only visible within function scope, so the symbol is stored in constructor.locals. + // Property Declaration symbol is a member of the class, so the symbol is stored in its class Declaration.symbol.members + if (symbol.valueDeclaration && symbol.valueDeclaration.kind === SyntaxKind.Parameter && + isParameterPropertyDeclaration(symbol.valueDeclaration)) { + result = result.concat(typeChecker.getSymbolsOfParameterPropertyDeclaration(symbol.valueDeclaration, symbol.name)); + } + + // If this is symbol of binding element without propertyName declaration in Object binding pattern + // Include the property in the search + const bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol); + if (bindingElementPropertySymbol) { + result.push(bindingElementPropertySymbol); + } + + // If this is a union property, add all the symbols from all its source symbols in all unioned types. + // If the symbol is an instantiation from a another symbol (e.g. widened symbol) , add the root the list + forEach(typeChecker.getRootSymbols(symbol), rootSymbol => { + if (rootSymbol !== symbol) { + result.push(rootSymbol); + } + + // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions + if (rootSymbol.parent && rootSymbol.parent.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { + getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ createMap()); + } + }); + + return result; + } + + /** + * 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: Symbol, propertyName: string, result: Symbol[], + previousIterationSymbolsCache: SymbolTable): void { + if (!symbol) { + return; + } + + // If the current symbol is the same as the previous-iteration symbol, we can just return the symbol that has already been visited + // This is particularly important for the following cases, so that we do not infinitely visit the same symbol. + // For example: + // interface C extends C { + // /*findRef*/propName: string; + // } + // The first time getPropertySymbolsFromBaseTypes is called when finding-all-references at propName, + // the symbol argument will be the symbol of an interface "C" and previousIterationSymbol is undefined, + // the function will add any found symbol of the property-name, then its sub-routine will call + // getPropertySymbolsFromBaseTypes again to walk up any base types to prevent revisiting already + // visited symbol, interface "C", the sub-routine will pass the current symbol as previousIterationSymbol. + if (symbol.name in previousIterationSymbolsCache) { + return; + } + + if (symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { + forEach(symbol.getDeclarations(), declaration => { + if (isClassLike(declaration)) { + getPropertySymbolFromTypeReference(getClassExtendsHeritageClauseElement(declaration)); + forEach(getClassImplementsHeritageClauseElements(declaration), getPropertySymbolFromTypeReference); + } + else if (declaration.kind === SyntaxKind.InterfaceDeclaration) { + forEach(getInterfaceBaseTypeNodes(declaration), getPropertySymbolFromTypeReference); + } + }); + } + return; + + function getPropertySymbolFromTypeReference(typeReference: ExpressionWithTypeArguments) { + if (typeReference) { + const type = typeChecker.getTypeAtLocation(typeReference); + if (type) { + const propertySymbol = typeChecker.getPropertyOfType(type, propertyName); + if (propertySymbol) { + result.push(...typeChecker.getRootSymbols(propertySymbol)); + } + + // Visit the typeReference as well to see if it directly or indirectly use that property + previousIterationSymbolsCache[symbol.name] = symbol; + getPropertySymbolsFromBaseTypes(type.symbol, propertyName, result, previousIterationSymbolsCache); + } + } + } + } + + function getRelatedSymbol(searchSymbols: Symbol[], referenceSymbol: Symbol, referenceLocation: Node, searchLocationIsConstructor: boolean): Symbol | undefined { + if (contains(searchSymbols, referenceSymbol)) { + // If we are searching for constructor uses, they must be 'new' expressions. + return (!searchLocationIsConstructor || isNewExpressionTarget(referenceLocation)) && referenceSymbol; + } + + // If the reference symbol is an alias, check if what it is aliasing is one of the search + // symbols but by looking up for related symbol of this alias so it can handle multiple level of indirectness. + const aliasSymbol = getAliasSymbolForPropertyNameSymbol(referenceSymbol, referenceLocation); + if (aliasSymbol) { + return getRelatedSymbol(searchSymbols, aliasSymbol, referenceLocation, searchLocationIsConstructor); + } + + // If the reference location is in an object literal, try to get the contextual type for the + // object literal, lookup the property symbol in the contextual type, and use this symbol to + // compare to our searchSymbol + const containingObjectLiteralElement = getContainingObjectLiteralElement(referenceLocation); + if (containingObjectLiteralElement) { + const contextualSymbol = forEach(getPropertySymbolsFromContextualType(containingObjectLiteralElement), contextualSymbol => { + return forEach(typeChecker.getRootSymbols(contextualSymbol), s => searchSymbols.indexOf(s) >= 0 ? s : undefined); + }); + + if (contextualSymbol) { + return contextualSymbol; + } + + // If the reference location is the name of property from object literal destructuring pattern + // Get the property symbol from the object literal's type and look if thats the search symbol + // In below eg. get 'property' from type of elems iterating type + // for ( { property: p2 } of elems) { } + const propertySymbol = getPropertySymbolOfDestructuringAssignment(referenceLocation); + if (propertySymbol && searchSymbols.indexOf(propertySymbol) >= 0) { + return propertySymbol; + } + } + + // If the reference location is the binding element and doesn't have property name + // then include the binding element in the related symbols + // let { a } : { a }; + const bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(referenceSymbol); + if (bindingElementPropertySymbol && searchSymbols.indexOf(bindingElementPropertySymbol) >= 0) { + return bindingElementPropertySymbol; + } + + // Unwrap symbols to get to the root (e.g. transient symbols as a result of widening) + // Or a union property, use its underlying unioned symbols + return forEach(typeChecker.getRootSymbols(referenceSymbol), rootSymbol => { + // if it is in the list, then we are done + if (searchSymbols.indexOf(rootSymbol) >= 0) { + return rootSymbol; + } + + // Finally, try all properties with the same name in any type the containing type extended or implemented, and + // see if any is in the list + if (rootSymbol.parent && rootSymbol.parent.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { + const result: Symbol[] = []; + getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ createMap()); + return forEach(result, s => searchSymbols.indexOf(s) >= 0 ? s : undefined); + } + + return undefined; + }); + } + + function getNameFromObjectLiteralElement(node: ObjectLiteralElement) { + if (node.name.kind === SyntaxKind.ComputedPropertyName) { + const nameExpression = (node.name).expression; + // treat computed property names where expression is string/numeric literal as just string/numeric literal + if (isStringOrNumericLiteral(nameExpression.kind)) { + return (nameExpression).text; + } + return undefined; + } + return (node.name).text; + } + + function getPropertySymbolsFromContextualType(node: ObjectLiteralElement): Symbol[] { + const objectLiteral = node.parent; + const contextualType = typeChecker.getContextualType(objectLiteral); + const name = getNameFromObjectLiteralElement(node); + if (name && contextualType) { + const result: Symbol[] = []; + const symbol = contextualType.getProperty(name); + if (symbol) { + result.push(symbol); + } + + if (contextualType.flags & TypeFlags.Union) { + forEach((contextualType).types, t => { + const symbol = t.getProperty(name); + if (symbol) { + result.push(symbol); + } + }); + } + return result; + } + return undefined; + } + + /** Given an initial searchMeaning, extracted from a location, widen the search scope based on the declarations + * of the corresponding symbol. e.g. if we are searching for "Foo" in value position, but "Foo" references a class + * then we need to widen the search to include type positions as well. + * On the contrary, if we are searching for "Bar" in type position and we trace bar to an interface, and an uninstantiated + * module, we want to keep the search limited to only types, as the two declarations (interface and uninstantiated module) + * do not intersect in any of the three spaces. + */ + function getIntersectingMeaningFromDeclarations(meaning: SemanticMeaning, declarations: Declaration[]): SemanticMeaning { + if (declarations) { + let lastIterationMeaning: SemanticMeaning; + do { + // The result is order-sensitive, for instance if initialMeaning === Namespace, and declarations = [class, instantiated module] + // we need to consider both as they initialMeaning intersects with the module in the namespace space, and the module + // intersects with the class in the value space. + // To achieve that we will keep iterating until the result stabilizes. + + // Remember the last meaning + lastIterationMeaning = meaning; + + for (const declaration of declarations) { + const declarationMeaning = getMeaningFromDeclaration(declaration); + + if (declarationMeaning & meaning) { + meaning |= declarationMeaning; + } + } + } + while (meaning !== lastIterationMeaning); + } + return meaning; + } + } + + export function convertReferences(referenceSymbols: ReferencedSymbol[]): ReferenceEntry[] { + if (!referenceSymbols) { + return undefined; + } + + const referenceEntries: ReferenceEntry[] = []; + + for (const referenceSymbol of referenceSymbols) { + addRange(referenceEntries, referenceSymbol.references); + } + + return referenceEntries; + } + + function getReferenceEntryFromNode(node: Node): ReferenceEntry { + let start = node.getStart(); + let end = node.getEnd(); + + if (node.kind === SyntaxKind.StringLiteral) { + start += 1; + end -= 1; + } + + return { + fileName: node.getSourceFile().fileName, + textSpan: createTextSpanFromBounds(start, end), + isWriteAccess: isWriteAccess(node), + isDefinition: isDeclarationName(node) || isLiteralComputedPropertyDeclarationName(node) + }; + } + + /** A node is considered a writeAccess iff it is a name of a declaration or a target of an assignment */ + function isWriteAccess(node: Node): boolean { + if (node.kind === SyntaxKind.Identifier && isDeclarationName(node)) { + return true; + } + + const parent = node.parent; + if (parent) { + if (parent.kind === SyntaxKind.PostfixUnaryExpression || parent.kind === SyntaxKind.PrefixUnaryExpression) { + return true; + } + else if (parent.kind === SyntaxKind.BinaryExpression && (parent).left === node) { + const operator = (parent).operatorToken.kind; + return SyntaxKind.FirstAssignment <= operator && operator <= SyntaxKind.LastAssignment; + } + } + + return false; + } + + function forEachDescendantOfKind(node: Node, kind: SyntaxKind, action: (node: Node) => void) { + forEachChild(node, child => { + if (child.kind === kind) { + action(child); + } + forEachDescendantOfKind(child, kind, action); + }); + } + + /** + * Returns the containing object literal property declaration given a possible name node, e.g. "a" in x = { "a": 1 } + */ + function getContainingObjectLiteralElement(node: Node): ObjectLiteralElement { + switch (node.kind) { + case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: + if (node.parent.kind === SyntaxKind.ComputedPropertyName) { + return isObjectLiteralPropertyDeclaration(node.parent.parent) ? node.parent.parent : undefined; + } + // intential fall through + case SyntaxKind.Identifier: + return isObjectLiteralPropertyDeclaration(node.parent) && node.parent.name === node ? node.parent : undefined; + } + return undefined; + } + + function isObjectLiteralPropertyDeclaration(node: Node): node is ObjectLiteralElement { + switch (node.kind) { + case SyntaxKind.PropertyAssignment: + case SyntaxKind.ShorthandPropertyAssignment: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + return true; + } + return false; + } + + /** Get `C` given `N` if `N` is in the position `class C extends N` or `class C extends foo.N` where `N` is an identifier. */ + function tryGetClassByExtendingIdentifier(node: Node): ClassLikeDeclaration | undefined { + return tryGetClassExtendingExpressionWithTypeArguments(climbPastPropertyAccess(node).parent); + } + + function isNameOfExternalModuleImportOrDeclaration(node: Node): boolean { + if (node.kind === SyntaxKind.StringLiteral) { + return isNameOfModuleDeclaration(node) || isExpressionOfExternalModuleImportEqualsDeclaration(node); + } + + return false; + } +} diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index 8a27501e684..c17d38421c2 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -453,9 +453,9 @@ namespace ts.formatting { case SyntaxKind.MethodDeclaration: if ((node).asteriskToken) { return SyntaxKind.AsteriskToken; - } - // fall-through - + }/* + fall-through + */ case SyntaxKind.PropertyDeclaration: case SyntaxKind.Parameter: return (node).name.kind; @@ -732,7 +732,7 @@ namespace ts.formatting { else { // indent token only if end line of previous range does not match start line of the token const prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line; - indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine; + indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine; } } } @@ -892,7 +892,7 @@ namespace ts.formatting { } function indentationIsDifferent(indentationString: string, startLinePosition: number): boolean { - return indentationString !== sourceFile.text.substr(startLinePosition , indentationString.length); + return indentationString !== sourceFile.text.substr(startLinePosition, indentationString.length); } function indentMultilineComment(commentRange: TextRange, indentation: number, firstLineIsIndented: boolean) { @@ -936,7 +936,7 @@ namespace ts.formatting { // shift all parts on the delta size const delta = indentation - nonWhitespaceColumnInFirstPart.column; - for (let i = startIndex, len = parts.length; i < len; i++, startLine++) { + for (let i = startIndex, len = parts.length; i < len; i++ , startLine++) { const startLinePos = getStartPositionOfLine(startLine, sourceFile); const nonWhitespaceCharacterAndColumn = i === 0 diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts index 110ac9bf4ea..17ee9d435bf 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -50,6 +50,8 @@ namespace ts.formatting { // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}. public SpaceAfterOpenBrace: Rule; public SpaceBeforeCloseBrace: Rule; + public NoSpaceAfterOpenBrace: Rule; + public NoSpaceBeforeCloseBrace: Rule; public NoSpaceBetweenEmptyBraceBrackets: Rule; // Insert new line after { and before } in multi-line contexts. @@ -231,6 +233,13 @@ namespace ts.formatting { public NoSpaceBeforeCloseBraceInJsxExpression: Rule; public SpaceBeforeCloseBraceInJsxExpression: Rule; + // JSX opening elements + public SpaceBeforeJsxAttribute: Rule; + public SpaceBeforeSlashInJsxOpeningElement: Rule; + public NoSpaceBeforeGreaterThanTokenInJsxOpeningElement: Rule; + public NoSpaceBeforeEqualInJsxAttribute: Rule; + public NoSpaceAfterEqualInJsxAttribute: Rule; + constructor() { /// /// Common Rules @@ -280,6 +289,8 @@ namespace ts.formatting { // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}. this.SpaceAfterOpenBrace = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsSingleLineBlockContext), RuleAction.Space)); this.SpaceBeforeCloseBrace = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsSingleLineBlockContext), RuleAction.Space)); + this.NoSpaceAfterOpenBrace = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsSingleLineBlockContext), RuleAction.Delete)); + this.NoSpaceBeforeCloseBrace = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsSingleLineBlockContext), RuleAction.Delete)); this.NoSpaceBetweenEmptyBraceBrackets = new Rule(RuleDescriptor.create1(SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsObjectContext), RuleAction.Delete)); // Insert new line after { and before } in multi-line contexts. @@ -322,7 +333,7 @@ namespace ts.formatting { // Add a space between statements. All keywords except (do,else,case) has open/close parens after them. // So, we have a rule to add a space for [),Any], [do,Any], [else,Any], and [case,Any] - this.SpaceBetweenStatements = new Rule(RuleDescriptor.create4(Shared.TokenRange.FromTokens([SyntaxKind.CloseParenToken, SyntaxKind.DoKeyword, SyntaxKind.ElseKeyword, SyntaxKind.CaseKeyword]), Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isNonJsxElementContext, Rules.IsNotForContext), RuleAction.Space)); + this.SpaceBetweenStatements = new Rule(RuleDescriptor.create4(Shared.TokenRange.FromTokens([SyntaxKind.CloseParenToken, SyntaxKind.DoKeyword, SyntaxKind.ElseKeyword, SyntaxKind.CaseKeyword]), Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsNonJsxElementContext, Rules.IsNotForContext), RuleAction.Space)); // This low-pri rule takes care of "try {" and "finally {" in case the rule SpaceBeforeOpenBraceInControl didn't execute on FormatOnEnter. this.SpaceAfterTryFinally = new Rule(RuleDescriptor.create2(Shared.TokenRange.FromTokens([SyntaxKind.TryKeyword, SyntaxKind.FinallyKeyword]), SyntaxKind.OpenBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext), RuleAction.Space)); @@ -386,6 +397,13 @@ namespace ts.formatting { // template string this.NoSpaceBetweenTagAndTemplateString = new Rule(RuleDescriptor.create3(SyntaxKind.Identifier, Shared.TokenRange.FromTokens([SyntaxKind.NoSubstitutionTemplateLiteral, SyntaxKind.TemplateHead])), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext), RuleAction.Delete)); + // jsx opening element + this.SpaceBeforeJsxAttribute = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.Identifier), RuleOperation.create2(new RuleOperationContext(Rules.IsNextTokenParentJsxAttribute, Rules.IsNonJsxSameLineTokenContext), RuleAction.Space)); + this.SpaceBeforeSlashInJsxOpeningElement = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.SlashToken), RuleOperation.create2(new RuleOperationContext(Rules.IsJsxSelfClosingElementContext, Rules.IsNonJsxSameLineTokenContext), RuleAction.Space)); + this.NoSpaceBeforeGreaterThanTokenInJsxOpeningElement = new Rule(RuleDescriptor.create1(SyntaxKind.SlashToken, SyntaxKind.GreaterThanToken), RuleOperation.create2(new RuleOperationContext(Rules.IsJsxSelfClosingElementContext, Rules.IsNonJsxSameLineTokenContext), RuleAction.Delete)); + this.NoSpaceBeforeEqualInJsxAttribute = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.EqualsToken), RuleOperation.create2(new RuleOperationContext(Rules.IsJsxAttributeContext, Rules.IsNonJsxSameLineTokenContext), RuleAction.Delete)); + this.NoSpaceAfterEqualInJsxAttribute = new Rule(RuleDescriptor.create3(SyntaxKind.EqualsToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsJsxAttributeContext, Rules.IsNonJsxSameLineTokenContext), RuleAction.Delete)); + // These rules are higher in priority than user-configurable rules. this.HighPriorityCommonRules = [ this.IgnoreBeforeComment, this.IgnoreAfterLineComment, @@ -400,7 +418,7 @@ namespace ts.formatting { this.SpaceAfterPostdecrementWhenFollowedBySubtract, this.SpaceAfterSubtractWhenFollowedByUnaryMinus, this.SpaceAfterSubtractWhenFollowedByPredecrement, this.NoSpaceAfterCloseBrace, - this.SpaceAfterOpenBrace, this.SpaceBeforeCloseBrace, this.NewLineBeforeCloseBraceInBlockContext, + this.NewLineBeforeCloseBraceInBlockContext, this.SpaceAfterCloseBrace, this.SpaceBetweenCloseBraceAndElse, this.SpaceBetweenCloseBraceAndWhile, this.NoSpaceBetweenEmptyBraceBrackets, this.NoSpaceBetweenFunctionKeywordAndStar, this.SpaceAfterStarInGeneratorDeclaration, this.SpaceAfterFunctionInFuncDecl, this.NewLineAfterOpenBraceInBlockContext, this.SpaceAfterGetSetInMember, @@ -413,6 +431,8 @@ namespace ts.formatting { this.SpaceAfterVoidOperator, this.SpaceBetweenAsyncAndOpenParen, this.SpaceBetweenAsyncAndFunctionKeyword, this.NoSpaceBetweenTagAndTemplateString, + this.SpaceBeforeJsxAttribute, this.SpaceBeforeSlashInJsxOpeningElement, this.NoSpaceBeforeGreaterThanTokenInJsxOpeningElement, + this.NoSpaceBeforeEqualInJsxAttribute, this.NoSpaceAfterEqualInJsxAttribute, // TypeScript-specific rules this.NoSpaceAfterConstructor, this.NoSpaceAfterModuleImport, @@ -450,8 +470,8 @@ namespace ts.formatting { /// // Insert space after comma delimiter - this.SpaceAfterComma = new Rule(RuleDescriptor.create3(SyntaxKind.CommaToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isNonJsxElementContext, Rules.IsNextTokenNotCloseBracket), RuleAction.Space)); - this.NoSpaceAfterComma = new Rule(RuleDescriptor.create3(SyntaxKind.CommaToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isNonJsxElementContext), RuleAction.Delete)); + this.SpaceAfterComma = new Rule(RuleDescriptor.create3(SyntaxKind.CommaToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsNonJsxElementContext, Rules.IsNextTokenNotCloseBracket), RuleAction.Space)); + this.NoSpaceAfterComma = new Rule(RuleDescriptor.create3(SyntaxKind.CommaToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsNonJsxElementContext), RuleAction.Delete)); // Insert space before and after binary operators this.SpaceBeforeBinaryOperator = new Rule(RuleDescriptor.create4(Shared.TokenRange.Any, Shared.TokenRange.BinaryOperators), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsBinaryOpContext), RuleAction.Space)); @@ -498,10 +518,10 @@ namespace ts.formatting { this.SpaceBeforeTemplateMiddleAndTail = new Rule(RuleDescriptor.create4(Shared.TokenRange.Any, Shared.TokenRange.FromTokens([SyntaxKind.TemplateMiddle, SyntaxKind.TemplateTail])), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext), RuleAction.Space)); // No space after { and before } in JSX expression - this.NoSpaceAfterOpenBraceInJsxExpression = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isJsxExpressionContext), RuleAction.Delete)); - this.SpaceAfterOpenBraceInJsxExpression = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isJsxExpressionContext), RuleAction.Space)); - this.NoSpaceBeforeCloseBraceInJsxExpression = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isJsxExpressionContext), RuleAction.Delete)); - this.SpaceBeforeCloseBraceInJsxExpression = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.isJsxExpressionContext), RuleAction.Space)); + this.NoSpaceAfterOpenBraceInJsxExpression = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsJsxExpressionContext), RuleAction.Delete)); + this.SpaceAfterOpenBraceInJsxExpression = new Rule(RuleDescriptor.create3(SyntaxKind.OpenBraceToken, Shared.TokenRange.Any), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsJsxExpressionContext), RuleAction.Space)); + this.NoSpaceBeforeCloseBraceInJsxExpression = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsJsxExpressionContext), RuleAction.Delete)); + this.SpaceBeforeCloseBraceInJsxExpression = new Rule(RuleDescriptor.create2(Shared.TokenRange.Any, SyntaxKind.CloseBraceToken), RuleOperation.create2(new RuleOperationContext(Rules.IsNonJsxSameLineTokenContext, Rules.IsJsxExpressionContext), RuleAction.Space)); // Insert space after function keyword for anonymous functions this.SpaceAfterAnonymousFunctionKeyword = new Rule(RuleDescriptor.create1(SyntaxKind.FunctionKeyword, SyntaxKind.OpenParenToken), RuleOperation.create2(new RuleOperationContext(Rules.IsFunctionDeclContext), RuleAction.Space)); @@ -741,14 +761,26 @@ namespace ts.formatting { return context.TokensAreOnSameLine() && context.contextNode.kind !== SyntaxKind.JsxText; } - static isNonJsxElementContext(context: FormattingContext): boolean { + static IsNonJsxElementContext(context: FormattingContext): boolean { return context.contextNode.kind !== SyntaxKind.JsxElement; } - static isJsxExpressionContext(context: FormattingContext): boolean { + static IsJsxExpressionContext(context: FormattingContext): boolean { return context.contextNode.kind === SyntaxKind.JsxExpression; } + static IsNextTokenParentJsxAttribute(context: FormattingContext): boolean { + return context.nextTokenParent.kind === SyntaxKind.JsxAttribute; + } + + static IsJsxAttributeContext(context: FormattingContext): boolean { + return context.contextNode.kind === SyntaxKind.JsxAttribute; + } + + static IsJsxSelfClosingElementContext(context: FormattingContext): boolean { + return context.contextNode.kind === SyntaxKind.JsxSelfClosingElement; + } + static IsNotBeforeBlockInFunctionDeclarationContext(context: FormattingContext): boolean { return !Rules.IsFunctionDeclContext(context) && !Rules.IsBeforeBlockContext(context); } @@ -761,7 +793,7 @@ namespace ts.formatting { } static NodeIsInDecoratorContext(node: Node): boolean { - while (isExpression(node)) { + while (isPartOfExpression(node)) { node = node.parent; } return node.kind === SyntaxKind.Decorator; diff --git a/src/services/formatting/rulesMap.ts b/src/services/formatting/rulesMap.ts index 703ca566bd2..65c30908863 100644 --- a/src/services/formatting/rulesMap.ts +++ b/src/services/formatting/rulesMap.ts @@ -19,7 +19,7 @@ namespace ts.formatting { public Initialize(rules: Rule[]) { this.mapRowLength = SyntaxKind.LastToken + 1; - this.map = new Array(this.mapRowLength * this.mapRowLength); // new Array(this.mapRowLength * this.mapRowLength); + this.map = new Array(this.mapRowLength * this.mapRowLength); // new Array(this.mapRowLength * this.mapRowLength); // This array is used only during construction of the rulesbucket in the map const rulesBucketConstructionStateList: RulesBucketConstructionState[] = new Array(this.map.length); // new Array(this.map.length); diff --git a/src/services/formatting/rulesProvider.ts b/src/services/formatting/rulesProvider.ts index 1be0f9e912d..b885accaf5e 100644 --- a/src/services/formatting/rulesProvider.ts +++ b/src/services/formatting/rulesProvider.ts @@ -81,6 +81,19 @@ namespace ts.formatting { rules.push(this.globalRules.NoSpaceBetweenBrackets); } + // The default value of InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces is true + // so if the option is undefined, we should treat it as true as well + if (options.InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces !== false) { + rules.push(this.globalRules.SpaceAfterOpenBrace); + rules.push(this.globalRules.SpaceBeforeCloseBrace); + rules.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets); + } + else { + rules.push(this.globalRules.NoSpaceAfterOpenBrace); + rules.push(this.globalRules.NoSpaceBeforeCloseBrace); + rules.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets); + } + if (options.InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces) { rules.push(this.globalRules.SpaceAfterTemplateHeadAndMiddle); rules.push(this.globalRules.SpaceBeforeTemplateMiddleAndTail); diff --git a/src/services/formatting/smartIndenter.ts b/src/services/formatting/smartIndenter.ts index bf6760d9ec5..bda46401ea7 100644 --- a/src/services/formatting/smartIndenter.ts +++ b/src/services/formatting/smartIndenter.ts @@ -208,7 +208,7 @@ namespace ts.formatting { // - 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 const useActualIndentation = - (isDeclaration(current) || isStatement(current)) && + (isDeclaration(current) || isStatementButNotDeclaration(current)) && (parent.kind === SyntaxKind.SourceFile || !parentAndChildShareLine); if (!useActualIndentation) { diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts new file mode 100644 index 00000000000..4c005640d6a --- /dev/null +++ b/src/services/goToDefinition.ts @@ -0,0 +1,256 @@ +/* @internal */ +namespace ts.GoToDefinition { + export function getDefinitionAtPosition(program: Program, sourceFile: SourceFile, position: number): DefinitionInfo[] { + /// Triple slash reference comments + const comment = findReferenceInPosition(sourceFile.referencedFiles, position); + if (comment) { + const referenceFile = tryResolveScriptReference(program, sourceFile, comment); + if (referenceFile) { + return [getDefinitionInfoForFileReference(comment.fileName, referenceFile.fileName)]; + } + return undefined; + } + + // Type reference directives + const typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); + if (typeReferenceDirective) { + const referenceFile = program.getResolvedTypeReferenceDirectives()[typeReferenceDirective.fileName]; + if (referenceFile && referenceFile.resolvedFileName) { + return [getDefinitionInfoForFileReference(typeReferenceDirective.fileName, referenceFile.resolvedFileName)]; + } + return undefined; + } + + const node = getTouchingPropertyName(sourceFile, position); + if (node === sourceFile) { + return undefined; + } + + // Labels + if (isJumpStatementTarget(node)) { + const labelName = (node).text; + const label = getTargetLabel((node.parent), (node).text); + return label ? [createDefinitionInfo(label, ScriptElementKind.label, labelName, /*containerName*/ undefined)] : undefined; + } + + const typeChecker = program.getTypeChecker(); + + const calledDeclaration = tryGetSignatureDeclaration(typeChecker, node); + if (calledDeclaration) { + return [createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration)]; + } + + let symbol = typeChecker.getSymbolAtLocation(node); + + // Could not find a symbol e.g. node is string or number keyword, + // or the symbol was an internal symbol and does not have a declaration e.g. undefined symbol + if (!symbol) { + return undefined; + } + + // If this is an alias, and the request came at the declaration location + // get the aliased symbol instead. This allows for goto def on an import e.g. + // import {A, B} from "mod"; + // to jump to the implementation directly. + if (symbol.flags & SymbolFlags.Alias) { + const declaration = symbol.declarations[0]; + + // Go to the original declaration for cases: + // + // (1) when the aliased symbol was declared in the location(parent). + // (2) when the aliased symbol is originating from a named import. + // + if (node.kind === SyntaxKind.Identifier && + (node.parent === declaration || + (declaration.kind === SyntaxKind.ImportSpecifier && declaration.parent && declaration.parent.kind === SyntaxKind.NamedImports))) { + + symbol = typeChecker.getAliasedSymbol(symbol); + } + } + + // Because name in short-hand property assignment has two different meanings: property name and property value, + // using go-to-definition at such position should go to the variable declaration of the property value rather than + // 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 === SyntaxKind.ShorthandPropertyAssignment) { + const shorthandSymbol = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); + if (!shorthandSymbol) { + return []; + } + + const shorthandDeclarations = shorthandSymbol.getDeclarations(); + const shorthandSymbolKind = SymbolDisplay.getSymbolKind(typeChecker, shorthandSymbol, node); + const shorthandSymbolName = typeChecker.symbolToString(shorthandSymbol); + const shorthandContainerName = typeChecker.symbolToString(symbol.parent, node); + return map(shorthandDeclarations, + declaration => createDefinitionInfo(declaration, shorthandSymbolKind, shorthandSymbolName, shorthandContainerName)); + } + + return getDefinitionFromSymbol(typeChecker, symbol, node); + } + + /// Goto type + export function getTypeDefinitionAtPosition(typeChecker: TypeChecker, sourceFile: SourceFile, position: number): DefinitionInfo[] { + const node = getTouchingPropertyName(sourceFile, position); + if (node === sourceFile) { + return undefined; + } + + const symbol = typeChecker.getSymbolAtLocation(node); + if (!symbol) { + return undefined; + } + + const type = typeChecker.getTypeOfSymbolAtLocation(symbol, node); + if (!type) { + return undefined; + } + + if (type.flags & TypeFlags.Union && !(type.flags & TypeFlags.Enum)) { + const result: DefinitionInfo[] = []; + forEach((type).types, t => { + if (t.symbol) { + addRange(/*to*/ result, /*from*/ getDefinitionFromSymbol(typeChecker, t.symbol, node)); + } + }); + return result; + } + + if (!type.symbol) { + return undefined; + } + + return getDefinitionFromSymbol(typeChecker, type.symbol, node); + } + + function getDefinitionFromSymbol(typeChecker: TypeChecker, symbol: Symbol, node: Node): DefinitionInfo[] { + const result: DefinitionInfo[] = []; + const declarations = symbol.getDeclarations(); + const { symbolName, symbolKind, containerName } = getSymbolInfo(typeChecker, symbol, node); + + if (!tryAddConstructSignature(symbol, node, symbolKind, symbolName, containerName, result) && + !tryAddCallSignature(symbol, node, symbolKind, symbolName, containerName, result)) { + // Just add all the declarations. + forEach(declarations, declaration => { + result.push(createDefinitionInfo(declaration, symbolKind, symbolName, containerName)); + }); + } + + return result; + + function tryAddConstructSignature(symbol: Symbol, location: Node, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { + // Applicable only if we are in a new expression, or we are on a constructor declaration + // and in either case the symbol has a construct signature definition, i.e. class + if (isNewExpressionTarget(location) || location.kind === SyntaxKind.ConstructorKeyword) { + if (symbol.flags & SymbolFlags.Class) { + // Find the first class-like declaration and try to get the construct signature. + for (const declaration of symbol.getDeclarations()) { + if (isClassLike(declaration)) { + return tryAddSignature(declaration.members, + /*selectConstructors*/ true, + symbolKind, + symbolName, + containerName, + result); + } + } + + Debug.fail("Expected declaration to have at least one class-like declaration"); + } + } + return false; + } + + function tryAddCallSignature(symbol: Symbol, location: Node, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { + if (isCallExpressionTarget(location) || isNewExpressionTarget(location) || isNameOfFunctionDeclaration(location)) { + return tryAddSignature(symbol.declarations, /*selectConstructors*/ false, symbolKind, symbolName, containerName, result); + } + return false; + } + + function tryAddSignature(signatureDeclarations: Declaration[], selectConstructors: boolean, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { + const declarations: Declaration[] = []; + let definition: Declaration; + + forEach(signatureDeclarations, d => { + if ((selectConstructors && d.kind === SyntaxKind.Constructor) || + (!selectConstructors && (d.kind === SyntaxKind.FunctionDeclaration || d.kind === SyntaxKind.MethodDeclaration || d.kind === SyntaxKind.MethodSignature))) { + declarations.push(d); + if ((d).body) definition = d; + } + }); + + if (definition) { + result.push(createDefinitionInfo(definition, symbolKind, symbolName, containerName)); + return true; + } + else if (declarations.length) { + result.push(createDefinitionInfo(lastOrUndefined(declarations), symbolKind, symbolName, containerName)); + return true; + } + + return false; + } + } + + function createDefinitionInfo(node: Node, symbolKind: string, symbolName: string, containerName: string): DefinitionInfo { + return { + fileName: node.getSourceFile().fileName, + textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()), + kind: symbolKind, + name: symbolName, + containerKind: undefined, + containerName + }; + } + + function getSymbolInfo(typeChecker: TypeChecker, symbol: Symbol, node: Node) { + return { + symbolName: typeChecker.symbolToString(symbol), // Do not get scoped name, just the name of the symbol + symbolKind: SymbolDisplay.getSymbolKind(typeChecker, symbol, node), + containerName: symbol.parent ? typeChecker.symbolToString(symbol.parent, node) : "" + }; + } + + function createDefinitionFromSignatureDeclaration(typeChecker: TypeChecker, decl: SignatureDeclaration): DefinitionInfo { + const { symbolName, symbolKind, containerName } = getSymbolInfo(typeChecker, decl.symbol, decl); + return createDefinitionInfo(decl, symbolKind, symbolName, containerName); + } + + function findReferenceInPosition(refs: FileReference[], pos: number): FileReference { + for (const ref of refs) { + if (ref.pos <= pos && pos < ref.end) { + return ref; + } + } + return undefined; + } + + function getDefinitionInfoForFileReference(name: string, targetFileName: string): DefinitionInfo { + return { + fileName: targetFileName, + textSpan: createTextSpanFromBounds(0, 0), + kind: ScriptElementKind.scriptElement, + name: name, + containerName: undefined, + containerKind: undefined + }; + } + + /** Returns a CallLikeExpression where `node` is the target being invoked. */ + function getAncestorCallLikeExpression(node: Node): CallLikeExpression | undefined { + const target = climbPastManyPropertyAccesses(node); + const callLike = target.parent; + return callLike && isCallLikeExpression(callLike) && getInvokedExpression(callLike) === target && callLike; + } + + function climbPastManyPropertyAccesses(node: Node): Node { + return isRightSideOfPropertyAccess(node) ? climbPastManyPropertyAccesses(node.parent) : node; + } + + function tryGetSignatureDeclaration(typeChecker: TypeChecker, node: Node): SignatureDeclaration | undefined { + const callLike = getAncestorCallLikeExpression(node); + return callLike && typeChecker.getResolvedSignature(callLike).declaration; + } +} diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts new file mode 100644 index 00000000000..f40a8013426 --- /dev/null +++ b/src/services/jsDoc.ts @@ -0,0 +1,545 @@ +/* @internal */ +namespace ts.JsDoc { + const jsDocTagNames = [ + "augments", + "author", + "argument", + "borrows", + "class", + "constant", + "constructor", + "constructs", + "default", + "deprecated", + "description", + "event", + "example", + "extends", + "field", + "fileOverview", + "function", + "ignore", + "inner", + "lends", + "link", + "memberOf", + "name", + "namespace", + "param", + "private", + "property", + "public", + "requires", + "returns", + "see", + "since", + "static", + "throws", + "type", + "typedef", + "property", + "prop", + "version" + ]; + let jsDocCompletionEntries: CompletionEntry[]; + + export function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string, canUseParsedParamTagComments: boolean) { + const documentationComment = []; + const docComments = getJsDocCommentsSeparatedByNewLines(); + ts.forEach(docComments, docComment => { + if (documentationComment.length) { + documentationComment.push(lineBreakPart()); + } + documentationComment.push(docComment); + }); + + return documentationComment; + + function getJsDocCommentsSeparatedByNewLines() { + const paramTag = "@param"; + const jsDocCommentParts: SymbolDisplayPart[] = []; + + ts.forEach(declarations, (declaration, indexOfDeclaration) => { + // Make sure we are collecting doc comment from declaration once, + // In case of union property there might be same declaration multiple times + // which only varies in type parameter + // Eg. const a: Array | Array; a.length + // The property length will have two declarations of property length coming + // from Array - Array and Array + if (indexOf(declarations, declaration) === indexOfDeclaration) { + const sourceFileOfDeclaration = getSourceFileOfNode(declaration); + // If it is parameter - try and get the jsDoc comment with @param tag from function declaration's jsDoc comments + if (canUseParsedParamTagComments && declaration.kind === SyntaxKind.Parameter) { + if ((declaration.parent.kind === SyntaxKind.FunctionExpression || declaration.parent.kind === SyntaxKind.ArrowFunction) && + declaration.parent.parent.kind === SyntaxKind.VariableDeclaration) { + addCommentParts(declaration.parent.parent.parent, sourceFileOfDeclaration, getCleanedParamJsDocComment); + } + addCommentParts(declaration.parent, sourceFileOfDeclaration, getCleanedParamJsDocComment); + } + + // If this is left side of dotted module declaration, there is no doc comments associated with this node + if (declaration.kind === SyntaxKind.ModuleDeclaration && (declaration).body && (declaration).body.kind === SyntaxKind.ModuleDeclaration) { + return; + } + + if ((declaration.kind === SyntaxKind.FunctionExpression || declaration.kind === SyntaxKind.ArrowFunction) && + declaration.parent.kind === SyntaxKind.VariableDeclaration) { + addCommentParts(declaration.parent.parent, sourceFileOfDeclaration, getCleanedJsDocComment); + } + + // If this is dotted module name, get the doc comments from the parent + while (declaration.kind === SyntaxKind.ModuleDeclaration && declaration.parent.kind === SyntaxKind.ModuleDeclaration) { + declaration = declaration.parent; + } + addCommentParts(declaration.kind === SyntaxKind.VariableDeclaration ? declaration.parent.parent : declaration, + sourceFileOfDeclaration, + getCleanedJsDocComment); + + if (declaration.kind === SyntaxKind.VariableDeclaration) { + const init = (declaration as VariableDeclaration).initializer; + if (init && (init.kind === SyntaxKind.FunctionExpression || init.kind === SyntaxKind.ArrowFunction)) { + // Get the cleaned js doc comment text from the initializer + addCommentParts(init, sourceFileOfDeclaration, getCleanedJsDocComment); + } + } + } + }); + + return jsDocCommentParts; + + function addCommentParts(commented: Node, + sourceFileOfDeclaration: SourceFile, + getCommentPart: (pos: number, end: number, file: SourceFile) => SymbolDisplayPart[]): void { + const ranges = getJsDocCommentTextRange(commented, sourceFileOfDeclaration); + // Get the cleaned js doc comment text from the declaration + ts.forEach(ranges, jsDocCommentTextRange => { + const cleanedComment = getCommentPart(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration); + if (cleanedComment) { + addRange(jsDocCommentParts, cleanedComment); + } + }); + } + + function getJsDocCommentTextRange(node: Node, sourceFile: SourceFile): TextRange[] { + return ts.map(getJsDocComments(node, sourceFile), + jsDocComment => { + return { + pos: jsDocComment.pos + "/*".length, // Consume /* from the comment + end: jsDocComment.end - "*/".length // Trim off comment end indicator + }; + }); + } + + function consumeWhiteSpacesOnTheLine(pos: number, end: number, sourceFile: SourceFile, maxSpacesToRemove?: number) { + if (maxSpacesToRemove !== undefined) { + end = Math.min(end, pos + maxSpacesToRemove); + } + + for (; pos < end; pos++) { + const ch = sourceFile.text.charCodeAt(pos); + if (!isWhiteSpaceSingleLine(ch)) { + return pos; + } + } + + return end; + } + + function consumeLineBreaks(pos: number, end: number, sourceFile: SourceFile) { + while (pos < end && isLineBreak(sourceFile.text.charCodeAt(pos))) { + pos++; + } + + return pos; + } + + function isName(pos: number, end: number, sourceFile: SourceFile, name: string) { + return pos + name.length < end && + sourceFile.text.substr(pos, name.length) === name && + isWhiteSpace(sourceFile.text.charCodeAt(pos + name.length)); + } + + function isParamTag(pos: number, end: number, sourceFile: SourceFile) { + // If it is @param tag + return isName(pos, end, sourceFile, paramTag); + } + + function pushDocCommentLineText(docComments: SymbolDisplayPart[], text: string, blankLineCount: number) { + // Add the empty lines in between texts + while (blankLineCount) { + blankLineCount--; + docComments.push(textPart("")); + } + + docComments.push(textPart(text)); + } + + function getCleanedJsDocComment(pos: number, end: number, sourceFile: SourceFile) { + let spacesToRemoveAfterAsterisk: number; + const docComments: SymbolDisplayPart[] = []; + let blankLineCount = 0; + let isInParamTag = false; + + while (pos < end) { + let docCommentTextOfLine = ""; + // First consume leading white space + pos = consumeWhiteSpacesOnTheLine(pos, end, sourceFile); + + // If the comment starts with '*' consume the spaces on this line + if (pos < end && sourceFile.text.charCodeAt(pos) === CharacterCodes.asterisk) { + const lineStartPos = pos + 1; + pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, spacesToRemoveAfterAsterisk); + + // Set the spaces to remove after asterisk as margin if not already set + if (spacesToRemoveAfterAsterisk === undefined && pos < end && !isLineBreak(sourceFile.text.charCodeAt(pos))) { + spacesToRemoveAfterAsterisk = pos - lineStartPos; + } + } + else if (spacesToRemoveAfterAsterisk === undefined) { + spacesToRemoveAfterAsterisk = 0; + } + + // Analyze text on this line + while (pos < end && !isLineBreak(sourceFile.text.charCodeAt(pos))) { + const ch = sourceFile.text.charAt(pos); + if (ch === "@") { + // If it is @param tag + if (isParamTag(pos, end, sourceFile)) { + isInParamTag = true; + pos += paramTag.length; + continue; + } + else { + isInParamTag = false; + } + } + + // Add the ch to doc text if we arent in param tag + if (!isInParamTag) { + docCommentTextOfLine += ch; + } + + // Scan next character + pos++; + } + + // Continue with next line + pos = consumeLineBreaks(pos, end, sourceFile); + if (docCommentTextOfLine) { + pushDocCommentLineText(docComments, docCommentTextOfLine, blankLineCount); + blankLineCount = 0; + } + else if (!isInParamTag && docComments.length) { + // This is blank line when there is text already parsed + blankLineCount++; + } + } + + return docComments; + } + + function getCleanedParamJsDocComment(pos: number, end: number, sourceFile: SourceFile) { + let paramHelpStringMargin: number; + const paramDocComments: SymbolDisplayPart[] = []; + while (pos < end) { + if (isParamTag(pos, end, sourceFile)) { + let blankLineCount = 0; + let recordedParamTag = false; + // Consume leading spaces + pos = consumeWhiteSpaces(pos + paramTag.length); + if (pos >= end) { + break; + } + + // Ignore type expression + if (sourceFile.text.charCodeAt(pos) === CharacterCodes.openBrace) { + pos++; + for (let curlies = 1; pos < end; pos++) { + const charCode = sourceFile.text.charCodeAt(pos); + + // { character means we need to find another } to match the found one + if (charCode === CharacterCodes.openBrace) { + curlies++; + continue; + } + + // } char + if (charCode === CharacterCodes.closeBrace) { + curlies--; + if (curlies === 0) { + // We do not have any more } to match the type expression is ignored completely + pos++; + break; + } + else { + // there are more { to be matched with } + continue; + } + } + + // Found start of another tag + if (charCode === CharacterCodes.at) { + break; + } + } + + // Consume white spaces + pos = consumeWhiteSpaces(pos); + if (pos >= end) { + break; + } + } + + // Parameter name + if (isName(pos, end, sourceFile, name)) { + // Found the parameter we are looking for consume white spaces + pos = consumeWhiteSpaces(pos + name.length); + if (pos >= end) { + break; + } + + let paramHelpString = ""; + const firstLineParamHelpStringPos = pos; + while (pos < end) { + const ch = sourceFile.text.charCodeAt(pos); + + // at line break, set this comment line text and go to next line + if (isLineBreak(ch)) { + if (paramHelpString) { + pushDocCommentLineText(paramDocComments, paramHelpString, blankLineCount); + paramHelpString = ""; + blankLineCount = 0; + recordedParamTag = true; + } + else if (recordedParamTag) { + blankLineCount++; + } + + // Get the pos after cleaning start of the line + setPosForParamHelpStringOnNextLine(firstLineParamHelpStringPos); + continue; + } + + // Done scanning param help string - next tag found + if (ch === CharacterCodes.at) { + break; + } + + paramHelpString += sourceFile.text.charAt(pos); + + // Go to next character + pos++; + } + + // If there is param help text, add it top the doc comments + if (paramHelpString) { + pushDocCommentLineText(paramDocComments, paramHelpString, blankLineCount); + } + paramHelpStringMargin = undefined; + } + + // If this is the start of another tag, continue with the loop in search of param tag with symbol name + if (sourceFile.text.charCodeAt(pos) === CharacterCodes.at) { + continue; + } + } + + // Next character + pos++; + } + + return paramDocComments; + + function consumeWhiteSpaces(pos: number) { + while (pos < end && isWhiteSpaceSingleLine(sourceFile.text.charCodeAt(pos))) { + pos++; + } + + return pos; + } + + function setPosForParamHelpStringOnNextLine(firstLineParamHelpStringPos: number) { + // Get the pos after consuming line breaks + pos = consumeLineBreaks(pos, end, sourceFile); + if (pos >= end) { + return; + } + + if (paramHelpStringMargin === undefined) { + paramHelpStringMargin = sourceFile.getLineAndCharacterOfPosition(firstLineParamHelpStringPos).character; + } + + // Now consume white spaces max + const startOfLinePos = pos; + pos = consumeWhiteSpacesOnTheLine(pos, end, sourceFile, paramHelpStringMargin); + if (pos >= end) { + return; + } + + const consumedSpaces = pos - startOfLinePos; + if (consumedSpaces < paramHelpStringMargin) { + const ch = sourceFile.text.charCodeAt(pos); + if (ch === CharacterCodes.asterisk) { + // Consume more spaces after asterisk + pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, paramHelpStringMargin - consumedSpaces - 1); + } + } + } + } + } + } + + export function getAllJsDocCompletionEntries(): CompletionEntry[] { + return jsDocCompletionEntries || (jsDocCompletionEntries = ts.map(jsDocTagNames, tagName => { + return { + name: tagName, + kind: ScriptElementKind.keyword, + kindModifiers: "", + sortText: "0", + }; + })); + } + + /** + * Checks if position points to a valid position to add JSDoc comments, and if so, + * returns the appropriate template. Otherwise returns an empty string. + * Valid positions are + * - outside of comments, statements, and expressions, and + * - preceding a: + * - function/constructor/method declaration + * - class declarations + * - variable statements + * - namespace declarations + * + * Hosts should ideally check that: + * - The line is all whitespace up to 'position' before performing the insertion. + * - If the keystroke sequence "/\*\*" induced the call, we also check that the next + * non-whitespace character is '*', which (approximately) indicates whether we added + * the second '*' to complete an existing (JSDoc) comment. + * @param fileName The file in which to perform the check. + * @param position The (character-indexed) position in the file where the check should + * be performed. + */ + export function getDocCommentTemplateAtPosition(newLine: string, sourceFile: SourceFile, position: number): TextInsertion { + // Check if in a context where we don't want to perform any insertion + if (isInString(sourceFile, position) || isInComment(sourceFile, position) || hasDocComment(sourceFile, position)) { + return undefined; + } + + const tokenAtPos = getTokenAtPosition(sourceFile, position); + const tokenStart = tokenAtPos.getStart(); + if (!tokenAtPos || tokenStart < position) { + return undefined; + } + + // TODO: add support for: + // - enums/enum members + // - interfaces + // - property declarations + // - potentially property assignments + let commentOwner: Node; + findOwner: for (commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { + switch (commentOwner.kind) { + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.Constructor: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.VariableStatement: + break findOwner; + case SyntaxKind.SourceFile: + return undefined; + case SyntaxKind.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 { }'. + if (commentOwner.parent.kind === SyntaxKind.ModuleDeclaration) { + return undefined; + } + break findOwner; + } + } + + if (!commentOwner || commentOwner.getStart() < position) { + return undefined; + } + + const parameters = getParametersForJsDocOwningNode(commentOwner); + const posLineAndChar = sourceFile.getLineAndCharacterOfPosition(position); + const lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; + + const indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character); + + let docParams = ""; + for (let i = 0, numParams = parameters.length; i < numParams; i++) { + const currentName = parameters[i].name; + const paramName = currentName.kind === SyntaxKind.Identifier ? + (currentName).text : + "param" + i; + + 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) + // * the '@param'-tagged lines + // * TODO: other tags. + // * the closing comment line + // * if the caret was directly in front of the object, then we add an extra line and indentation. + const preamble = "/**" + newLine + + indentationStr + " * "; + const result = + preamble + newLine + + docParams + + indentationStr + " */" + + (tokenStart === position ? newLine + indentationStr : ""); + + return { newText: result, caretOffset: preamble.length }; + } + + function getParametersForJsDocOwningNode(commentOwner: Node): ParameterDeclaration[] { + if (isFunctionLike(commentOwner)) { + return commentOwner.parameters; + } + + if (commentOwner.kind === SyntaxKind.VariableStatement) { + const varStatement = commentOwner; + const varDeclarations = varStatement.declarationList.declarations; + + if (varDeclarations.length === 1 && varDeclarations[0].initializer) { + return getParametersFromRightHandSideOfAssignment(varDeclarations[0].initializer); + } + } + + return emptyArray; + } + + /** + * Digs into an an initializer or RHS operand of an assignment operation + * to get the parameters of an apt signature corresponding to a + * function expression or a class expression. + * + * @param rightHandSide the expression which may contain an appropriate set of parameters + * @returns the parameters of a signature found on the RHS if one exists; otherwise 'emptyArray'. + */ + function getParametersFromRightHandSideOfAssignment(rightHandSide: Expression): ParameterDeclaration[] { + while (rightHandSide.kind === SyntaxKind.ParenthesizedExpression) { + rightHandSide = (rightHandSide).expression; + } + + switch (rightHandSide.kind) { + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + return (rightHandSide).parameters; + case SyntaxKind.ClassExpression: + for (const member of (rightHandSide).members) { + if (member.kind === SyntaxKind.Constructor) { + return (member).parameters; + } + } + break; + } + + return emptyArray; + } +} diff --git a/src/services/jsTyping.ts b/src/services/jsTyping.ts index 3b013a4a924..4f0e06244d2 100644 --- a/src/services/jsTyping.ts +++ b/src/services/jsTyping.ts @@ -47,7 +47,7 @@ namespace ts.JsTyping { { cachedTypingPaths: string[], newTypingNames: string[], filesToWatch: string[] } { // A typing name to typing file path mapping - const inferredTypings: Map = {}; + const inferredTypings = createMap(); if (!typingOptions || !typingOptions.enableAutoDiscovery) { return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; @@ -58,12 +58,7 @@ namespace ts.JsTyping { if (!safeList) { const result = readConfigFile(safeListPath, (path: string) => host.readFile(path)); - if (result.config) { - safeList = result.config; - } - else { - safeList = {}; - }; + safeList = createMap(result.config); } const filesToWatch: string[] = []; @@ -93,7 +88,7 @@ namespace ts.JsTyping { // Add the cached typing locations for inferred typings that are already installed for (const name in packageNameToTypingLocation) { - if (hasProperty(inferredTypings, name) && !inferredTypings[name]) { + if (name in inferredTypings && !inferredTypings[name]) { inferredTypings[name] = packageNameToTypingLocation[name]; } } @@ -124,7 +119,7 @@ namespace ts.JsTyping { } for (const typing of typingNames) { - if (!hasProperty(inferredTypings, typing)) { + if (!(typing in inferredTypings)) { inferredTypings[typing] = undefined; } } @@ -139,16 +134,16 @@ namespace ts.JsTyping { const jsonConfig: PackageJson = result.config; filesToWatch.push(jsonPath); if (jsonConfig.dependencies) { - mergeTypings(getKeys(jsonConfig.dependencies)); + mergeTypings(getOwnKeys(jsonConfig.dependencies)); } if (jsonConfig.devDependencies) { - mergeTypings(getKeys(jsonConfig.devDependencies)); + mergeTypings(getOwnKeys(jsonConfig.devDependencies)); } if (jsonConfig.optionalDependencies) { - mergeTypings(getKeys(jsonConfig.optionalDependencies)); + mergeTypings(getOwnKeys(jsonConfig.optionalDependencies)); } if (jsonConfig.peerDependencies) { - mergeTypings(getKeys(jsonConfig.peerDependencies)); + mergeTypings(getOwnKeys(jsonConfig.peerDependencies)); } } } @@ -167,7 +162,7 @@ namespace ts.JsTyping { mergeTypings(cleanedTypingNames); } else { - mergeTypings(filter(cleanedTypingNames, f => hasProperty(safeList, f))); + mergeTypings(filter(cleanedTypingNames, f => f in safeList)); } const hasJsxFile = forEach(fileNames, f => scriptKindIs(f, /*LanguageServiceHost*/ undefined, ScriptKind.JSX)); diff --git a/src/services/navigateTo.ts b/src/services/navigateTo.ts index e9afb6925b5..ccded188e61 100644 --- a/src/services/navigateTo.ts +++ b/src/services/navigateTo.ts @@ -15,7 +15,7 @@ namespace ts.NavigateTo { const nameToDeclarations = sourceFile.getNamedDeclarations(); for (const name in nameToDeclarations) { - const declarations = getProperty(nameToDeclarations, name); + const declarations = nameToDeclarations[name]; if (declarations) { // First do a quick check to see if the name of the declaration matches the // last portion of the (possibly) dotted name they're searching for. diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 022c538e762..c2a5b745d3a 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -234,7 +234,7 @@ namespace ts.NavigationBar { /** Merge declarations of the same kind. */ function mergeChildren(children: NavigationBarNode[]): void { - const nameToItems: Map = {}; + const nameToItems = createMap(); filterMutate(children, child => { const decl = child.node; const name = decl.name && nodeText(decl.name); @@ -243,7 +243,7 @@ namespace ts.NavigationBar { return true; } - const itemsWithSameName = getProperty(nameToItems, name); + const itemsWithSameName = nameToItems[name]; if (!itemsWithSameName) { nameToItems[name] = child; return true; @@ -397,7 +397,7 @@ namespace ts.NavigationBar { case SyntaxKind.FunctionExpression: case SyntaxKind.ClassDeclaration: case SyntaxKind.ClassExpression: - if (node.flags & NodeFlags.Default) { + if (getModifierFlags(node) & ModifierFlags.Default) { return "default"; } return getFunctionOrClassName(node); @@ -466,6 +466,7 @@ namespace ts.NavigationBar { case SyntaxKind.MethodDeclaration: case SyntaxKind.GetAccessor: case SyntaxKind.SetAccessor: + case SyntaxKind.VariableDeclaration: return hasSomeImportantChild(item); case SyntaxKind.ArrowFunction: @@ -506,7 +507,7 @@ namespace ts.NavigationBar { function convertToTopLevelItem(n: NavigationBarNode): NavigationBarItem { return { text: getItemName(n.node), - kind: nodeKind(n.node), + kind: getNodeKind(n.node), kindModifiers: getNodeModifiers(n.node), spans: getSpans(n), childItems: map(n.children, convertToChildItem) || emptyChildItemArray, @@ -518,7 +519,7 @@ namespace ts.NavigationBar { function convertToChildItem(n: NavigationBarNode): NavigationBarItem { return { text: getItemName(n.node), - kind: nodeKind(n.node), + kind: getNodeKind(n.node), kindModifiers: getNodeModifiers(n.node), spans: getSpans(n), childItems: emptyChildItemArray, @@ -539,57 +540,6 @@ namespace ts.NavigationBar { } } - // TODO: GH#9145: We should just use getNodeKind. No reason why navigationBar and navigateTo should have different behaviors. - function nodeKind(node: Node): string { - switch (node.kind) { - case SyntaxKind.SourceFile: - return ScriptElementKind.moduleElement; - - case SyntaxKind.EnumMember: - return ScriptElementKind.memberVariableElement; - - case SyntaxKind.VariableDeclaration: - case SyntaxKind.BindingElement: - let variableDeclarationNode: Node; - let name: Node; - - if (node.kind === SyntaxKind.BindingElement) { - name = (node).name; - variableDeclarationNode = node; - // binding elements are added only for variable declarations - // bubble up to the containing variable declaration - while (variableDeclarationNode && variableDeclarationNode.kind !== SyntaxKind.VariableDeclaration) { - variableDeclarationNode = variableDeclarationNode.parent; - } - Debug.assert(!!variableDeclarationNode); - } - else { - Debug.assert(!isBindingPattern((node).name)); - variableDeclarationNode = node; - name = (node).name; - } - - if (isConst(variableDeclarationNode)) { - return ts.ScriptElementKind.constElement; - } - else if (isLet(variableDeclarationNode)) { - return ts.ScriptElementKind.letElement; - } - else { - return ts.ScriptElementKind.variableElement; - } - - case SyntaxKind.ArrowFunction: - return ts.ScriptElementKind.functionElement; - - case SyntaxKind.JSDocTypedefTag: - return ScriptElementKind.typeElement; - - default: - return getNodeKind(node); - } - } - function getModuleName(moduleDeclaration: ModuleDeclaration): string { // We want to maintain quotation marks. if (isAmbientModule(moduleDeclaration)) { @@ -646,7 +596,7 @@ namespace ts.NavigationBar { return nodeText((node.parent as PropertyAssignment).name); } // Default exports are named "default" - else if (node.flags & NodeFlags.Default) { + else if (getModifierFlags(node) & ModifierFlags.Default) { return "default"; } else { diff --git a/src/services/patternMatcher.ts b/src/services/patternMatcher.ts index 3d20337eca7..b4f67ca056d 100644 --- a/src/services/patternMatcher.ts +++ b/src/services/patternMatcher.ts @@ -113,7 +113,7 @@ namespace ts { // we see the name of a module that is used everywhere, or the name of an overload). As // such, we cache the information we compute about the candidate for the life of this // pattern matcher so we don't have to compute it multiple times. - const stringToWordSpans: Map = {}; + const stringToWordSpans = createMap(); pattern = pattern.trim(); @@ -188,7 +188,7 @@ namespace ts { } function getWordSpans(word: string): TextSpan[] { - if (!hasProperty(stringToWordSpans, word)) { + if (!(word in stringToWordSpans)) { stringToWordSpans[word] = breakIntoWordSpans(word); } diff --git a/src/services/preProcess.ts b/src/services/preProcess.ts new file mode 100644 index 00000000000..0f0702066e1 --- /dev/null +++ b/src/services/preProcess.ts @@ -0,0 +1,359 @@ +namespace ts { + export function preProcessFile(sourceText: string, readImportFiles = true, detectJavaScriptImports = false): PreProcessedFileInfo { + const referencedFiles: FileReference[] = []; + const typeReferenceDirectives: FileReference[] = []; + const importedFiles: FileReference[] = []; + let ambientExternalModules: { ref: FileReference, depth: number }[]; + let isNoDefaultLib = false; + let braceNesting = 0; + // assume that text represent an external module if it contains at least one top level import/export + // ambient modules that are found inside external modules are interpreted as module augmentations + let externalModule = false; + + function nextToken() { + const token = scanner.scan(); + if (token === SyntaxKind.OpenBraceToken) { + braceNesting++; + } + else if (token === SyntaxKind.CloseBraceToken) { + braceNesting--; + } + return token; + } + + function processTripleSlashDirectives(): void { + const commentRanges = getLeadingCommentRanges(sourceText, 0); + forEach(commentRanges, commentRange => { + const comment = sourceText.substring(commentRange.pos, commentRange.end); + const referencePathMatchResult = getFileReferenceFromReferencePath(comment, commentRange); + if (referencePathMatchResult) { + isNoDefaultLib = referencePathMatchResult.isNoDefaultLib; + const fileReference = referencePathMatchResult.fileReference; + if (fileReference) { + const collection = referencePathMatchResult.isTypeReferenceDirective + ? typeReferenceDirectives + : referencedFiles; + + collection.push(fileReference); + } + } + }); + } + + function getFileReference() { + const file = scanner.getTokenValue(); + const pos = scanner.getTokenPos(); + return { + fileName: file, + pos: pos, + end: pos + file.length + }; + } + + function recordAmbientExternalModule(): void { + if (!ambientExternalModules) { + ambientExternalModules = []; + } + ambientExternalModules.push({ ref: getFileReference(), depth: braceNesting }); + } + + function recordModuleName() { + importedFiles.push(getFileReference()); + + markAsExternalModuleIfTopLevel(); + } + + function markAsExternalModuleIfTopLevel() { + if (braceNesting === 0) { + externalModule = true; + } + } + + /** + * Returns true if at least one token was consumed from the stream + */ + function tryConsumeDeclare(): boolean { + let token = scanner.getToken(); + if (token === SyntaxKind.DeclareKeyword) { + // declare module "mod" + token = nextToken(); + if (token === SyntaxKind.ModuleKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + recordAmbientExternalModule(); + } + } + return true; + } + + return false; + } + + /** + * Returns true if at least one token was consumed from the stream + */ + function tryConsumeImport(): boolean { + let token = scanner.getToken(); + if (token === SyntaxKind.ImportKeyword) { + + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // import "mod"; + recordModuleName(); + return true; + } + else { + if (token === SyntaxKind.Identifier || isKeyword(token)) { + token = nextToken(); + if (token === SyntaxKind.FromKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // import d from "mod"; + recordModuleName(); + return true; + } + } + else if (token === SyntaxKind.EqualsToken) { + if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { + return true; + } + } + else if (token === SyntaxKind.CommaToken) { + // consume comma and keep going + token = nextToken(); + } + else { + // unknown syntax + return true; + } + } + + if (token === SyntaxKind.OpenBraceToken) { + token = nextToken(); + // consume "{ a as B, c, d as D}" clauses + // make sure that it stops on EOF + while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { + token = nextToken(); + } + + if (token === SyntaxKind.CloseBraceToken) { + token = nextToken(); + if (token === SyntaxKind.FromKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // import {a as A} from "mod"; + // import d, {a, b as B} from "mod" + recordModuleName(); + } + } + } + } + else if (token === SyntaxKind.AsteriskToken) { + token = nextToken(); + if (token === SyntaxKind.AsKeyword) { + token = nextToken(); + if (token === SyntaxKind.Identifier || isKeyword(token)) { + token = nextToken(); + if (token === SyntaxKind.FromKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // import * as NS from "mod" + // import d, * as NS from "mod" + recordModuleName(); + } + } + } + } + } + } + + return true; + } + + return false; + } + + function tryConsumeExport(): boolean { + let token = scanner.getToken(); + if (token === SyntaxKind.ExportKeyword) { + markAsExternalModuleIfTopLevel(); + token = nextToken(); + if (token === SyntaxKind.OpenBraceToken) { + token = nextToken(); + // consume "{ a as B, c, d as D}" clauses + // make sure it stops on EOF + while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { + token = nextToken(); + } + + if (token === SyntaxKind.CloseBraceToken) { + token = nextToken(); + if (token === SyntaxKind.FromKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // export {a as A} from "mod"; + // export {a, b as B} from "mod" + recordModuleName(); + } + } + } + } + else if (token === SyntaxKind.AsteriskToken) { + token = nextToken(); + if (token === SyntaxKind.FromKeyword) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // export * from "mod" + recordModuleName(); + } + } + } + else if (token === SyntaxKind.ImportKeyword) { + token = nextToken(); + if (token === SyntaxKind.Identifier || isKeyword(token)) { + token = nextToken(); + if (token === SyntaxKind.EqualsToken) { + if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { + return true; + } + } + } + } + + return true; + } + + return false; + } + + function tryConsumeRequireCall(skipCurrentToken: boolean): boolean { + let token = skipCurrentToken ? nextToken() : scanner.getToken(); + if (token === SyntaxKind.RequireKeyword) { + token = nextToken(); + if (token === SyntaxKind.OpenParenToken) { + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // require("mod"); + recordModuleName(); + } + } + return true; + } + return false; + } + + function tryConsumeDefine(): boolean { + let token = scanner.getToken(); + if (token === SyntaxKind.Identifier && scanner.getTokenValue() === "define") { + token = nextToken(); + if (token !== SyntaxKind.OpenParenToken) { + return true; + } + + token = nextToken(); + if (token === SyntaxKind.StringLiteral) { + // looks like define ("modname", ... - skip string literal and comma + token = nextToken(); + if (token === SyntaxKind.CommaToken) { + token = nextToken(); + } + else { + // unexpected token + return true; + } + } + + // should be start of dependency list + if (token !== SyntaxKind.OpenBracketToken) { + return true; + } + + // skip open bracket + token = nextToken(); + let i = 0; + // scan until ']' or EOF + while (token !== SyntaxKind.CloseBracketToken && token !== SyntaxKind.EndOfFileToken) { + // record string literals as module names + if (token === SyntaxKind.StringLiteral) { + recordModuleName(); + i++; + } + + token = nextToken(); + } + return true; + + } + return false; + } + + function processImports(): void { + scanner.setText(sourceText); + nextToken(); + // Look for: + // import "mod"; + // import d from "mod" + // import {a as A } from "mod"; + // import * as NS from "mod" + // import d, {a, b as B} from "mod" + // import i = require("mod"); + // + // export * from "mod" + // export {a as b} from "mod" + // export import i = require("mod") + // (for JavaScript files) require("mod") + + while (true) { + if (scanner.getToken() === SyntaxKind.EndOfFileToken) { + break; + } + + // check if at least one of alternative have moved scanner forward + if (tryConsumeDeclare() || + tryConsumeImport() || + tryConsumeExport() || + (detectJavaScriptImports && (tryConsumeRequireCall(/*skipCurrentToken*/ false) || tryConsumeDefine()))) { + continue; + } + else { + nextToken(); + } + } + + scanner.setText(undefined); + } + + if (readImportFiles) { + processImports(); + } + processTripleSlashDirectives(); + if (externalModule) { + // for external modules module all nested ambient modules are augmentations + if (ambientExternalModules) { + // move all detected ambient modules to imported files since they need to be resolved + for (const decl of ambientExternalModules) { + importedFiles.push(decl.ref); + } + } + return { referencedFiles, typeReferenceDirectives, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: undefined }; + } + else { + // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 + let ambientModuleNames: string[]; + if (ambientExternalModules) { + for (const decl of ambientExternalModules) { + if (decl.depth === 0) { + if (!ambientModuleNames) { + ambientModuleNames = []; + } + ambientModuleNames.push(decl.ref.fileName); + } + else { + importedFiles.push(decl.ref); + } + } + } + return { referencedFiles, typeReferenceDirectives, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: ambientModuleNames }; + } + } +} diff --git a/src/services/rename.ts b/src/services/rename.ts new file mode 100644 index 00000000000..6f28e505f79 --- /dev/null +++ b/src/services/rename.ts @@ -0,0 +1,98 @@ +/* @internal */ +namespace ts.Rename { + export function getRenameInfo(typeChecker: TypeChecker, defaultLibFileName: string, getCanonicalFileName: (fileName: string) => string, sourceFile: SourceFile, position: number): RenameInfo { + const canonicalDefaultLibName = getCanonicalFileName(ts.normalizePath(defaultLibFileName)); + + const node = getTouchingWord(sourceFile, position, /*includeJsDocComment*/ true); + + if (node) { + if (node.kind === SyntaxKind.Identifier || + node.kind === SyntaxKind.StringLiteral || + isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || + isThis(node)) { + const symbol = typeChecker.getSymbolAtLocation(node); + + // Only allow a symbol to be renamed if it actually has at least one declaration. + if (symbol) { + const declarations = symbol.getDeclarations(); + if (declarations && declarations.length > 0) { + // Disallow rename for elements that are defined in the standard TypeScript library. + if (forEach(declarations, isDefinedInLibraryFile)) { + return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library)); + } + + const displayName = stripQuotes(getDeclaredName(typeChecker, symbol, node)); + const kind = SymbolDisplay.getSymbolKind(typeChecker, symbol, node); + if (kind) { + return { + canRename: true, + kind, + displayName, + localizedErrorMessage: undefined, + fullDisplayName: typeChecker.getFullyQualifiedName(symbol), + kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), + triggerSpan: createTriggerSpanForNode(node, sourceFile) + }; + } + } + } + else if (node.kind === SyntaxKind.StringLiteral) { + const type = getStringLiteralTypeForNode(node, typeChecker); + if (type) { + if (isDefinedInLibraryFile(node)) { + return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library)); + } + else { + const displayName = stripQuotes(type.text); + return { + canRename: true, + kind: ScriptElementKind.variableElement, + displayName, + localizedErrorMessage: undefined, + fullDisplayName: displayName, + kindModifiers: ScriptElementKindModifier.none, + triggerSpan: createTriggerSpanForNode(node, sourceFile) + }; + } + } + } + } + } + + return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_this_element)); + + function getRenameInfoError(localizedErrorMessage: string): RenameInfo { + return { + canRename: false, + localizedErrorMessage: localizedErrorMessage, + displayName: undefined, + fullDisplayName: undefined, + kind: undefined, + kindModifiers: undefined, + triggerSpan: undefined + }; + } + + function isDefinedInLibraryFile(declaration: Node) { + if (defaultLibFileName) { + const sourceFile = declaration.getSourceFile(); + const canonicalName = getCanonicalFileName(ts.normalizePath(sourceFile.fileName)); + if (canonicalName === canonicalDefaultLibName) { + return true; + } + } + return false; + } + + function createTriggerSpanForNode(node: Node, sourceFile: SourceFile) { + let start = node.getStart(sourceFile); + let width = node.getWidth(sourceFile); + if (node.kind === SyntaxKind.StringLiteral) { + // Exclude the quotes + start += 1; + width -= 2; + } + return createTextSpan(start, width); + } + } +} diff --git a/src/services/services.ts b/src/services/services.ts index 3b8be487aba..bdc6fe62d5d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1,14 +1,26 @@ /// /// +/// +/// /// -/// +/// +/// +/// +/// +/// +/// +/// +/// /// /// +/// /// +/// +/// /// -/// -/// +/// +/// /// /// @@ -16,170 +28,6 @@ namespace ts { /** The version of the language service API */ export const servicesVersion = "0.5"; - export interface Node { - getSourceFile(): SourceFile; - getChildCount(sourceFile?: SourceFile): number; - getChildAt(index: number, sourceFile?: SourceFile): Node; - getChildren(sourceFile?: SourceFile): Node[]; - getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; - getFullStart(): number; - getEnd(): number; - getWidth(sourceFile?: SourceFile): number; - getFullWidth(): number; - getLeadingTriviaWidth(sourceFile?: SourceFile): number; - getFullText(sourceFile?: SourceFile): string; - getText(sourceFile?: SourceFile): string; - getFirstToken(sourceFile?: SourceFile): Node; - getLastToken(sourceFile?: SourceFile): Node; - } - - export interface Symbol { - getFlags(): SymbolFlags; - getName(): string; - getDeclarations(): Declaration[]; - getDocumentationComment(): SymbolDisplayPart[]; - } - - export interface Type { - getFlags(): TypeFlags; - getSymbol(): Symbol; - getProperties(): Symbol[]; - getProperty(propertyName: string): Symbol; - getApparentProperties(): Symbol[]; - getCallSignatures(): Signature[]; - getConstructSignatures(): Signature[]; - getStringIndexType(): Type; - getNumberIndexType(): Type; - getBaseTypes(): ObjectType[]; - getNonNullableType(): Type; - } - - export interface Signature { - getDeclaration(): SignatureDeclaration; - getTypeParameters(): Type[]; - getParameters(): Symbol[]; - getReturnType(): Type; - getDocumentationComment(): SymbolDisplayPart[]; - } - - export interface SourceFile { - /* @internal */ version: string; - /* @internal */ scriptSnapshot: IScriptSnapshot; - /* @internal */ nameTable: Map; - - /* @internal */ getNamedDeclarations(): Map; - - getLineAndCharacterOfPosition(pos: number): LineAndCharacter; - getLineStarts(): number[]; - getPositionOfLineAndCharacter(line: number, character: number): number; - update(newText: string, textChangeRange: TextChangeRange): SourceFile; - } - - /** - * Represents an immutable snapshot of a script at a specified time.Once acquired, the - * snapshot is observably immutable. i.e. the same calls with the same parameters will return - * the same values. - */ - export interface IScriptSnapshot { - /** Gets a portion of the script snapshot specified by [start, end). */ - getText(start: number, end: number): string; - - /** Gets the length of this script snapshot. */ - getLength(): number; - - /** - * Gets the TextChangeRange that describe how the text changed between this text and - * an older version. This information is used by the incremental parser to determine - * what sections of the script need to be re-parsed. 'undefined' can be returned if the - * change range cannot be determined. However, in that case, incremental parsing will - * not happen and the entire document will be re - parsed. - */ - getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; - - /** Releases all resources held by this script snapshot */ - dispose?(): void; - } - - export namespace ScriptSnapshot { - class StringScriptSnapshot implements IScriptSnapshot { - - constructor(private text: string) { - } - - public getText(start: number, end: number): string { - return this.text.substring(start, end); - } - - public getLength(): number { - return this.text.length; - } - - public getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange { - // Text-based snapshots do not support incremental parsing. Return undefined - // to signal that to the caller. - return undefined; - } - } - - export function fromString(text: string): IScriptSnapshot { - return new StringScriptSnapshot(text); - } - } - export interface PreProcessedFileInfo { - referencedFiles: FileReference[]; - typeReferenceDirectives: FileReference[]; - importedFiles: FileReference[]; - ambientExternalModules: string[]; - isLibFile: boolean; - } - - const scanner: Scanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ true); - - const emptyArray: any[] = []; - - const jsDocTagNames = [ - "augments", - "author", - "argument", - "borrows", - "class", - "constant", - "constructor", - "constructs", - "default", - "deprecated", - "description", - "event", - "example", - "extends", - "field", - "fileOverview", - "function", - "ignore", - "inner", - "lends", - "link", - "memberOf", - "name", - "namespace", - "param", - "private", - "property", - "public", - "requires", - "returns", - "see", - "since", - "static", - "throws", - "type", - "typedef", - "property", - "prop", - "version" - ]; - let jsDocCompletionEntries: CompletionEntry[]; - function createNode(kind: SyntaxKind, pos: number, end: number, parent?: Node): NodeObject | TokenObject | IdentifierObject { const node = kind >= SyntaxKind.FirstNode ? new NodeObject(kind, pos, end) : kind === SyntaxKind.Identifier ? new IdentifierObject(kind, pos, end) : @@ -195,12 +43,17 @@ namespace ts { public flags: NodeFlags; public parent: Node; public jsDocComments: JSDocComment[]; + public original: Node; + public transformFlags: TransformFlags; + public excludeTransformFlags: TransformFlags; private _children: Node[]; constructor(kind: SyntaxKind, pos: number, end: number) { this.pos = pos; this.end = end; this.flags = NodeFlags.None; + this.transformFlags = undefined; + this.excludeTransformFlags = undefined; this.parent = undefined; this.kind = kind; } @@ -280,11 +133,14 @@ namespace ts { let pos = this.pos; const useJSDocScanner = this.kind >= SyntaxKind.FirstJSDocTagNode && this.kind <= SyntaxKind.LastJSDocTagNode; const processNode = (node: Node) => { - if (pos < node.pos) { + const isJSDocTagNode = isJSDocTag(node); + if (!isJSDocTagNode && pos < node.pos) { pos = this.addSyntheticNodes(children, pos, node.pos, useJSDocScanner); } children.push(node); - pos = node.end; + if (!isJSDocTagNode) { + pos = node.end; + } }; const processNodes = (nodes: NodeArray) => { if (pos < nodes.pos) { @@ -299,6 +155,10 @@ namespace ts { processNode(jsDocComment); } } + // For syntactic classifications, all trivia are classcified together, including jsdoc comments. + // For that to work, the jsdoc comments should still be the leading trivia of the first child. + // Restoring the scanner position ensures that. + pos = this.pos; forEachChild(this, processNode, processNodes); if (pos < this.end) { this.addSyntheticNodes(children, pos, this.end); @@ -420,21 +280,6 @@ namespace ts { } } - class TokenObject extends TokenOrIdentifierObject { - public kind: SyntaxKind; - constructor(kind: SyntaxKind, pos: number, end: number) { - super(pos, end); - this.kind = kind; - } - } - - class IdentifierObject extends TokenOrIdentifierObject { - constructor(kind: SyntaxKind, pos: number, end: number) { - super(pos, end); - } - } - IdentifierObject.prototype.kind = SyntaxKind.Identifier; - class SymbolObject implements Symbol { flags: SymbolFlags; name: string; @@ -463,359 +308,28 @@ namespace ts { getDocumentationComment(): SymbolDisplayPart[] { if (this.documentationComment === undefined) { - this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & SymbolFlags.Property)); + this.documentationComment = JsDoc.getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & SymbolFlags.Property)); } return this.documentationComment; } } - function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string, canUseParsedParamTagComments: boolean) { - const documentationComment = []; - const docComments = getJsDocCommentsSeparatedByNewLines(); - ts.forEach(docComments, docComment => { - if (documentationComment.length) { - documentationComment.push(lineBreakPart()); - } - documentationComment.push(docComment); - }); - - return documentationComment; - - function getJsDocCommentsSeparatedByNewLines() { - const paramTag = "@param"; - const jsDocCommentParts: SymbolDisplayPart[] = []; - - ts.forEach(declarations, (declaration, indexOfDeclaration) => { - // Make sure we are collecting doc comment from declaration once, - // In case of union property there might be same declaration multiple times - // which only varies in type parameter - // Eg. const a: Array | Array; a.length - // The property length will have two declarations of property length coming - // from Array - Array and Array - if (indexOf(declarations, declaration) === indexOfDeclaration) { - const sourceFileOfDeclaration = getSourceFileOfNode(declaration); - // If it is parameter - try and get the jsDoc comment with @param tag from function declaration's jsDoc comments - if (canUseParsedParamTagComments && declaration.kind === SyntaxKind.Parameter) { - if ((declaration.parent.kind === SyntaxKind.FunctionExpression || declaration.parent.kind === SyntaxKind.ArrowFunction) && - declaration.parent.parent.kind === SyntaxKind.VariableDeclaration) { - addCommentParts(declaration.parent.parent.parent, sourceFileOfDeclaration, getCleanedParamJsDocComment); - } - addCommentParts(declaration.parent, sourceFileOfDeclaration, getCleanedParamJsDocComment); - } - - // If this is left side of dotted module declaration, there is no doc comments associated with this node - if (declaration.kind === SyntaxKind.ModuleDeclaration && (declaration).body && (declaration).body.kind === SyntaxKind.ModuleDeclaration) { - return; - } - - if ((declaration.kind === SyntaxKind.FunctionExpression || declaration.kind === SyntaxKind.ArrowFunction) && - declaration.parent.kind === SyntaxKind.VariableDeclaration) { - addCommentParts(declaration.parent.parent, sourceFileOfDeclaration, getCleanedJsDocComment); - } - - // If this is dotted module name, get the doc comments from the parent - while (declaration.kind === SyntaxKind.ModuleDeclaration && declaration.parent.kind === SyntaxKind.ModuleDeclaration) { - declaration = declaration.parent; - } - addCommentParts(declaration.kind === SyntaxKind.VariableDeclaration ? declaration.parent.parent : declaration, - sourceFileOfDeclaration, - getCleanedJsDocComment); - - if (declaration.kind === SyntaxKind.VariableDeclaration) { - const init = (declaration as VariableDeclaration).initializer; - if (init && (init.kind === SyntaxKind.FunctionExpression || init.kind === SyntaxKind.ArrowFunction)) { - // Get the cleaned js doc comment text from the initializer - addCommentParts(init, sourceFileOfDeclaration, getCleanedJsDocComment); - } - } - } - }); - - return jsDocCommentParts; - - function addCommentParts(commented: Node, - sourceFileOfDeclaration: SourceFile, - getCommentPart: (pos: number, end: number, file: SourceFile) => SymbolDisplayPart[]): void { - const ranges = getJsDocCommentTextRange(commented, sourceFileOfDeclaration); - // Get the cleaned js doc comment text from the declaration - ts.forEach(ranges, jsDocCommentTextRange => { - const cleanedComment = getCommentPart(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration); - if (cleanedComment) { - addRange(jsDocCommentParts, cleanedComment); - } - }); - } - - function getJsDocCommentTextRange(node: Node, sourceFile: SourceFile): TextRange[] { - return ts.map(getJsDocComments(node, sourceFile), - jsDocComment => { - return { - pos: jsDocComment.pos + "/*".length, // Consume /* from the comment - end: jsDocComment.end - "*/".length // Trim off comment end indicator - }; - }); - } - - function consumeWhiteSpacesOnTheLine(pos: number, end: number, sourceFile: SourceFile, maxSpacesToRemove?: number) { - if (maxSpacesToRemove !== undefined) { - end = Math.min(end, pos + maxSpacesToRemove); - } - - for (; pos < end; pos++) { - const ch = sourceFile.text.charCodeAt(pos); - if (!isWhiteSpaceSingleLine(ch)) { - return pos; - } - } - - return end; - } - - function consumeLineBreaks(pos: number, end: number, sourceFile: SourceFile) { - while (pos < end && isLineBreak(sourceFile.text.charCodeAt(pos))) { - pos++; - } - - return pos; - } - - function isName(pos: number, end: number, sourceFile: SourceFile, name: string) { - return pos + name.length < end && - sourceFile.text.substr(pos, name.length) === name && - isWhiteSpace(sourceFile.text.charCodeAt(pos + name.length)); - } - - function isParamTag(pos: number, end: number, sourceFile: SourceFile) { - // If it is @param tag - return isName(pos, end, sourceFile, paramTag); - } - - function pushDocCommentLineText(docComments: SymbolDisplayPart[], text: string, blankLineCount: number) { - // Add the empty lines in between texts - while (blankLineCount) { - blankLineCount--; - docComments.push(textPart("")); - } - - docComments.push(textPart(text)); - } - - function getCleanedJsDocComment(pos: number, end: number, sourceFile: SourceFile) { - let spacesToRemoveAfterAsterisk: number; - const docComments: SymbolDisplayPart[] = []; - let blankLineCount = 0; - let isInParamTag = false; - - while (pos < end) { - let docCommentTextOfLine = ""; - // First consume leading white space - pos = consumeWhiteSpacesOnTheLine(pos, end, sourceFile); - - // If the comment starts with '*' consume the spaces on this line - if (pos < end && sourceFile.text.charCodeAt(pos) === CharacterCodes.asterisk) { - const lineStartPos = pos + 1; - pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, spacesToRemoveAfterAsterisk); - - // Set the spaces to remove after asterisk as margin if not already set - if (spacesToRemoveAfterAsterisk === undefined && pos < end && !isLineBreak(sourceFile.text.charCodeAt(pos))) { - spacesToRemoveAfterAsterisk = pos - lineStartPos; - } - } - else if (spacesToRemoveAfterAsterisk === undefined) { - spacesToRemoveAfterAsterisk = 0; - } - - // Analyze text on this line - while (pos < end && !isLineBreak(sourceFile.text.charCodeAt(pos))) { - const ch = sourceFile.text.charAt(pos); - if (ch === "@") { - // If it is @param tag - if (isParamTag(pos, end, sourceFile)) { - isInParamTag = true; - pos += paramTag.length; - continue; - } - else { - isInParamTag = false; - } - } - - // Add the ch to doc text if we arent in param tag - if (!isInParamTag) { - docCommentTextOfLine += ch; - } - - // Scan next character - pos++; - } - - // Continue with next line - pos = consumeLineBreaks(pos, end, sourceFile); - if (docCommentTextOfLine) { - pushDocCommentLineText(docComments, docCommentTextOfLine, blankLineCount); - blankLineCount = 0; - } - else if (!isInParamTag && docComments.length) { - // This is blank line when there is text already parsed - blankLineCount++; - } - } - - return docComments; - } - - function getCleanedParamJsDocComment(pos: number, end: number, sourceFile: SourceFile) { - let paramHelpStringMargin: number; - const paramDocComments: SymbolDisplayPart[] = []; - while (pos < end) { - if (isParamTag(pos, end, sourceFile)) { - let blankLineCount = 0; - let recordedParamTag = false; - // Consume leading spaces - pos = consumeWhiteSpaces(pos + paramTag.length); - if (pos >= end) { - break; - } - - // Ignore type expression - if (sourceFile.text.charCodeAt(pos) === CharacterCodes.openBrace) { - pos++; - for (let curlies = 1; pos < end; pos++) { - const charCode = sourceFile.text.charCodeAt(pos); - - // { character means we need to find another } to match the found one - if (charCode === CharacterCodes.openBrace) { - curlies++; - continue; - } - - // } char - if (charCode === CharacterCodes.closeBrace) { - curlies--; - if (curlies === 0) { - // We do not have any more } to match the type expression is ignored completely - pos++; - break; - } - else { - // there are more { to be matched with } - continue; - } - } - - // Found start of another tag - if (charCode === CharacterCodes.at) { - break; - } - } - - // Consume white spaces - pos = consumeWhiteSpaces(pos); - if (pos >= end) { - break; - } - } - - // Parameter name - if (isName(pos, end, sourceFile, name)) { - // Found the parameter we are looking for consume white spaces - pos = consumeWhiteSpaces(pos + name.length); - if (pos >= end) { - break; - } - - let paramHelpString = ""; - const firstLineParamHelpStringPos = pos; - while (pos < end) { - const ch = sourceFile.text.charCodeAt(pos); - - // at line break, set this comment line text and go to next line - if (isLineBreak(ch)) { - if (paramHelpString) { - pushDocCommentLineText(paramDocComments, paramHelpString, blankLineCount); - paramHelpString = ""; - blankLineCount = 0; - recordedParamTag = true; - } - else if (recordedParamTag) { - blankLineCount++; - } - - // Get the pos after cleaning start of the line - setPosForParamHelpStringOnNextLine(firstLineParamHelpStringPos); - continue; - } - - // Done scanning param help string - next tag found - if (ch === CharacterCodes.at) { - break; - } - - paramHelpString += sourceFile.text.charAt(pos); - - // Go to next character - pos++; - } - - // If there is param help text, add it top the doc comments - if (paramHelpString) { - pushDocCommentLineText(paramDocComments, paramHelpString, blankLineCount); - } - paramHelpStringMargin = undefined; - } - - // If this is the start of another tag, continue with the loop in search of param tag with symbol name - if (sourceFile.text.charCodeAt(pos) === CharacterCodes.at) { - continue; - } - } - - // Next character - pos++; - } - - return paramDocComments; - - function consumeWhiteSpaces(pos: number) { - while (pos < end && isWhiteSpaceSingleLine(sourceFile.text.charCodeAt(pos))) { - pos++; - } - - return pos; - } - - function setPosForParamHelpStringOnNextLine(firstLineParamHelpStringPos: number) { - // Get the pos after consuming line breaks - pos = consumeLineBreaks(pos, end, sourceFile); - if (pos >= end) { - return; - } - - if (paramHelpStringMargin === undefined) { - paramHelpStringMargin = sourceFile.getLineAndCharacterOfPosition(firstLineParamHelpStringPos).character; - } - - // Now consume white spaces max - const startOfLinePos = pos; - pos = consumeWhiteSpacesOnTheLine(pos, end, sourceFile, paramHelpStringMargin); - if (pos >= end) { - return; - } - - const consumedSpaces = pos - startOfLinePos; - if (consumedSpaces < paramHelpStringMargin) { - const ch = sourceFile.text.charCodeAt(pos); - if (ch === CharacterCodes.asterisk) { - // Consume more spaces after asterisk - pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, paramHelpStringMargin - consumedSpaces - 1); - } - } - } - } + class TokenObject extends TokenOrIdentifierObject { + public kind: SyntaxKind; + constructor(kind: SyntaxKind, pos: number, end: number) { + super(pos, end); + this.kind = kind; } } + class IdentifierObject extends TokenOrIdentifierObject { + constructor(kind: SyntaxKind, pos: number, end: number) { + super(pos, end); + } + } + IdentifierObject.prototype.kind = SyntaxKind.Identifier; + class TypeObject implements Type { checker: TypeChecker; flags: TypeFlags; @@ -871,7 +385,7 @@ namespace ts { resolvedReturnType: Type; minArgumentCount: number; hasRestParameter: boolean; - hasStringLiterals: boolean; + hasLiteralTypes: boolean; // Undefined is used to indicate the value has not been computed. If, after computing, the // symbol has no doc comment, then the empty string will be returned. @@ -895,7 +409,7 @@ namespace ts { getDocumentationComment(): SymbolDisplayPart[] { if (this.documentationComment === undefined) { - this.documentationComment = this.declaration ? getJsDocCommentsFromDeclarations( + this.documentationComment = this.declaration ? JsDoc.getJsDocCommentsFromDeclarations( [this.declaration], /*name*/ undefined, /*canUseParsedParamTagComments*/ false) : []; @@ -975,7 +489,7 @@ namespace ts { } private computeNamedDeclarations(): Map { - const result: Map = {}; + const result = createMap(); forEachChild(this, visit); @@ -984,13 +498,12 @@ namespace ts { function addDeclaration(declaration: Declaration) { const name = getDeclarationName(declaration); if (name) { - const declarations = getDeclarations(name); - declarations.push(declaration); + multiMapAdd(result, name, declaration); } } function getDeclarations(name: string) { - return getProperty(result, name) || (result[name] = []); + return result[name] || (result[name] = []); } function getDeclarationName(declaration: Declaration) { @@ -1076,13 +589,13 @@ namespace ts { case SyntaxKind.Parameter: // Only consider parameter properties - if (!(node.flags & NodeFlags.ParameterPropertyModifier)) { + if (!hasModifier(node, ModifierFlags.ParameterPropertyModifier)) { break; } // fall through case SyntaxKind.VariableDeclaration: case SyntaxKind.BindingElement: { - const decl = node; + const decl = node; if (isBindingPattern(decl.name)) { forEachChild(decl.name, visit); break; @@ -1134,686 +647,16 @@ namespace ts { } } - export interface HostCancellationToken { - isCancellationRequested(): boolean; - } - - // - // Public interface of the host of a language service instance. - // - export interface LanguageServiceHost { - getCompilationSettings(): CompilerOptions; - getNewLine?(): string; - getProjectVersion?(): string; - getScriptFileNames(): string[]; - getScriptKind?(fileName: string): ScriptKind; - getScriptVersion(fileName: string): string; - getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; - getLocalizedDiagnosticMessages?(): any; - getCancellationToken?(): HostCancellationToken; - getCurrentDirectory(): string; - getDefaultLibFileName(options: CompilerOptions): string; - log?(s: string): void; - trace?(s: string): void; - error?(s: string): void; - useCaseSensitiveFileNames?(): boolean; - - /* - * LS host can optionally implement this method if it wants to be completely in charge of module name resolution. - * if implementation is omitted then language service will use built-in module resolution logic and get answers to - * host specific questions using 'getScriptSnapshot'. - */ - resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; - resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; - directoryExists?(directoryName: string): boolean; - getDirectories?(directoryName: string): string[]; - } - - // - // Public services of a language service instance associated - // with a language service host instance - // - export interface LanguageService { - cleanupSemanticCache(): void; - - getSyntacticDiagnostics(fileName: string): Diagnostic[]; - getSemanticDiagnostics(fileName: string): Diagnostic[]; - - // TODO: Rename this to getProgramDiagnostics to better indicate that these are any - // diagnostics present for the program level, and not just 'options' diagnostics. - getCompilerOptionsDiagnostics(): Diagnostic[]; - - /** - * @deprecated Use getEncodedSyntacticClassifications instead. - */ - getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; - - /** - * @deprecated Use getEncodedSemanticClassifications instead. - */ - getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; - - // Encoded as triples of [start, length, ClassificationType]. - getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; - getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; - - getCompletionsAtPosition(fileName: string, position: number): CompletionInfo; - getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; - - 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; - - getRenameInfo(fileName: string, position: number): RenameInfo; - findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; - - getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; - - getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - findReferences(fileName: string, position: number): ReferencedSymbol[]; - getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; - - /** @deprecated */ - getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; - - getNavigateToItems(searchValue: string, maxResultCount?: number): NavigateToItem[]; - getNavigationBarItems(fileName: string): NavigationBarItem[]; - - getOutliningSpans(fileName: string): OutliningSpan[]; - getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; - getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; - getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; - - getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions): TextChange[]; - getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; - getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; - - getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; - - isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; - - getEmitOutput(fileName: string): EmitOutput; - - getProgram(): Program; - - /* @internal */ getNonBoundSourceFile(fileName: string): SourceFile; - - dispose(): void; - } - - export interface Classifications { - spans: number[]; - endOfLineState: EndOfLineState; - } - - export interface ClassifiedSpan { - textSpan: TextSpan; - classificationType: string; // ClassificationTypeNames - } - - export interface NavigationBarItem { - text: string; - kind: string; - kindModifiers: string; - spans: TextSpan[]; - childItems: NavigationBarItem[]; - indent: number; - bolded: boolean; - grayed: boolean; - } - - export interface TodoCommentDescriptor { - text: string; - priority: number; - } - - export interface TodoComment { - descriptor: TodoCommentDescriptor; - message: string; - position: number; - } - - export class TextChange { - span: TextSpan; - newText: string; - } - - export interface TextInsertion { - newText: string; - /** The position in newText the caret should point to after the insertion. */ - caretOffset: number; - } - - export interface RenameLocation { - textSpan: TextSpan; - fileName: string; - } - - export interface ReferenceEntry { - textSpan: TextSpan; - fileName: string; - isWriteAccess: boolean; - isDefinition: boolean; - } - - export interface DocumentHighlights { - fileName: string; - highlightSpans: HighlightSpan[]; - } - - export namespace HighlightSpanKind { - export const none = "none"; - export const definition = "definition"; - export const reference = "reference"; - export const writtenReference = "writtenReference"; - } - - export interface HighlightSpan { - fileName?: string; - textSpan: TextSpan; - kind: string; - } - - export interface NavigateToItem { - name: string; - kind: string; - kindModifiers: string; - matchKind: string; - isCaseSensitive: boolean; - fileName: string; - textSpan: TextSpan; - containerName: string; - containerKind: string; - } - - export interface EditorOptions { - BaseIndentSize?: number; - IndentSize: number; - TabSize: number; - NewLineCharacter: string; - ConvertTabsToSpaces: boolean; - IndentStyle: IndentStyle; - } - - export enum IndentStyle { - None = 0, - Block = 1, - Smart = 2, - } - - export interface FormatCodeOptions extends EditorOptions { - InsertSpaceAfterCommaDelimiter: boolean; - InsertSpaceAfterSemicolonInForStatements: boolean; - InsertSpaceBeforeAndAfterBinaryOperators: boolean; - InsertSpaceAfterKeywordsInControlFlowStatements: boolean; - InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; - InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; - InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; - InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; - InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; - PlaceOpenBraceOnNewLineForFunctions: boolean; - PlaceOpenBraceOnNewLineForControlBlocks: boolean; - [s: string]: boolean | number | string | undefined; - } - - export interface DefinitionInfo { - fileName: string; - textSpan: TextSpan; - kind: string; - name: string; - containerKind: string; - containerName: string; - } - - export interface ReferencedSymbol { - definition: DefinitionInfo; - references: ReferenceEntry[]; - } - - export enum SymbolDisplayPartKind { - aliasName, - className, - enumName, - fieldName, - interfaceName, - keyword, - lineBreak, - numericLiteral, - stringLiteral, - localName, - methodName, - moduleName, - operator, - parameterName, - propertyName, - punctuation, - space, - text, - typeParameterName, - enumMemberName, - functionName, - regularExpressionLiteral, - } - - export interface SymbolDisplayPart { - text: string; - kind: string; - } - - export interface QuickInfo { - kind: string; - kindModifiers: string; - textSpan: TextSpan; - displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - } - - export interface RenameInfo { - canRename: boolean; - localizedErrorMessage: string; - displayName: string; - fullDisplayName: string; - kind: string; - kindModifiers: string; - triggerSpan: TextSpan; - } - - export interface SignatureHelpParameter { - name: string; - documentation: SymbolDisplayPart[]; - displayParts: SymbolDisplayPart[]; - isOptional: boolean; - } - - /** - * Represents a single signature to show in signature help. - * The id is used for subsequent calls into the language service to ask questions about the - * signature help item in the context of any documents that have been updated. i.e. after - * an edit has happened, while signature help is still active, the host can ask important - * questions like 'what parameter is the user currently contained within?'. - */ - export interface SignatureHelpItem { - isVariadic: boolean; - prefixDisplayParts: SymbolDisplayPart[]; - suffixDisplayParts: SymbolDisplayPart[]; - separatorDisplayParts: SymbolDisplayPart[]; - parameters: SignatureHelpParameter[]; - documentation: SymbolDisplayPart[]; - } - - /** - * Represents a set of signature help items, and the preferred item that should be selected. - */ - export interface SignatureHelpItems { - items: SignatureHelpItem[]; - applicableSpan: TextSpan; - selectedItemIndex: number; - argumentIndex: number; - argumentCount: number; - } - - export interface CompletionInfo { - isMemberCompletion: boolean; - isNewIdentifierLocation: boolean; // true when the current location also allows for a new identifier - entries: CompletionEntry[]; - } - - export interface CompletionEntry { - name: string; - kind: string; // see ScriptElementKind - kindModifiers: string; // see ScriptElementKindModifier, comma separated - sortText: string; - } - - export interface CompletionEntryDetails { - name: string; - kind: string; // see ScriptElementKind - kindModifiers: string; // see ScriptElementKindModifier, comma separated - displayParts: SymbolDisplayPart[]; - documentation: SymbolDisplayPart[]; - } - - export interface OutliningSpan { - /** The span of the document to actually collapse. */ - textSpan: TextSpan; - - /** The span of the document to display when the user hovers over the collapsed span. */ - hintSpan: TextSpan; - - /** The text to display in the editor for the collapsed region. */ - bannerText: string; - - /** - * Whether or not this region should be automatically collapsed when - * the 'Collapse to Definitions' command is invoked. - */ - autoCollapse: boolean; - } - - export interface EmitOutput { - outputFiles: OutputFile[]; - emitSkipped: boolean; - } - - export const enum OutputFileType { - JavaScript, - SourceMap, - Declaration - } - - export interface OutputFile { - name: string; - writeByteOrderMark: boolean; - text: string; - } - - export const enum EndOfLineState { - None, - InMultiLineCommentTrivia, - InSingleQuoteStringLiteral, - InDoubleQuoteStringLiteral, - InTemplateHeadOrNoSubstitutionTemplate, - InTemplateMiddleOrTail, - InTemplateSubstitutionPosition, - } - - export enum TokenClass { - Punctuation, - Keyword, - Operator, - Comment, - Whitespace, - Identifier, - NumberLiteral, - StringLiteral, - RegExpLiteral, - } - - export interface ClassificationResult { - finalLexState: EndOfLineState; - entries: ClassificationInfo[]; - } - - export interface ClassificationInfo { - length: number; - classification: TokenClass; - } - - export interface Classifier { - /** - * Gives lexical classifications of tokens on a line without any syntactic context. - * For instance, a token consisting of the text 'string' can be either an identifier - * named 'string' or the keyword 'string', however, because this classifier is not aware, - * it relies on certain heuristics to give acceptable results. For classifications where - * speed trumps accuracy, this function is preferable; however, for true accuracy, the - * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the - * lexical, syntactic, and semantic classifiers may issue the best user experience. - * - * @param text The text of a line to classify. - * @param lexState The state of the lexical classifier at the end of the previous line. - * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. - * If there is no syntactic classifier (syntacticClassifierAbsent=true), - * certain heuristics may be used in its place; however, if there is a - * syntactic classifier (syntacticClassifierAbsent=false), certain - * classifications which may be incorrectly categorized will be given - * back as Identifiers in order to allow the syntactic classifier to - * subsume the classification. - * @deprecated Use getLexicalClassifications instead. - */ - getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; - getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; - } - - /** - * The document registry represents a store of SourceFile objects that can be shared between - * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) - * of files in the context. - * SourceFile objects account for most of the memory usage by the language service. Sharing - * the same DocumentRegistry instance between different instances of LanguageService allow - * for more efficient memory utilization since all projects will share at least the library - * file (lib.d.ts). - * - * A more advanced use of the document registry is to serialize sourceFile objects to disk - * and re-hydrate them when needed. - * - * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it - * to all subsequent createLanguageService calls. - */ - export interface DocumentRegistry { - /** - * Request a stored SourceFile with a given fileName and compilationSettings. - * The first call to acquire will call createLanguageServiceSourceFile to generate - * the SourceFile if was not found in the registry. - * - * @param fileName The name of the file requested - * @param compilationSettings Some compilation settings like target affects the - * shape of a the resulting SourceFile. This allows the DocumentRegistry to store - * multiple copies of the same file for different compilation settings. - * @parm scriptSnapshot Text of the file. Only used if the file was not found - * in the registry and a new one was created. - * @parm version Current version of the file. Only used if the file was not found - * in the registry and a new one was created. - */ - acquireDocument( - fileName: string, - compilationSettings: CompilerOptions, - scriptSnapshot: IScriptSnapshot, - version: string, - scriptKind?: ScriptKind): SourceFile; - - acquireDocumentWithKey( - fileName: string, - path: Path, - compilationSettings: CompilerOptions, - key: DocumentRegistryBucketKey, - scriptSnapshot: IScriptSnapshot, - version: string, - scriptKind?: ScriptKind): SourceFile; - - /** - * Request an updated version of an already existing SourceFile with a given fileName - * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile - * to get an updated SourceFile. - * - * @param fileName The name of the file requested - * @param compilationSettings Some compilation settings like target affects the - * shape of a the resulting SourceFile. This allows the DocumentRegistry to store - * multiple copies of the same file for different compilation settings. - * @param scriptSnapshot Text of the file. - * @param version Current version of the file. - */ - updateDocument( - fileName: string, - compilationSettings: CompilerOptions, - scriptSnapshot: IScriptSnapshot, - version: string, - scriptKind?: ScriptKind): SourceFile; - - updateDocumentWithKey( - fileName: string, - path: Path, - compilationSettings: CompilerOptions, - key: DocumentRegistryBucketKey, - scriptSnapshot: IScriptSnapshot, - version: string, - scriptKind?: ScriptKind): SourceFile; - - getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; - /** - * Informs the DocumentRegistry that a file is not needed any longer. - * - * Note: It is not allowed to call release on a SourceFile that was not acquired from - * this registry originally. - * - * @param fileName The name of the file to be released - * @param compilationSettings The compilation settings used to acquire the file - */ - releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; - - releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; - - reportStats(): string; - } - - export type DocumentRegistryBucketKey = string & { __bucketKey: any }; - - // TODO: move these to enums - export namespace ScriptElementKind { - export const unknown = ""; - export const warning = "warning"; - - /** predefined type (void) or keyword (class) */ - export const keyword = "keyword"; - - /** top level script node */ - export const scriptElement = "script"; - - /** module foo {} */ - export const moduleElement = "module"; - - /** class X {} */ - export const classElement = "class"; - - /** var x = class X {} */ - export const localClassElement = "local class"; - - /** interface Y {} */ - export const interfaceElement = "interface"; - - /** type T = ... */ - export const typeElement = "type"; - - /** enum E */ - export const enumElement = "enum"; - - /** - * Inside module and script only - * const v = .. - */ - export const variableElement = "var"; - - /** Inside function */ - export const localVariableElement = "local var"; - - /** - * Inside module and script only - * function f() { } - */ - export const functionElement = "function"; - - /** Inside function */ - export const localFunctionElement = "local function"; - - /** class X { [public|private]* foo() {} } */ - export const memberFunctionElement = "method"; - - /** class X { [public|private]* [get|set] foo:number; } */ - export const memberGetAccessorElement = "getter"; - export const memberSetAccessorElement = "setter"; - - /** - * class X { [public|private]* foo:number; } - * interface Y { foo:number; } - */ - export const memberVariableElement = "property"; - - /** class X { constructor() { } } */ - export const constructorImplementationElement = "constructor"; - - /** interface Y { ():number; } */ - export const callSignatureElement = "call"; - - /** interface Y { []:number; } */ - export const indexSignatureElement = "index"; - - /** interface Y { new():Y; } */ - export const constructSignatureElement = "construct"; - - /** function foo(*Y*: string) */ - export const parameterElement = "parameter"; - - export const typeParameterElement = "type parameter"; - - export const primitiveType = "primitive type"; - - export const label = "label"; - - export const alias = "alias"; - - export const constElement = "const"; - - export const letElement = "let"; - } - - export namespace ScriptElementKindModifier { - export const none = ""; - export const publicMemberModifier = "public"; - export const privateMemberModifier = "private"; - export const protectedMemberModifier = "protected"; - export const exportedModifier = "export"; - export const ambientModifier = "declare"; - export const staticModifier = "static"; - export const abstractModifier = "abstract"; - } - - export class ClassificationTypeNames { - public static comment = "comment"; - public static identifier = "identifier"; - public static keyword = "keyword"; - public static numericLiteral = "number"; - public static operator = "operator"; - public static stringLiteral = "string"; - public static whiteSpace = "whitespace"; - public static text = "text"; - - public static punctuation = "punctuation"; - - public static className = "class name"; - public static enumName = "enum name"; - public static interfaceName = "interface name"; - public static moduleName = "module name"; - public static typeParameterName = "type parameter name"; - public static typeAliasName = "type alias name"; - public static parameterName = "parameter name"; - public static docCommentTagName = "doc comment tag name"; - public static jsxOpenTagName = "jsx open tag name"; - public static jsxCloseTagName = "jsx close tag name"; - public static jsxSelfClosingTagName = "jsx self closing tag name"; - public static jsxAttribute = "jsx attribute"; - public static jsxText = "jsx text"; - public static jsxAttributeStringLiteralValue = "jsx attribute string literal value"; - } - - export const enum ClassificationType { - comment = 1, - identifier = 2, - keyword = 3, - numericLiteral = 4, - operator = 5, - stringLiteral = 6, - regularExpressionLiteral = 7, - whiteSpace = 8, - text = 9, - punctuation = 10, - className = 11, - enumName = 12, - interfaceName = 13, - moduleName = 14, - typeParameterName = 15, - typeAliasName = 16, - parameterName = 17, - docCommentTagName = 18, - jsxOpenTagName = 19, - jsxCloseTagName = 20, - jsxSelfClosingTagName = 21, - jsxAttribute = 22, - jsxText = 23, - jsxAttributeStringLiteralValue = 24, + function getServicesObjectAllocator(): ObjectAllocator { + return { + getNodeConstructor: () => NodeObject, + getTokenConstructor: () => TokenObject, + getIdentifierConstructor: () => IdentifierObject, + getSourceFileConstructor: () => SourceFileObject, + getSymbolConstructor: () => SymbolObject, + getTypeConstructor: () => TypeObject, + getSignatureConstructor: () => SignatureObject, + }; } /// Language Service @@ -1826,16 +669,6 @@ namespace ts { scriptKind: ScriptKind; } - interface DocumentRegistryEntry { - sourceFile: SourceFile; - - // The number of language services that this source file is referenced in. When no more - // language services are referencing the file, then the file can be removed from the - // registry. - languageServiceRefCount: number; - owners: string[]; - } - export interface DisplayPartsSymbolWriter extends SymbolWriter { displayParts(): SymbolDisplayPart[]; } @@ -1848,34 +681,6 @@ namespace ts { return ""; } - function isLocalVariableOrFunction(symbol: Symbol) { - if (symbol.parent) { - return false; // This is exported symbol - } - - return ts.forEach(symbol.declarations, declaration => { - // Function expressions are local - if (declaration.kind === SyntaxKind.FunctionExpression) { - return true; - } - - if (declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.FunctionDeclaration) { - return false; - } - - // If the parent is not sourceFile or module block it is local variable - for (let parent = declaration.parent; !isFunctionBlock(parent); parent = parent.parent) { - // Reached source file or module block - if (parent.kind === SyntaxKind.SourceFile || parent.kind === SyntaxKind.ModuleBlock) { - return false; - } - } - - // parent is in function block - return true; - }); - } - export function getDefaultCompilerOptions(): CompilerOptions { // Always default to "ScriptTarget.ES5" for the language service return { @@ -1884,7 +689,7 @@ namespace ts { }; } - // Cache host information about scrip Should be refreshed + // Cache host information about script should be refreshed // at each language service public entry point, since we don't know when // set of scripts handled by the host changes. class HostCache { @@ -2018,159 +823,6 @@ namespace ts { sourceFile.scriptSnapshot = scriptSnapshot; } - export interface TranspileOptions { - compilerOptions?: CompilerOptions; - fileName?: string; - reportDiagnostics?: boolean; - moduleName?: string; - renamedDependencies?: Map; - } - - export interface TranspileOutput { - outputText: string; - diagnostics?: Diagnostic[]; - sourceMapText?: string; - } - - - - let commandLineOptionsStringToEnum: CommandLineOptionOfCustomType[]; - - /** JS users may pass in string values for enum compiler options (such as ModuleKind), so convert. */ - function fixupCompilerOptions(options: CompilerOptions, diagnostics: Diagnostic[]): CompilerOptions { - // Lazily create this value to fix module loading errors. - commandLineOptionsStringToEnum = commandLineOptionsStringToEnum || filter(optionDeclarations, o => - typeof o.type === "object" && !forEachValue(> o.type, v => typeof v !== "number")); - - options = clone(options); - - for (const opt of commandLineOptionsStringToEnum) { - if (!hasProperty(options, opt.name)) { - continue; - } - - const value = options[opt.name]; - // Value should be a key of opt.type - if (typeof value === "string") { - // If value is not a string, this will fail - options[opt.name] = parseCustomTypeOption(opt, value, diagnostics); - } - else { - if (!forEachValue(opt.type, v => v === value)) { - // Supplied value isn't a valid enum value. - diagnostics.push(createCompilerDiagnosticForInvalidCustomType(opt)); - } - } - } - - return options; - } - - /* - * This function will compile source text from 'input' argument using specified compiler options. - * If not options are provided - it will use a set of default compiler options. - * Extra compiler options that will unconditionally be used by this function are: - * - isolatedModules = true - * - allowNonTsExtensions = true - * - noLib = true - * - noResolve = true - */ - export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput { - const diagnostics: Diagnostic[] = []; - - const options: CompilerOptions = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : getDefaultCompilerOptions(); - - options.isolatedModules = true; - - // transpileModule does not write anything to disk so there is no need to verify that there are no conflicts between input and output paths. - options.suppressOutputPathCheck = true; - - // Filename can be non-ts file. - options.allowNonTsExtensions = true; - - // We are not returning a sourceFile for lib file when asked by the program, - // so pass --noLib to avoid reporting a file not found error. - options.noLib = true; - - // Clear out other settings that would not be used in transpiling this module - options.lib = undefined; - options.types = undefined; - options.noEmit = undefined; - options.noEmitOnError = undefined; - options.paths = undefined; - options.rootDirs = undefined; - options.declaration = undefined; - options.declarationDir = undefined; - options.out = undefined; - options.outFile = undefined; - - // We are not doing a full typecheck, we are not resolving the whole context, - // so pass --noResolve to avoid reporting missing file errors. - options.noResolve = true; - - // if jsx is specified then treat file as .tsx - const inputFileName = transpileOptions.fileName || (options.jsx ? "module.tsx" : "module.ts"); - const sourceFile = createSourceFile(inputFileName, input, options.target); - if (transpileOptions.moduleName) { - sourceFile.moduleName = transpileOptions.moduleName; - } - - sourceFile.renamedDependencies = transpileOptions.renamedDependencies; - - const newLine = getNewLineCharacter(options); - - // Output - let outputText: string; - let sourceMapText: string; - - // Create a compilerHost object to allow the compiler to read and write files - const compilerHost: CompilerHost = { - getSourceFile: (fileName, target) => fileName === normalizePath(inputFileName) ? sourceFile : undefined, - writeFile: (name, text, writeByteOrderMark) => { - if (fileExtensionIs(name, ".map")) { - Debug.assert(sourceMapText === undefined, `Unexpected multiple source map outputs for the file '${name}'`); - sourceMapText = text; - } - else { - Debug.assert(outputText === undefined, `Unexpected multiple outputs for the file: '${name}'`); - outputText = text; - } - }, - getDefaultLibFileName: () => "lib.d.ts", - useCaseSensitiveFileNames: () => false, - getCanonicalFileName: fileName => fileName, - getCurrentDirectory: () => "", - getNewLine: () => newLine, - fileExists: (fileName): boolean => fileName === inputFileName, - readFile: (fileName): string => "", - directoryExists: directoryExists => true, - getDirectories: (path: string) => [] - }; - - const program = createProgram([inputFileName], options, compilerHost); - - if (transpileOptions.reportDiagnostics) { - addRange(/*to*/ diagnostics, /*from*/ program.getSyntacticDiagnostics(sourceFile)); - addRange(/*to*/ diagnostics, /*from*/ program.getOptionsDiagnostics()); - } - // Emit - program.emit(); - - Debug.assert(outputText !== undefined, "Output generation failed"); - - return { outputText, diagnostics, sourceMapText }; - } - - /* - * This is a shortcut function for transpileModule - it accepts transpileOptions as parameters and returns only outputText part of the result. - */ - export function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string { - const output = transpileModule(input, { compilerOptions, fileName, reportDiagnostics: !!diagnostics, moduleName }); - // addRange correctly handles cases when wither 'from' or 'to' argument is missing - addRange(diagnostics, output.diagnostics); - return output.outputText; - } - export function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile { const text = scriptSnapshot.getText(0, scriptSnapshot.getLength()); const sourceFile = createSourceFile(fileName, text, scriptTarget, setNodeParents, scriptKind); @@ -2238,756 +890,6 @@ namespace ts { return createLanguageServiceSourceFile(sourceFile.fileName, scriptSnapshot, sourceFile.languageVersion, version, /*setNodeParents*/ true, sourceFile.scriptKind); } - export function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory = ""): DocumentRegistry { - // Maps from compiler setting target (ES3, ES5, etc.) to all the cached documents we have - // for those settings. - const buckets: Map> = {}; - const getCanonicalFileName = createGetCanonicalFileName(!!useCaseSensitiveFileNames); - - function getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey { - return `_${settings.target}|${settings.module}|${settings.noResolve}|${settings.jsx}|${settings.allowJs}|${settings.baseUrl}|${JSON.stringify(settings.typeRoots)}|${JSON.stringify(settings.rootDirs)}|${JSON.stringify(settings.paths)}`; - } - - function getBucketForCompilationSettings(key: DocumentRegistryBucketKey, createIfMissing: boolean): FileMap { - let bucket = lookUp(buckets, key); - if (!bucket && createIfMissing) { - buckets[key] = bucket = createFileMap(); - } - return bucket; - } - - function reportStats() { - const bucketInfoArray = Object.keys(buckets).filter(name => name && name.charAt(0) === "_").map(name => { - const entries = lookUp(buckets, name); - const sourceFiles: { name: string; refCount: number; references: string[]; }[] = []; - entries.forEachValue((key, entry) => { - sourceFiles.push({ - name: key, - refCount: entry.languageServiceRefCount, - references: entry.owners.slice(0) - }); - }); - sourceFiles.sort((x, y) => y.refCount - x.refCount); - return { - bucket: name, - sourceFiles - }; - }); - return JSON.stringify(bucketInfoArray, undefined, 2); - } - - function acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const key = getKeyForCompilationSettings(compilationSettings); - return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); - } - - function acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ true, scriptKind); - } - - function updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const key = getKeyForCompilationSettings(compilationSettings); - return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); - } - - function updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ false, scriptKind); - } - - function acquireOrUpdateDocument( - fileName: string, - path: Path, - compilationSettings: CompilerOptions, - key: DocumentRegistryBucketKey, - scriptSnapshot: IScriptSnapshot, - version: string, - acquiring: boolean, - scriptKind?: ScriptKind): SourceFile { - - const bucket = getBucketForCompilationSettings(key, /*createIfMissing*/ true); - let entry = bucket.get(path); - if (!entry) { - Debug.assert(acquiring, "How could we be trying to update a document that the registry doesn't have?"); - - // Have never seen this file with these settings. Create a new source file for it. - const sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, compilationSettings.target, version, /*setNodeParents*/ false, scriptKind); - - entry = { - sourceFile: sourceFile, - languageServiceRefCount: 0, - owners: [] - }; - bucket.set(path, entry); - } - else { - // We have an entry for this file. However, it may be for a different version of - // the script snapshot. If so, update it appropriately. Otherwise, we can just - // return it as is. - if (entry.sourceFile.version !== version) { - entry.sourceFile = updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, - scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); - } - } - - // 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 - // not acquiring, then that means the LS is 'updating' the file instead, and that means - // it has already acquired the document previously. As such, we do not need to increase - // the ref count. - if (acquiring) { - entry.languageServiceRefCount++; - } - - return entry.sourceFile; - } - - function releaseDocument(fileName: string, compilationSettings: CompilerOptions): void { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const key = getKeyForCompilationSettings(compilationSettings); - return releaseDocumentWithKey(path, key); - } - - function releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void { - const bucket = getBucketForCompilationSettings(key, /*createIfMissing*/false); - Debug.assert(bucket !== undefined); - - const entry = bucket.get(path); - entry.languageServiceRefCount--; - - Debug.assert(entry.languageServiceRefCount >= 0); - if (entry.languageServiceRefCount === 0) { - bucket.remove(path); - } - } - - return { - acquireDocument, - acquireDocumentWithKey, - updateDocument, - updateDocumentWithKey, - releaseDocument, - releaseDocumentWithKey, - reportStats, - getKeyForCompilationSettings - }; - } - - export function preProcessFile(sourceText: string, readImportFiles = true, detectJavaScriptImports = false): PreProcessedFileInfo { - const referencedFiles: FileReference[] = []; - const typeReferenceDirectives: FileReference[] = []; - const importedFiles: FileReference[] = []; - let ambientExternalModules: { ref: FileReference, depth: number }[]; - let isNoDefaultLib = false; - let braceNesting = 0; - // assume that text represent an external module if it contains at least one top level import/export - // ambient modules that are found inside external modules are interpreted as module augmentations - let externalModule = false; - - function nextToken() { - const token = scanner.scan(); - if (token === SyntaxKind.OpenBraceToken) { - braceNesting++; - } - else if (token === SyntaxKind.CloseBraceToken) { - braceNesting--; - } - return token; - } - - function processTripleSlashDirectives(): void { - const commentRanges = getLeadingCommentRanges(sourceText, 0); - forEach(commentRanges, commentRange => { - const comment = sourceText.substring(commentRange.pos, commentRange.end); - const referencePathMatchResult = getFileReferenceFromReferencePath(comment, commentRange); - if (referencePathMatchResult) { - isNoDefaultLib = referencePathMatchResult.isNoDefaultLib; - const fileReference = referencePathMatchResult.fileReference; - if (fileReference) { - const collection = referencePathMatchResult.isTypeReferenceDirective - ? typeReferenceDirectives - : referencedFiles; - - collection.push(fileReference); - } - } - }); - } - - function getFileReference() { - const file = scanner.getTokenValue(); - const pos = scanner.getTokenPos(); - return { - fileName: file, - pos: pos, - end: pos + file.length - }; - } - - function recordAmbientExternalModule(): void { - if (!ambientExternalModules) { - ambientExternalModules = []; - } - ambientExternalModules.push({ ref: getFileReference(), depth: braceNesting }); - } - - function recordModuleName() { - importedFiles.push(getFileReference()); - - markAsExternalModuleIfTopLevel(); - } - - function markAsExternalModuleIfTopLevel() { - if (braceNesting === 0) { - externalModule = true; - } - } - - /** - * Returns true if at least one token was consumed from the stream - */ - function tryConsumeDeclare(): boolean { - let token = scanner.getToken(); - if (token === SyntaxKind.DeclareKeyword) { - // declare module "mod" - token = nextToken(); - if (token === SyntaxKind.ModuleKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - recordAmbientExternalModule(); - } - } - return true; - } - - return false; - } - - /** - * Returns true if at least one token was consumed from the stream - */ - function tryConsumeImport(): boolean { - let token = scanner.getToken(); - if (token === SyntaxKind.ImportKeyword) { - - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // import "mod"; - recordModuleName(); - return true; - } - else { - if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = nextToken(); - if (token === SyntaxKind.FromKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // import d from "mod"; - recordModuleName(); - return true; - } - } - else if (token === SyntaxKind.EqualsToken) { - if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { - return true; - } - } - else if (token === SyntaxKind.CommaToken) { - // consume comma and keep going - token = nextToken(); - } - else { - // unknown syntax - return true; - } - } - - if (token === SyntaxKind.OpenBraceToken) { - token = nextToken(); - // consume "{ a as B, c, d as D}" clauses - // make sure that it stops on EOF - while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { - token = nextToken(); - } - - if (token === SyntaxKind.CloseBraceToken) { - token = nextToken(); - if (token === SyntaxKind.FromKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // import {a as A} from "mod"; - // import d, {a, b as B} from "mod" - recordModuleName(); - } - } - } - } - else if (token === SyntaxKind.AsteriskToken) { - token = nextToken(); - if (token === SyntaxKind.AsKeyword) { - token = nextToken(); - if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = nextToken(); - if (token === SyntaxKind.FromKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // import * as NS from "mod" - // import d, * as NS from "mod" - recordModuleName(); - } - } - } - } - } - } - - return true; - } - - return false; - } - - function tryConsumeExport(): boolean { - let token = scanner.getToken(); - if (token === SyntaxKind.ExportKeyword) { - markAsExternalModuleIfTopLevel(); - token = nextToken(); - if (token === SyntaxKind.OpenBraceToken) { - token = nextToken(); - // consume "{ a as B, c, d as D}" clauses - // make sure it stops on EOF - while (token !== SyntaxKind.CloseBraceToken && token !== SyntaxKind.EndOfFileToken) { - token = nextToken(); - } - - if (token === SyntaxKind.CloseBraceToken) { - token = nextToken(); - if (token === SyntaxKind.FromKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // export {a as A} from "mod"; - // export {a, b as B} from "mod" - recordModuleName(); - } - } - } - } - else if (token === SyntaxKind.AsteriskToken) { - token = nextToken(); - if (token === SyntaxKind.FromKeyword) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // export * from "mod" - recordModuleName(); - } - } - } - else if (token === SyntaxKind.ImportKeyword) { - token = nextToken(); - if (token === SyntaxKind.Identifier || isKeyword(token)) { - token = nextToken(); - if (token === SyntaxKind.EqualsToken) { - if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { - return true; - } - } - } - } - - return true; - } - - return false; - } - - function tryConsumeRequireCall(skipCurrentToken: boolean): boolean { - let token = skipCurrentToken ? nextToken() : scanner.getToken(); - if (token === SyntaxKind.RequireKeyword) { - token = nextToken(); - if (token === SyntaxKind.OpenParenToken) { - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // require("mod"); - recordModuleName(); - } - } - return true; - } - return false; - } - - function tryConsumeDefine(): boolean { - let token = scanner.getToken(); - if (token === SyntaxKind.Identifier && scanner.getTokenValue() === "define") { - token = nextToken(); - if (token !== SyntaxKind.OpenParenToken) { - return true; - } - - token = nextToken(); - if (token === SyntaxKind.StringLiteral) { - // looks like define ("modname", ... - skip string literal and comma - token = nextToken(); - if (token === SyntaxKind.CommaToken) { - token = nextToken(); - } - else { - // unexpected token - return true; - } - } - - // should be start of dependency list - if (token !== SyntaxKind.OpenBracketToken) { - return true; - } - - // skip open bracket - token = nextToken(); - let i = 0; - // scan until ']' or EOF - while (token !== SyntaxKind.CloseBracketToken && token !== SyntaxKind.EndOfFileToken) { - // record string literals as module names - if (token === SyntaxKind.StringLiteral) { - recordModuleName(); - i++; - } - - token = nextToken(); - } - return true; - - } - return false; - } - - function processImports(): void { - scanner.setText(sourceText); - nextToken(); - // Look for: - // import "mod"; - // import d from "mod" - // import {a as A } from "mod"; - // import * as NS from "mod" - // import d, {a, b as B} from "mod" - // import i = require("mod"); - // - // export * from "mod" - // export {a as b} from "mod" - // export import i = require("mod") - // (for JavaScript files) require("mod") - - while (true) { - if (scanner.getToken() === SyntaxKind.EndOfFileToken) { - break; - } - - // check if at least one of alternative have moved scanner forward - if (tryConsumeDeclare() || - tryConsumeImport() || - tryConsumeExport() || - (detectJavaScriptImports && (tryConsumeRequireCall(/*skipCurrentToken*/ false) || tryConsumeDefine()))) { - continue; - } - else { - nextToken(); - } - } - - scanner.setText(undefined); - } - - if (readImportFiles) { - processImports(); - } - processTripleSlashDirectives(); - if (externalModule) { - // for external modules module all nested ambient modules are augmentations - if (ambientExternalModules) { - // move all detected ambient modules to imported files since they need to be resolved - for (const decl of ambientExternalModules) { - importedFiles.push(decl.ref); - } - } - return { referencedFiles, typeReferenceDirectives, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: undefined }; - } - else { - // for global scripts ambient modules still can have augmentations - look for ambient modules with depth > 0 - let ambientModuleNames: string[]; - if (ambientExternalModules) { - for (const decl of ambientExternalModules) { - if (decl.depth === 0) { - if (!ambientModuleNames) { - ambientModuleNames = []; - } - ambientModuleNames.push(decl.ref.fileName); - } - else { - importedFiles.push(decl.ref); - } - } - } - return { referencedFiles, typeReferenceDirectives, importedFiles, isLibFile: isNoDefaultLib, ambientExternalModules: ambientModuleNames }; - } - } - - /// Helpers - function getTargetLabel(referenceNode: Node, labelName: string): Identifier { - while (referenceNode) { - if (referenceNode.kind === SyntaxKind.LabeledStatement && (referenceNode).label.text === labelName) { - return (referenceNode).label; - } - referenceNode = referenceNode.parent; - } - return undefined; - } - - function isJumpStatementTarget(node: Node): boolean { - return node.kind === SyntaxKind.Identifier && - (node.parent.kind === SyntaxKind.BreakStatement || node.parent.kind === SyntaxKind.ContinueStatement) && - (node.parent).label === node; - } - - function isLabelOfLabeledStatement(node: Node): boolean { - return node.kind === SyntaxKind.Identifier && - node.parent.kind === SyntaxKind.LabeledStatement && - (node.parent).label === node; - } - - /** - * Whether or not a 'node' is preceded by a label of the given string. - * Note: 'node' cannot be a SourceFile. - */ - function isLabeledBy(node: Node, labelName: string) { - for (let owner = node.parent; owner.kind === SyntaxKind.LabeledStatement; owner = owner.parent) { - if ((owner).label.text === labelName) { - return true; - } - } - - return false; - } - - function isLabelName(node: Node): boolean { - return isLabelOfLabeledStatement(node) || isJumpStatementTarget(node); - } - - function isRightSideOfQualifiedName(node: Node) { - return node.parent.kind === SyntaxKind.QualifiedName && (node.parent).right === node; - } - - function isRightSideOfPropertyAccess(node: Node) { - return node && node.parent && node.parent.kind === SyntaxKind.PropertyAccessExpression && (node.parent).name === node; - } - - function isCallExpressionTarget(node: Node): boolean { - if (isRightSideOfPropertyAccess(node)) { - node = node.parent; - } - return node && node.parent && node.parent.kind === SyntaxKind.CallExpression && (node.parent).expression === node; - } - - function isNewExpressionTarget(node: Node): boolean { - if (isRightSideOfPropertyAccess(node)) { - node = node.parent; - } - return node && node.parent && node.parent.kind === SyntaxKind.NewExpression && (node.parent).expression === node; - } - - function isNameOfModuleDeclaration(node: Node) { - return node.parent.kind === SyntaxKind.ModuleDeclaration && (node.parent).name === node; - } - - function isNameOfFunctionDeclaration(node: Node): boolean { - return node.kind === SyntaxKind.Identifier && - isFunctionLike(node.parent) && (node.parent).name === node; - } - - function isObjectLiteralPropertyDeclaration(node: Node): node is ObjectLiteralElement { - switch (node.kind) { - case SyntaxKind.PropertyAssignment: - case SyntaxKind.ShorthandPropertyAssignment: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - return true; - } - return false; - } - - /** - * Returns the containing object literal property declaration given a possible name node, e.g. "a" in x = { "a": 1 } - */ - function getContainingObjectLiteralElement(node: Node): ObjectLiteralElement { - switch (node.kind) { - case SyntaxKind.StringLiteral: - case SyntaxKind.NumericLiteral: - if (node.parent.kind === SyntaxKind.ComputedPropertyName) { - return isObjectLiteralPropertyDeclaration(node.parent.parent) ? node.parent.parent : undefined; - } - // intential fall through - case SyntaxKind.Identifier: - return isObjectLiteralPropertyDeclaration(node.parent) && node.parent.name === node ? node.parent : undefined; - } - return undefined; - } - - function isLiteralNameOfPropertyDeclarationOrIndexAccess(node: Node): boolean { - if (node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NumericLiteral) { - switch (node.parent.kind) { - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - case SyntaxKind.PropertyAssignment: - case SyntaxKind.EnumMember: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.ModuleDeclaration: - return (node.parent).name === node; - case SyntaxKind.ElementAccessExpression: - return (node.parent).argumentExpression === node; - case SyntaxKind.ComputedPropertyName: - return true; - } - } - - return false; - } - - function isNameOfExternalModuleImportOrDeclaration(node: Node): boolean { - if (node.kind === SyntaxKind.StringLiteral) { - return isNameOfModuleDeclaration(node) || - (isExternalModuleImportEqualsDeclaration(node.parent.parent) && getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node); - } - - return false; - } - - /** Returns true if the position is within a comment */ - function isInsideComment(sourceFile: SourceFile, token: Node, position: number): boolean { - // The position has to be: 1. in the leading trivia (before token.getStart()), and 2. within a comment - return position <= token.getStart(sourceFile) && - (isInsideCommentRange(getTrailingCommentRanges(sourceFile.text, token.getFullStart())) || - isInsideCommentRange(getLeadingCommentRanges(sourceFile.text, token.getFullStart()))); - - function isInsideCommentRange(comments: CommentRange[]): boolean { - return forEach(comments, comment => { - // either we are 1. completely inside the comment, or 2. at the end of the comment - if (comment.pos < position && position < comment.end) { - return true; - } - else if (position === comment.end) { - const text = sourceFile.text; - const width = comment.end - comment.pos; - // is single line comment or just /* - if (width <= 2 || text.charCodeAt(comment.pos + 1) === CharacterCodes.slash) { - return true; - } - else { - // is unterminated multi-line comment - return !(text.charCodeAt(comment.end - 1) === CharacterCodes.slash && - text.charCodeAt(comment.end - 2) === CharacterCodes.asterisk); - } - } - return false; - }); - } - } - - const enum SemanticMeaning { - None = 0x0, - Value = 0x1, - Type = 0x2, - Namespace = 0x4, - All = Value | Type | Namespace - } - - const enum BreakContinueSearchType { - None = 0x0, - Unlabeled = 0x1, - Labeled = 0x2, - All = Unlabeled | Labeled - } - - // A cache of completion entries for keywords, these do not change between sessions - const keywordCompletions: CompletionEntry[] = []; - for (let i = SyntaxKind.FirstKeyword; i <= SyntaxKind.LastKeyword; i++) { - keywordCompletions.push({ - name: tokenToString(i), - kind: ScriptElementKind.keyword, - kindModifiers: ScriptElementKindModifier.none, - sortText: "0" - }); - } - - /* @internal */ export function getContainerNode(node: Node): Declaration { - while (true) { - node = node.parent; - if (!node) { - return undefined; - } - switch (node.kind) { - case SyntaxKind.SourceFile: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.FunctionExpression: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.EnumDeclaration: - case SyntaxKind.ModuleDeclaration: - return node; - } - } - } - - /* @internal */ export function getNodeKind(node: Node): string { - switch (node.kind) { - case SyntaxKind.ModuleDeclaration: return ScriptElementKind.moduleElement; - case SyntaxKind.ClassDeclaration: - case SyntaxKind.ClassExpression: - return ScriptElementKind.classElement; - case SyntaxKind.InterfaceDeclaration: return ScriptElementKind.interfaceElement; - case SyntaxKind.TypeAliasDeclaration: return ScriptElementKind.typeElement; - case SyntaxKind.EnumDeclaration: return ScriptElementKind.enumElement; - case SyntaxKind.VariableDeclaration: - return isConst(node) - ? ScriptElementKind.constElement - : isLet(node) - ? ScriptElementKind.letElement - : ScriptElementKind.variableElement; - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.FunctionExpression: - return ScriptElementKind.functionElement; - case SyntaxKind.GetAccessor: return ScriptElementKind.memberGetAccessorElement; - case SyntaxKind.SetAccessor: return ScriptElementKind.memberSetAccessorElement; - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - return ScriptElementKind.memberFunctionElement; - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - return ScriptElementKind.memberVariableElement; - case SyntaxKind.IndexSignature: return ScriptElementKind.indexSignatureElement; - case SyntaxKind.ConstructSignature: return ScriptElementKind.constructSignatureElement; - case SyntaxKind.CallSignature: return ScriptElementKind.callSignatureElement; - case SyntaxKind.Constructor: return ScriptElementKind.constructorImplementationElement; - case SyntaxKind.TypeParameter: return ScriptElementKind.typeParameterElement; - case SyntaxKind.EnumMember: return ScriptElementKind.variableElement; - case SyntaxKind.Parameter: return (node.flags & NodeFlags.ParameterPropertyModifier) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ImportSpecifier: - case SyntaxKind.ImportClause: - case SyntaxKind.ExportSpecifier: - case SyntaxKind.NamespaceImport: - return ScriptElementKind.alias; - } - return ScriptElementKind.unknown; - } - class CancellationTokenObject implements CancellationToken { constructor(private cancellationToken: HostCancellationToken) { } @@ -3075,14 +977,16 @@ namespace ts { const oldSettings = program && program.getCompilerOptions(); const newSettings = hostCache.compilationSettings(); - const changesInCompilationSettingsAffectSyntax = oldSettings && + const shouldCreateNewSourceFiles = oldSettings && (oldSettings.target !== newSettings.target || oldSettings.module !== newSettings.module || oldSettings.moduleResolution !== newSettings.moduleResolution || oldSettings.noResolve !== newSettings.noResolve || oldSettings.jsx !== newSettings.jsx || oldSettings.allowJs !== newSettings.allowJs || - oldSettings.disableSizeLimit !== oldSettings.disableSizeLimit); + oldSettings.disableSizeLimit !== oldSettings.disableSizeLimit || + oldSettings.baseUrl !== newSettings.baseUrl || + !equalOwnProperties(oldSettings.paths, newSettings.paths)); // Now create a new compiler const compilerHost: CompilerHost = { @@ -3097,7 +1001,6 @@ namespace ts { getCurrentDirectory: () => currentDirectory, fileExists: (fileName): boolean => { // stub missing host functionality - Debug.assert(!host.resolveModuleNames || !host.resolveTypeReferenceDirectives); return hostCache.getOrCreateEntry(fileName) !== undefined; }, readFile: (fileName): string => { @@ -3134,7 +1037,7 @@ namespace ts { const oldSourceFiles = program.getSourceFiles(); const oldSettingsKey = documentRegistry.getKeyForCompilationSettings(oldSettings); for (const oldSourceFile of oldSourceFiles) { - if (!newProgram.getSourceFile(oldSourceFile.fileName) || changesInCompilationSettingsAffectSyntax) { + if (!newProgram.getSourceFile(oldSourceFile.fileName) || shouldCreateNewSourceFiles) { documentRegistry.releaseDocumentWithKey(oldSourceFile.path, oldSettingsKey); } } @@ -3168,7 +1071,7 @@ namespace ts { // Check if the language version has changed since we last created a program; if they are the same, // it is safe to reuse the sourceFiles; if not, then the shape of the AST can change, and the oldSourceFile // can not be reused. we have to dump all syntax trees and create new ones. - if (!changesInCompilationSettingsAffectSyntax) { + if (!shouldCreateNewSourceFiles) { // Check if the old program had this file already const oldSourceFile = program && program.getSourceFileByPath(path); if (oldSourceFile) { @@ -3293,1664 +1196,19 @@ namespace ts { program.getGlobalDiagnostics(cancellationToken)); } - /** - * Get the name to be display in completion from a given symbol. - * - * @return undefined if the name is of external module otherwise a name with striped of any quote - */ - function getCompletionEntryDisplayNameForSymbol(symbol: Symbol, target: ScriptTarget, performCharacterChecks: boolean, location: Node): string { - const displayName: string = getDeclaredName(program.getTypeChecker(), symbol, location); - - if (displayName) { - const firstCharCode = displayName.charCodeAt(0); - // First check of the displayName is not external module; if it is an external module, it is not valid entry - if ((symbol.flags & SymbolFlags.Namespace) && (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { - // If the symbol is external module, don't show it in the completion list - // (i.e declare module "http" { const x; } | // <= request completion here, "http" should not be there) - return undefined; - } - } - - return getCompletionEntryDisplayName(displayName, target, performCharacterChecks); - } - - /** - * Get a displayName from a given for completion list, performing any necessary quotes stripping - * and checking whether the name is valid identifier name. - */ - function getCompletionEntryDisplayName(name: string, target: ScriptTarget, performCharacterChecks: boolean): string { - if (!name) { - return undefined; - } - - name = stripQuotes(name); - - if (!name) { - return undefined; - } - - // If the user entered name for the symbol was quoted, removing the quotes is not enough, as the name could be an - // invalid identifier name. We need to check if whatever was inside the quotes is actually a valid identifier name. - // e.g "b a" is valid quoted name but when we strip off the quotes, it is invalid. - // We, thus, need to check if whatever was inside the quotes is actually a valid identifier name. - if (performCharacterChecks) { - if (!isIdentifier(name, target)) { - return undefined; - } - } - - return name; - } - - function getCompletionData(fileName: string, position: number) { - const typeChecker = program.getTypeChecker(); - const sourceFile = getValidSourceFile(fileName); - const isJavaScriptFile = isSourceFileJavaScript(sourceFile); - - let isJsDocTagName = false; - - let start = timestamp(); - const currentToken = getTokenAtPosition(sourceFile, position); - log("getCompletionData: Get current token: " + (timestamp() - start)); - - start = timestamp(); - // Completion not allowed inside comments, bail out if this is the case - const insideComment = isInsideComment(sourceFile, currentToken, position); - log("getCompletionData: Is inside comment: " + (timestamp() - start)); - - if (insideComment) { - // The current position is next to the '@' sign, when no tag name being provided yet. - // Provide a full list of tag names - if (hasDocComment(sourceFile, position) && sourceFile.text.charCodeAt(position - 1) === CharacterCodes.at) { - isJsDocTagName = true; - } - - // Completion should work inside certain JsDoc tags. For example: - // /** @type {number | string} */ - // Completion should work in the brackets - let insideJsDocTagExpression = false; - const tag = getJsDocTagAtPosition(sourceFile, position); - if (tag) { - if (tag.tagName.pos <= position && position <= tag.tagName.end) { - isJsDocTagName = true; - } - - switch (tag.kind) { - case SyntaxKind.JSDocTypeTag: - case SyntaxKind.JSDocParameterTag: - case SyntaxKind.JSDocReturnTag: - const tagWithExpression = tag; - if (tagWithExpression.typeExpression) { - insideJsDocTagExpression = tagWithExpression.typeExpression.pos < position && position < tagWithExpression.typeExpression.end; - } - break; - } - } - - if (isJsDocTagName) { - return { symbols: undefined, isMemberCompletion: false, isNewIdentifierLocation: false, location: undefined, isRightOfDot: false, isJsDocTagName }; - } - - if (!insideJsDocTagExpression) { - // Proceed if the current position is in jsDoc tag expression; otherwise it is a normal - // comment or the plain text part of a jsDoc comment, so no completion should be available - log("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment."); - return undefined; - } - } - - start = timestamp(); - const previousToken = findPrecedingToken(position, sourceFile); - log("getCompletionData: Get previous token 1: " + (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 - let contextToken = previousToken; - - // Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS| - // Skip this partial identifier and adjust the contextToken to the token that precedes it. - if (contextToken && position <= contextToken.end && isWord(contextToken.kind)) { - const start = timestamp(); - contextToken = findPrecedingToken(contextToken.getFullStart(), sourceFile); - log("getCompletionData: Get previous token 2: " + (timestamp() - start)); - } - - // Find the node where completion is requested on. - // Also determine whether we are trying to complete with members of that node - // or attributes of a JSX tag. - let node = currentToken; - let isRightOfDot = false; - let isRightOfOpenTag = false; - let isStartingCloseTag = false; - - let location = getTouchingPropertyName(sourceFile, position); - if (contextToken) { - // Bail out if this is a known invalid completion location - if (isCompletionListBlocker(contextToken)) { - log("Returning an empty list because completion was requested in an invalid position."); - return undefined; - } - - const { parent, kind } = contextToken; - if (kind === SyntaxKind.DotToken) { - if (parent.kind === SyntaxKind.PropertyAccessExpression) { - node = (contextToken.parent).expression; - isRightOfDot = true; - } - else if (parent.kind === SyntaxKind.QualifiedName) { - node = (contextToken.parent).left; - isRightOfDot = true; - } - else { - // There is nothing that precedes the dot, so this likely just a stray character - // or leading into a '...' token. Just bail out instead. - return undefined; - } - } - else if (sourceFile.languageVariant === LanguageVariant.JSX) { - if (kind === SyntaxKind.LessThanToken) { - isRightOfOpenTag = true; - location = contextToken; - } - else if (kind === SyntaxKind.SlashToken && contextToken.parent.kind === SyntaxKind.JsxClosingElement) { - isStartingCloseTag = true; - location = contextToken; - } - } - } - - const semanticStart = timestamp(); - let isMemberCompletion: boolean; - let isNewIdentifierLocation: boolean; - let symbols: Symbol[] = []; - - if (isRightOfDot) { - getTypeScriptMemberSymbols(); - } - else if (isRightOfOpenTag) { - const tagSymbols = typeChecker.getJsxIntrinsicTagNames(); - if (tryGetGlobalSymbols()) { - symbols = tagSymbols.concat(symbols.filter(s => !!(s.flags & (SymbolFlags.Value | SymbolFlags.Alias)))); - } - else { - symbols = tagSymbols; - } - isMemberCompletion = true; - isNewIdentifierLocation = false; - } - else if (isStartingCloseTag) { - const tagName = (contextToken.parent.parent).openingElement.tagName; - const tagSymbol = typeChecker.getSymbolAtLocation(tagName); - - if (!typeChecker.isUnknownSymbol(tagSymbol)) { - symbols = [tagSymbol]; - } - isMemberCompletion = true; - isNewIdentifierLocation = false; - } - else { - // For JavaScript or TypeScript, if we're not after a dot, then just try to get the - // global symbols in scope. These results should be valid for either language as - // the set of symbols that can be referenced from this location. - if (!tryGetGlobalSymbols()) { - return undefined; - } - } - - log("getCompletionData: Semantic work: " + (timestamp() - semanticStart)); - - return { symbols, isMemberCompletion, isNewIdentifierLocation, location, isRightOfDot: (isRightOfDot || isRightOfOpenTag), isJsDocTagName }; - - function getTypeScriptMemberSymbols(): void { - // Right of dot member completion list - isMemberCompletion = true; - isNewIdentifierLocation = false; - - if (node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName || node.kind === SyntaxKind.PropertyAccessExpression) { - let symbol = typeChecker.getSymbolAtLocation(node); - - // This is an alias, follow what it aliases - if (symbol && symbol.flags & SymbolFlags.Alias) { - symbol = typeChecker.getAliasedSymbol(symbol); - } - - if (symbol && symbol.flags & SymbolFlags.HasExports) { - // Extract module or enum members - const exportedSymbols = typeChecker.getExportsOfModule(symbol); - forEach(exportedSymbols, symbol => { - if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) { - symbols.push(symbol); - } - }); - } - } - - const type = typeChecker.getTypeAtLocation(node); - addTypeProperties(type); - } - - function addTypeProperties(type: Type) { - if (type) { - // Filter private properties - for (const symbol of type.getApparentProperties()) { - if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) { - symbols.push(symbol); - } - } - - if (isJavaScriptFile && type.flags & TypeFlags.Union) { - // 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 - // anyways. So we might as well elevate the members that were at least part - // of the individual types to a higher status since we know what they are. - const unionType = type; - for (const elementType of unionType.types) { - addTypeProperties(elementType); - } - } - } - } - - function tryGetGlobalSymbols(): boolean { - let objectLikeContainer: ObjectLiteralExpression | BindingPattern; - let namedImportsOrExports: NamedImportsOrExports; - let jsxContainer: JsxOpeningLikeElement; - - if (objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken)) { - return tryGetObjectLikeCompletionSymbols(objectLikeContainer); - } - - if (namedImportsOrExports = tryGetNamedImportsOrExportsForCompletion(contextToken)) { - // cursor is in an import clause - // try to show exported member for imported module - return tryGetImportOrExportClauseCompletionSymbols(namedImportsOrExports); - } - - if (jsxContainer = tryGetContainingJsxElement(contextToken)) { - let attrsType: Type; - if ((jsxContainer.kind === SyntaxKind.JsxSelfClosingElement) || (jsxContainer.kind === SyntaxKind.JsxOpeningElement)) { - // Cursor is inside a JSX self-closing element or opening element - attrsType = typeChecker.getJsxElementAttributesType(jsxContainer); - - if (attrsType) { - symbols = filterJsxAttributes(typeChecker.getPropertiesOfType(attrsType), (jsxContainer).attributes); - isMemberCompletion = true; - isNewIdentifierLocation = false; - return true; - } - - } - } - - // Get all entities in the current scope. - isMemberCompletion = false; - isNewIdentifierLocation = isNewIdentifierDefinitionLocation(contextToken); - - if (previousToken !== contextToken) { - Debug.assert(!!previousToken, "Expected 'contextToken' to be defined when different from 'previousToken'."); - } - // We need to find the node that will give us an appropriate scope to begin - // aggregating completion candidates. This is achieved in 'getScopeNode' - // by finding the first node that encompasses a position, accounting for whether a node - // is "complete" to decide whether a position belongs to the node. - // - // However, at the end of an identifier, we are interested in the scope of the identifier - // itself, but fall outside of the identifier. For instance: - // - // xyz => x$ - // - // the cursor is outside of both the 'x' and the arrow function 'xyz => x', - // so 'xyz' is not returned in our results. - // - // We define 'adjustedPosition' so that we may appropriately account for - // being at the end of an identifier. The intention is that if requesting completion - // at the end of an identifier, it should be effectively equivalent to requesting completion - // anywhere inside/at the beginning of the identifier. So in the previous case, the - // 'adjustedPosition' will work as if requesting completion in the following: - // - // xyz => $x - // - // If previousToken !== contextToken, then - // - 'contextToken' was adjusted to the token prior to 'previousToken' - // because we were at the end of an identifier. - // - 'previousToken' is defined. - const adjustedPosition = previousToken !== contextToken ? - previousToken.getStart() : - position; - - const scopeNode = getScopeNode(contextToken, adjustedPosition, sourceFile) || sourceFile; - - /// TODO filter meaning based on the current context - const symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; - symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings); - - return true; - } - - /** - * Finds the first node that "embraces" the position, so that one may - * accurately aggregate locals from the closest containing scope. - */ - function getScopeNode(initialToken: Node, position: number, sourceFile: SourceFile) { - let scope = initialToken; - while (scope && !positionBelongsToNode(scope, position, sourceFile)) { - scope = scope.parent; - } - return scope; - } - - function isCompletionListBlocker(contextToken: Node): boolean { - const start = timestamp(); - const result = isInStringOrRegularExpressionOrTemplateLiteral(contextToken) || - isSolelyIdentifierDefinitionLocation(contextToken) || - isDotOfNumericLiteral(contextToken) || - isInJsxText(contextToken); - log("getCompletionsAtPosition: isCompletionListBlocker: " + (timestamp() - start)); - return result; - } - - function isInJsxText(contextToken: Node): boolean { - if (contextToken.kind === SyntaxKind.JsxText) { - return true; - } - - if (contextToken.kind === SyntaxKind.GreaterThanToken && contextToken.parent) { - if (contextToken.parent.kind === SyntaxKind.JsxOpeningElement) { - return true; - } - - if (contextToken.parent.kind === SyntaxKind.JsxClosingElement || contextToken.parent.kind === SyntaxKind.JsxSelfClosingElement) { - return contextToken.parent.parent && contextToken.parent.parent.kind === SyntaxKind.JsxElement; - } - } - return false; - } - - function isNewIdentifierDefinitionLocation(previousToken: Node): boolean { - if (previousToken) { - const containingNodeKind = previousToken.parent.kind; - switch (previousToken.kind) { - case SyntaxKind.CommaToken: - return containingNodeKind === SyntaxKind.CallExpression // func( a, | - || containingNodeKind === SyntaxKind.Constructor // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === SyntaxKind.NewExpression // new C(a, | - || containingNodeKind === SyntaxKind.ArrayLiteralExpression // [a, | - || containingNodeKind === SyntaxKind.BinaryExpression // const x = (a, | - || containingNodeKind === SyntaxKind.FunctionType; // var x: (s: string, list| - - case SyntaxKind.OpenParenToken: - return containingNodeKind === SyntaxKind.CallExpression // func( | - || containingNodeKind === SyntaxKind.Constructor // constructor( | - || containingNodeKind === SyntaxKind.NewExpression // new C(a| - || containingNodeKind === SyntaxKind.ParenthesizedExpression // const x = (a| - || containingNodeKind === SyntaxKind.ParenthesizedType; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ - - case SyntaxKind.OpenBracketToken: - return containingNodeKind === SyntaxKind.ArrayLiteralExpression // [ | - || containingNodeKind === SyntaxKind.IndexSignature // [ | : string ] - || containingNodeKind === SyntaxKind.ComputedPropertyName; // [ | /* this can become an index signature */ - - case SyntaxKind.ModuleKeyword: // module | - case SyntaxKind.NamespaceKeyword: // namespace | - return true; - - case SyntaxKind.DotToken: - return containingNodeKind === SyntaxKind.ModuleDeclaration; // module A.| - - case SyntaxKind.OpenBraceToken: - return containingNodeKind === SyntaxKind.ClassDeclaration; // class A{ | - - case SyntaxKind.EqualsToken: - return containingNodeKind === SyntaxKind.VariableDeclaration // const x = a| - || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| - - case SyntaxKind.TemplateHead: - return containingNodeKind === SyntaxKind.TemplateExpression; // `aa ${| - - case SyntaxKind.TemplateMiddle: - return containingNodeKind === SyntaxKind.TemplateSpan; // `aa ${10} dd ${| - - case SyntaxKind.PublicKeyword: - case SyntaxKind.PrivateKeyword: - case SyntaxKind.ProtectedKeyword: - return containingNodeKind === SyntaxKind.PropertyDeclaration; // class A{ public | - } - - // Previous token may have been a keyword that was converted to an identifier. - switch (previousToken.getText()) { - case "public": - case "protected": - case "private": - return true; - } - } - - return false; - } - - function isInStringOrRegularExpressionOrTemplateLiteral(contextToken: Node): boolean { - if (contextToken.kind === SyntaxKind.StringLiteral - || contextToken.kind === SyntaxKind.StringLiteralType - || contextToken.kind === SyntaxKind.RegularExpressionLiteral - || isTemplateLiteralKind(contextToken.kind)) { - const start = contextToken.getStart(); - const 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 < position && position < end) { - return true; - } - - if (position === end) { - return !!(contextToken).isUnterminated - || contextToken.kind === SyntaxKind.RegularExpressionLiteral; - } - } - - return false; - } - - /** - * Aggregates relevant symbols for completion in object literals and object binding patterns. - * Relevant symbols are stored in the captured 'symbols' variable. - * - * @returns true if 'symbols' was successfully populated; false otherwise. - */ - function tryGetObjectLikeCompletionSymbols(objectLikeContainer: ObjectLiteralExpression | BindingPattern): boolean { - // We're looking up possible property names from contextual/inferred/declared type. - isMemberCompletion = true; - - let typeForObject: Type; - let existingMembers: Declaration[]; - - if (objectLikeContainer.kind === SyntaxKind.ObjectLiteralExpression) { - // We are completing on contextual types, but may also include properties - // other than those within the declared type. - isNewIdentifierLocation = true; - - typeForObject = typeChecker.getContextualType(objectLikeContainer); - existingMembers = (objectLikeContainer).properties; - } - else if (objectLikeContainer.kind === SyntaxKind.ObjectBindingPattern) { - // We are *only* completing on properties from the type being destructured. - isNewIdentifierLocation = false; - - const rootDeclaration = getRootDeclaration(objectLikeContainer.parent); - if (isVariableLike(rootDeclaration)) { - // We don't want to complete using the type acquired by the shape - // of the binding pattern; we are only interested in types acquired - // through type declaration or inference. - // Also proceed if rootDeclaration is 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 - let canGetType = !!(rootDeclaration.initializer || rootDeclaration.type); - if (!canGetType && rootDeclaration.kind === SyntaxKind.Parameter) { - if (isExpression(rootDeclaration.parent)) { - canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); - } - else if (rootDeclaration.parent.kind === SyntaxKind.MethodDeclaration || rootDeclaration.parent.kind === SyntaxKind.SetAccessor) { - canGetType = isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); - } - } - if (canGetType) { - typeForObject = typeChecker.getTypeAtLocation(objectLikeContainer); - existingMembers = (objectLikeContainer).elements; - } - } - else { - Debug.fail("Root declaration is not variable-like."); - } - } - else { - Debug.fail("Expected object literal or binding pattern, got " + objectLikeContainer.kind); - } - - if (!typeForObject) { - return false; - } - - const typeMembers = typeChecker.getPropertiesOfType(typeForObject); - if (typeMembers && typeMembers.length > 0) { - // Add filtered items to the completion list - symbols = filterObjectMembersList(typeMembers, existingMembers); - } - return true; - } - - /** - * Aggregates relevant symbols for completion in import clauses and export clauses - * whose declarations have a module specifier; for instance, symbols will be aggregated for - * - * import { | } from "moduleName"; - * export { a as foo, | } from "moduleName"; - * - * but not for - * - * export { | }; - * - * Relevant symbols are stored in the captured 'symbols' variable. - * - * @returns true if 'symbols' was successfully populated; false otherwise. - */ - function tryGetImportOrExportClauseCompletionSymbols(namedImportsOrExports: NamedImportsOrExports): boolean { - const declarationKind = namedImportsOrExports.kind === SyntaxKind.NamedImports ? - SyntaxKind.ImportDeclaration : - SyntaxKind.ExportDeclaration; - const importOrExportDeclaration = getAncestor(namedImportsOrExports, declarationKind); - const moduleSpecifier = importOrExportDeclaration.moduleSpecifier; - - if (!moduleSpecifier) { - return false; - } - - isMemberCompletion = true; - isNewIdentifierLocation = false; - - let exports: Symbol[]; - const moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(importOrExportDeclaration.moduleSpecifier); - if (moduleSpecifierSymbol) { - exports = typeChecker.getExportsOfModule(moduleSpecifierSymbol); - } - - symbols = exports ? filterNamedImportOrExportCompletionItems(exports, namedImportsOrExports.elements) : emptyArray; - - return true; - } - - /** - * Returns the immediate owning object literal or binding pattern of a context token, - * on the condition that one exists and that the context implies completion should be given. - */ - function tryGetObjectLikeCompletionContainer(contextToken: Node): ObjectLiteralExpression | BindingPattern { - if (contextToken) { - switch (contextToken.kind) { - case SyntaxKind.OpenBraceToken: // const x = { | - case SyntaxKind.CommaToken: // const x = { a: 0, | - const parent = contextToken.parent; - if (parent && (parent.kind === SyntaxKind.ObjectLiteralExpression || parent.kind === SyntaxKind.ObjectBindingPattern)) { - return parent; - } - break; - } - } - - return undefined; - } - - /** - * Returns the containing list of named imports or exports of a context token, - * on the condition that one exists and that the context implies completion should be given. - */ - function tryGetNamedImportsOrExportsForCompletion(contextToken: Node): NamedImportsOrExports { - if (contextToken) { - switch (contextToken.kind) { - case SyntaxKind.OpenBraceToken: // import { | - case SyntaxKind.CommaToken: // import { a as 0, | - switch (contextToken.parent.kind) { - case SyntaxKind.NamedImports: - case SyntaxKind.NamedExports: - return contextToken.parent; - } - } - } - - return undefined; - } - - function tryGetContainingJsxElement(contextToken: Node): JsxOpeningLikeElement { - if (contextToken) { - const parent = contextToken.parent; - switch (contextToken.kind) { - case SyntaxKind.LessThanSlashToken: - case SyntaxKind.SlashToken: - case SyntaxKind.Identifier: - case SyntaxKind.JsxAttribute: - case SyntaxKind.JsxSpreadAttribute: - if (parent && (parent.kind === SyntaxKind.JsxSelfClosingElement || parent.kind === SyntaxKind.JsxOpeningElement)) { - return parent; - } - else if (parent.kind === SyntaxKind.JsxAttribute) { - return parent.parent; - } - break; - - // The context token is the closing } or " of an attribute, which means - // its parent is a JsxExpression, whose parent is a JsxAttribute, - // whose parent is a JsxOpeningLikeElement - case SyntaxKind.StringLiteral: - if (parent && ((parent.kind === SyntaxKind.JsxAttribute) || (parent.kind === SyntaxKind.JsxSpreadAttribute))) { - return parent.parent; - } - - break; - - case SyntaxKind.CloseBraceToken: - if (parent && - parent.kind === SyntaxKind.JsxExpression && - parent.parent && - (parent.parent.kind === SyntaxKind.JsxAttribute)) { - return parent.parent.parent; - } - - if (parent && parent.kind === SyntaxKind.JsxSpreadAttribute) { - return parent.parent; - } - - break; - } - } - return undefined; - } - - function isFunction(kind: SyntaxKind): boolean { - switch (kind) { - case SyntaxKind.FunctionExpression: - case SyntaxKind.ArrowFunction: - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.CallSignature: - case SyntaxKind.ConstructSignature: - case SyntaxKind.IndexSignature: - return true; - } - return false; - } - - /** - * @returns true if we are certain that the currently edited location must define a new location; false otherwise. - */ - function isSolelyIdentifierDefinitionLocation(contextToken: Node): boolean { - const containingNodeKind = contextToken.parent.kind; - switch (contextToken.kind) { - case SyntaxKind.CommaToken: - return containingNodeKind === SyntaxKind.VariableDeclaration || - containingNodeKind === SyntaxKind.VariableDeclarationList || - containingNodeKind === SyntaxKind.VariableStatement || - containingNodeKind === SyntaxKind.EnumDeclaration || // enum a { foo, | - isFunction(containingNodeKind) || - containingNodeKind === SyntaxKind.ClassDeclaration || // class A = {}; - - for (const element of namedImportsOrExports) { - // If this is the current item we are editing right now, do not filter it out - if (element.getStart() <= position && position <= element.getEnd()) { - continue; - } - - const name = element.propertyName || element.name; - existingImportsOrExports[name.text] = true; - } - - if (isEmpty(existingImportsOrExports)) { - return filter(exportsOfModule, e => e.name !== "default"); - } - - return filter(exportsOfModule, e => e.name !== "default" && !lookUp(existingImportsOrExports, e.name)); - } - - /** - * Filters out completion suggestions for named imports or exports. - * - * @returns Symbols to be suggested in an object binding pattern or object literal expression, barring those whose declarations - * do not occur at the current position and have not otherwise been typed. - */ - function filterObjectMembersList(contextualMemberSymbols: Symbol[], existingMembers: Declaration[]): Symbol[] { - if (!existingMembers || existingMembers.length === 0) { - return contextualMemberSymbols; - } - - const existingMemberNames: Map = {}; - for (const m of existingMembers) { - // Ignore omitted expressions for missing members - if (m.kind !== SyntaxKind.PropertyAssignment && - m.kind !== SyntaxKind.ShorthandPropertyAssignment && - m.kind !== SyntaxKind.BindingElement && - m.kind !== SyntaxKind.MethodDeclaration) { - continue; - } - - // If this is the current item we are editing right now, do not filter it out - if (m.getStart() <= position && position <= m.getEnd()) { - continue; - } - - let existingName: string; - - if (m.kind === SyntaxKind.BindingElement && (m).propertyName) { - // include only identifiers in completion list - if ((m).propertyName.kind === SyntaxKind.Identifier) { - existingName = ((m).propertyName).text; - } - } - else { - // TODO(jfreeman): Account for computed property name - // NOTE: if one only performs this step when m.name is an identifier, - // things like '__proto__' are not filtered out. - existingName = (m.name).text; - } - - existingMemberNames[existingName] = true; - } - - return filter(contextualMemberSymbols, m => !lookUp(existingMemberNames, m.name)); - } - - /** - * Filters out completion suggestions from 'symbols' according to existing JSX attributes. - * - * @returns Symbols to be suggested in a JSX element, barring those whose attributes - * do not occur at the current position and have not otherwise been typed. - */ - function filterJsxAttributes(symbols: Symbol[], attributes: NodeArray): Symbol[] { - const seenNames: Map = {}; - for (const attr of attributes) { - // If this is the current item we are editing right now, do not filter it out - if (attr.getStart() <= position && position <= attr.getEnd()) { - continue; - } - - if (attr.kind === SyntaxKind.JsxAttribute) { - seenNames[(attr).name.text] = true; - } - } - - return filter(symbols, a => !lookUp(seenNames, a.name)); - } - } - function getCompletionsAtPosition(fileName: string, position: number): CompletionInfo { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - - if (isInString(sourceFile, position)) { - return getStringLiteralCompletionEntries(sourceFile, position); - } - - const completionData = getCompletionData(fileName, position); - if (!completionData) { - return undefined; - } - - const { symbols, isMemberCompletion, isNewIdentifierLocation, location, isJsDocTagName } = completionData; - - if (isJsDocTagName) { - // If the current position is a jsDoc tag name, only tag names should be provided for completion - return { isMemberCompletion: false, isNewIdentifierLocation: false, entries: getAllJsDocCompletionEntries() }; - } - - const entries: CompletionEntry[] = []; - - if (isSourceFileJavaScript(sourceFile)) { - const uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, /*performCharacterChecks*/ false); - addRange(entries, getJavaScriptCompletionEntries(sourceFile, location.pos, uniqueNames)); - } - else { - if (!symbols || symbols.length === 0) { - if (sourceFile.languageVariant === LanguageVariant.JSX && - location.parent && location.parent.kind === SyntaxKind.JsxClosingElement) { - // In the TypeScript JSX element, if such element is not defined. When users query for completion at closing tag, - // instead of simply giving unknown value, the completion will return the tag-name of an associated opening-element. - // For example: - // var x =
completion list at "1" will contain "div" with type any - const tagName = (location.parent.parent).openingElement.tagName; - entries.push({ - name: (tagName).text, - kind: undefined, - kindModifiers: undefined, - sortText: "0", - }); - } - else { - return undefined; - } - } - - getCompletionEntriesFromSymbols(symbols, entries, location, /*performCharacterChecks*/ true); - } - - // Add keywords if this is not a member completion list - if (!isMemberCompletion && !isJsDocTagName) { - addRange(entries, keywordCompletions); - } - - return { isMemberCompletion, isNewIdentifierLocation, entries }; - - function getJavaScriptCompletionEntries(sourceFile: SourceFile, position: number, uniqueNames: Map): CompletionEntry[] { - const entries: CompletionEntry[] = []; - const target = program.getCompilerOptions().target; - - const nameTable = getNameTable(sourceFile); - for (const name in nameTable) { - // Skip identifiers produced only from the current location - if (nameTable[name] === position) { - continue; - } - - if (!uniqueNames[name]) { - uniqueNames[name] = name; - const displayName = getCompletionEntryDisplayName(unescapeIdentifier(name), target, /*performCharacterChecks*/ true); - if (displayName) { - const entry = { - name: displayName, - kind: ScriptElementKind.warning, - kindModifiers: "", - sortText: "1" - }; - entries.push(entry); - } - } - } - - return entries; - } - - function getAllJsDocCompletionEntries(): CompletionEntry[] { - return jsDocCompletionEntries || (jsDocCompletionEntries = ts.map(jsDocTagNames, tagName => { - return { - name: tagName, - kind: ScriptElementKind.keyword, - kindModifiers: "", - sortText: "0", - }; - })); - } - - function createCompletionEntry(symbol: Symbol, location: Node, performCharacterChecks: boolean): CompletionEntry { - // Try to get a valid display name for this symbol, if we could not find one, then ignore it. - // We would like to only show things that can be added after a dot, so for instance numeric properties can - // not be accessed with a dot (a.1 <- invalid) - const displayName = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, performCharacterChecks, location); - if (!displayName) { - return undefined; - } - - // TODO(drosen): Right now we just permit *all* semantic meanings when calling - // 'getSymbolKind' which is permissible given that it is backwards compatible; but - // really we should consider passing the meaning for the node so that we don't report - // that a suggestion for a value is an interface. We COULD also just do what - // 'getSymbolModifiers' does, which is to use the first declaration. - - // Use a 'sortText' of 0' so that all symbol completion entries come before any other - // entries (like JavaScript identifier entries). - return { - name: displayName, - kind: getSymbolKind(symbol, location), - kindModifiers: getSymbolModifiers(symbol), - sortText: "0", - }; - - } - - function getCompletionEntriesFromSymbols(symbols: Symbol[], entries: CompletionEntry[], location: Node, performCharacterChecks: boolean): Map { - const start = timestamp(); - const uniqueNames: Map = {}; - if (symbols) { - for (const symbol of symbols) { - const entry = createCompletionEntry(symbol, location, performCharacterChecks); - if (entry) { - const id = escapeIdentifier(entry.name); - if (!lookUp(uniqueNames, id)) { - entries.push(entry); - uniqueNames[id] = id; - } - } - } - } - - log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (timestamp() - start)); - return uniqueNames; - } - - function getStringLiteralCompletionEntries(sourceFile: SourceFile, position: number) { - const node = findPrecedingToken(position, sourceFile); - if (!node || node.kind !== SyntaxKind.StringLiteral) { - return undefined; - } - - if (node.parent.kind === SyntaxKind.PropertyAssignment && node.parent.parent.kind === SyntaxKind.ObjectLiteralExpression) { - // Get quoted name of properties of the object literal expression - // i.e. interface ConfigFiles { - // 'jspm:dev': string - // } - // let files: ConfigFiles = { - // '/*completion position*/' - // } - // - // function foo(c: ConfigFiles) {} - // foo({ - // '/*completion position*/' - // }); - return getStringLiteralCompletionEntriesFromPropertyAssignment(node.parent); - } - else if (isElementAccessExpression(node.parent) && node.parent.argumentExpression === node) { - // Get all names of properties on the expression - // i.e. interface A { - // 'prop1': string - // } - // let a: A; - // a['/*completion position*/'] - return getStringLiteralCompletionEntriesFromElementAccess(node.parent); - } - else { - const argumentInfo = SignatureHelp.getContainingArgumentInfo(node, position, sourceFile); - if (argumentInfo) { - // Get string literal completions from specialized signatures of the target - // i.e. declare function f(a: 'A'); - // f("/*completion position*/") - return getStringLiteralCompletionEntriesFromCallExpression(argumentInfo, node); - } - - // Get completion for string literal from string literal type - // i.e. var x: "hi" | "hello" = "/*completion position*/" - return getStringLiteralCompletionEntriesFromContextualType(node); - } - } - - function getStringLiteralCompletionEntriesFromPropertyAssignment(element: ObjectLiteralElement) { - const typeChecker = program.getTypeChecker(); - const type = typeChecker.getContextualType((element.parent)); - const entries: CompletionEntry[] = []; - if (type) { - getCompletionEntriesFromSymbols(type.getApparentProperties(), entries, element, /*performCharacterChecks*/false); - if (entries.length) { - return { isMemberCompletion: true, isNewIdentifierLocation: true, entries }; - } - } - } - - function getStringLiteralCompletionEntriesFromCallExpression(argumentInfo: SignatureHelp.ArgumentListInfo, location: Node) { - const typeChecker = program.getTypeChecker(); - const candidates: Signature[] = []; - const entries: CompletionEntry[] = []; - - typeChecker.getResolvedSignature(argumentInfo.invocation, candidates); - - for (const candidate of candidates) { - if (candidate.parameters.length > argumentInfo.argumentIndex) { - const parameter = candidate.parameters[argumentInfo.argumentIndex]; - addStringLiteralCompletionsFromType(typeChecker.getTypeAtLocation(parameter.valueDeclaration), entries); - } - } - - if (entries.length) { - return { isMemberCompletion: false, isNewIdentifierLocation: true, entries }; - } - - return undefined; - } - - function getStringLiteralCompletionEntriesFromElementAccess(node: ElementAccessExpression) { - const typeChecker = program.getTypeChecker(); - const type = typeChecker.getTypeAtLocation(node.expression); - const entries: CompletionEntry[] = []; - if (type) { - getCompletionEntriesFromSymbols(type.getApparentProperties(), entries, node, /*performCharacterChecks*/false); - if (entries.length) { - return { isMemberCompletion: true, isNewIdentifierLocation: true, entries }; - } - } - return undefined; - } - - function getStringLiteralCompletionEntriesFromContextualType(node: StringLiteral) { - const typeChecker = program.getTypeChecker(); - const type = typeChecker.getContextualType(node); - if (type) { - const entries: CompletionEntry[] = []; - addStringLiteralCompletionsFromType(type, entries); - if (entries.length) { - return { isMemberCompletion: false, isNewIdentifierLocation: false, entries }; - } - } - return undefined; - } - - function addStringLiteralCompletionsFromType(type: Type, result: CompletionEntry[]): void { - if (!type) { - return; - } - if (type.flags & TypeFlags.Union) { - forEach((type).types, t => addStringLiteralCompletionsFromType(t, result)); - } - else { - if (type.flags & TypeFlags.StringLiteral) { - result.push({ - name: (type).text, - kindModifiers: ScriptElementKindModifier.none, - kind: ScriptElementKind.variableElement, - sortText: "0" - }); - } - } - } + return Completions.getCompletionsAtPosition(host, program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position); } function getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails { synchronizeHostData(); - - // Compute all the completion symbols again. - const completionData = getCompletionData(fileName, position); - if (completionData) { - const { symbols, location } = completionData; - - // Find the symbol with the matching entry name. - const target = program.getCompilerOptions().target; - // We don't need to perform character checks here because we're only comparing the - // name against 'entryName' (which is known to be good), not building a new - // completion entry. - const symbol = forEach(symbols, s => getCompletionEntryDisplayNameForSymbol(s, target, /*performCharacterChecks*/ false, location) === entryName ? s : undefined); - - if (symbol) { - const { displayParts, documentation, symbolKind } = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, location, SemanticMeaning.All); - return { - name: entryName, - kindModifiers: getSymbolModifiers(symbol), - kind: symbolKind, - displayParts, - documentation - }; - } - } - - // Didn't find a symbol with this name. See if we can find a keyword instead. - const keywordCompletion = forEach(keywordCompletions, c => c.name === entryName); - if (keywordCompletion) { - return { - name: entryName, - kind: ScriptElementKind.keyword, - kindModifiers: ScriptElementKindModifier.none, - displayParts: [displayPart(entryName, SymbolDisplayPartKind.keyword)], - documentation: undefined - }; - } - - return undefined; + return Completions.getCompletionEntryDetails(program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, entryName); } - // TODO(drosen): use contextual SemanticMeaning. - function getSymbolKind(symbol: Symbol, location: Node): string { - const flags = symbol.getFlags(); - - if (flags & SymbolFlags.Class) return getDeclarationOfKind(symbol, SyntaxKind.ClassExpression) ? - ScriptElementKind.localClassElement : ScriptElementKind.classElement; - if (flags & SymbolFlags.Enum) return ScriptElementKind.enumElement; - if (flags & SymbolFlags.TypeAlias) return ScriptElementKind.typeElement; - if (flags & SymbolFlags.Interface) return ScriptElementKind.interfaceElement; - if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement; - - const result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, flags, location); - if (result === ScriptElementKind.unknown) { - if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement; - if (flags & SymbolFlags.EnumMember) return ScriptElementKind.variableElement; - if (flags & SymbolFlags.Alias) return ScriptElementKind.alias; - if (flags & SymbolFlags.Module) return ScriptElementKind.moduleElement; - } - - return result; - } - - function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol: Symbol, flags: SymbolFlags, location: Node) { - const typeChecker = program.getTypeChecker(); - - if (typeChecker.isUndefinedSymbol(symbol)) { - return ScriptElementKind.variableElement; - } - if (typeChecker.isArgumentsSymbol(symbol)) { - return ScriptElementKind.localVariableElement; - } - if (location.kind === SyntaxKind.ThisKeyword && isExpression(location)) { - return ScriptElementKind.parameterElement; - } - if (flags & SymbolFlags.Variable) { - if (isFirstDeclarationOfSymbolParameter(symbol)) { - return ScriptElementKind.parameterElement; - } - else if (symbol.valueDeclaration && isConst(symbol.valueDeclaration)) { - return ScriptElementKind.constElement; - } - else if (forEach(symbol.declarations, isLet)) { - return ScriptElementKind.letElement; - } - return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localVariableElement : ScriptElementKind.variableElement; - } - if (flags & SymbolFlags.Function) return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localFunctionElement : ScriptElementKind.functionElement; - if (flags & SymbolFlags.GetAccessor) return ScriptElementKind.memberGetAccessorElement; - if (flags & SymbolFlags.SetAccessor) return ScriptElementKind.memberSetAccessorElement; - if (flags & SymbolFlags.Method) return ScriptElementKind.memberFunctionElement; - if (flags & SymbolFlags.Constructor) return ScriptElementKind.constructorImplementationElement; - - if (flags & SymbolFlags.Property) { - if (flags & SymbolFlags.SyntheticProperty) { - // If union property is result of union of non method (property/accessors/variables), it is labeled as property - const unionPropertyKind = forEach(typeChecker.getRootSymbols(symbol), rootSymbol => { - const rootSymbolFlags = rootSymbol.getFlags(); - if (rootSymbolFlags & (SymbolFlags.PropertyOrAccessor | SymbolFlags.Variable)) { - return ScriptElementKind.memberVariableElement; - } - Debug.assert(!!(rootSymbolFlags & SymbolFlags.Method)); - }); - if (!unionPropertyKind) { - // If this was union of all methods, - // make sure it has call signatures before we can label it as method - const typeOfUnionProperty = typeChecker.getTypeOfSymbolAtLocation(symbol, location); - if (typeOfUnionProperty.getCallSignatures().length) { - return ScriptElementKind.memberFunctionElement; - } - return ScriptElementKind.memberVariableElement; - } - return unionPropertyKind; - } - return ScriptElementKind.memberVariableElement; - } - - return ScriptElementKind.unknown; - } - - function getSymbolModifiers(symbol: Symbol): string { - return symbol && symbol.declarations && symbol.declarations.length > 0 - ? getNodeModifiers(symbol.declarations[0]) - : ScriptElementKindModifier.none; - } - - // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location - function getSymbolDisplayPartsDocumentationAndSymbolKind(symbol: Symbol, sourceFile: SourceFile, enclosingDeclaration: Node, - location: Node, semanticMeaning = getMeaningFromLocation(location)) { - - const typeChecker = program.getTypeChecker(); - - const displayParts: SymbolDisplayPart[] = []; - let documentation: SymbolDisplayPart[]; - const symbolFlags = symbol.flags; - let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, location); - let hasAddedSymbolInfo: boolean; - const isThisExpression: boolean = location.kind === SyntaxKind.ThisKeyword && isExpression(location); - let type: Type; - - // Class at constructor site need to be shown as constructor apart from property,method, vars - if (symbolKind !== ScriptElementKind.unknown || symbolFlags & SymbolFlags.Class || symbolFlags & SymbolFlags.Alias) { - // If it is accessor they are allowed only if location is at name of the accessor - if (symbolKind === ScriptElementKind.memberGetAccessorElement || symbolKind === ScriptElementKind.memberSetAccessorElement) { - symbolKind = ScriptElementKind.memberVariableElement; - } - - let signature: Signature; - type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); - if (type) { - if (location.parent && location.parent.kind === SyntaxKind.PropertyAccessExpression) { - const 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)) { - location = location.parent; - } - } - - // try get the call/construct signature from the type if it matches - let callExpression: CallExpression; - if (location.kind === SyntaxKind.CallExpression || location.kind === SyntaxKind.NewExpression) { - callExpression = location; - } - else if (isCallExpressionTarget(location) || isNewExpressionTarget(location)) { - callExpression = location.parent; - } - - if (callExpression) { - const candidateSignatures: Signature[] = []; - signature = typeChecker.getResolvedSignature(callExpression, candidateSignatures); - if (!signature && candidateSignatures.length) { - // Use the first candidate: - signature = candidateSignatures[0]; - } - - const useConstructSignatures = callExpression.kind === SyntaxKind.NewExpression || callExpression.expression.kind === SyntaxKind.SuperKeyword; - const allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); - - if (!contains(allSignatures, signature.target) && !contains(allSignatures, signature)) { - // Get the first signature if there is one -- allSignatures may contain - // either the original signature or its target, so check for either - signature = allSignatures.length ? allSignatures[0] : undefined; - } - - if (signature) { - if (useConstructSignatures && (symbolFlags & SymbolFlags.Class)) { - // Constructor - symbolKind = ScriptElementKind.constructorImplementationElement; - addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); - } - else if (symbolFlags & SymbolFlags.Alias) { - symbolKind = ScriptElementKind.alias; - pushTypePart(symbolKind); - displayParts.push(spacePart()); - if (useConstructSignatures) { - displayParts.push(keywordPart(SyntaxKind.NewKeyword)); - displayParts.push(spacePart()); - } - addFullSymbolName(symbol); - } - else { - addPrefixForAnyFunctionOrVar(symbol, symbolKind); - } - - switch (symbolKind) { - case ScriptElementKind.memberVariableElement: - case ScriptElementKind.variableElement: - case ScriptElementKind.constElement: - case ScriptElementKind.letElement: - case ScriptElementKind.parameterElement: - case ScriptElementKind.localVariableElement: - // If it is call or construct signature of lambda's write type name - displayParts.push(punctuationPart(SyntaxKind.ColonToken)); - displayParts.push(spacePart()); - if (useConstructSignatures) { - displayParts.push(keywordPart(SyntaxKind.NewKeyword)); - displayParts.push(spacePart()); - } - if (!(type.flags & TypeFlags.Anonymous) && type.symbol) { - addRange(displayParts, symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments)); - } - addSignatureDisplayParts(signature, allSignatures, TypeFormatFlags.WriteArrowStyleSignature); - break; - - default: - // Just signature - addSignatureDisplayParts(signature, allSignatures); - } - hasAddedSymbolInfo = true; - } - } - else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & SymbolFlags.Accessor)) || // name of function declaration - (location.kind === SyntaxKind.ConstructorKeyword && location.parent.kind === SyntaxKind.Constructor)) { // At constructor keyword of constructor declaration - // get the signature from the declaration and write it - const functionDeclaration = location.parent; - const allSignatures = functionDeclaration.kind === SyntaxKind.Constructor ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); - if (!typeChecker.isImplementationOfOverload(functionDeclaration)) { - signature = typeChecker.getSignatureFromDeclaration(functionDeclaration); - } - else { - signature = allSignatures[0]; - } - - if (functionDeclaration.kind === SyntaxKind.Constructor) { - // show (constructor) Type(...) signature - symbolKind = ScriptElementKind.constructorImplementationElement; - addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); - } - else { - // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration.kind === SyntaxKind.CallSignature && - !(type.symbol.flags & SymbolFlags.TypeLiteral || type.symbol.flags & SymbolFlags.ObjectLiteral) ? type.symbol : symbol, symbolKind); - } - - addSignatureDisplayParts(signature, allSignatures); - hasAddedSymbolInfo = true; - } - } - } - if (symbolFlags & SymbolFlags.Class && !hasAddedSymbolInfo && !isThisExpression) { - if (getDeclarationOfKind(symbol, SyntaxKind.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 - pushTypePart(ScriptElementKind.localClassElement); - } - else { - // Class declaration has name which is not local. - displayParts.push(keywordPart(SyntaxKind.ClassKeyword)); - } - displayParts.push(spacePart()); - addFullSymbolName(symbol); - writeTypeParametersOfSymbol(symbol, sourceFile); - } - if ((symbolFlags & SymbolFlags.Interface) && (semanticMeaning & SemanticMeaning.Type)) { - addNewLineIfDisplayPartsExist(); - displayParts.push(keywordPart(SyntaxKind.InterfaceKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - writeTypeParametersOfSymbol(symbol, sourceFile); - } - if (symbolFlags & SymbolFlags.TypeAlias) { - addNewLineIfDisplayPartsExist(); - displayParts.push(keywordPart(SyntaxKind.TypeKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - writeTypeParametersOfSymbol(symbol, sourceFile); - displayParts.push(spacePart()); - displayParts.push(operatorPart(SyntaxKind.EqualsToken)); - displayParts.push(spacePart()); - addRange(displayParts, typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration)); - } - if (symbolFlags & SymbolFlags.Enum) { - addNewLineIfDisplayPartsExist(); - if (forEach(symbol.declarations, isConstEnumDeclaration)) { - displayParts.push(keywordPart(SyntaxKind.ConstKeyword)); - displayParts.push(spacePart()); - } - displayParts.push(keywordPart(SyntaxKind.EnumKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - } - if (symbolFlags & SymbolFlags.Module) { - addNewLineIfDisplayPartsExist(); - const declaration = getDeclarationOfKind(symbol, SyntaxKind.ModuleDeclaration); - const isNamespace = declaration && declaration.name && declaration.name.kind === SyntaxKind.Identifier; - displayParts.push(keywordPart(isNamespace ? SyntaxKind.NamespaceKeyword : SyntaxKind.ModuleKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - } - if ((symbolFlags & SymbolFlags.TypeParameter) && (semanticMeaning & SemanticMeaning.Type)) { - addNewLineIfDisplayPartsExist(); - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textPart("type parameter")); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - displayParts.push(spacePart()); - displayParts.push(keywordPart(SyntaxKind.InKeyword)); - displayParts.push(spacePart()); - if (symbol.parent) { - // Class/Interface type parameter - addFullSymbolName(symbol.parent, enclosingDeclaration); - writeTypeParametersOfSymbol(symbol.parent, enclosingDeclaration); - } - else { - // Method/function type parameter - let declaration = getDeclarationOfKind(symbol, SyntaxKind.TypeParameter); - Debug.assert(declaration !== undefined); - declaration = declaration.parent; - - if (declaration) { - if (isFunctionLikeKind(declaration.kind)) { - const signature = typeChecker.getSignatureFromDeclaration(declaration); - if (declaration.kind === SyntaxKind.ConstructSignature) { - displayParts.push(keywordPart(SyntaxKind.NewKeyword)); - displayParts.push(spacePart()); - } - else if (declaration.kind !== SyntaxKind.CallSignature && (declaration).name) { - addFullSymbolName(declaration.symbol); - } - addRange(displayParts, signatureToDisplayParts(typeChecker, signature, sourceFile, TypeFormatFlags.WriteTypeArgumentsOfSignature)); - } - else { - // Type alias type parameter - // For example - // type list = T[]; // Both T will go through same code path - displayParts.push(keywordPart(SyntaxKind.TypeKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(declaration.symbol); - writeTypeParametersOfSymbol(declaration.symbol, sourceFile); - } - } - } - } - if (symbolFlags & SymbolFlags.EnumMember) { - addPrefixForAnyFunctionOrVar(symbol, "enum member"); - const declaration = symbol.declarations[0]; - if (declaration.kind === SyntaxKind.EnumMember) { - const constantValue = typeChecker.getConstantValue(declaration); - if (constantValue !== undefined) { - displayParts.push(spacePart()); - displayParts.push(operatorPart(SyntaxKind.EqualsToken)); - displayParts.push(spacePart()); - displayParts.push(displayPart(constantValue.toString(), SymbolDisplayPartKind.numericLiteral)); - } - } - } - if (symbolFlags & SymbolFlags.Alias) { - addNewLineIfDisplayPartsExist(); - displayParts.push(keywordPart(SyntaxKind.ImportKeyword)); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - ts.forEach(symbol.declarations, declaration => { - if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { - const importEqualsDeclaration = declaration; - if (isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { - displayParts.push(spacePart()); - displayParts.push(operatorPart(SyntaxKind.EqualsToken)); - displayParts.push(spacePart()); - displayParts.push(keywordPart(SyntaxKind.RequireKeyword)); - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(displayPart(getTextOfNode(getExternalModuleImportEqualsDeclarationExpression(importEqualsDeclaration)), SymbolDisplayPartKind.stringLiteral)); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - } - else { - const internalAliasSymbol = typeChecker.getSymbolAtLocation(importEqualsDeclaration.moduleReference); - if (internalAliasSymbol) { - displayParts.push(spacePart()); - displayParts.push(operatorPart(SyntaxKind.EqualsToken)); - displayParts.push(spacePart()); - addFullSymbolName(internalAliasSymbol, enclosingDeclaration); - } - } - return true; - } - }); - } - if (!hasAddedSymbolInfo) { - if (symbolKind !== ScriptElementKind.unknown) { - if (type) { - if (isThisExpression) { - addNewLineIfDisplayPartsExist(); - displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); - } - else { - addPrefixForAnyFunctionOrVar(symbol, symbolKind); - } - - // For properties, variables and local vars: show the type - if (symbolKind === ScriptElementKind.memberVariableElement || - symbolFlags & SymbolFlags.Variable || - symbolKind === ScriptElementKind.localVariableElement || - isThisExpression) { - displayParts.push(punctuationPart(SyntaxKind.ColonToken)); - displayParts.push(spacePart()); - // If the type is type parameter, format it specially - if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter) { - const typeParameterParts = mapToDisplayParts(writer => { - typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplay(type, writer, enclosingDeclaration); - }); - addRange(displayParts, typeParameterParts); - } - else { - addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); - } - } - else if (symbolFlags & SymbolFlags.Function || - symbolFlags & SymbolFlags.Method || - symbolFlags & SymbolFlags.Constructor || - symbolFlags & SymbolFlags.Signature || - symbolFlags & SymbolFlags.Accessor || - symbolKind === ScriptElementKind.memberFunctionElement) { - const allSignatures = type.getNonNullableType().getCallSignatures(); - addSignatureDisplayParts(allSignatures[0], allSignatures); - } - } - } - else { - symbolKind = getSymbolKind(symbol, location); - } - } - - if (!documentation) { - documentation = symbol.getDocumentationComment(); - } - - return { displayParts, documentation, symbolKind }; - - function addNewLineIfDisplayPartsExist() { - if (displayParts.length) { - displayParts.push(lineBreakPart()); - } - } - - function addFullSymbolName(symbol: Symbol, enclosingDeclaration?: Node) { - const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration || sourceFile, /*meaning*/ undefined, - SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing); - addRange(displayParts, fullSymbolDisplayParts); - } - - function addPrefixForAnyFunctionOrVar(symbol: Symbol, symbolKind: string) { - addNewLineIfDisplayPartsExist(); - if (symbolKind) { - pushTypePart(symbolKind); - displayParts.push(spacePart()); - addFullSymbolName(symbol); - } - } - - function pushTypePart(symbolKind: string) { - switch (symbolKind) { - case ScriptElementKind.variableElement: - case ScriptElementKind.functionElement: - case ScriptElementKind.letElement: - case ScriptElementKind.constElement: - case ScriptElementKind.constructorImplementationElement: - displayParts.push(textOrKeywordPart(symbolKind)); - return; - default: - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textOrKeywordPart(symbolKind)); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - return; - } - } - - function addSignatureDisplayParts(signature: Signature, allSignatures: Signature[], flags?: TypeFormatFlags) { - addRange(displayParts, signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | TypeFormatFlags.WriteTypeArgumentsOfSignature)); - if (allSignatures.length > 1) { - displayParts.push(spacePart()); - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(operatorPart(SyntaxKind.PlusToken)); - displayParts.push(displayPart((allSignatures.length - 1).toString(), SymbolDisplayPartKind.numericLiteral)); - displayParts.push(spacePart()); - displayParts.push(textPart(allSignatures.length === 2 ? "overload" : "overloads")); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - } - documentation = signature.getDocumentationComment(); - } - - function writeTypeParametersOfSymbol(symbol: Symbol, enclosingDeclaration: Node) { - const typeParameterParts = mapToDisplayParts(writer => { - typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(symbol, writer, enclosingDeclaration); - }); - addRange(displayParts, typeParameterParts); - } + function getCompletionEntrySymbol(fileName: string, position: number, entryName: string): Symbol { + synchronizeHostData(); + return Completions.getCompletionEntrySymbol(program.getTypeChecker(), log, program.getCompilerOptions(), getValidSourceFile(fileName), position, entryName); } function getQuickInfoAtPosition(fileName: string, position: number): QuickInfo { @@ -4994,248 +1252,25 @@ namespace ts { return undefined; } - const displayPartsDocumentationsAndKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, sourceFile, getContainerNode(node), node); + const displayPartsDocumentationsAndKind = SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, getContainerNode(node), node); return { kind: displayPartsDocumentationsAndKind.symbolKind, - kindModifiers: getSymbolModifiers(symbol), + kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), textSpan: createTextSpan(node.getStart(), node.getWidth()), displayParts: displayPartsDocumentationsAndKind.displayParts, documentation: displayPartsDocumentationsAndKind.documentation }; } - function createDefinitionInfo(node: Node, symbolKind: string, symbolName: string, containerName: string): DefinitionInfo { - return { - fileName: node.getSourceFile().fileName, - textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()), - kind: symbolKind, - name: symbolName, - containerKind: undefined, - containerName - }; - } - - function getDefinitionFromSymbol(symbol: Symbol, node: Node): DefinitionInfo[] { - const typeChecker = program.getTypeChecker(); - const result: DefinitionInfo[] = []; - const declarations = symbol.getDeclarations(); - const symbolName = typeChecker.symbolToString(symbol); // Do not get scoped name, just the name of the symbol - const symbolKind = getSymbolKind(symbol, node); - const containerSymbol = symbol.parent; - const containerName = containerSymbol ? typeChecker.symbolToString(containerSymbol, node) : ""; - - if (!tryAddConstructSignature(symbol, node, symbolKind, symbolName, containerName, result) && - !tryAddCallSignature(symbol, node, symbolKind, symbolName, containerName, result)) { - // Just add all the declarations. - forEach(declarations, declaration => { - result.push(createDefinitionInfo(declaration, symbolKind, symbolName, containerName)); - }); - } - - return result; - - function tryAddConstructSignature(symbol: Symbol, location: Node, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { - // Applicable only if we are in a new expression, or we are on a constructor declaration - // and in either case the symbol has a construct signature definition, i.e. class - if (isNewExpressionTarget(location) || location.kind === SyntaxKind.ConstructorKeyword) { - if (symbol.flags & SymbolFlags.Class) { - // Find the first class-like declaration and try to get the construct signature. - for (const declaration of symbol.getDeclarations()) { - if (isClassLike(declaration)) { - return tryAddSignature(declaration.members, - /*selectConstructors*/ true, - symbolKind, - symbolName, - containerName, - result); - } - } - - Debug.fail("Expected declaration to have at least one class-like declaration"); - } - } - return false; - } - - function tryAddCallSignature(symbol: Symbol, location: Node, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { - if (isCallExpressionTarget(location) || isNewExpressionTarget(location) || isNameOfFunctionDeclaration(location)) { - return tryAddSignature(symbol.declarations, /*selectConstructors*/ false, symbolKind, symbolName, containerName, result); - } - return false; - } - - function tryAddSignature(signatureDeclarations: Declaration[], selectConstructors: boolean, symbolKind: string, symbolName: string, containerName: string, result: DefinitionInfo[]) { - const declarations: Declaration[] = []; - let definition: Declaration; - - forEach(signatureDeclarations, d => { - if ((selectConstructors && d.kind === SyntaxKind.Constructor) || - (!selectConstructors && (d.kind === SyntaxKind.FunctionDeclaration || d.kind === SyntaxKind.MethodDeclaration || d.kind === SyntaxKind.MethodSignature))) { - declarations.push(d); - if ((d).body) definition = d; - } - }); - - if (definition) { - result.push(createDefinitionInfo(definition, symbolKind, symbolName, containerName)); - return true; - } - else if (declarations.length) { - result.push(createDefinitionInfo(lastOrUndefined(declarations), symbolKind, symbolName, containerName)); - return true; - } - - return false; - } - } - - function findReferenceInPosition(refs: FileReference[], pos: number): FileReference { - for (const ref of refs) { - if (ref.pos <= pos && pos < ref.end) { - return ref; - } - } - return undefined; - } - - function getDefinitionInfoForFileReference(name: string, targetFileName: string): DefinitionInfo { - return { - fileName: targetFileName, - textSpan: createTextSpanFromBounds(0, 0), - kind: ScriptElementKind.scriptElement, - name: name, - containerName: undefined, - containerKind: undefined - }; - } - /// Goto definition function getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - - /// Triple slash reference comments - const comment = findReferenceInPosition(sourceFile.referencedFiles, position); - if (comment) { - const referenceFile = tryResolveScriptReference(program, sourceFile, comment); - if (referenceFile) { - return [getDefinitionInfoForFileReference(comment.fileName, referenceFile.fileName)]; - } - return undefined; - } - - // Type reference directives - const typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); - if (typeReferenceDirective) { - const referenceFile = lookUp(program.getResolvedTypeReferenceDirectives(), typeReferenceDirective.fileName); - if (referenceFile && referenceFile.resolvedFileName) { - return [getDefinitionInfoForFileReference(typeReferenceDirective.fileName, referenceFile.resolvedFileName)]; - } - return undefined; - } - - const node = getTouchingPropertyName(sourceFile, position); - if (node === sourceFile) { - return undefined; - } - - // Labels - if (isJumpStatementTarget(node)) { - const labelName = (node).text; - const label = getTargetLabel((node.parent), (node).text); - return label ? [createDefinitionInfo(label, ScriptElementKind.label, labelName, /*containerName*/ undefined)] : undefined; - } - - const typeChecker = program.getTypeChecker(); - let symbol = typeChecker.getSymbolAtLocation(node); - - // Could not find a symbol e.g. node is string or number keyword, - // or the symbol was an internal symbol and does not have a declaration e.g. undefined symbol - if (!symbol) { - return undefined; - } - - // If this is an alias, and the request came at the declaration location - // get the aliased symbol instead. This allows for goto def on an import e.g. - // import {A, B} from "mod"; - // to jump to the implementation directly. - if (symbol.flags & SymbolFlags.Alias) { - const declaration = symbol.declarations[0]; - - // Go to the original declaration for cases: - // - // (1) when the aliased symbol was declared in the location(parent). - // (2) when the aliased symbol is originating from a named import. - // - if (node.kind === SyntaxKind.Identifier && - (node.parent === declaration || - (declaration.kind === SyntaxKind.ImportSpecifier && declaration.parent && declaration.parent.kind === SyntaxKind.NamedImports))) { - - symbol = typeChecker.getAliasedSymbol(symbol); - } - } - - // Because name in short-hand property assignment has two different meanings: property name and property value, - // using go-to-definition at such position should go to the variable declaration of the property value rather than - // 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 === SyntaxKind.ShorthandPropertyAssignment) { - const shorthandSymbol = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); - if (!shorthandSymbol) { - return []; - } - - const shorthandDeclarations = shorthandSymbol.getDeclarations(); - const shorthandSymbolKind = getSymbolKind(shorthandSymbol, node); - const shorthandSymbolName = typeChecker.symbolToString(shorthandSymbol); - const shorthandContainerName = typeChecker.symbolToString(symbol.parent, node); - return map(shorthandDeclarations, - declaration => createDefinitionInfo(declaration, shorthandSymbolKind, shorthandSymbolName, shorthandContainerName)); - } - - return getDefinitionFromSymbol(symbol, node); + return GoToDefinition.getDefinitionAtPosition(program, getValidSourceFile(fileName), position); } - /// Goto type function getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[] { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - - const node = getTouchingPropertyName(sourceFile, position); - if (node === sourceFile) { - return undefined; - } - - const typeChecker = program.getTypeChecker(); - - const symbol = typeChecker.getSymbolAtLocation(node); - if (!symbol) { - return undefined; - } - - const type = typeChecker.getTypeOfSymbolAtLocation(symbol, node); - if (!type) { - return undefined; - } - - if (type.flags & TypeFlags.Union) { - const result: DefinitionInfo[] = []; - forEach((type).types, t => { - if (t.symbol) { - addRange(/*to*/ result, /*from*/ getDefinitionFromSymbol(t.symbol, node)); - } - }); - return result; - } - - if (!type.symbol) { - return undefined; - } - - return getDefinitionFromSymbol(type.symbol, node); + return GoToDefinition.getTypeDefinitionAtPosition(program.getTypeChecker(), getValidSourceFile(fileName), position); } function getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[] { @@ -5254,628 +1289,9 @@ namespace ts { function getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] { synchronizeHostData(); - const sourceFilesToSearch = map(filesToSearch, f => program.getSourceFile(f)); const sourceFile = getValidSourceFile(fileName); - - const node = getTouchingWord(sourceFile, position); - if (!node) { - return undefined; - } - - return getSemanticDocumentHighlights(node) || getSyntacticDocumentHighlights(node); - - function getHighlightSpanForNode(node: Node): HighlightSpan { - const start = node.getStart(); - const end = node.getEnd(); - - return { - fileName: sourceFile.fileName, - textSpan: createTextSpanFromBounds(start, end), - kind: HighlightSpanKind.none - }; - } - - function getSemanticDocumentHighlights(node: Node): DocumentHighlights[] { - if (node.kind === SyntaxKind.Identifier || - node.kind === SyntaxKind.ThisKeyword || - node.kind === SyntaxKind.ThisType || - node.kind === SyntaxKind.SuperKeyword || - node.kind === SyntaxKind.StringLiteral || - isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { - - const referencedSymbols = getReferencedSymbolsForNode(node, sourceFilesToSearch, /*findInStrings*/ false, /*findInComments*/ false); - return convertReferencedSymbols(referencedSymbols); - } - - return undefined; - - function convertReferencedSymbols(referencedSymbols: ReferencedSymbol[]): DocumentHighlights[] { - if (!referencedSymbols) { - return undefined; - } - - const fileNameToDocumentHighlights: Map = {}; - const result: DocumentHighlights[] = []; - for (const referencedSymbol of referencedSymbols) { - for (const referenceEntry of referencedSymbol.references) { - const fileName = referenceEntry.fileName; - let documentHighlights = getProperty(fileNameToDocumentHighlights, fileName); - if (!documentHighlights) { - documentHighlights = { fileName, highlightSpans: [] }; - - fileNameToDocumentHighlights[fileName] = documentHighlights; - result.push(documentHighlights); - } - - documentHighlights.highlightSpans.push({ - textSpan: referenceEntry.textSpan, - kind: referenceEntry.isWriteAccess ? HighlightSpanKind.writtenReference : HighlightSpanKind.reference - }); - } - } - - return result; - } - } - - function getSyntacticDocumentHighlights(node: Node): DocumentHighlights[] { - const fileName = sourceFile.fileName; - - const highlightSpans = getHighlightSpans(node); - if (!highlightSpans || highlightSpans.length === 0) { - return undefined; - } - - return [{ fileName, highlightSpans }]; - - // returns true if 'node' is defined and has a matching 'kind'. - function hasKind(node: Node, kind: SyntaxKind) { - return node !== undefined && node.kind === kind; - } - - // Null-propagating 'parent' function. - function parent(node: Node): Node { - return node && node.parent; - } - - function getHighlightSpans(node: Node): HighlightSpan[] { - if (node) { - switch (node.kind) { - case SyntaxKind.IfKeyword: - case SyntaxKind.ElseKeyword: - if (hasKind(node.parent, SyntaxKind.IfStatement)) { - return getIfElseOccurrences(node.parent); - } - break; - case SyntaxKind.ReturnKeyword: - if (hasKind(node.parent, SyntaxKind.ReturnStatement)) { - return getReturnOccurrences(node.parent); - } - break; - case SyntaxKind.ThrowKeyword: - if (hasKind(node.parent, SyntaxKind.ThrowStatement)) { - return getThrowOccurrences(node.parent); - } - break; - case SyntaxKind.CatchKeyword: - if (hasKind(parent(parent(node)), SyntaxKind.TryStatement)) { - return getTryCatchFinallyOccurrences(node.parent.parent); - } - break; - case SyntaxKind.TryKeyword: - case SyntaxKind.FinallyKeyword: - if (hasKind(parent(node), SyntaxKind.TryStatement)) { - return getTryCatchFinallyOccurrences(node.parent); - } - break; - case SyntaxKind.SwitchKeyword: - if (hasKind(node.parent, SyntaxKind.SwitchStatement)) { - return getSwitchCaseDefaultOccurrences(node.parent); - } - break; - case SyntaxKind.CaseKeyword: - case SyntaxKind.DefaultKeyword: - if (hasKind(parent(parent(parent(node))), SyntaxKind.SwitchStatement)) { - return getSwitchCaseDefaultOccurrences(node.parent.parent.parent); - } - break; - case SyntaxKind.BreakKeyword: - case SyntaxKind.ContinueKeyword: - if (hasKind(node.parent, SyntaxKind.BreakStatement) || hasKind(node.parent, SyntaxKind.ContinueStatement)) { - return getBreakOrContinueStatementOccurrences(node.parent); - } - break; - case SyntaxKind.ForKeyword: - if (hasKind(node.parent, SyntaxKind.ForStatement) || - hasKind(node.parent, SyntaxKind.ForInStatement) || - hasKind(node.parent, SyntaxKind.ForOfStatement)) { - return getLoopBreakContinueOccurrences(node.parent); - } - break; - case SyntaxKind.WhileKeyword: - case SyntaxKind.DoKeyword: - if (hasKind(node.parent, SyntaxKind.WhileStatement) || hasKind(node.parent, SyntaxKind.DoStatement)) { - return getLoopBreakContinueOccurrences(node.parent); - } - break; - case SyntaxKind.ConstructorKeyword: - if (hasKind(node.parent, SyntaxKind.Constructor)) { - return getConstructorOccurrences(node.parent); - } - break; - case SyntaxKind.GetKeyword: - case SyntaxKind.SetKeyword: - if (hasKind(node.parent, SyntaxKind.GetAccessor) || hasKind(node.parent, SyntaxKind.SetAccessor)) { - return getGetAndSetOccurrences(node.parent); - } - break; - default: - if (isModifierKind(node.kind) && node.parent && - (isDeclaration(node.parent) || node.parent.kind === SyntaxKind.VariableStatement)) { - return getModifierOccurrences(node.kind, node.parent); - } - } - } - - return undefined; - } - - /** - * Aggregates all throw-statements within this node *without* crossing - * into function boundaries and try-blocks with catch-clauses. - */ - function aggregateOwnedThrowStatements(node: Node): ThrowStatement[] { - const statementAccumulator: ThrowStatement[] = []; - aggregate(node); - return statementAccumulator; - - function aggregate(node: Node): void { - if (node.kind === SyntaxKind.ThrowStatement) { - statementAccumulator.push(node); - } - else if (node.kind === SyntaxKind.TryStatement) { - const tryStatement = node; - - if (tryStatement.catchClause) { - aggregate(tryStatement.catchClause); - } - else { - // Exceptions thrown within a try block lacking a catch clause - // are "owned" in the current context. - aggregate(tryStatement.tryBlock); - } - - if (tryStatement.finallyBlock) { - aggregate(tryStatement.finallyBlock); - } - } - // Do not cross function boundaries. - else if (!isFunctionLike(node)) { - forEachChild(node, aggregate); - } - } - } - - /** - * For lack of a better name, this function takes a throw statement and returns the - * nearest ancestor that is a try-block (whose try statement has a catch clause), - * function-block, or source file. - */ - function getThrowStatementOwner(throwStatement: ThrowStatement): Node { - let child: Node = throwStatement; - - while (child.parent) { - const parent = child.parent; - - if (isFunctionBlock(parent) || parent.kind === SyntaxKind.SourceFile) { - return parent; - } - - // A throw-statement is only owned by a try-statement if the try-statement has - // a catch clause, and if the throw-statement occurs within the try block. - if (parent.kind === SyntaxKind.TryStatement) { - const tryStatement = parent; - - if (tryStatement.tryBlock === child && tryStatement.catchClause) { - return child; - } - } - - child = parent; - } - - return undefined; - } - - function aggregateAllBreakAndContinueStatements(node: Node): BreakOrContinueStatement[] { - const statementAccumulator: BreakOrContinueStatement[] = []; - aggregate(node); - return statementAccumulator; - - function aggregate(node: Node): void { - if (node.kind === SyntaxKind.BreakStatement || node.kind === SyntaxKind.ContinueStatement) { - statementAccumulator.push(node); - } - // Do not cross function boundaries. - else if (!isFunctionLike(node)) { - forEachChild(node, aggregate); - } - } - } - - function ownsBreakOrContinueStatement(owner: Node, statement: BreakOrContinueStatement): boolean { - const actualOwner = getBreakOrContinueOwner(statement); - - return actualOwner && actualOwner === owner; - } - - function getBreakOrContinueOwner(statement: BreakOrContinueStatement): Node { - for (let node = statement.parent; node; node = node.parent) { - switch (node.kind) { - case SyntaxKind.SwitchStatement: - if (statement.kind === SyntaxKind.ContinueStatement) { - continue; - } - // Fall through. - case SyntaxKind.ForStatement: - case SyntaxKind.ForInStatement: - case SyntaxKind.ForOfStatement: - case SyntaxKind.WhileStatement: - case SyntaxKind.DoStatement: - if (!statement.label || isLabeledBy(node, statement.label.text)) { - return node; - } - break; - default: - // Don't cross function boundaries. - if (isFunctionLike(node)) { - return undefined; - } - break; - } - } - - return undefined; - } - - function getModifierOccurrences(modifier: SyntaxKind, declaration: Node): HighlightSpan[] { - const container = declaration.parent; - - // Make sure we only highlight the keyword when it makes sense to do so. - if (isAccessibilityModifier(modifier)) { - if (!(container.kind === SyntaxKind.ClassDeclaration || - container.kind === SyntaxKind.ClassExpression || - (declaration.kind === SyntaxKind.Parameter && hasKind(container, SyntaxKind.Constructor)))) { - return undefined; - } - } - else if (modifier === SyntaxKind.StaticKeyword) { - if (!(container.kind === SyntaxKind.ClassDeclaration || container.kind === SyntaxKind.ClassExpression)) { - return undefined; - } - } - else if (modifier === SyntaxKind.ExportKeyword || modifier === SyntaxKind.DeclareKeyword) { - if (!(container.kind === SyntaxKind.ModuleBlock || container.kind === SyntaxKind.SourceFile)) { - return undefined; - } - } - else if (modifier === SyntaxKind.AbstractKeyword) { - if (!(container.kind === SyntaxKind.ClassDeclaration || declaration.kind === SyntaxKind.ClassDeclaration)) { - return undefined; - } - } - else { - // unsupported modifier - return undefined; - } - - const keywords: Node[] = []; - const modifierFlag: NodeFlags = getFlagFromModifier(modifier); - - let nodes: Node[]; - switch (container.kind) { - case SyntaxKind.ModuleBlock: - case SyntaxKind.SourceFile: - // Container is either a class declaration or the declaration is a classDeclaration - if (modifierFlag & NodeFlags.Abstract) { - nodes = ((declaration).members).concat(declaration); - } - else { - nodes = (container).statements; - } - break; - case SyntaxKind.Constructor: - nodes = ((container).parameters).concat( - (container.parent).members); - break; - case SyntaxKind.ClassDeclaration: - case SyntaxKind.ClassExpression: - 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. - if (modifierFlag & NodeFlags.AccessibilityModifier) { - const constructor = forEach((container).members, member => { - return member.kind === SyntaxKind.Constructor && member; - }); - - if (constructor) { - nodes = nodes.concat(constructor.parameters); - } - } - else if (modifierFlag & NodeFlags.Abstract) { - nodes = nodes.concat(container); - } - break; - default: - Debug.fail("Invalid container kind."); - } - - forEach(nodes, node => { - if (node.modifiers && node.flags & modifierFlag) { - forEach(node.modifiers, child => pushKeywordIf(keywords, child, modifier)); - } - }); - - return map(keywords, getHighlightSpanForNode); - - function getFlagFromModifier(modifier: SyntaxKind) { - switch (modifier) { - case SyntaxKind.PublicKeyword: - return NodeFlags.Public; - case SyntaxKind.PrivateKeyword: - return NodeFlags.Private; - case SyntaxKind.ProtectedKeyword: - return NodeFlags.Protected; - case SyntaxKind.StaticKeyword: - return NodeFlags.Static; - case SyntaxKind.ExportKeyword: - return NodeFlags.Export; - case SyntaxKind.DeclareKeyword: - return NodeFlags.Ambient; - case SyntaxKind.AbstractKeyword: - return NodeFlags.Abstract; - default: - Debug.fail(); - } - } - } - - function pushKeywordIf(keywordList: Node[], token: Node, ...expected: SyntaxKind[]): boolean { - if (token && contains(expected, token.kind)) { - keywordList.push(token); - return true; - } - - return false; - } - - function getGetAndSetOccurrences(accessorDeclaration: AccessorDeclaration): HighlightSpan[] { - const keywords: Node[] = []; - - tryPushAccessorKeyword(accessorDeclaration.symbol, SyntaxKind.GetAccessor); - tryPushAccessorKeyword(accessorDeclaration.symbol, SyntaxKind.SetAccessor); - - return map(keywords, getHighlightSpanForNode); - - function tryPushAccessorKeyword(accessorSymbol: Symbol, accessorKind: SyntaxKind): void { - const accessor = getDeclarationOfKind(accessorSymbol, accessorKind); - - if (accessor) { - forEach(accessor.getChildren(), child => pushKeywordIf(keywords, child, SyntaxKind.GetKeyword, SyntaxKind.SetKeyword)); - } - } - } - - function getConstructorOccurrences(constructorDeclaration: ConstructorDeclaration): HighlightSpan[] { - const declarations = constructorDeclaration.symbol.getDeclarations(); - - const keywords: Node[] = []; - - forEach(declarations, declaration => { - forEach(declaration.getChildren(), token => { - return pushKeywordIf(keywords, token, SyntaxKind.ConstructorKeyword); - }); - }); - - return map(keywords, getHighlightSpanForNode); - } - - function getLoopBreakContinueOccurrences(loopNode: IterationStatement): HighlightSpan[] { - const keywords: Node[] = []; - - if (pushKeywordIf(keywords, loopNode.getFirstToken(), SyntaxKind.ForKeyword, SyntaxKind.WhileKeyword, SyntaxKind.DoKeyword)) { - // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === SyntaxKind.DoStatement) { - const loopTokens = loopNode.getChildren(); - - for (let i = loopTokens.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, loopTokens[i], SyntaxKind.WhileKeyword)) { - break; - } - } - } - } - - const breaksAndContinues = aggregateAllBreakAndContinueStatements(loopNode.statement); - - forEach(breaksAndContinues, statement => { - if (ownsBreakOrContinueStatement(loopNode, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), SyntaxKind.BreakKeyword, SyntaxKind.ContinueKeyword); - } - }); - - return map(keywords, getHighlightSpanForNode); - } - - function getBreakOrContinueStatementOccurrences(breakOrContinueStatement: BreakOrContinueStatement): HighlightSpan[] { - const owner = getBreakOrContinueOwner(breakOrContinueStatement); - - if (owner) { - switch (owner.kind) { - case SyntaxKind.ForStatement: - case SyntaxKind.ForInStatement: - case SyntaxKind.ForOfStatement: - case SyntaxKind.DoStatement: - case SyntaxKind.WhileStatement: - return getLoopBreakContinueOccurrences(owner); - case SyntaxKind.SwitchStatement: - return getSwitchCaseDefaultOccurrences(owner); - - } - } - - return undefined; - } - - function getSwitchCaseDefaultOccurrences(switchStatement: SwitchStatement): HighlightSpan[] { - const keywords: Node[] = []; - - pushKeywordIf(keywords, switchStatement.getFirstToken(), SyntaxKind.SwitchKeyword); - - // Go through each clause in the switch statement, collecting the 'case'/'default' keywords. - forEach(switchStatement.caseBlock.clauses, clause => { - pushKeywordIf(keywords, clause.getFirstToken(), SyntaxKind.CaseKeyword, SyntaxKind.DefaultKeyword); - - const breaksAndContinues = aggregateAllBreakAndContinueStatements(clause); - - forEach(breaksAndContinues, statement => { - if (ownsBreakOrContinueStatement(switchStatement, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), SyntaxKind.BreakKeyword); - } - }); - }); - - return map(keywords, getHighlightSpanForNode); - } - - function getTryCatchFinallyOccurrences(tryStatement: TryStatement): HighlightSpan[] { - const keywords: Node[] = []; - - pushKeywordIf(keywords, tryStatement.getFirstToken(), SyntaxKind.TryKeyword); - - if (tryStatement.catchClause) { - pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), SyntaxKind.CatchKeyword); - } - - if (tryStatement.finallyBlock) { - const finallyKeyword = findChildOfKind(tryStatement, SyntaxKind.FinallyKeyword, sourceFile); - pushKeywordIf(keywords, finallyKeyword, SyntaxKind.FinallyKeyword); - } - - return map(keywords, getHighlightSpanForNode); - } - - function getThrowOccurrences(throwStatement: ThrowStatement): HighlightSpan[] { - const owner = getThrowStatementOwner(throwStatement); - - if (!owner) { - return undefined; - } - - const keywords: Node[] = []; - - forEach(aggregateOwnedThrowStatements(owner), throwStatement => { - pushKeywordIf(keywords, throwStatement.getFirstToken(), SyntaxKind.ThrowKeyword); - }); - - // If the "owner" is a function, then we equate 'return' and 'throw' statements in their - // ability to "jump out" of the function, and include occurrences for both. - if (isFunctionBlock(owner)) { - forEachReturnStatement(owner, returnStatement => { - pushKeywordIf(keywords, returnStatement.getFirstToken(), SyntaxKind.ReturnKeyword); - }); - } - - return map(keywords, getHighlightSpanForNode); - } - - function getReturnOccurrences(returnStatement: ReturnStatement): HighlightSpan[] { - const func = getContainingFunction(returnStatement); - - // If we didn't find a containing function with a block body, bail out. - if (!(func && hasKind(func.body, SyntaxKind.Block))) { - return undefined; - } - - const keywords: Node[] = []; - forEachReturnStatement(func.body, returnStatement => { - pushKeywordIf(keywords, returnStatement.getFirstToken(), SyntaxKind.ReturnKeyword); - }); - - // Include 'throw' statements that do not occur within a try block. - forEach(aggregateOwnedThrowStatements(func.body), throwStatement => { - pushKeywordIf(keywords, throwStatement.getFirstToken(), SyntaxKind.ThrowKeyword); - }); - - return map(keywords, getHighlightSpanForNode); - } - - function getIfElseOccurrences(ifStatement: IfStatement): HighlightSpan[] { - const keywords: Node[] = []; - - // Traverse upwards through all parent if-statements linked by their else-branches. - while (hasKind(ifStatement.parent, SyntaxKind.IfStatement) && (ifStatement.parent).elseStatement === ifStatement) { - ifStatement = ifStatement.parent; - } - - // Now traverse back down through the else branches, aggregating if/else keywords of if-statements. - while (ifStatement) { - const children = ifStatement.getChildren(); - pushKeywordIf(keywords, children[0], SyntaxKind.IfKeyword); - - // Generally the 'else' keyword is second-to-last, so we traverse backwards. - for (let i = children.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, children[i], SyntaxKind.ElseKeyword)) { - break; - } - } - - if (!hasKind(ifStatement.elseStatement, SyntaxKind.IfStatement)) { - break; - } - - ifStatement = ifStatement.elseStatement; - } - - const result: HighlightSpan[] = []; - - // We'd like to highlight else/ifs together if they are only separated by whitespace - // (i.e. the keywords are separated by no comments, no newlines). - for (let i = 0; i < keywords.length; i++) { - if (keywords[i].kind === SyntaxKind.ElseKeyword && i < keywords.length - 1) { - const elseKeyword = keywords[i]; - const ifKeyword = keywords[i + 1]; // this *should* always be an 'if' keyword. - - let shouldCombindElseAndIf = true; - - // Avoid recalculating getStart() by iterating backwards. - for (let j = ifKeyword.getStart() - 1; j >= elseKeyword.end; j--) { - if (!isWhiteSpaceSingleLine(sourceFile.text.charCodeAt(j))) { - shouldCombindElseAndIf = false; - break; - } - } - - if (shouldCombindElseAndIf) { - result.push({ - fileName: fileName, - textSpan: createTextSpanFromBounds(elseKeyword.getStart(), ifKeyword.end), - kind: HighlightSpanKind.reference - }); - i++; // skip the next keyword - continue; - } - } - - // Ordinary case: just highlight the keyword. - result.push(getHighlightSpanForNode(keywords[i])); - } - - return result; - } - } + return DocumentHighlights.getDocumentHighlights(program.getTypeChecker(), cancellationToken, sourceFile, position, sourceFilesToSearch); } /// References and Occurrences @@ -5905,28 +1321,14 @@ namespace ts { } } - function convertReferences(referenceSymbols: ReferencedSymbol[]): ReferenceEntry[] { - if (!referenceSymbols) { - return undefined; - } - - const referenceEntries: ReferenceEntry[] = []; - - for (const referenceSymbol of referenceSymbols) { - addRange(referenceEntries, referenceSymbol.references); - } - - return referenceEntries; - } - function findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[] { const referencedSymbols = findReferencedSymbols(fileName, position, findInStrings, findInComments); - return convertReferences(referencedSymbols); + return FindAllReferences.convertReferences(referencedSymbols); } function getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] { const referencedSymbols = findReferencedSymbols(fileName, position, /*findInStrings*/ false, /*findInComments*/ false); - return convertReferences(referencedSymbols); + return FindAllReferences.convertReferences(referencedSymbols); } function findReferences(fileName: string, position: number): ReferencedSymbol[] { @@ -5938,991 +1340,7 @@ namespace ts { function findReferencedSymbols(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ReferencedSymbol[] { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - - const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true); - if (node === sourceFile) { - return undefined; - } - - switch (node.kind) { - case SyntaxKind.NumericLiteral: - if (!isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { - break; - } - // Fallthrough - case SyntaxKind.Identifier: - case SyntaxKind.ThisKeyword: - // case SyntaxKind.SuperKeyword: TODO:GH#9268 - case SyntaxKind.StringLiteral: - return getReferencedSymbolsForNode(node, program.getSourceFiles(), findInStrings, findInComments); - } - return undefined; - } - - function isThis(node: Node): boolean { - switch (node.kind) { - case SyntaxKind.ThisKeyword: - // case SyntaxKind.ThisType: TODO: GH#9267 - return true; - case SyntaxKind.Identifier: - // 'this' as a parameter - return (node as Identifier).originalKeywordKind === SyntaxKind.ThisKeyword && node.parent.kind === SyntaxKind.Parameter; - default: - return false; - } - } - - function getReferencedSymbolsForNode(node: Node, sourceFiles: SourceFile[], findInStrings: boolean, findInComments: boolean): ReferencedSymbol[] { - const typeChecker = program.getTypeChecker(); - - // Labels - if (isLabelName(node)) { - if (isJumpStatementTarget(node)) { - const labelDefinition = getTargetLabel((node.parent), (node).text); - // if we have a label definition, look within its statement for references, if not, then - // the label is undefined and we have no results.. - return labelDefinition ? getLabelReferencesInNode(labelDefinition.parent, labelDefinition) : undefined; - } - else { - // it is a label definition and not a target, search within the parent labeledStatement - return getLabelReferencesInNode(node.parent, node); - } - } - - if (isThis(node)) { - return getReferencesForThisKeyword(node, sourceFiles); - } - - if (node.kind === SyntaxKind.SuperKeyword) { - return getReferencesForSuperKeyword(node); - } - - const symbol = typeChecker.getSymbolAtLocation(node); - - if (!symbol && node.kind === SyntaxKind.StringLiteral) { - return getReferencesForStringLiteral(node, sourceFiles); - } - - // Could not find a symbol e.g. unknown identifier - if (!symbol) { - // Can't have references to something that we have no symbol for. - return undefined; - } - - const declarations = symbol.declarations; - - // The symbol was an internal symbol and does not have a declaration e.g. undefined symbol - if (!declarations || !declarations.length) { - return undefined; - } - - let result: ReferencedSymbol[]; - - // Compute the meaning from the location and the symbol it references - const searchMeaning = getIntersectingMeaningFromDeclarations(getMeaningFromLocation(node), declarations); - - // Get the text to search for. - // Note: if this is an external module symbol, the name doesn't include quotes. - const declaredName = stripQuotes(getDeclaredName(typeChecker, symbol, node)); - - // 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). - const scope = getSymbolScope(symbol); - - // Maps from a symbol ID to the ReferencedSymbol entry in 'result'. - const symbolToIndex: number[] = []; - - if (scope) { - result = []; - getReferencesInNode(scope, symbol, declaredName, node, searchMeaning, findInStrings, findInComments, result, symbolToIndex); - } - else { - const internedName = getInternedName(symbol, node, declarations); - for (const sourceFile of sourceFiles) { - cancellationToken.throwIfCancellationRequested(); - - const nameTable = getNameTable(sourceFile); - - if (lookUp(nameTable, internedName) !== undefined) { - result = result || []; - getReferencesInNode(sourceFile, symbol, declaredName, node, searchMeaning, findInStrings, findInComments, result, symbolToIndex); - } - } - } - - return result; - - function getDefinition(symbol: Symbol): DefinitionInfo { - const info = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, node.getSourceFile(), getContainerNode(node), node); - const name = map(info.displayParts, p => p.text).join(""); - const declarations = symbol.declarations; - if (!declarations || declarations.length === 0) { - return undefined; - } - - return { - containerKind: "", - containerName: "", - name, - kind: info.symbolKind, - fileName: declarations[0].getSourceFile().fileName, - textSpan: createTextSpan(declarations[0].getStart(), 0) - }; - } - - function getAliasSymbolForPropertyNameSymbol(symbol: Symbol, location: Node): Symbol { - if (symbol.flags & SymbolFlags.Alias) { - // Default import get alias - const defaultImport = getDeclarationOfKind(symbol, SyntaxKind.ImportClause); - if (defaultImport) { - return typeChecker.getAliasedSymbol(symbol); - } - - const importOrExportSpecifier = forEach(symbol.declarations, - declaration => (declaration.kind === SyntaxKind.ImportSpecifier || - declaration.kind === SyntaxKind.ExportSpecifier) ? declaration : undefined); - if (importOrExportSpecifier && - // export { a } - (!importOrExportSpecifier.propertyName || - // export {a as class } where a is location - importOrExportSpecifier.propertyName === location)) { - // If Import specifier -> get alias - // else Export specifier -> get local target - return importOrExportSpecifier.kind === SyntaxKind.ImportSpecifier ? - typeChecker.getAliasedSymbol(symbol) : - typeChecker.getExportSpecifierLocalTargetSymbol(importOrExportSpecifier); - } - } - return undefined; - } - - function getPropertySymbolOfDestructuringAssignment(location: Node) { - return isArrayLiteralOrObjectLiteralDestructuringPattern(location.parent.parent) && - typeChecker.getPropertySymbolOfDestructuringAssignment(location); - } - - function isObjectBindingPatternElementWithoutPropertyName(symbol: Symbol) { - const bindingElement = getDeclarationOfKind(symbol, SyntaxKind.BindingElement); - return bindingElement && - bindingElement.parent.kind === SyntaxKind.ObjectBindingPattern && - !bindingElement.propertyName; - } - - function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol: Symbol) { - if (isObjectBindingPatternElementWithoutPropertyName(symbol)) { - const bindingElement = getDeclarationOfKind(symbol, SyntaxKind.BindingElement); - const typeOfPattern = typeChecker.getTypeAtLocation(bindingElement.parent); - return typeOfPattern && typeChecker.getPropertyOfType(typeOfPattern, (bindingElement.name).text); - } - return undefined; - } - - function getInternedName(symbol: Symbol, location: Node, declarations: Declaration[]): string { - // If this is an export or import specifier it could have been renamed using the 'as' syntax. - // If so we want to search for whatever under the cursor. - if (isImportOrExportSpecifierName(location)) { - return location.getText(); - } - - // Try to get the local symbol if we're dealing with an 'export default' - // since that symbol has the "true" name. - const localExportDefaultSymbol = getLocalSymbolForExportDefault(symbol); - symbol = localExportDefaultSymbol || symbol; - - return stripQuotes(symbol.name); - } - - /** - * Determines the smallest scope in which a symbol may have named references. - * Note that not every construct has been accounted for. This function can - * probably be improved. - * - * @returns undefined if the scope cannot be determined, implying that - * a reference to a symbol can occur anywhere. - */ - function getSymbolScope(symbol: Symbol): Node { - // If this is the symbol of a named function expression or named class expression, - // then named references are limited to its own scope. - const valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === SyntaxKind.FunctionExpression || valueDeclaration.kind === SyntaxKind.ClassExpression)) { - return valueDeclaration; - } - - // If this is private property or method, the scope is the containing class - if (symbol.flags & (SymbolFlags.Property | SymbolFlags.Method)) { - const privateDeclaration = forEach(symbol.getDeclarations(), d => (d.flags & NodeFlags.Private) ? d : undefined); - if (privateDeclaration) { - return getAncestor(privateDeclaration, SyntaxKind.ClassDeclaration); - } - } - - // If the symbol is an import we would like to find it if we are looking for what it imports. - // So consider it visible outside its declaration scope. - if (symbol.flags & SymbolFlags.Alias) { - return undefined; - } - - // If symbol is of object binding pattern element without property name we would want to - // look for property too and that could be anywhere - if (isObjectBindingPatternElementWithoutPropertyName(symbol)) { - return undefined; - } - - // if this symbol is visible from its parent container, e.g. exported, then bail out - // if symbol correspond to the union property - bail out - if (symbol.parent || (symbol.flags & SymbolFlags.SyntheticProperty)) { - return undefined; - } - - let scope: Node; - - const declarations = symbol.getDeclarations(); - if (declarations) { - for (const declaration of declarations) { - const container = getContainerNode(declaration); - - if (!container) { - return undefined; - } - - if (scope && scope !== container) { - // Different declarations have different containers, bail out - return undefined; - } - - if (container.kind === SyntaxKind.SourceFile && !isExternalModule(container)) { - // This is a global variable and not an external module, any declaration defined - // within this scope is visible outside the file - return undefined; - } - - // The search scope is the container node - scope = container; - } - } - - return scope; - } - - function getPossibleSymbolReferencePositions(sourceFile: SourceFile, symbolName: string, start: number, end: number): number[] { - const positions: number[] = []; - - /// TODO: Cache symbol existence for files to save text search - // Also, need to make this work for unicode escapes. - - // Be resilient in the face of a symbol with no name or zero length name - if (!symbolName || !symbolName.length) { - return positions; - } - - const text = sourceFile.text; - const sourceLength = text.length; - const symbolNameLength = symbolName.length; - - let position = text.indexOf(symbolName, start); - while (position >= 0) { - cancellationToken.throwIfCancellationRequested(); - - // If we are past the end, stop looking - if (position > end) break; - - // We found a match. Make sure it's not part of a larger word (i.e. the char - // before and after it have to be a non-identifier char). - const endPosition = position + symbolNameLength; - - if ((position === 0 || !isIdentifierPart(text.charCodeAt(position - 1), ScriptTarget.Latest)) && - (endPosition === sourceLength || !isIdentifierPart(text.charCodeAt(endPosition), ScriptTarget.Latest))) { - // Found a real match. Keep searching. - positions.push(position); - } - position = text.indexOf(symbolName, position + symbolNameLength + 1); - } - - return positions; - } - - function getLabelReferencesInNode(container: Node, targetLabel: Identifier): ReferencedSymbol[] { - const references: ReferenceEntry[] = []; - const sourceFile = container.getSourceFile(); - const labelName = targetLabel.text; - const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, labelName, container.getStart(), container.getEnd()); - forEach(possiblePositions, position => { - cancellationToken.throwIfCancellationRequested(); - - const node = getTouchingWord(sourceFile, position); - if (!node || node.getWidth() !== labelName.length) { - return; - } - - // Only pick labels that are either the target label, or have a target that is the target label - if (node === targetLabel || - (isJumpStatementTarget(node) && getTargetLabel(node, labelName) === targetLabel)) { - references.push(getReferenceEntryFromNode(node)); - } - }); - - const definition: DefinitionInfo = { - containerKind: "", - containerName: "", - fileName: targetLabel.getSourceFile().fileName, - kind: ScriptElementKind.label, - name: labelName, - textSpan: createTextSpanFromBounds(targetLabel.getStart(), targetLabel.getEnd()) - }; - - return [{ definition, references }]; - } - - function isValidReferencePosition(node: Node, searchSymbolName: string): boolean { - if (node) { - // Compare the length so we filter out strict superstrings of the symbol we are looking for - switch (node.kind) { - case SyntaxKind.Identifier: - return node.getWidth() === searchSymbolName.length; - - case SyntaxKind.StringLiteral: - if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || - isNameOfExternalModuleImportOrDeclaration(node)) { - // For string literals we have two additional chars for the quotes - return node.getWidth() === searchSymbolName.length + 2; - } - break; - - case SyntaxKind.NumericLiteral: - if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { - return node.getWidth() === searchSymbolName.length; - } - break; - } - } - - return false; - } - - /** Search within node "container" for references for a search value, where the search value is defined as a - * tuple of(searchSymbol, searchText, searchLocation, and searchMeaning). - * searchLocation: a node where the search value - */ - function getReferencesInNode(container: Node, - searchSymbol: Symbol, - searchText: string, - searchLocation: Node, - searchMeaning: SemanticMeaning, - findInStrings: boolean, - findInComments: boolean, - result: ReferencedSymbol[], - symbolToIndex: number[]): void { - - const sourceFile = container.getSourceFile(); - const tripleSlashDirectivePrefixRegex = /^\/\/\/\s* { - cancellationToken.throwIfCancellationRequested(); - - const referenceLocation = getTouchingPropertyName(sourceFile, position); - if (!isValidReferencePosition(referenceLocation, searchText)) { - // This wasn't the start of a token. Check to see if it might be a - // match in a comment or string if that's what the caller is asking - // for. - if ((findInStrings && isInString(sourceFile, position)) || - (findInComments && isInNonReferenceComment(sourceFile, position))) { - - // In the case where we're looking inside comments/strings, we don't have - // an actual definition. So just use 'undefined' here. Features like - // 'Rename' won't care (as they ignore the definitions), and features like - // 'FindReferences' will just filter out these results. - result.push({ - definition: undefined, - references: [{ - fileName: sourceFile.fileName, - textSpan: createTextSpan(position, searchText.length), - isWriteAccess: false, - isDefinition: false - }] - }); - } - return; - } - - if (!(getMeaningFromLocation(referenceLocation) & searchMeaning)) { - return; - } - - const referenceSymbol = typeChecker.getSymbolAtLocation(referenceLocation); - if (referenceSymbol) { - const referenceSymbolDeclaration = referenceSymbol.valueDeclaration; - const shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(referenceSymbolDeclaration); - const relatedSymbol = getRelatedSymbol(searchSymbols, referenceSymbol, referenceLocation); - - if (relatedSymbol) { - const referencedSymbol = getReferencedSymbol(relatedSymbol); - referencedSymbol.references.push(getReferenceEntryFromNode(referenceLocation)); - } - /* Because in short-hand property assignment, an identifier which stored as name of the short-hand property assignment - * has two meaning : property name and property value. Therefore when we do findAllReference at the position where - * an identifier is declared, the language service should return the position of the variable declaration as well as - * the position in short-hand property assignment excluding property accessing. However, if we do findAllReference at the - * position of property accessing, the referenceEntry of such position will be handled in the first case. - */ - else if (!(referenceSymbol.flags & SymbolFlags.Transient) && searchSymbols.indexOf(shorthandValueSymbol) >= 0) { - const referencedSymbol = getReferencedSymbol(shorthandValueSymbol); - referencedSymbol.references.push(getReferenceEntryFromNode(referenceSymbolDeclaration.name)); - } - } - }); - } - - return; - - function getReferencedSymbol(symbol: Symbol): ReferencedSymbol { - const symbolId = getSymbolId(symbol); - let index = symbolToIndex[symbolId]; - if (index === undefined) { - index = result.length; - symbolToIndex[symbolId] = index; - - result.push({ - definition: getDefinition(symbol), - references: [] - }); - } - - return result[index]; - } - - function isInNonReferenceComment(sourceFile: SourceFile, position: number): boolean { - return isInCommentHelper(sourceFile, position, isNonReferenceComment); - - function isNonReferenceComment(c: CommentRange): boolean { - const commentText = sourceFile.text.substring(c.pos, c.end); - return !tripleSlashDirectivePrefixRegex.test(commentText); - } - } - } - - function getReferencesForSuperKeyword(superKeyword: Node): ReferencedSymbol[] { - let searchSpaceNode = getSuperContainer(superKeyword, /*stopOnFunctions*/ false); - if (!searchSpaceNode) { - return undefined; - } - // Whether 'super' occurs in a static context within a class. - let staticFlag = NodeFlags.Static; - - switch (searchSpaceNode.kind) { - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.Constructor: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - staticFlag &= searchSpaceNode.flags; - searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class - break; - default: - return undefined; - } - - const references: ReferenceEntry[] = []; - - const sourceFile = searchSpaceNode.getSourceFile(); - const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "super", searchSpaceNode.getStart(), searchSpaceNode.getEnd()); - forEach(possiblePositions, position => { - cancellationToken.throwIfCancellationRequested(); - - const node = getTouchingWord(sourceFile, position); - - if (!node || node.kind !== SyntaxKind.SuperKeyword) { - return; - } - - const container = getSuperContainer(node, /*stopOnFunctions*/ false); - - // If we have a 'super' container, we must have an enclosing class. - // Now make sure the owning class is the same as the search-space - // and has the same static qualifier as the original 'super's owner. - if (container && (NodeFlags.Static & container.flags) === staticFlag && container.parent.symbol === searchSpaceNode.symbol) { - references.push(getReferenceEntryFromNode(node)); - } - }); - - const definition = getDefinition(searchSpaceNode.symbol); - return [{ definition, references }]; - } - - function getReferencesForThisKeyword(thisOrSuperKeyword: Node, sourceFiles: SourceFile[]): ReferencedSymbol[] { - let searchSpaceNode = getThisContainer(thisOrSuperKeyword, /* includeArrowFunctions */ false); - - // Whether 'this' occurs in a static context within a class. - let staticFlag = NodeFlags.Static; - - switch (searchSpaceNode.kind) { - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - if (isObjectLiteralMethod(searchSpaceNode)) { - break; - } - // fall through - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - case SyntaxKind.Constructor: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - staticFlag &= searchSpaceNode.flags; - searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class - break; - case SyntaxKind.SourceFile: - if (isExternalModule(searchSpaceNode)) { - return undefined; - } - // Fall through - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.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; - } - - const references: ReferenceEntry[] = []; - - let possiblePositions: number[]; - if (searchSpaceNode.kind === SyntaxKind.SourceFile) { - forEach(sourceFiles, sourceFile => { - possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "this", sourceFile.getStart(), sourceFile.getEnd()); - getThisReferencesInFile(sourceFile, sourceFile, possiblePositions, references); - }); - } - else { - const sourceFile = searchSpaceNode.getSourceFile(); - possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "this", searchSpaceNode.getStart(), searchSpaceNode.getEnd()); - getThisReferencesInFile(sourceFile, searchSpaceNode, possiblePositions, references); - } - - return [{ - definition: { - containerKind: "", - containerName: "", - fileName: node.getSourceFile().fileName, - kind: ScriptElementKind.variableElement, - name: "this", - textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()) - }, - references: references - }]; - - function getThisReferencesInFile(sourceFile: SourceFile, searchSpaceNode: Node, possiblePositions: number[], result: ReferenceEntry[]): void { - forEach(possiblePositions, position => { - cancellationToken.throwIfCancellationRequested(); - - const node = getTouchingWord(sourceFile, position); - if (!node || !isThis(node)) { - return; - } - - const container = getThisContainer(node, /* includeArrowFunctions */ false); - - switch (searchSpaceNode.kind) { - case SyntaxKind.FunctionExpression: - case SyntaxKind.FunctionDeclaration: - if (searchSpaceNode.symbol === container.symbol) { - result.push(getReferenceEntryFromNode(node)); - } - break; - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - if (isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol) { - result.push(getReferenceEntryFromNode(node)); - } - break; - case SyntaxKind.ClassExpression: - case SyntaxKind.ClassDeclaration: - // Make sure the container belongs to the same class - // and has the appropriate static modifier from the original container. - if (container.parent && searchSpaceNode.symbol === container.parent.symbol && (container.flags & NodeFlags.Static) === staticFlag) { - result.push(getReferenceEntryFromNode(node)); - } - break; - case SyntaxKind.SourceFile: - if (container.kind === SyntaxKind.SourceFile && !isExternalModule(container)) { - result.push(getReferenceEntryFromNode(node)); - } - break; - } - }); - } - } - - - function getReferencesForStringLiteral(node: StringLiteral, sourceFiles: SourceFile[]): ReferencedSymbol[] { - const typeChecker = program.getTypeChecker(); - const type = getStringLiteralTypeForNode(node, typeChecker); - - if (!type) { - // nothing to do here. moving on - return undefined; - } - - const references: ReferenceEntry[] = []; - - for (const sourceFile of sourceFiles) { - const possiblePositions = getPossibleSymbolReferencePositions(sourceFile, type.text, sourceFile.getStart(), sourceFile.getEnd()); - getReferencesForStringLiteralInFile(sourceFile, type, possiblePositions, references); - } - - return [{ - definition: { - containerKind: "", - containerName: "", - fileName: node.getSourceFile().fileName, - kind: ScriptElementKind.variableElement, - name: type.text, - textSpan: createTextSpanFromBounds(node.getStart(), node.getEnd()) - }, - references: references - }]; - - function getReferencesForStringLiteralInFile(sourceFile: SourceFile, searchType: Type, possiblePositions: number[], references: ReferenceEntry[]): void { - for (const position of possiblePositions) { - cancellationToken.throwIfCancellationRequested(); - - const node = getTouchingWord(sourceFile, position); - if (!node || node.kind !== SyntaxKind.StringLiteral) { - return; - } - - const type = getStringLiteralTypeForNode(node, typeChecker); - if (type === searchType) { - references.push(getReferenceEntryFromNode(node)); - } - } - } - } - - function populateSearchSymbolSet(symbol: Symbol, location: Node): Symbol[] { - // The search set contains at least the current symbol - let result = [symbol]; - - // If the location is name of property symbol from object literal destructuring pattern - // Search the property symbol - // for ( { property: p2 } of elems) { } - const containingObjectLiteralElement = getContainingObjectLiteralElement(location); - if (containingObjectLiteralElement && containingObjectLiteralElement.kind !== SyntaxKind.ShorthandPropertyAssignment) { - const propertySymbol = getPropertySymbolOfDestructuringAssignment(location); - if (propertySymbol) { - result.push(propertySymbol); - } - } - - // If the symbol is an alias, add what it aliases to the list - // import {a} from "mod"; - // export {a} - // If the symbol is an alias to default declaration, add what it aliases to the list - // declare "mod" { export default class B { } } - // import B from "mod"; - //// For export specifiers, the exported name can be referring to a local symbol, e.g.: - //// import {a} from "mod"; - //// export {a as somethingElse} - //// We want the *local* declaration of 'a' as declared in the import, - //// *not* as declared within "mod" (or farther) - const aliasSymbol = getAliasSymbolForPropertyNameSymbol(symbol, location); - if (aliasSymbol) { - result = result.concat(populateSearchSymbolSet(aliasSymbol, location)); - } - - // If the location is in a context sensitive location (i.e. in an object literal) try - // to get a contextual type for it, and add the property symbol from the contextual - // type to the search set - if (containingObjectLiteralElement) { - forEach(getPropertySymbolsFromContextualType(containingObjectLiteralElement), contextualSymbol => { - addRange(result, typeChecker.getRootSymbols(contextualSymbol)); - }); - - /* Because in short-hand property assignment, location has two meaning : property name and as value of the property - * When we do findAllReference at the position of the short-hand property assignment, we would want to have references to position of - * property name and variable declaration of the identifier. - * Like in below example, when querying for all references for an identifier 'name', of the property assignment, the language service - * should show both 'name' in 'obj' and 'name' in variable declaration - * const name = "Foo"; - * const obj = { name }; - * In order to do that, we will populate the search set with the value symbol of the identifier as a value of the property assignment - * so that when matching with potential reference symbol, both symbols from property declaration and variable declaration - * will be included correctly. - */ - const shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(location.parent); - if (shorthandValueSymbol) { - result.push(shorthandValueSymbol); - } - } - - // If the symbol.valueDeclaration is a property parameter declaration, - // we should include both parameter declaration symbol and property declaration symbol - // Parameter Declaration symbol is only visible within function scope, so the symbol is stored in constructor.locals. - // Property Declaration symbol is a member of the class, so the symbol is stored in its class Declaration.symbol.members - if (symbol.valueDeclaration && symbol.valueDeclaration.kind === SyntaxKind.Parameter && - isParameterPropertyDeclaration(symbol.valueDeclaration)) { - result = result.concat(typeChecker.getSymbolsOfParameterPropertyDeclaration(symbol.valueDeclaration, symbol.name)); - } - - // If this is symbol of binding element without propertyName declaration in Object binding pattern - // Include the property in the search - const bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol); - if (bindingElementPropertySymbol) { - result.push(bindingElementPropertySymbol); - } - - // If this is a union property, add all the symbols from all its source symbols in all unioned types. - // If the symbol is an instantiation from a another symbol (e.g. widened symbol) , add the root the list - forEach(typeChecker.getRootSymbols(symbol), rootSymbol => { - if (rootSymbol !== symbol) { - result.push(rootSymbol); - } - - // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions - if (rootSymbol.parent && rootSymbol.parent.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { - getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ {}); - } - }); - - return result; - } - - /** - * 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: Symbol, propertyName: string, result: Symbol[], - previousIterationSymbolsCache: SymbolTable): void { - if (!symbol) { - return; - } - - // If the current symbol is the same as the previous-iteration symbol, we can just return the symbol that has already been visited - // This is particularly important for the following cases, so that we do not infinitely visit the same symbol. - // For example: - // interface C extends C { - // /*findRef*/propName: string; - // } - // The first time getPropertySymbolsFromBaseTypes is called when finding-all-references at propName, - // the symbol argument will be the symbol of an interface "C" and previousIterationSymbol is undefined, - // the function will add any found symbol of the property-name, then its sub-routine will call - // getPropertySymbolsFromBaseTypes again to walk up any base types to prevent revisiting already - // visited symbol, interface "C", the sub-routine will pass the current symbol as previousIterationSymbol. - if (hasProperty(previousIterationSymbolsCache, symbol.name)) { - return; - } - - if (symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { - forEach(symbol.getDeclarations(), declaration => { - if (isClassLike(declaration)) { - getPropertySymbolFromTypeReference(getClassExtendsHeritageClauseElement(declaration)); - forEach(getClassImplementsHeritageClauseElements(declaration), getPropertySymbolFromTypeReference); - } - else if (declaration.kind === SyntaxKind.InterfaceDeclaration) { - forEach(getInterfaceBaseTypeNodes(declaration), getPropertySymbolFromTypeReference); - } - }); - } - return; - - function getPropertySymbolFromTypeReference(typeReference: ExpressionWithTypeArguments) { - if (typeReference) { - const type = typeChecker.getTypeAtLocation(typeReference); - if (type) { - const propertySymbol = typeChecker.getPropertyOfType(type, propertyName); - if (propertySymbol) { - result.push(...typeChecker.getRootSymbols(propertySymbol)); - } - - // Visit the typeReference as well to see if it directly or indirectly use that property - previousIterationSymbolsCache[symbol.name] = symbol; - getPropertySymbolsFromBaseTypes(type.symbol, propertyName, result, previousIterationSymbolsCache); - } - } - } - } - - function getRelatedSymbol(searchSymbols: Symbol[], referenceSymbol: Symbol, referenceLocation: Node): Symbol { - if (searchSymbols.indexOf(referenceSymbol) >= 0) { - return referenceSymbol; - } - - // If the reference symbol is an alias, check if what it is aliasing is one of the search - // symbols but by looking up for related symbol of this alias so it can handle multiple level of indirectness. - const aliasSymbol = getAliasSymbolForPropertyNameSymbol(referenceSymbol, referenceLocation); - if (aliasSymbol) { - return getRelatedSymbol(searchSymbols, aliasSymbol, referenceLocation); - } - - // If the reference location is in an object literal, try to get the contextual type for the - // object literal, lookup the property symbol in the contextual type, and use this symbol to - // compare to our searchSymbol - const containingObjectLiteralElement = getContainingObjectLiteralElement(referenceLocation); - if (containingObjectLiteralElement) { - const contextualSymbol = forEach(getPropertySymbolsFromContextualType(containingObjectLiteralElement), contextualSymbol => { - return forEach(typeChecker.getRootSymbols(contextualSymbol), s => searchSymbols.indexOf(s) >= 0 ? s : undefined); - }); - - if (contextualSymbol) { - return contextualSymbol; - } - - // If the reference location is the name of property from object literal destructuring pattern - // Get the property symbol from the object literal's type and look if thats the search symbol - // In below eg. get 'property' from type of elems iterating type - // for ( { property: p2 } of elems) { } - const propertySymbol = getPropertySymbolOfDestructuringAssignment(referenceLocation); - if (propertySymbol && searchSymbols.indexOf(propertySymbol) >= 0) { - return propertySymbol; - } - } - - // If the reference location is the binding element and doesn't have property name - // then include the binding element in the related symbols - // let { a } : { a }; - const bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(referenceSymbol); - if (bindingElementPropertySymbol && searchSymbols.indexOf(bindingElementPropertySymbol) >= 0) { - return bindingElementPropertySymbol; - } - - // Unwrap symbols to get to the root (e.g. transient symbols as a result of widening) - // Or a union property, use its underlying unioned symbols - return forEach(typeChecker.getRootSymbols(referenceSymbol), rootSymbol => { - // if it is in the list, then we are done - if (searchSymbols.indexOf(rootSymbol) >= 0) { - return rootSymbol; - } - - // Finally, try all properties with the same name in any type the containing type extended or implemented, and - // see if any is in the list - if (rootSymbol.parent && rootSymbol.parent.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { - const result: Symbol[] = []; - getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ {}); - return forEach(result, s => searchSymbols.indexOf(s) >= 0 ? s : undefined); - } - - return undefined; - }); - } - - function getNameFromObjectLiteralElement(node: ObjectLiteralElement) { - if (node.name.kind === SyntaxKind.ComputedPropertyName) { - const nameExpression = (node.name).expression; - // treat computed property names where expression is string/numeric literal as just string/numeric literal - if (isStringOrNumericLiteral(nameExpression.kind)) { - return (nameExpression).text; - } - return undefined; - } - return (node.name).text; - } - - function getPropertySymbolsFromContextualType(node: ObjectLiteralElement): Symbol[] { - const objectLiteral = node.parent; - const contextualType = typeChecker.getContextualType(objectLiteral); - const name = getNameFromObjectLiteralElement(node); - if (name && contextualType) { - const result: Symbol[] = []; - const symbol = contextualType.getProperty(name); - if (symbol) { - result.push(symbol); - } - - if (contextualType.flags & TypeFlags.Union) { - forEach((contextualType).types, t => { - const symbol = t.getProperty(name); - if (symbol) { - result.push(symbol); - } - }); - } - return result; - } - return undefined; - } - - /** Given an initial searchMeaning, extracted from a location, widen the search scope based on the declarations - * of the corresponding symbol. e.g. if we are searching for "Foo" in value position, but "Foo" references a class - * then we need to widen the search to include type positions as well. - * On the contrary, if we are searching for "Bar" in type position and we trace bar to an interface, and an uninstantiated - * module, we want to keep the search limited to only types, as the two declarations (interface and uninstantiated module) - * do not intersect in any of the three spaces. - */ - function getIntersectingMeaningFromDeclarations(meaning: SemanticMeaning, declarations: Declaration[]): SemanticMeaning { - if (declarations) { - let lastIterationMeaning: SemanticMeaning; - do { - // The result is order-sensitive, for instance if initialMeaning === Namespace, and declarations = [class, instantiated module] - // we need to consider both as they initialMeaning intersects with the module in the namespace space, and the module - // intersects with the class in the value space. - // To achieve that we will keep iterating until the result stabilizes. - - // Remember the last meaning - lastIterationMeaning = meaning; - - for (const declaration of declarations) { - const declarationMeaning = getMeaningFromDeclaration(declaration); - - if (declarationMeaning & meaning) { - meaning |= declarationMeaning; - } - } - } - while (meaning !== lastIterationMeaning); - } - return meaning; - } - } - - function getReferenceEntryFromNode(node: Node): ReferenceEntry { - let start = node.getStart(); - let end = node.getEnd(); - - if (node.kind === SyntaxKind.StringLiteral) { - start += 1; - end -= 1; - } - - return { - fileName: node.getSourceFile().fileName, - textSpan: createTextSpanFromBounds(start, end), - isWriteAccess: isWriteAccess(node), - isDefinition: isDeclarationName(node) || isLiteralComputedPropertyDeclarationName(node) - }; - } - - /** A node is considered a writeAccess iff it is a name of a declaration or a target of an assignment */ - function isWriteAccess(node: Node): boolean { - if (node.kind === SyntaxKind.Identifier && isDeclarationName(node)) { - return true; - } - - const parent = node.parent; - if (parent) { - if (parent.kind === SyntaxKind.PostfixUnaryExpression || parent.kind === SyntaxKind.PrefixUnaryExpression) { - return true; - } - else if (parent.kind === SyntaxKind.BinaryExpression && (parent).left === node) { - const operator = (parent).operatorToken.kind; - return SyntaxKind.FirstAssignment <= operator && operator <= SyntaxKind.LastAssignment; - } - } - - return false; + return FindAllReferences.findReferencedSymbols(program.getTypeChecker(), cancellationToken, program.getSourceFiles(), getValidSourceFile(fileName), position, findInStrings, findInComments); } /// NavigateTo @@ -6954,156 +1372,6 @@ namespace ts { }; } - function getMeaningFromDeclaration(node: Node): SemanticMeaning { - switch (node.kind) { - case SyntaxKind.Parameter: - case SyntaxKind.VariableDeclaration: - case SyntaxKind.BindingElement: - case SyntaxKind.PropertyDeclaration: - case SyntaxKind.PropertySignature: - case SyntaxKind.PropertyAssignment: - case SyntaxKind.ShorthandPropertyAssignment: - case SyntaxKind.EnumMember: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.MethodSignature: - case SyntaxKind.Constructor: - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.FunctionExpression: - case SyntaxKind.ArrowFunction: - case SyntaxKind.CatchClause: - return SemanticMeaning.Value; - - case SyntaxKind.TypeParameter: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.TypeAliasDeclaration: - case SyntaxKind.TypeLiteral: - return SemanticMeaning.Type; - - case SyntaxKind.ClassDeclaration: - case SyntaxKind.EnumDeclaration: - return SemanticMeaning.Value | SemanticMeaning.Type; - - case SyntaxKind.ModuleDeclaration: - if (isAmbientModule(node)) { - return SemanticMeaning.Namespace | SemanticMeaning.Value; - } - else if (getModuleInstanceState(node) === ModuleInstanceState.Instantiated) { - return SemanticMeaning.Namespace | SemanticMeaning.Value; - } - else { - return SemanticMeaning.Namespace; - } - - case SyntaxKind.NamedImports: - case SyntaxKind.ImportSpecifier: - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ImportDeclaration: - case SyntaxKind.ExportAssignment: - case SyntaxKind.ExportDeclaration: - return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; - - // An external module can be a Value - case SyntaxKind.SourceFile: - return SemanticMeaning.Namespace | SemanticMeaning.Value; - } - - return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; - } - - function isTypeReference(node: Node): boolean { - if (isRightSideOfQualifiedNameOrPropertyAccess(node)) { - node = node.parent; - } - - return node.parent.kind === SyntaxKind.TypeReference || - (node.parent.kind === SyntaxKind.ExpressionWithTypeArguments && !isExpressionWithTypeArgumentsInClassExtendsClause(node.parent)) || - (node.kind === SyntaxKind.ThisKeyword && !isExpression(node)) || - node.kind === SyntaxKind.ThisType; - } - - function isNamespaceReference(node: Node): boolean { - return isQualifiedNameNamespaceReference(node) || isPropertyAccessNamespaceReference(node); - } - - function isPropertyAccessNamespaceReference(node: Node): boolean { - let root = node; - let isLastClause = true; - if (root.parent.kind === SyntaxKind.PropertyAccessExpression) { - while (root.parent && root.parent.kind === SyntaxKind.PropertyAccessExpression) { - root = root.parent; - } - - isLastClause = (root).name === node; - } - - if (!isLastClause && root.parent.kind === SyntaxKind.ExpressionWithTypeArguments && root.parent.parent.kind === SyntaxKind.HeritageClause) { - const decl = root.parent.parent.parent; - return (decl.kind === SyntaxKind.ClassDeclaration && (root.parent.parent).token === SyntaxKind.ImplementsKeyword) || - (decl.kind === SyntaxKind.InterfaceDeclaration && (root.parent.parent).token === SyntaxKind.ExtendsKeyword); - } - - return false; - } - - function isQualifiedNameNamespaceReference(node: Node): boolean { - let root = node; - let isLastClause = true; - if (root.parent.kind === SyntaxKind.QualifiedName) { - while (root.parent && root.parent.kind === SyntaxKind.QualifiedName) { - root = root.parent; - } - - isLastClause = (root).right === node; - } - - return root.parent.kind === SyntaxKind.TypeReference && !isLastClause; - } - - function isInRightSideOfImport(node: Node) { - while (node.parent.kind === SyntaxKind.QualifiedName) { - node = node.parent; - } - return isInternalModuleImportEqualsDeclaration(node.parent) && (node.parent).moduleReference === node; - } - - function getMeaningFromRightHandSideOfImportEquals(node: Node) { - Debug.assert(node.kind === SyntaxKind.Identifier); - - // import a = |b|; // Namespace - // import a = |b.c|; // Value, type, namespace - // import a = |b.c|.d; // Namespace - - if (node.parent.kind === SyntaxKind.QualifiedName && - (node.parent).right === node && - node.parent.parent.kind === SyntaxKind.ImportEqualsDeclaration) { - return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; - } - return SemanticMeaning.Namespace; - } - - function getMeaningFromLocation(node: Node): SemanticMeaning { - if (node.parent.kind === SyntaxKind.ExportAssignment) { - return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; - } - else if (isInRightSideOfImport(node)) { - return getMeaningFromRightHandSideOfImportEquals(node); - } - else if (isDeclarationName(node)) { - return getMeaningFromDeclaration(node.parent); - } - else if (isTypeReference(node)) { - return SemanticMeaning.Type; - } - else if (isNamespaceReference(node)) { - return SemanticMeaning.Namespace; - } - else { - return SemanticMeaning.Value; - } - } - // Signature help /** * This is a semantic operation. @@ -7135,7 +1403,6 @@ namespace ts { case SyntaxKind.PropertyAccessExpression: case SyntaxKind.QualifiedName: case SyntaxKind.StringLiteral: - case SyntaxKind.StringLiteralType: case SyntaxKind.FalseKeyword: case SyntaxKind.TrueKeyword: case SyntaxKind.NullKeyword: @@ -7193,525 +1460,23 @@ namespace ts { } function getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[] { - return convertClassifications(getEncodedSemanticClassifications(fileName, span)); - } - - function checkForClassificationCancellation(kind: SyntaxKind) { - // We don't want to actually call back into our host on every node to find out if we've - // been canceled. That would be an enormous amount of chattyness, along with the all - // the overhead of marshalling the data to/from the host. So instead we pick a few - // reasonable node kinds to bother checking on. These node kinds represent high level - // constructs that we would expect to see commonly, but just at a far less frequent - // interval. - // - // For example, in checker.ts (around 750k) we only have around 600 of these constructs. - // 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 SyntaxKind.ModuleDeclaration: - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.FunctionDeclaration: - cancellationToken.throwIfCancellationRequested(); - } + synchronizeHostData(); + return ts.getSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span); } function getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - const typeChecker = program.getTypeChecker(); - - const result: number[] = []; - const classifiableNames = program.getClassifiableNames(); - processNode(sourceFile); - - return { spans: result, endOfLineState: EndOfLineState.None }; - - function pushClassification(start: number, length: number, type: ClassificationType) { - result.push(start); - result.push(length); - result.push(type); - } - - function classifySymbol(symbol: Symbol, meaningAtPosition: SemanticMeaning): ClassificationType { - const flags = symbol.getFlags(); - if ((flags & SymbolFlags.Classifiable) === SymbolFlags.None) { - return; - } - - if (flags & SymbolFlags.Class) { - return ClassificationType.className; - } - else if (flags & SymbolFlags.Enum) { - return ClassificationType.enumName; - } - else if (flags & SymbolFlags.TypeAlias) { - return ClassificationType.typeAliasName; - } - else if (meaningAtPosition & SemanticMeaning.Type) { - if (flags & SymbolFlags.Interface) { - return ClassificationType.interfaceName; - } - else if (flags & SymbolFlags.TypeParameter) { - return ClassificationType.typeParameterName; - } - } - else if (flags & SymbolFlags.Module) { - // Only classify a module as such if - // - It appears in a namespace context. - // - There exists a module declaration which actually impacts the value side. - if (meaningAtPosition & SemanticMeaning.Namespace || - (meaningAtPosition & SemanticMeaning.Value && hasValueSideModule(symbol))) { - return ClassificationType.moduleName; - } - } - - return undefined; - - /** - * Returns true if there exists a module that introduces entities on the value side. - */ - function hasValueSideModule(symbol: Symbol): boolean { - return forEach(symbol.declarations, declaration => { - return declaration.kind === SyntaxKind.ModuleDeclaration && - getModuleInstanceState(declaration) === ModuleInstanceState.Instantiated; - }); - } - } - - function processNode(node: Node) { - // Only walk into nodes that intersect the requested span. - if (node && textSpanIntersectsWith(span, node.getFullStart(), node.getFullWidth())) { - const kind = node.kind; - checkForClassificationCancellation(kind); - - if (kind === SyntaxKind.Identifier && !nodeIsMissing(node)) { - const identifier = node; - - // Only bother calling into the typechecker if this is an identifier that - // could possibly resolve to a type name. This makes classification run - // in a third of the time it would normally take. - if (classifiableNames[identifier.text]) { - const symbol = typeChecker.getSymbolAtLocation(node); - if (symbol) { - const type = classifySymbol(symbol, getMeaningFromLocation(node)); - if (type) { - pushClassification(node.getStart(), node.getWidth(), type); - } - } - } - } - - forEachChild(node, processNode); - } - } - } - - function getClassificationTypeName(type: ClassificationType) { - switch (type) { - case ClassificationType.comment: return ClassificationTypeNames.comment; - case ClassificationType.identifier: return ClassificationTypeNames.identifier; - case ClassificationType.keyword: return ClassificationTypeNames.keyword; - case ClassificationType.numericLiteral: return ClassificationTypeNames.numericLiteral; - case ClassificationType.operator: return ClassificationTypeNames.operator; - case ClassificationType.stringLiteral: return ClassificationTypeNames.stringLiteral; - case ClassificationType.whiteSpace: return ClassificationTypeNames.whiteSpace; - case ClassificationType.text: return ClassificationTypeNames.text; - case ClassificationType.punctuation: return ClassificationTypeNames.punctuation; - case ClassificationType.className: return ClassificationTypeNames.className; - case ClassificationType.enumName: return ClassificationTypeNames.enumName; - case ClassificationType.interfaceName: return ClassificationTypeNames.interfaceName; - case ClassificationType.moduleName: return ClassificationTypeNames.moduleName; - case ClassificationType.typeParameterName: return ClassificationTypeNames.typeParameterName; - case ClassificationType.typeAliasName: return ClassificationTypeNames.typeAliasName; - case ClassificationType.parameterName: return ClassificationTypeNames.parameterName; - case ClassificationType.docCommentTagName: return ClassificationTypeNames.docCommentTagName; - case ClassificationType.jsxOpenTagName: return ClassificationTypeNames.jsxOpenTagName; - case ClassificationType.jsxCloseTagName: return ClassificationTypeNames.jsxCloseTagName; - case ClassificationType.jsxSelfClosingTagName: return ClassificationTypeNames.jsxSelfClosingTagName; - case ClassificationType.jsxAttribute: return ClassificationTypeNames.jsxAttribute; - case ClassificationType.jsxText: return ClassificationTypeNames.jsxText; - case ClassificationType.jsxAttributeStringLiteralValue: return ClassificationTypeNames.jsxAttributeStringLiteralValue; - } - } - - function convertClassifications(classifications: Classifications): ClassifiedSpan[] { - Debug.assert(classifications.spans.length % 3 === 0); - const dense = classifications.spans; - const result: ClassifiedSpan[] = []; - for (let i = 0, n = dense.length; i < n; i += 3) { - result.push({ - textSpan: createTextSpan(dense[i], dense[i + 1]), - classificationType: getClassificationTypeName(dense[i + 2]) - }); - } - - return result; + return ts.getEncodedSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span); } function getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[] { - return convertClassifications(getEncodedSyntacticClassifications(fileName, span)); + // doesn't use compiler - no need to synchronize with host + return ts.getSyntacticClassifications(cancellationToken, syntaxTreeCache.getCurrentSourceFile(fileName), span); } function getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications { // doesn't use compiler - no need to synchronize with host - const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); - const spanStart = span.start; - const spanLength = span.length; - - // Make a scanner we can get trivia from. - const triviaScanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); - const mergeConflictScanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); - - const result: number[] = []; - processElement(sourceFile); - - return { spans: result, endOfLineState: EndOfLineState.None }; - - function pushClassification(start: number, length: number, type: ClassificationType) { - result.push(start); - result.push(length); - result.push(type); - } - - function classifyLeadingTriviaAndGetTokenStart(token: Node): number { - triviaScanner.setTextPos(token.pos); - while (true) { - const start = triviaScanner.getTextPos(); - // only bother scanning if we have something that could be trivia. - if (!couldStartTrivia(sourceFile.text, start)) { - return start; - } - - const kind = triviaScanner.scan(); - const end = triviaScanner.getTextPos(); - const width = end - start; - - // The moment we get something that isn't trivia, then stop processing. - if (!isTrivia(kind)) { - return start; - } - - // Don't bother with newlines/whitespace. - if (kind === SyntaxKind.NewLineTrivia || kind === SyntaxKind.WhitespaceTrivia) { - continue; - } - - // Only bother with the trivia if it at least intersects the span of interest. - if (isComment(kind)) { - classifyComment(token, kind, start, width); - - // Classifying a comment might cause us to reuse the trivia scanner - // (because of jsdoc comments). So after we classify the comment make - // sure we set the scanner position back to where it needs to be. - triviaScanner.setTextPos(end); - continue; - } - - if (kind === SyntaxKind.ConflictMarkerTrivia) { - const text = sourceFile.text; - const ch = text.charCodeAt(start); - - // for the <<<<<<< and >>>>>>> markers, we just add them in as comments - // in the classification stream. - if (ch === CharacterCodes.lessThan || ch === CharacterCodes.greaterThan) { - pushClassification(start, width, ClassificationType.comment); - continue; - } - - // for the ======== add a comment for the first line, and then lex all - // subsequent lines up until the end of the conflict marker. - Debug.assert(ch === CharacterCodes.equals); - classifyDisabledMergeCode(text, start, end); - } - } - } - - function classifyComment(token: Node, kind: SyntaxKind, start: number, width: number) { - if (kind === SyntaxKind.MultiLineCommentTrivia) { - // See if this is a doc comment. If so, we'll classify certain portions of it - // specially. - const docCommentAndDiagnostics = parseIsolatedJSDocComment(sourceFile.text, start, width); - if (docCommentAndDiagnostics && docCommentAndDiagnostics.jsDocComment) { - docCommentAndDiagnostics.jsDocComment.parent = token; - classifyJSDocComment(docCommentAndDiagnostics.jsDocComment); - return; - } - } - - // Simple comment. Just add as is. - pushCommentRange(start, width); - } - - function pushCommentRange(start: number, width: number) { - pushClassification(start, width, ClassificationType.comment); - } - - function classifyJSDocComment(docComment: JSDocComment) { - let pos = docComment.pos; - - for (const tag of docComment.tags) { - // As we walk through each tag, classify the portion of text from the end of - // the last tag (or the start of the entire doc comment) as 'comment'. - if (tag.pos !== pos) { - pushCommentRange(pos, tag.pos - pos); - } - - pushClassification(tag.atToken.pos, tag.atToken.end - tag.atToken.pos, ClassificationType.punctuation); - pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, ClassificationType.docCommentTagName); - - pos = tag.tagName.end; - - switch (tag.kind) { - case SyntaxKind.JSDocParameterTag: - processJSDocParameterTag(tag); - break; - case SyntaxKind.JSDocTemplateTag: - processJSDocTemplateTag(tag); - break; - case SyntaxKind.JSDocTypeTag: - processElement((tag).typeExpression); - break; - case SyntaxKind.JSDocReturnTag: - processElement((tag).typeExpression); - break; - } - - pos = tag.end; - } - - if (pos !== docComment.end) { - pushCommentRange(pos, docComment.end - pos); - } - - return; - - function processJSDocParameterTag(tag: JSDocParameterTag) { - if (tag.preParameterName) { - pushCommentRange(pos, tag.preParameterName.pos - pos); - pushClassification(tag.preParameterName.pos, tag.preParameterName.end - tag.preParameterName.pos, ClassificationType.parameterName); - pos = tag.preParameterName.end; - } - - if (tag.typeExpression) { - pushCommentRange(pos, tag.typeExpression.pos - pos); - processElement(tag.typeExpression); - pos = tag.typeExpression.end; - } - - if (tag.postParameterName) { - pushCommentRange(pos, tag.postParameterName.pos - pos); - pushClassification(tag.postParameterName.pos, tag.postParameterName.end - tag.postParameterName.pos, ClassificationType.parameterName); - pos = tag.postParameterName.end; - } - } - } - - function processJSDocTemplateTag(tag: JSDocTemplateTag) { - for (const child of tag.getChildren()) { - processElement(child); - } - } - - function classifyDisabledMergeCode(text: string, start: number, end: number) { - // Classify the line that the ======= marker is on as a comment. Then just lex - // all further tokens and add them to the result. - let i: number; - for (i = start; i < end; i++) { - if (isLineBreak(text.charCodeAt(i))) { - break; - } - } - pushClassification(start, i - start, ClassificationType.comment); - mergeConflictScanner.setTextPos(i); - - while (mergeConflictScanner.getTextPos() < end) { - classifyDisabledCodeToken(); - } - } - - function classifyDisabledCodeToken() { - const start = mergeConflictScanner.getTextPos(); - const tokenKind = mergeConflictScanner.scan(); - const end = mergeConflictScanner.getTextPos(); - - const type = classifyTokenType(tokenKind); - if (type) { - pushClassification(start, end - start, type); - } - } - - /** - * Returns true if node should be treated as classified and no further processing is required. - * False will mean that node is not classified and traverse routine should recurse into node contents. - */ - function tryClassifyNode(node: Node): boolean { - if (nodeIsMissing(node)) { - return true; - } - - const classifiedElementName = tryClassifyJsxElementName(node); - if (!isToken(node) && node.kind !== SyntaxKind.JsxText && classifiedElementName === undefined) { - return false; - } - - const tokenStart = node.kind === SyntaxKind.JsxText ? node.pos : classifyLeadingTriviaAndGetTokenStart(node); - - const tokenWidth = node.end - tokenStart; - Debug.assert(tokenWidth >= 0); - if (tokenWidth > 0) { - const type = classifiedElementName || classifyTokenType(node.kind, node); - if (type) { - pushClassification(tokenStart, tokenWidth, type); - } - } - - return true; - } - - function tryClassifyJsxElementName(token: Node): ClassificationType { - switch (token.parent && token.parent.kind) { - case SyntaxKind.JsxOpeningElement: - if ((token.parent).tagName === token) { - return ClassificationType.jsxOpenTagName; - } - break; - case SyntaxKind.JsxClosingElement: - if ((token.parent).tagName === token) { - return ClassificationType.jsxCloseTagName; - } - break; - case SyntaxKind.JsxSelfClosingElement: - if ((token.parent).tagName === token) { - return ClassificationType.jsxSelfClosingTagName; - } - break; - case SyntaxKind.JsxAttribute: - if ((token.parent).name === token) { - return ClassificationType.jsxAttribute; - } - break; - } - return undefined; - } - - // for accurate classification, the actual token should be passed in. however, for - // cases like 'disabled merge code' classification, we just get the token kind and - // classify based on that instead. - function classifyTokenType(tokenKind: SyntaxKind, token?: Node): ClassificationType { - if (isKeyword(tokenKind)) { - return ClassificationType.keyword; - } - - // Special case < and > If they appear in a generic context they are punctuation, - // not operators. - if (tokenKind === SyntaxKind.LessThanToken || tokenKind === SyntaxKind.GreaterThanToken) { - // If the node owning the token has a type argument list or type parameter list, then - // we can effectively assume that a '<' and '>' belong to those lists. - if (token && getTypeArgumentOrTypeParameterList(token.parent)) { - return ClassificationType.punctuation; - } - } - - if (isPunctuation(tokenKind)) { - if (token) { - if (tokenKind === SyntaxKind.EqualsToken) { - // the '=' in a variable declaration is special cased here. - if (token.parent.kind === SyntaxKind.VariableDeclaration || - token.parent.kind === SyntaxKind.PropertyDeclaration || - token.parent.kind === SyntaxKind.Parameter || - token.parent.kind === SyntaxKind.JsxAttribute) { - return ClassificationType.operator; - } - } - - if (token.parent.kind === SyntaxKind.BinaryExpression || - token.parent.kind === SyntaxKind.PrefixUnaryExpression || - token.parent.kind === SyntaxKind.PostfixUnaryExpression || - token.parent.kind === SyntaxKind.ConditionalExpression) { - return ClassificationType.operator; - } - } - - return ClassificationType.punctuation; - } - else if (tokenKind === SyntaxKind.NumericLiteral) { - return ClassificationType.numericLiteral; - } - else if (tokenKind === SyntaxKind.StringLiteral || tokenKind === SyntaxKind.StringLiteralType) { - return token.parent.kind === SyntaxKind.JsxAttribute ? ClassificationType.jsxAttributeStringLiteralValue : ClassificationType.stringLiteral; - } - else if (tokenKind === SyntaxKind.RegularExpressionLiteral) { - // TODO: we should get another classification type for these literals. - return ClassificationType.stringLiteral; - } - else if (isTemplateLiteralKind(tokenKind)) { - // TODO (drosen): we should *also* get another classification type for these literals. - return ClassificationType.stringLiteral; - } - else if (tokenKind === SyntaxKind.JsxText) { - return ClassificationType.jsxText; - } - else if (tokenKind === SyntaxKind.Identifier) { - if (token) { - switch (token.parent.kind) { - case SyntaxKind.ClassDeclaration: - if ((token.parent).name === token) { - return ClassificationType.className; - } - return; - case SyntaxKind.TypeParameter: - if ((token.parent).name === token) { - return ClassificationType.typeParameterName; - } - return; - case SyntaxKind.InterfaceDeclaration: - if ((token.parent).name === token) { - return ClassificationType.interfaceName; - } - return; - case SyntaxKind.EnumDeclaration: - if ((token.parent).name === token) { - return ClassificationType.enumName; - } - return; - case SyntaxKind.ModuleDeclaration: - if ((token.parent).name === token) { - return ClassificationType.moduleName; - } - return; - case SyntaxKind.Parameter: - if ((token.parent).name === token) { - const isThis = token.kind === SyntaxKind.Identifier && (token).originalKeywordKind === SyntaxKind.ThisKeyword; - return isThis ? ClassificationType.keyword : ClassificationType.parameterName; - } - return; - } - } - return ClassificationType.identifier; - } - } - - function processElement(element: Node) { - if (!element) { - return; - } - - // Ignore nodes that don't intersect the original span to classify. - if (decodedTextSpanIntersectsWith(spanStart, spanLength, element.pos, element.getFullWidth())) { - checkForClassificationCancellation(element.kind); - - const children = element.getChildren(sourceFile); - for (let i = 0, n = children.length; i < n; i++) { - const child = children[i]; - if (!tryClassifyNode(child)) { - // Recurse into our child nodes. - processElement(child); - } - } - } - } + return ts.getEncodedSyntacticClassifications(cancellationToken, syntaxTreeCache.getCurrentSourceFile(fileName), span); } function getOutliningSpans(fileName: string): OutliningSpan[] { @@ -7810,109 +1575,11 @@ namespace ts { return []; } - /** - * Checks if position points to a valid position to add JSDoc comments, and if so, - * returns the appropriate template. Otherwise returns an empty string. - * Valid positions are - * - outside of comments, statements, and expressions, and - * - preceding a: - * - function/constructor/method declaration - * - class declarations - * - variable statements - * - namespace declarations - * - * Hosts should ideally check that: - * - The line is all whitespace up to 'position' before performing the insertion. - * - If the keystroke sequence "/\*\*" induced the call, we also check that the next - * non-whitespace character is '*', which (approximately) indicates whether we added - * the second '*' to complete an existing (JSDoc) comment. - * @param fileName The file in which to perform the check. - * @param position The (character-indexed) position in the file where the check should - * be performed. - */ function getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion { - const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); - - // Check if in a context where we don't want to perform any insertion - if (isInString(sourceFile, position) || isInComment(sourceFile, position) || hasDocComment(sourceFile, position)) { - return undefined; - } - - const tokenAtPos = getTokenAtPosition(sourceFile, position); - const tokenStart = tokenAtPos.getStart(); - if (!tokenAtPos || tokenStart < position) { - return undefined; - } - - // TODO: add support for: - // - enums/enum members - // - interfaces - // - property declarations - // - potentially property assignments - let commentOwner: Node; - findOwner: for (commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { - switch (commentOwner.kind) { - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.MethodDeclaration: - case SyntaxKind.Constructor: - case SyntaxKind.ClassDeclaration: - case SyntaxKind.VariableStatement: - break findOwner; - case SyntaxKind.SourceFile: - return undefined; - case SyntaxKind.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 { }'. - if (commentOwner.parent.kind === SyntaxKind.ModuleDeclaration) { - return undefined; - } - break findOwner; - } - } - - if (!commentOwner || commentOwner.getStart() < position) { - return undefined; - } - - const parameters = getParametersForJsDocOwningNode(commentOwner); - const posLineAndChar = sourceFile.getLineAndCharacterOfPosition(position); - const lineStart = sourceFile.getLineStarts()[posLineAndChar.line]; - - const indentationStr = sourceFile.text.substr(lineStart, posLineAndChar.character); - - const newLine = getNewLineOrDefaultFromHost(host); - - let docParams = ""; - for (let i = 0, numParams = parameters.length; i < numParams; i++) { - const currentName = parameters[i].name; - const paramName = currentName.kind === SyntaxKind.Identifier ? - (currentName).text : - "param" + i; - - 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) - // * the '@param'-tagged lines - // * TODO: other tags. - // * the closing comment line - // * if the caret was directly in front of the object, then we add an extra line and indentation. - const preamble = "/**" + newLine + - indentationStr + " * "; - const result = - preamble + newLine + - docParams + - indentationStr + " */" + - (tokenStart === position ? newLine + indentationStr : ""); - - return { newText: result, caretOffset: preamble.length }; + return JsDoc.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(host), syntaxTreeCache.getCurrentSourceFile(fileName), position); } function isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean { - // '<' is currently not supported, figuring out if we're in a Generic Type vs. a comparison is too // expensive to do during typing scenarios // i.e. whether we're dealing with: @@ -7941,52 +1608,6 @@ namespace ts { return true; } - function getParametersForJsDocOwningNode(commentOwner: Node): ParameterDeclaration[] { - if (isFunctionLike(commentOwner)) { - return commentOwner.parameters; - } - - if (commentOwner.kind === SyntaxKind.VariableStatement) { - const varStatement = commentOwner; - const varDeclarations = varStatement.declarationList.declarations; - - if (varDeclarations.length === 1 && varDeclarations[0].initializer) { - return getParametersFromRightHandSideOfAssignment(varDeclarations[0].initializer); - } - } - - return emptyArray; - } - - /** - * Digs into an an initializer or RHS operand of an assignment operation - * to get the parameters of an apt signature corresponding to a - * function expression or a class expression. - * - * @param rightHandSide the expression which may contain an appropriate set of parameters - * @returns the parameters of a signature found on the RHS if one exists; otherwise 'emptyArray'. - */ - function getParametersFromRightHandSideOfAssignment(rightHandSide: Expression): ParameterDeclaration[] { - while (rightHandSide.kind === SyntaxKind.ParenthesizedExpression) { - rightHandSide = (rightHandSide).expression; - } - - switch (rightHandSide.kind) { - case SyntaxKind.FunctionExpression: - case SyntaxKind.ArrowFunction: - return (rightHandSide).parameters; - case SyntaxKind.ClassExpression: - for (const member of (rightHandSide).members) { - if (member.kind === SyntaxKind.Constructor) { - return (member).parameters; - } - } - break; - } - - return emptyArray; - } - function getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[] { // Note: while getting todo comments seems like a syntactic operation, we actually // treat it as a semantic operation here. This is because we expect our host to call @@ -8134,115 +1755,10 @@ namespace ts { } } - function getStringLiteralTypeForNode(node: StringLiteral | StringLiteralTypeNode, typeChecker: TypeChecker): StringLiteralType { - const searchNode = node.parent.kind === SyntaxKind.StringLiteralType ? node.parent : node; - const type = typeChecker.getTypeAtLocation(searchNode); - if (type && type.flags & TypeFlags.StringLiteral) { - return type; - } - return undefined; - } - function getRenameInfo(fileName: string, position: number): RenameInfo { synchronizeHostData(); - - const sourceFile = getValidSourceFile(fileName); - const typeChecker = program.getTypeChecker(); - const defaultLibFileName = host.getDefaultLibFileName(host.getCompilationSettings()); - const canonicalDefaultLibName = getCanonicalFileName(ts.normalizePath(defaultLibFileName)); - - const node = getTouchingWord(sourceFile, position, /*includeJsDocComment*/ true); - - if (node) { - if (node.kind === SyntaxKind.Identifier || - node.kind === SyntaxKind.StringLiteral || - isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || - isThis(node)) { - const symbol = typeChecker.getSymbolAtLocation(node); - - // Only allow a symbol to be renamed if it actually has at least one declaration. - if (symbol) { - const declarations = symbol.getDeclarations(); - if (declarations && declarations.length > 0) { - // Disallow rename for elements that are defined in the standard TypeScript library. - if (forEach(declarations, isDefinedInLibraryFile)) { - return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library)); - } - - const displayName = stripQuotes(getDeclaredName(typeChecker, symbol, node)); - const kind = getSymbolKind(symbol, node); - if (kind) { - return { - canRename: true, - kind, - displayName, - localizedErrorMessage: undefined, - fullDisplayName: typeChecker.getFullyQualifiedName(symbol), - kindModifiers: getSymbolModifiers(symbol), - triggerSpan: createTriggerSpanForNode(node, sourceFile) - }; - } - } - } - else if (node.kind === SyntaxKind.StringLiteral) { - const type = getStringLiteralTypeForNode(node, typeChecker); - if (type) { - if (isDefinedInLibraryFile(node)) { - return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library)); - } - else { - const displayName = stripQuotes(type.text); - return { - canRename: true, - kind: ScriptElementKind.variableElement, - displayName, - localizedErrorMessage: undefined, - fullDisplayName: displayName, - kindModifiers: ScriptElementKindModifier.none, - triggerSpan: createTriggerSpanForNode(node, sourceFile) - }; - } - } - } - } - } - - return getRenameInfoError(getLocaleSpecificMessage(Diagnostics.You_cannot_rename_this_element)); - - function getRenameInfoError(localizedErrorMessage: string): RenameInfo { - return { - canRename: false, - localizedErrorMessage: localizedErrorMessage, - displayName: undefined, - fullDisplayName: undefined, - kind: undefined, - kindModifiers: undefined, - triggerSpan: undefined - }; - } - - function isDefinedInLibraryFile(declaration: Node) { - if (defaultLibFileName) { - const sourceFile = declaration.getSourceFile(); - const canonicalName = getCanonicalFileName(ts.normalizePath(sourceFile.fileName)); - if (canonicalName === canonicalDefaultLibName) { - return true; - } - } - return false; - } - - function createTriggerSpanForNode(node: Node, sourceFile: SourceFile) { - let start = node.getStart(sourceFile); - let width = node.getWidth(sourceFile); - if (node.kind === SyntaxKind.StringLiteral) { - // Exclude the quotes - start += 1; - width -= 2; - } - return createTextSpan(start, width); - } + return Rename.getRenameInfo(program.getTypeChecker(), defaultLibFileName, getCanonicalFileName, getValidSourceFile(fileName), position); } return { @@ -8257,6 +1773,7 @@ namespace ts { getEncodedSemanticClassifications, getCompletionsAtPosition, getCompletionEntryDetails, + getCompletionEntrySymbol, getSignatureHelpItems, getQuickInfoAtPosition, getDefinitionAtPosition, @@ -8296,7 +1813,7 @@ namespace ts { } function initializeNameTable(sourceFile: SourceFile): void { - const nameTable: Map = {}; + const nameTable = createMap(); walk(sourceFile); sourceFile.nameTable = nameTable; @@ -8338,469 +1855,6 @@ namespace ts { (node.parent).argumentExpression === node; } - /// Classifier - export function createClassifier(): Classifier { - const scanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ false); - - /// We do not have a full parser support to know when we should parse a regex or not - /// If we consider every slash token to be a regex, we could be missing cases like "1/2/3", where - /// we have a series of divide operator. this list allows us to be more accurate by ruling out - /// locations where a regexp cannot exist. - const noRegexTable: boolean[] = []; - noRegexTable[SyntaxKind.Identifier] = true; - noRegexTable[SyntaxKind.StringLiteral] = true; - noRegexTable[SyntaxKind.NumericLiteral] = true; - noRegexTable[SyntaxKind.RegularExpressionLiteral] = true; - noRegexTable[SyntaxKind.ThisKeyword] = true; - noRegexTable[SyntaxKind.PlusPlusToken] = true; - noRegexTable[SyntaxKind.MinusMinusToken] = true; - noRegexTable[SyntaxKind.CloseParenToken] = true; - noRegexTable[SyntaxKind.CloseBracketToken] = true; - noRegexTable[SyntaxKind.CloseBraceToken] = true; - noRegexTable[SyntaxKind.TrueKeyword] = true; - noRegexTable[SyntaxKind.FalseKeyword] = true; - - // Just a stack of TemplateHeads and OpenCurlyBraces, used to perform rudimentary (inexact) - // classification on template strings. Because of the context free nature of templates, - // the only precise way to classify a template portion would be by propagating the stack across - // lines, just as we do with the end-of-line state. However, this is a burden for implementers, - // and the behavior is entirely subsumed by the syntactic classifier anyway, so we instead - // flatten any nesting when the template stack is non-empty and encode it in the end-of-line state. - // Situations in which this fails are - // 1) When template strings are nested across different lines: - // `hello ${ `world - // ` }` - // - // Where on the second line, you will get the closing of a template, - // a closing curly, and a new template. - // - // 2) When substitution expressions have curly braces and the curly brace falls on the next line: - // `hello ${ () => { - // return "world" } } ` - // - // Where on the second line, you will get the 'return' keyword, - // a string literal, and a template end consisting of '} } `'. - const templateStack: SyntaxKind[] = []; - - /** Returns true if 'keyword2' can legally follow 'keyword1' in any language construct. */ - function canFollow(keyword1: SyntaxKind, keyword2: SyntaxKind) { - if (isAccessibilityModifier(keyword1)) { - if (keyword2 === SyntaxKind.GetKeyword || - keyword2 === SyntaxKind.SetKeyword || - keyword2 === SyntaxKind.ConstructorKeyword || - keyword2 === SyntaxKind.StaticKeyword) { - - // Allow things like "public get", "public constructor" and "public static". - // These are all legal. - return true; - } - - // Any other keyword following "public" is actually an identifier an not a real - // keyword. - return false; - } - - // Assume any other keyword combination is legal. This can be refined in the future - // if there are more cases we want the classifier to be better at. - return true; - } - - function convertClassifications(classifications: Classifications, text: string): ClassificationResult { - const entries: ClassificationInfo[] = []; - const dense = classifications.spans; - let lastEnd = 0; - - for (let i = 0, n = dense.length; i < n; i += 3) { - const start = dense[i]; - const length = dense[i + 1]; - const type = dense[i + 2]; - - // Make a whitespace entry between the last item and this one. - if (lastEnd >= 0) { - const whitespaceLength = start - lastEnd; - if (whitespaceLength > 0) { - entries.push({ length: whitespaceLength, classification: TokenClass.Whitespace }); - } - } - - entries.push({ length, classification: convertClassification(type) }); - lastEnd = start + length; - } - - const whitespaceLength = text.length - lastEnd; - if (whitespaceLength > 0) { - entries.push({ length: whitespaceLength, classification: TokenClass.Whitespace }); - } - - return { entries, finalLexState: classifications.endOfLineState }; - } - - function convertClassification(type: ClassificationType): TokenClass { - switch (type) { - case ClassificationType.comment: return TokenClass.Comment; - case ClassificationType.keyword: return TokenClass.Keyword; - case ClassificationType.numericLiteral: return TokenClass.NumberLiteral; - case ClassificationType.operator: return TokenClass.Operator; - case ClassificationType.stringLiteral: return TokenClass.StringLiteral; - case ClassificationType.whiteSpace: return TokenClass.Whitespace; - case ClassificationType.punctuation: return TokenClass.Punctuation; - case ClassificationType.identifier: - case ClassificationType.className: - case ClassificationType.enumName: - case ClassificationType.interfaceName: - case ClassificationType.moduleName: - case ClassificationType.typeParameterName: - case ClassificationType.typeAliasName: - case ClassificationType.text: - case ClassificationType.parameterName: - default: - return TokenClass.Identifier; - } - } - - function getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult { - return convertClassifications(getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent), text); - } - - // If there is a syntactic classifier ('syntacticClassifierAbsent' is false), - // we will be more conservative in order to avoid conflicting with the syntactic classifier. - function getEncodedLexicalClassifications(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications { - let offset = 0; - let token = SyntaxKind.Unknown; - let lastNonTriviaToken = SyntaxKind.Unknown; - - // Empty out the template stack for reuse. - while (templateStack.length > 0) { - templateStack.pop(); - } - - // If we're in a string literal, then prepend: "\ - // (and a newline). That way when we lex we'll think we're still in a string literal. - // - // If we're in a multiline comment, then prepend: /* - // (and a newline). That way when we lex we'll think we're still in a multiline comment. - switch (lexState) { - case EndOfLineState.InDoubleQuoteStringLiteral: - text = "\"\\\n" + text; - offset = 3; - break; - case EndOfLineState.InSingleQuoteStringLiteral: - text = "'\\\n" + text; - offset = 3; - break; - case EndOfLineState.InMultiLineCommentTrivia: - text = "/*\n" + text; - offset = 3; - break; - case EndOfLineState.InTemplateHeadOrNoSubstitutionTemplate: - text = "`\n" + text; - offset = 2; - break; - case EndOfLineState.InTemplateMiddleOrTail: - text = "}\n" + text; - offset = 2; - // fallthrough - case EndOfLineState.InTemplateSubstitutionPosition: - templateStack.push(SyntaxKind.TemplateHead); - break; - } - - scanner.setText(text); - - const result: Classifications = { - endOfLineState: EndOfLineState.None, - spans: [] - }; - - // We can run into an unfortunate interaction between the lexical and syntactic classifier - // when the user is typing something generic. Consider the case where the user types: - // - // Foo tokens. It's a weak heuristic, but should - // work well enough in practice. - let angleBracketStack = 0; - - do { - token = scanner.scan(); - - if (!isTrivia(token)) { - if ((token === SyntaxKind.SlashToken || token === SyntaxKind.SlashEqualsToken) && !noRegexTable[lastNonTriviaToken]) { - if (scanner.reScanSlashToken() === SyntaxKind.RegularExpressionLiteral) { - token = SyntaxKind.RegularExpressionLiteral; - } - } - else if (lastNonTriviaToken === SyntaxKind.DotToken && isKeyword(token)) { - token = SyntaxKind.Identifier; - } - else if (isKeyword(lastNonTriviaToken) && isKeyword(token) && !canFollow(lastNonTriviaToken, token)) { - // We have two keywords in a row. Only treat the second as a keyword if - // it's a sequence that could legally occur in the language. Otherwise - // treat it as an identifier. This way, if someone writes "private var" - // we recognize that 'var' is actually an identifier here. - token = SyntaxKind.Identifier; - } - else if (lastNonTriviaToken === SyntaxKind.Identifier && - token === SyntaxKind.LessThanToken) { - // Could be the start of something generic. Keep track of that by bumping - // up the current count of generic contexts we may be in. - angleBracketStack++; - } - else if (token === SyntaxKind.GreaterThanToken && angleBracketStack > 0) { - // If we think we're currently in something generic, then mark that that - // generic entity is complete. - angleBracketStack--; - } - else if (token === SyntaxKind.AnyKeyword || - token === SyntaxKind.StringKeyword || - token === SyntaxKind.NumberKeyword || - token === SyntaxKind.BooleanKeyword || - token === SyntaxKind.SymbolKeyword) { - if (angleBracketStack > 0 && !syntacticClassifierAbsent) { - // If it looks like we're could be in something generic, don't classify this - // as a keyword. We may just get overwritten by the syntactic classifier, - // causing a noisy experience for the user. - token = SyntaxKind.Identifier; - } - } - else if (token === SyntaxKind.TemplateHead) { - templateStack.push(token); - } - else if (token === SyntaxKind.OpenBraceToken) { - // If we don't have anything on the template stack, - // then we aren't trying to keep track of a previously scanned template head. - if (templateStack.length > 0) { - templateStack.push(token); - } - } - else if (token === SyntaxKind.CloseBraceToken) { - // If we don't have anything on the template stack, - // then we aren't trying to keep track of a previously scanned template head. - if (templateStack.length > 0) { - const lastTemplateStackToken = lastOrUndefined(templateStack); - - if (lastTemplateStackToken === SyntaxKind.TemplateHead) { - token = scanner.reScanTemplateToken(); - - // Only pop on a TemplateTail; a TemplateMiddle indicates there is more for us. - if (token === SyntaxKind.TemplateTail) { - templateStack.pop(); - } - else { - Debug.assert(token === SyntaxKind.TemplateMiddle, "Should have been a template middle. Was " + token); - } - } - else { - Debug.assert(lastTemplateStackToken === SyntaxKind.OpenBraceToken, "Should have been an open brace. Was: " + token); - templateStack.pop(); - } - } - } - - lastNonTriviaToken = token; - } - - processToken(); - } - while (token !== SyntaxKind.EndOfFileToken); - - return result; - - function processToken(): void { - const start = scanner.getTokenPos(); - const end = scanner.getTextPos(); - - addResult(start, end, classFromKind(token)); - - if (end >= text.length) { - if (token === SyntaxKind.StringLiteral || token === SyntaxKind.StringLiteralType) { - // Check to see if we finished up on a multiline string literal. - const tokenText = scanner.getTokenText(); - if (scanner.isUnterminated()) { - const lastCharIndex = tokenText.length - 1; - - let numBackslashes = 0; - while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === CharacterCodes.backslash) { - numBackslashes++; - } - - // If we have an odd number of backslashes, then the multiline string is unclosed - if (numBackslashes & 1) { - const quoteChar = tokenText.charCodeAt(0); - result.endOfLineState = quoteChar === CharacterCodes.doubleQuote - ? EndOfLineState.InDoubleQuoteStringLiteral - : EndOfLineState.InSingleQuoteStringLiteral; - } - } - } - else if (token === SyntaxKind.MultiLineCommentTrivia) { - // Check to see if the multiline comment was unclosed. - if (scanner.isUnterminated()) { - result.endOfLineState = EndOfLineState.InMultiLineCommentTrivia; - } - } - else if (isTemplateLiteralKind(token)) { - if (scanner.isUnterminated()) { - if (token === SyntaxKind.TemplateTail) { - result.endOfLineState = EndOfLineState.InTemplateMiddleOrTail; - } - else if (token === SyntaxKind.NoSubstitutionTemplateLiteral) { - result.endOfLineState = EndOfLineState.InTemplateHeadOrNoSubstitutionTemplate; - } - else { - Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" + token); - } - } - } - else if (templateStack.length > 0 && lastOrUndefined(templateStack) === SyntaxKind.TemplateHead) { - result.endOfLineState = EndOfLineState.InTemplateSubstitutionPosition; - } - } - } - - function addResult(start: number, end: number, classification: ClassificationType): void { - if (classification === ClassificationType.whiteSpace) { - // Don't bother with whitespace classifications. They're not needed. - return; - } - - if (start === 0 && offset > 0) { - // We're classifying the first token, and this was a case where we prepended - // text. We should consider the start of this token to be at the start of - // the original text. - start += offset; - } - - // All our tokens are in relation to the augmented text. Move them back to be - // relative to the original text. - start -= offset; - end -= offset; - const length = end - start; - - if (length > 0) { - result.spans.push(start); - result.spans.push(length); - result.spans.push(classification); - } - } - } - - function isBinaryExpressionOperatorToken(token: SyntaxKind): boolean { - switch (token) { - case SyntaxKind.AsteriskToken: - case SyntaxKind.SlashToken: - case SyntaxKind.PercentToken: - case SyntaxKind.PlusToken: - case SyntaxKind.MinusToken: - case SyntaxKind.LessThanLessThanToken: - case SyntaxKind.GreaterThanGreaterThanToken: - case SyntaxKind.GreaterThanGreaterThanGreaterThanToken: - case SyntaxKind.LessThanToken: - case SyntaxKind.GreaterThanToken: - case SyntaxKind.LessThanEqualsToken: - case SyntaxKind.GreaterThanEqualsToken: - case SyntaxKind.InstanceOfKeyword: - case SyntaxKind.InKeyword: - case SyntaxKind.AsKeyword: - case SyntaxKind.EqualsEqualsToken: - case SyntaxKind.ExclamationEqualsToken: - case SyntaxKind.EqualsEqualsEqualsToken: - case SyntaxKind.ExclamationEqualsEqualsToken: - case SyntaxKind.AmpersandToken: - case SyntaxKind.CaretToken: - case SyntaxKind.BarToken: - case SyntaxKind.AmpersandAmpersandToken: - case SyntaxKind.BarBarToken: - case SyntaxKind.BarEqualsToken: - case SyntaxKind.AmpersandEqualsToken: - case SyntaxKind.CaretEqualsToken: - case SyntaxKind.LessThanLessThanEqualsToken: - case SyntaxKind.GreaterThanGreaterThanEqualsToken: - case SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken: - case SyntaxKind.PlusEqualsToken: - case SyntaxKind.MinusEqualsToken: - case SyntaxKind.AsteriskEqualsToken: - case SyntaxKind.SlashEqualsToken: - case SyntaxKind.PercentEqualsToken: - case SyntaxKind.EqualsToken: - case SyntaxKind.CommaToken: - return true; - default: - return false; - } - } - - function isPrefixUnaryExpressionOperatorToken(token: SyntaxKind): boolean { - switch (token) { - case SyntaxKind.PlusToken: - case SyntaxKind.MinusToken: - case SyntaxKind.TildeToken: - case SyntaxKind.ExclamationToken: - case SyntaxKind.PlusPlusToken: - case SyntaxKind.MinusMinusToken: - return true; - default: - return false; - } - } - - function isKeyword(token: SyntaxKind): boolean { - return token >= SyntaxKind.FirstKeyword && token <= SyntaxKind.LastKeyword; - } - - function classFromKind(token: SyntaxKind): ClassificationType { - if (isKeyword(token)) { - return ClassificationType.keyword; - } - else if (isBinaryExpressionOperatorToken(token) || isPrefixUnaryExpressionOperatorToken(token)) { - return ClassificationType.operator; - } - else if (token >= SyntaxKind.FirstPunctuation && token <= SyntaxKind.LastPunctuation) { - return ClassificationType.punctuation; - } - - switch (token) { - case SyntaxKind.NumericLiteral: - return ClassificationType.numericLiteral; - case SyntaxKind.StringLiteral: - case SyntaxKind.StringLiteralType: - return ClassificationType.stringLiteral; - case SyntaxKind.RegularExpressionLiteral: - return ClassificationType.regularExpressionLiteral; - case SyntaxKind.ConflictMarkerTrivia: - case SyntaxKind.MultiLineCommentTrivia: - case SyntaxKind.SingleLineCommentTrivia: - return ClassificationType.comment; - case SyntaxKind.WhitespaceTrivia: - case SyntaxKind.NewLineTrivia: - return ClassificationType.whiteSpace; - case SyntaxKind.Identifier: - default: - if (isTemplateLiteralKind(token)) { - return ClassificationType.stringLiteral; - } - return ClassificationType.identifier; - } - } - - return { - getClassificationsForLine, - getEncodedLexicalClassifications - }; - } - /// getDefaultLibraryFilePath declare const __dirname: string; @@ -8819,15 +1873,7 @@ namespace ts { } function initializeServices() { - objectAllocator = { - getNodeConstructor: () => NodeObject, - getTokenConstructor: () => TokenObject, - getIdentifierConstructor: () => IdentifierObject, - getSourceFileConstructor: () => SourceFileObject, - getSymbolConstructor: () => SymbolObject, - getTypeConstructor: () => TypeObject, - getSignatureConstructor: () => SignatureObject, - }; + objectAllocator = getServicesObjectAllocator(); } initializeServices(); diff --git a/src/services/shims.ts b/src/services/shims.ts index 271d6f2d6e2..41b366e0857 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -67,13 +67,22 @@ namespace ts { getProjectVersion?(): string; useCaseSensitiveFileNames?(): boolean; + readDirectory(rootDir: string, extension: string, basePaths?: string, excludeEx?: string, includeFileEx?: string, includeDirEx?: string, depth?: number): string; + readFile(path: string, encoding?: string): string; + fileExists(path: string): boolean; + getModuleResolutionsForFile?(fileName: string): string; getTypeReferenceDirectiveResolutionsForFile?(fileName: string): string; directoryExists(directoryName: string): boolean; } - /** Public interface of the the of a config service shim instance.*/ - export interface CoreServicesShimHost extends Logger, ModuleResolutionHost { + /** Public interface of the core-services host instance used in managed side */ + export interface CoreServicesShimHost extends Logger { + directoryExists(directoryName: string): boolean; + fileExists(fileName: string): boolean; + getCurrentDirectory(): string; + getDirectories(path: string): string; + /** * Returns a JSON-encoded value of the type: string[] * @@ -81,9 +90,14 @@ namespace ts { * when enumerating the directory. */ readDirectory(rootDir: string, extension: string, basePaths?: string, excludeEx?: string, includeFileEx?: string, includeDirEx?: string, depth?: number): string; - useCaseSensitiveFileNames?(): boolean; - getCurrentDirectory(): string; + + /** + * Read arbitary text files on disk, i.e. when resolution procedure needs the content of 'package.json' to determine location of bundled typings for node modules + */ + readFile(fileName: string): string; + realpath?(path: string): string; trace(s: string): void; + useCaseSensitiveFileNames?(): boolean; } /// @@ -240,6 +254,7 @@ namespace ts { } export interface CoreServicesShim extends Shim { + getAutomaticTypeDirectiveNames(compilerOptionsJson: string): string; getPreProcessedFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getTSConfigFileInfo(fileName: string, sourceText: IScriptSnapshot): string; getDefaultCompilationSettings(): string; @@ -300,9 +315,9 @@ namespace ts { // 'in' does not have this effect. if ("getModuleResolutionsForFile" in this.shimHost) { this.resolveModuleNames = (moduleNames: string[], containingFile: string) => { - const resolutionsInFile = >JSON.parse(this.shimHost.getModuleResolutionsForFile(containingFile)); + const resolutionsInFile = >JSON.parse(this.shimHost.getModuleResolutionsForFile(containingFile)); return map(moduleNames, name => { - const result = lookUp(resolutionsInFile, name); + const result = getProperty(resolutionsInFile, name); return result ? { resolvedFileName: result } : undefined; }); }; @@ -312,8 +327,8 @@ namespace ts { } if ("getTypeReferenceDirectiveResolutionsForFile" in this.shimHost) { this.resolveTypeReferenceDirectives = (typeDirectiveNames: string[], containingFile: string) => { - const typeDirectivesForFile = >JSON.parse(this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); - return map(typeDirectiveNames, name => lookUp(typeDirectivesForFile, name)); + const typeDirectivesForFile = >JSON.parse(this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); + return map(typeDirectiveNames, name => getProperty(typeDirectivesForFile, name)); }; } } @@ -410,6 +425,28 @@ namespace ts { public getDefaultLibFileName(options: CompilerOptions): string { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); } + + public readDirectory(path: string, extensions?: string[], exclude?: string[], include?: string[], depth?: number): string[] { + const pattern = getFileMatcherPatterns(path, extensions, exclude, include, + this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory()); + return JSON.parse(this.shimHost.readDirectory( + path, + JSON.stringify(extensions), + JSON.stringify(pattern.basePaths), + pattern.excludePattern, + pattern.includeFilePattern, + pattern.includeDirectoryPattern, + depth + )); + } + + public readFile(path: string, encoding?: string): string { + return this.shimHost.readFile(path, encoding); + } + + public fileExists(path: string): boolean { + return this.shimHost.fileExists(path); + } } /** A cancellation that throttles calls to the host */ @@ -492,6 +529,10 @@ namespace ts { private readDirectoryFallback(rootDir: string, extension: string, exclude: string[]) { return JSON.parse(this.shimHost.readDirectory(rootDir, extension, JSON.stringify(exclude))); } + + public getDirectories(path: string): string[] { + return JSON.parse(this.shimHost.getDirectories(path)); + } } function simpleForwardCall(logger: Logger, actionDescription: string, action: () => any, logPerformance: boolean): any { @@ -1003,7 +1044,7 @@ namespace ts { public getPreProcessedFileInfo(fileName: string, sourceTextSnapshot: IScriptSnapshot): string { return this.forwardJSONCall( - "getPreProcessedFileInfo('" + fileName + "')", + `getPreProcessedFileInfo('${fileName}')`, () => { // for now treat files as JavaScript const result = preProcessFile(sourceTextSnapshot.getText(0, sourceTextSnapshot.getLength()), /* readImportFiles */ true, /* detectJavaScriptImports */ true); @@ -1017,6 +1058,16 @@ namespace ts { }); } + public getAutomaticTypeDirectiveNames(compilerOptionsJson: string): string { + return this.forwardJSONCall( + `getAutomaticTypeDirectiveNames('${compilerOptionsJson}')`, + () => { + const compilerOptions = JSON.parse(compilerOptionsJson); + return getAutomaticTypeDirectiveNames(compilerOptions, this.host); + } + ); + } + private convertFileReferences(refs: FileReference[]): IFileReference[] { if (!refs) { return undefined; @@ -1178,6 +1229,6 @@ namespace TypeScript.Services { // TODO: it should be moved into a namespace though. /* @internal */ -const toolsVersion = "1.9"; +const toolsVersion = "2.1"; /* tslint:enable:no-unused-variable */ diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts index 50378aa64b1..211e55b23ba 100644 --- a/src/services/signatureHelp.ts +++ b/src/services/signatureHelp.ts @@ -237,7 +237,7 @@ namespace ts.SignatureHelp { const typeChecker = program.getTypeChecker(); for (const sourceFile of program.getSourceFiles()) { const nameToDeclarations = sourceFile.getNamedDeclarations(); - const declarations = getProperty(nameToDeclarations, name.text); + const declarations = nameToDeclarations[name.text]; if (declarations) { for (const declaration of declarations) { diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts new file mode 100644 index 00000000000..8b4d986df53 --- /dev/null +++ b/src/services/symbolDisplay.ts @@ -0,0 +1,523 @@ +/* @internal */ +namespace ts.SymbolDisplay { + // TODO(drosen): use contextual SemanticMeaning. + export function getSymbolKind(typeChecker: TypeChecker, symbol: Symbol, location: Node): string { + const flags = symbol.getFlags(); + + if (flags & SymbolFlags.Class) return getDeclarationOfKind(symbol, SyntaxKind.ClassExpression) ? + ScriptElementKind.localClassElement : ScriptElementKind.classElement; + if (flags & SymbolFlags.Enum) return ScriptElementKind.enumElement; + if (flags & SymbolFlags.TypeAlias) return ScriptElementKind.typeElement; + if (flags & SymbolFlags.Interface) return ScriptElementKind.interfaceElement; + if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement; + + const result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, flags, location); + if (result === ScriptElementKind.unknown) { + if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement; + if (flags & SymbolFlags.EnumMember) return ScriptElementKind.variableElement; + if (flags & SymbolFlags.Alias) return ScriptElementKind.alias; + if (flags & SymbolFlags.Module) return ScriptElementKind.moduleElement; + } + + return result; + } + + function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker: TypeChecker, symbol: Symbol, flags: SymbolFlags, location: Node) { + if (typeChecker.isUndefinedSymbol(symbol)) { + return ScriptElementKind.variableElement; + } + if (typeChecker.isArgumentsSymbol(symbol)) { + return ScriptElementKind.localVariableElement; + } + if (location.kind === SyntaxKind.ThisKeyword && isExpression(location)) { + return ScriptElementKind.parameterElement; + } + if (flags & SymbolFlags.Variable) { + if (isFirstDeclarationOfSymbolParameter(symbol)) { + return ScriptElementKind.parameterElement; + } + else if (symbol.valueDeclaration && isConst(symbol.valueDeclaration)) { + return ScriptElementKind.constElement; + } + else if (forEach(symbol.declarations, isLet)) { + return ScriptElementKind.letElement; + } + return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localVariableElement : ScriptElementKind.variableElement; + } + if (flags & SymbolFlags.Function) return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localFunctionElement : ScriptElementKind.functionElement; + if (flags & SymbolFlags.GetAccessor) return ScriptElementKind.memberGetAccessorElement; + if (flags & SymbolFlags.SetAccessor) return ScriptElementKind.memberSetAccessorElement; + if (flags & SymbolFlags.Method) return ScriptElementKind.memberFunctionElement; + if (flags & SymbolFlags.Constructor) return ScriptElementKind.constructorImplementationElement; + + if (flags & SymbolFlags.Property) { + if (flags & SymbolFlags.SyntheticProperty) { + // If union property is result of union of non method (property/accessors/variables), it is labeled as property + const unionPropertyKind = forEach(typeChecker.getRootSymbols(symbol), rootSymbol => { + const rootSymbolFlags = rootSymbol.getFlags(); + if (rootSymbolFlags & (SymbolFlags.PropertyOrAccessor | SymbolFlags.Variable)) { + return ScriptElementKind.memberVariableElement; + } + Debug.assert(!!(rootSymbolFlags & SymbolFlags.Method)); + }); + if (!unionPropertyKind) { + // If this was union of all methods, + // make sure it has call signatures before we can label it as method + const typeOfUnionProperty = typeChecker.getTypeOfSymbolAtLocation(symbol, location); + if (typeOfUnionProperty.getCallSignatures().length) { + return ScriptElementKind.memberFunctionElement; + } + return ScriptElementKind.memberVariableElement; + } + return unionPropertyKind; + } + return ScriptElementKind.memberVariableElement; + } + + return ScriptElementKind.unknown; + } + + export function getSymbolModifiers(symbol: Symbol): string { + return symbol && symbol.declarations && symbol.declarations.length > 0 + ? getNodeModifiers(symbol.declarations[0]) + : ScriptElementKindModifier.none; + } + + // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location + export function getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker: TypeChecker, symbol: Symbol, sourceFile: SourceFile, enclosingDeclaration: Node, + location: Node, semanticMeaning = getMeaningFromLocation(location)) { + + const displayParts: SymbolDisplayPart[] = []; + let documentation: SymbolDisplayPart[]; + const symbolFlags = symbol.flags; + let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, symbolFlags, location); + let hasAddedSymbolInfo: boolean; + const isThisExpression = location.kind === SyntaxKind.ThisKeyword && isExpression(location); + let type: Type; + + // Class at constructor site need to be shown as constructor apart from property,method, vars + if (symbolKind !== ScriptElementKind.unknown || symbolFlags & SymbolFlags.Class || symbolFlags & SymbolFlags.Alias) { + // If it is accessor they are allowed only if location is at name of the accessor + if (symbolKind === ScriptElementKind.memberGetAccessorElement || symbolKind === ScriptElementKind.memberSetAccessorElement) { + symbolKind = ScriptElementKind.memberVariableElement; + } + + let signature: Signature; + type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); + if (type) { + if (location.parent && location.parent.kind === SyntaxKind.PropertyAccessExpression) { + const 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)) { + location = location.parent; + } + } + + // try get the call/construct signature from the type if it matches + let callExpression: CallExpression; + if (location.kind === SyntaxKind.CallExpression || location.kind === SyntaxKind.NewExpression) { + callExpression = location; + } + else if (isCallExpressionTarget(location) || isNewExpressionTarget(location)) { + callExpression = location.parent; + } + + if (callExpression) { + const candidateSignatures: Signature[] = []; + signature = typeChecker.getResolvedSignature(callExpression, candidateSignatures); + if (!signature && candidateSignatures.length) { + // Use the first candidate: + signature = candidateSignatures[0]; + } + + const useConstructSignatures = callExpression.kind === SyntaxKind.NewExpression || callExpression.expression.kind === SyntaxKind.SuperKeyword; + const allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); + + if (!contains(allSignatures, signature.target) && !contains(allSignatures, signature)) { + // Get the first signature if there is one -- allSignatures may contain + // either the original signature or its target, so check for either + signature = allSignatures.length ? allSignatures[0] : undefined; + } + + if (signature) { + if (useConstructSignatures && (symbolFlags & SymbolFlags.Class)) { + // Constructor + symbolKind = ScriptElementKind.constructorImplementationElement; + addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); + } + else if (symbolFlags & SymbolFlags.Alias) { + symbolKind = ScriptElementKind.alias; + pushTypePart(symbolKind); + displayParts.push(spacePart()); + if (useConstructSignatures) { + displayParts.push(keywordPart(SyntaxKind.NewKeyword)); + displayParts.push(spacePart()); + } + addFullSymbolName(symbol); + } + else { + addPrefixForAnyFunctionOrVar(symbol, symbolKind); + } + + switch (symbolKind) { + case ScriptElementKind.memberVariableElement: + case ScriptElementKind.variableElement: + case ScriptElementKind.constElement: + case ScriptElementKind.letElement: + case ScriptElementKind.parameterElement: + case ScriptElementKind.localVariableElement: + // If it is call or construct signature of lambda's write type name + displayParts.push(punctuationPart(SyntaxKind.ColonToken)); + displayParts.push(spacePart()); + if (useConstructSignatures) { + displayParts.push(keywordPart(SyntaxKind.NewKeyword)); + displayParts.push(spacePart()); + } + if (!(type.flags & TypeFlags.Anonymous) && type.symbol) { + addRange(displayParts, symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments)); + } + addSignatureDisplayParts(signature, allSignatures, TypeFormatFlags.WriteArrowStyleSignature); + break; + + default: + // Just signature + addSignatureDisplayParts(signature, allSignatures); + } + hasAddedSymbolInfo = true; + } + } + else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & SymbolFlags.Accessor)) || // name of function declaration + (location.kind === SyntaxKind.ConstructorKeyword && location.parent.kind === SyntaxKind.Constructor)) { // At constructor keyword of constructor declaration + // get the signature from the declaration and write it + const functionDeclaration = location.parent; + const allSignatures = functionDeclaration.kind === SyntaxKind.Constructor ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + if (!typeChecker.isImplementationOfOverload(functionDeclaration)) { + signature = typeChecker.getSignatureFromDeclaration(functionDeclaration); + } + else { + signature = allSignatures[0]; + } + + if (functionDeclaration.kind === SyntaxKind.Constructor) { + // show (constructor) Type(...) signature + symbolKind = ScriptElementKind.constructorImplementationElement; + addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); + } + else { + // (function/method) symbol(..signature) + addPrefixForAnyFunctionOrVar(functionDeclaration.kind === SyntaxKind.CallSignature && + !(type.symbol.flags & SymbolFlags.TypeLiteral || type.symbol.flags & SymbolFlags.ObjectLiteral) ? type.symbol : symbol, symbolKind); + } + + addSignatureDisplayParts(signature, allSignatures); + hasAddedSymbolInfo = true; + } + } + } + if (symbolFlags & SymbolFlags.Class && !hasAddedSymbolInfo && !isThisExpression) { + if (getDeclarationOfKind(symbol, SyntaxKind.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 + pushTypePart(ScriptElementKind.localClassElement); + } + else { + // Class declaration has name which is not local. + displayParts.push(keywordPart(SyntaxKind.ClassKeyword)); + } + displayParts.push(spacePart()); + addFullSymbolName(symbol); + writeTypeParametersOfSymbol(symbol, sourceFile); + } + if ((symbolFlags & SymbolFlags.Interface) && (semanticMeaning & SemanticMeaning.Type)) { + addNewLineIfDisplayPartsExist(); + displayParts.push(keywordPart(SyntaxKind.InterfaceKeyword)); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + writeTypeParametersOfSymbol(symbol, sourceFile); + } + if (symbolFlags & SymbolFlags.TypeAlias) { + addNewLineIfDisplayPartsExist(); + displayParts.push(keywordPart(SyntaxKind.TypeKeyword)); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + writeTypeParametersOfSymbol(symbol, sourceFile); + displayParts.push(spacePart()); + displayParts.push(operatorPart(SyntaxKind.EqualsToken)); + displayParts.push(spacePart()); + addRange(displayParts, typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, TypeFormatFlags.InTypeAlias)); + } + if (symbolFlags & SymbolFlags.Enum) { + addNewLineIfDisplayPartsExist(); + if (forEach(symbol.declarations, isConstEnumDeclaration)) { + displayParts.push(keywordPart(SyntaxKind.ConstKeyword)); + displayParts.push(spacePart()); + } + displayParts.push(keywordPart(SyntaxKind.EnumKeyword)); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + } + if (symbolFlags & SymbolFlags.Module) { + addNewLineIfDisplayPartsExist(); + const declaration = getDeclarationOfKind(symbol, SyntaxKind.ModuleDeclaration); + const isNamespace = declaration && declaration.name && declaration.name.kind === SyntaxKind.Identifier; + displayParts.push(keywordPart(isNamespace ? SyntaxKind.NamespaceKeyword : SyntaxKind.ModuleKeyword)); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + } + if ((symbolFlags & SymbolFlags.TypeParameter) && (semanticMeaning & SemanticMeaning.Type)) { + addNewLineIfDisplayPartsExist(); + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textPart("type parameter")); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + displayParts.push(spacePart()); + displayParts.push(keywordPart(SyntaxKind.InKeyword)); + displayParts.push(spacePart()); + if (symbol.parent) { + // Class/Interface type parameter + addFullSymbolName(symbol.parent, enclosingDeclaration); + writeTypeParametersOfSymbol(symbol.parent, enclosingDeclaration); + } + else { + // Method/function type parameter + let declaration = getDeclarationOfKind(symbol, SyntaxKind.TypeParameter); + Debug.assert(declaration !== undefined); + declaration = declaration.parent; + + if (declaration) { + if (isFunctionLikeKind(declaration.kind)) { + const signature = typeChecker.getSignatureFromDeclaration(declaration); + if (declaration.kind === SyntaxKind.ConstructSignature) { + displayParts.push(keywordPart(SyntaxKind.NewKeyword)); + displayParts.push(spacePart()); + } + else if (declaration.kind !== SyntaxKind.CallSignature && (declaration).name) { + addFullSymbolName(declaration.symbol); + } + addRange(displayParts, signatureToDisplayParts(typeChecker, signature, sourceFile, TypeFormatFlags.WriteTypeArgumentsOfSignature)); + } + else { + // Type alias type parameter + // For example + // type list = T[]; // Both T will go through same code path + displayParts.push(keywordPart(SyntaxKind.TypeKeyword)); + displayParts.push(spacePart()); + addFullSymbolName(declaration.symbol); + writeTypeParametersOfSymbol(declaration.symbol, sourceFile); + } + } + } + } + if (symbolFlags & SymbolFlags.EnumMember) { + addPrefixForAnyFunctionOrVar(symbol, "enum member"); + const declaration = symbol.declarations[0]; + if (declaration.kind === SyntaxKind.EnumMember) { + const constantValue = typeChecker.getConstantValue(declaration); + if (constantValue !== undefined) { + displayParts.push(spacePart()); + displayParts.push(operatorPart(SyntaxKind.EqualsToken)); + displayParts.push(spacePart()); + displayParts.push(displayPart(constantValue.toString(), SymbolDisplayPartKind.numericLiteral)); + } + } + } + if (symbolFlags & SymbolFlags.Alias) { + addNewLineIfDisplayPartsExist(); + if (symbol.declarations[0].kind === SyntaxKind.NamespaceExportDeclaration) { + displayParts.push(keywordPart(SyntaxKind.ExportKeyword)); + displayParts.push(spacePart()); + displayParts.push(keywordPart(SyntaxKind.NamespaceKeyword)); + } + else { + displayParts.push(keywordPart(SyntaxKind.ImportKeyword)); + } + displayParts.push(spacePart()); + addFullSymbolName(symbol); + ts.forEach(symbol.declarations, declaration => { + if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { + const importEqualsDeclaration = declaration; + if (isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { + displayParts.push(spacePart()); + displayParts.push(operatorPart(SyntaxKind.EqualsToken)); + displayParts.push(spacePart()); + displayParts.push(keywordPart(SyntaxKind.RequireKeyword)); + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(displayPart(getTextOfNode(getExternalModuleImportEqualsDeclarationExpression(importEqualsDeclaration)), SymbolDisplayPartKind.stringLiteral)); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + } + else { + const internalAliasSymbol = typeChecker.getSymbolAtLocation(importEqualsDeclaration.moduleReference); + if (internalAliasSymbol) { + displayParts.push(spacePart()); + displayParts.push(operatorPart(SyntaxKind.EqualsToken)); + displayParts.push(spacePart()); + addFullSymbolName(internalAliasSymbol, enclosingDeclaration); + } + } + return true; + } + }); + } + if (!hasAddedSymbolInfo) { + if (symbolKind !== ScriptElementKind.unknown) { + if (type) { + if (isThisExpression) { + addNewLineIfDisplayPartsExist(); + displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); + } + else { + addPrefixForAnyFunctionOrVar(symbol, symbolKind); + } + + // For properties, variables and local vars: show the type + if (symbolKind === ScriptElementKind.memberVariableElement || + symbolFlags & SymbolFlags.Variable || + symbolKind === ScriptElementKind.localVariableElement || + isThisExpression) { + displayParts.push(punctuationPart(SyntaxKind.ColonToken)); + displayParts.push(spacePart()); + // If the type is type parameter, format it specially + if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter) { + const typeParameterParts = mapToDisplayParts(writer => { + typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplay(type, writer, enclosingDeclaration); + }); + addRange(displayParts, typeParameterParts); + } + else { + addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); + } + } + else if (symbolFlags & SymbolFlags.Function || + symbolFlags & SymbolFlags.Method || + symbolFlags & SymbolFlags.Constructor || + symbolFlags & SymbolFlags.Signature || + symbolFlags & SymbolFlags.Accessor || + symbolKind === ScriptElementKind.memberFunctionElement) { + const allSignatures = type.getNonNullableType().getCallSignatures(); + addSignatureDisplayParts(allSignatures[0], allSignatures); + } + } + } + else { + symbolKind = getSymbolKind(typeChecker, symbol, location); + } + } + + if (!documentation) { + documentation = symbol.getDocumentationComment(); + if (documentation.length === 0 && symbol.flags & SymbolFlags.Property) { + // For some special property access expressions like `experts.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 && forEach(symbol.parent.declarations, declaration => declaration.kind === SyntaxKind.SourceFile)) { + for (const declaration of symbol.declarations) { + if (!declaration.parent || declaration.parent.kind !== SyntaxKind.BinaryExpression) { + continue; + } + + const rhsSymbol = typeChecker.getSymbolAtLocation((declaration.parent).right); + if (!rhsSymbol) { + continue; + } + + documentation = rhsSymbol.getDocumentationComment(); + if (documentation.length > 0) { + break; + } + } + } + } + } + + return { displayParts, documentation, symbolKind }; + + function addNewLineIfDisplayPartsExist() { + if (displayParts.length) { + displayParts.push(lineBreakPart()); + } + } + + function addFullSymbolName(symbol: Symbol, enclosingDeclaration?: Node) { + const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration || sourceFile, /*meaning*/ undefined, + SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing); + addRange(displayParts, fullSymbolDisplayParts); + } + + function addPrefixForAnyFunctionOrVar(symbol: Symbol, symbolKind: string) { + addNewLineIfDisplayPartsExist(); + if (symbolKind) { + pushTypePart(symbolKind); + displayParts.push(spacePart()); + addFullSymbolName(symbol); + } + } + + function pushTypePart(symbolKind: string) { + switch (symbolKind) { + case ScriptElementKind.variableElement: + case ScriptElementKind.functionElement: + case ScriptElementKind.letElement: + case ScriptElementKind.constElement: + case ScriptElementKind.constructorImplementationElement: + displayParts.push(textOrKeywordPart(symbolKind)); + return; + default: + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textOrKeywordPart(symbolKind)); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + return; + } + } + + function addSignatureDisplayParts(signature: Signature, allSignatures: Signature[], flags?: TypeFormatFlags) { + addRange(displayParts, signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | TypeFormatFlags.WriteTypeArgumentsOfSignature)); + if (allSignatures.length > 1) { + displayParts.push(spacePart()); + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(operatorPart(SyntaxKind.PlusToken)); + displayParts.push(displayPart((allSignatures.length - 1).toString(), SymbolDisplayPartKind.numericLiteral)); + displayParts.push(spacePart()); + displayParts.push(textPart(allSignatures.length === 2 ? "overload" : "overloads")); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + } + documentation = signature.getDocumentationComment(); + } + + function writeTypeParametersOfSymbol(symbol: Symbol, enclosingDeclaration: Node) { + const typeParameterParts = mapToDisplayParts(writer => { + typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(symbol, writer, enclosingDeclaration); + }); + addRange(displayParts, typeParameterParts); + } + } + + function isLocalVariableOrFunction(symbol: Symbol) { + if (symbol.parent) { + return false; // This is exported symbol + } + + return ts.forEach(symbol.declarations, declaration => { + // Function expressions are local + if (declaration.kind === SyntaxKind.FunctionExpression) { + return true; + } + + if (declaration.kind !== SyntaxKind.VariableDeclaration && declaration.kind !== SyntaxKind.FunctionDeclaration) { + return false; + } + + // If the parent is not sourceFile or module block it is local variable + for (let parent = declaration.parent; !isFunctionBlock(parent); parent = parent.parent) { + // Reached source file or module block + if (parent.kind === SyntaxKind.SourceFile || parent.kind === SyntaxKind.ModuleBlock) { + return false; + } + } + + // parent is in function block + return true; + }); + } +} diff --git a/src/services/transpile.ts b/src/services/transpile.ts new file mode 100644 index 00000000000..303ca0d4173 --- /dev/null +++ b/src/services/transpile.ts @@ -0,0 +1,154 @@ +namespace ts { + export interface TranspileOptions { + compilerOptions?: CompilerOptions; + fileName?: string; + reportDiagnostics?: boolean; + moduleName?: string; + renamedDependencies?: MapLike; + } + + export interface TranspileOutput { + outputText: string; + diagnostics?: Diagnostic[]; + sourceMapText?: string; + } + + /* + * This function will compile source text from 'input' argument using specified compiler options. + * If not options are provided - it will use a set of default compiler options. + * Extra compiler options that will unconditionally be used by this function are: + * - isolatedModules = true + * - allowNonTsExtensions = true + * - noLib = true + * - noResolve = true + */ + export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput { + const diagnostics: Diagnostic[] = []; + + const options: CompilerOptions = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : getDefaultCompilerOptions(); + + options.isolatedModules = true; + + // transpileModule does not write anything to disk so there is no need to verify that there are no conflicts between input and output paths. + options.suppressOutputPathCheck = true; + + // Filename can be non-ts file. + options.allowNonTsExtensions = true; + + // We are not returning a sourceFile for lib file when asked by the program, + // so pass --noLib to avoid reporting a file not found error. + options.noLib = true; + + // Clear out other settings that would not be used in transpiling this module + options.lib = undefined; + options.types = undefined; + options.noEmit = undefined; + options.noEmitOnError = undefined; + options.paths = undefined; + options.rootDirs = undefined; + options.declaration = undefined; + options.declarationDir = undefined; + options.out = undefined; + options.outFile = undefined; + + // We are not doing a full typecheck, we are not resolving the whole context, + // so pass --noResolve to avoid reporting missing file errors. + options.noResolve = true; + + // if jsx is specified then treat file as .tsx + const inputFileName = transpileOptions.fileName || (options.jsx ? "module.tsx" : "module.ts"); + const sourceFile = createSourceFile(inputFileName, input, options.target); + if (transpileOptions.moduleName) { + sourceFile.moduleName = transpileOptions.moduleName; + } + + if (transpileOptions.renamedDependencies) { + sourceFile.renamedDependencies = createMap(transpileOptions.renamedDependencies); + } + + const newLine = getNewLineCharacter(options); + + // Output + let outputText: string; + let sourceMapText: string; + + // Create a compilerHost object to allow the compiler to read and write files + const compilerHost: CompilerHost = { + getSourceFile: (fileName, target) => fileName === normalizePath(inputFileName) ? sourceFile : undefined, + writeFile: (name, text, writeByteOrderMark) => { + if (fileExtensionIs(name, ".map")) { + Debug.assert(sourceMapText === undefined, `Unexpected multiple source map outputs for the file '${name}'`); + sourceMapText = text; + } + else { + Debug.assert(outputText === undefined, `Unexpected multiple outputs for the file: '${name}'`); + outputText = text; + } + }, + getDefaultLibFileName: () => "lib.d.ts", + useCaseSensitiveFileNames: () => false, + getCanonicalFileName: fileName => fileName, + getCurrentDirectory: () => "", + getNewLine: () => newLine, + fileExists: (fileName): boolean => fileName === inputFileName, + readFile: (fileName): string => "", + directoryExists: directoryExists => true, + getDirectories: (path: string) => [] + }; + + const program = createProgram([inputFileName], options, compilerHost); + + if (transpileOptions.reportDiagnostics) { + addRange(/*to*/ diagnostics, /*from*/ program.getSyntacticDiagnostics(sourceFile)); + addRange(/*to*/ diagnostics, /*from*/ program.getOptionsDiagnostics()); + } + // Emit + program.emit(); + + Debug.assert(outputText !== undefined, "Output generation failed"); + + return { outputText, diagnostics, sourceMapText }; + } + + /* + * This is a shortcut function for transpileModule - it accepts transpileOptions as parameters and returns only outputText part of the result. + */ + export function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string { + const output = transpileModule(input, { compilerOptions, fileName, reportDiagnostics: !!diagnostics, moduleName }); + // addRange correctly handles cases when wither 'from' or 'to' argument is missing + addRange(diagnostics, output.diagnostics); + return output.outputText; + } + + let commandLineOptionsStringToEnum: CommandLineOptionOfCustomType[]; + + /** JS users may pass in string values for enum compiler options (such as ModuleKind), so convert. */ + function fixupCompilerOptions(options: CompilerOptions, diagnostics: Diagnostic[]): CompilerOptions { + // Lazily create this value to fix module loading errors. + commandLineOptionsStringToEnum = commandLineOptionsStringToEnum || filter(optionDeclarations, o => + typeof o.type === "object" && !forEachProperty(o.type, v => typeof v !== "number")); + + options = clone(options); + + for (const opt of commandLineOptionsStringToEnum) { + if (!hasProperty(options, opt.name)) { + continue; + } + + const value = options[opt.name]; + // Value should be a key of opt.type + if (typeof value === "string") { + // If value is not a string, this will fail + options[opt.name] = parseCustomTypeOption(opt, value, diagnostics); + } + else { + if (!forEachProperty(opt.type, v => v === value)) { + // Supplied value isn't a valid enum value. + diagnostics.push(createCompilerDiagnosticForInvalidCustomType(opt)); + } + } + } + + return options; + } +} diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index cfeb7c2fcd5..59fd0048c82 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -21,22 +21,47 @@ "../compiler/utilities.ts", "../compiler/binder.ts", "../compiler/checker.ts", + "../compiler/factory.ts", + "../compiler/visitor.ts", + "../compiler/transformers/ts.ts", + "../compiler/transformers/jsx.ts", + "../compiler/transformers/es7.ts", + "../compiler/transformers/es6.ts", + "../compiler/transformers/generators.ts", + "../compiler/transformers/destructuring.ts", + "../compiler/transformers/module/module.ts", + "../compiler/transformers/module/system.ts", + "../compiler/transformers/module/es6.ts", + "../compiler/transformer.ts", + "../compiler/comments.ts", "../compiler/sourcemap.ts", "../compiler/declarationEmitter.ts", "../compiler/emitter.ts", "../compiler/program.ts", "../compiler/commandLineParser.ts", "../compiler/diagnosticInformationMap.generated.ts", + "types.ts", + "utilities.ts", "breakpoints.ts", + "classifier.ts", + "completions.ts", + "documentHighlights.ts", + "documentRegistry.ts", + "findAllReferences.ts", + "goToDefinition.ts", + "jsDoc.ts", + "jsTyping.ts", "navigateTo.ts", "navigationBar.ts", "outliningElementsCollector.ts", "patternMatcher.ts", + "preProcess.ts", + "rename.ts", "services.ts", + "transpile.ts", "shims.ts", "signatureHelp.ts", - "utilities.ts", - "jsTyping.ts", + "symbolDisplay.ts", "formatting/formatting.ts", "formatting/formattingContext.ts", "formatting/formattingRequestKind.ts", diff --git a/src/services/types.ts b/src/services/types.ts new file mode 100644 index 00000000000..5b0635e706d --- /dev/null +++ b/src/services/types.ts @@ -0,0 +1,738 @@ +namespace ts { + export interface Node { + getSourceFile(): SourceFile; + getChildCount(sourceFile?: SourceFile): number; + getChildAt(index: number, sourceFile?: SourceFile): Node; + getChildren(sourceFile?: SourceFile): Node[]; + getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number; + getFullStart(): number; + getEnd(): number; + getWidth(sourceFile?: SourceFile): number; + getFullWidth(): number; + getLeadingTriviaWidth(sourceFile?: SourceFile): number; + getFullText(sourceFile?: SourceFile): string; + getText(sourceFile?: SourceFile): string; + getFirstToken(sourceFile?: SourceFile): Node; + getLastToken(sourceFile?: SourceFile): Node; + } + + export interface Symbol { + getFlags(): SymbolFlags; + getName(): string; + getDeclarations(): Declaration[]; + getDocumentationComment(): SymbolDisplayPart[]; + } + + export interface Type { + getFlags(): TypeFlags; + getSymbol(): Symbol; + getProperties(): Symbol[]; + getProperty(propertyName: string): Symbol; + getApparentProperties(): Symbol[]; + getCallSignatures(): Signature[]; + getConstructSignatures(): Signature[]; + getStringIndexType(): Type; + getNumberIndexType(): Type; + getBaseTypes(): ObjectType[]; + getNonNullableType(): Type; + } + + export interface Signature { + getDeclaration(): SignatureDeclaration; + getTypeParameters(): Type[]; + getParameters(): Symbol[]; + getReturnType(): Type; + getDocumentationComment(): SymbolDisplayPart[]; + } + + export interface SourceFile { + /* @internal */ version: string; + /* @internal */ scriptSnapshot: IScriptSnapshot; + /* @internal */ nameTable: Map; + + /* @internal */ getNamedDeclarations(): Map; + + getLineAndCharacterOfPosition(pos: number): LineAndCharacter; + getLineStarts(): number[]; + getPositionOfLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; + } + + /** + * Represents an immutable snapshot of a script at a specified time.Once acquired, the + * snapshot is observably immutable. i.e. the same calls with the same parameters will return + * the same values. + */ + export interface IScriptSnapshot { + /** Gets a portion of the script snapshot specified by [start, end). */ + getText(start: number, end: number): string; + + /** Gets the length of this script snapshot. */ + getLength(): number; + + /** + * Gets the TextChangeRange that describe how the text changed between this text and + * an older version. This information is used by the incremental parser to determine + * what sections of the script need to be re-parsed. 'undefined' can be returned if the + * change range cannot be determined. However, in that case, incremental parsing will + * not happen and the entire document will be re - parsed. + */ + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; + + /** Releases all resources held by this script snapshot */ + dispose?(): void; + } + + export namespace ScriptSnapshot { + class StringScriptSnapshot implements IScriptSnapshot { + + constructor(private text: string) { + } + + public getText(start: number, end: number): string { + return this.text.substring(start, end); + } + + public getLength(): number { + return this.text.length; + } + + public getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange { + // Text-based snapshots do not support incremental parsing. Return undefined + // to signal that to the caller. + return undefined; + } + } + + export function fromString(text: string): IScriptSnapshot { + return new StringScriptSnapshot(text); + } + } + export interface PreProcessedFileInfo { + referencedFiles: FileReference[]; + typeReferenceDirectives: FileReference[]; + importedFiles: FileReference[]; + ambientExternalModules: string[]; + isLibFile: boolean; + } + + export interface HostCancellationToken { + isCancellationRequested(): boolean; + } + + // + // Public interface of the host of a language service instance. + // + export interface LanguageServiceHost { + getCompilationSettings(): CompilerOptions; + getNewLine?(): string; + getProjectVersion?(): string; + getScriptFileNames(): string[]; + getScriptKind?(fileName: string): ScriptKind; + getScriptVersion(fileName: string): string; + getScriptSnapshot(fileName: string): IScriptSnapshot | undefined; + getLocalizedDiagnosticMessages?(): any; + getCancellationToken?(): HostCancellationToken; + getCurrentDirectory(): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; + useCaseSensitiveFileNames?(): boolean; + + /* + * LS host can optionally implement these methods to support completions for module specifiers. + * Without these methods, only completions for ambient modules will be provided. + */ + readDirectory?(path: string, extensions?: string[], exclude?: string[], include?: string[]): string[]; + readFile?(path: string, encoding?: string): string; + fileExists?(path: string): boolean; + + /* + * LS host can optionally implement this method if it wants to be completely in charge of module name resolution. + * if implementation is omitted then language service will use built-in module resolution logic and get answers to + * host specific questions using 'getScriptSnapshot'. + */ + resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[]; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[]; + directoryExists?(directoryName: string): boolean; + + /* + * getDirectories is also required for full import and type reference completions. Without it defined, certain + * completions will not be provided + */ + getDirectories?(directoryName: string): string[]; + } + + // + // Public services of a language service instance associated + // with a language service host instance + // + export interface LanguageService { + cleanupSemanticCache(): void; + + getSyntacticDiagnostics(fileName: string): Diagnostic[]; + getSemanticDiagnostics(fileName: string): Diagnostic[]; + + // TODO: Rename this to getProgramDiagnostics to better indicate that these are any + // diagnostics present for the program level, and not just 'options' diagnostics. + getCompilerOptionsDiagnostics(): Diagnostic[]; + + /** + * @deprecated Use getEncodedSyntacticClassifications instead. + */ + getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + + /** + * @deprecated Use getEncodedSemanticClassifications instead. + */ + getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[]; + + // Encoded as triples of [start, length, ClassificationType]. + getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications; + getEncodedSemanticClassifications(fileName: string, span: TextSpan): Classifications; + + getCompletionsAtPosition(fileName: string, position: number): CompletionInfo; + getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails; + getCompletionEntrySymbol(fileName: string, position: number, entryName: string): 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; + + getRenameInfo(fileName: string, position: number): RenameInfo; + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[]; + + getDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; + getTypeDefinitionAtPosition(fileName: string, position: number): DefinitionInfo[]; + + getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + findReferences(fileName: string, position: number): ReferencedSymbol[]; + getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[]; + + /** @deprecated */ + getOccurrencesAtPosition(fileName: string, position: number): ReferenceEntry[]; + + getNavigateToItems(searchValue: string, maxResultCount?: number): NavigateToItem[]; + getNavigationBarItems(fileName: string): NavigationBarItem[]; + + getOutliningSpans(fileName: string): OutliningSpan[]; + getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[]; + getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[]; + getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; + + getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions): TextChange[]; + getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; + + getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion; + + isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean; + + getEmitOutput(fileName: string): EmitOutput; + + getProgram(): Program; + + /* @internal */ getNonBoundSourceFile(fileName: string): SourceFile; + + dispose(): void; + } + + export interface Classifications { + spans: number[]; + endOfLineState: EndOfLineState; + } + + export interface ClassifiedSpan { + textSpan: TextSpan; + classificationType: string; // ClassificationTypeNames + } + + export interface NavigationBarItem { + text: string; + kind: string; + kindModifiers: string; + spans: TextSpan[]; + childItems: NavigationBarItem[]; + indent: number; + bolded: boolean; + grayed: boolean; + } + + export interface TodoCommentDescriptor { + text: string; + priority: number; + } + + export interface TodoComment { + descriptor: TodoCommentDescriptor; + message: string; + position: number; + } + + export class TextChange { + span: TextSpan; + newText: string; + } + + export interface TextInsertion { + newText: string; + /** The position in newText the caret should point to after the insertion. */ + caretOffset: number; + } + + export interface RenameLocation { + textSpan: TextSpan; + fileName: string; + } + + export interface ReferenceEntry { + textSpan: TextSpan; + fileName: string; + isWriteAccess: boolean; + isDefinition: boolean; + } + + export interface DocumentHighlights { + fileName: string; + highlightSpans: HighlightSpan[]; + } + + export namespace HighlightSpanKind { + export const none = "none"; + export const definition = "definition"; + export const reference = "reference"; + export const writtenReference = "writtenReference"; + } + + export interface HighlightSpan { + fileName?: string; + textSpan: TextSpan; + kind: string; + } + + export interface NavigateToItem { + name: string; + kind: string; + kindModifiers: string; + matchKind: string; + isCaseSensitive: boolean; + fileName: string; + textSpan: TextSpan; + containerName: string; + containerKind: string; + } + + export interface EditorOptions { + BaseIndentSize?: number; + IndentSize: number; + TabSize: number; + NewLineCharacter: string; + ConvertTabsToSpaces: boolean; + IndentStyle: IndentStyle; + } + + export enum IndentStyle { + None = 0, + Block = 1, + Smart = 2, + } + + export interface FormatCodeOptions extends EditorOptions { + InsertSpaceAfterCommaDelimiter: boolean; + InsertSpaceAfterSemicolonInForStatements: boolean; + InsertSpaceBeforeAndAfterBinaryOperators: boolean; + InsertSpaceAfterKeywordsInControlFlowStatements: boolean; + InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; + InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean; + InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; + InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean; + PlaceOpenBraceOnNewLineForFunctions: boolean; + PlaceOpenBraceOnNewLineForControlBlocks: boolean; + [s: string]: boolean | number | string | undefined; + } + + export interface DefinitionInfo { + fileName: string; + textSpan: TextSpan; + kind: string; + name: string; + containerKind: string; + containerName: string; + } + + export interface ReferencedSymbolDefinitionInfo extends DefinitionInfo { + displayParts: SymbolDisplayPart[]; + } + + export interface ReferencedSymbol { + definition: ReferencedSymbolDefinitionInfo; + references: ReferenceEntry[]; + } + + export enum SymbolDisplayPartKind { + aliasName, + className, + enumName, + fieldName, + interfaceName, + keyword, + lineBreak, + numericLiteral, + stringLiteral, + localName, + methodName, + moduleName, + operator, + parameterName, + propertyName, + punctuation, + space, + text, + typeParameterName, + enumMemberName, + functionName, + regularExpressionLiteral, + } + + export interface SymbolDisplayPart { + text: string; + kind: string; + } + + export interface QuickInfo { + kind: string; + kindModifiers: string; + textSpan: TextSpan; + displayParts: SymbolDisplayPart[]; + documentation: SymbolDisplayPart[]; + } + + export interface RenameInfo { + canRename: boolean; + localizedErrorMessage: string; + displayName: string; + fullDisplayName: string; + kind: string; + kindModifiers: string; + triggerSpan: TextSpan; + } + + export interface SignatureHelpParameter { + name: string; + documentation: SymbolDisplayPart[]; + displayParts: SymbolDisplayPart[]; + isOptional: boolean; + } + + /** + * Represents a single signature to show in signature help. + * The id is used for subsequent calls into the language service to ask questions about the + * signature help item in the context of any documents that have been updated. i.e. after + * an edit has happened, while signature help is still active, the host can ask important + * questions like 'what parameter is the user currently contained within?'. + */ + export interface SignatureHelpItem { + isVariadic: boolean; + prefixDisplayParts: SymbolDisplayPart[]; + suffixDisplayParts: SymbolDisplayPart[]; + separatorDisplayParts: SymbolDisplayPart[]; + parameters: SignatureHelpParameter[]; + documentation: SymbolDisplayPart[]; + } + + /** + * Represents a set of signature help items, and the preferred item that should be selected. + */ + export interface SignatureHelpItems { + items: SignatureHelpItem[]; + applicableSpan: TextSpan; + selectedItemIndex: number; + argumentIndex: number; + argumentCount: number; + } + + export interface CompletionInfo { + isMemberCompletion: boolean; + isNewIdentifierLocation: boolean; // true when the current location also allows for a new identifier + entries: CompletionEntry[]; + } + + export interface CompletionEntry { + name: string; + kind: string; // see ScriptElementKind + kindModifiers: string; // see ScriptElementKindModifier, comma separated + sortText: string; + /** + * An optional span that indicates the text to be replaced by this completion item. It will be + * set if the required span differs from the one generated by the default replacement behavior and should + * be used in that case + */ + replacementSpan?: TextSpan; + } + + export interface CompletionEntryDetails { + name: string; + kind: string; // see ScriptElementKind + kindModifiers: string; // see ScriptElementKindModifier, comma separated + displayParts: SymbolDisplayPart[]; + documentation: SymbolDisplayPart[]; + } + + export interface OutliningSpan { + /** The span of the document to actually collapse. */ + textSpan: TextSpan; + + /** The span of the document to display when the user hovers over the collapsed span. */ + hintSpan: TextSpan; + + /** The text to display in the editor for the collapsed region. */ + bannerText: string; + + /** + * Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + autoCollapse: boolean; + } + + export interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + + export const enum OutputFileType { + JavaScript, + SourceMap, + Declaration + } + + export interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } + + export const enum EndOfLineState { + None, + InMultiLineCommentTrivia, + InSingleQuoteStringLiteral, + InDoubleQuoteStringLiteral, + InTemplateHeadOrNoSubstitutionTemplate, + InTemplateMiddleOrTail, + InTemplateSubstitutionPosition, + } + + export enum TokenClass { + Punctuation, + Keyword, + Operator, + Comment, + Whitespace, + Identifier, + NumberLiteral, + StringLiteral, + RegExpLiteral, + } + + export interface ClassificationResult { + finalLexState: EndOfLineState; + entries: ClassificationInfo[]; + } + + export interface ClassificationInfo { + length: number; + classification: TokenClass; + } + + export interface Classifier { + /** + * Gives lexical classifications of tokens on a line without any syntactic context. + * For instance, a token consisting of the text 'string' can be either an identifier + * named 'string' or the keyword 'string', however, because this classifier is not aware, + * it relies on certain heuristics to give acceptable results. For classifications where + * speed trumps accuracy, this function is preferable; however, for true accuracy, the + * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the + * lexical, syntactic, and semantic classifiers may issue the best user experience. + * + * @param text The text of a line to classify. + * @param lexState The state of the lexical classifier at the end of the previous line. + * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier. + * If there is no syntactic classifier (syntacticClassifierAbsent=true), + * certain heuristics may be used in its place; however, if there is a + * syntactic classifier (syntacticClassifierAbsent=false), certain + * classifications which may be incorrectly categorized will be given + * back as Identifiers in order to allow the syntactic classifier to + * subsume the classification. + * @deprecated Use getLexicalClassifications instead. + */ + getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult; + getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications; + } + + // TODO: move these to enums + export namespace ScriptElementKind { + export const unknown = ""; + export const warning = "warning"; + + /** predefined type (void) or keyword (class) */ + export const keyword = "keyword"; + + /** top level script node */ + export const scriptElement = "script"; + + /** module foo {} */ + export const moduleElement = "module"; + + /** class X {} */ + export const classElement = "class"; + + /** var x = class X {} */ + export const localClassElement = "local class"; + + /** interface Y {} */ + export const interfaceElement = "interface"; + + /** type T = ... */ + export const typeElement = "type"; + + /** enum E */ + export const enumElement = "enum"; + // TODO: GH#9983 + export const enumMemberElement = "const"; + + /** + * Inside module and script only + * const v = .. + */ + export const variableElement = "var"; + + /** Inside function */ + export const localVariableElement = "local var"; + + /** + * Inside module and script only + * function f() { } + */ + export const functionElement = "function"; + + /** Inside function */ + export const localFunctionElement = "local function"; + + /** class X { [public|private]* foo() {} } */ + export const memberFunctionElement = "method"; + + /** class X { [public|private]* [get|set] foo:number; } */ + export const memberGetAccessorElement = "getter"; + export const memberSetAccessorElement = "setter"; + + /** + * class X { [public|private]* foo:number; } + * interface Y { foo:number; } + */ + export const memberVariableElement = "property"; + + /** class X { constructor() { } } */ + export const constructorImplementationElement = "constructor"; + + /** interface Y { ():number; } */ + export const callSignatureElement = "call"; + + /** interface Y { []:number; } */ + export const indexSignatureElement = "index"; + + /** interface Y { new():Y; } */ + export const constructSignatureElement = "construct"; + + /** function foo(*Y*: string) */ + export const parameterElement = "parameter"; + + export const typeParameterElement = "type parameter"; + + export const primitiveType = "primitive type"; + + export const label = "label"; + + export const alias = "alias"; + + export const constElement = "const"; + + export const letElement = "let"; + + export const directory = "directory"; + + export const externalModuleName = "external module name"; + } + + export namespace ScriptElementKindModifier { + export const none = ""; + export const publicMemberModifier = "public"; + export const privateMemberModifier = "private"; + export const protectedMemberModifier = "protected"; + export const exportedModifier = "export"; + export const ambientModifier = "declare"; + export const staticModifier = "static"; + export const abstractModifier = "abstract"; + } + + export class ClassificationTypeNames { + public static comment = "comment"; + public static identifier = "identifier"; + public static keyword = "keyword"; + public static numericLiteral = "number"; + public static operator = "operator"; + public static stringLiteral = "string"; + public static whiteSpace = "whitespace"; + public static text = "text"; + + public static punctuation = "punctuation"; + + public static className = "class name"; + public static enumName = "enum name"; + public static interfaceName = "interface name"; + public static moduleName = "module name"; + public static typeParameterName = "type parameter name"; + public static typeAliasName = "type alias name"; + public static parameterName = "parameter name"; + public static docCommentTagName = "doc comment tag name"; + public static jsxOpenTagName = "jsx open tag name"; + public static jsxCloseTagName = "jsx close tag name"; + public static jsxSelfClosingTagName = "jsx self closing tag name"; + public static jsxAttribute = "jsx attribute"; + public static jsxText = "jsx text"; + public static jsxAttributeStringLiteralValue = "jsx attribute string literal value"; + } + + export const enum ClassificationType { + comment = 1, + identifier = 2, + keyword = 3, + numericLiteral = 4, + operator = 5, + stringLiteral = 6, + regularExpressionLiteral = 7, + whiteSpace = 8, + text = 9, + punctuation = 10, + className = 11, + enumName = 12, + interfaceName = 13, + moduleName = 14, + typeParameterName = 15, + typeAliasName = 16, + parameterName = 17, + docCommentTagName = 18, + jsxOpenTagName = 19, + jsxCloseTagName = 20, + jsxSelfClosingTagName = 21, + jsxAttribute = 22, + jsxText = 23, + jsxAttributeStringLiteralValue = 24, + } +} diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 0c4c0fd1dea..ba419e4fec0 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -1,6 +1,390 @@ // These utilities are common to multiple language service features. /* @internal */ namespace ts { + export const scanner: Scanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ true); + export const emptyArray: any[] = []; + + export const enum SemanticMeaning { + None = 0x0, + Value = 0x1, + Type = 0x2, + Namespace = 0x4, + All = Value | Type | Namespace + } + + export function getMeaningFromDeclaration(node: Node): SemanticMeaning { + switch (node.kind) { + case SyntaxKind.Parameter: + case SyntaxKind.VariableDeclaration: + case SyntaxKind.BindingElement: + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.PropertyAssignment: + case SyntaxKind.ShorthandPropertyAssignment: + case SyntaxKind.EnumMember: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.Constructor: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.CatchClause: + return SemanticMeaning.Value; + + case SyntaxKind.TypeParameter: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + case SyntaxKind.TypeLiteral: + return SemanticMeaning.Type; + + case SyntaxKind.ClassDeclaration: + case SyntaxKind.EnumDeclaration: + return SemanticMeaning.Value | SemanticMeaning.Type; + + case SyntaxKind.ModuleDeclaration: + if (isAmbientModule(node)) { + return SemanticMeaning.Namespace | SemanticMeaning.Value; + } + else if (getModuleInstanceState(node) === ModuleInstanceState.Instantiated) { + return SemanticMeaning.Namespace | SemanticMeaning.Value; + } + else { + return SemanticMeaning.Namespace; + } + + case SyntaxKind.NamedImports: + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ImportDeclaration: + case SyntaxKind.ExportAssignment: + case SyntaxKind.ExportDeclaration: + return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; + + // An external module can be a Value + case SyntaxKind.SourceFile: + return SemanticMeaning.Namespace | SemanticMeaning.Value; + } + + return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; + } + + export function getMeaningFromLocation(node: Node): SemanticMeaning { + if (node.parent.kind === SyntaxKind.ExportAssignment) { + return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; + } + else if (isInRightSideOfImport(node)) { + return getMeaningFromRightHandSideOfImportEquals(node); + } + else if (isDeclarationName(node)) { + return getMeaningFromDeclaration(node.parent); + } + else if (isTypeReference(node)) { + return SemanticMeaning.Type; + } + else if (isNamespaceReference(node)) { + return SemanticMeaning.Namespace; + } + else { + return SemanticMeaning.Value; + } + } + + function getMeaningFromRightHandSideOfImportEquals(node: Node) { + Debug.assert(node.kind === SyntaxKind.Identifier); + + // import a = |b|; // Namespace + // import a = |b.c|; // Value, type, namespace + // import a = |b.c|.d; // Namespace + + if (node.parent.kind === SyntaxKind.QualifiedName && + (node.parent).right === node && + node.parent.parent.kind === SyntaxKind.ImportEqualsDeclaration) { + return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; + } + return SemanticMeaning.Namespace; + } + + function isInRightSideOfImport(node: Node) { + while (node.parent.kind === SyntaxKind.QualifiedName) { + node = node.parent; + } + return isInternalModuleImportEqualsDeclaration(node.parent) && (node.parent).moduleReference === node; + } + + function isNamespaceReference(node: Node): boolean { + return isQualifiedNameNamespaceReference(node) || isPropertyAccessNamespaceReference(node); + } + + function isQualifiedNameNamespaceReference(node: Node): boolean { + let root = node; + let isLastClause = true; + if (root.parent.kind === SyntaxKind.QualifiedName) { + while (root.parent && root.parent.kind === SyntaxKind.QualifiedName) { + root = root.parent; + } + + isLastClause = (root).right === node; + } + + return root.parent.kind === SyntaxKind.TypeReference && !isLastClause; + } + + function isPropertyAccessNamespaceReference(node: Node): boolean { + let root = node; + let isLastClause = true; + if (root.parent.kind === SyntaxKind.PropertyAccessExpression) { + while (root.parent && root.parent.kind === SyntaxKind.PropertyAccessExpression) { + root = root.parent; + } + + isLastClause = (root).name === node; + } + + if (!isLastClause && root.parent.kind === SyntaxKind.ExpressionWithTypeArguments && root.parent.parent.kind === SyntaxKind.HeritageClause) { + const decl = root.parent.parent.parent; + return (decl.kind === SyntaxKind.ClassDeclaration && (root.parent.parent).token === SyntaxKind.ImplementsKeyword) || + (decl.kind === SyntaxKind.InterfaceDeclaration && (root.parent.parent).token === SyntaxKind.ExtendsKeyword); + } + + return false; + } + + function isTypeReference(node: Node): boolean { + if (isRightSideOfQualifiedNameOrPropertyAccess(node)) { + node = node.parent; + } + + return node.parent.kind === SyntaxKind.TypeReference || + (node.parent.kind === SyntaxKind.ExpressionWithTypeArguments && !isExpressionWithTypeArgumentsInClassExtendsClause(node.parent)) || + (node.kind === SyntaxKind.ThisKeyword && !isPartOfExpression(node)) || + node.kind === SyntaxKind.ThisType; + } + + export function isCallExpressionTarget(node: Node): boolean { + return isCallOrNewExpressionTarget(node, SyntaxKind.CallExpression); + } + + export function isNewExpressionTarget(node: Node): boolean { + return isCallOrNewExpressionTarget(node, SyntaxKind.NewExpression); + } + + function isCallOrNewExpressionTarget(node: Node, kind: SyntaxKind) { + const target = climbPastPropertyAccess(node); + return target && target.parent && target.parent.kind === kind && (target.parent).expression === target; + } + + export function climbPastPropertyAccess(node: Node) { + return isRightSideOfPropertyAccess(node) ? node.parent : node; + } + + export function getTargetLabel(referenceNode: Node, labelName: string): Identifier { + while (referenceNode) { + if (referenceNode.kind === SyntaxKind.LabeledStatement && (referenceNode).label.text === labelName) { + return (referenceNode).label; + } + referenceNode = referenceNode.parent; + } + return undefined; + } + + export function isJumpStatementTarget(node: Node): boolean { + return node.kind === SyntaxKind.Identifier && + (node.parent.kind === SyntaxKind.BreakStatement || node.parent.kind === SyntaxKind.ContinueStatement) && + (node.parent).label === node; + } + + function isLabelOfLabeledStatement(node: Node): boolean { + return node.kind === SyntaxKind.Identifier && + node.parent.kind === SyntaxKind.LabeledStatement && + (node.parent).label === node; + } + + export function isLabelName(node: Node): boolean { + return isLabelOfLabeledStatement(node) || isJumpStatementTarget(node); + } + + export function isRightSideOfQualifiedName(node: Node) { + return node.parent.kind === SyntaxKind.QualifiedName && (node.parent).right === node; + } + + export function isRightSideOfPropertyAccess(node: Node) { + return node && node.parent && node.parent.kind === SyntaxKind.PropertyAccessExpression && (node.parent).name === node; + } + + export function isNameOfModuleDeclaration(node: Node) { + return node.parent.kind === SyntaxKind.ModuleDeclaration && (node.parent).name === node; + } + + export function isNameOfFunctionDeclaration(node: Node): boolean { + return node.kind === SyntaxKind.Identifier && + isFunctionLike(node.parent) && (node.parent).name === node; + } + + export function isLiteralNameOfPropertyDeclarationOrIndexAccess(node: Node): boolean { + if (node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NumericLiteral) { + switch (node.parent.kind) { + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.PropertyAssignment: + case SyntaxKind.EnumMember: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.ModuleDeclaration: + return (node.parent).name === node; + case SyntaxKind.ElementAccessExpression: + return (node.parent).argumentExpression === node; + case SyntaxKind.ComputedPropertyName: + return true; + } + } + + return false; + } + + export function isExpressionOfExternalModuleImportEqualsDeclaration(node: Node) { + return isExternalModuleImportEqualsDeclaration(node.parent.parent) && + getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node; + } + + /** Returns true if the position is within a comment */ + export function isInsideComment(sourceFile: SourceFile, token: Node, position: number): boolean { + // The position has to be: 1. in the leading trivia (before token.getStart()), and 2. within a comment + return position <= token.getStart(sourceFile) && + (isInsideCommentRange(getTrailingCommentRanges(sourceFile.text, token.getFullStart())) || + isInsideCommentRange(getLeadingCommentRanges(sourceFile.text, token.getFullStart()))); + + function isInsideCommentRange(comments: CommentRange[]): boolean { + return forEach(comments, comment => { + // either we are 1. completely inside the comment, or 2. at the end of the comment + if (comment.pos < position && position < comment.end) { + return true; + } + else if (position === comment.end) { + const text = sourceFile.text; + const width = comment.end - comment.pos; + // is single line comment or just /* + if (width <= 2 || text.charCodeAt(comment.pos + 1) === CharacterCodes.slash) { + return true; + } + else { + // is unterminated multi-line comment + return !(text.charCodeAt(comment.end - 1) === CharacterCodes.slash && + text.charCodeAt(comment.end - 2) === CharacterCodes.asterisk); + } + } + return false; + }); + } + } + + export function getContainerNode(node: Node): Declaration { + while (true) { + node = node.parent; + if (!node) { + return undefined; + } + switch (node.kind) { + case SyntaxKind.SourceFile: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.FunctionExpression: + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.ModuleDeclaration: + return node; + } + } + } + + export function getNodeKind(node: Node): string { + switch (node.kind) { + case SyntaxKind.SourceFile: + return isExternalModule(node) ? ScriptElementKind.moduleElement : ScriptElementKind.scriptElement; + case SyntaxKind.ModuleDeclaration: + return ScriptElementKind.moduleElement; + case SyntaxKind.ClassDeclaration: + case SyntaxKind.ClassExpression: + return ScriptElementKind.classElement; + case SyntaxKind.InterfaceDeclaration: return ScriptElementKind.interfaceElement; + case SyntaxKind.TypeAliasDeclaration: return ScriptElementKind.typeElement; + case SyntaxKind.EnumDeclaration: return ScriptElementKind.enumElement; + case SyntaxKind.VariableDeclaration: + return getKindOfVariableDeclaration(node); + case SyntaxKind.BindingElement: + return getKindOfVariableDeclaration(getRootDeclaration(node)); + case SyntaxKind.ArrowFunction: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.FunctionExpression: + return ScriptElementKind.functionElement; + case SyntaxKind.GetAccessor: return ScriptElementKind.memberGetAccessorElement; + case SyntaxKind.SetAccessor: return ScriptElementKind.memberSetAccessorElement; + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + return ScriptElementKind.memberFunctionElement; + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + return ScriptElementKind.memberVariableElement; + case SyntaxKind.IndexSignature: return ScriptElementKind.indexSignatureElement; + case SyntaxKind.ConstructSignature: return ScriptElementKind.constructSignatureElement; + case SyntaxKind.CallSignature: return ScriptElementKind.callSignatureElement; + case SyntaxKind.Constructor: return ScriptElementKind.constructorImplementationElement; + case SyntaxKind.TypeParameter: return ScriptElementKind.typeParameterElement; + case SyntaxKind.EnumMember: return ScriptElementKind.enumMemberElement; + case SyntaxKind.Parameter: return hasModifier(node, ModifierFlags.ParameterPropertyModifier) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportClause: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.NamespaceImport: + return ScriptElementKind.alias; + case SyntaxKind.JSDocTypedefTag: + return ScriptElementKind.typeElement; + default: + return ScriptElementKind.unknown; + } + + function getKindOfVariableDeclaration(v: VariableDeclaration): string { + return isConst(v) + ? ScriptElementKind.constElement + : isLet(v) + ? ScriptElementKind.letElement + : ScriptElementKind.variableElement; + } + } + + export function getStringLiteralTypeForNode(node: StringLiteral | LiteralTypeNode, typeChecker: TypeChecker): LiteralType { + const searchNode = node.parent.kind === SyntaxKind.LiteralType ? node.parent : node; + const type = typeChecker.getTypeAtLocation(searchNode); + if (type && type.flags & TypeFlags.StringLiteral) { + return type; + } + return undefined; + } + + export function isThis(node: Node): boolean { + switch (node.kind) { + case SyntaxKind.ThisKeyword: + // case SyntaxKind.ThisType: TODO: GH#9267 + return true; + case SyntaxKind.Identifier: + // 'this' as a parameter + return (node as Identifier).originalKeywordKind === SyntaxKind.ThisKeyword && node.parent.kind === SyntaxKind.Parameter; + default: + return false; + } + } + + // Matches the beginning of a triple slash directive + const tripleSlashDirectivePrefixRegex = /^\/\/\/\s* 0 ? result.join(",") : ScriptElementKindModifier.none; @@ -633,7 +1016,6 @@ namespace ts { export function isStringOrRegularExpressionOrTemplateLiteral(kind: SyntaxKind): boolean { if (kind === SyntaxKind.StringLiteral - || kind === SyntaxKind.StringLiteralType || kind === SyntaxKind.RegularExpressionLiteral || isTemplateLiteralKind(kind)) { return true; @@ -706,6 +1088,29 @@ namespace ts { return false; } + + export function hasTrailingDirectorySeparator(path: string) { + const lastCharacter = path.charAt(path.length - 1); + return lastCharacter === "/" || lastCharacter === "\\"; + } + + export function isInReferenceComment(sourceFile: SourceFile, position: number): boolean { + return isInCommentHelper(sourceFile, position, isReferenceComment); + + function isReferenceComment(c: CommentRange): boolean { + const commentText = sourceFile.text.substring(c.pos, c.end); + return tripleSlashDirectivePrefixRegex.test(commentText); + } + } + + export function isInNonReferenceComment(sourceFile: SourceFile, position: number): boolean { + return isInCommentHelper(sourceFile, position, isNonReferenceComment); + + function isNonReferenceComment(c: CommentRange): boolean { + const commentText = sourceFile.text.substring(c.pos, c.end); + return !tripleSlashDirectivePrefixRegex.test(commentText); + } + } } // Display-part writer helpers @@ -922,9 +1327,30 @@ namespace ts { if (host && host.getScriptKind) { scriptKind = host.getScriptKind(fileName); } - if (!scriptKind || scriptKind === ScriptKind.Unknown) { + if (!scriptKind) { scriptKind = getScriptKindFromFileName(fileName); } return ensureScriptKind(fileName, scriptKind); } + + export function parseAndReEmitConfigJSONFile(content: string) { + const options: TranspileOptions = { + fileName: "config.js", + compilerOptions: { + target: ScriptTarget.ES6, + removeComments: true + }, + reportDiagnostics: true + }; + const { outputText, diagnostics } = ts.transpileModule("(" + content + ")", options); + // Becasue the content was wrapped in "()", the start position of diagnostics needs to be subtract by 1 + // also, the emitted result will have "(" in the beginning and ");" in the end. We need to strip these + // as well + const trimmedOutput = outputText.trim(); + const configJsonObject = JSON.parse(trimmedOutput.substring(1, trimmedOutput.length - 2)); + for (const diagnostic of diagnostics) { + diagnostic.start = diagnostic.start - 1; + } + return { configJsonObject, diagnostics }; + } } \ No newline at end of file diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 7573f2ba99e..cb7fc3a4c5c 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -20,7 +20,7 @@ declare var path: any; import * as ts from "typescript"; function watch(rootFileNames: string[], options: ts.CompilerOptions) { - const files: ts.Map<{ version: number }> = {}; + const files: ts.MapLike<{ version: number }> = {}; // initialize the list of files rootFileNames.forEach(fileName => { diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types index fec7593a993..92612490eb4 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types @@ -56,6 +56,6 @@ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >A.Point : typeof A.Point >A : typeof A >Point : typeof A.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types index cd57c0c503d..83359d5ae27 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types @@ -50,6 +50,6 @@ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >A.Point : typeof A.Point >A : typeof A >Point : typeof A.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types index 035f2a50c37..f8525c4e426 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types @@ -15,9 +15,9 @@ function Point() { return { x: 0, y: 0 }; >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } === tests/cases/conformance/internalModules/DeclarationMerging/test.ts === diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.js b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.js index d971dd160db..b8e332f1932 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.js @@ -33,8 +33,8 @@ var Point = (function () { }()); var Point; (function (Point) { - function Origin() { return null; } - Point.Origin = Origin; //expected duplicate identifier error + function Origin() { return null; } //expected duplicate identifier error + Point.Origin = Origin; })(Point || (Point = {})); var A; (function (A) { @@ -49,7 +49,7 @@ var A; A.Point = Point; var Point; (function (Point) { - function Origin() { return ""; } - Point.Origin = Origin; //expected duplicate identifier error + function Origin() { return ""; } //expected duplicate identifier error + Point.Origin = Origin; })(Point = A.Point || (A.Point = {})); })(A || (A = {})); diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types index 9d943ab354c..b0685c4f858 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types @@ -11,9 +11,9 @@ class Point { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } module Point { @@ -21,7 +21,7 @@ module Point { function Origin() { return ""; }// not an error, since not exported >Origin : () => string ->"" : string +>"" : "" } @@ -40,9 +40,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } export module Point { @@ -50,6 +50,6 @@ module A { function Origin() { return ""; }// not an error since not exported >Origin : () => string ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.js b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.js index a0cb50e7382..63d3739846b 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.js @@ -28,9 +28,9 @@ var Point = (function () { this.x = x; this.y = y; } - Point.Origin = { x: 0, y: 0 }; return Point; }()); +Point.Origin = { x: 0, y: 0 }; var Point; (function (Point) { Point.Origin = ""; //expected duplicate identifier error @@ -42,9 +42,9 @@ var A; this.x = x; this.y = y; } - Point.Origin = { x: 0, y: 0 }; return Point; }()); + Point.Origin = { x: 0, y: 0 }; A.Point = Point; var Point; (function (Point) { diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.js b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.js index 3bbf3b98d6e..3921546a21c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.js @@ -28,9 +28,9 @@ var Point = (function () { this.x = x; this.y = y; } - Point.Origin = { x: 0, y: 0 }; return Point; }()); +Point.Origin = { x: 0, y: 0 }; var Point; (function (Point) { var Origin = ""; // not an error, since not exported @@ -42,9 +42,9 @@ var A; this.x = x; this.y = y; } - Point.Origin = { x: 0, y: 0 }; return Point; }()); + Point.Origin = { x: 0, y: 0 }; A.Point = Point; var Point; (function (Point) { diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types index 8f8ffc8839f..7aa32879b7c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types @@ -11,9 +11,9 @@ class Point { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } module Point { @@ -21,7 +21,7 @@ module Point { var Origin = ""; // not an error, since not exported >Origin : string ->"" : string +>"" : "" } @@ -40,9 +40,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } export module Point { @@ -50,6 +50,6 @@ module A { var Origin = ""; // not an error since not exported >Origin : string ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration.js b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration.js index d5c3b3d63f4..7633955b227 100644 --- a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration.js +++ b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration.js @@ -7,6 +7,6 @@ class AtomicNumbers { var AtomicNumbers = (function () { function AtomicNumbers() { } - AtomicNumbers.H = 1; return AtomicNumbers; }()); +AtomicNumbers.H = 1; diff --git a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.types b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.types index 47139729995..5e6077a0933 100644 --- a/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.types +++ b/tests/baselines/reference/ClassDeclarationWithInvalidConstOnPropertyDeclaration2.types @@ -7,5 +7,5 @@ class C { x = 10; >x : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/ES3For-ofTypeCheck2.types b/tests/baselines/reference/ES3For-ofTypeCheck2.types index 81230c9cea4..dd586109498 100644 --- a/tests/baselines/reference/ES3For-ofTypeCheck2.types +++ b/tests/baselines/reference/ES3For-ofTypeCheck2.types @@ -2,5 +2,5 @@ for (var v of [true]) { } >v : boolean >[true] : boolean[] ->true : boolean +>true : true diff --git a/tests/baselines/reference/ES5For-of1.js.map b/tests/baselines/reference/ES5For-of1.js.map index bd729517462..6415b662186 100644 --- a/tests/baselines/reference/ES5For-of1.js.map +++ b/tests/baselines/reference/ES5For-of1.js.map @@ -1,2 +1,2 @@ //// [ES5For-of1.js.map] -{"version":3,"file":"ES5For-of1.js","sourceRoot":"","sources":["ES5For-of1.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe,CAAC;IAAzB,IAAI,CAAC,SAAA;IACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClB"} \ No newline at end of file +{"version":3,"file":"ES5For-of1.js","sourceRoot":"","sources":["ES5For-of1.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe;IAAxB,IAAI,CAAC,SAAA;IACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClB"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of1.sourcemap.txt b/tests/baselines/reference/ES5For-of1.sourcemap.txt index 5ae1084df25..f6a89d058fe 100644 --- a/tests/baselines/reference/ES5For-of1.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of1.sourcemap.txt @@ -26,7 +26,6 @@ sourceFile:ES5For-of1.ts 15> ^^^^^^^^^^^^^^ 16> ^^ 17> ^^^^ -18> ^ 1 > 2 >for 3 > @@ -44,7 +43,6 @@ sourceFile:ES5For-of1.ts 15> ['a', 'b', 'c'] 16> 17> ['a', 'b', 'c'] -18> ) 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 4) Source(1, 4) + SourceIndex(0) 3 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) @@ -62,7 +60,6 @@ sourceFile:ES5For-of1.ts 15>Emitted(1, 54) Source(1, 30) + SourceIndex(0) 16>Emitted(1, 56) Source(1, 15) + SourceIndex(0) 17>Emitted(1, 60) Source(1, 30) + SourceIndex(0) -18>Emitted(1, 61) Source(1, 31) + SourceIndex(0) --- >>> var v = _a[_i]; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of10.types b/tests/baselines/reference/ES5For-of10.types index d31f8972038..2813e614e54 100644 --- a/tests/baselines/reference/ES5For-of10.types +++ b/tests/baselines/reference/ES5For-of10.types @@ -5,7 +5,7 @@ function foo() { return { x: 0 }; >{ x: 0 } : { x: number; } >x : number ->0 : number +>0 : 0 } for (foo().x of []) { >foo().x : number diff --git a/tests/baselines/reference/ES5For-of13.js.map b/tests/baselines/reference/ES5For-of13.js.map index 3fa2bd27348..1cb5d6039d3 100644 --- a/tests/baselines/reference/ES5For-of13.js.map +++ b/tests/baselines/reference/ES5For-of13.js.map @@ -1,2 +1,2 @@ //// [ES5For-of13.js.map] -{"version":3,"file":"ES5For-of13.js","sourceRoot":"","sources":["ES5For-of13.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe,CAAC;IAAzB,IAAI,CAAC,SAAA;IACN,IAAI,CAAC,GAAG,CAAC,CAAC;CACb"} \ No newline at end of file +{"version":3,"file":"ES5For-of13.js","sourceRoot":"","sources":["ES5For-of13.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe;IAAxB,IAAI,CAAC,SAAA;IACN,IAAI,CAAC,GAAG,CAAC,CAAC;CACb"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of13.sourcemap.txt b/tests/baselines/reference/ES5For-of13.sourcemap.txt index 410560ac78e..a7386dddc50 100644 --- a/tests/baselines/reference/ES5For-of13.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of13.sourcemap.txt @@ -26,7 +26,6 @@ sourceFile:ES5For-of13.ts 15> ^^^^^^^^^^^^^^ 16> ^^ 17> ^^^^ -18> ^ 1 > 2 >for 3 > @@ -44,7 +43,6 @@ sourceFile:ES5For-of13.ts 15> ['a', 'b', 'c'] 16> 17> ['a', 'b', 'c'] -18> ) 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 4) Source(1, 4) + SourceIndex(0) 3 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) @@ -62,7 +60,6 @@ sourceFile:ES5For-of13.ts 15>Emitted(1, 54) Source(1, 30) + SourceIndex(0) 16>Emitted(1, 56) Source(1, 15) + SourceIndex(0) 17>Emitted(1, 60) Source(1, 30) + SourceIndex(0) -18>Emitted(1, 61) Source(1, 31) + SourceIndex(0) --- >>> var v = _a[_i]; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of13.types b/tests/baselines/reference/ES5For-of13.types index 46125af551e..150517378d8 100644 --- a/tests/baselines/reference/ES5For-of13.types +++ b/tests/baselines/reference/ES5For-of13.types @@ -2,9 +2,9 @@ for (let v of ['a', 'b', 'c']) { >v : string >['a', 'b', 'c'] : string[] ->'a' : string ->'b' : string ->'c' : string +>'a' : "a" +>'b' : "b" +>'c' : "c" var x = v; >x : string diff --git a/tests/baselines/reference/ES5For-of24.types b/tests/baselines/reference/ES5For-of24.types index c0c4666fbf5..aa9aad228e5 100644 --- a/tests/baselines/reference/ES5For-of24.types +++ b/tests/baselines/reference/ES5For-of24.types @@ -2,9 +2,9 @@ var a = [1, 2, 3]; >a : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 for (var v of a) { >v : number @@ -12,5 +12,5 @@ for (var v of a) { let a = 0; >a : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/ES5For-of25.js.map b/tests/baselines/reference/ES5For-of25.js.map index 5ccc838a488..f1c97506f2d 100644 --- a/tests/baselines/reference/ES5For-of25.js.map +++ b/tests/baselines/reference/ES5For-of25.js.map @@ -1,2 +1,2 @@ //// [ES5For-of25.js.map] -{"version":3,"file":"ES5For-of25.js","sourceRoot":"","sources":["ES5For-of25.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,GAAG,CAAC,CAAU,UAAC,EAAD,OAAC,EAAD,eAAC,EAAD,IAAC,CAAC;IAAX,IAAI,CAAC,UAAA;IACN,CAAC,CAAC;IACF,CAAC,CAAC;CACL"} \ No newline at end of file +{"version":3,"file":"ES5For-of25.js","sourceRoot":"","sources":["ES5For-of25.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,GAAG,CAAC,CAAU,UAAC,EAAD,OAAC,EAAD,eAAC,EAAD,IAAC;IAAV,IAAI,CAAC,UAAA;IACN,CAAC,CAAC;IACF,CAAC,CAAC;CACL"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of25.sourcemap.txt b/tests/baselines/reference/ES5For-of25.sourcemap.txt index 765aa707701..31b10538fa6 100644 --- a/tests/baselines/reference/ES5For-of25.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of25.sourcemap.txt @@ -59,7 +59,6 @@ sourceFile:ES5For-of25.ts 9 > ^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > 2 >for @@ -72,7 +71,6 @@ sourceFile:ES5For-of25.ts 9 > a 10> 11> a -12> ) 1->Emitted(2, 1) Source(2, 1) + SourceIndex(0) 2 >Emitted(2, 4) Source(2, 4) + SourceIndex(0) 3 >Emitted(2, 5) Source(2, 5) + SourceIndex(0) @@ -84,7 +82,6 @@ sourceFile:ES5For-of25.ts 9 >Emitted(2, 42) Source(2, 16) + SourceIndex(0) 10>Emitted(2, 44) Source(2, 15) + SourceIndex(0) 11>Emitted(2, 48) Source(2, 16) + SourceIndex(0) -12>Emitted(2, 49) Source(2, 17) + SourceIndex(0) --- >>> var v = a_1[_i]; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of25.types b/tests/baselines/reference/ES5For-of25.types index 4650e3244d3..0d304512bf3 100644 --- a/tests/baselines/reference/ES5For-of25.types +++ b/tests/baselines/reference/ES5For-of25.types @@ -2,9 +2,9 @@ var a = [1, 2, 3]; >a : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 for (var v of a) { >v : number diff --git a/tests/baselines/reference/ES5For-of26.js.map b/tests/baselines/reference/ES5For-of26.js.map index 9dcebf97134..0afbe7ec42e 100644 --- a/tests/baselines/reference/ES5For-of26.js.map +++ b/tests/baselines/reference/ES5For-of26.js.map @@ -1,2 +1,2 @@ //// [ES5For-of26.js.map] -{"version":3,"file":"ES5For-of26.js","sourceRoot":"","sources":["ES5For-of26.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAuB,UAAM,EAAN,MAAC,CAAC,EAAE,CAAC,CAAC,EAAN,cAAM,EAAN,IAAM,CAAC;IAA7B,eAAkB,EAAb,UAAK,EAAL,0BAAK,EAAE,UAAK,EAAL,0BAAK;IAClB,CAAC,CAAC;IACF,CAAC,CAAC;CACL"} \ No newline at end of file +{"version":3,"file":"ES5For-of26.js","sourceRoot":"","sources":["ES5For-of26.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAuB,UAAM,EAAN,MAAC,CAAC,EAAE,CAAC,CAAC,EAAN,cAAM,EAAN,IAAM;IAAxB,IAAA,WAAc,EAAb,UAAK,EAAL,0BAAK,EAAE,UAAK,EAAL,0BAAK;IAClB,CAAC,CAAC;IACF,CAAC,CAAC;CACL"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of26.sourcemap.txt b/tests/baselines/reference/ES5For-of26.sourcemap.txt index 00a1cc55f37..ce13a75e5cf 100644 --- a/tests/baselines/reference/ES5For-of26.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of26.sourcemap.txt @@ -24,8 +24,7 @@ sourceFile:ES5For-of26.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >for 3 > @@ -41,7 +40,6 @@ sourceFile:ES5For-of26.ts 13> [2, 3] 14> 15> [2, 3] -16> ) 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 4) Source(1, 4) + SourceIndex(0) 3 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) @@ -57,39 +55,41 @@ sourceFile:ES5For-of26.ts 13>Emitted(1, 45) Source(1, 34) + SourceIndex(0) 14>Emitted(1, 47) Source(1, 28) + SourceIndex(0) 15>Emitted(1, 51) Source(1, 34) + SourceIndex(0) -16>Emitted(1, 52) Source(1, 35) + SourceIndex(0) --- >>> var _b = _a[_i], _c = _b[0], a = _c === void 0 ? 0 : _c, _d = _b[1], b = _d === void 0 ? 1 : _d; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > var [a = 0, b = 1] -3 > -4 > a = 0 -5 > -6 > a = 0 -7 > , -8 > b = 1 -9 > -10> b = 1 -1->Emitted(2, 5) Source(1, 6) + SourceIndex(0) -2 >Emitted(2, 20) Source(1, 24) + SourceIndex(0) -3 >Emitted(2, 22) Source(1, 11) + SourceIndex(0) -4 >Emitted(2, 32) Source(1, 16) + SourceIndex(0) -5 >Emitted(2, 34) Source(1, 11) + SourceIndex(0) -6 >Emitted(2, 60) Source(1, 16) + SourceIndex(0) -7 >Emitted(2, 62) Source(1, 18) + SourceIndex(0) -8 >Emitted(2, 72) Source(1, 23) + SourceIndex(0) -9 >Emitted(2, 74) Source(1, 18) + SourceIndex(0) -10>Emitted(2, 100) Source(1, 23) + SourceIndex(0) +2 > +3 > [a = 0, b = 1] +4 > +5 > a = 0 +6 > +7 > a = 0 +8 > , +9 > b = 1 +10> +11> b = 1 +1->Emitted(2, 5) Source(1, 10) + SourceIndex(0) +2 >Emitted(2, 9) Source(1, 10) + SourceIndex(0) +3 >Emitted(2, 20) Source(1, 24) + SourceIndex(0) +4 >Emitted(2, 22) Source(1, 11) + SourceIndex(0) +5 >Emitted(2, 32) Source(1, 16) + SourceIndex(0) +6 >Emitted(2, 34) Source(1, 11) + SourceIndex(0) +7 >Emitted(2, 60) Source(1, 16) + SourceIndex(0) +8 >Emitted(2, 62) Source(1, 18) + SourceIndex(0) +9 >Emitted(2, 72) Source(1, 23) + SourceIndex(0) +10>Emitted(2, 74) Source(1, 18) + SourceIndex(0) +11>Emitted(2, 100) Source(1, 23) + SourceIndex(0) --- >>> a; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of3.js.map b/tests/baselines/reference/ES5For-of3.js.map index 5a91ff28e9c..ffcee0b3a52 100644 --- a/tests/baselines/reference/ES5For-of3.js.map +++ b/tests/baselines/reference/ES5For-of3.js.map @@ -1,2 +1,2 @@ //// [ES5For-of3.js.map] -{"version":3,"file":"ES5For-of3.js","sourceRoot":"","sources":["ES5For-of3.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe,CAAC;IAAzB,IAAI,CAAC,SAAA;IACN,IAAI,CAAC,GAAG,CAAC,CAAC;CAAA"} \ No newline at end of file +{"version":3,"file":"ES5For-of3.js","sourceRoot":"","sources":["ES5For-of3.ts"],"names":[],"mappings":"AAAA,GAAG,CAAC,CAAU,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe;IAAxB,IAAI,CAAC,SAAA;IACN,IAAI,CAAC,GAAG,CAAC,CAAC;CAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of3.sourcemap.txt b/tests/baselines/reference/ES5For-of3.sourcemap.txt index 1c728f5df67..4eea9dfaed4 100644 --- a/tests/baselines/reference/ES5For-of3.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of3.sourcemap.txt @@ -26,7 +26,6 @@ sourceFile:ES5For-of3.ts 15> ^^^^^^^^^^^^^^ 16> ^^ 17> ^^^^ -18> ^ 1 > 2 >for 3 > @@ -44,7 +43,6 @@ sourceFile:ES5For-of3.ts 15> ['a', 'b', 'c'] 16> 17> ['a', 'b', 'c'] -18> ) 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 4) Source(1, 4) + SourceIndex(0) 3 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) @@ -62,7 +60,6 @@ sourceFile:ES5For-of3.ts 15>Emitted(1, 54) Source(1, 30) + SourceIndex(0) 16>Emitted(1, 56) Source(1, 15) + SourceIndex(0) 17>Emitted(1, 60) Source(1, 30) + SourceIndex(0) -18>Emitted(1, 61) Source(1, 31) + SourceIndex(0) --- >>> var v = _a[_i]; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of3.types b/tests/baselines/reference/ES5For-of3.types index 65267fe3f70..29825c5c32d 100644 --- a/tests/baselines/reference/ES5For-of3.types +++ b/tests/baselines/reference/ES5For-of3.types @@ -2,9 +2,9 @@ for (var v of ['a', 'b', 'c']) >v : string >['a', 'b', 'c'] : string[] ->'a' : string ->'b' : string ->'c' : string +>'a' : "a" +>'b' : "b" +>'c' : "c" var x = v; >x : string diff --git a/tests/baselines/reference/ES5For-of30.errors.txt b/tests/baselines/reference/ES5For-of30.errors.txt index ee2d14a4f58..284dd372e5a 100644 --- a/tests/baselines/reference/ES5For-of30.errors.txt +++ b/tests/baselines/reference/ES5For-of30.errors.txt @@ -1,6 +1,6 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,6): error TS2461: Type 'number | string' is not an array type. -tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,6): error TS2461: Type 'string | number' is not an array type. +tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,7): error TS2322: Type '1' is not assignable to type 'string'. +tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts (3 errors) ==== @@ -8,11 +8,11 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-of30.ts(3,14): error var tuple: [number, string] = [2, "3"]; for ([a = 1, b = ""] of tuple) { ~~~~~~~~~~~~~~~ -!!! error TS2461: Type 'number | string' is not an array type. +!!! error TS2461: Type 'string | number' is not an array type. ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '1' is not assignable to type 'string'. ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. a; b; } \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of8.js.map b/tests/baselines/reference/ES5For-of8.js.map index 3a1497eadcd..1f6cf096412 100644 --- a/tests/baselines/reference/ES5For-of8.js.map +++ b/tests/baselines/reference/ES5For-of8.js.map @@ -1,2 +1,2 @@ //// [ES5For-of8.js.map] -{"version":3,"file":"ES5For-of8.js","sourceRoot":"","sources":["ES5For-of8.ts"],"names":[],"mappings":"AAAA;IACI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB,CAAC;AACD,GAAG,CAAC,CAAY,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe,CAAC;IAA3B,GAAG,EAAE,CAAC,CAAC,SAAA;IACR,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;CACnB"} \ No newline at end of file +{"version":3,"file":"ES5For-of8.js","sourceRoot":"","sources":["ES5For-of8.ts"],"names":[],"mappings":"AAAA;IACI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB,CAAC;AACD,GAAG,CAAC,CAAY,UAAe,EAAf,MAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAf,cAAe,EAAf,IAAe;IAA1B,GAAG,EAAE,CAAC,CAAC,SAAA;IACR,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;CACnB"} \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of8.sourcemap.txt b/tests/baselines/reference/ES5For-of8.sourcemap.txt index dbfce707ca6..1a58d5f107b 100644 --- a/tests/baselines/reference/ES5For-of8.sourcemap.txt +++ b/tests/baselines/reference/ES5For-of8.sourcemap.txt @@ -72,7 +72,6 @@ sourceFile:ES5For-of8.ts 15> ^^^^^^^^^^^^^^ 16> ^^ 17> ^^^^ -18> ^ 1-> > 2 >for @@ -91,7 +90,6 @@ sourceFile:ES5For-of8.ts 15> ['a', 'b', 'c'] 16> 17> ['a', 'b', 'c'] -18> ) 1->Emitted(4, 1) Source(4, 1) + SourceIndex(0) 2 >Emitted(4, 4) Source(4, 4) + SourceIndex(0) 3 >Emitted(4, 5) Source(4, 5) + SourceIndex(0) @@ -109,7 +107,6 @@ sourceFile:ES5For-of8.ts 15>Emitted(4, 54) Source(4, 32) + SourceIndex(0) 16>Emitted(4, 56) Source(4, 17) + SourceIndex(0) 17>Emitted(4, 60) Source(4, 32) + SourceIndex(0) -18>Emitted(4, 61) Source(4, 33) + SourceIndex(0) --- >>> foo().x = _a[_i]; 1 >^^^^ diff --git a/tests/baselines/reference/ES5For-of9.types b/tests/baselines/reference/ES5For-of9.types index ec41df704c6..6df6e295d75 100644 --- a/tests/baselines/reference/ES5For-of9.types +++ b/tests/baselines/reference/ES5For-of9.types @@ -5,7 +5,7 @@ function foo() { return { x: 0 }; >{ x: 0 } : { x: number; } >x : number ->0 : number +>0 : 0 } for (foo().x of []) { >foo().x : number diff --git a/tests/baselines/reference/ES5For-ofTypeCheck1.types b/tests/baselines/reference/ES5For-ofTypeCheck1.types index 395900d683b..6faba8c23aa 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck1.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck1.types @@ -1,5 +1,5 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck1.ts === for (var v of "") { } >v : string ->"" : string +>"" : "" diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt index 57a28b6612c..635bb09616a 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts(3,6): error TS2322: Type 'number | string' is not assignable to type 'string'. +tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts(3,6): error TS2322: Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. @@ -7,5 +7,5 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck11.ts(3,6) var v: string; for (v of union) { } ~ -!!! error TS2322: Type 'number | string' is not assignable to type 'string'. +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck12.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck12.errors.txt index 67af1f4f401..5310d588619 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck12.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck12.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts(1,17): error TS2495: Type 'number' is not an array type or a string type. +tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts(1,17): error TS2495: Type '0' is not an array type or a string type. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck12.ts (1 errors) ==== for (const v of 0) { } ~ -!!! error TS2495: Type 'number' is not an array type or a string type. \ No newline at end of file +!!! error TS2495: Type '0' is not an array type or a string type. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck2.types b/tests/baselines/reference/ES5For-ofTypeCheck2.types index d28a2803216..f6c9b7c8ba4 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck2.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck2.types @@ -2,5 +2,5 @@ for (var v of [true]) { } >v : boolean >[true] : boolean[] ->true : boolean +>true : true diff --git a/tests/baselines/reference/ES5For-ofTypeCheck3.types b/tests/baselines/reference/ES5For-ofTypeCheck3.types index a62dcc94f98..d46cdd0172d 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck3.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck3.types @@ -2,8 +2,8 @@ var tuple: [string, number] = ["", 0]; >tuple : [string, number] >["", 0] : [string, number] ->"" : string ->0 : number +>"" : "" +>0 : 0 for (var v of tuple) { } >v : string | number diff --git a/tests/baselines/reference/ES5For-ofTypeCheck5.types b/tests/baselines/reference/ES5For-ofTypeCheck5.types index f24aa54c7f3..ed3d13f3918 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck5.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck5.types @@ -3,6 +3,6 @@ var union: string | number[]; >union : string | number[] for (var v of union) { } ->v : number | string +>v : string | number >union : string | number[] diff --git a/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt index 3f382d72a08..156eb188803 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck9.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts(2,15): error TS2461: Type 'string[] | number | symbol' is not an array type. +tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts(2,15): error TS2461: Type 'number | symbol | string[]' is not an array type. ==== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck9.ts (1 errors) ==== var union: string | string[] | number | symbol; for (let v of union) { } ~~~~~ -!!! error TS2461: Type 'string[] | number | symbol' is not an array type. \ No newline at end of file +!!! error TS2461: Type 'number | symbol | string[]' is not an array type. \ No newline at end of file diff --git a/tests/baselines/reference/ES5SymbolProperty1.js b/tests/baselines/reference/ES5SymbolProperty1.js index 1073a33163d..ab3f420c95c 100644 --- a/tests/baselines/reference/ES5SymbolProperty1.js +++ b/tests/baselines/reference/ES5SymbolProperty1.js @@ -14,7 +14,6 @@ obj[Symbol.foo]; var Symbol; var obj = (_a = {}, _a[Symbol.foo] = 0, - _a -); + _a); obj[Symbol.foo]; var _a; diff --git a/tests/baselines/reference/ES5for-of32.types b/tests/baselines/reference/ES5for-of32.types index 6fe5ba2008b..188500c4859 100644 --- a/tests/baselines/reference/ES5for-of32.types +++ b/tests/baselines/reference/ES5for-of32.types @@ -3,13 +3,13 @@ var array = [1,2,3]; >array : number[] >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var sum = 0; >sum : number ->0 : number +>0 : 0 for (let num of array) { >num : number @@ -18,15 +18,15 @@ for (let num of array) { if (sum === 0) { >sum === 0 : boolean >sum : number ->0 : number +>0 : 0 array = [4,5,6] >array = [4,5,6] : number[] >array : number[] >[4,5,6] : number[] ->4 : number ->5 : number ->6 : number +>4 : 4 +>5 : 5 +>6 : 6 } sum += num; diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types index 205335c7eb6..d2328929938 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types @@ -3,8 +3,8 @@ enum enumdule { >enumdule : enumdule Red, Blue ->Red : enumdule ->Blue : enumdule +>Red : enumdule.Red +>Blue : enumdule.Blue } module enumdule { @@ -25,9 +25,9 @@ var x: enumdule; var x = enumdule.Red; >x : enumdule ->enumdule.Red : enumdule +>enumdule.Red : enumdule.Red >enumdule : typeof enumdule ->Red : enumdule +>Red : enumdule.Red var y: { x: number; y: number }; >y : { x: number; y: number; } @@ -40,6 +40,6 @@ var y = new enumdule.Point(0, 0); >enumdule.Point : typeof enumdule.Point >enumdule : typeof enumdule >Point : typeof enumdule.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types index e47b38a0b61..04d0259f04e 100644 --- a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types +++ b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types @@ -31,7 +31,7 @@ module A { >Point : Point return 1; ->1 : number +>1 : 1 } } } diff --git a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types index a5cefcc521e..e832f36e862 100644 --- a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types @@ -17,9 +17,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export class Point3d extends Point { >Point3d : Point3d @@ -34,11 +34,11 @@ module A { >Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >z : number ->0 : number +>0 : 0 export class Line{ >Line : Line diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types index ba174d9bbba..1a97175a833 100644 --- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types +++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types @@ -17,9 +17,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export class Point3d extends Point { >Point3d : Point3d @@ -34,11 +34,11 @@ module A { >Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >z : number ->0 : number +>0 : 0 export class Line{ >Line : Line diff --git a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types index 60a6e122a78..957c9ce0207 100644 --- a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types @@ -33,9 +33,9 @@ module A { >Line : typeof Line >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >p : Point } } diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types index ba862ad77cf..079b39650d0 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types @@ -33,9 +33,9 @@ module A { >Line : typeof Line >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >p : Point } } diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types index ef72f80ffde..6fcbb786a68 100644 --- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types +++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types @@ -33,9 +33,9 @@ module A { >Line : typeof Line >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >p : Point } } diff --git a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types index b4a331b9140..c7c78424064 100644 --- a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types @@ -17,9 +17,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export interface Point3d extends Point { >Point3d : Point3d @@ -34,11 +34,11 @@ module A { >Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >z : number ->0 : number +>0 : 0 export interface Line{ >Line : Line diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types index 366e21b6472..8d07e4a44dd 100644 --- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types +++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types @@ -17,9 +17,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export interface Point3d extends Point { >Point3d : Point3d @@ -34,11 +34,11 @@ module A { >Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >z : number ->0 : number +>0 : 0 export interface Line{ >Line : Line diff --git a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types index cd8526242fa..a3ee7c55a4c 100644 --- a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types +++ b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types @@ -18,8 +18,8 @@ module A { >Point : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 export class Line { >Line : Line @@ -42,9 +42,9 @@ module A { >Line : typeof Line >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >p : Point } } diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types index e08a4345a95..0ce1b82d67e 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types @@ -15,9 +15,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export var Unity = { start: new Point(0, 0), end: new Point(1, 0) }; >Unity : { start: Point; end: Point; } @@ -25,12 +25,12 @@ module A { >start : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 >end : Point >new Point(1, 0) : Point >Point : typeof Point ->1 : number ->0 : number +>1 : 1 +>0 : 0 } diff --git a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types index faf86ea6982..91504be2c70 100644 --- a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types +++ b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types @@ -18,8 +18,8 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types index 4ce1912d441..39bc5fa8af0 100644 --- a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types +++ b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types @@ -18,9 +18,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 interface Point3d extends Point { >Point3d : Point3d @@ -36,10 +36,10 @@ module A { >Point3d : Point3d >{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >z : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types index fe976cd0a3b..f070f422a52 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types @@ -8,9 +8,9 @@ module A { return { x: 0, y: 0 }; >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } } @@ -25,9 +25,9 @@ module B { >Origin : { x: number; y: number; } >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/FunctionDeclaration10_es6.js b/tests/baselines/reference/FunctionDeclaration10_es6.js index ccff1ac1036..6ac2ec8d194 100644 --- a/tests/baselines/reference/FunctionDeclaration10_es6.js +++ b/tests/baselines/reference/FunctionDeclaration10_es6.js @@ -3,6 +3,9 @@ function * foo(a = yield => yield) { } //// [FunctionDeclaration10_es6.js] +function* foo(a) { + if (a === void 0) { a = yield; } +} yield; { } diff --git a/tests/baselines/reference/FunctionDeclaration11_es6.js b/tests/baselines/reference/FunctionDeclaration11_es6.js index ba497b3e529..d56eebd3bb5 100644 --- a/tests/baselines/reference/FunctionDeclaration11_es6.js +++ b/tests/baselines/reference/FunctionDeclaration11_es6.js @@ -3,5 +3,5 @@ function * yield() { } //// [FunctionDeclaration11_es6.js] -function yield() { +function* yield() { } diff --git a/tests/baselines/reference/FunctionDeclaration12_es6.js b/tests/baselines/reference/FunctionDeclaration12_es6.js index d9c1739cb49..87ea08215fe 100644 --- a/tests/baselines/reference/FunctionDeclaration12_es6.js +++ b/tests/baselines/reference/FunctionDeclaration12_es6.js @@ -2,4 +2,4 @@ var v = function * yield() { } //// [FunctionDeclaration12_es6.js] -var v = , yield = function () { }; +var v = function* () { }, yield = function () { }; diff --git a/tests/baselines/reference/FunctionDeclaration13_es6.js b/tests/baselines/reference/FunctionDeclaration13_es6.js index 4c82b037569..b0527ee47ef 100644 --- a/tests/baselines/reference/FunctionDeclaration13_es6.js +++ b/tests/baselines/reference/FunctionDeclaration13_es6.js @@ -6,7 +6,7 @@ function * foo() { //// [FunctionDeclaration13_es6.js] -function foo() { +function* foo() { // Legal to use 'yield' in a type context. var v; } diff --git a/tests/baselines/reference/FunctionDeclaration1_es6.js b/tests/baselines/reference/FunctionDeclaration1_es6.js index 262c7ea02fb..534a4c21cd7 100644 --- a/tests/baselines/reference/FunctionDeclaration1_es6.js +++ b/tests/baselines/reference/FunctionDeclaration1_es6.js @@ -3,5 +3,5 @@ function * foo() { } //// [FunctionDeclaration1_es6.js] -function foo() { +function* foo() { } diff --git a/tests/baselines/reference/FunctionDeclaration5_es6.js b/tests/baselines/reference/FunctionDeclaration5_es6.js index 2530baa220c..645ee976ecd 100644 --- a/tests/baselines/reference/FunctionDeclaration5_es6.js +++ b/tests/baselines/reference/FunctionDeclaration5_es6.js @@ -3,6 +3,7 @@ function*foo(yield) { } //// [FunctionDeclaration5_es6.js] +function* foo() { } yield; { } diff --git a/tests/baselines/reference/FunctionDeclaration6_es6.js b/tests/baselines/reference/FunctionDeclaration6_es6.js index 07b3ff52212..e0b871a9172 100644 --- a/tests/baselines/reference/FunctionDeclaration6_es6.js +++ b/tests/baselines/reference/FunctionDeclaration6_es6.js @@ -3,6 +3,6 @@ function*foo(a = yield) { } //// [FunctionDeclaration6_es6.js] -function foo(a) { +function* foo(a) { if (a === void 0) { a = yield; } } diff --git a/tests/baselines/reference/FunctionDeclaration7_es6.js b/tests/baselines/reference/FunctionDeclaration7_es6.js index 661e1668e0f..49b43e2a2db 100644 --- a/tests/baselines/reference/FunctionDeclaration7_es6.js +++ b/tests/baselines/reference/FunctionDeclaration7_es6.js @@ -6,9 +6,9 @@ function*bar() { } //// [FunctionDeclaration7_es6.js] -function bar() { +function* bar() { // 'yield' here is an identifier, and not a yield expression. - function foo(a) { + function* foo(a) { if (a === void 0) { a = yield; } } } diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.js b/tests/baselines/reference/FunctionDeclaration9_es6.js index e19d862f21b..720e276ccba 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.js +++ b/tests/baselines/reference/FunctionDeclaration9_es6.js @@ -4,7 +4,7 @@ function * foo() { } //// [FunctionDeclaration9_es6.js] -function foo() { +function* foo() { var v = (_a = {}, _a[yield] = foo, _a); var _a; } diff --git a/tests/baselines/reference/FunctionExpression1_es6.js b/tests/baselines/reference/FunctionExpression1_es6.js index 97e5d28887d..4d2f36843a9 100644 --- a/tests/baselines/reference/FunctionExpression1_es6.js +++ b/tests/baselines/reference/FunctionExpression1_es6.js @@ -2,4 +2,4 @@ var v = function * () { } //// [FunctionExpression1_es6.js] -var v = function () { }; +var v = function* () { }; diff --git a/tests/baselines/reference/FunctionExpression2_es6.js b/tests/baselines/reference/FunctionExpression2_es6.js index 87960e37128..bd88efcc7ec 100644 --- a/tests/baselines/reference/FunctionExpression2_es6.js +++ b/tests/baselines/reference/FunctionExpression2_es6.js @@ -2,4 +2,4 @@ var v = function * foo() { } //// [FunctionExpression2_es6.js] -var v = function foo() { }; +var v = function* foo() { }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js index 0176b412713..5975745391a 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js @@ -2,4 +2,4 @@ var v = { *foo() { } } //// [FunctionPropertyAssignments1_es6.js] -var v = { foo: function () { } }; +var v = { foo: function* () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js index fc86a6a48d6..b055960b6a8 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js @@ -2,4 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments2_es6.js] -var v = { : function () { } }; +var v = { : function* () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js index 89963edbc6e..9642c28529d 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js @@ -2,4 +2,4 @@ var v = { *{ } } //// [FunctionPropertyAssignments3_es6.js] -var v = { : function () { } }; +var v = { : function* () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments4_es6.js b/tests/baselines/reference/FunctionPropertyAssignments4_es6.js index 71076523414..a76405e34df 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments4_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments4_es6.js @@ -2,4 +2,4 @@ var v = { * } //// [FunctionPropertyAssignments4_es6.js] -var v = { : function () { } }; +var v = {}; diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index 188a843f751..ba25922b670 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,5 +2,5 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var v = (_a = {}, _a[foo()] = function () { }, _a); +var v = (_a = {}, _a[foo()] = function* () { }, _a); var _a; diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js index 60f3677f108..edcd227f7b9 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js @@ -2,4 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments6_es6.js] -var v = { : function () { } }; +var v = { : function* () { } }; diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json new file mode 100644 index 00000000000..3fe305d4106 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.leadingAsterisk.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 27, + "tags": { + "0": { + "kind": "JSDocTypeTag", + "pos": 8, + "end": 22, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 13, + "text": "type" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 14, + "end": 22, + "type": { + "kind": "NumberKeyword", + "pos": 15, + "end": 21 + } + } + }, + "length": 1, + "pos": 8, + "end": 22 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json new file mode 100644 index 00000000000..3fe305d4106 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noLeadingAsterisk.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 27, + "tags": { + "0": { + "kind": "JSDocTypeTag", + "pos": 8, + "end": 22, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 13, + "text": "type" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 14, + "end": 22, + "type": { + "kind": "NumberKeyword", + "pos": 15, + "end": 21 + } + } + }, + "length": 1, + "pos": 8, + "end": 22 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json new file mode 100644 index 00000000000..7947de57a58 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noReturnType.json @@ -0,0 +1,26 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 20, + "tags": { + "0": { + "kind": "JSDocReturnTag", + "pos": 8, + "end": 15, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 15, + "text": "return" + } + }, + "length": 1, + "pos": 8, + "end": 15 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noType.json new file mode 100644 index 00000000000..7a4b97b1336 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.noType.json @@ -0,0 +1,26 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 18, + "tags": { + "0": { + "kind": "JSDocTypeTag", + "pos": 8, + "end": 13, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 13, + "text": "type" + } + }, + "length": 1, + "pos": 8, + "end": 13 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json new file mode 100644 index 00000000000..746c4056f83 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.oneParamTag.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 34, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 24, + "end": 29, + "text": "name1" + } + }, + "length": 1, + "pos": 8, + "end": 29 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json new file mode 100644 index 00000000000..ff4bba576d2 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTag1.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 59, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 24, + "end": 29, + "text": "name1" + } + }, + "length": 1, + "pos": 8, + "end": 29 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json new file mode 100644 index 00000000000..23264572fed --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName1.json @@ -0,0 +1,43 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 61, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 31, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 25, + "end": 30, + "text": "name1" + }, + "isBracketed": true + }, + "length": 1, + "pos": 8, + "end": 31 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json new file mode 100644 index 00000000000..ceb123b6b34 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagBracketedName2.json @@ -0,0 +1,43 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 66, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 36, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 26, + "end": 31, + "text": "name1" + }, + "isBracketed": true + }, + "length": 1, + "pos": 8, + "end": 36 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json new file mode 100644 index 00000000000..19bab08a77b --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType1.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 34, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "preParameterName": { + "kind": "Identifier", + "pos": 15, + "end": 20, + "text": "name1" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 21, + "end": 29, + "type": { + "kind": "NumberKeyword", + "pos": 22, + "end": 28 + } + } + }, + "length": 1, + "pos": 8, + "end": 29 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json new file mode 100644 index 00000000000..5da9084897e --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramTagNameThenType2.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 46, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "preParameterName": { + "kind": "Identifier", + "pos": 15, + "end": 20, + "text": "name1" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 21, + "end": 29, + "type": { + "kind": "NumberKeyword", + "pos": 22, + "end": 28 + } + } + }, + "length": 1, + "pos": 8, + "end": 29 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json new file mode 100644 index 00000000000..293d2a4c212 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.paramWithoutType.json @@ -0,0 +1,32 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 23, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 18, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "preParameterName": { + "kind": "Identifier", + "pos": 15, + "end": 18, + "text": "foo" + } + }, + "length": 1, + "pos": 8, + "end": 18 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json new file mode 100644 index 00000000000..a8425d833ae --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag1.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 29, + "tags": { + "0": { + "kind": "JSDocReturnTag", + "pos": 8, + "end": 24, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 15, + "text": "return" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 16, + "end": 24, + "type": { + "kind": "NumberKeyword", + "pos": 17, + "end": 23 + } + } + }, + "length": 1, + "pos": 8, + "end": 24 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json new file mode 100644 index 00000000000..af4fd91964d --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnTag2.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 54, + "tags": { + "0": { + "kind": "JSDocReturnTag", + "pos": 8, + "end": 24, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 15, + "text": "return" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 16, + "end": 24, + "type": { + "kind": "NumberKeyword", + "pos": 17, + "end": 23 + } + } + }, + "length": 1, + "pos": 8, + "end": 24 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json new file mode 100644 index 00000000000..ceca9584a2d --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.returnsTag1.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 30, + "tags": { + "0": { + "kind": "JSDocReturnTag", + "pos": 8, + "end": 25, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 16, + "text": "returns" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 17, + "end": 25, + "type": { + "kind": "NumberKeyword", + "pos": 18, + "end": 24 + } + } + }, + "length": 1, + "pos": 8, + "end": 25 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json new file mode 100644 index 00000000000..2804a704ba7 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 24, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 19, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "T" + } + }, + "length": 1, + "pos": 17, + "end": 19 + } + }, + "length": 1, + "pos": 8, + "end": 19 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json new file mode 100644 index 00000000000..a55761a52b7 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag2.json @@ -0,0 +1,53 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 26, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 21, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "K" + } + }, + "1": { + "kind": "TypeParameter", + "pos": 20, + "end": 21, + "name": { + "kind": "Identifier", + "pos": 20, + "end": 21, + "text": "V" + } + }, + "length": 2, + "pos": 17, + "end": 21 + } + }, + "length": 1, + "pos": 8, + "end": 21 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json new file mode 100644 index 00000000000..64e6e206e11 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag3.json @@ -0,0 +1,53 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 27, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 22, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "K" + } + }, + "1": { + "kind": "TypeParameter", + "pos": 21, + "end": 22, + "name": { + "kind": "Identifier", + "pos": 21, + "end": 22, + "text": "V" + } + }, + "length": 2, + "pos": 17, + "end": 22 + } + }, + "length": 1, + "pos": 8, + "end": 22 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json new file mode 100644 index 00000000000..64e6e206e11 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag4.json @@ -0,0 +1,53 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 27, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 22, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "K" + } + }, + "1": { + "kind": "TypeParameter", + "pos": 21, + "end": 22, + "name": { + "kind": "Identifier", + "pos": 21, + "end": 22, + "text": "V" + } + }, + "length": 2, + "pos": 17, + "end": 22 + } + }, + "length": 1, + "pos": 8, + "end": 22 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json new file mode 100644 index 00000000000..9b5a4a6c790 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag5.json @@ -0,0 +1,53 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 28, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 23, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "K" + } + }, + "1": { + "kind": "TypeParameter", + "pos": 22, + "end": 23, + "name": { + "kind": "Identifier", + "pos": 22, + "end": 23, + "text": "V" + } + }, + "length": 2, + "pos": 17, + "end": 23 + } + }, + "length": 1, + "pos": 8, + "end": 23 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json new file mode 100644 index 00000000000..d5c1c997b02 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.templateTag6.json @@ -0,0 +1,53 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 60, + "tags": { + "0": { + "kind": "JSDocTemplateTag", + "pos": 8, + "end": 23, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 17, + "text": "template" + }, + "typeParameters": { + "0": { + "kind": "TypeParameter", + "pos": 18, + "end": 19, + "name": { + "kind": "Identifier", + "pos": 18, + "end": 19, + "text": "K" + } + }, + "1": { + "kind": "TypeParameter", + "pos": 22, + "end": 23, + "name": { + "kind": "Identifier", + "pos": 22, + "end": 23, + "text": "V" + } + }, + "length": 2, + "pos": 17, + "end": 23 + } + }, + "length": 1, + "pos": 8, + "end": 23 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json new file mode 100644 index 00000000000..da465077066 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTag2.json @@ -0,0 +1,74 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 60, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 24, + "end": 29, + "text": "name1" + } + }, + "1": { + "kind": "JSDocParameterTag", + "pos": 34, + "end": 55, + "atToken": { + "kind": "AtToken", + "pos": 34, + "end": 35 + }, + "tagName": { + "kind": "Identifier", + "pos": 35, + "end": 40, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 41, + "end": 49, + "type": { + "kind": "NumberKeyword", + "pos": 42, + "end": 48 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 50, + "end": 55, + "text": "name2" + } + }, + "length": 2, + "pos": 8, + "end": 55 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json new file mode 100644 index 00000000000..c995aa8bf22 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.twoParamTagOnSameLine.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 56, + "tags": { + "0": { + "kind": "JSDocParameterTag", + "pos": 8, + "end": 29, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 14, + "text": "param" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 15, + "end": 23, + "type": { + "kind": "NumberKeyword", + "pos": 16, + "end": 22 + } + }, + "postParameterName": { + "kind": "Identifier", + "pos": 24, + "end": 29, + "text": "name1" + } + }, + "length": 1, + "pos": 8, + "end": 29 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json new file mode 100644 index 00000000000..3fe305d4106 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typeTag.json @@ -0,0 +1,36 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 27, + "tags": { + "0": { + "kind": "JSDocTypeTag", + "pos": 8, + "end": 22, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 13, + "text": "type" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 14, + "end": 22, + "type": { + "kind": "NumberKeyword", + "pos": 15, + "end": 21 + } + } + }, + "length": 1, + "pos": 8, + "end": 22 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json new file mode 100644 index 00000000000..2d6d58d36b2 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.typedefTagWithChildrenTags.json @@ -0,0 +1,135 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 102, + "tags": { + "0": { + "kind": "JSDocTypedefTag", + "pos": 8, + "end": 97, + "atToken": { + "kind": "AtToken", + "pos": 8, + "end": 9 + }, + "tagName": { + "kind": "Identifier", + "pos": 9, + "end": 16, + "text": "typedef" + }, + "name": { + "kind": "Identifier", + "pos": 17, + "end": 23, + "text": "People" + }, + "jsDocTypeLiteral": { + "kind": "JSDocTypeLiteral", + "pos": 23, + "end": 97, + "jsDocTypeTag": { + "kind": "JSDocTypeTag", + "pos": 27, + "end": 42, + "atToken": { + "kind": "AtToken", + "pos": 27, + "end": 29 + }, + "tagName": { + "kind": "Identifier", + "pos": 29, + "end": 33, + "text": "type" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 34, + "end": 42, + "type": { + "kind": "JSDocTypeReference", + "pos": 35, + "end": 41, + "name": { + "kind": "Identifier", + "pos": 35, + "end": 41, + "text": "Object" + } + } + } + }, + "jsDocPropertyTags": [ + { + "kind": "JSDocPropertyTag", + "pos": 46, + "end": 69, + "atToken": { + "kind": "AtToken", + "pos": 46, + "end": 48 + }, + "tagName": { + "kind": "Identifier", + "pos": 48, + "end": 56, + "text": "property" + }, + "name": { + "kind": "Identifier", + "pos": 66, + "end": 69, + "text": "age" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 57, + "end": 65, + "type": { + "kind": "NumberKeyword", + "pos": 58, + "end": 64 + } + } + }, + { + "kind": "JSDocPropertyTag", + "pos": 73, + "end": 97, + "atToken": { + "kind": "AtToken", + "pos": 73, + "end": 75 + }, + "tagName": { + "kind": "Identifier", + "pos": 75, + "end": 83, + "text": "property" + }, + "name": { + "kind": "Identifier", + "pos": 93, + "end": 97, + "text": "name" + }, + "typeExpression": { + "kind": "JSDocTypeExpression", + "pos": 84, + "end": 92, + "type": { + "kind": "StringKeyword", + "pos": 85, + "end": 91 + } + } + } + ] + } + }, + "length": 1, + "pos": 8, + "end": 97 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json new file mode 100644 index 00000000000..68081a1b9e4 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.allType.json @@ -0,0 +1,5 @@ +{ + "kind": "JSDocAllType", + "pos": 1, + "end": 2 +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json new file mode 100644 index 00000000000..cd9255d392c --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType1.json @@ -0,0 +1,16 @@ +{ + "kind": "JSDocArrayType", + "pos": 1, + "end": 4, + "elementType": { + "kind": "JSDocTypeReference", + "pos": 1, + "end": 2, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json new file mode 100644 index 00000000000..1fe6d184599 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType2.json @@ -0,0 +1,21 @@ +{ + "kind": "JSDocArrayType", + "pos": 1, + "end": 6, + "elementType": { + "kind": "JSDocArrayType", + "pos": 1, + "end": 4, + "elementType": { + "kind": "JSDocTypeReference", + "pos": 1, + "end": 2, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + } + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json new file mode 100644 index 00000000000..2fe27c67a1b --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.arrayType3.json @@ -0,0 +1,26 @@ +{ + "kind": "JSDocOptionalType", + "pos": 1, + "end": 7, + "type": { + "kind": "JSDocArrayType", + "pos": 1, + "end": 6, + "elementType": { + "kind": "JSDocArrayType", + "pos": 1, + "end": 4, + "elementType": { + "kind": "JSDocTypeReference", + "pos": 1, + "end": 2, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + } + } + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json new file mode 100644 index 00000000000..209b9440a87 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionReturnType1.json @@ -0,0 +1,30 @@ +{ + "kind": "JSDocFunctionType", + "pos": 1, + "end": 26, + "parameters": { + "0": { + "kind": "Parameter", + "pos": 10, + "end": 16, + "type": { + "kind": "StringKeyword", + "pos": 10, + "end": 16 + } + }, + "1": { + "kind": "Parameter", + "pos": 17, + "end": 25, + "type": { + "kind": "BooleanKeyword", + "pos": 17, + "end": 25 + } + }, + "length": 2, + "pos": 10, + "end": 25 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json new file mode 100644 index 00000000000..d3be94a76ff --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType1.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocFunctionType", + "pos": 1, + "end": 11, + "parameters": { + "length": 0, + "pos": 10, + "end": 10 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json new file mode 100644 index 00000000000..209b9440a87 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.functionType2.json @@ -0,0 +1,30 @@ +{ + "kind": "JSDocFunctionType", + "pos": 1, + "end": 26, + "parameters": { + "0": { + "kind": "Parameter", + "pos": 10, + "end": 16, + "type": { + "kind": "StringKeyword", + "pos": 10, + "end": 16 + } + }, + "1": { + "kind": "Parameter", + "pos": 17, + "end": 25, + "type": { + "kind": "BooleanKeyword", + "pos": 17, + "end": 25 + } + }, + "length": 2, + "pos": 10, + "end": 25 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json new file mode 100644 index 00000000000..80b1378b291 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword1.json @@ -0,0 +1,12 @@ +{ + "kind": "JSDocTypeReference", + "pos": 1, + "end": 4, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 4, + "originalKeywordKind": "VarKeyword", + "text": "var" + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json new file mode 100644 index 00000000000..4148937b278 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword2.json @@ -0,0 +1,5 @@ +{ + "kind": "NullKeyword", + "pos": 1, + "end": 5 +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json new file mode 100644 index 00000000000..c61912f9eb8 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.keyword3.json @@ -0,0 +1,5 @@ +{ + "kind": "UndefinedKeyword", + "pos": 1, + "end": 10 +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json new file mode 100644 index 00000000000..194037970c5 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.newType1.json @@ -0,0 +1,27 @@ +{ + "kind": "JSDocConstructorType", + "pos": 1, + "end": 8, + "type": { + "kind": "JSDocTypeReference", + "pos": 5, + "end": 8, + "name": { + "kind": "FirstNode", + "pos": 5, + "end": 8, + "left": { + "kind": "Identifier", + "pos": 5, + "end": 6, + "text": "a" + }, + "right": { + "kind": "Identifier", + "pos": 7, + "end": 8, + "text": "b" + } + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json new file mode 100644 index 00000000000..e089754a0de --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocNonNullableType", + "pos": 1, + "end": 8, + "type": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json new file mode 100644 index 00000000000..377b19d0f70 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nonNullableType2.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocNonNullableType", + "pos": 1, + "end": 8, + "type": { + "kind": "NumberKeyword", + "pos": 1, + "end": 7 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json new file mode 100644 index 00000000000..9c4457fba12 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocNullableType", + "pos": 1, + "end": 8, + "type": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json new file mode 100644 index 00000000000..03aea7be8c5 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.nullableType2.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocNullableType", + "pos": 1, + "end": 8, + "type": { + "kind": "NumberKeyword", + "pos": 1, + "end": 7 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json new file mode 100644 index 00000000000..f4940c28475 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalNullable.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocOptionalType", + "pos": 1, + "end": 3, + "type": { + "kind": "JSDocUnknownType", + "pos": 1, + "end": 2 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json new file mode 100644 index 00000000000..6069107cc6e --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.optionalType.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocOptionalType", + "pos": 1, + "end": 8, + "type": { + "kind": "NumberKeyword", + "pos": 1, + "end": 7 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json new file mode 100644 index 00000000000..ab9bb050a89 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType1.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 3, + "members": { + "length": 0, + "pos": 2, + "end": 2 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json new file mode 100644 index 00000000000..73ff5dbfa60 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType2.json @@ -0,0 +1,21 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 6, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 5, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + } + }, + "length": 1, + "pos": 2, + "end": 5 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json new file mode 100644 index 00000000000..0ffac6cba8f --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType3.json @@ -0,0 +1,26 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 14, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 13, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + }, + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13 + } + }, + "length": 1, + "pos": 2, + "end": 13 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json new file mode 100644 index 00000000000..f49c2fd22ae --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType4.json @@ -0,0 +1,32 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 11, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 5, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + } + }, + "1": { + "kind": "JSDocRecordMember", + "pos": 6, + "end": 10, + "name": { + "kind": "Identifier", + "pos": 6, + "end": 10, + "text": "bar" + } + }, + "length": 2, + "pos": 2, + "end": 10 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json new file mode 100644 index 00000000000..4474dba8e21 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType5.json @@ -0,0 +1,37 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 19, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 13, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + }, + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13 + } + }, + "1": { + "kind": "JSDocRecordMember", + "pos": 14, + "end": 18, + "name": { + "kind": "Identifier", + "pos": 14, + "end": 18, + "text": "bar" + } + }, + "length": 2, + "pos": 2, + "end": 18 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json new file mode 100644 index 00000000000..a88005b0cec --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType6.json @@ -0,0 +1,37 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 19, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 5, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + } + }, + "1": { + "kind": "JSDocRecordMember", + "pos": 6, + "end": 18, + "name": { + "kind": "Identifier", + "pos": 6, + "end": 10, + "text": "bar" + }, + "type": { + "kind": "NumberKeyword", + "pos": 11, + "end": 18 + } + }, + "length": 2, + "pos": 2, + "end": 18 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json new file mode 100644 index 00000000000..e69f9a74682 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType7.json @@ -0,0 +1,42 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 27, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 13, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 5, + "text": "foo" + }, + "type": { + "kind": "NumberKeyword", + "pos": 6, + "end": 13 + } + }, + "1": { + "kind": "JSDocRecordMember", + "pos": 14, + "end": 26, + "name": { + "kind": "Identifier", + "pos": 14, + "end": 18, + "text": "bar" + }, + "type": { + "kind": "NumberKeyword", + "pos": 19, + "end": 26 + } + }, + "length": 2, + "pos": 2, + "end": 26 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json new file mode 100644 index 00000000000..35701931097 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.recordType8.json @@ -0,0 +1,22 @@ +{ + "kind": "JSDocRecordType", + "pos": 1, + "end": 11, + "members": { + "0": { + "kind": "JSDocRecordMember", + "pos": 2, + "end": 10, + "name": { + "kind": "Identifier", + "pos": 2, + "end": 10, + "originalKeywordKind": "FunctionKeyword", + "text": "function" + } + }, + "length": 1, + "pos": 2, + "end": 10 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json new file mode 100644 index 00000000000..f0b8038b586 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.thisType1.json @@ -0,0 +1,27 @@ +{ + "kind": "JSDocThisType", + "pos": 1, + "end": 9, + "type": { + "kind": "JSDocTypeReference", + "pos": 6, + "end": 9, + "name": { + "kind": "FirstNode", + "pos": 6, + "end": 9, + "left": { + "kind": "Identifier", + "pos": 6, + "end": 7, + "text": "a" + }, + "right": { + "kind": "Identifier", + "pos": 8, + "end": 9, + "text": "b" + } + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json new file mode 100644 index 00000000000..dd9ef74f8c6 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.topLevelNoParenUnionType.json @@ -0,0 +1,20 @@ +{ + "kind": "JSDocUnionType", + "pos": 1, + "end": 14, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 1, + "end": 7 + }, + "1": { + "kind": "StringKeyword", + "pos": 8, + "end": 14 + }, + "length": 2, + "pos": 1, + "end": 14 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json new file mode 100644 index 00000000000..2b5580f7622 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType0.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocTupleType", + "pos": 1, + "end": 3, + "types": { + "length": 0, + "pos": 2, + "end": 2 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json new file mode 100644 index 00000000000..f741169be4b --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType1.json @@ -0,0 +1,15 @@ +{ + "kind": "JSDocTupleType", + "pos": 1, + "end": 9, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + }, + "length": 1, + "pos": 2, + "end": 8 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json new file mode 100644 index 00000000000..939eec1cb0c --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType2.json @@ -0,0 +1,20 @@ +{ + "kind": "JSDocTupleType", + "pos": 1, + "end": 16, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + }, + "1": { + "kind": "StringKeyword", + "pos": 9, + "end": 15 + }, + "length": 2, + "pos": 2, + "end": 15 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json new file mode 100644 index 00000000000..50b0a702a84 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.tupleType3.json @@ -0,0 +1,25 @@ +{ + "kind": "JSDocTupleType", + "pos": 1, + "end": 24, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + }, + "1": { + "kind": "StringKeyword", + "pos": 9, + "end": 15 + }, + "2": { + "kind": "BooleanKeyword", + "pos": 16, + "end": 23 + }, + "length": 3, + "pos": 2, + "end": 23 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json new file mode 100644 index 00000000000..282bc8c8e64 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference1.json @@ -0,0 +1,21 @@ +{ + "kind": "JSDocTypeReference", + "pos": 1, + "end": 11, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + }, + "typeArguments": { + "0": { + "kind": "NumberKeyword", + "pos": 4, + "end": 10 + }, + "length": 1, + "pos": 4, + "end": 10 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json new file mode 100644 index 00000000000..570db907956 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference2.json @@ -0,0 +1,26 @@ +{ + "kind": "JSDocTypeReference", + "pos": 1, + "end": 18, + "name": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + }, + "typeArguments": { + "0": { + "kind": "NumberKeyword", + "pos": 4, + "end": 10 + }, + "1": { + "kind": "StringKeyword", + "pos": 11, + "end": 17 + }, + "length": 2, + "pos": 4, + "end": 17 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json new file mode 100644 index 00000000000..683c17e582e --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.typeReference3.json @@ -0,0 +1,23 @@ +{ + "kind": "JSDocTypeReference", + "pos": 1, + "end": 11, + "name": { + "kind": "FirstNode", + "pos": 1, + "end": 11, + "left": { + "kind": "Identifier", + "pos": 1, + "end": 2, + "text": "a" + }, + "right": { + "kind": "Identifier", + "pos": 3, + "end": 11, + "originalKeywordKind": "FunctionKeyword", + "text": "function" + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json new file mode 100644 index 00000000000..f9301d05cc5 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionType.json @@ -0,0 +1,20 @@ +{ + "kind": "JSDocUnionType", + "pos": 1, + "end": 16, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 2, + "end": 8 + }, + "1": { + "kind": "StringKeyword", + "pos": 9, + "end": 15 + }, + "length": 2, + "pos": 2, + "end": 15 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json new file mode 100644 index 00000000000..0fb7af7ef23 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unknownType.json @@ -0,0 +1,5 @@ +{ + "kind": "JSDocUnknownType", + "pos": 1, + "end": 2 +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json new file mode 100644 index 00000000000..2cf6079533c --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.variadicType.json @@ -0,0 +1,10 @@ +{ + "kind": "JSDocVariadicType", + "pos": 1, + "end": 10, + "type": { + "kind": "NumberKeyword", + "pos": 4, + "end": 10 + } +} \ No newline at end of file diff --git a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js index c69316783bd..ec37b3370b0 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { }; + C.prototype.foo = function* () { }; return C; }()); diff --git a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js index ce1781fcac2..54550ef72e7 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { }; + C.prototype.foo = function* () { }; return C; }()); diff --git a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js index b32bd6bc57e..07d9a021fcd 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype[foo] = function () { }; + C.prototype[foo] = function* () { }; return C; }()); diff --git a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js index abca2775ea0..f791d4a1156 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype. = function () { }; + C.prototype. = function* () { }; return C; }()); diff --git a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js index a7d80ae974b..8e19f0db333 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { }; + C.prototype.foo = function* () { }; return C; }()); diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types index 343b69954b0..f728c41b6a1 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types @@ -15,8 +15,8 @@ enum enumdule { >enumdule : enumdule Red, Blue ->Red : enumdule ->Blue : enumdule +>Red : enumdule.Red +>Blue : enumdule.Blue } var x: enumdule; @@ -25,9 +25,9 @@ var x: enumdule; var x = enumdule.Red; >x : enumdule ->enumdule.Red : enumdule +>enumdule.Red : enumdule.Red >enumdule : typeof enumdule ->Red : enumdule +>Red : enumdule.Red var y: { x: number; y: number }; >y : { x: number; y: number; } @@ -40,6 +40,6 @@ var y = new enumdule.Point(0, 0); >enumdule.Point : typeof enumdule.Point >enumdule : typeof enumdule >Point : typeof enumdule.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index af3c0776b56..25a627030c4 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -39,9 +39,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } === tests/cases/conformance/internalModules/DeclarationMerging/part2.ts === @@ -51,7 +51,7 @@ module A { // not a collision, since we don't export var Origin: string = "0,0"; >Origin : string ->"0,0" : string +>"0,0" : "0,0" export module Utils { >Utils : typeof Utils @@ -123,8 +123,8 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >o : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types index e005522ddfc..2d654a580ea 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types @@ -55,9 +55,9 @@ module otherRoot { >Point : Root.A.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export module Utils { >Utils : typeof Utils diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index e2dd1f400f4..11cb6e95d28 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -45,9 +45,9 @@ module A { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 export module Utils { >Utils : typeof Utils @@ -119,8 +119,8 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >o : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/TypeGuardWithEnumUnion.types b/tests/baselines/reference/TypeGuardWithEnumUnion.types index 05d55cb0dbb..d33411c4c7c 100644 --- a/tests/baselines/reference/TypeGuardWithEnumUnion.types +++ b/tests/baselines/reference/TypeGuardWithEnumUnion.types @@ -1,20 +1,20 @@ === tests/cases/conformance/expressions/typeGuards/TypeGuardWithEnumUnion.ts === enum Color { R, G, B } >Color : Color ->R : Color ->G : Color ->B : Color +>R : Color.R +>G : Color.G +>B : Color.B function f1(x: Color | string) { ->f1 : (x: Color | string) => void ->x : Color | string +>f1 : (x: string | Color) => void +>x : string | Color >Color : Color if (typeof x === "number") { >typeof x === "number" : boolean >typeof x : string ->x : Color | string ->"number" : string +>x : string | Color +>"number" : "number" var y = x; >y : Color @@ -35,15 +35,15 @@ function f1(x: Color | string) { } function f2(x: Color | string | string[]) { ->f2 : (x: Color | string | string[]) => void ->x : Color | string | string[] +>f2 : (x: string | Color | string[]) => void +>x : string | Color | string[] >Color : Color if (typeof x === "object") { >typeof x === "object" : boolean >typeof x : string ->x : Color | string | string[] ->"object" : string +>x : string | Color | string[] +>"object" : "object" var y = x; >y : string[] @@ -55,8 +55,8 @@ function f2(x: Color | string | string[]) { if (typeof x === "number") { >typeof x === "number" : boolean >typeof x : string ->x : string[] | Color | string ->"number" : string +>x : string | Color | string[] +>"number" : "number" var z = x; >z : Color @@ -68,17 +68,17 @@ function f2(x: Color | string | string[]) { } else { var w = x; ->w : string[] | string ->x : string[] | string +>w : string | string[] +>x : string | string[] var w: string | string[]; ->w : string[] | string +>w : string | string[] } if (typeof x === "string") { >typeof x === "string" : boolean >typeof x : string ->x : Color | string[] | string ->"string" : string +>x : string | Color | string[] +>"string" : "string" var a = x; >a : string diff --git a/tests/baselines/reference/VariableDeclaration10_es6.types b/tests/baselines/reference/VariableDeclaration10_es6.types index 717de7ed0ff..29056b88ce1 100644 --- a/tests/baselines/reference/VariableDeclaration10_es6.types +++ b/tests/baselines/reference/VariableDeclaration10_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration10_es6.ts === let a: number = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/VariableDeclaration3_es6.types b/tests/baselines/reference/VariableDeclaration3_es6.types index 1b5bbdb4ea7..5f92a06df11 100644 --- a/tests/baselines/reference/VariableDeclaration3_es6.types +++ b/tests/baselines/reference/VariableDeclaration3_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration3_es6.ts === const a = 1 ->a : number ->1 : number +>a : 1 +>1 : 1 diff --git a/tests/baselines/reference/VariableDeclaration5_es6.types b/tests/baselines/reference/VariableDeclaration5_es6.types index 0dce532be51..c0ed35a43e3 100644 --- a/tests/baselines/reference/VariableDeclaration5_es6.types +++ b/tests/baselines/reference/VariableDeclaration5_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration5_es6.ts === const a: number = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/VariableDeclaration8_es6.types b/tests/baselines/reference/VariableDeclaration8_es6.types index 24a3cd85383..e31fddbc09f 100644 --- a/tests/baselines/reference/VariableDeclaration8_es6.types +++ b/tests/baselines/reference/VariableDeclaration8_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration8_es6.ts === let a = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/YieldExpression10_es6.js b/tests/baselines/reference/YieldExpression10_es6.js index 1400e8c277e..e1dd44b676b 100644 --- a/tests/baselines/reference/YieldExpression10_es6.js +++ b/tests/baselines/reference/YieldExpression10_es6.js @@ -6,7 +6,7 @@ var v = { * foo() { //// [YieldExpression10_es6.js] -var v = { foo: function () { +var v = { foo: function* () { yield (foo); } }; diff --git a/tests/baselines/reference/YieldExpression11_es6.js b/tests/baselines/reference/YieldExpression11_es6.js index 6260309473d..fb4f83c7197 100644 --- a/tests/baselines/reference/YieldExpression11_es6.js +++ b/tests/baselines/reference/YieldExpression11_es6.js @@ -9,7 +9,7 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { + C.prototype.foo = function* () { yield (foo); }; return C; diff --git a/tests/baselines/reference/YieldExpression13_es6.js b/tests/baselines/reference/YieldExpression13_es6.js index 4923f124707..c75e964675a 100644 --- a/tests/baselines/reference/YieldExpression13_es6.js +++ b/tests/baselines/reference/YieldExpression13_es6.js @@ -2,4 +2,4 @@ function* foo() { yield } //// [YieldExpression13_es6.js] -function foo() { yield; } +function* foo() { yield; } diff --git a/tests/baselines/reference/YieldExpression16_es6.js b/tests/baselines/reference/YieldExpression16_es6.js index 4bb019c8dbe..0937cfedcb9 100644 --- a/tests/baselines/reference/YieldExpression16_es6.js +++ b/tests/baselines/reference/YieldExpression16_es6.js @@ -6,7 +6,7 @@ function* foo() { } //// [YieldExpression16_es6.js] -function foo() { +function* foo() { function bar() { yield foo; } diff --git a/tests/baselines/reference/YieldExpression19_es6.js b/tests/baselines/reference/YieldExpression19_es6.js index d40b6e89a9d..444c7af7be1 100644 --- a/tests/baselines/reference/YieldExpression19_es6.js +++ b/tests/baselines/reference/YieldExpression19_es6.js @@ -8,9 +8,9 @@ function*foo() { } //// [YieldExpression19_es6.js] -function foo() { +function* foo() { function bar() { - function quux() { + function* quux() { yield (foo); } } diff --git a/tests/baselines/reference/YieldExpression3_es6.js b/tests/baselines/reference/YieldExpression3_es6.js index c69e8b29700..737b3534886 100644 --- a/tests/baselines/reference/YieldExpression3_es6.js +++ b/tests/baselines/reference/YieldExpression3_es6.js @@ -5,7 +5,7 @@ function* foo() { } //// [YieldExpression3_es6.js] -function foo() { +function* foo() { yield; yield; } diff --git a/tests/baselines/reference/YieldExpression4_es6.js b/tests/baselines/reference/YieldExpression4_es6.js index 5f50b721bc8..c97a7949b2b 100644 --- a/tests/baselines/reference/YieldExpression4_es6.js +++ b/tests/baselines/reference/YieldExpression4_es6.js @@ -5,7 +5,7 @@ function* foo() { } //// [YieldExpression4_es6.js] -function foo() { +function* foo() { yield; yield; } diff --git a/tests/baselines/reference/YieldExpression5_es6.js b/tests/baselines/reference/YieldExpression5_es6.js index 82b405a4cda..8599cfdb6bb 100644 --- a/tests/baselines/reference/YieldExpression5_es6.js +++ b/tests/baselines/reference/YieldExpression5_es6.js @@ -4,6 +4,6 @@ function* foo() { } //// [YieldExpression5_es6.js] -function foo() { +function* foo() { yield* ; } diff --git a/tests/baselines/reference/YieldExpression6_es6.js b/tests/baselines/reference/YieldExpression6_es6.js index 67d5a745e72..c511daec989 100644 --- a/tests/baselines/reference/YieldExpression6_es6.js +++ b/tests/baselines/reference/YieldExpression6_es6.js @@ -4,6 +4,6 @@ function* foo() { } //// [YieldExpression6_es6.js] -function foo() { +function* foo() { yield* foo; } diff --git a/tests/baselines/reference/YieldExpression7_es6.js b/tests/baselines/reference/YieldExpression7_es6.js index 226555dd6ef..8055b96ec73 100644 --- a/tests/baselines/reference/YieldExpression7_es6.js +++ b/tests/baselines/reference/YieldExpression7_es6.js @@ -4,6 +4,6 @@ function* foo() { } //// [YieldExpression7_es6.js] -function foo() { +function* foo() { yield foo; } diff --git a/tests/baselines/reference/YieldExpression8_es6.js b/tests/baselines/reference/YieldExpression8_es6.js index 990164af20d..cc92b79c722 100644 --- a/tests/baselines/reference/YieldExpression8_es6.js +++ b/tests/baselines/reference/YieldExpression8_es6.js @@ -6,6 +6,6 @@ function* foo() { //// [YieldExpression8_es6.js] yield(foo); -function foo() { +function* foo() { yield (foo); } diff --git a/tests/baselines/reference/YieldExpression9_es6.js b/tests/baselines/reference/YieldExpression9_es6.js index f38aa811fec..a2ffa0fa01b 100644 --- a/tests/baselines/reference/YieldExpression9_es6.js +++ b/tests/baselines/reference/YieldExpression9_es6.js @@ -4,6 +4,6 @@ var v = function*() { } //// [YieldExpression9_es6.js] -var v = function () { +var v = function* () { yield (foo); }; diff --git a/tests/baselines/reference/YieldStarExpression3_es6.js b/tests/baselines/reference/YieldStarExpression3_es6.js index 7463fc01bc1..e64306dc4cf 100644 --- a/tests/baselines/reference/YieldStarExpression3_es6.js +++ b/tests/baselines/reference/YieldStarExpression3_es6.js @@ -4,6 +4,6 @@ function *g() { } //// [YieldStarExpression3_es6.js] -function g() { +function* g() { yield* ; } diff --git a/tests/baselines/reference/YieldStarExpression4_es6.js b/tests/baselines/reference/YieldStarExpression4_es6.js index 6283b81cca3..8ec5fa0c933 100644 --- a/tests/baselines/reference/YieldStarExpression4_es6.js +++ b/tests/baselines/reference/YieldStarExpression4_es6.js @@ -4,6 +4,6 @@ function *g() { } //// [YieldStarExpression4_es6.js] -function g() { +function* g() { yield* []; } diff --git a/tests/baselines/reference/abstractClassInLocalScope.js b/tests/baselines/reference/abstractClassInLocalScope.js new file mode 100644 index 00000000000..a49da04c8a1 --- /dev/null +++ b/tests/baselines/reference/abstractClassInLocalScope.js @@ -0,0 +1,31 @@ +//// [abstractClassInLocalScope.ts] +(() => { + abstract class A {} + class B extends A {} + new B(); + return A; +})(); + + +//// [abstractClassInLocalScope.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +(function () { + var A = (function () { + function A() { + } + return A; + }()); + var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; + }(A)); + new B(); + return A; +})(); diff --git a/tests/baselines/reference/abstractClassInLocalScope.symbols b/tests/baselines/reference/abstractClassInLocalScope.symbols new file mode 100644 index 00000000000..8b8033e5c86 --- /dev/null +++ b/tests/baselines/reference/abstractClassInLocalScope.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/abstractClassInLocalScope.ts === +(() => { + abstract class A {} +>A : Symbol(A, Decl(abstractClassInLocalScope.ts, 0, 8)) + + class B extends A {} +>B : Symbol(B, Decl(abstractClassInLocalScope.ts, 1, 23)) +>A : Symbol(A, Decl(abstractClassInLocalScope.ts, 0, 8)) + + new B(); +>B : Symbol(B, Decl(abstractClassInLocalScope.ts, 1, 23)) + + return A; +>A : Symbol(A, Decl(abstractClassInLocalScope.ts, 0, 8)) + +})(); + diff --git a/tests/baselines/reference/abstractClassInLocalScope.types b/tests/baselines/reference/abstractClassInLocalScope.types new file mode 100644 index 00000000000..56456dc7d8c --- /dev/null +++ b/tests/baselines/reference/abstractClassInLocalScope.types @@ -0,0 +1,22 @@ +=== tests/cases/compiler/abstractClassInLocalScope.ts === +(() => { +>(() => { abstract class A {} class B extends A {} new B(); return A;})() : typeof A +>(() => { abstract class A {} class B extends A {} new B(); return A;}) : () => typeof A +>() => { abstract class A {} class B extends A {} new B(); return A;} : () => typeof A + + abstract class A {} +>A : A + + class B extends A {} +>B : B +>A : A + + new B(); +>new B() : B +>B : typeof B + + return A; +>A : typeof A + +})(); + diff --git a/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.errors.txt b/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.errors.txt new file mode 100644 index 00000000000..f5c5b417ea3 --- /dev/null +++ b/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/abstractClassInLocalScopeIsAbstract.ts(4,5): error TS2511: Cannot create an instance of the abstract class 'A'. + + +==== tests/cases/compiler/abstractClassInLocalScopeIsAbstract.ts (1 errors) ==== + (() => { + abstract class A {} + class B extends A {} + new A(); + ~~~~~~~ +!!! error TS2511: Cannot create an instance of the abstract class 'A'. + new B(); + })() + \ No newline at end of file diff --git a/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.js b/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.js new file mode 100644 index 00000000000..1f6c1dfdd7a --- /dev/null +++ b/tests/baselines/reference/abstractClassInLocalScopeIsAbstract.js @@ -0,0 +1,31 @@ +//// [abstractClassInLocalScopeIsAbstract.ts] +(() => { + abstract class A {} + class B extends A {} + new A(); + new B(); +})() + + +//// [abstractClassInLocalScopeIsAbstract.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +(function () { + var A = (function () { + function A() { + } + return A; + }()); + var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; + }(A)); + new A(); + new B(); +})(); diff --git a/tests/baselines/reference/abstractIdentifierNameStrict.types b/tests/baselines/reference/abstractIdentifierNameStrict.types index 7c79ce58a37..de6b1f458ac 100644 --- a/tests/baselines/reference/abstractIdentifierNameStrict.types +++ b/tests/baselines/reference/abstractIdentifierNameStrict.types @@ -1,15 +1,15 @@ === tests/cases/compiler/abstractIdentifierNameStrict.ts === var abstract = true; >abstract : boolean ->true : boolean +>true : true function foo() { >foo : () => void "use strict"; ->"use strict" : string +>"use strict" : "use strict" var abstract = true; >abstract : boolean ->true : boolean +>true : true } diff --git a/tests/baselines/reference/abstractProperty.js b/tests/baselines/reference/abstractProperty.js index 9564be862dc..87b5475111b 100644 --- a/tests/baselines/reference/abstractProperty.js +++ b/tests/baselines/reference/abstractProperty.js @@ -30,12 +30,6 @@ var __extends = (this && this.__extends) || function (d, b) { var B = (function () { function B() { } - Object.defineProperty(B.prototype, "readonlyProp", { - get: function () { }, - set: function (val) { }, - enumerable: true, - configurable: true - }); return B; }()); var C = (function (_super) { diff --git a/tests/baselines/reference/abstractProperty.types b/tests/baselines/reference/abstractProperty.types index b6aff9356cd..aa0d1c6917a 100644 --- a/tests/baselines/reference/abstractProperty.types +++ b/tests/baselines/reference/abstractProperty.types @@ -40,7 +40,7 @@ class C extends B { get prop() { return "foo"; } >prop : string ->"foo" : string +>"foo" : "foo" set prop(v) { } >prop : string @@ -48,11 +48,11 @@ class C extends B { raw = "edge"; >raw : string ->"edge" : string +>"edge" : "edge" readonly ro = "readonly please"; ->ro : string ->"readonly please" : string +>ro : "readonly please" +>"readonly please" : "readonly please" readonlyProp: string; // don't have to give a value, in fact >readonlyProp : string diff --git a/tests/baselines/reference/abstractPropertyNegative.js b/tests/baselines/reference/abstractPropertyNegative.js index 55c9aea9411..5fc340c58d0 100644 --- a/tests/baselines/reference/abstractPropertyNegative.js +++ b/tests/baselines/reference/abstractPropertyNegative.js @@ -52,18 +52,6 @@ var __extends = (this && this.__extends) || function (d, b) { var B = (function () { function B() { } - Object.defineProperty(B.prototype, "readonlyProp", { - get: function () { }, - enumerable: true, - configurable: true - }); - Object.defineProperty(B.prototype, "mismatch", { - get: function () { }, - set: function (val) { } // error, not same type - , - enumerable: true, - configurable: true - }); return B; }()); var C = (function (_super) { @@ -97,11 +85,6 @@ var WrongTypePropertyImpl = (function (_super) { var WrongTypeAccessor = (function () { function WrongTypeAccessor() { } - Object.defineProperty(WrongTypeAccessor.prototype, "num", { - get: function () { }, - enumerable: true, - configurable: true - }); return WrongTypeAccessor; }()); var WrongTypeAccessorImpl = (function (_super) { @@ -128,7 +111,6 @@ var AbstractAccessorMismatch = (function () { function AbstractAccessorMismatch() { } Object.defineProperty(AbstractAccessorMismatch.prototype, "p1", { - get: function () { }, set: function (val) { }, enumerable: true, configurable: true @@ -136,7 +118,6 @@ var AbstractAccessorMismatch = (function () { ; Object.defineProperty(AbstractAccessorMismatch.prototype, "p2", { get: function () { return "should work"; }, - set: function (val) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.types b/tests/baselines/reference/accessOverriddenBaseClassMember1.types index f444544ea48..f0dad0ccafc 100644 --- a/tests/baselines/reference/accessOverriddenBaseClassMember1.types +++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.types @@ -13,11 +13,11 @@ class Point { >"x=" + this.x + " y=" + this.y : string >"x=" + this.x + " y=" : string >"x=" + this.x : string ->"x=" : string +>"x=" : "x=" >this.x : number >this : this >x : number ->" y=" : string +>" y=" : " y=" >this.y : number >this : this >y : number @@ -48,7 +48,7 @@ class ColoredPoint extends Point { >super.toString : () => string >super : Point >toString : () => string ->" color=" : string +>" color=" : " color=" >this.color : string >this : this >color : string diff --git a/tests/baselines/reference/accessorWithES5.types b/tests/baselines/reference/accessorWithES5.types index 29471548918..4d23f61c0eb 100644 --- a/tests/baselines/reference/accessorWithES5.types +++ b/tests/baselines/reference/accessorWithES5.types @@ -7,7 +7,7 @@ class C { >x : number return 1; ->1 : number +>1 : 1 } } @@ -26,7 +26,7 @@ var x = { get a() { return 1 } >a : number ->1 : number +>1 : 1 } var y = { diff --git a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt index 981cb525625..5393eee87d4 100644 --- a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt +++ b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt @@ -1,14 +1,14 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(2,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,55): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(3,55): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,54): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(5,54): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(6,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(8,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,52): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(9,52): error TS2322: Type '0' is not assignable to type 'string'. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,51): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(11,51): error TS2322: Type '0' is not assignable to type 'string'. tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. @@ -21,13 +21,13 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. public get AnnotatedSetter_SetterLast() { return ""; } ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. public set AnnotatedSetter_SetterLast(a: number) { } ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. @@ -39,13 +39,13 @@ tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts(12,16): error TS1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '0' is not assignable to type 'string'. public set AnnotatedGetter_GetterLast(aStr) { aStr = 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '0' is not assignable to type 'string'. public get AnnotatedGetter_GetterLast(): string { return ""; } ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. diff --git a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types index 98bd1910241..2618f7b3cc7 100644 --- a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types +++ b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types @@ -22,5 +22,5 @@ var kitty = a(1); >kitty : string >a(1) : string >a : Bar ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types index 9f1a9f03898..0994360ca10 100644 --- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types +++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types @@ -13,9 +13,9 @@ class C { } enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c module M { export var a } >M : typeof M @@ -130,9 +130,9 @@ var r15 = a + E.a; >r15 : any >a + E.a : any >a : any ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var r16 = a + M; >r16 : any @@ -144,13 +144,13 @@ var r17 = a + ''; >r17 : string >a + '' : string >a : any ->'' : string +>'' : "" var r18 = a + 123; >r18 : any >a + 123 : any >a : any ->123 : number +>123 : 123 var r19 = a + { a: '' }; >r19 : any @@ -158,7 +158,7 @@ var r19 = a + { a: '' }; >a : any >{ a: '' } : { a: string; } >a : string ->'' : string +>'' : "" var r20 = a + ((a: string) => { return a }); >r20 : any diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt b/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt index bd71b64b501..124120cef2c 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt @@ -6,17 +6,17 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(25,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'boolean'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(26,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'number'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(27,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(30,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(31,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(32,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(30,11): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'true'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(31,11): error TS2365: Operator '+' cannot be applied to types 'true' and 'false'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(32,11): error TS2365: Operator '+' cannot be applied to types 'true' and '123'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(33,11): error TS2365: Operator '+' cannot be applied to types '{}' and '{}'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(34,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'Number'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(35,11): error TS2365: Operator '+' cannot be applied to types 'number' and '() => void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(36,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(37,11): error TS2365: Operator '+' cannot be applied to types 'number' and 'typeof C'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(38,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'C'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(39,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'void'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(40,11): error TS2365: Operator '+' cannot be applied to types 'E' and 'typeof M'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(38,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'C'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(39,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'void'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts(40,11): error TS2365: Operator '+' cannot be applied to types 'E.a' and 'typeof M'. ==== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts (19 errors) ==== @@ -67,13 +67,13 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe // other cases var r10 = a + true; ~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'true'. var r11 = true + false; ~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'false'. var r12 = true + 123; ~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '+' cannot be applied to types 'true' and '123'. var r13 = {} + {}; ~~~~~~~ !!! error TS2365: Operator '+' cannot be applied to types '{}' and '{}'. @@ -91,10 +91,10 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe !!! error TS2365: Operator '+' cannot be applied to types 'number' and 'typeof C'. var r18 = E.a + new C(); ~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'C'. +!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'C'. var r19 = E.a + C.foo(); ~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'void'. +!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'void'. var r20 = E.a + M; ~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'typeof M'. \ No newline at end of file +!!! error TS2365: Operator '+' cannot be applied to types 'E.a' and 'typeof M'. \ No newline at end of file diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt index 566fb241bf8..d18a9a13d8c 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(15,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(16,10): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(19,10): error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'true' and 'true'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(21,10): error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(22,11): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(23,11): error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'. @@ -47,7 +47,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe !!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'. var r8 = null + true; ~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'true'. var r9 = null + { a: '' }; ~~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'. diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types index f4ea168ee0d..d0feec523b0 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types @@ -3,9 +3,9 @@ enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: any; >a : any @@ -44,7 +44,7 @@ var r4 = null + 1; >r4 : number >null + 1 : number >null : null ->1 : number +>1 : 1 var r5 = null + c; >r5 : number @@ -56,17 +56,17 @@ var r6 = null + E.a; >r6 : number >null + E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var r7 = null + E['a']; >r7 : number >null + E['a'] : number >null : null ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string +>'a' : "a" var r8 = b + null; >r8 : number @@ -77,7 +77,7 @@ var r8 = b + null; var r9 = 1 + null; >r9 : number >1 + null : number ->1 : number +>1 : 1 >null : null var r10 = c + null @@ -89,17 +89,17 @@ var r10 = c + null var r11 = E.a + null; >r11 : number >E.a + null : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >null : null var r12 = E['a'] + null; >r12 : number >E['a'] + null : number ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string +>'a' : "a" >null : null // null + string @@ -113,7 +113,7 @@ var r14 = null + ''; >r14 : string >null + '' : string >null : null ->'' : string +>'' : "" var r15 = d + null; >r15 : string @@ -124,6 +124,6 @@ var r15 = d + null; var r16 = '' + null; >r16 : string >'' + null : string ->'' : string +>'' : "" >null : null diff --git a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types index 2b1c2794065..c952fca9064 100644 --- a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types +++ b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types @@ -1,13 +1,13 @@ === tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNumberAndEnum.ts === enum E { a, b } >E : E ->a : E ->b : E +>a : E.a +>b : E.b enum F { c, d } >F : F ->c : F ->d : F +>c : F.c +>d : F.d var a: number; >a : number @@ -48,46 +48,46 @@ var r4 = b + b; var r5 = 0 + a; >r5 : number >0 + a : number ->0 : number +>0 : 0 >a : number var r6 = E.a + 0; >r6 : number >E.a + 0 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var r7 = E.a + E.b; >r7 : number >E.a + E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r8 = E['a'] + E['b']; >r8 : number >E['a'] + E['b'] : number ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string ->E['b'] : E +>'a' : "a" +>E['b'] : E.b >E : typeof E ->'b' : string +>'b' : "b" var r9 = E['a'] + F['c']; >r9 : number >E['a'] + F['c'] : number ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string ->F['c'] : F +>'a' : "a" +>F['c'] : F.c >F : typeof F ->'c' : string +>'c' : "c" var r10 = a + c; >r10 : number diff --git a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types index 5413f5f5bdf..d938da263b7 100644 --- a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types +++ b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithStringAndEveryType.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: any; >a : any @@ -129,21 +129,21 @@ var r16 = x + E.a; >r16 : string >x + E.a : string >x : string ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var r17 = x + ''; >r17 : string >x + '' : string >x : string ->'' : string +>'' : "" var r18 = x + 0; >r18 : string >x + 0 : string >x : string ->0 : number +>0 : 0 var r19 = x + { a: '' }; >r19 : string @@ -151,7 +151,7 @@ var r19 = x + { a: '' }; >x : string >{ a: '' } : { a: string; } >a : string ->'' : string +>'' : "" var r20 = x + []; >r20 : string diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt index 36233e9e9fe..d61f101a544 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(15,10): error TS2365: Operator '+' cannot be applied to types 'Object' and 'Object'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(16,10): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(19,10): error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'. -tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(20,10): error TS2365: Operator '+' cannot be applied to types 'true' and 'true'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(21,10): error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(22,11): error TS2365: Operator '+' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts(23,11): error TS2365: Operator '+' cannot be applied to types '() => void' and '() => void'. @@ -47,7 +47,7 @@ tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOpe !!! error TS2365: Operator '+' cannot be applied to types 'Number' and 'Number'. var r8 = undefined + true; ~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'true' and 'true'. var r9 = undefined + { a: '' }; ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2365: Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'. diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types index 16f0a4dfa84..46ba3a147e6 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types @@ -3,9 +3,9 @@ enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: any; >a : any @@ -44,7 +44,7 @@ var r4 = undefined + 1; >r4 : number >undefined + 1 : number >undefined : undefined ->1 : number +>1 : 1 var r5 = undefined + c; >r5 : number @@ -56,17 +56,17 @@ var r6 = undefined + E.a; >r6 : number >undefined + E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var r7 = undefined + E['a']; >r7 : number >undefined + E['a'] : number >undefined : undefined ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string +>'a' : "a" var r8 = b + undefined; >r8 : number @@ -77,7 +77,7 @@ var r8 = b + undefined; var r9 = 1 + undefined; >r9 : number >1 + undefined : number ->1 : number +>1 : 1 >undefined : undefined var r10 = c + undefined @@ -89,17 +89,17 @@ var r10 = c + undefined var r11 = E.a + undefined; >r11 : number >E.a + undefined : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >undefined : undefined var r12 = E['a'] + undefined; >r12 : number >E['a'] + undefined : number ->E['a'] : E +>E['a'] : E.a >E : typeof E ->'a' : string +>'a' : "a" >undefined : undefined // undefined + string @@ -113,7 +113,7 @@ var r14 = undefined + ''; >r14 : string >undefined + '' : string >undefined : undefined ->'' : string +>'' : "" var r15 = d + undefined; >r15 : string @@ -124,6 +124,6 @@ var r15 = d + undefined; var r16 = '' + undefined; >r16 : string >'' + undefined : string ->'' : string +>'' : "" >undefined : undefined diff --git a/tests/baselines/reference/aliasAssignments.errors.txt b/tests/baselines/reference/aliasAssignments.errors.txt index 18ea36c5d00..463f74e4c49 100644 --- a/tests/baselines/reference/aliasAssignments.errors.txt +++ b/tests/baselines/reference/aliasAssignments.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/aliasAssignments_1.ts(3,1): error TS2322: Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'. +tests/cases/compiler/aliasAssignments_1.ts(3,1): error TS2322: Type '1' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'. tests/cases/compiler/aliasAssignments_1.ts(5,1): error TS2322: Type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"' is not assignable to type 'number'. @@ -7,7 +7,7 @@ tests/cases/compiler/aliasAssignments_1.ts(5,1): error TS2322: Type 'typeof "tes var x = moduleA; x = 1; // Should be error ~ -!!! error TS2322: Type 'number' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'. +!!! error TS2322: Type '1' is not assignable to type 'typeof "tests/cases/compiler/aliasAssignments_moduleA"'. var y = 1; y = moduleA; // should be error ~ diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types index c43b7889cc5..0fcf3c3590d 100644 --- a/tests/baselines/reference/aliasUsageInOrExpression.types +++ b/tests/baselines/reference/aliasUsageInOrExpression.types @@ -34,7 +34,7 @@ var d2: IHasVisualizationModel = i || moduleA; var d2: IHasVisualizationModel = moduleA || i; >d2 : IHasVisualizationModel >IHasVisualizationModel : IHasVisualizationModel ->moduleA || i : typeof moduleA +>moduleA || i : IHasVisualizationModel >moduleA : typeof moduleA >i : IHasVisualizationModel diff --git a/tests/baselines/reference/aliasesInSystemModule1.js b/tests/baselines/reference/aliasesInSystemModule1.js index 46d2b061dd3..24d7a5d1b0b 100644 --- a/tests/baselines/reference/aliasesInSystemModule1.js +++ b/tests/baselines/reference/aliasesInSystemModule1.js @@ -17,17 +17,17 @@ module M { //// [aliasesInSystemModule1.js] -System.register(['foo'], function(exports_1, context_1) { +System.register(["foo"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var alias; - var cls, cls2, x, y, z, M; + var alias, cls, cls2, x, y, z, M; return { - setters:[ + setters: [ function (alias_1) { alias = alias_1; - }], - execute: function() { + } + ], + execute: function () { cls = alias.Class; exports_1("cls2", cls2 = alias.Class); x = new alias.Class(); @@ -40,5 +40,5 @@ System.register(['foo'], function(exports_1, context_1) { var z = new cls2(); })(M || (M = {})); } - } + }; }); diff --git a/tests/baselines/reference/aliasesInSystemModule2.js b/tests/baselines/reference/aliasesInSystemModule2.js index e30ba4fea56..71fe558d43a 100644 --- a/tests/baselines/reference/aliasesInSystemModule2.js +++ b/tests/baselines/reference/aliasesInSystemModule2.js @@ -16,17 +16,17 @@ module M { } //// [aliasesInSystemModule2.js] -System.register(["foo"], function(exports_1, context_1) { +System.register(["foo"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var foo_1; - var cls, cls2, x, y, z, M; + var foo_1, cls, cls2, x, y, z, M; return { - setters:[ + setters: [ function (foo_1_1) { foo_1 = foo_1_1; - }], - execute: function() { + } + ], + execute: function () { cls = foo_1.alias.Class; exports_1("cls2", cls2 = foo_1.alias.Class); x = new foo_1.alias.Class(); @@ -39,5 +39,5 @@ System.register(["foo"], function(exports_1, context_1) { var z = new cls2(); })(M || (M = {})); } - } + }; }); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports10.errors.txt b/tests/baselines/reference/allowSyntheticDefaultImports10.errors.txt new file mode 100644 index 00000000000..981f89214e2 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports10.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/a.ts(2,5): error TS2339: Property 'default' does not exist on type 'typeof "tests/cases/compiler/b"'. +tests/cases/compiler/a.ts(3,5): error TS2339: Property 'default' does not exist on type 'typeof "tests/cases/compiler/b"'. + + +==== tests/cases/compiler/a.ts (2 errors) ==== + import Foo = require("./b"); + Foo.default.bar(); + ~~~~~~~ +!!! error TS2339: Property 'default' does not exist on type 'typeof "tests/cases/compiler/b"'. + Foo.default.default.foo(); + ~~~~~~~ +!!! error TS2339: Property 'default' does not exist on type 'typeof "tests/cases/compiler/b"'. +==== tests/cases/compiler/b.d.ts (0 errors) ==== + export function foo(); + + export function bar(); + \ No newline at end of file diff --git a/tests/baselines/reference/allowSyntheticDefaultImports10.js b/tests/baselines/reference/allowSyntheticDefaultImports10.js new file mode 100644 index 00000000000..746997c4c89 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports10.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports10.ts] //// + +//// [b.d.ts] +export function foo(); + +export function bar(); + +//// [a.ts] +import Foo = require("./b"); +Foo.default.bar(); +Foo.default.default.foo(); + +//// [a.js] +"use strict"; +var Foo = require("./b"); +Foo.default.bar(); +Foo.default.default.foo(); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.js b/tests/baselines/reference/allowSyntheticDefaultImports2.js index 87e47f9c9a1..93c13617e4a 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports2.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.js @@ -10,13 +10,13 @@ export class Foo { } //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = (function () { function Foo() { } @@ -24,21 +24,21 @@ System.register([], function(exports_1, context_1) { }()); exports_1("Foo", Foo); } - } + }; }); //// [a.js] -System.register(["./b"], function(exports_1, context_1) { +System.register(["./b"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var b_1; - var x; + var b_1, x; return { - setters:[ + setters: [ function (b_1_1) { b_1 = b_1_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x = new b_1["default"].Foo()); } - } + }; }); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports3.js b/tests/baselines/reference/allowSyntheticDefaultImports3.js index 348ce42a60a..74b1dcb776d 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports3.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports3.js @@ -11,13 +11,13 @@ export class Foo { //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = (function () { function Foo() { } @@ -25,21 +25,21 @@ System.register([], function(exports_1, context_1) { }()); exports_1("Foo", Foo); } - } + }; }); //// [a.js] -System.register(["./b"], function(exports_1, context_1) { +System.register(["./b"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var b_1; - var x; + var b_1, x; return { - setters:[ + setters: [ function (b_1_1) { b_1 = b_1_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x = new b_1["default"].Foo()); } - } + }; }); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.js b/tests/baselines/reference/allowSyntheticDefaultImports5.js index f59226e152d..765d1140864 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports5.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.js @@ -12,18 +12,18 @@ export var x = new Foo(); //// [a.js] -System.register(["./b"], function(exports_1, context_1) { +System.register(["./b"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var b_1; - var x; + var b_1, x; return { - setters:[ + setters: [ function (b_1_1) { b_1 = b_1_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x = new b_1["default"]()); } - } + }; }); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports6.js b/tests/baselines/reference/allowSyntheticDefaultImports6.js index d2f25e538c5..9ae7acae919 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports6.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports6.js @@ -12,18 +12,18 @@ export var x = new Foo(); //// [a.js] -System.register(["./b"], function(exports_1, context_1) { +System.register(["./b"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var b_1; - var x; + var b_1, x; return { - setters:[ + setters: [ function (b_1_1) { b_1 = b_1_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x = new b_1["default"]()); } - } + }; }); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports7.js b/tests/baselines/reference/allowSyntheticDefaultImports7.js new file mode 100644 index 00000000000..6d0ea5b3be0 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports7.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports7.ts] //// + +//// [b.d.ts] +export function foo(); + +export function bar(); + +//// [a.ts] +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); + +//// [a.js] +System.register(["./b"], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var b_1; + return { + setters: [ + function (b_1_1) { + b_1 = b_1_1; + } + ], + execute: function () { + b_1["default"].bar(); + b_1["default"].foo(); + } + }; +}); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports7.symbols b/tests/baselines/reference/allowSyntheticDefaultImports7.symbols new file mode 100644 index 00000000000..51155dd69df --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports7.symbols @@ -0,0 +1,22 @@ +=== tests/cases/compiler/b.d.ts === +export function foo(); +>foo : Symbol(foo, Decl(b.d.ts, 0, 0)) + +export function bar(); +>bar : Symbol(bar, Decl(b.d.ts, 0, 22)) + +=== tests/cases/compiler/a.ts === +import { default as Foo } from "./b"; +>default : Symbol(Foo, Decl(a.ts, 0, 8)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) + +Foo.bar(); +>Foo.bar : Symbol(Foo.bar, Decl(b.d.ts, 0, 22)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) +>bar : Symbol(Foo.bar, Decl(b.d.ts, 0, 22)) + +Foo.foo(); +>Foo.foo : Symbol(Foo.foo, Decl(b.d.ts, 0, 0)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) +>foo : Symbol(Foo.foo, Decl(b.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports7.types b/tests/baselines/reference/allowSyntheticDefaultImports7.types new file mode 100644 index 00000000000..69ce39e6dc6 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports7.types @@ -0,0 +1,24 @@ +=== tests/cases/compiler/b.d.ts === +export function foo(); +>foo : () => any + +export function bar(); +>bar : () => any + +=== tests/cases/compiler/a.ts === +import { default as Foo } from "./b"; +>default : typeof Foo +>Foo : typeof Foo + +Foo.bar(); +>Foo.bar() : any +>Foo.bar : () => any +>Foo : typeof Foo +>bar : () => any + +Foo.foo(); +>Foo.foo() : any +>Foo.foo : () => any +>Foo : typeof Foo +>foo : () => any + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports8.errors.txt b/tests/baselines/reference/allowSyntheticDefaultImports8.errors.txt new file mode 100644 index 00000000000..acb584f8fd9 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports8.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/a.ts(1,10): error TS2305: Module '"tests/cases/compiler/b"' has no exported member 'default'. + + +==== tests/cases/compiler/b.d.ts (0 errors) ==== + export function foo(); + + export function bar(); + +==== tests/cases/compiler/a.ts (1 errors) ==== + import { default as Foo } from "./b"; + ~~~~~~~ +!!! error TS2305: Module '"tests/cases/compiler/b"' has no exported member 'default'. + Foo.bar(); + Foo.foo(); \ No newline at end of file diff --git a/tests/baselines/reference/allowSyntheticDefaultImports8.js b/tests/baselines/reference/allowSyntheticDefaultImports8.js new file mode 100644 index 00000000000..5a77e51e6a2 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports8.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports8.ts] //// + +//// [b.d.ts] +export function foo(); + +export function bar(); + +//// [a.ts] +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); + +//// [a.js] +System.register(["./b"], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var b_1; + return { + setters: [ + function (b_1_1) { + b_1 = b_1_1; + } + ], + execute: function () { + b_1["default"].bar(); + b_1["default"].foo(); + } + }; +}); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports9.js b/tests/baselines/reference/allowSyntheticDefaultImports9.js new file mode 100644 index 00000000000..15810ccaaf7 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports9.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports9.ts] //// + +//// [b.d.ts] +export function foo(); + +export function bar(); + +//// [a.ts] +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); + +//// [a.js] +"use strict"; +var b_1 = require("./b"); +b_1["default"].bar(); +b_1["default"].foo(); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports9.symbols b/tests/baselines/reference/allowSyntheticDefaultImports9.symbols new file mode 100644 index 00000000000..51155dd69df --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports9.symbols @@ -0,0 +1,22 @@ +=== tests/cases/compiler/b.d.ts === +export function foo(); +>foo : Symbol(foo, Decl(b.d.ts, 0, 0)) + +export function bar(); +>bar : Symbol(bar, Decl(b.d.ts, 0, 22)) + +=== tests/cases/compiler/a.ts === +import { default as Foo } from "./b"; +>default : Symbol(Foo, Decl(a.ts, 0, 8)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) + +Foo.bar(); +>Foo.bar : Symbol(Foo.bar, Decl(b.d.ts, 0, 22)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) +>bar : Symbol(Foo.bar, Decl(b.d.ts, 0, 22)) + +Foo.foo(); +>Foo.foo : Symbol(Foo.foo, Decl(b.d.ts, 0, 0)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 8)) +>foo : Symbol(Foo.foo, Decl(b.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports9.types b/tests/baselines/reference/allowSyntheticDefaultImports9.types new file mode 100644 index 00000000000..69ce39e6dc6 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports9.types @@ -0,0 +1,24 @@ +=== tests/cases/compiler/b.d.ts === +export function foo(); +>foo : () => any + +export function bar(); +>bar : () => any + +=== tests/cases/compiler/a.ts === +import { default as Foo } from "./b"; +>default : typeof Foo +>Foo : typeof Foo + +Foo.bar(); +>Foo.bar() : any +>Foo.bar : () => any +>Foo : typeof Foo +>bar : () => any + +Foo.foo(); +>Foo.foo() : any +>Foo.foo : () => any +>Foo : typeof Foo +>foo : () => any + diff --git a/tests/baselines/reference/ambientClassDeclaredBeforeBase.symbols b/tests/baselines/reference/ambientClassDeclaredBeforeBase.symbols new file mode 100644 index 00000000000..0d9fed77240 --- /dev/null +++ b/tests/baselines/reference/ambientClassDeclaredBeforeBase.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.d.ts === + +declare namespace ns { +>ns : Symbol(ns, Decl(a.d.ts, 0, 0)) + + class SecondNS extends FirstNS { } +>SecondNS : Symbol(SecondNS, Decl(a.d.ts, 1, 22)) +>FirstNS : Symbol(FirstNS, Decl(a.d.ts, 2, 36)) + + class FirstNS { } +>FirstNS : Symbol(FirstNS, Decl(a.d.ts, 2, 36)) +} + diff --git a/tests/baselines/reference/ambientClassDeclaredBeforeBase.types b/tests/baselines/reference/ambientClassDeclaredBeforeBase.types new file mode 100644 index 00000000000..554d3cfcce8 --- /dev/null +++ b/tests/baselines/reference/ambientClassDeclaredBeforeBase.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.d.ts === + +declare namespace ns { +>ns : typeof ns + + class SecondNS extends FirstNS { } +>SecondNS : SecondNS +>FirstNS : FirstNS + + class FirstNS { } +>FirstNS : FirstNS +} + diff --git a/tests/baselines/reference/ambientDeclarations.types b/tests/baselines/reference/ambientDeclarations.types index f44d49cfc57..a571eb9fa7b 100644 --- a/tests/baselines/reference/ambientDeclarations.types +++ b/tests/baselines/reference/ambientDeclarations.types @@ -103,14 +103,14 @@ declare enum E2 { a = 1, >a : E2 ->1 : number +>1 : 1 b, >b : E2 c = 2, >c : E2 ->2 : number +>2 : 2 d >d : E2 diff --git a/tests/baselines/reference/ambientDeclarationsExternal.js b/tests/baselines/reference/ambientDeclarationsExternal.js index 42375bc1d09..b92993128ab 100644 --- a/tests/baselines/reference/ambientDeclarationsExternal.js +++ b/tests/baselines/reference/ambientDeclarationsExternal.js @@ -29,6 +29,6 @@ var n: number; //// [consumer.js] "use strict"; // Ambient external module members are always exported with or without export keyword when module lacks export assignment -var imp3 = require('equ2'); +var imp3 = require("equ2"); var n = imp3.x; var n; diff --git a/tests/baselines/reference/ambientEnumDeclaration1.types b/tests/baselines/reference/ambientEnumDeclaration1.types index 3ef30e458da..370d6cd22ae 100644 --- a/tests/baselines/reference/ambientEnumDeclaration1.types +++ b/tests/baselines/reference/ambientEnumDeclaration1.types @@ -6,13 +6,13 @@ declare enum E { a = 10, >a : E ->10 : number +>10 : 10 b = 10 + 1, >b : E >10 + 1 : number ->10 : number ->1 : number +>10 : 10 +>1 : 1 c = b, >c : E @@ -23,13 +23,13 @@ declare enum E { >(c) + 1 : number >(c) : E >c : E ->1 : number +>1 : 1 e = 10 << 2 * 8, >e : E >10 << 2 * 8 : number ->10 : number +>10 : 10 >2 * 8 : number ->2 : number ->8 : number +>2 : 2 +>8 : 8 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer1.types b/tests/baselines/reference/ambientEnumElementInitializer1.types index 97db9f199d3..11ef7449504 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer1.types +++ b/tests/baselines/reference/ambientEnumElementInitializer1.types @@ -4,5 +4,5 @@ declare enum E { e = 3 >e : E ->3 : number +>3 : 3 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer2.types b/tests/baselines/reference/ambientEnumElementInitializer2.types index 7217bc8e6fd..47d85bf3c84 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer2.types +++ b/tests/baselines/reference/ambientEnumElementInitializer2.types @@ -4,6 +4,6 @@ declare enum E { e = -3 // Negative >e : E ->-3 : number ->3 : number +>-3 : -3 +>3 : 3 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer3.types b/tests/baselines/reference/ambientEnumElementInitializer3.types index f3d3b8f3ae2..3c099d00ede 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer3.types +++ b/tests/baselines/reference/ambientEnumElementInitializer3.types @@ -4,5 +4,5 @@ declare enum E { e = 3.3 // Decimal >e : E ->3.3 : number +>3.3 : 3.3 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer4.types b/tests/baselines/reference/ambientEnumElementInitializer4.types index b85649d654d..3bef657f5bb 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer4.types +++ b/tests/baselines/reference/ambientEnumElementInitializer4.types @@ -4,5 +4,5 @@ declare enum E { e = 0xA >e : E ->0xA : number +>0xA : 10 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer5.types b/tests/baselines/reference/ambientEnumElementInitializer5.types index 1c5ea0ecdd3..b3020a6d777 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer5.types +++ b/tests/baselines/reference/ambientEnumElementInitializer5.types @@ -4,6 +4,6 @@ declare enum E { e = -0xA >e : E ->-0xA : number ->0xA : number +>-0xA : -10 +>0xA : 10 } diff --git a/tests/baselines/reference/ambientEnumElementInitializer6.types b/tests/baselines/reference/ambientEnumElementInitializer6.types index 015d3f4e146..f093d0e2dfe 100644 --- a/tests/baselines/reference/ambientEnumElementInitializer6.types +++ b/tests/baselines/reference/ambientEnumElementInitializer6.types @@ -7,6 +7,6 @@ declare module M { e = 3 >e : E ->3 : number +>3 : 3 } } diff --git a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.js b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.js index 77d8e2d830d..c91adaff864 100644 --- a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.js +++ b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.js @@ -20,7 +20,7 @@ var c = new A(); //// [ambientExternalModuleWithInternalImportDeclaration_0.js] //// [ambientExternalModuleWithInternalImportDeclaration_1.js] -define(["require", "exports", 'M'], function (require, exports, A) { +define(["require", "exports", "M"], function (require, exports, A) { "use strict"; var c = new A(); }); diff --git a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.js b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.js index 158992234a2..4c70a338bc3 100644 --- a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.js +++ b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.js @@ -19,7 +19,7 @@ var c = new A(); //// [ambientExternalModuleWithoutInternalImportDeclaration_0.js] //// [ambientExternalModuleWithoutInternalImportDeclaration_1.js] -define(["require", "exports", 'M'], function (require, exports, A) { +define(["require", "exports", "M"], function (require, exports, A) { "use strict"; var c = new A(); }); diff --git a/tests/baselines/reference/ambientModules.types b/tests/baselines/reference/ambientModules.types index 15e6d51b457..5a0a8c663ab 100644 --- a/tests/baselines/reference/ambientModules.types +++ b/tests/baselines/reference/ambientModules.types @@ -5,11 +5,11 @@ declare module Foo.Bar { export var foo; }; >foo : any Foo.Bar.foo = 5; ->Foo.Bar.foo = 5 : number +>Foo.Bar.foo = 5 : 5 >Foo.Bar.foo : any >Foo.Bar : typeof Foo.Bar >Foo : typeof Foo >Bar : typeof Foo.Bar >foo : any ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/ambientShorthand_isImplicitAny.errors.txt b/tests/baselines/reference/ambientShorthand_isImplicitAny.errors.txt deleted file mode 100644 index 875a656202d..00000000000 --- a/tests/baselines/reference/ambientShorthand_isImplicitAny.errors.txt +++ /dev/null @@ -1,8 +0,0 @@ -tests/cases/conformance/ambient/ambientShorthand_isImplicitAny.ts(1,16): error TS7005: Variable '"jquery"' implicitly has an 'any' type. - - -==== tests/cases/conformance/ambient/ambientShorthand_isImplicitAny.ts (1 errors) ==== - declare module "jquery"; - ~~~~~~~~ -!!! error TS7005: Variable '"jquery"' implicitly has an 'any' type. - \ No newline at end of file diff --git a/tests/baselines/reference/ambientShorthand_isImplicitAny.js b/tests/baselines/reference/ambientShorthand_isImplicitAny.js deleted file mode 100644 index ab05d2a9979..00000000000 --- a/tests/baselines/reference/ambientShorthand_isImplicitAny.js +++ /dev/null @@ -1,5 +0,0 @@ -//// [ambientShorthand_isImplicitAny.ts] -declare module "jquery"; - - -//// [ambientShorthand_isImplicitAny.js] diff --git a/tests/baselines/reference/ambientShorthand_reExport.js b/tests/baselines/reference/ambientShorthand_reExport.js index d0433e5d478..bdfc0ee0821 100644 --- a/tests/baselines/reference/ambientShorthand_reExport.js +++ b/tests/baselines/reference/ambientShorthand_reExport.js @@ -22,6 +22,10 @@ var jquery_1 = require("jquery"); exports.x = jquery_1.x; //// [reExportAll.js] "use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +__export(require("jquery")); //// [reExportUser.js] "use strict"; var reExportX_1 = require("./reExportX"); diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index 65f26f25770..b3153722ee3 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -53,7 +53,7 @@ class TestClass2 { >x : any return 0; ->0 : number +>0 : 0 } public foo(x: string): number; diff --git a/tests/baselines/reference/amdImportAsPrimaryExpression.types b/tests/baselines/reference/amdImportAsPrimaryExpression.types index eab0b168f44..acfe27369f5 100644 --- a/tests/baselines/reference/amdImportAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportAsPrimaryExpression.types @@ -4,12 +4,12 @@ import foo = require("./foo_0"); if(foo.E1.A === 0){ >foo.E1.A === 0 : boolean ->foo.E1.A : foo.E1 +>foo.E1.A : foo.E1.A >foo.E1 : typeof foo.E1 >foo : typeof foo >E1 : typeof foo.E1 ->A : foo.E1 ->0 : number +>A : foo.E1.A +>0 : 0 // Should cause runtime import - interesting optimization possibility, as gets inlined to 0. } @@ -19,8 +19,8 @@ export enum E1 { >E1 : E1 A,B,C ->A : E1 ->B : E1 ->C : E1 +>A : E1.A +>B : E1.B +>C : E1.C } diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.js b/tests/baselines/reference/amdImportNotAsPrimaryExpression.js index beb91191bc0..b8e9f5346b0 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.js +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.js @@ -38,10 +38,10 @@ define(["require", "exports"], function (require, exports) { function C1() { this.m1 = 42; } - C1.s1 = true; return C1; }()); exports.C1 = C1; + C1.s1 = true; (function (E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types index 6c3978d93aa..32e45936f33 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types @@ -28,7 +28,7 @@ var y: typeof foo.C1.s1 = false; >foo : typeof foo >C1 : typeof foo.C1 >s1 : boolean ->false : boolean +>false : false var z: foo.M1.I2; >z : f.I2 @@ -41,7 +41,7 @@ var e: number = 0; >0 : foo.E1 >foo : any >E1 : foo.E1 ->0 : number +>0 : 0 === tests/cases/conformance/externalModules/foo_0.ts === export class C1 { @@ -49,11 +49,11 @@ export class C1 { m1 = 42; >m1 : number ->42 : number +>42 : 42 static s1 = true; >s1 : boolean ->true : boolean +>true : true } export interface I1 { @@ -81,8 +81,8 @@ export enum E1 { >E1 : E1 A,B,C ->A : E1 ->B : E1 ->C : E1 +>A : E1.A +>B : E1.B +>C : E1.C } diff --git a/tests/baselines/reference/amdModuleName1.types b/tests/baselines/reference/amdModuleName1.types index c0db9c8b1b5..f7384ddf057 100644 --- a/tests/baselines/reference/amdModuleName1.types +++ b/tests/baselines/reference/amdModuleName1.types @@ -8,11 +8,11 @@ class Foo { constructor() { this.x = 5; ->this.x = 5 : number +>this.x = 5 : 5 >this.x : number >this : this >x : number ->5 : number +>5 : 5 } } export = Foo; diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index b152ce79a1d..a6c244b2885 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -34,9 +34,9 @@ c.m(function(n) { return "hello: "+n; },18); >function(n) { return "hello: "+n; } : (n: number) => string >n : number >"hello: "+n : string ->"hello: " : string +>"hello: " : "hello: " >n : number ->18 : number +>18 : 18 diff --git a/tests/baselines/reference/anonymousClassExpression1.types b/tests/baselines/reference/anonymousClassExpression1.types index 1e38399f01e..0fbffffdf4b 100644 --- a/tests/baselines/reference/anonymousClassExpression1.types +++ b/tests/baselines/reference/anonymousClassExpression1.types @@ -6,5 +6,5 @@ function f() { >typeof class {} === "function" : boolean >typeof class {} : string >class {} : typeof (Anonymous class) ->"function" : string +>"function" : "function" } diff --git a/tests/baselines/reference/anonymousDefaultExportsSystem.js b/tests/baselines/reference/anonymousDefaultExportsSystem.js index f68806eb1af..c1d2cf522fb 100644 --- a/tests/baselines/reference/anonymousDefaultExportsSystem.js +++ b/tests/baselines/reference/anonymousDefaultExportsSystem.js @@ -7,28 +7,28 @@ export default class {} export default function() {} //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var default_1; return { - setters:[], - execute: function() { + setters: [], + execute: function () { default_1 = class { }; exports_1("default", default_1); } - } + }; }); //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function default_1() { } exports_1("default", default_1); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/anonymousDefaultExportsUmd.js b/tests/baselines/reference/anonymousDefaultExportsUmd.js index 203b234dfa0..97910161999 100644 --- a/tests/baselines/reference/anonymousDefaultExportsUmd.js +++ b/tests/baselines/reference/anonymousDefaultExportsUmd.js @@ -7,14 +7,14 @@ export default class {} export default function() {} //// [a.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; class default_1 { } @@ -22,14 +22,14 @@ export default function() {} exports.default = default_1; }); //// [b.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; function default_1() { } Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/anonymousModules.js b/tests/baselines/reference/anonymousModules.js index 39b21f6990a..5270594e8ee 100644 --- a/tests/baselines/reference/anonymousModules.js +++ b/tests/baselines/reference/anonymousModules.js @@ -16,10 +16,10 @@ module { //// [anonymousModules.js] module; { - exports.foo = 1; + export var foo = 1; module; { - exports.bar = 1; + export var bar = 1; } var bar = 2; module; diff --git a/tests/baselines/reference/anyAsFunctionCall.types b/tests/baselines/reference/anyAsFunctionCall.types index 340ccac463f..42d0f9fc950 100644 --- a/tests/baselines/reference/anyAsFunctionCall.types +++ b/tests/baselines/reference/anyAsFunctionCall.types @@ -14,7 +14,7 @@ var b = x('hello'); >b : any >x('hello') : any >x : any ->'hello' : string +>'hello' : "hello" var c = x(x); >c : any diff --git a/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types b/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types index bd0d9a9a092..2ae57579835 100644 --- a/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types +++ b/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types @@ -24,8 +24,8 @@ var o = new Point(3, 4); >o : any >new Point(3, 4) : any >Point : (x: any, y: any) => void ->3 : number ->4 : number +>3 : 3 +>4 : 4 var xx = o.x; >xx : any diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index b8575e8edb2..925dd5d593e 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -246,7 +246,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } declare function foo15(x: typeof f): typeof f; >foo15 : { (x: typeof f): typeof f; (x: any): any; } @@ -273,7 +273,7 @@ module CC { export var bar = 1; >bar : number ->1 : number +>1 : 1 } declare function foo16(x: CC): CC; >foo16 : { (x: CC): CC; (x: any): any; } diff --git a/tests/baselines/reference/anyAssignableToEveryType2.types b/tests/baselines/reference/anyAssignableToEveryType2.types index b3f54211601..564b634cde3 100644 --- a/tests/baselines/reference/anyAssignableToEveryType2.types +++ b/tests/baselines/reference/anyAssignableToEveryType2.types @@ -187,7 +187,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } interface I15 { >I15 : I15 @@ -210,7 +210,7 @@ module c { export var bar = 1; >bar : number ->1 : number +>1 : 1 } interface I16 { >I16 : I16 diff --git a/tests/baselines/reference/anyPlusAny1.types b/tests/baselines/reference/anyPlusAny1.types index 406d432f06e..f6ca9c4996e 100644 --- a/tests/baselines/reference/anyPlusAny1.types +++ b/tests/baselines/reference/anyPlusAny1.types @@ -3,11 +3,11 @@ var x; >x : any x.name = "hello"; ->x.name = "hello" : string +>x.name = "hello" : "hello" >x.name : any >x : any >name : any ->"hello" : string +>"hello" : "hello" var z = x + x; >z : any diff --git a/tests/baselines/reference/anyPropertyAccess.types b/tests/baselines/reference/anyPropertyAccess.types index 13eec6b53b2..9b9e5ab84ac 100644 --- a/tests/baselines/reference/anyPropertyAccess.types +++ b/tests/baselines/reference/anyPropertyAccess.types @@ -12,14 +12,14 @@ var b = x['foo']; >b : any >x['foo'] : any >x : any ->'foo' : string +>'foo' : "foo" var c = x['fn'](); >c : any >x['fn']() : any >x['fn'] : any >x : any ->'fn' : string +>'fn' : "fn" var d = x.bar.baz; >d : any @@ -34,7 +34,7 @@ var e = x[0].foo; >x[0].foo : any >x[0] : any >x : any ->0 : number +>0 : 0 >foo : any var f = x['0'].bar; @@ -42,6 +42,6 @@ var f = x['0'].bar; >x['0'].bar : any >x['0'] : any >x : any ->'0' : string +>'0' : "0" >bar : any diff --git a/tests/baselines/reference/apparentTypeSubtyping.errors.txt b/tests/baselines/reference/apparentTypeSubtyping.errors.txt index e1a53ef6a73..01fffeb3824 100644 --- a/tests/baselines/reference/apparentTypeSubtyping.errors.txt +++ b/tests/baselines/reference/apparentTypeSubtyping.errors.txt @@ -1,6 +1,7 @@ tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSubtyping.ts(9,7): error TS2415: Class 'Derived' incorrectly extends base class 'Base'. Types of property 'x' are incompatible. Type 'String' is not assignable to type 'string'. + 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. ==== tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSubtyping.ts (1 errors) ==== @@ -17,6 +18,7 @@ tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSubtypi !!! error TS2415: Class 'Derived' incorrectly extends base class 'Base'. !!! error TS2415: Types of property 'x' are incompatible. !!! error TS2415: Type 'String' is not assignable to type 'string'. +!!! error TS2415: 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. x: String; } diff --git a/tests/baselines/reference/apparentTypeSupertype.errors.txt b/tests/baselines/reference/apparentTypeSupertype.errors.txt index 5fe5c92a5b3..c7610a80f2f 100644 --- a/tests/baselines/reference/apparentTypeSupertype.errors.txt +++ b/tests/baselines/reference/apparentTypeSupertype.errors.txt @@ -2,6 +2,7 @@ tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSuperty Types of property 'x' are incompatible. Type 'U' is not assignable to type 'string'. Type 'String' is not assignable to type 'string'. + 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. ==== tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSupertype.ts (1 errors) ==== @@ -19,5 +20,6 @@ tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSuperty !!! error TS2415: Types of property 'x' are incompatible. !!! error TS2415: Type 'U' is not assignable to type 'string'. !!! error TS2415: Type 'String' is not assignable to type 'string'. +!!! error TS2415: 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. x: U; } \ No newline at end of file diff --git a/tests/baselines/reference/argsInScope.types b/tests/baselines/reference/argsInScope.types index 745ae249359..dacc66be912 100644 --- a/tests/baselines/reference/argsInScope.types +++ b/tests/baselines/reference/argsInScope.types @@ -10,7 +10,7 @@ class C { for (var i = 0; i < arguments.length; i++) { >i : number ->0 : number +>0 : 0 >i < arguments.length : boolean >i : number >arguments.length : number @@ -34,7 +34,7 @@ c.P(1,2,3); >c.P : (ii: number, j: number, k: number) => void >c : C >P : (ii: number, j: number, k: number) => void ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 diff --git a/tests/baselines/reference/arguments.types b/tests/baselines/reference/arguments.types index 4699d463b34..97a23822b7a 100644 --- a/tests/baselines/reference/arguments.types +++ b/tests/baselines/reference/arguments.types @@ -6,5 +6,5 @@ function f() { >x : any >arguments[12] : any >arguments : IArguments ->12 : number +>12 : 12 } diff --git a/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt b/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt index 89ef8ded91c..c19f00fa1da 100644 --- a/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt +++ b/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'. +tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type '10' is not assignable to type 'IArguments'. ==== tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS function foo(a) { arguments = 10; /// This shouldnt be of type number and result in error. ~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'IArguments'. +!!! error TS2322: Type '10' is not assignable to type 'IArguments'. } \ No newline at end of file diff --git a/tests/baselines/reference/arithAssignTyping.errors.txt b/tests/baselines/reference/arithAssignTyping.errors.txt index c4cd84639a6..10f34e94012 100644 --- a/tests/baselines/reference/arithAssignTyping.errors.txt +++ b/tests/baselines/reference/arithAssignTyping.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/arithAssignTyping.ts(3,1): error TS2364: Invalid left-hand side of assignment expression. -tests/cases/compiler/arithAssignTyping.ts(4,1): error TS2365: Operator '+=' cannot be applied to types 'typeof f' and 'number'. +tests/cases/compiler/arithAssignTyping.ts(4,1): error TS2365: Operator '+=' cannot be applied to types 'typeof f' and '1'. tests/cases/compiler/arithAssignTyping.ts(5,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/compiler/arithAssignTyping.ts(6,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/compiler/arithAssignTyping.ts(7,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. @@ -20,7 +20,7 @@ tests/cases/compiler/arithAssignTyping.ts(14,1): error TS2362: The left-hand sid !!! error TS2364: Invalid left-hand side of assignment expression. f += 1; // error ~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'typeof f' and 'number'. +!!! error TS2365: Operator '+=' cannot be applied to types 'typeof f' and '1'. f -= 1; // error ~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. diff --git a/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types b/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types index 8845a52760d..eeaf6a0ab38 100644 --- a/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types +++ b/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types @@ -22,30 +22,30 @@ var ra3 = a * 0; >ra3 : number >a * 0 : number >a : any ->0 : number +>0 : 0 var ra4 = 0 * a; >ra4 : number >0 * a : number ->0 : number +>0 : 0 >a : any var ra5 = 0 * 0; >ra5 : number >0 * 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var ra6 = b * 0; >ra6 : number >b * 0 : number >b : number ->0 : number +>0 : 0 var ra7 = 0 * b; >ra7 : number >0 * b : number ->0 : number +>0 : 0 >b : number var ra8 = b * b; @@ -71,30 +71,30 @@ var rb3 = a / 0; >rb3 : number >a / 0 : number >a : any ->0 : number +>0 : 0 var rb4 = 0 / a; >rb4 : number >0 / a : number ->0 : number +>0 : 0 >a : any var rb5 = 0 / 0; >rb5 : number >0 / 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rb6 = b / 0; >rb6 : number >b / 0 : number >b : number ->0 : number +>0 : 0 var rb7 = 0 / b; >rb7 : number >0 / b : number ->0 : number +>0 : 0 >b : number var rb8 = b / b; @@ -120,30 +120,30 @@ var rc3 = a % 0; >rc3 : number >a % 0 : number >a : any ->0 : number +>0 : 0 var rc4 = 0 % a; >rc4 : number >0 % a : number ->0 : number +>0 : 0 >a : any var rc5 = 0 % 0; >rc5 : number >0 % 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rc6 = b % 0; >rc6 : number >b % 0 : number >b : number ->0 : number +>0 : 0 var rc7 = 0 % b; >rc7 : number >0 % b : number ->0 : number +>0 : 0 >b : number var rc8 = b % b; @@ -169,30 +169,30 @@ var rd3 = a - 0; >rd3 : number >a - 0 : number >a : any ->0 : number +>0 : 0 var rd4 = 0 - a; >rd4 : number >0 - a : number ->0 : number +>0 : 0 >a : any var rd5 = 0 - 0; >rd5 : number >0 - 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rd6 = b - 0; >rd6 : number >b - 0 : number >b : number ->0 : number +>0 : 0 var rd7 = 0 - b; >rd7 : number >0 - b : number ->0 : number +>0 : 0 >b : number var rd8 = b - b; @@ -218,30 +218,30 @@ var re3 = a << 0; >re3 : number >a << 0 : number >a : any ->0 : number +>0 : 0 var re4 = 0 << a; >re4 : number >0 << a : number ->0 : number +>0 : 0 >a : any var re5 = 0 << 0; >re5 : number >0 << 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var re6 = b << 0; >re6 : number >b << 0 : number >b : number ->0 : number +>0 : 0 var re7 = 0 << b; >re7 : number >0 << b : number ->0 : number +>0 : 0 >b : number var re8 = b << b; @@ -267,30 +267,30 @@ var rf3 = a >> 0; >rf3 : number >a >> 0 : number >a : any ->0 : number +>0 : 0 var rf4 = 0 >> a; >rf4 : number >0 >> a : number ->0 : number +>0 : 0 >a : any var rf5 = 0 >> 0; >rf5 : number >0 >> 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rf6 = b >> 0; >rf6 : number >b >> 0 : number >b : number ->0 : number +>0 : 0 var rf7 = 0 >> b; >rf7 : number >0 >> b : number ->0 : number +>0 : 0 >b : number var rf8 = b >> b; @@ -316,30 +316,30 @@ var rg3 = a >>> 0; >rg3 : number >a >>> 0 : number >a : any ->0 : number +>0 : 0 var rg4 = 0 >>> a; >rg4 : number >0 >>> a : number ->0 : number +>0 : 0 >a : any var rg5 = 0 >>> 0; >rg5 : number >0 >>> 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rg6 = b >>> 0; >rg6 : number >b >>> 0 : number >b : number ->0 : number +>0 : 0 var rg7 = 0 >>> b; >rg7 : number >0 >>> b : number ->0 : number +>0 : 0 >b : number var rg8 = b >>> b; @@ -365,30 +365,30 @@ var rh3 = a & 0; >rh3 : number >a & 0 : number >a : any ->0 : number +>0 : 0 var rh4 = 0 & a; >rh4 : number >0 & a : number ->0 : number +>0 : 0 >a : any var rh5 = 0 & 0; >rh5 : number >0 & 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rh6 = b & 0; >rh6 : number >b & 0 : number >b : number ->0 : number +>0 : 0 var rh7 = 0 & b; >rh7 : number >0 & b : number ->0 : number +>0 : 0 >b : number var rh8 = b & b; @@ -414,30 +414,30 @@ var ri3 = a ^ 0; >ri3 : number >a ^ 0 : number >a : any ->0 : number +>0 : 0 var ri4 = 0 ^ a; >ri4 : number >0 ^ a : number ->0 : number +>0 : 0 >a : any var ri5 = 0 ^ 0; >ri5 : number >0 ^ 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var ri6 = b ^ 0; >ri6 : number >b ^ 0 : number >b : number ->0 : number +>0 : 0 var ri7 = 0 ^ b; >ri7 : number >0 ^ b : number ->0 : number +>0 : 0 >b : number var ri8 = b ^ b; @@ -463,30 +463,30 @@ var rj3 = a | 0; >rj3 : number >a | 0 : number >a : any ->0 : number +>0 : 0 var rj4 = 0 | a; >rj4 : number >0 | a : number ->0 : number +>0 : 0 >a : any var rj5 = 0 | 0; >rj5 : number >0 | 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var rj6 = b | 0; >rj6 : number >b | 0 : number >b : number ->0 : number +>0 : 0 var rj7 = 0 | b; >rj7 : number >0 | b : number ->0 : number +>0 : 0 >b : number var rj8 = b | b; diff --git a/tests/baselines/reference/arithmeticOperatorWithEnum.types b/tests/baselines/reference/arithmeticOperatorWithEnum.types index 3aca5c31798..0f2fbe48feb 100644 --- a/tests/baselines/reference/arithmeticOperatorWithEnum.types +++ b/tests/baselines/reference/arithmeticOperatorWithEnum.types @@ -5,10 +5,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -55,60 +55,60 @@ var ra5 = b * c; var ra6 = E.a * a; >ra6 : number >E.a * a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var ra7 = E.a * b; >ra7 : number >E.a * b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var ra8 = E.a * E.b; >ra8 : number >E.a * E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra9 = E.a * 1; >ra9 : number >E.a * 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var ra10 = a * E.b; >ra10 : number >a * E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra11 = b * E.b; >ra11 : number >b * E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra12 = 1 * E.b; >ra12 : number >1 * E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator / var rb1 = c / a; @@ -144,60 +144,60 @@ var rb5 = b / c; var rb6 = E.a / a; >rb6 : number >E.a / a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rb7 = E.a / b; >rb7 : number >E.a / b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rb8 = E.a / E.b; >rb8 : number >E.a / E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb9 = E.a / 1; >rb9 : number >E.a / 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rb10 = a / E.b; >rb10 : number >a / E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb11 = b / E.b; >rb11 : number >b / E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb12 = 1 / E.b; >rb12 : number >1 / E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator % var rc1 = c % a; @@ -233,60 +233,60 @@ var rc5 = b % c; var rc6 = E.a % a; >rc6 : number >E.a % a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rc7 = E.a % b; >rc7 : number >E.a % b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rc8 = E.a % E.b; >rc8 : number >E.a % E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc9 = E.a % 1; >rc9 : number >E.a % 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rc10 = a % E.b; >rc10 : number >a % E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc11 = b % E.b; >rc11 : number >b % E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc12 = 1 % E.b; >rc12 : number >1 % E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator - var rd1 = c - a; @@ -322,60 +322,60 @@ var rd5 = b - c; var rd6 = E.a - a; >rd6 : number >E.a - a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rd7 = E.a - b; >rd7 : number >E.a - b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rd8 = E.a - E.b; >rd8 : number >E.a - E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd9 = E.a - 1; >rd9 : number >E.a - 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rd10 = a - E.b; >rd10 : number >a - E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd11 = b - E.b; >rd11 : number >b - E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd12 = 1 - E.b; >rd12 : number >1 - E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator << var re1 = c << a; @@ -411,60 +411,60 @@ var re5 = b << c; var re6 = E.a << a; >re6 : number >E.a << a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var re7 = E.a << b; >re7 : number >E.a << b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var re8 = E.a << E.b; >re8 : number >E.a << E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re9 = E.a << 1; >re9 : number >E.a << 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var re10 = a << E.b; >re10 : number >a << E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re11 = b << E.b; >re11 : number >b << E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re12 = 1 << E.b; >re12 : number >1 << E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator >> var rf1 = c >> a; @@ -500,60 +500,60 @@ var rf5 = b >> c; var rf6 = E.a >> a; >rf6 : number >E.a >> a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rf7 = E.a >> b; >rf7 : number >E.a >> b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rf8 = E.a >> E.b; >rf8 : number >E.a >> E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf9 = E.a >> 1; >rf9 : number >E.a >> 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rf10 = a >> E.b; >rf10 : number >a >> E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf11 = b >> E.b; >rf11 : number >b >> E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf12 = 1 >> E.b; >rf12 : number >1 >> E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator >>> var rg1 = c >>> a; @@ -589,60 +589,60 @@ var rg5 = b >>> c; var rg6 = E.a >>> a; >rg6 : number >E.a >>> a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rg7 = E.a >>> b; >rg7 : number >E.a >>> b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rg8 = E.a >>> E.b; >rg8 : number >E.a >>> E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg9 = E.a >>> 1; >rg9 : number >E.a >>> 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rg10 = a >>> E.b; >rg10 : number >a >>> E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg11 = b >>> E.b; >rg11 : number >b >>> E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg12 = 1 >>> E.b; >rg12 : number >1 >>> E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator & var rh1 = c & a; @@ -678,60 +678,60 @@ var rh5 = b & c; var rh6 = E.a & a; >rh6 : number >E.a & a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rh7 = E.a & b; >rh7 : number >E.a & b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rh8 = E.a & E.b; >rh8 : number >E.a & E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh9 = E.a & 1; >rh9 : number >E.a & 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rh10 = a & E.b; >rh10 : number >a & E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh11 = b & E.b; >rh11 : number >b & E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh12 = 1 & E.b; >rh12 : number >1 & E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator ^ var ri1 = c ^ a; @@ -767,60 +767,60 @@ var ri5 = b ^ c; var ri6 = E.a ^ a; >ri6 : number >E.a ^ a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var ri7 = E.a ^ b; >ri7 : number >E.a ^ b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var ri8 = E.a ^ E.b; >ri8 : number >E.a ^ E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri9 = E.a ^ 1; >ri9 : number >E.a ^ 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var ri10 = a ^ E.b; >ri10 : number >a ^ E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri11 = b ^ E.b; >ri11 : number >b ^ E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri12 = 1 ^ E.b; >ri12 : number >1 ^ E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator | var rj1 = c | a; @@ -856,58 +856,58 @@ var rj5 = b | c; var rj6 = E.a | a; >rj6 : number >E.a | a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rj7 = E.a | b; >rj7 : number >E.a | b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rj8 = E.a | E.b; >rj8 : number >E.a | E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj9 = E.a | 1; >rj9 : number >E.a | 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rj10 = a | E.b; >rj10 : number >a | E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj11 = b | E.b; >rj11 : number >b | E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj12 = 1 | E.b; >rj12 : number >1 | E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types index cb9bf3d45b0..379bd6f34b3 100644 --- a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types +++ b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types @@ -5,19 +5,19 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } enum F { >F : F c, ->c : F +>c : F.c d ->d : F +>d : F.d } var a: any; @@ -65,60 +65,60 @@ var ra5 = b * c; var ra6 = E.a * a; >ra6 : number >E.a * a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var ra7 = E.a * b; >ra7 : number >E.a * b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var ra8 = E.a * E.b; >ra8 : number >E.a * E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra9 = E.a * 1; >ra9 : number >E.a * 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var ra10 = a * E.b; >ra10 : number >a * E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra11 = b * E.b; >ra11 : number >b * E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ra12 = 1 * E.b; >ra12 : number >1 * E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator / var rb1 = c / a; @@ -154,60 +154,60 @@ var rb5 = b / c; var rb6 = E.a / a; >rb6 : number >E.a / a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rb7 = E.a / b; >rb7 : number >E.a / b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rb8 = E.a / E.b; >rb8 : number >E.a / E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb9 = E.a / 1; >rb9 : number >E.a / 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rb10 = a / E.b; >rb10 : number >a / E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb11 = b / E.b; >rb11 : number >b / E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rb12 = 1 / E.b; >rb12 : number >1 / E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator % var rc1 = c % a; @@ -243,60 +243,60 @@ var rc5 = b % c; var rc6 = E.a % a; >rc6 : number >E.a % a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rc7 = E.a % b; >rc7 : number >E.a % b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rc8 = E.a % E.b; >rc8 : number >E.a % E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc9 = E.a % 1; >rc9 : number >E.a % 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rc10 = a % E.b; >rc10 : number >a % E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc11 = b % E.b; >rc11 : number >b % E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rc12 = 1 % E.b; >rc12 : number >1 % E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator - var rd1 = c - a; @@ -332,60 +332,60 @@ var rd5 = b - c; var rd6 = E.a - a; >rd6 : number >E.a - a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rd7 = E.a - b; >rd7 : number >E.a - b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rd8 = E.a - E.b; >rd8 : number >E.a - E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd9 = E.a - 1; >rd9 : number >E.a - 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rd10 = a - E.b; >rd10 : number >a - E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd11 = b - E.b; >rd11 : number >b - E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rd12 = 1 - E.b; >rd12 : number >1 - E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator << var re1 = c << a; @@ -421,60 +421,60 @@ var re5 = b << c; var re6 = E.a << a; >re6 : number >E.a << a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var re7 = E.a << b; >re7 : number >E.a << b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var re8 = E.a << E.b; >re8 : number >E.a << E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re9 = E.a << 1; >re9 : number >E.a << 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var re10 = a << E.b; >re10 : number >a << E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re11 = b << E.b; >re11 : number >b << E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var re12 = 1 << E.b; >re12 : number >1 << E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator >> var rf1 = c >> a; @@ -510,60 +510,60 @@ var rf5 = b >> c; var rf6 = E.a >> a; >rf6 : number >E.a >> a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rf7 = E.a >> b; >rf7 : number >E.a >> b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rf8 = E.a >> E.b; >rf8 : number >E.a >> E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf9 = E.a >> 1; >rf9 : number >E.a >> 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rf10 = a >> E.b; >rf10 : number >a >> E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf11 = b >> E.b; >rf11 : number >b >> E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rf12 = 1 >> E.b; >rf12 : number >1 >> E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator >>> var rg1 = c >>> a; @@ -599,60 +599,60 @@ var rg5 = b >>> c; var rg6 = E.a >>> a; >rg6 : number >E.a >>> a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rg7 = E.a >>> b; >rg7 : number >E.a >>> b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rg8 = E.a >>> E.b; >rg8 : number >E.a >>> E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg9 = E.a >>> 1; >rg9 : number >E.a >>> 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rg10 = a >>> E.b; >rg10 : number >a >>> E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg11 = b >>> E.b; >rg11 : number >b >>> E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rg12 = 1 >>> E.b; >rg12 : number >1 >>> E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator & var rh1 = c & a; @@ -688,60 +688,60 @@ var rh5 = b & c; var rh6 = E.a & a; >rh6 : number >E.a & a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rh7 = E.a & b; >rh7 : number >E.a & b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rh8 = E.a & E.b; >rh8 : number >E.a & E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh9 = E.a & 1; >rh9 : number >E.a & 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rh10 = a & E.b; >rh10 : number >a & E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh11 = b & E.b; >rh11 : number >b & E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rh12 = 1 & E.b; >rh12 : number >1 & E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator ^ var ri1 = c ^ a; @@ -777,60 +777,60 @@ var ri5 = b ^ c; var ri6 = E.a ^ a; >ri6 : number >E.a ^ a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var ri7 = E.a ^ b; >ri7 : number >E.a ^ b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var ri8 = E.a ^ E.b; >ri8 : number >E.a ^ E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri9 = E.a ^ 1; >ri9 : number >E.a ^ 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var ri10 = a ^ E.b; >ri10 : number >a ^ E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri11 = b ^ E.b; >ri11 : number >b ^ E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var ri12 = 1 ^ E.b; >ri12 : number >1 ^ E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b // operator | var rj1 = c | a; @@ -866,58 +866,58 @@ var rj5 = b | c; var rj6 = E.a | a; >rj6 : number >E.a | a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var rj7 = E.a | b; >rj7 : number >E.a | b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rj8 = E.a | E.b; >rj8 : number >E.a | E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj9 = E.a | 1; >rj9 : number >E.a | 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var rj10 = a | E.b; >rj10 : number >a | E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj11 = b | E.b; >rj11 : number >b | E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var rj12 = 1 | E.b; >rj12 : number >1 | E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types index 521fb4d7313..78e2a5945f0 100644 --- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types @@ -6,10 +6,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -35,15 +35,15 @@ var ra3 = null * 1; >ra3 : number >null * 1 : number >null : null ->1 : number +>1 : 1 var ra4 = null * E.a; >ra4 : number >null * E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var ra5 = a * null; >ra5 : number @@ -60,15 +60,15 @@ var ra6 = b * null; var ra7 = 0 * null; >ra7 : number >0 * null : number ->0 : number +>0 : 0 >null : null var ra8 = E.b * null; >ra8 : number >E.b * null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator / @@ -88,15 +88,15 @@ var rb3 = null / 1; >rb3 : number >null / 1 : number >null : null ->1 : number +>1 : 1 var rb4 = null / E.a; >rb4 : number >null / E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rb5 = a / null; >rb5 : number @@ -113,15 +113,15 @@ var rb6 = b / null; var rb7 = 0 / null; >rb7 : number >0 / null : number ->0 : number +>0 : 0 >null : null var rb8 = E.b / null; >rb8 : number >E.b / null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator % @@ -141,15 +141,15 @@ var rc3 = null % 1; >rc3 : number >null % 1 : number >null : null ->1 : number +>1 : 1 var rc4 = null % E.a; >rc4 : number >null % E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rc5 = a % null; >rc5 : number @@ -166,15 +166,15 @@ var rc6 = b % null; var rc7 = 0 % null; >rc7 : number >0 % null : number ->0 : number +>0 : 0 >null : null var rc8 = E.b % null; >rc8 : number >E.b % null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator - @@ -194,15 +194,15 @@ var rd3 = null - 1; >rd3 : number >null - 1 : number >null : null ->1 : number +>1 : 1 var rd4 = null - E.a; >rd4 : number >null - E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rd5 = a - null; >rd5 : number @@ -219,15 +219,15 @@ var rd6 = b - null; var rd7 = 0 - null; >rd7 : number >0 - null : number ->0 : number +>0 : 0 >null : null var rd8 = E.b - null; >rd8 : number >E.b - null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator << @@ -247,15 +247,15 @@ var re3 = null << 1; >re3 : number >null << 1 : number >null : null ->1 : number +>1 : 1 var re4 = null << E.a; >re4 : number >null << E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var re5 = a << null; >re5 : number @@ -272,15 +272,15 @@ var re6 = b << null; var re7 = 0 << null; >re7 : number >0 << null : number ->0 : number +>0 : 0 >null : null var re8 = E.b << null; >re8 : number >E.b << null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator >> @@ -300,15 +300,15 @@ var rf3 = null >> 1; >rf3 : number >null >> 1 : number >null : null ->1 : number +>1 : 1 var rf4 = null >> E.a; >rf4 : number >null >> E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rf5 = a >> null; >rf5 : number @@ -325,15 +325,15 @@ var rf6 = b >> null; var rf7 = 0 >> null; >rf7 : number >0 >> null : number ->0 : number +>0 : 0 >null : null var rf8 = E.b >> null; >rf8 : number >E.b >> null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator >>> @@ -353,15 +353,15 @@ var rg3 = null >>> 1; >rg3 : number >null >>> 1 : number >null : null ->1 : number +>1 : 1 var rg4 = null >>> E.a; >rg4 : number >null >>> E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rg5 = a >>> null; >rg5 : number @@ -378,15 +378,15 @@ var rg6 = b >>> null; var rg7 = 0 >>> null; >rg7 : number >0 >>> null : number ->0 : number +>0 : 0 >null : null var rg8 = E.b >>> null; >rg8 : number >E.b >>> null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator & @@ -406,15 +406,15 @@ var rh3 = null & 1; >rh3 : number >null & 1 : number >null : null ->1 : number +>1 : 1 var rh4 = null & E.a; >rh4 : number >null & E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rh5 = a & null; >rh5 : number @@ -431,15 +431,15 @@ var rh6 = b & null; var rh7 = 0 & null; >rh7 : number >0 & null : number ->0 : number +>0 : 0 >null : null var rh8 = E.b & null; >rh8 : number >E.b & null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator ^ @@ -459,15 +459,15 @@ var ri3 = null ^ 1; >ri3 : number >null ^ 1 : number >null : null ->1 : number +>1 : 1 var ri4 = null ^ E.a; >ri4 : number >null ^ E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var ri5 = a ^ null; >ri5 : number @@ -484,15 +484,15 @@ var ri6 = b ^ null; var ri7 = 0 ^ null; >ri7 : number >0 ^ null : number ->0 : number +>0 : 0 >null : null var ri8 = E.b ^ null; >ri8 : number >E.b ^ null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null // operator | @@ -512,15 +512,15 @@ var rj3 = null | 1; >rj3 : number >null | 1 : number >null : null ->1 : number +>1 : 1 var rj4 = null | E.a; >rj4 : number >null | E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rj5 = a | null; >rj5 : number @@ -537,14 +537,14 @@ var rj6 = b | null; var rj7 = 0 | null; >rj7 : number >0 | null : number ->0 : number +>0 : 0 >null : null var rj8 = E.b | null; >rj8 : number >E.b | null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types index 77dbe1c1441..2a714a35210 100644 --- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types @@ -6,10 +6,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -35,15 +35,15 @@ var ra3 = undefined * 1; >ra3 : number >undefined * 1 : number >undefined : undefined ->1 : number +>1 : 1 var ra4 = undefined * E.a; >ra4 : number >undefined * E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var ra5 = a * undefined; >ra5 : number @@ -60,15 +60,15 @@ var ra6 = b * undefined; var ra7 = 0 * undefined; >ra7 : number >0 * undefined : number ->0 : number +>0 : 0 >undefined : undefined var ra8 = E.b * undefined; >ra8 : number >E.b * undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator / @@ -88,15 +88,15 @@ var rb3 = undefined / 1; >rb3 : number >undefined / 1 : number >undefined : undefined ->1 : number +>1 : 1 var rb4 = undefined / E.a; >rb4 : number >undefined / E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rb5 = a / undefined; >rb5 : number @@ -113,15 +113,15 @@ var rb6 = b / undefined; var rb7 = 0 / undefined; >rb7 : number >0 / undefined : number ->0 : number +>0 : 0 >undefined : undefined var rb8 = E.b / undefined; >rb8 : number >E.b / undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator % @@ -141,15 +141,15 @@ var rc3 = undefined % 1; >rc3 : number >undefined % 1 : number >undefined : undefined ->1 : number +>1 : 1 var rc4 = undefined % E.a; >rc4 : number >undefined % E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rc5 = a % undefined; >rc5 : number @@ -166,15 +166,15 @@ var rc6 = b % undefined; var rc7 = 0 % undefined; >rc7 : number >0 % undefined : number ->0 : number +>0 : 0 >undefined : undefined var rc8 = E.b % undefined; >rc8 : number >E.b % undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator - @@ -194,15 +194,15 @@ var rd3 = undefined - 1; >rd3 : number >undefined - 1 : number >undefined : undefined ->1 : number +>1 : 1 var rd4 = undefined - E.a; >rd4 : number >undefined - E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rd5 = a - undefined; >rd5 : number @@ -219,15 +219,15 @@ var rd6 = b - undefined; var rd7 = 0 - undefined; >rd7 : number >0 - undefined : number ->0 : number +>0 : 0 >undefined : undefined var rd8 = E.b - undefined; >rd8 : number >E.b - undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator << @@ -247,15 +247,15 @@ var re3 = undefined << 1; >re3 : number >undefined << 1 : number >undefined : undefined ->1 : number +>1 : 1 var re4 = undefined << E.a; >re4 : number >undefined << E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var re5 = a << undefined; >re5 : number @@ -272,15 +272,15 @@ var re6 = b << undefined; var re7 = 0 << undefined; >re7 : number >0 << undefined : number ->0 : number +>0 : 0 >undefined : undefined var re8 = E.b << undefined; >re8 : number >E.b << undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator >> @@ -300,15 +300,15 @@ var rf3 = undefined >> 1; >rf3 : number >undefined >> 1 : number >undefined : undefined ->1 : number +>1 : 1 var rf4 = undefined >> E.a; >rf4 : number >undefined >> E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rf5 = a >> undefined; >rf5 : number @@ -325,15 +325,15 @@ var rf6 = b >> undefined; var rf7 = 0 >> undefined; >rf7 : number >0 >> undefined : number ->0 : number +>0 : 0 >undefined : undefined var rf8 = E.b >> undefined; >rf8 : number >E.b >> undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator >>> @@ -353,15 +353,15 @@ var rg3 = undefined >>> 1; >rg3 : number >undefined >>> 1 : number >undefined : undefined ->1 : number +>1 : 1 var rg4 = undefined >>> E.a; >rg4 : number >undefined >>> E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rg5 = a >>> undefined; >rg5 : number @@ -378,15 +378,15 @@ var rg6 = b >>> undefined; var rg7 = 0 >>> undefined; >rg7 : number >0 >>> undefined : number ->0 : number +>0 : 0 >undefined : undefined var rg8 = E.b >>> undefined; >rg8 : number >E.b >>> undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator & @@ -406,15 +406,15 @@ var rh3 = undefined & 1; >rh3 : number >undefined & 1 : number >undefined : undefined ->1 : number +>1 : 1 var rh4 = undefined & E.a; >rh4 : number >undefined & E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rh5 = a & undefined; >rh5 : number @@ -431,15 +431,15 @@ var rh6 = b & undefined; var rh7 = 0 & undefined; >rh7 : number >0 & undefined : number ->0 : number +>0 : 0 >undefined : undefined var rh8 = E.b & undefined; >rh8 : number >E.b & undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator ^ @@ -459,15 +459,15 @@ var ri3 = undefined ^ 1; >ri3 : number >undefined ^ 1 : number >undefined : undefined ->1 : number +>1 : 1 var ri4 = undefined ^ E.a; >ri4 : number >undefined ^ E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var ri5 = a ^ undefined; >ri5 : number @@ -484,15 +484,15 @@ var ri6 = b ^ undefined; var ri7 = 0 ^ undefined; >ri7 : number >0 ^ undefined : number ->0 : number +>0 : 0 >undefined : undefined var ri8 = E.b ^ undefined; >ri8 : number >E.b ^ undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined // operator | @@ -512,15 +512,15 @@ var rj3 = undefined | 1; >rj3 : number >undefined | 1 : number >undefined : undefined ->1 : number +>1 : 1 var rj4 = undefined | E.a; >rj4 : number >undefined | E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rj5 = a | undefined; >rj5 : number @@ -537,14 +537,14 @@ var rj6 = b | undefined; var rj7 = 0 | undefined; >rj7 : number >0 | undefined : number ->0 : number +>0 : 0 >undefined : undefined var rj8 = E.b | undefined; >rj8 : number >E.b | undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt b/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt index d60f0b7d03c..a6a685069d6 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt +++ b/tests/baselines/reference/arityAndOrderCompatibility01.errors.txt @@ -39,8 +39,7 @@ tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(26,5): error tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(27,5): error TS2322: Type '{ 0: string; 1: number; }' is not assignable to type '[string]'. Property 'length' is missing in type '{ 0: string; 1: number; }'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(28,5): error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. - Types of property '0' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(29,5): error TS2322: Type 'StrNum' is not assignable to type '[number, string]'. Types of property '0' are incompatible. Type 'string' is not assignable to type 'number'. @@ -136,8 +135,7 @@ tests/cases/conformance/types/tuple/arityAndOrderCompatibility01.ts(30,5): error var n1: [number, string] = x; ~~ !!! error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var n2: [number, string] = y; ~~ !!! error TS2322: Type 'StrNum' is not assignable to type '[number, string]'. diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types index 042b7265ec8..6d4e5a70a51 100644 --- a/tests/baselines/reference/arrayAugment.types +++ b/tests/baselines/reference/arrayAugment.types @@ -12,7 +12,7 @@ interface Array { var x = ['']; >x : string[] >[''] : string[] ->'' : string +>'' : "" var y = x.split(4); >y : string[][] @@ -20,7 +20,7 @@ var y = x.split(4); >x.split : (parts: number) => string[][] >x : string[] >split : (parts: number) => string[][] ->4 : number +>4 : 4 var y: string[][]; // Expect no error here >y : string[][] diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index fca66793f40..864b1adfacb 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -40,7 +40,7 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >x : any >y : boolean ->false : boolean +>false : false >null : null public x() { @@ -55,9 +55,9 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] ->4 : number ->2 : number ->0 : number +>4 : 4 +>2 : 2 +>0 : 0 (this.voidIfAny([4, 2, undefined][0])); >(this.voidIfAny([4, 2, undefined][0])) : number @@ -68,10 +68,10 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] ->4 : number ->2 : number +>4 : 4 +>2 : 2 >undefined : undefined ->0 : number +>0 : 0 (this.voidIfAny([undefined, 2, 4][0])); >(this.voidIfAny([undefined, 2, 4][0])) : number @@ -83,9 +83,9 @@ module EmptyTypes { >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] >undefined : undefined ->2 : number ->4 : number ->0 : number +>2 : 2 +>4 : 4 +>0 : 0 (this.voidIfAny([null, 2, 4][0])); >(this.voidIfAny([null, 2, 4][0])) : number @@ -97,9 +97,9 @@ module EmptyTypes { >[null, 2, 4][0] : number >[null, 2, 4] : number[] >null : null ->2 : number ->4 : number ->0 : number +>2 : 2 +>4 : 4 +>0 : 0 (this.voidIfAny([2, 4, null][0])); >(this.voidIfAny([2, 4, null][0])) : number @@ -110,10 +110,10 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] ->2 : number ->4 : number +>2 : 2 +>4 : 4 >null : null ->0 : number +>0 : 0 (this.voidIfAny([undefined, 4, null][0])); >(this.voidIfAny([undefined, 4, null][0])) : number @@ -125,9 +125,9 @@ module EmptyTypes { >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] >undefined : undefined ->4 : number +>4 : 4 >null : null ->0 : number +>0 : 0 (this.voidIfAny(['', "q"][0])); >(this.voidIfAny(['', "q"][0])) : number @@ -138,9 +138,9 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] ->'' : string ->"q" : string ->0 : number +>'' : "" +>"q" : "q" +>0 : 0 (this.voidIfAny(['', "q", undefined][0])); >(this.voidIfAny(['', "q", undefined][0])) : number @@ -151,10 +151,10 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] ->'' : string ->"q" : string +>'' : "" +>"q" : "q" >undefined : undefined ->0 : number +>0 : 0 (this.voidIfAny([undefined, "q", ''][0])); >(this.voidIfAny([undefined, "q", ''][0])) : number @@ -166,9 +166,9 @@ module EmptyTypes { >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] >undefined : undefined ->"q" : string ->'' : string ->0 : number +>"q" : "q" +>'' : "" +>0 : 0 (this.voidIfAny([null, "q", ''][0])); >(this.voidIfAny([null, "q", ''][0])) : number @@ -180,9 +180,9 @@ module EmptyTypes { >[null, "q", ''][0] : string >[null, "q", ''] : string[] >null : null ->"q" : string ->'' : string ->0 : number +>"q" : "q" +>'' : "" +>0 : 0 (this.voidIfAny(["q", '', null][0])); >(this.voidIfAny(["q", '', null][0])) : number @@ -193,10 +193,10 @@ module EmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] ->"q" : string ->'' : string +>"q" : "q" +>'' : "" >null : null ->0 : number +>0 : 0 (this.voidIfAny([undefined, '', null][0])); >(this.voidIfAny([undefined, '', null][0])) : number @@ -208,9 +208,9 @@ module EmptyTypes { >[undefined, '', null][0] : string >[undefined, '', null] : string[] >undefined : undefined ->'' : string +>'' : "" >null : null ->0 : number +>0 : 0 (this.voidIfAny([[3, 4], [null]][0][0])); >(this.voidIfAny([[3, 4], [null]][0][0])) : number @@ -223,12 +223,12 @@ module EmptyTypes { >[[3, 4], [null]][0] : number[] >[[3, 4], [null]] : number[][] >[3, 4] : number[] ->3 : number ->4 : number +>3 : 3 +>4 : 4 >[null] : null[] >null : null ->0 : number ->0 : number +>0 : 0 +>0 : 0 var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }]; @@ -239,13 +239,13 @@ module EmptyTypes { >[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: derived; }[] >{ x: 7, y: new derived() } : { x: number; y: derived; } >x : number ->7 : number +>7 : 7 >y : derived >new derived() : derived >derived : typeof derived >{ x: 5, y: new base() } : { x: number; y: base; } >x : number ->5 : number +>5 : 5 >y : base >new base() : base >base : typeof base @@ -255,16 +255,16 @@ module EmptyTypes { >x : boolean >y : base >base : base ->[{ x: true, y: new derived() }, { x: false, y: new base() }] : { x: boolean; y: derived; }[] ->{ x: true, y: new derived() } : { x: boolean; y: derived; } +>[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[] +>{ x: true, y: new derived() } : { x: true; y: derived; } >x : boolean ->true : boolean +>true : true >y : derived >new derived() : derived >derived : typeof derived ->{ x: false, y: new base() } : { x: boolean; y: base; } +>{ x: false, y: new base() } : { x: false; y: base; } >x : boolean ->false : boolean +>false : false >y : base >new base() : base >base : typeof base @@ -283,7 +283,7 @@ module EmptyTypes { >base : typeof base >{ x: '', y: new derived() } : { x: string; y: derived; } >x : string ->'' : string +>'' : "" >y : derived >new derived() : derived >derived : typeof derived @@ -298,19 +298,19 @@ module EmptyTypes { >[{ x: 0, y: 'a' }, { x: 'a', y: 'a' }, { x: anyObj, y: 'a' }] : { x: any; y: string; }[] >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" >{ x: anyObj, y: 'a' } : { x: any; y: string; } >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" var a2 = [{ x: anyObj, y: 'a' }, { x: 0, y: 'a' }, { x: 'a', y: 'a' }]; >a2 : { x: any; y: string; }[] @@ -319,36 +319,36 @@ module EmptyTypes { >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" var a3 = [{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }]; >a3 : { x: any; y: string; }[] >[{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }] : { x: any; y: string; }[] >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: anyObj, y: 'a' } : { x: any; y: string; } >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" var ifaceObj: iface = null; >ifaceObj : iface @@ -366,22 +366,22 @@ module EmptyTypes { >base2 : typeof base2 var b1 = [baseObj, base2Obj, ifaceObj]; ->b1 : base[] ->[baseObj, base2Obj, ifaceObj] : base[] +>b1 : iface[] +>[baseObj, base2Obj, ifaceObj] : iface[] >baseObj : base >base2Obj : base2 >ifaceObj : iface var b2 = [base2Obj, baseObj, ifaceObj]; ->b2 : base2[] ->[base2Obj, baseObj, ifaceObj] : base2[] +>b2 : iface[] +>[base2Obj, baseObj, ifaceObj] : iface[] >base2Obj : base2 >baseObj : base >ifaceObj : iface var b3 = [baseObj, ifaceObj, base2Obj]; ->b3 : base[] ->[baseObj, ifaceObj, base2Obj] : base[] +>b3 : iface[] +>[baseObj, ifaceObj, base2Obj] : iface[] >baseObj : base >ifaceObj : iface >base2Obj : base2 @@ -443,7 +443,7 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >x : any >y : boolean ->false : boolean +>false : false >null : null public x() { @@ -458,9 +458,9 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2][0] : number >[4, 2] : number[] ->4 : number ->2 : number ->0 : number +>4 : 4 +>2 : 2 +>0 : 0 (this.voidIfAny([4, 2, undefined][0])); >(this.voidIfAny([4, 2, undefined][0])) : number @@ -471,10 +471,10 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[4, 2, undefined][0] : number >[4, 2, undefined] : number[] ->4 : number ->2 : number +>4 : 4 +>2 : 2 >undefined : undefined ->0 : number +>0 : 0 (this.voidIfAny([undefined, 2, 4][0])); >(this.voidIfAny([undefined, 2, 4][0])) : number @@ -486,9 +486,9 @@ module NonEmptyTypes { >[undefined, 2, 4][0] : number >[undefined, 2, 4] : number[] >undefined : undefined ->2 : number ->4 : number ->0 : number +>2 : 2 +>4 : 4 +>0 : 0 (this.voidIfAny([null, 2, 4][0])); >(this.voidIfAny([null, 2, 4][0])) : number @@ -500,9 +500,9 @@ module NonEmptyTypes { >[null, 2, 4][0] : number >[null, 2, 4] : number[] >null : null ->2 : number ->4 : number ->0 : number +>2 : 2 +>4 : 4 +>0 : 0 (this.voidIfAny([2, 4, null][0])); >(this.voidIfAny([2, 4, null][0])) : number @@ -513,10 +513,10 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >[2, 4, null][0] : number >[2, 4, null] : number[] ->2 : number ->4 : number +>2 : 2 +>4 : 4 >null : null ->0 : number +>0 : 0 (this.voidIfAny([undefined, 4, null][0])); >(this.voidIfAny([undefined, 4, null][0])) : number @@ -528,9 +528,9 @@ module NonEmptyTypes { >[undefined, 4, null][0] : number >[undefined, 4, null] : number[] >undefined : undefined ->4 : number +>4 : 4 >null : null ->0 : number +>0 : 0 (this.voidIfAny(['', "q"][0])); >(this.voidIfAny(['', "q"][0])) : number @@ -541,9 +541,9 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q"][0] : string >['', "q"] : string[] ->'' : string ->"q" : string ->0 : number +>'' : "" +>"q" : "q" +>0 : 0 (this.voidIfAny(['', "q", undefined][0])); >(this.voidIfAny(['', "q", undefined][0])) : number @@ -554,10 +554,10 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >['', "q", undefined][0] : string >['', "q", undefined] : string[] ->'' : string ->"q" : string +>'' : "" +>"q" : "q" >undefined : undefined ->0 : number +>0 : 0 (this.voidIfAny([undefined, "q", ''][0])); >(this.voidIfAny([undefined, "q", ''][0])) : number @@ -569,9 +569,9 @@ module NonEmptyTypes { >[undefined, "q", ''][0] : string >[undefined, "q", ''] : string[] >undefined : undefined ->"q" : string ->'' : string ->0 : number +>"q" : "q" +>'' : "" +>0 : 0 (this.voidIfAny([null, "q", ''][0])); >(this.voidIfAny([null, "q", ''][0])) : number @@ -583,9 +583,9 @@ module NonEmptyTypes { >[null, "q", ''][0] : string >[null, "q", ''] : string[] >null : null ->"q" : string ->'' : string ->0 : number +>"q" : "q" +>'' : "" +>0 : 0 (this.voidIfAny(["q", '', null][0])); >(this.voidIfAny(["q", '', null][0])) : number @@ -596,10 +596,10 @@ module NonEmptyTypes { >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } >["q", '', null][0] : string >["q", '', null] : string[] ->"q" : string ->'' : string +>"q" : "q" +>'' : "" >null : null ->0 : number +>0 : 0 (this.voidIfAny([undefined, '', null][0])); >(this.voidIfAny([undefined, '', null][0])) : number @@ -611,9 +611,9 @@ module NonEmptyTypes { >[undefined, '', null][0] : string >[undefined, '', null] : string[] >undefined : undefined ->'' : string +>'' : "" >null : null ->0 : number +>0 : 0 (this.voidIfAny([[3, 4], [null]][0][0])); >(this.voidIfAny([[3, 4], [null]][0][0])) : number @@ -626,12 +626,12 @@ module NonEmptyTypes { >[[3, 4], [null]][0] : number[] >[[3, 4], [null]] : number[][] >[3, 4] : number[] ->3 : number ->4 : number +>3 : 3 +>4 : 4 >[null] : null[] >null : null ->0 : number ->0 : number +>0 : 0 +>0 : 0 var t1: { x: number; y: base; }[] = [{ x: 7, y: new derived() }, { x: 5, y: new base() }]; @@ -642,13 +642,13 @@ module NonEmptyTypes { >[{ x: 7, y: new derived() }, { x: 5, y: new base() }] : { x: number; y: base; }[] >{ x: 7, y: new derived() } : { x: number; y: derived; } >x : number ->7 : number +>7 : 7 >y : derived >new derived() : derived >derived : typeof derived >{ x: 5, y: new base() } : { x: number; y: base; } >x : number ->5 : number +>5 : 5 >y : base >new base() : base >base : typeof base @@ -658,16 +658,16 @@ module NonEmptyTypes { >x : boolean >y : base >base : base ->[{ x: true, y: new derived() }, { x: false, y: new base() }] : { x: boolean; y: base; }[] ->{ x: true, y: new derived() } : { x: boolean; y: derived; } +>[{ x: true, y: new derived() }, { x: false, y: new base() }] : ({ x: true; y: derived; } | { x: false; y: base; })[] +>{ x: true, y: new derived() } : { x: true; y: derived; } >x : boolean ->true : boolean +>true : true >y : derived >new derived() : derived >derived : typeof derived ->{ x: false, y: new base() } : { x: boolean; y: base; } +>{ x: false, y: new base() } : { x: false; y: base; } >x : boolean ->false : boolean +>false : false >y : base >new base() : base >base : typeof base @@ -686,7 +686,7 @@ module NonEmptyTypes { >base : typeof base >{ x: '', y: new derived() } : { x: string; y: derived; } >x : string ->'' : string +>'' : "" >y : derived >new derived() : derived >derived : typeof derived @@ -701,19 +701,19 @@ module NonEmptyTypes { >[{ x: 0, y: 'a' }, { x: 'a', y: 'a' }, { x: anyObj, y: 'a' }] : { x: any; y: string; }[] >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" >{ x: anyObj, y: 'a' } : { x: any; y: string; } >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" var a2 = [{ x: anyObj, y: 'a' }, { x: 0, y: 'a' }, { x: 'a', y: 'a' }]; >a2 : { x: any; y: string; }[] @@ -722,36 +722,36 @@ module NonEmptyTypes { >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" var a3 = [{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }]; >a3 : { x: any; y: string; }[] >[{ x: 0, y: 'a' }, { x: anyObj, y: 'a' }, { x: 'a', y: 'a' }] : { x: any; y: string; }[] >{ x: 0, y: 'a' } : { x: number; y: string; } >x : number ->0 : number +>0 : 0 >y : string ->'a' : string +>'a' : "a" >{ x: anyObj, y: 'a' } : { x: any; y: string; } >x : any >anyObj : any >y : string ->'a' : string +>'a' : "a" >{ x: 'a', y: 'a' } : { x: string; y: string; } >x : string ->'a' : string +>'a' : "a" >y : string ->'a' : string +>'a' : "a" var ifaceObj: iface = null; >ifaceObj : iface diff --git a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types index 77db8cc250d..38649f2b02d 100644 --- a/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types +++ b/tests/baselines/reference/arrayBindingPatternOmittedExpressions.types @@ -43,12 +43,12 @@ function f([, a, , b, , , , s, , , ] = results) { >a : string >s[1] : string >s : string ->1 : number +>1 : 1 b = s[2]; >b = s[2] : string >b : string >s[2] : string >s : string ->2 : number +>2 : 2 } diff --git a/tests/baselines/reference/arrayConcat2.symbols b/tests/baselines/reference/arrayConcat2.symbols index fb84193c113..daedee6e9c8 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, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcat2.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) a.concat('Hello'); ->a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(arrayConcat2.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.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, --, --)) b.concat('hello'); ->b.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>b.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >b : Symbol(b, Decl(arrayConcat2.ts, 5, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/arrayConcat2.types b/tests/baselines/reference/arrayConcat2.types index b7df3749116..7687c5ed8fe 100644 --- a/tests/baselines/reference/arrayConcat2.types +++ b/tests/baselines/reference/arrayConcat2.types @@ -5,18 +5,18 @@ var a: string[] = []; a.concat("hello", 'world'); >a.concat("hello", 'world') : string[] ->a.concat : (...items: (string | string[])[]) => string[] +>a.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >a : string[] ->concat : (...items: (string | string[])[]) => string[] ->"hello" : string ->'world' : string +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } +>"hello" : "hello" +>'world' : "world" a.concat('Hello'); >a.concat('Hello') : string[] ->a.concat : (...items: (string | string[])[]) => string[] +>a.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >a : string[] ->concat : (...items: (string | string[])[]) => string[] ->'Hello' : string +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } +>'Hello' : "Hello" var b = new Array(); >b : string[] @@ -25,8 +25,8 @@ var b = new Array(); b.concat('hello'); >b.concat('hello') : string[] ->b.concat : (...items: (string | string[])[]) => string[] +>b.concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >b : string[] ->concat : (...items: (string | string[])[]) => string[] ->'hello' : string +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } +>'hello' : "hello" diff --git a/tests/baselines/reference/arrayConcatMap.symbols b/tests/baselines/reference/arrayConcatMap.symbols index bde2686e259..5ef9d811723 100644 --- a/tests/baselines/reference/arrayConcatMap.symbols +++ b/tests/baselines/reference/arrayConcatMap.symbols @@ -2,8 +2,8 @@ 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, --, --)) ->concat : Symbol(Array.concat, 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, --, --)) >a : Symbol(a, Decl(arrayConcatMap.ts, 0, 20)) >a : Symbol(a, Decl(arrayConcatMap.ts, 0, 32)) diff --git a/tests/baselines/reference/arrayConcatMap.types b/tests/baselines/reference/arrayConcatMap.types index 38e1a1c49c9..89289e58d4e 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -4,17 +4,17 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) >[].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a) : any[] >[].concat([{ a: 1 }], [{ a: 2 }]) .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] >[].concat([{ a: 1 }], [{ a: 2 }]) : any[] ->[].concat : (...items: any[]) => any[] +>[].concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >[] : undefined[] ->concat : (...items: any[]) => any[] +>concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >[{ a: 1 }] : { a: number; }[] >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 >[{ a: 2 }] : { a: number; }[] >{ a: 2 } : { a: number; } >a : number ->2 : number +>2 : 2 .map(b => b.a); >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] diff --git a/tests/baselines/reference/arrayConstructors1.types b/tests/baselines/reference/arrayConstructors1.types index 89807cd0348..c5a49e56f90 100644 --- a/tests/baselines/reference/arrayConstructors1.types +++ b/tests/baselines/reference/arrayConstructors1.types @@ -7,23 +7,23 @@ x = new Array(1); >x : string[] >new Array(1) : any[] >Array : ArrayConstructor ->1 : number +>1 : 1 x = new Array('hi', 'bye'); >x = new Array('hi', 'bye') : string[] >x : string[] >new Array('hi', 'bye') : string[] >Array : ArrayConstructor ->'hi' : string ->'bye' : string +>'hi' : "hi" +>'bye' : "bye" x = new Array('hi', 'bye'); >x = new Array('hi', 'bye') : string[] >x : string[] >new Array('hi', 'bye') : string[] >Array : ArrayConstructor ->'hi' : string ->'bye' : string +>'hi' : "hi" +>'bye' : "bye" var y: number[]; >y : number[] @@ -33,21 +33,21 @@ y = new Array(1); >y : number[] >new Array(1) : any[] >Array : ArrayConstructor ->1 : number +>1 : 1 y = new Array(1,2); >y = new Array(1,2) : number[] >y : number[] >new Array(1,2) : number[] >Array : ArrayConstructor ->1 : number ->2 : number +>1 : 1 +>2 : 2 y = new Array(1, 2); >y = new Array(1, 2) : number[] >y : number[] >new Array(1, 2) : number[] >Array : ArrayConstructor ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/arrayFilter.types b/tests/baselines/reference/arrayFilter.types index f3d6d421744..43ef4161a06 100644 --- a/tests/baselines/reference/arrayFilter.types +++ b/tests/baselines/reference/arrayFilter.types @@ -6,7 +6,7 @@ var foo = [ { name: 'bar' }, >{ name: 'bar' } : { name: string; } >name : string ->'bar' : string +>'bar' : "bar" { name: null }, >{ name: null } : { name: null; } @@ -16,7 +16,7 @@ var foo = [ { name: 'baz' } >{ name: 'baz' } : { name: string; } >name : string ->'baz' : string +>'baz' : "baz" ] diff --git a/tests/baselines/reference/arrayLiteral.types b/tests/baselines/reference/arrayLiteral.types index a7b915de79d..c36cc93c68e 100644 --- a/tests/baselines/reference/arrayLiteral.types +++ b/tests/baselines/reference/arrayLiteral.types @@ -9,18 +9,18 @@ var x = new Array(1); >x : any[] >new Array(1) : any[] >Array : ArrayConstructor ->1 : number +>1 : 1 var y = [1]; >y : number[] >[1] : number[] ->1 : number +>1 : 1 var y = [1, 2]; >y : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var y = new Array(); >y : number[] @@ -35,18 +35,18 @@ var x2: number[] = new Array(1); >x2 : number[] >new Array(1) : any[] >Array : ArrayConstructor ->1 : number +>1 : 1 var y2: number[] = [1]; >y2 : number[] >[1] : number[] ->1 : number +>1 : 1 var y2: number[] = [1, 2]; >y2 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var y2: number[] = new Array(); >y2 : number[] diff --git a/tests/baselines/reference/arrayLiteral1.types b/tests/baselines/reference/arrayLiteral1.types index eb83fa87035..e0ee33c1ef4 100644 --- a/tests/baselines/reference/arrayLiteral1.types +++ b/tests/baselines/reference/arrayLiteral1.types @@ -2,6 +2,6 @@ var v30 = [1, 2]; >v30 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/arrayLiteral2.types b/tests/baselines/reference/arrayLiteral2.types index 1c3c81117d9..5bbc2f4fce8 100644 --- a/tests/baselines/reference/arrayLiteral2.types +++ b/tests/baselines/reference/arrayLiteral2.types @@ -2,7 +2,7 @@ var v30 = [1, 2], v31; >v30 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >v31 : any diff --git a/tests/baselines/reference/arrayLiteralComments.types b/tests/baselines/reference/arrayLiteralComments.types index a8c32b48e41..80199c0f808 100644 --- a/tests/baselines/reference/arrayLiteralComments.types +++ b/tests/baselines/reference/arrayLiteralComments.types @@ -1,7 +1,7 @@ === tests/cases/compiler/arrayLiteralComments.ts === var testArrayWithFunc = [ ->testArrayWithFunc : ((() => void) | string | number | { a: number; } | number[])[] ->[ // Function comment function() { let x = 1; }, // String comment '1', // Numeric comment 2, // Object comment { a: 1 }, // Array comment [1, 2, 3]] : ((() => void) | string | number | { a: number; } | number[])[] +>testArrayWithFunc : (string | number | (() => void) | number[] | { a: number; })[] +>[ // Function comment function() { let x = 1; }, // String comment '1', // Numeric comment 2, // Object comment { a: 1 }, // Array comment [1, 2, 3]] : (string | number | (() => void) | number[] | { a: number; })[] // Function comment function() { @@ -9,28 +9,28 @@ var testArrayWithFunc = [ let x = 1; >x : number ->1 : number +>1 : 1 }, // String comment '1', ->'1' : string +>'1' : "1" // Numeric comment 2, ->2 : number +>2 : 2 // Object comment { a: 1 }, >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 // Array comment [1, 2, 3] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 ] diff --git a/tests/baselines/reference/arrayLiteralContextualType.types b/tests/baselines/reference/arrayLiteralContextualType.types index 0513908929e..f9d65aa2dff 100644 --- a/tests/baselines/reference/arrayLiteralContextualType.types +++ b/tests/baselines/reference/arrayLiteralContextualType.types @@ -11,11 +11,11 @@ class Giraffe { name = "Giraffe"; >name : string ->"Giraffe" : string +>"Giraffe" : "Giraffe" neckLength = "3m"; >neckLength : string ->"3m" : string +>"3m" : "3m" } class Elephant { @@ -23,11 +23,11 @@ class Elephant { name = "Elephant"; >name : string ->"Elephant" : string +>"Elephant" : "Elephant" trunkDiameter = "20cm"; >trunkDiameter : string ->"20cm" : string +>"20cm" : "20cm" } function foo(animals: IAnimal[]) { } diff --git a/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt b/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt index 72ba1411320..3e9777aea7c 100644 --- a/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt +++ b/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt @@ -1,7 +1,7 @@ tests/cases/conformance/expressions/contextualTyping/arrayLiteralExpressionContextualTyping.ts(8,5): error TS2322: Type '[number, number, number, string]' is not assignable to type '[number, number, number]'. Types of property 'pop' are incompatible. - Type '() => number | string' is not assignable to type '() => number'. - Type 'number | string' is not assignable to type 'number'. + Type '() => string | number' is not assignable to type '() => number'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/expressions/contextualTyping/arrayLiteralExpressionContextualTyping.ts(14,5): error TS2322: Type 'number[]' is not assignable to type '[number, number, number]'. Property '0' is missing in type 'number[]'. @@ -19,8 +19,8 @@ tests/cases/conformance/expressions/contextualTyping/arrayLiteralExpressionConte ~~~~ !!! error TS2322: Type '[number, number, number, string]' is not assignable to type '[number, number, number]'. !!! error TS2322: Types of property 'pop' are incompatible. -!!! error TS2322: Type '() => number | string' is not assignable to type '() => number'. -!!! error TS2322: Type 'number | string' is not assignable to type 'number'. +!!! error TS2322: Type '() => string | number' is not assignable to type '() => number'. +!!! error TS2322: Type 'string | number' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. // In a contextually typed array literal expression containing one or more spread elements, diff --git a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types index fcbaa22bc6a..4b46e0bf29f 100644 --- a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types +++ b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types @@ -8,6 +8,6 @@ panic([], 'one', 'two'); >panic([], 'one', 'two') : void >panic : (val: string[], ...opt: string[]) => void >[] : undefined[] ->'one' : string ->'two' : string +>'one' : "one" +>'two' : "two" diff --git a/tests/baselines/reference/arrayLiteralSpread.types b/tests/baselines/reference/arrayLiteralSpread.types index 7b9a34c0abe..fd6ae243265 100644 --- a/tests/baselines/reference/arrayLiteralSpread.types +++ b/tests/baselines/reference/arrayLiteralSpread.types @@ -5,9 +5,9 @@ function f0() { var a = [1, 2, 3]; >a : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var a1 = [...a]; >a1 : number[] @@ -18,15 +18,15 @@ function f0() { var a2 = [1, ...a]; >a2 : number[] >[1, ...a] : number[] ->1 : number +>1 : 1 >...a : number >a : number[] var a3 = [1, 2, ...a]; >a3 : number[] >[1, 2, ...a] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : number >a : number[] @@ -35,33 +35,33 @@ function f0() { >[...a, 1] : number[] >...a : number >a : number[] ->1 : number +>1 : 1 var a5 = [...a, 1, 2]; >a5 : number[] >[...a, 1, 2] : number[] >...a : number >a : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a6 = [1, 2, ...a, 1, 2]; >a6 : number[] >[1, 2, ...a, 1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : number >a : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a7 = [1, ...a, 2, ...a]; >a7 : number[] >[1, ...a, 2, ...a] : number[] ->1 : number +>1 : 1 >...a : number >a : number[] ->2 : number +>2 : 2 >...a : number >a : number[] @@ -82,17 +82,17 @@ function f1() { var a = [1, 2, 3]; >a : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var b = ["hello", ...a, true]; >b : (string | number | boolean)[] >["hello", ...a, true] : (string | number | boolean)[] ->"hello" : string +>"hello" : "hello" >...a : number >a : number[] ->true : boolean +>true : true var b: (string | number | boolean)[]; >b : (string | number | boolean)[] @@ -128,6 +128,6 @@ function f2() { >[...[5]] : number[] >...[5] : number >[5] : number[] ->5 : number +>5 : 5 } diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index 1bbb6c41e8a..43cbb87e843 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types @@ -23,8 +23,8 @@ var as = [a, b]; // { x: number; y?: number };[] >b : { x: number; z?: number; } var bs = [b, a]; // { x: number; z?: number };[] ->bs : ({ x: number; z?: number; } | { x: number; y?: number; })[] ->[b, a] : ({ x: number; z?: number; } | { x: number; y?: number; })[] +>bs : ({ x: number; y?: number; } | { x: number; z?: number; })[] +>[b, a] : ({ x: number; y?: number; } | { x: number; z?: number; })[] >b : { x: number; z?: number; } >a : { x: number; y?: number; } @@ -41,21 +41,21 @@ var ds = [(x: Object) => 1, (x: string) => 2]; // { (x:Object) => number }[] >(x: Object) => 1 : (x: Object) => number >x : Object >Object : Object ->1 : number +>1 : 1 >(x: string) => 2 : (x: string) => number >x : string ->2 : number +>2 : 2 var es = [(x: string) => 2, (x: Object) => 1]; // { (x:string) => number }[] >es : ((x: string) => number)[] >[(x: string) => 2, (x: Object) => 1] : ((x: string) => number)[] >(x: string) => 2 : (x: string) => number >x : string ->2 : number +>2 : 2 >(x: Object) => 1 : (x: Object) => number >x : Object >Object : Object ->1 : number +>1 : 1 var fs = [(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2]; // (a: { x: number; y?: number }) => number[] >fs : (((a: { x: number; y?: number; }) => number) | ((b: { x: number; z?: number; }) => number))[] @@ -64,12 +64,12 @@ var fs = [(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => >a : { x: number; y?: number; } >x : number >y : number ->1 : number +>1 : 1 >(b: { x: number; z?: number }) => 2 : (b: { x: number; z?: number; }) => number >b : { x: number; z?: number; } >x : number >z : number ->2 : number +>2 : 2 var gs = [(b: { x: number; z?: number }) => 2, (a: { x: number; y?: number }) => 1]; // (b: { x: number; z?: number }) => number[] >gs : (((b: { x: number; z?: number; }) => number) | ((a: { x: number; y?: number; }) => number))[] @@ -78,10 +78,10 @@ var gs = [(b: { x: number; z?: number }) => 2, (a: { x: number; y?: number }) => >b : { x: number; z?: number; } >x : number >z : number ->2 : number +>2 : 2 >(a: { x: number; y?: number }) => 1 : (a: { x: number; y?: number; }) => number >a : { x: number; y?: number; } >x : number >y : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/arrayLiterals2ES5.types b/tests/baselines/reference/arrayLiterals2ES5.types index a9cf31611c2..c3256db925e 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.types +++ b/tests/baselines/reference/arrayLiterals2ES5.types @@ -13,25 +13,25 @@ var a0 = [,, 2, 3, 4] >[,, 2, 3, 4] : number[] > : undefined > : undefined ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 var a1 = ["hello", "world"] >a1 : string[] >["hello", "world"] : string[] ->"hello" : string ->"world" : string +>"hello" : "hello" +>"world" : "world" var a2 = [, , , ...a0, "hello"]; ->a2 : (number | string)[] ->[, , , ...a0, "hello"] : (number | string)[] +>a2 : (string | number)[] +>[, , , ...a0, "hello"] : (string | number)[] > : undefined > : undefined > : undefined >...a0 : number >a0 : number[] ->"hello" : string +>"hello" : "hello" var a3 = [,, ...a0] >a3 : number[] @@ -45,7 +45,7 @@ var a4 = [() => 1, ]; >a4 : (() => number)[] >[() => 1, ] : (() => number)[] >() => 1 : () => number ->1 : number +>1 : 1 var a5 = [...a0, , ] >a5 : number[] @@ -74,12 +74,12 @@ var b1: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >b1 : [number[], string[]] >[[1, 2, 3], ["hello", "string"]] : [number[], string[]] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >["hello", "string"] : string[] ->"hello" : string ->"string" : string +>"hello" : "hello" +>"string" : "string" // The resulting type an array literal expression is determined as follows: // - If the array literal contains no spread elements and is an array assignment pattern in a destructuring assignment (section 4.17.1), @@ -89,16 +89,16 @@ var [c0, c1] = [1, 2]; // tuple type [number, number] >c0 : number >c1 : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var [c2, c3] = [1, 2, true]; // tuple type [number, number, boolean] >c2 : number >c3 : number >[1, 2, true] : [number, number, boolean] ->1 : number ->2 : number ->true : boolean +>1 : 1 +>2 : 2 +>true : true // The resulting type an array literal expression is determined as follows: // - the resulting type is an array type with an element type that is the union of the types of the @@ -106,27 +106,27 @@ var [c2, c3] = [1, 2, true]; // tuple type [number, number, boolean] var temp = ["s", "t", "r"]; >temp : string[] >["s", "t", "r"] : string[] ->"s" : string ->"t" : string ->"r" : string +>"s" : "s" +>"t" : "t" +>"r" : "r" var temp1 = [1, 2, 3]; >temp1 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >temp2 : [number[], string[]] >[[1, 2, 3], ["hello", "string"]] : [number[], string[]] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >["hello", "string"] : string[] ->"hello" : string ->"string" : string +>"hello" : "hello" +>"string" : "string" var temp3 = [undefined, null, undefined]; >temp3 : any[] @@ -151,10 +151,10 @@ interface myArray2 extends Array { } >String : String var d0 = [1, true, ...temp,]; // has type (string|number|boolean)[] ->d0 : (number | boolean | string)[] ->[1, true, ...temp,] : (number | boolean | string)[] ->1 : number ->true : boolean +>d0 : (string | number | boolean)[] +>[1, true, ...temp,] : (string | number | boolean)[] +>1 : 1 +>true : true >...temp : string >temp : string[] @@ -214,12 +214,12 @@ var d8: number[][] = [[...temp1]] >temp1 : number[] var d9 = [[...temp1], ...["hello"]]; ->d9 : (number[] | string)[] ->[[...temp1], ...["hello"]] : (number[] | string)[] +>d9 : (string | number[])[] +>[[...temp1], ...["hello"]] : (string | number[])[] >[...temp1] : number[] >...temp1 : number >temp1 : number[] >...["hello"] : string >["hello"] : string[] ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/arrayLiterals2ES6.types b/tests/baselines/reference/arrayLiterals2ES6.types index b6bf4f1de1b..57f3f44f62d 100644 --- a/tests/baselines/reference/arrayLiterals2ES6.types +++ b/tests/baselines/reference/arrayLiterals2ES6.types @@ -13,25 +13,25 @@ var a0 = [, , 2, 3, 4] >[, , 2, 3, 4] : number[] > : undefined > : undefined ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 var a1 = ["hello", "world"] >a1 : string[] >["hello", "world"] : string[] ->"hello" : string ->"world" : string +>"hello" : "hello" +>"world" : "world" var a2 = [, , , ...a0, "hello"]; ->a2 : (number | string)[] ->[, , , ...a0, "hello"] : (number | string)[] +>a2 : (string | number)[] +>[, , , ...a0, "hello"] : (string | number)[] > : undefined > : undefined > : undefined >...a0 : number >a0 : number[] ->"hello" : string +>"hello" : "hello" var a3 = [, , ...a0] >a3 : number[] @@ -45,7 +45,7 @@ var a4 = [() => 1, ]; >a4 : (() => number)[] >[() => 1, ] : (() => number)[] >() => 1 : () => number ->1 : number +>1 : 1 var a5 = [...a0, , ] >a5 : number[] @@ -74,12 +74,12 @@ var b1: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >b1 : [number[], string[]] >[[1, 2, 3], ["hello", "string"]] : [number[], string[]] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >["hello", "string"] : string[] ->"hello" : string ->"string" : string +>"hello" : "hello" +>"string" : "string" // The resulting type an array literal expression is determined as follows: // - If the array literal contains no spread elements and is an array assignment pattern in a destructuring assignment (section 4.17.1), @@ -89,16 +89,16 @@ var [c0, c1] = [1, 2]; // tuple type [number, number] >c0 : number >c1 : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var [c2, c3] = [1, 2, true]; // tuple type [number, number, boolean] >c2 : number >c3 : number >[1, 2, true] : [number, number, boolean] ->1 : number ->2 : number ->true : boolean +>1 : 1 +>2 : 2 +>true : true // The resulting type an array literal expression is determined as follows: // - the resulting type is an array type with an element type that is the union of the types of the @@ -106,27 +106,27 @@ var [c2, c3] = [1, 2, true]; // tuple type [number, number, boolean] var temp = ["s", "t", "r"]; >temp : string[] >["s", "t", "r"] : string[] ->"s" : string ->"t" : string ->"r" : string +>"s" : "s" +>"t" : "t" +>"r" : "r" var temp1 = [1, 2, 3]; >temp1 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var temp2: [number[], string[]] = [[1, 2, 3], ["hello", "string"]]; >temp2 : [number[], string[]] >[[1, 2, 3], ["hello", "string"]] : [number[], string[]] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >["hello", "string"] : string[] ->"hello" : string ->"string" : string +>"hello" : "hello" +>"string" : "string" interface myArray extends Array { } >myArray : myArray @@ -140,10 +140,10 @@ interface myArray2 extends Array { } >String : String var d0 = [1, true, ...temp, ]; // has type (string|number|boolean)[] ->d0 : (number | boolean | string)[] ->[1, true, ...temp, ] : (number | boolean | string)[] ->1 : number ->true : boolean +>d0 : (string | number | boolean)[] +>[1, true, ...temp, ] : (string | number | boolean)[] +>1 : 1 +>true : true >...temp : string >temp : string[] @@ -176,10 +176,10 @@ var d4: myArray2 = [...temp, ...temp1]; >temp1 : number[] var d5 = [...a2]; ->d5 : (number | string)[] ->[...a2] : (number | string)[] ->...a2 : number | string ->a2 : (number | string)[] +>d5 : (string | number)[] +>[...a2] : (string | number)[] +>...a2 : string | number +>a2 : (string | number)[] var d6 = [...a3]; >d6 : number[] @@ -201,12 +201,12 @@ var d8: number[][] = [[...temp1]] >temp1 : number[] var d9 = [[...temp1], ...["hello"]]; ->d9 : (number[] | string)[] ->[[...temp1], ...["hello"]] : (number[] | string)[] +>d9 : (string | number[])[] +>[[...temp1], ...["hello"]] : (string | number[])[] >[...temp1] : number[] >...temp1 : number >temp1 : number[] >...["hello"] : string >["hello"] : string[] ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/arrayLiterals3.errors.txt b/tests/baselines/reference/arrayLiterals3.errors.txt index f205e90eced..3ebf4174f51 100644 --- a/tests/baselines/reference/arrayLiterals3.errors.txt +++ b/tests/baselines/reference/arrayLiterals3.errors.txt @@ -1,23 +1,23 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(10,5): error TS2322: Type 'undefined[]' is not assignable to type '[any, any, any]'. Property '0' is missing in type 'undefined[]'. -tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(11,5): error TS2322: Type '[string, number, boolean]' is not assignable to type '[boolean, string, number]'. - Types of property '0' are incompatible. - Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(11,5): error TS2322: Type '["string", number, boolean]' is not assignable to type '[boolean, string, number]'. + Type '"string"' is not assignable to type 'boolean'. tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(17,5): error TS2322: Type '[number, number, string, boolean]' is not assignable to type '[number, number]'. Types of property 'pop' are incompatible. - Type '() => number | string | boolean' is not assignable to type '() => number'. - Type 'number | string | boolean' is not assignable to type 'number'. + Type '() => string | number | boolean' is not assignable to type '() => number'. + Type 'string | number | boolean' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(32,5): error TS2322: Type '(number[] | string[])[]' is not assignable to type 'tup'. Property '0' is missing in type '(number[] | string[])[]'. tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(33,5): error TS2322: Type 'number[]' is not assignable to type '[number, number, number]'. Property '0' is missing in type 'number[]'. -tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error TS2322: Type '(number | string)[]' is not assignable to type 'myArray'. +tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error TS2322: Type '(string | number)[]' is not assignable to type 'myArray'. Types of property 'push' are incompatible. - Type '(...items: (number | string)[]) => number' is not assignable to type '(...items: Number[]) => number'. + Type '(...items: (string | number)[]) => number' is not assignable to type '(...items: Number[]) => number'. Types of parameters 'items' and 'items' are incompatible. - Type 'Number' is not assignable to type 'number | string'. - Type 'Number' is not assignable to type 'string'. + Type 'Number' is not assignable to type 'string | number'. + Type 'Number' is not assignable to type 'number'. + 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. ==== tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts (6 errors) ==== @@ -36,9 +36,8 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error !!! error TS2322: Property '0' is missing in type 'undefined[]'. var a1: [boolean, string, number] = ["string", 1, true]; // Error ~~ -!!! error TS2322: Type '[string, number, boolean]' is not assignable to type '[boolean, string, number]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '["string", number, boolean]' is not assignable to type '[boolean, string, number]'. +!!! error TS2322: Type '"string"' is not assignable to type 'boolean'. // The resulting type an array literal expression is determined as follows: // - If the array literal contains no spread elements and is an array assignment pattern in a destructuring assignment (section 4.17.1), @@ -48,8 +47,8 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error ~~~~~~~~ !!! error TS2322: Type '[number, number, string, boolean]' is not assignable to type '[number, number]'. !!! error TS2322: Types of property 'pop' are incompatible. -!!! error TS2322: Type '() => number | string | boolean' is not assignable to type '() => number'. -!!! error TS2322: Type 'number | string | boolean' is not assignable to type 'number'. +!!! error TS2322: Type '() => string | number | boolean' is not assignable to type '() => number'. +!!! error TS2322: Type 'string | number | boolean' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. // The resulting type an array literal expression is determined as follows: @@ -75,10 +74,11 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(34,5): error !!! error TS2322: Property '0' is missing in type 'number[]'. var c2: myArray = [...temp1, ...temp]; // Error cannot assign (number|string)[] to number[] ~~ -!!! error TS2322: Type '(number | string)[]' is not assignable to type 'myArray'. +!!! error TS2322: Type '(string | number)[]' is not assignable to type 'myArray'. !!! error TS2322: Types of property 'push' are incompatible. -!!! error TS2322: Type '(...items: (number | string)[]) => number' is not assignable to type '(...items: Number[]) => number'. +!!! error TS2322: Type '(...items: (string | number)[]) => number' is not assignable to type '(...items: Number[]) => number'. !!! error TS2322: Types of parameters 'items' and 'items' are incompatible. -!!! error TS2322: Type 'Number' is not assignable to type 'number | string'. -!!! error TS2322: Type 'Number' is not assignable to type 'string'. +!!! error TS2322: Type 'Number' is not assignable to type 'string | number'. +!!! error TS2322: Type 'Number' is not assignable to type 'number'. +!!! error TS2322: 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. \ No newline at end of file diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.types b/tests/baselines/reference/arrayOfFunctionTypes3.types index 0ed92991ed0..124542f5814 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.types +++ b/tests/baselines/reference/arrayOfFunctionTypes3.types @@ -5,7 +5,7 @@ var x = [() => 1, () => { }]; >x : (() => void)[] >[() => 1, () => { }] : (() => void)[] >() => 1 : () => number ->1 : number +>1 : 1 >() => { } : () => void var r2 = x[0](); @@ -13,7 +13,7 @@ var r2 = x[0](); >x[0]() : void >x[0] : () => void >x : (() => void)[] ->0 : number +>0 : 0 class C { >C : C @@ -32,7 +32,7 @@ var r3 = new y[0](); >new y[0]() : C >y[0] : typeof C >y : typeof C[] ->0 : number +>0 : 0 var a: { (x: number): number; (x: string): string; }; >a : { (x: number): number; (x: string): string; } @@ -60,19 +60,19 @@ var r4 = z[0]; >r4 : { (x: number): number; (x: any): any; } >z[0] : { (x: number): number; (x: any): any; } >z : { (x: number): number; (x: any): any; }[] ->0 : number +>0 : 0 var r5 = r4(''); // any not string >r5 : any >r4('') : any >r4 : { (x: number): number; (x: any): any; } ->'' : string +>'' : "" var r5b = r4(1); >r5b : number >r4(1) : number >r4 : { (x: number): number; (x: any): any; } ->1 : number +>1 : 1 var a2: { (x: T): number; (x: string): string;}; >a2 : { (x: T): number; (x: string): string; } @@ -106,11 +106,11 @@ var r6 = z2[0]; >r6 : { (x: number): number; (x: T): any; } >z2[0] : { (x: number): number; (x: T): any; } >z2 : { (x: number): number; (x: T): any; }[] ->0 : number +>0 : 0 var r7 = r6(''); // any not string >r7 : any >r6('') : any >r6 : { (x: number): number; (x: T): any; } ->'' : string +>'' : "" diff --git a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt new file mode 100644 index 00000000000..6f4a0ef9d6d --- /dev/null +++ b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt @@ -0,0 +1,46 @@ +tests/cases/compiler/arrayOfSubtypeIsAssignableToReadonlyArray.ts(13,1): error TS2322: Type 'A[]' is not assignable to type 'ReadonlyArray'. + Types of property 'concat' are incompatible. + Type '{ (...items: A[][]): A[]; (...items: (A | A[])[]): A[]; }' is not assignable to type '{ >(...items: U[]): B[]; (...items: B[][]): B[]; (...items: (B | B[])[]): B[]; }'. + 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/arrayOfSubtypeIsAssignableToReadonlyArray.ts(18,1): error TS2322: Type 'C' is not assignable to type 'ReadonlyArray'. + Types of property 'concat' are incompatible. + Type '{ (...items: A[][]): A[]; (...items: (A | A[])[]): A[]; }' is not assignable to type '{ >(...items: U[]): B[]; (...items: B[][]): B[]; (...items: (B | B[])[]): B[]; }'. + Type 'A[]' is not assignable to type 'B[]'. + Type 'A' is not assignable to type 'B'. + + +==== tests/cases/compiler/arrayOfSubtypeIsAssignableToReadonlyArray.ts (2 errors) ==== + class A { a } + class B extends A { b } + class C extends Array { c } + declare var ara: A[]; + declare var arb: B[]; + declare var cra: C; + declare var crb: C; + declare var rra: ReadonlyArray; + declare var rrb: ReadonlyArray; + rra = ara; + rrb = arb; // OK, Array is assignable to ReadonlyArray + rra = arb; + rrb = ara; // error: 'A' is not assignable to 'B' + ~~~ +!!! error TS2322: Type 'A[]' is not assignable to type 'ReadonlyArray'. +!!! error TS2322: Types of property 'concat' are incompatible. +!!! error TS2322: Type '{ (...items: A[][]): A[]; (...items: (A | A[])[]): A[]; }' is not assignable to type '{ >(...items: U[]): B[]; (...items: B[][]): B[]; (...items: (B | B[])[]): B[]; }'. +!!! error TS2322: Type 'A[]' is not assignable to type 'B[]'. +!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Property 'b' is missing in type 'A'. + + rra = cra; + rra = crb; // OK, C is assignable to ReadonlyArray + rrb = crb; + rrb = cra; // error: 'A' is not assignable to 'B' + ~~~ +!!! error TS2322: Type 'C' is not assignable to type 'ReadonlyArray'. +!!! error TS2322: Types of property 'concat' are incompatible. +!!! error TS2322: Type '{ (...items: A[][]): A[]; (...items: (A | A[])[]): A[]; }' is not assignable to type '{ >(...items: U[]): B[]; (...items: B[][]): B[]; (...items: (B | B[])[]): B[]; }'. +!!! error TS2322: Type 'A[]' is not assignable to type 'B[]'. +!!! error TS2322: Type 'A' is not assignable to type 'B'. + \ No newline at end of file diff --git a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.js b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.js new file mode 100644 index 00000000000..255b52e16c9 --- /dev/null +++ b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.js @@ -0,0 +1,54 @@ +//// [arrayOfSubtypeIsAssignableToReadonlyArray.ts] +class A { a } +class B extends A { b } +class C extends Array { c } +declare var ara: A[]; +declare var arb: B[]; +declare var cra: C; +declare var crb: C; +declare var rra: ReadonlyArray; +declare var rrb: ReadonlyArray; +rra = ara; +rrb = arb; // OK, Array is assignable to ReadonlyArray +rra = arb; +rrb = ara; // error: 'A' is not assignable to 'B' + +rra = cra; +rra = crb; // OK, C is assignable to ReadonlyArray +rrb = crb; +rrb = cra; // error: 'A' is not assignable to 'B' + + +//// [arrayOfSubtypeIsAssignableToReadonlyArray.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var A = (function () { + function A() { + } + return A; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + return C; +}(Array)); +rra = ara; +rrb = arb; // OK, Array is assignable to ReadonlyArray +rra = arb; +rrb = ara; // error: 'A' is not assignable to 'B' +rra = cra; +rra = crb; // OK, C is assignable to ReadonlyArray +rrb = crb; +rrb = cra; // error: 'A' is not assignable to 'B' diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 45615cd63b8..27724c63ab1 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -46,7 +46,7 @@ class parser { >this : this >options : IOptions[] >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] ->function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => number +>function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => 0 | 1 | -1 >a : IOptions >b : IOptions @@ -74,7 +74,7 @@ class parser { >bName : string return 1; ->1 : number +>1 : 1 } else if (aName < bName) { >aName < bName : boolean @@ -82,12 +82,12 @@ class parser { >bName : string return -1; ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 } else { return 0; ->0 : number +>0 : 0 } }); } diff --git a/tests/baselines/reference/arrowFunctionContexts.js b/tests/baselines/reference/arrowFunctionContexts.js index 7b424107bd1..73e3be15e11 100644 --- a/tests/baselines/reference/arrowFunctionContexts.js +++ b/tests/baselines/reference/arrowFunctionContexts.js @@ -102,9 +102,10 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; +var _this = this; // Arrow function used in with statement with (window) { - var p = function () { return this; }; + var p = function () { return _this; }; } // Arrow function as argument to super call var Base = (function () { @@ -130,6 +131,7 @@ var arr; // Incorrect error here (bug 829597) // Arrow function as enum value var E; (function (E) { + var _this = this; E[E["x"] = function () { return 4; }] = "x"; E[E["y"] = (function () { return _this; }).length] = "y"; // error, can't use this in enum })(E || (E = {})); @@ -142,9 +144,10 @@ var M; // Repeat above for module members that are functions? (necessary to redo all of them?) var M2; (function (M2) { + var _this = this; // Arrow function used in with statement with (window) { - var p = function () { return this; }; + var p = function () { return _this; }; } // Arrow function as argument to super call var Base = (function () { @@ -170,6 +173,7 @@ var M2; // Arrow function as enum value var E; (function (E) { + var _this = this; E[E["x"] = function () { return 4; }] = "x"; E[E["y"] = (function () { return _this; }).length] = "y"; })(E || (E = {})); diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index 41344c61cc4..aad43240daa 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -21,13 +21,13 @@ var b = j => { return 0; } >b : (j: any) => number >j => { return 0; } : (j: any) => number >j : any ->0 : number +>0 : 0 var b = (j) => { return 0; } >b : (j: any) => number >(j) => { return 0; } : (j: any) => number >j : any ->0 : number +>0 : 0 // Identifier => AssignmentExpression is equivalent to(Identifier) => AssignmentExpression var c: number; @@ -80,7 +80,7 @@ var p5 = ([a = 1]) => { }; >p5 : ([a]: [number]) => void >([a = 1]) => { } : ([a]: [number]) => void >a : number ->1 : number +>1 : 1 var p6 = ({ a }) => { }; >p6 : ({a}: { a: any; }) => void @@ -97,17 +97,17 @@ var p8 = ({ a = 1 }) => { }; >p8 : ({a}: { a?: number; }) => void >({ a = 1 }) => { } : ({a}: { a?: number; }) => void >a : number ->1 : number +>1 : 1 var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; >p9 : ({a: {b}}: { a?: { b?: number; }; }) => void >({ a: { b = 1 } = { b: 1 } }) => { } : ({a: {b}}: { a?: { b?: number; }; }) => void >a : any >b : number ->1 : number +>1 : 1 >{ b: 1 } : { b?: number; } >b : number ->1 : number +>1 : 1 var p10 = ([{ value, done }]) => { }; >p10 : ([{value, done}]: [{ value: any; done: any; }]) => void @@ -126,7 +126,7 @@ class MyClass { >n : any >n + 1 : any >n : any ->1 : number +>1 : 1 p = (n) => n && this; >p : (n: any) => this @@ -145,7 +145,7 @@ class MyClass { >n : any >n + 1 : any >n : any ->1 : number +>1 : 1 var p = (n) => n && this; >p : (n: any) => this @@ -177,8 +177,8 @@ var e = arrrr()(3)()(4); >arrrr()(3) : () => (n: number) => number >arrrr() : (m: number) => () => (n: number) => number >arrrr : () => (m: number) => () => (n: number) => number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e: number; >e : number @@ -203,8 +203,8 @@ function someFn() { >arr(3)(4) : number >arr(3) : (p: number) => number >arr : (n: number) => (p: number) => number ->3 : number ->4 : number +>3 : 3 +>4 : 4 >toExponential : (fractionDigits?: number) => string } @@ -217,7 +217,7 @@ function someOtherFn() { >(n: number) => '' + n : (n: number) => string >n : number >'' + n : string ->'' : string +>'' : "" >n : number arr(4).charAt(0); @@ -225,9 +225,9 @@ function someOtherFn() { >arr(4).charAt : (pos: number) => string >arr(4) : string >arr : (n: number) => string ->4 : number +>4 : 4 >charAt : (pos: number) => string ->0 : number +>0 : 0 } // Arrow function used in nested function in function @@ -270,14 +270,14 @@ var f = (n: string) => { return fn(4); >fn(4) : () => string >fn : (x: number) => () => string ->4 : number +>4 : 4 } var g = f('')(); >g : string >f('')() : string >f('') : () => string >f : (n: string) => () => string ->'' : string +>'' : "" var g: string; >g : string @@ -314,7 +314,7 @@ var h = someOuterFn()('')()(); >someOuterFn()('') : () => () => number >someOuterFn() : (n: string) => () => () => number >someOuterFn : () => (n: string) => () => () => number ->'' : string +>'' : "" h.toExponential(); >h.toExponential() : string @@ -348,7 +348,7 @@ function tryCatchFn() { >() => this + '' : () => string >this + '' : string >this : any ->'' : string +>'' : "" } } diff --git a/tests/baselines/reference/arrowFunctionInExpressionStatement1.types b/tests/baselines/reference/arrowFunctionInExpressionStatement1.types index a38a868f85b..c2954cd7bec 100644 --- a/tests/baselines/reference/arrowFunctionInExpressionStatement1.types +++ b/tests/baselines/reference/arrowFunctionInExpressionStatement1.types @@ -1,5 +1,5 @@ === tests/cases/compiler/arrowFunctionInExpressionStatement1.ts === () => 0; >() => 0 : () => number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/arrowFunctionInExpressionStatement2.types b/tests/baselines/reference/arrowFunctionInExpressionStatement2.types index bfbd11e8c08..04db38ac581 100644 --- a/tests/baselines/reference/arrowFunctionInExpressionStatement2.types +++ b/tests/baselines/reference/arrowFunctionInExpressionStatement2.types @@ -4,5 +4,5 @@ module M { () => 0; >() => 0 : () => number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/arrowFunctionMissingCurlyWithSemicolon.js b/tests/baselines/reference/arrowFunctionMissingCurlyWithSemicolon.js index 931520294e9..a828e1248c5 100644 --- a/tests/baselines/reference/arrowFunctionMissingCurlyWithSemicolon.js +++ b/tests/baselines/reference/arrowFunctionMissingCurlyWithSemicolon.js @@ -6,6 +6,6 @@ var square = (x: number) => x * x; //// [arrowFunctionMissingCurlyWithSemicolon.js] // Should error at semicolon. -var f = ; +var f = function () { return ; }; var b = 1 * 2 * 3 * 4; var square = function (x) { return x * x; }; diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody1.js b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody1.js index d53f33deadc..85c0b85daea 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody1.js +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody1.js @@ -2,4 +2,4 @@ var v = a => {} //// [arrowFunctionWithObjectLiteralBody1.js] -var v = function (a) { return {}; }; +var v = function (a) { return ({}); }; diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody2.js b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody2.js index f2fc086c082..5164a98331c 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody2.js +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody2.js @@ -2,4 +2,4 @@ var v = a => {} //// [arrowFunctionWithObjectLiteralBody2.js] -var v = function (a) { return {}; }; +var v = function (a) { return ({}); }; diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.js b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.js index 77f5c2d4c3d..f9d924d6d9b 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.js +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.js @@ -8,7 +8,7 @@ var c = () => ({ name: "foo", message: "bar" }); var d = () => ((({ name: "foo", message: "bar" }))); //// [arrowFunctionWithObjectLiteralBody5.js] -var a = function () { return { name: "foo", message: "bar" }; }; +var a = function () { return ({ name: "foo", message: "bar" }); }; var b = function () { return ({ name: "foo", message: "bar" }); }; var c = function () { return ({ name: "foo", message: "bar" }); }; var d = function () { return (({ name: "foo", message: "bar" })); }; diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types index 0093ace2d9c..8a006d7f1d4 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody5.types @@ -6,9 +6,9 @@ var a = () => { name: "foo", message: "bar" }; >Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var b = () => ({ name: "foo", message: "bar" }); >b : () => Error @@ -18,9 +18,9 @@ var b = () => ({ name: "foo", message: "bar" }); >Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var c = () => ({ name: "foo", message: "bar" }); >c : () => { name: string; message: string; } @@ -28,9 +28,9 @@ var c = () => ({ name: "foo", message: "bar" }); >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var d = () => ((({ name: "foo", message: "bar" }))); >d : () => Error @@ -42,7 +42,7 @@ var d = () => ((({ name: "foo", message: "bar" }))); >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" diff --git a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types index 31d2a63fec0..615f19aaf6b 100644 --- a/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types +++ b/tests/baselines/reference/arrowFunctionWithObjectLiteralBody6.types @@ -6,9 +6,9 @@ var a = () => { name: "foo", message: "bar" }; >Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var b = () => ({ name: "foo", message: "bar" }); >b : () => Error @@ -18,9 +18,9 @@ var b = () => ({ name: "foo", message: "bar" }); >Error : Error >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var c = () => ({ name: "foo", message: "bar" }); >c : () => { name: string; message: string; } @@ -28,9 +28,9 @@ var c = () => ({ name: "foo", message: "bar" }); >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" var d = () => ((({ name: "foo", message: "bar" }))); >d : () => Error @@ -42,7 +42,7 @@ var d = () => ((({ name: "foo", message: "bar" }))); >({ name: "foo", message: "bar" }) : { name: string; message: string; } >{ name: "foo", message: "bar" } : { name: string; message: string; } >name : string ->"foo" : string +>"foo" : "foo" >message : string ->"bar" : string +>"bar" : "bar" diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.js b/tests/baselines/reference/arrowFunctionWithParameterNameAsync.js deleted file mode 100644 index 0baea798c03..00000000000 --- a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.js +++ /dev/null @@ -1,6 +0,0 @@ -//// [arrowFunctionWithParameterNameAsync.ts] - -const x = async => async; - -//// [arrowFunctionWithParameterNameAsync.js] -var x = function (async) { return async; }; diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.symbols b/tests/baselines/reference/arrowFunctionWithParameterNameAsync.symbols deleted file mode 100644 index 26f36f48df7..00000000000 --- a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.symbols +++ /dev/null @@ -1,7 +0,0 @@ -=== tests/cases/conformance/async/es6/asyncArrowFunction/arrowFunctionWithParameterNameAsync.ts === - -const x = async => async; ->x : Symbol(x, Decl(arrowFunctionWithParameterNameAsync.ts, 1, 5)) ->async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync.ts, 1, 9)) ->async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync.ts, 1, 9)) - diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.js b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.js new file mode 100644 index 00000000000..df308028361 --- /dev/null +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.js @@ -0,0 +1,6 @@ +//// [arrowFunctionWithParameterNameAsync_es5.ts] + +const x = async => async; + +//// [arrowFunctionWithParameterNameAsync_es5.js] +var x = function (async) { return async; }; diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.symbols b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.symbols new file mode 100644 index 00000000000..43c9c343efe --- /dev/null +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/arrowFunctionWithParameterNameAsync_es5.ts === + +const x = async => async; +>x : Symbol(x, Decl(arrowFunctionWithParameterNameAsync_es5.ts, 1, 5)) +>async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync_es5.ts, 1, 9)) +>async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync_es5.ts, 1, 9)) + diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.types b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.types new file mode 100644 index 00000000000..bd567320f1d --- /dev/null +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es5.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/arrowFunctionWithParameterNameAsync_es5.ts === + +const x = async => async; +>x : (async: any) => any +>async => async : (async: any) => any +>async : any +>async : any + diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.js b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.js new file mode 100644 index 00000000000..8527fefc50d --- /dev/null +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.js @@ -0,0 +1,6 @@ +//// [arrowFunctionWithParameterNameAsync_es6.ts] + +const x = async => async; + +//// [arrowFunctionWithParameterNameAsync_es6.js] +var x = function (async) { return async; }; diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.symbols b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.symbols new file mode 100644 index 00000000000..73e5f31aeb3 --- /dev/null +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/async/es6/asyncArrowFunction/arrowFunctionWithParameterNameAsync_es6.ts === + +const x = async => async; +>x : Symbol(x, Decl(arrowFunctionWithParameterNameAsync_es6.ts, 1, 5)) +>async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync_es6.ts, 1, 9)) +>async : Symbol(async, Decl(arrowFunctionWithParameterNameAsync_es6.ts, 1, 9)) + diff --git a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.types b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.types similarity index 79% rename from tests/baselines/reference/arrowFunctionWithParameterNameAsync.types rename to tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.types index 4bdc60935ea..b6a19fe30ed 100644 --- a/tests/baselines/reference/arrowFunctionWithParameterNameAsync.types +++ b/tests/baselines/reference/arrowFunctionWithParameterNameAsync_es6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/async/es6/asyncArrowFunction/arrowFunctionWithParameterNameAsync.ts === +=== tests/cases/conformance/async/es6/asyncArrowFunction/arrowFunctionWithParameterNameAsync_es6.ts === const x = async => async; >x : (async: any) => any diff --git a/tests/baselines/reference/arrowFunctionsMissingTokens.js b/tests/baselines/reference/arrowFunctionsMissingTokens.js index e0e22578ac6..ef4476f6e45 100644 --- a/tests/baselines/reference/arrowFunctionsMissingTokens.js +++ b/tests/baselines/reference/arrowFunctionsMissingTokens.js @@ -88,25 +88,25 @@ var missingCurliesWithArrow; })(withStatement || (withStatement = {})); var withoutStatement; (function (withoutStatement) { - var a = ; + var a = function () { return ; }; })(withoutStatement || (withoutStatement = {})); ; - var b = ; + var b = function () { return ; }; })(missingCurliesWithArrow || (missingCurliesWithArrow = {})); -var c = ; +var c = function (x) { return ; }; ; -var d = ; +var d = function (x, y) { return ; }; ; -var e = ; +var e = function (x, y) { return ; }; ; -var f = ; +var f = function () { return ; }; var ce_nEst_pas_une_arrow_function; (function (ce_nEst_pas_une_arrow_function) { var a = (); - var b = ; + var b = function () { return ; }; var c = (x); - var d = ; - var e = ; + var d = function (x, y) { return ; }; + var e = function (x, y) { return ; }; })(ce_nEst_pas_une_arrow_function || (ce_nEst_pas_une_arrow_function = {})); var okay; (function (okay) { diff --git a/tests/baselines/reference/asOpEmitParens.js b/tests/baselines/reference/asOpEmitParens.js new file mode 100644 index 00000000000..dee8d263eae --- /dev/null +++ b/tests/baselines/reference/asOpEmitParens.js @@ -0,0 +1,19 @@ +//// [asOpEmitParens.ts] +declare var x; +// Must emit as (x + 1) * 3 +(x + 1 as number) * 3; + +// Should still emit as x.y +(x as any).y; + +// Emit as new (x()) +new (x() as any); + + +//// [asOpEmitParens.js] +// Must emit as (x + 1) * 3 +(x + 1) * 3; +// Should still emit as x.y +x.y; +// Emit as new (x()) +new (x()); diff --git a/tests/baselines/reference/asOpEmitParens.symbols b/tests/baselines/reference/asOpEmitParens.symbols new file mode 100644 index 00000000000..210d9f3ea0d --- /dev/null +++ b/tests/baselines/reference/asOpEmitParens.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/expressions/asOperator/asOpEmitParens.ts === +declare var x; +>x : Symbol(x, Decl(asOpEmitParens.ts, 0, 11)) + +// Must emit as (x + 1) * 3 +(x + 1 as number) * 3; +>x : Symbol(x, Decl(asOpEmitParens.ts, 0, 11)) + +// Should still emit as x.y +(x as any).y; +>x : Symbol(x, Decl(asOpEmitParens.ts, 0, 11)) + +// Emit as new (x()) +new (x() as any); +>x : Symbol(x, Decl(asOpEmitParens.ts, 0, 11)) + diff --git a/tests/baselines/reference/asOpEmitParens.types b/tests/baselines/reference/asOpEmitParens.types new file mode 100644 index 00000000000..3204a6e5cac --- /dev/null +++ b/tests/baselines/reference/asOpEmitParens.types @@ -0,0 +1,30 @@ +=== tests/cases/conformance/expressions/asOperator/asOpEmitParens.ts === +declare var x; +>x : any + +// Must emit as (x + 1) * 3 +(x + 1 as number) * 3; +>(x + 1 as number) * 3 : number +>(x + 1 as number) : number +>x + 1 as number : number +>x + 1 : any +>x : any +>1 : 1 +>3 : 3 + +// Should still emit as x.y +(x as any).y; +>(x as any).y : any +>(x as any) : any +>x as any : any +>x : any +>y : any + +// Emit as new (x()) +new (x() as any); +>new (x() as any) : any +>(x() as any) : any +>x() as any : any +>x() : any +>x : any + diff --git a/tests/baselines/reference/asOperator1.types b/tests/baselines/reference/asOperator1.types index cc8a49ddc55..cf4a0b770be 100644 --- a/tests/baselines/reference/asOperator1.types +++ b/tests/baselines/reference/asOperator1.types @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/asOperator/asOperator1.ts === var as = 43; >as : number ->43 : number +>43 : 43 var x = undefined as number; >x : number @@ -24,12 +24,12 @@ var z = Date as any as string; // Should parse as a union type, not a bitwise 'or' of (32 as number) and 'string' var j = 32 as number|string; ->j : number | string ->32 as number|string : number | string ->32 : number +>j : string | number +>32 as number|string : string | number +>32 : 32 j = ''; ->j = '' : string ->j : number | string ->'' : string +>j = '' : "" +>j : string | number +>'' : "" diff --git a/tests/baselines/reference/asOperator3.js b/tests/baselines/reference/asOperator3.js index 406eae1c9d6..770a853ad25 100644 --- a/tests/baselines/reference/asOperator3.js +++ b/tests/baselines/reference/asOperator3.js @@ -11,10 +11,10 @@ var g = tag `Hello ${123} World` as string; var h = tag `Hello` as string; //// [asOperator3.js] -var a = "" + 123 + 456; -var b = "leading " + 123 + 456; +var a = "" + (123 + 456); +var b = "leading " + (123 + 456); var c = 123 + 456 + " trailing"; -var d = ("Hello " + 123 + " World"); +var d = "Hello " + 123 + " World"; var e = "Hello"; var f = 1 + (1 + " end of string"); var g = (_a = ["Hello ", " World"], _a.raw = ["Hello ", " World"], tag(_a, 123)); diff --git a/tests/baselines/reference/asOperator3.types b/tests/baselines/reference/asOperator3.types index 507dfd8b572..a888d70892b 100644 --- a/tests/baselines/reference/asOperator3.types +++ b/tests/baselines/reference/asOperator3.types @@ -8,30 +8,30 @@ var a = `${123 + 456 as number}`; >`${123 + 456 as number}` : string >123 + 456 as number : number >123 + 456 : number ->123 : number ->456 : number +>123 : 123 +>456 : 456 var b = `leading ${123 + 456 as number}`; >b : string >`leading ${123 + 456 as number}` : string >123 + 456 as number : number >123 + 456 : number ->123 : number ->456 : number +>123 : 123 +>456 : 456 var c = `${123 + 456 as number} trailing`; >c : string >`${123 + 456 as number} trailing` : string >123 + 456 as number : number >123 + 456 : number ->123 : number ->456 : number +>123 : 123 +>456 : 456 var d = `Hello ${123} World` as string; >d : string >`Hello ${123} World` as string : string >`Hello ${123} World` : string ->123 : number +>123 : 123 var e = `Hello` as string; >e : string @@ -42,9 +42,9 @@ var f = 1 + `${1} end of string` as string; >f : string >1 + `${1} end of string` as string : string >1 + `${1} end of string` : string ->1 : number +>1 : 1 >`${1} end of string` : string ->1 : number +>1 : 1 var g = tag `Hello ${123} World` as string; >g : string @@ -52,7 +52,7 @@ var g = tag `Hello ${123} World` as string; >tag `Hello ${123} World` : any >tag : (...x: any[]) => any >`Hello ${123} World` : string ->123 : number +>123 : 123 var h = tag `Hello` as string; >h : string diff --git a/tests/baselines/reference/asOperator4.js b/tests/baselines/reference/asOperator4.js index 14978ce285c..41edf92416b 100644 --- a/tests/baselines/reference/asOperator4.js +++ b/tests/baselines/reference/asOperator4.js @@ -18,7 +18,7 @@ function foo() { } exports.foo = foo; //// [bar.js] "use strict"; -var foo_1 = require('./foo'); +var foo_1 = require("./foo"); // These should emit identically foo_1.foo; foo_1.foo; diff --git a/tests/baselines/reference/asOperatorASI.types b/tests/baselines/reference/asOperatorASI.types index 61c2d115cf4..e5e1de88c29 100644 --- a/tests/baselines/reference/asOperatorASI.types +++ b/tests/baselines/reference/asOperatorASI.types @@ -9,7 +9,7 @@ declare function as(...args: any[]); // Example 1 var x = 10 >x : number ->10 : number +>10 : 10 as `Hello world`; // should not error >as `Hello world` : any @@ -19,7 +19,7 @@ as `Hello world`; // should not error // Example 2 var y = 20 >y : number ->20 : number +>20 : 20 as(Foo); // should emit >as(Foo) : any diff --git a/tests/baselines/reference/asiArith.types b/tests/baselines/reference/asiArith.types index 13394d2f1c2..b2c7410a403 100644 --- a/tests/baselines/reference/asiArith.types +++ b/tests/baselines/reference/asiArith.types @@ -1,11 +1,11 @@ === tests/cases/compiler/asiArith.ts === var x = 1; >x : number ->1 : number +>1 : 1 var y = 1; >y : number ->1 : number +>1 : 1 var z = >z : number @@ -28,11 +28,11 @@ y var a = 1; >a : number ->1 : number +>1 : 1 var b = 1; >b : number ->1 : number +>1 : 1 var c = >c : number diff --git a/tests/baselines/reference/asiBreak.types b/tests/baselines/reference/asiBreak.types index af3d6a040d5..7e7a8efb71f 100644 --- a/tests/baselines/reference/asiBreak.types +++ b/tests/baselines/reference/asiBreak.types @@ -1,4 +1,4 @@ === tests/cases/compiler/asiBreak.ts === while (true) break ->true : boolean +>true : true diff --git a/tests/baselines/reference/asiContinue.types b/tests/baselines/reference/asiContinue.types index e2eb5ba107d..0de6786fee1 100644 --- a/tests/baselines/reference/asiContinue.types +++ b/tests/baselines/reference/asiContinue.types @@ -1,4 +1,4 @@ === tests/cases/compiler/asiContinue.ts === while (true) continue ->true : boolean +>true : true diff --git a/tests/baselines/reference/asiInES6Classes.types b/tests/baselines/reference/asiInES6Classes.types index 41940a0f477..6a93269497c 100644 --- a/tests/baselines/reference/asiInES6Classes.types +++ b/tests/baselines/reference/asiInES6Classes.types @@ -10,7 +10,7 @@ class Foo { done: false >done : boolean ->false : boolean +>false : false } @@ -20,7 +20,7 @@ class Foo { >bar : () => number return 3; ->3 : number +>3 : 3 } diff --git a/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule01.types b/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule01.types index 3e6aade9a21..744687429ce 100644 --- a/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule01.types +++ b/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule01.types @@ -13,6 +13,6 @@ module // this is the identifier 'module' >module : string "my external module" // this is just a string ->"my external module" : string +>"my external module" : "my external module" { } // this is a block body diff --git a/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule02.types b/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule02.types index 67671853993..ae82f5f68a4 100644 --- a/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule02.types +++ b/tests/baselines/reference/asiPreventsParsingAsAmbientExternalModule02.types @@ -16,7 +16,7 @@ module container { >module : string "my external module" // this is just a string ->"my external module" : string +>"my external module" : "my external module" { } // this is a block body } diff --git a/tests/baselines/reference/asiPreventsParsingAsNamespace04.types b/tests/baselines/reference/asiPreventsParsingAsNamespace04.types index 3fa2a448cf9..7cab2a7be36 100644 --- a/tests/baselines/reference/asiPreventsParsingAsNamespace04.types +++ b/tests/baselines/reference/asiPreventsParsingAsNamespace04.types @@ -2,7 +2,7 @@ let module = 10; >module : number ->10 : number +>10 : 10 module in {} >module in {} : boolean diff --git a/tests/baselines/reference/asiPreventsParsingAsNamespace05.types b/tests/baselines/reference/asiPreventsParsingAsNamespace05.types index 515147c1096..e1492c8c582 100644 --- a/tests/baselines/reference/asiPreventsParsingAsNamespace05.types +++ b/tests/baselines/reference/asiPreventsParsingAsNamespace05.types @@ -2,7 +2,7 @@ let namespace = 10; >namespace : number ->10 : number +>10 : 10 namespace a.b { >a : typeof a @@ -10,7 +10,7 @@ namespace a.b { export let c = 20; >c : number ->20 : number +>20 : 20 } namespace diff --git a/tests/baselines/reference/assign1.types b/tests/baselines/reference/assign1.types index d600c4055af..51d9c72c54e 100644 --- a/tests/baselines/reference/assign1.types +++ b/tests/baselines/reference/assign1.types @@ -17,8 +17,8 @@ module M { >I : I >{salt:2,pepper:0} : { salt: number; pepper: number; } >salt : number ->2 : number +>2 : 2 >pepper : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/assignEveryTypeToAny.types b/tests/baselines/reference/assignEveryTypeToAny.types index dfff671a875..cfc24e1da65 100644 --- a/tests/baselines/reference/assignEveryTypeToAny.types +++ b/tests/baselines/reference/assignEveryTypeToAny.types @@ -5,13 +5,13 @@ var x: any; >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 var a = 2; >a : number ->2 : number +>2 : 2 x = a; >x = a : number @@ -19,27 +19,27 @@ x = a; >a : number x = true; ->x = true : boolean +>x = true : true >x : any ->true : boolean +>true : true var b = true; >b : boolean ->true : boolean +>true : true x = b; ->x = b : boolean +>x = b : true >x : any ->b : boolean +>b : true x = ""; ->x = "" : string +>x = "" : "" >x : any ->"" : string +>"" : "" var c = ""; >c : string ->"" : string +>"" : "" x = c; >x = c : string @@ -142,7 +142,7 @@ x = { f() { return 1; } } >x : any >{ f() { return 1; } } : { f(): number; } >f : () => number ->1 : number +>1 : 1 x = { f(x: T) { return x; } } >x = { f(x: T) { return x; } } : { f(x: T): T; } diff --git a/tests/baselines/reference/assignFromBooleanInterface.errors.txt b/tests/baselines/reference/assignFromBooleanInterface.errors.txt index 4b06603a9bf..555b645cd7d 100644 --- a/tests/baselines/reference/assignFromBooleanInterface.errors.txt +++ b/tests/baselines/reference/assignFromBooleanInterface.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts(3,1): error TS2322: Type 'Boolean' is not assignable to type 'boolean'. + 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. ==== tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts (1 errors) ==== @@ -7,4 +8,5 @@ tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts(3 x = a; ~ !!! error TS2322: Type 'Boolean' is not assignable to type 'boolean'. +!!! error TS2322: 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. a = x; \ No newline at end of file diff --git a/tests/baselines/reference/assignFromBooleanInterface2.errors.txt b/tests/baselines/reference/assignFromBooleanInterface2.errors.txt index c03eab60c74..6c7ebbe5ee8 100644 --- a/tests/baselines/reference/assignFromBooleanInterface2.errors.txt +++ b/tests/baselines/reference/assignFromBooleanInterface2.errors.txt @@ -3,6 +3,7 @@ tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts( Type '() => Object' is not assignable to type '() => boolean'. Type 'Object' is not assignable to type 'boolean'. tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts(19,1): error TS2322: Type 'Boolean' is not assignable to type 'boolean'. + 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts(20,1): error TS2322: Type 'NotBoolean' is not assignable to type 'boolean'. @@ -33,6 +34,7 @@ tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts( x = a; // expected error ~ !!! error TS2322: Type 'Boolean' is not assignable to type 'boolean'. +!!! error TS2322: 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. x = b; // expected error ~ !!! error TS2322: Type 'NotBoolean' is not assignable to type 'boolean'. diff --git a/tests/baselines/reference/assignFromNumberInterface.errors.txt b/tests/baselines/reference/assignFromNumberInterface.errors.txt index 0c8c4a5f5ac..1a70ef342d2 100644 --- a/tests/baselines/reference/assignFromNumberInterface.errors.txt +++ b/tests/baselines/reference/assignFromNumberInterface.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts(3,1): error TS2322: Type 'Number' is not assignable to type 'number'. + 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. ==== tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts (1 errors) ==== @@ -7,4 +8,5 @@ tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts(3,1 x = a; ~ !!! error TS2322: Type 'Number' is not assignable to type 'number'. +!!! error TS2322: 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. a = x; \ No newline at end of file diff --git a/tests/baselines/reference/assignFromNumberInterface2.errors.txt b/tests/baselines/reference/assignFromNumberInterface2.errors.txt index 85639cdeeaf..3297501d612 100644 --- a/tests/baselines/reference/assignFromNumberInterface2.errors.txt +++ b/tests/baselines/reference/assignFromNumberInterface2.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(24,1): error TS2322: Type 'Number' is not assignable to type 'number'. + 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(25,1): error TS2322: Type 'NotNumber' is not assignable to type 'number'. @@ -29,6 +30,7 @@ tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts(25 x = a; // expected error ~ !!! error TS2322: Type 'Number' is not assignable to type 'number'. +!!! error TS2322: 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. x = b; // expected error ~ !!! error TS2322: Type 'NotNumber' is not assignable to type 'number'. diff --git a/tests/baselines/reference/assignFromStringInterface.errors.txt b/tests/baselines/reference/assignFromStringInterface.errors.txt index 6ec8afad120..7e7af4d1b9d 100644 --- a/tests/baselines/reference/assignFromStringInterface.errors.txt +++ b/tests/baselines/reference/assignFromStringInterface.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts(3,1): error TS2322: Type 'String' is not assignable to type 'string'. + 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. ==== tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts (1 errors) ==== @@ -7,4 +8,5 @@ tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts(3,1 x = a; ~ !!! error TS2322: Type 'String' is not assignable to type 'string'. +!!! error TS2322: 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. a = x; \ No newline at end of file diff --git a/tests/baselines/reference/assignFromStringInterface2.errors.txt b/tests/baselines/reference/assignFromStringInterface2.errors.txt index 4e09eb6eacb..0fc3284bf00 100644 --- a/tests/baselines/reference/assignFromStringInterface2.errors.txt +++ b/tests/baselines/reference/assignFromStringInterface2.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(47,1): error TS2322: Type 'String' is not assignable to type 'string'. + 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(48,1): error TS2322: Type 'NotString' is not assignable to type 'string'. @@ -52,6 +53,7 @@ tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts(48 x = a; // expected error ~ !!! error TS2322: Type 'String' is not assignable to type 'string'. +!!! error TS2322: 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. x = b; // expected error ~ !!! error TS2322: Type 'NotString' is not assignable to type 'string'. diff --git a/tests/baselines/reference/assignToFn.errors.txt b/tests/baselines/reference/assignToFn.errors.txt index 7f2c7855a35..42a1a129a23 100644 --- a/tests/baselines/reference/assignToFn.errors.txt +++ b/tests/baselines/reference/assignToFn.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/assignToFn.ts(8,5): error TS2322: Type 'string' is not assignable to type '(n: number) => boolean'. +tests/cases/compiler/assignToFn.ts(8,5): error TS2322: Type '"hello"' is not assignable to type '(n: number) => boolean'. ==== tests/cases/compiler/assignToFn.ts (1 errors) ==== @@ -11,6 +11,6 @@ tests/cases/compiler/assignToFn.ts(8,5): error TS2322: Type 'string' is not assi x.f="hello"; ~~~ -!!! error TS2322: Type 'string' is not assignable to type '(n: number) => boolean'. +!!! error TS2322: Type '"hello"' is not assignable to type '(n: number) => boolean'. } \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompat1.errors.txt b/tests/baselines/reference/assignmentCompat1.errors.txt index 0936c532ab3..e9fc3bd2f7f 100644 --- a/tests/baselines/reference/assignmentCompat1.errors.txt +++ b/tests/baselines/reference/assignmentCompat1.errors.txt @@ -2,8 +2,8 @@ tests/cases/compiler/assignmentCompat1.ts(4,1): error TS2322: Type '{ [index: st Property 'one' is missing in type '{ [index: string]: any; }'. tests/cases/compiler/assignmentCompat1.ts(6,1): error TS2322: Type '{ [index: number]: any; }' is not assignable to type '{ one: number; }'. Property 'one' is missing in type '{ [index: number]: any; }'. -tests/cases/compiler/assignmentCompat1.ts(8,1): error TS2322: Type 'string' is not assignable to type '{ [index: string]: any; }'. -tests/cases/compiler/assignmentCompat1.ts(10,1): error TS2322: Type 'boolean' is not assignable to type '{ [index: number]: any; }'. +tests/cases/compiler/assignmentCompat1.ts(8,1): error TS2322: Type '"foo"' is not assignable to type '{ [index: string]: any; }'. +tests/cases/compiler/assignmentCompat1.ts(10,1): error TS2322: Type 'false' is not assignable to type '{ [index: number]: any; }'. ==== tests/cases/compiler/assignmentCompat1.ts (4 errors) ==== @@ -22,10 +22,10 @@ tests/cases/compiler/assignmentCompat1.ts(10,1): error TS2322: Type 'boolean' is z = x; // Ok because index signature type is any y = "foo"; // Error ~ -!!! error TS2322: Type 'string' is not assignable to type '{ [index: string]: any; }'. +!!! error TS2322: Type '"foo"' is not assignable to type '{ [index: string]: any; }'. z = "foo"; // OK, string has numeric indexer z = false; // Error ~ -!!! error TS2322: Type 'boolean' is not assignable to type '{ [index: number]: any; }'. +!!! error TS2322: Type 'false' is not assignable to type '{ [index: number]: any; }'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt index c7552c3fdb2..03dcee9baf3 100644 --- a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt +++ b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt @@ -1,7 +1,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(17,1): error TS2322: Type '[number, string]' is not assignable to type 'number[]'. Types of property 'pop' are incompatible. - Type '() => number | string' is not assignable to type '() => number'. - Type 'number | string' is not assignable to type 'number'. + Type '() => string | number' is not assignable to type '() => number'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(18,1): error TS2322: Type '{}[]' is not assignable to type '[{}]'. Property '0' is missing in type '{}[]'. @@ -28,8 +28,8 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme ~~~~~~~~ !!! error TS2322: Type '[number, string]' is not assignable to type 'number[]'. !!! error TS2322: Types of property 'pop' are incompatible. -!!! error TS2322: Type '() => number | string' is not assignable to type '() => number'. -!!! error TS2322: Type 'number | string' is not assignable to type 'number'. +!!! error TS2322: Type '() => string | number' is not assignable to type '() => number'. +!!! error TS2322: Type 'string | number' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. emptyObjTuple = emptyObjArray; ~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/assignmentCompatForEnums.types b/tests/baselines/reference/assignmentCompatForEnums.types index e8b48bd02bd..dde41372e11 100644 --- a/tests/baselines/reference/assignmentCompatForEnums.types +++ b/tests/baselines/reference/assignmentCompatForEnums.types @@ -1,8 +1,8 @@ === tests/cases/compiler/assignmentCompatForEnums.ts === enum TokenType { One, Two }; >TokenType : TokenType ->One : TokenType ->Two : TokenType +>One : TokenType.One +>Two : TokenType.Two var list = {}; >list : {} @@ -27,7 +27,7 @@ function foo() { >TokenType : TokenType >list['one'] : any >list : {} ->'one' : string +>'one' : "one" } diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.types b/tests/baselines/reference/assignmentCompatWithObjectMembers.types index f56b0b1dc74..ced87c605c9 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.types @@ -49,13 +49,13 @@ module SimpleTypes { >a2 : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" var b2 = { foo: '' }; >b2 : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" s = t; >s = t : T diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types index 560644f860e..76316afd3cc 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types @@ -50,13 +50,13 @@ var a2 = { foo: '' }; >a2 : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" var b2 = { foo: '' }; >b2 : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" s = t; >s = t : T diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types index 3046c2f609d..88eadd4c36a 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types @@ -53,14 +53,14 @@ var a2: S2 = { foo: '' }; >S2 : S2 >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" var b2: T2 = { foo: '' }; >b2 : T2 >T2 : T2 >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" s = t; >s = t : T diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types index 440ef006e0a..0c44316d324 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types @@ -43,12 +43,12 @@ var b: { 1.0: string; baz?: string } var a2 = { 1.0: '' }; >a2 : { 1.0: string; } >{ 1.0: '' } : { 1.0: string; } ->'' : string +>'' : "" var b2 = { 1: '' }; >b2 : { 1: string; } >{ 1: '' } : { 1: string; } ->'' : string +>'' : "" s = t; >s = t : T diff --git a/tests/baselines/reference/assignmentCompatability1.types b/tests/baselines/reference/assignmentCompatability1.types index 66174a4036e..6f47a6e5244 100644 --- a/tests/baselines/reference/assignmentCompatability1.types +++ b/tests/baselines/reference/assignmentCompatability1.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability10.types b/tests/baselines/reference/assignmentCompatability10.types index f4c2bba451d..9784acfdabc 100644 --- a/tests/baselines/reference/assignmentCompatability10.types +++ b/tests/baselines/reference/assignmentCompatability10.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional @@ -34,7 +34,7 @@ module __test2__ { >x4 : classWithPublicAndOptional >new classWithPublicAndOptional(1) : classWithPublicAndOptional >classWithPublicAndOptional : typeof classWithPublicAndOptional ->1 : number +>1 : 1 export var __val__x4 = x4; >__val__x4 : classWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability2.types b/tests/baselines/reference/assignmentCompatability2.types index f46a81cf51f..58fb86b5c7f 100644 --- a/tests/baselines/reference/assignmentCompatability2.types +++ b/tests/baselines/reference/assignmentCompatability2.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability3.types b/tests/baselines/reference/assignmentCompatability3.types index 67e553235ed..4525500cfec 100644 --- a/tests/baselines/reference/assignmentCompatability3.types +++ b/tests/baselines/reference/assignmentCompatability3.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional @@ -27,7 +27,7 @@ module __test2__ { >obj : { one: number; } >{one: 1} : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj = obj; >__val__obj : { one: number; } diff --git a/tests/baselines/reference/assignmentCompatability36.types b/tests/baselines/reference/assignmentCompatability36.types index b67be38e2b4..59ccc04195f 100644 --- a/tests/baselines/reference/assignmentCompatability36.types +++ b/tests/baselines/reference/assignmentCompatability36.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability4.types b/tests/baselines/reference/assignmentCompatability4.types index 0cafbaa4dd7..bc5e805875c 100644 --- a/tests/baselines/reference/assignmentCompatability4.types +++ b/tests/baselines/reference/assignmentCompatability4.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability5.types b/tests/baselines/reference/assignmentCompatability5.types index 8f8dbb0f649..755ce16ec69 100644 --- a/tests/baselines/reference/assignmentCompatability5.types +++ b/tests/baselines/reference/assignmentCompatability5.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional @@ -32,7 +32,7 @@ module __test2__ { >interfaceOne : interfaceOne >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj1 = obj1; >__val__obj1 : interfaceOne diff --git a/tests/baselines/reference/assignmentCompatability6.types b/tests/baselines/reference/assignmentCompatability6.types index 1191ff8bc26..d437d5a7469 100644 --- a/tests/baselines/reference/assignmentCompatability6.types +++ b/tests/baselines/reference/assignmentCompatability6.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability7.types b/tests/baselines/reference/assignmentCompatability7.types index 77b67514473..3dad9966d83 100644 --- a/tests/baselines/reference/assignmentCompatability7.types +++ b/tests/baselines/reference/assignmentCompatability7.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional @@ -35,7 +35,7 @@ module __test2__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability8.types b/tests/baselines/reference/assignmentCompatability8.types index 554f9b3caed..d4cc5ebc33e 100644 --- a/tests/baselines/reference/assignmentCompatability8.types +++ b/tests/baselines/reference/assignmentCompatability8.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional @@ -31,7 +31,7 @@ module __test2__ { >x1 : classWithPublic >new classWithPublic(1) : classWithPublic >classWithPublic : typeof classWithPublic ->1 : number +>1 : 1 export var __val__x1 = x1; >__val__x1 : classWithPublic diff --git a/tests/baselines/reference/assignmentCompatability9.types b/tests/baselines/reference/assignmentCompatability9.types index d8fe3a764a4..671697f35f7 100644 --- a/tests/baselines/reference/assignmentCompatability9.types +++ b/tests/baselines/reference/assignmentCompatability9.types @@ -14,7 +14,7 @@ module __test1__ { >interfaceWithPublicAndOptional : interfaceWithPublicAndOptional >{ one: 1 } : { one: number; } >one : number ->1 : number +>1 : 1 export var __val__obj4 = obj4; >__val__obj4 : interfaceWithPublicAndOptional diff --git a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt index 33a2269f747..e9adcba03b7 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt +++ b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(10,1): error TS2322: Type 'string' is not assignable to type 'Applicable'. +tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(10,1): error TS2322: Type '""' is not assignable to type 'Applicable'. tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(11,1): error TS2322: Type 'string[]' is not assignable to type 'Applicable'. Property 'apply' is missing in type 'string[]'. -tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(12,1): error TS2322: Type 'number' is not assignable to type 'Applicable'. +tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(12,1): error TS2322: Type '4' is not assignable to type 'Applicable'. tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(13,1): error TS2322: Type '{}' is not assignable to type 'Applicable'. Property 'apply' is missing in type '{}'. -tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Applicable'. +tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type '""' is not assignable to parameter of type 'Applicable'. tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(23,4): error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Applicable'. -tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Applicable'. +tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type '4' is not assignable to parameter of type 'Applicable'. tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts(25,4): error TS2345: Argument of type '{}' is not assignable to parameter of type 'Applicable'. Property 'apply' is missing in type '{}'. @@ -23,14 +23,14 @@ tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-functi // Should fail x = ''; ~ -!!! error TS2322: Type 'string' is not assignable to type 'Applicable'. +!!! error TS2322: Type '""' is not assignable to type 'Applicable'. x = ['']; ~ !!! error TS2322: Type 'string[]' is not assignable to type 'Applicable'. !!! error TS2322: Property 'apply' is missing in type 'string[]'. x = 4; ~ -!!! error TS2322: Type 'number' is not assignable to type 'Applicable'. +!!! error TS2322: Type '4' is not assignable to type 'Applicable'. x = {}; ~ !!! error TS2322: Type '{}' is not assignable to type 'Applicable'. @@ -45,13 +45,13 @@ tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-functi // Should Fail fn(''); ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'Applicable'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'Applicable'. fn(['']); ~~~~ !!! error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Applicable'. fn(4); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Applicable'. +!!! error TS2345: Argument of type '4' is not assignable to parameter of type 'Applicable'. fn({}); ~~ !!! error TS2345: Argument of type '{}' is not assignable to parameter of type 'Applicable'. diff --git a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt index 1651e5082ee..17556302178 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt +++ b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(10,1): error TS2322: Type 'string' is not assignable to type 'Callable'. +tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(10,1): error TS2322: Type '""' is not assignable to type 'Callable'. tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(11,1): error TS2322: Type 'string[]' is not assignable to type 'Callable'. Property 'call' is missing in type 'string[]'. -tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(12,1): error TS2322: Type 'number' is not assignable to type 'Callable'. +tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(12,1): error TS2322: Type '4' is not assignable to type 'Callable'. tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(13,1): error TS2322: Type '{}' is not assignable to type 'Callable'. Property 'call' is missing in type '{}'. -tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Callable'. +tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type '""' is not assignable to parameter of type 'Callable'. tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(23,4): error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Callable'. -tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Callable'. +tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type '4' is not assignable to parameter of type 'Callable'. tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts(25,4): error TS2345: Argument of type '{}' is not assignable to parameter of type 'Callable'. Property 'call' is missing in type '{}'. @@ -23,14 +23,14 @@ tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-functio // Should fail x = ''; ~ -!!! error TS2322: Type 'string' is not assignable to type 'Callable'. +!!! error TS2322: Type '""' is not assignable to type 'Callable'. x = ['']; ~ !!! error TS2322: Type 'string[]' is not assignable to type 'Callable'. !!! error TS2322: Property 'call' is missing in type 'string[]'. x = 4; ~ -!!! error TS2322: Type 'number' is not assignable to type 'Callable'. +!!! error TS2322: Type '4' is not assignable to type 'Callable'. x = {}; ~ !!! error TS2322: Type '{}' is not assignable to type 'Callable'. @@ -45,13 +45,13 @@ tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-functio // Should Fail fn(''); ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'Callable'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'Callable'. fn(['']); ~~~~ !!! error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Callable'. fn(4); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Callable'. +!!! error TS2345: Argument of type '4' is not assignable to parameter of type 'Callable'. fn({}); ~~ !!! error TS2345: Argument of type '{}' is not assignable to parameter of type 'Callable'. diff --git a/tests/baselines/reference/assignmentLHSIsReference.types b/tests/baselines/reference/assignmentLHSIsReference.types index 47204740165..dfb3b236c0a 100644 --- a/tests/baselines/reference/assignmentLHSIsReference.types +++ b/tests/baselines/reference/assignmentLHSIsReference.types @@ -37,7 +37,7 @@ x3['a'] = value; >x3['a'] = value : any >x3['a'] : string >x3 : { a: string; } ->'a' : string +>'a' : "a" >value : any // parentheses, the contained expression is reference @@ -71,6 +71,6 @@ function fn2(x4: number) { >(x3['a']) : string >x3['a'] : string >x3 : { a: string; } ->'a' : string +>'a' : "a" >value : any diff --git a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types index 94391e2ea5f..2037d058aff 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types @@ -1,9 +1,9 @@ === tests/cases/compiler/assignmentNonObjectTypeConstraints.ts === const enum E { A, B, C } >E : E ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C function foo(x: T) { >foo : (x: T) => void @@ -19,14 +19,14 @@ function foo(x: T) { foo(5); >foo(5) : void >foo : (x: T) => void ->5 : number +>5 : 5 foo(E.A); >foo(E.A) : void >foo : (x: T) => void ->E.A : E +>E.A : E.A >E : typeof E ->A : E +>A : E.A class A { a } >A : A diff --git a/tests/baselines/reference/assignmentStricterConstraints.types b/tests/baselines/reference/assignmentStricterConstraints.types index 3a72d92f51c..c1a7c86c744 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.types +++ b/tests/baselines/reference/assignmentStricterConstraints.types @@ -34,6 +34,6 @@ g = f g(1, "") >g(1, "") : void >g : (x: T, y: S) => void ->1 : number ->"" : string +>1 : 1 +>"" : "" diff --git a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.errors.txt b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.errors.txt index a50ffdf72d7..b929704880e 100644 --- a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.errors.txt +++ b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(4,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(5,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(13,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(14,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(15,1): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(4,1): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(5,1): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(13,1): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(14,1): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(15,1): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(17,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(18,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(25,5): error TS2364: Invalid left-hand side of assignment expression. @@ -17,13 +17,13 @@ tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesize Type 'string' is not assignable to type 'number'. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(37,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(38,1): error TS2364: Invalid left-hand side of assignment expression. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(43,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(44,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(48,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(49,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(54,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(55,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(56,5): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(43,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(44,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(48,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(49,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(54,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(55,5): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(56,5): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(62,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(63,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts(69,1): error TS2364: Invalid left-hand side of assignment expression. @@ -36,10 +36,10 @@ tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesize (x) = 3; // OK x = ''; // Error ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (x) = ''; // Error ~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. module M { export var y: number; @@ -49,13 +49,13 @@ tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesize (M.y) = 3; // OK M.y = ''; // Error ~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (M).y = ''; // Error ~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (M.y) = ''; // Error ~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. M = { y: 3 }; // Error ~ @@ -107,32 +107,32 @@ tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesize (x) = 3; // OK x = ''; // Error ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (x) = ''; // Error ~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (y).t = 3; // OK (y.t) = 3; // OK (y).t = ''; // Error ~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (y.t) = ''; // Error ~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. y['t'] = 3; // OK (y)['t'] = 3; // OK (y['t']) = 3; // OK y['t'] = ''; // Error ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (y)['t'] = ''; // Error ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (y['t']) = ''; // Error ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. } enum E { diff --git a/tests/baselines/reference/assignmentTypeNarrowing.types b/tests/baselines/reference/assignmentTypeNarrowing.types index be99a31501d..8c5fea315ce 100644 --- a/tests/baselines/reference/assignmentTypeNarrowing.types +++ b/tests/baselines/reference/assignmentTypeNarrowing.types @@ -4,71 +4,71 @@ let x: string | number | boolean | RegExp; >RegExp : RegExp x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean | RegExp ->"" : string +>"" : "" x; // string >x : string [x] = [true]; ->[x] = [true] : [boolean] +>[x] = [true] : [true] >[x] : [string | number | boolean | RegExp] >x : string | number | boolean | RegExp ->[true] : [boolean] ->true : boolean +>[true] : [true] +>true : true x; // boolean ->x : boolean +>x : true [x = ""] = [1]; >[x = ""] = [1] : [number] >[x = ""] : [string] ->x = "" : string +>x = "" : "" >x : string | number | boolean | RegExp ->"" : string +>"" : "" >[1] : [number] ->1 : number +>1 : 1 x; // string | number >x : string | number ({x} = {x: true}); ->({x} = {x: true}) : { x: boolean; } ->{x} = {x: true} : { x: boolean; } +>({x} = {x: true}) : { x: true; } +>{x} = {x: true} : { x: true; } >{x} : { x: string | number | boolean | RegExp; } >x : string | number | boolean | RegExp ->{x: true} : { x: boolean; } +>{x: true} : { x: true; } >x : boolean ->true : boolean +>true : true x; // boolean ->x : boolean +>x : true ({y: x} = {y: 1}); ->({y: x} = {y: 1}) : { y: number; } ->{y: x} = {y: 1} : { y: number; } +>({y: x} = {y: 1}) : { y: 1; } +>{y: x} = {y: 1} : { y: 1; } >{y: x} : { y: string | number | boolean | RegExp; } >y : string | number | boolean | RegExp >x : string | number | boolean | RegExp ->{y: 1} : { y: number; } +>{y: 1} : { y: 1; } >y : number ->1 : number +>1 : 1 x; // number >x : number ({x = ""} = {x: true}); ->({x = ""} = {x: true}) : { x?: boolean; } ->{x = ""} = {x: true} : { x?: boolean; } +>({x = ""} = {x: true}) : { x?: true; } +>{x = ""} = {x: true} : { x?: true; } >{x = ""} : { x?: string | number | boolean | RegExp; } >x : string | number | boolean | RegExp ->{x: true} : { x?: boolean; } +>{x: true} : { x?: true; } >x : boolean ->true : boolean +>true : true x; // string | boolean ->x : string | boolean +>x : string | true ({y: x = /a/} = {y: 1}); >({y: x = /a/} = {y: 1}) : { y?: number; } @@ -80,7 +80,7 @@ x; // string | boolean >/a/ : RegExp >{y: 1} : { y?: number; } >y : number ->1 : number +>1 : 1 x; // number | RegExp >x : number | RegExp diff --git a/tests/baselines/reference/asyncAliasReturnType_es5.js b/tests/baselines/reference/asyncAliasReturnType_es5.js new file mode 100644 index 00000000000..7684b413405 --- /dev/null +++ b/tests/baselines/reference/asyncAliasReturnType_es5.js @@ -0,0 +1,14 @@ +//// [asyncAliasReturnType_es5.ts] +type PromiseAlias = Promise; + +async function f(): PromiseAlias { +} + +//// [asyncAliasReturnType_es5.js] +function f() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncAliasReturnType_es5.symbols b/tests/baselines/reference/asyncAliasReturnType_es5.symbols new file mode 100644 index 00000000000..b61fbf6e275 --- /dev/null +++ b/tests/baselines/reference/asyncAliasReturnType_es5.symbols @@ -0,0 +1,11 @@ +=== tests/cases/conformance/async/es5/asyncAliasReturnType_es5.ts === +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.es2015.promise.d.ts, --, --)) +>T : Symbol(T, Decl(asyncAliasReturnType_es5.ts, 0, 18)) + +async function f(): PromiseAlias { +>f : Symbol(f, Decl(asyncAliasReturnType_es5.ts, 0, 34)) +>PromiseAlias : Symbol(PromiseAlias, Decl(asyncAliasReturnType_es5.ts, 0, 0)) +} diff --git a/tests/baselines/reference/asyncAliasReturnType_es5.types b/tests/baselines/reference/asyncAliasReturnType_es5.types new file mode 100644 index 00000000000..2b8b576a4d3 --- /dev/null +++ b/tests/baselines/reference/asyncAliasReturnType_es5.types @@ -0,0 +1,11 @@ +=== tests/cases/conformance/async/es5/asyncAliasReturnType_es5.ts === +type PromiseAlias = Promise; +>PromiseAlias : Promise +>T : T +>Promise : Promise +>T : T + +async function f(): PromiseAlias { +>f : () => Promise +>PromiseAlias : Promise +} diff --git a/tests/baselines/reference/asyncArrowFunction10_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction10_es5.errors.txt new file mode 100644 index 00000000000..0b3596282ff --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction10_es5.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction10_es5.ts(4,11): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction10_es5.ts (1 errors) ==== + + var foo = async (): Promise => { + // Legal to use 'await' in a type context. + var v: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction10_es5.js b/tests/baselines/reference/asyncArrowFunction10_es5.js new file mode 100644 index 00000000000..2fc2ac56f9f --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction10_es5.js @@ -0,0 +1,16 @@ +//// [asyncArrowFunction10_es5.ts] + +var foo = async (): Promise => { + // Legal to use 'await' in a type context. + var v: await; +} + + +//// [asyncArrowFunction10_es5.js] +var _this = this; +var foo = function () { return __awaiter(_this, void 0, void 0, function () { + var v; + return __generator(this, function (_a) { + return [2 /*return*/]; + }); +}); }; diff --git a/tests/baselines/reference/asyncArrowFunction10_es6.errors.txt b/tests/baselines/reference/asyncArrowFunction10_es6.errors.txt index 08e59e69b9f..b5ea2a9d926 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es6.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction10_es6.errors.txt @@ -1,21 +1,9 @@ -tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts(2,11): error TS2304: Cannot find name 'async'. -tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts(2,17): error TS1005: ',' expected. -tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts(2,20): error TS1005: '=' expected. -tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts(2,24): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts(4,11): error TS2304: Cannot find name 'await'. -==== tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts (5 errors) ==== +==== tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts (1 errors) ==== - var foo = async foo(): Promise => { - ~~~~~ -!!! error TS2304: Cannot find name 'async'. - ~~~ -!!! error TS1005: ',' expected. - ~ -!!! error TS1005: '=' expected. - ~~~~~~~~~~~~~ -!!! error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. + var foo = async (): Promise => { // Legal to use 'await' in a type context. var v: await; ~~~~~ diff --git a/tests/baselines/reference/asyncArrowFunction10_es6.js b/tests/baselines/reference/asyncArrowFunction10_es6.js index 23b2c3af80e..301e41544bb 100644 --- a/tests/baselines/reference/asyncArrowFunction10_es6.js +++ b/tests/baselines/reference/asyncArrowFunction10_es6.js @@ -1,13 +1,13 @@ //// [asyncArrowFunction10_es6.ts] -var foo = async foo(): Promise => { +var foo = async (): Promise => { // Legal to use 'await' in a type context. var v: await; } //// [asyncArrowFunction10_es6.js] -var foo = async, foo = () => { +var foo = () => __awaiter(this, void 0, void 0, function* () { // Legal to use 'await' in a type context. var v; -}; +}); diff --git a/tests/baselines/reference/asyncArrowFunction1_es5.js b/tests/baselines/reference/asyncArrowFunction1_es5.js new file mode 100644 index 00000000000..aac185c63a1 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction1_es5.js @@ -0,0 +1,12 @@ +//// [asyncArrowFunction1_es5.ts] + +var foo = async (): Promise => { +}; + +//// [asyncArrowFunction1_es5.js] +var _this = this; +var foo = function () { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); +}); }; diff --git a/tests/baselines/reference/asyncArrowFunction1_es5.symbols b/tests/baselines/reference/asyncArrowFunction1_es5.symbols new file mode 100644 index 00000000000..c37985dc347 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction1_es5.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction1_es5.ts === + +var foo = async (): Promise => { +>foo : Symbol(foo, Decl(asyncArrowFunction1_es5.ts, 1, 3)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +}; diff --git a/tests/baselines/reference/asyncArrowFunction1_es5.types b/tests/baselines/reference/asyncArrowFunction1_es5.types new file mode 100644 index 00000000000..bde82d2b836 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction1_es5.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction1_es5.ts === + +var foo = async (): Promise => { +>foo : () => Promise +>async (): Promise => {} : () => Promise +>Promise : Promise + +}; diff --git a/tests/baselines/reference/asyncArrowFunction2_es5.js b/tests/baselines/reference/asyncArrowFunction2_es5.js new file mode 100644 index 00000000000..d77837a5433 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction2_es5.js @@ -0,0 +1,7 @@ +//// [asyncArrowFunction2_es5.ts] +var f = (await) => { +} + +//// [asyncArrowFunction2_es5.js] +var f = function (await) { +}; diff --git a/tests/baselines/reference/asyncArrowFunction2_es5.symbols b/tests/baselines/reference/asyncArrowFunction2_es5.symbols new file mode 100644 index 00000000000..b195e9c2695 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction2_es5.symbols @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction2_es5.ts === +var f = (await) => { +>f : Symbol(f, Decl(asyncArrowFunction2_es5.ts, 0, 3)) +>await : Symbol(await, Decl(asyncArrowFunction2_es5.ts, 0, 9)) +} diff --git a/tests/baselines/reference/asyncArrowFunction2_es5.types b/tests/baselines/reference/asyncArrowFunction2_es5.types new file mode 100644 index 00000000000..e51a17abd35 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction2_es5.types @@ -0,0 +1,6 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction2_es5.ts === +var f = (await) => { +>f : (await: any) => void +>(await) => {} : (await: any) => void +>await : any +} diff --git a/tests/baselines/reference/asyncArrowFunction3_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction3_es5.errors.txt new file mode 100644 index 00000000000..01c74ab3620 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction3_es5.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction3_es5.ts(1,20): error TS2372: Parameter 'await' cannot be referenced in its initializer. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction3_es5.ts (1 errors) ==== + function f(await = await) { + ~~~~~ +!!! error TS2372: Parameter 'await' cannot be referenced in its initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction3_es5.js b/tests/baselines/reference/asyncArrowFunction3_es5.js new file mode 100644 index 00000000000..3c73e6f9f58 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction3_es5.js @@ -0,0 +1,8 @@ +//// [asyncArrowFunction3_es5.ts] +function f(await = await) { +} + +//// [asyncArrowFunction3_es5.js] +function f(await) { + if (await === void 0) { await = await; } +} diff --git a/tests/baselines/reference/asyncArrowFunction4_es5.js b/tests/baselines/reference/asyncArrowFunction4_es5.js new file mode 100644 index 00000000000..cbaae99a9c6 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction4_es5.js @@ -0,0 +1,7 @@ +//// [asyncArrowFunction4_es5.ts] +var await = () => { +} + +//// [asyncArrowFunction4_es5.js] +var await = function () { +}; diff --git a/tests/baselines/reference/asyncArrowFunction4_es5.symbols b/tests/baselines/reference/asyncArrowFunction4_es5.symbols new file mode 100644 index 00000000000..affb1f188a8 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction4_es5.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction4_es5.ts === +var await = () => { +>await : Symbol(await, Decl(asyncArrowFunction4_es5.ts, 0, 3)) +} diff --git a/tests/baselines/reference/asyncArrowFunction4_es5.types b/tests/baselines/reference/asyncArrowFunction4_es5.types new file mode 100644 index 00000000000..3b452365095 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction4_es5.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction4_es5.ts === +var await = () => { +>await : () => void +>() => {} : () => void +} diff --git a/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt new file mode 100644 index 00000000000..e19113e66f8 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,11): error TS2304: Cannot find name 'async'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,18): error TS2304: Cannot find name 'await'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,24): error TS1005: ',' expected. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,26): error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'void'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,33): error TS1005: '=' expected. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts(2,40): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts (6 errors) ==== + + var foo = async (await): Promise => { + ~~~~~ +!!! error TS2304: Cannot find name 'async'. + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~ +!!! error TS1005: ',' expected. + ~~~~~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'void'. + ~ +!!! error TS1005: '=' expected. + ~~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction5_es5.js b/tests/baselines/reference/asyncArrowFunction5_es5.js new file mode 100644 index 00000000000..ff5ee68d4c7 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction5_es5.js @@ -0,0 +1,9 @@ +//// [asyncArrowFunction5_es5.ts] + +var foo = async (await): Promise => { +} + +//// [asyncArrowFunction5_es5.js] +var foo = async(await), Promise = ; +{ +} diff --git a/tests/baselines/reference/asyncArrowFunction6_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction6_es5.errors.txt new file mode 100644 index 00000000000..a957589bd94 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction6_es5.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts(2,22): error TS2524: 'await' expressions cannot be used in a parameter initializer. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts(2,27): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts (2 errors) ==== + + var foo = async (a = await): Promise => { + ~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction6_es5.js b/tests/baselines/reference/asyncArrowFunction6_es5.js new file mode 100644 index 00000000000..ea61a1b44b5 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction6_es5.js @@ -0,0 +1,15 @@ +//// [asyncArrowFunction6_es5.ts] + +var foo = async (a = await): Promise => { +} + +//// [asyncArrowFunction6_es5.js] +var _this = this; +var foo = function (a) { + if (a === void 0) { a = yield ; } + return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +}; diff --git a/tests/baselines/reference/asyncArrowFunction7_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction7_es5.errors.txt new file mode 100644 index 00000000000..cc5cf2bb61d --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction7_es5.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts(4,24): error TS2524: 'await' expressions cannot be used in a parameter initializer. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts(4,29): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction7_es5.ts (2 errors) ==== + + var bar = async (): Promise => { + // 'await' here is an identifier, and not an await expression. + var foo = async (a = await): Promise => { + ~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + ~ +!!! error TS1109: Expression expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction7_es5.js b/tests/baselines/reference/asyncArrowFunction7_es5.js new file mode 100644 index 00000000000..19e589fa542 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction7_es5.js @@ -0,0 +1,25 @@ +//// [asyncArrowFunction7_es5.ts] + +var bar = async (): Promise => { + // 'await' here is an identifier, and not an await expression. + var foo = async (a = await): Promise => { + } +} + +//// [asyncArrowFunction7_es5.js] +var _this = this; +var bar = function () { return __awaiter(_this, void 0, void 0, function () { + _this = this; + var foo; + return __generator(this, function (_a) { + foo = function (a) { + if (a === void 0) { a = yield ; } + return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); + }; + return [2 /*return*/]; + }); +}); var _this; }; diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction8_es5.errors.txt new file mode 100644 index 00000000000..e2e69fc5bee --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction8_es5.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction8_es5.ts(3,19): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction8_es5.ts (1 errors) ==== + + var foo = async (): Promise => { + var v = { [await]: foo } + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.js b/tests/baselines/reference/asyncArrowFunction8_es5.js new file mode 100644 index 00000000000..30432949262 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction8_es5.js @@ -0,0 +1,21 @@ +//// [asyncArrowFunction8_es5.ts] + +var foo = async (): Promise => { + var v = { [await]: foo } +} + +//// [asyncArrowFunction8_es5.js] +var _this = this; +var foo = function () { return __awaiter(_this, void 0, void 0, function () { + var v, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, ]; + case 1: + v = (_a[_b.sent()] = foo, _a); + return [2 /*return*/]; + } + }); +}); }; diff --git a/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt new file mode 100644 index 00000000000..30846e06d6a --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt @@ -0,0 +1,23 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,11): error TS2304: Cannot find name 'async'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,18): error TS2304: Cannot find name 'a'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,37): error TS1005: ',' expected. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,39): error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'void'. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,46): error TS1005: '=' expected. +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts(1,53): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts (6 errors) ==== + var foo = async (a = await => await): Promise => { + ~~~~~ +!!! error TS2304: Cannot find name 'async'. + ~ +!!! error TS2304: Cannot find name 'a'. + ~ +!!! error TS1005: ',' expected. + ~~~~~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'void'. + ~ +!!! error TS1005: '=' expected. + ~~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction9_es5.js b/tests/baselines/reference/asyncArrowFunction9_es5.js new file mode 100644 index 00000000000..2506024f326 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunction9_es5.js @@ -0,0 +1,8 @@ +//// [asyncArrowFunction9_es5.ts] +var foo = async (a = await => await): Promise => { +} + +//// [asyncArrowFunction9_es5.js] +var foo = async(a = function (await) { return await; }), Promise = ; +{ +} diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.errors.txt b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.errors.txt new file mode 100644 index 00000000000..e0a1ef45e8c --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunctionCapturesArguments_es5.ts(4,52): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression. + + +==== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunctionCapturesArguments_es5.ts (1 errors) ==== + class C { + method() { + function other() {} + var fn = async () => await other.apply(this, arguments); + ~~~~~~~~~ +!!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression. + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.js b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.js new file mode 100644 index 00000000000..e73ef6ddd4d --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.js @@ -0,0 +1,25 @@ +//// [asyncArrowFunctionCapturesArguments_es5.ts] +class C { + method() { + function other() {} + var fn = async () => await other.apply(this, arguments); + } +} + + +//// [asyncArrowFunctionCapturesArguments_es5.js] +var C = (function () { + function C() { + } + C.prototype.method = function () { + var _this = this; + function other() { } + var fn = function () { return __awaiter(_this, arguments, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, other.apply(this, arguments)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); }); }; + }; + return C; +}()); diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.js b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.js new file mode 100644 index 00000000000..5c9727bddab --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.js @@ -0,0 +1,23 @@ +//// [asyncArrowFunctionCapturesThis_es5.ts] +class C { + method() { + var fn = async () => await this; + } +} + + +//// [asyncArrowFunctionCapturesThis_es5.js] +var C = (function () { + function C() { + } + C.prototype.method = function () { + var _this = this; + var fn = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); }); }; + }; + return C; +}()); diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.symbols b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.symbols new file mode 100644 index 00000000000..c0415839891 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.symbols @@ -0,0 +1,13 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunctionCapturesThis_es5.ts === +class C { +>C : Symbol(C, Decl(asyncArrowFunctionCapturesThis_es5.ts, 0, 0)) + + method() { +>method : Symbol(C.method, Decl(asyncArrowFunctionCapturesThis_es5.ts, 0, 9)) + + var fn = async () => await this; +>fn : Symbol(fn, Decl(asyncArrowFunctionCapturesThis_es5.ts, 2, 9)) +>this : Symbol(C, Decl(asyncArrowFunctionCapturesThis_es5.ts, 0, 0)) + } +} + diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.types b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.types new file mode 100644 index 00000000000..da378ee2718 --- /dev/null +++ b/tests/baselines/reference/asyncArrowFunctionCapturesThis_es5.types @@ -0,0 +1,15 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunctionCapturesThis_es5.ts === +class C { +>C : C + + method() { +>method : () => void + + var fn = async () => await this; +>fn : () => Promise +>async () => await this : () => Promise +>await this : this +>this : this + } +} + diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.errors.txt b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.errors.txt new file mode 100644 index 00000000000..7d46517ca15 --- /dev/null +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.errors.txt @@ -0,0 +1,45 @@ +tests/cases/conformance/async/es5/asyncAwaitIsolatedModules_es5.ts(1,27): error TS2307: Cannot find module 'missing'. + + +==== tests/cases/conformance/async/es5/asyncAwaitIsolatedModules_es5.ts (1 errors) ==== + import { MyPromise } from "missing"; + ~~~~~~~~~ +!!! error TS2307: Cannot find module 'missing'. + + declare var p: Promise; + declare var mp: MyPromise; + + async function f0() { } + async function f1(): Promise { } + async function f3(): MyPromise { } + + let f4 = async function() { } + let f5 = async function(): Promise { } + let f6 = async function(): MyPromise { } + + let f7 = async () => { }; + let f8 = async (): Promise => { }; + let f9 = async (): MyPromise => { }; + let f10 = async () => p; + let f11 = async () => mp; + let f12 = async (): Promise => mp; + let f13 = async (): MyPromise => p; + + let o = { + async m1() { }, + async m2(): Promise { }, + async m3(): MyPromise { } + }; + + class C { + async m1() { } + async m2(): Promise { } + async m3(): MyPromise { } + static async m4() { } + static async m5(): Promise { } + static async m6(): MyPromise { } + } + + module M { + export async function f1() { } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js new file mode 100644 index 00000000000..95416f3aaa2 --- /dev/null +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js @@ -0,0 +1,201 @@ +//// [asyncAwaitIsolatedModules_es5.ts] +import { MyPromise } from "missing"; + +declare var p: Promise; +declare var mp: MyPromise; + +async function f0() { } +async function f1(): Promise { } +async function f3(): MyPromise { } + +let f4 = async function() { } +let f5 = async function(): Promise { } +let f6 = async function(): MyPromise { } + +let f7 = async () => { }; +let f8 = async (): Promise => { }; +let f9 = async (): MyPromise => { }; +let f10 = async () => p; +let f11 = async () => mp; +let f12 = async (): Promise => mp; +let f13 = async (): MyPromise => p; + +let o = { + async m1() { }, + async m2(): Promise { }, + async m3(): MyPromise { } +}; + +class C { + async m1() { } + async m2(): Promise { } + async m3(): MyPromise { } + static async m4() { } + static async m5(): Promise { } + static async m6(): MyPromise { } +} + +module M { + export async function f1() { } +} + +//// [asyncAwaitIsolatedModules_es5.js] +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +var _this = this; +function f0() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +function f1() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +function f3() { + return __awaiter(this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +var f4 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f5 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f6 = function () { + return __awaiter(this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f7 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f8 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f9 = function () { return __awaiter(_this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f10 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, p]; +}); }); }; +var f11 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, mp]; +}); }); }; +var f12 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, mp]; +}); }); }; +var f13 = function () { return __awaiter(_this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/, p]; +}); }); }; +var o = { + m1: function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }, + m2: function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }, + m3: function () { + return __awaiter(this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + } +}; +var C = (function () { + function C() { + } + C.prototype.m1 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.prototype.m2 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.prototype.m3 = function () { + return __awaiter(this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m4 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m5 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m6 = function () { + return __awaiter(this, void 0, missing_1.MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + return C; +}()); +var M; +(function (M) { + function f1() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + } + M.f1 = f1; +})(M || (M = {})); diff --git a/tests/baselines/reference/asyncAwait_es5.js b/tests/baselines/reference/asyncAwait_es5.js new file mode 100644 index 00000000000..e148de70ad2 --- /dev/null +++ b/tests/baselines/reference/asyncAwait_es5.js @@ -0,0 +1,200 @@ +//// [asyncAwait_es5.ts] +type MyPromise = Promise; +declare var MyPromise: typeof Promise; +declare var p: Promise; +declare var mp: MyPromise; + +async function f0() { } +async function f1(): Promise { } +async function f3(): MyPromise { } + +let f4 = async function() { } +let f5 = async function(): Promise { } +let f6 = async function(): MyPromise { } + +let f7 = async () => { }; +let f8 = async (): Promise => { }; +let f9 = async (): MyPromise => { }; +let f10 = async () => p; +let f11 = async () => mp; +let f12 = async (): Promise => mp; +let f13 = async (): MyPromise => p; + +let o = { + async m1() { }, + async m2(): Promise { }, + async m3(): MyPromise { } +}; + +class C { + async m1() { } + async m2(): Promise { } + async m3(): MyPromise { } + static async m4() { } + static async m5(): Promise { } + static async m6(): MyPromise { } +} + +module M { + export async function f1() { } +} + +//// [asyncAwait_es5.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +var _this = this; +function f0() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +function f1() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +function f3() { + return __awaiter(this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +var f4 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f5 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f6 = function () { + return __awaiter(this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +}; +var f7 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f8 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f9 = function () { return __awaiter(_this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; +}); }); }; +var f10 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, p]; +}); }); }; +var f11 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, mp]; +}); }); }; +var f12 = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, mp]; +}); }); }; +var f13 = function () { return __awaiter(_this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/, p]; +}); }); }; +var o = { + m1: function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }, + m2: function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }, + m3: function () { + return __awaiter(this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + } +}; +var C = (function () { + function C() { + } + C.prototype.m1 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.prototype.m2 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.prototype.m3 = function () { + return __awaiter(this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m4 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m5 = function () { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + C.m6 = function () { + return __awaiter(this, void 0, MyPromise, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + return C; +}()); +var M; +(function (M) { + function f1() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + } + M.f1 = f1; +})(M || (M = {})); diff --git a/tests/baselines/reference/asyncAwait_es5.symbols b/tests/baselines/reference/asyncAwait_es5.symbols new file mode 100644 index 00000000000..2f80a025ade --- /dev/null +++ b/tests/baselines/reference/asyncAwait_es5.symbols @@ -0,0 +1,118 @@ +=== tests/cases/conformance/async/es5/asyncAwait_es5.ts === +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.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.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.es2015.promise.d.ts, --, --)) + +declare var mp: MyPromise; +>mp : Symbol(mp, Decl(asyncAwait_es5.ts, 3, 11)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + +async function f0() { } +>f0 : Symbol(f0, Decl(asyncAwait_es5.ts, 3, 34)) + +async function f1(): Promise { } +>f1 : Symbol(f1, Decl(asyncAwait_es5.ts, 5, 23)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +async function f3(): MyPromise { } +>f3 : Symbol(f3, Decl(asyncAwait_es5.ts, 6, 38)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + +let f4 = async function() { } +>f4 : Symbol(f4, Decl(asyncAwait_es5.ts, 9, 3)) + +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.es2015.promise.d.ts, --, --)) + +let f6 = async function(): MyPromise { } +>f6 : Symbol(f6, Decl(asyncAwait_es5.ts, 11, 3)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + +let f7 = async () => { }; +>f7 : Symbol(f7, Decl(asyncAwait_es5.ts, 13, 3)) + +let f8 = async (): Promise => { }; +>f8 : Symbol(f8, Decl(asyncAwait_es5.ts, 14, 3)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +let f9 = async (): MyPromise => { }; +>f9 : Symbol(f9, Decl(asyncAwait_es5.ts, 15, 3)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + +let f10 = async () => p; +>f10 : Symbol(f10, Decl(asyncAwait_es5.ts, 16, 3)) +>p : Symbol(p, Decl(asyncAwait_es5.ts, 2, 11)) + +let f11 = async () => mp; +>f11 : Symbol(f11, Decl(asyncAwait_es5.ts, 17, 3)) +>mp : Symbol(mp, Decl(asyncAwait_es5.ts, 3, 11)) + +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.es2015.promise.d.ts, --, --)) +>mp : Symbol(mp, Decl(asyncAwait_es5.ts, 3, 11)) + +let f13 = async (): MyPromise => p; +>f13 : Symbol(f13, Decl(asyncAwait_es5.ts, 19, 3)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) +>p : Symbol(p, Decl(asyncAwait_es5.ts, 2, 11)) + +let o = { +>o : Symbol(o, Decl(asyncAwait_es5.ts, 21, 3)) + + async m1() { }, +>m1 : Symbol(m1, Decl(asyncAwait_es5.ts, 21, 9)) + + async m2(): Promise { }, +>m2 : Symbol(m2, Decl(asyncAwait_es5.ts, 22, 16)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + async m3(): MyPromise { } +>m3 : Symbol(m3, Decl(asyncAwait_es5.ts, 23, 31)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + +}; + +class C { +>C : Symbol(C, Decl(asyncAwait_es5.ts, 25, 2)) + + async m1() { } +>m1 : Symbol(C.m1, Decl(asyncAwait_es5.ts, 27, 9)) + + async m2(): Promise { } +>m2 : Symbol(C.m2, Decl(asyncAwait_es5.ts, 28, 15)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + async m3(): MyPromise { } +>m3 : Symbol(C.m3, Decl(asyncAwait_es5.ts, 29, 30)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) + + static async m4() { } +>m4 : Symbol(C.m4, Decl(asyncAwait_es5.ts, 30, 32)) + + 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.es2015.promise.d.ts, --, --)) + + static async m6(): MyPromise { } +>m6 : Symbol(C.m6, Decl(asyncAwait_es5.ts, 32, 37)) +>MyPromise : Symbol(MyPromise, Decl(asyncAwait_es5.ts, 0, 0), Decl(asyncAwait_es5.ts, 1, 11)) +} + +module M { +>M : Symbol(M, Decl(asyncAwait_es5.ts, 34, 1)) + + export async function f1() { } +>f1 : Symbol(f1, Decl(asyncAwait_es5.ts, 36, 10)) +} diff --git a/tests/baselines/reference/asyncAwait_es5.types b/tests/baselines/reference/asyncAwait_es5.types new file mode 100644 index 00000000000..4162aa84b76 --- /dev/null +++ b/tests/baselines/reference/asyncAwait_es5.types @@ -0,0 +1,129 @@ +=== tests/cases/conformance/async/es5/asyncAwait_es5.ts === +type MyPromise = Promise; +>MyPromise : Promise +>T : T +>Promise : Promise +>T : T + +declare var MyPromise: typeof Promise; +>MyPromise : PromiseConstructor +>Promise : PromiseConstructor + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare var mp: MyPromise; +>mp : Promise +>MyPromise : Promise + +async function f0() { } +>f0 : () => Promise + +async function f1(): Promise { } +>f1 : () => Promise +>Promise : Promise + +async function f3(): MyPromise { } +>f3 : () => Promise +>MyPromise : Promise + +let f4 = async function() { } +>f4 : () => Promise +>async function() { } : () => Promise + +let f5 = async function(): Promise { } +>f5 : () => Promise +>async function(): Promise { } : () => Promise +>Promise : Promise + +let f6 = async function(): MyPromise { } +>f6 : () => Promise +>async function(): MyPromise { } : () => Promise +>MyPromise : Promise + +let f7 = async () => { }; +>f7 : () => Promise +>async () => { } : () => Promise + +let f8 = async (): Promise => { }; +>f8 : () => Promise +>async (): Promise => { } : () => Promise +>Promise : Promise + +let f9 = async (): MyPromise => { }; +>f9 : () => Promise +>async (): MyPromise => { } : () => Promise +>MyPromise : Promise + +let f10 = async () => p; +>f10 : () => Promise +>async () => p : () => Promise +>p : Promise + +let f11 = async () => mp; +>f11 : () => Promise +>async () => mp : () => Promise +>mp : Promise + +let f12 = async (): Promise => mp; +>f12 : () => Promise +>async (): Promise => mp : () => Promise +>Promise : Promise +>mp : Promise + +let f13 = async (): MyPromise => p; +>f13 : () => Promise +>async (): MyPromise => p : () => Promise +>MyPromise : Promise +>p : Promise + +let o = { +>o : { m1(): Promise; m2(): Promise; m3(): Promise; } +>{ async m1() { }, async m2(): Promise { }, async m3(): MyPromise { }} : { m1(): Promise; m2(): Promise; m3(): Promise; } + + async m1() { }, +>m1 : () => Promise + + async m2(): Promise { }, +>m2 : () => Promise +>Promise : Promise + + async m3(): MyPromise { } +>m3 : () => Promise +>MyPromise : Promise + +}; + +class C { +>C : C + + async m1() { } +>m1 : () => Promise + + async m2(): Promise { } +>m2 : () => Promise +>Promise : Promise + + async m3(): MyPromise { } +>m3 : () => Promise +>MyPromise : Promise + + static async m4() { } +>m4 : () => Promise + + static async m5(): Promise { } +>m5 : () => Promise +>Promise : Promise + + static async m6(): MyPromise { } +>m6 : () => Promise +>MyPromise : Promise +} + +module M { +>M : typeof M + + export async function f1() { } +>f1 : () => Promise +} diff --git a/tests/baselines/reference/asyncClass_es5.errors.txt b/tests/baselines/reference/asyncClass_es5.errors.txt new file mode 100644 index 00000000000..e8f4efd4f07 --- /dev/null +++ b/tests/baselines/reference/asyncClass_es5.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/async/es5/asyncClass_es5.ts(1,1): error TS1042: 'async' modifier cannot be used here. + + +==== tests/cases/conformance/async/es5/asyncClass_es5.ts (1 errors) ==== + async class C { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncClass_es5.js b/tests/baselines/reference/asyncClass_es5.js new file mode 100644 index 00000000000..a552349118a --- /dev/null +++ b/tests/baselines/reference/asyncClass_es5.js @@ -0,0 +1,10 @@ +//// [asyncClass_es5.ts] +async class C { +} + +//// [asyncClass_es5.js] +var C = (function () { + function C() { + } + return C; +}()); diff --git a/tests/baselines/reference/asyncConstructor_es5.errors.txt b/tests/baselines/reference/asyncConstructor_es5.errors.txt new file mode 100644 index 00000000000..c24bf87ae67 --- /dev/null +++ b/tests/baselines/reference/asyncConstructor_es5.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/async/es5/asyncConstructor_es5.ts(2,3): error TS1089: 'async' modifier cannot appear on a constructor declaration. + + +==== tests/cases/conformance/async/es5/asyncConstructor_es5.ts (1 errors) ==== + class C { + async constructor() { + ~~~~~ +!!! error TS1089: 'async' modifier cannot appear on a constructor declaration. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncConstructor_es5.js b/tests/baselines/reference/asyncConstructor_es5.js new file mode 100644 index 00000000000..95470ccf9b0 --- /dev/null +++ b/tests/baselines/reference/asyncConstructor_es5.js @@ -0,0 +1,12 @@ +//// [asyncConstructor_es5.ts] +class C { + async constructor() { + } +} + +//// [asyncConstructor_es5.js] +var C = (function () { + function C() { + } + return C; +}()); diff --git a/tests/baselines/reference/asyncDeclare_es5.errors.txt b/tests/baselines/reference/asyncDeclare_es5.errors.txt new file mode 100644 index 00000000000..bfa467acca2 --- /dev/null +++ b/tests/baselines/reference/asyncDeclare_es5.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/async/es5/asyncDeclare_es5.ts(1,9): error TS1040: 'async' modifier cannot be used in an ambient context. + + +==== tests/cases/conformance/async/es5/asyncDeclare_es5.ts (1 errors) ==== + declare async function foo(): Promise; + ~~~~~ +!!! error TS1040: 'async' modifier cannot be used in an ambient context. \ No newline at end of file diff --git a/tests/baselines/reference/asyncDeclare_es5.js b/tests/baselines/reference/asyncDeclare_es5.js new file mode 100644 index 00000000000..80ee6017ad5 --- /dev/null +++ b/tests/baselines/reference/asyncDeclare_es5.js @@ -0,0 +1,4 @@ +//// [asyncDeclare_es5.ts] +declare async function foo(): Promise; + +//// [asyncDeclare_es5.js] diff --git a/tests/baselines/reference/asyncEnum_es5.errors.txt b/tests/baselines/reference/asyncEnum_es5.errors.txt new file mode 100644 index 00000000000..6029ae9c9d0 --- /dev/null +++ b/tests/baselines/reference/asyncEnum_es5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/async/es5/asyncEnum_es5.ts(1,1): error TS1042: 'async' modifier cannot be used here. + + +==== tests/cases/conformance/async/es5/asyncEnum_es5.ts (1 errors) ==== + async enum E { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + Value + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncEnum_es5.js b/tests/baselines/reference/asyncEnum_es5.js new file mode 100644 index 00000000000..d65b4bdb510 --- /dev/null +++ b/tests/baselines/reference/asyncEnum_es5.js @@ -0,0 +1,10 @@ +//// [asyncEnum_es5.ts] +async enum E { + Value +} + +//// [asyncEnum_es5.js] +var E; +(function (E) { + E[E["Value"] = 0] = "Value"; +})(E || (E = {})); diff --git a/tests/baselines/reference/asyncFunctionDeclaration10_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration10_es5.errors.txt new file mode 100644 index 00000000000..dc814e9c887 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration10_es5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,20): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,30): error TS1109: Expression expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,33): error TS1138: Parameter declaration expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,33): error TS2304: Cannot find name 'await'. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,38): error TS1005: ';' expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,39): error TS1128: Declaration or statement expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts(1,53): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts (7 errors) ==== + async function foo(a = await => await): Promise { + ~~~~~~~~~ +!!! error TS2371: A parameter initializer is only allowed in a function or constructor implementation. + ~~ +!!! error TS1109: Expression expected. + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~ +!!! error TS1005: ';' expected. + ~ +!!! error TS1128: Declaration or statement expected. + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration10_es5.js b/tests/baselines/reference/asyncFunctionDeclaration10_es5.js new file mode 100644 index 00000000000..05ff9daa9da --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration10_es5.js @@ -0,0 +1,7 @@ +//// [asyncFunctionDeclaration10_es5.ts] +async function foo(a = await => await): Promise { +} + +//// [asyncFunctionDeclaration10_es5.js] +await; +Promise < void > {}; diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es5.js b/tests/baselines/reference/asyncFunctionDeclaration11_es5.js new file mode 100644 index 00000000000..27d16ebb0c1 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es5.js @@ -0,0 +1,12 @@ +//// [asyncFunctionDeclaration11_es5.ts] +async function await(): Promise { +} + +//// [asyncFunctionDeclaration11_es5.js] +function await() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols new file mode 100644 index 00000000000..fc20251d567 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es5.symbols @@ -0,0 +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.es2015.promise.d.ts, --, --)) +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration11_es5.types b/tests/baselines/reference/asyncFunctionDeclaration11_es5.types new file mode 100644 index 00000000000..fdda0b0a084 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration11_es5.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration11_es5.ts === +async function await(): Promise { +>await : () => Promise +>Promise : Promise +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration12_es5.errors.txt new file mode 100644 index 00000000000..6468ec69716 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts(1,24): error TS1005: '(' expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts(1,29): error TS1005: '=' expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts(1,33): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts(1,47): error TS1005: '=>' expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts (4 errors) ==== + var v = async function await(): Promise { } + ~~~~~ +!!! error TS1005: '(' expected. + ~ +!!! error TS1005: '=' expected. + ~~~~~~~~~~~~~ +!!! error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. + ~ +!!! error TS1005: '=>' expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration12_es5.js b/tests/baselines/reference/asyncFunctionDeclaration12_es5.js new file mode 100644 index 00000000000..4123175b22c --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration12_es5.js @@ -0,0 +1,5 @@ +//// [asyncFunctionDeclaration12_es5.ts] +var v = async function await(): Promise { } + +//// [asyncFunctionDeclaration12_es5.js] +var v = , await = function () { }; diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration13_es5.errors.txt new file mode 100644 index 00000000000..ce83aabc4be --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration13_es5.ts(3,11): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration13_es5.ts (1 errors) ==== + async function foo(): Promise { + // Legal to use 'await' in a type context. + var v: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration13_es5.js b/tests/baselines/reference/asyncFunctionDeclaration13_es5.js new file mode 100644 index 00000000000..e097192fbbf --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration13_es5.js @@ -0,0 +1,16 @@ +//// [asyncFunctionDeclaration13_es5.ts] +async function foo(): Promise { + // Legal to use 'await' in a type context. + var v: await; +} + + +//// [asyncFunctionDeclaration13_es5.js] +function foo() { + return __awaiter(this, void 0, void 0, function () { + var v; + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es5.js b/tests/baselines/reference/asyncFunctionDeclaration14_es5.js new file mode 100644 index 00000000000..5ef6ce61084 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es5.js @@ -0,0 +1,13 @@ +//// [asyncFunctionDeclaration14_es5.ts] +async function foo(): Promise { + return; +} + +//// [asyncFunctionDeclaration14_es5.js] +function foo() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols new file mode 100644 index 00000000000..1126618cfe7 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es5.symbols @@ -0,0 +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.es2015.promise.d.ts, --, --)) + + return; +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration14_es5.types b/tests/baselines/reference/asyncFunctionDeclaration14_es5.types new file mode 100644 index 00000000000..5c2575c9cc9 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration14_es5.types @@ -0,0 +1,7 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration14_es5.ts === +async function foo(): Promise { +>foo : () => Promise +>Promise : Promise + + return; +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt new file mode 100644 index 00000000000..62c64f2cd54 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt @@ -0,0 +1,59 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(6,23): error TS1055: Type '{}' is not a valid async function return type. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(7,23): error TS1055: Type 'any' is not a valid async function return type. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(8,23): error TS1055: Type 'number' is not a valid async function return type. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(9,23): error TS1055: Type 'PromiseLike' is not a valid async function return type. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(10,23): error TS1055: Type 'typeof Thenable' is not a valid async function return type. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(10,23): error TS1055: Type 'typeof Thenable' is not a valid async function return type. + Type 'Thenable' is not assignable to type 'PromiseLike'. + Types of property 'then' are incompatible. + Type '() => void' is not assignable to type '{ (onfulfilled?: (value: any) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; (onfulfilled?: (value: any) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; }'. + Type 'void' is not assignable to type 'PromiseLike'. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(17,16): error TS1059: Return expression in async function does not have a valid callable 'then' member. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(23,25): error TS1058: Operand for 'await' does not have a valid callable 'then' member. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts (8 errors) ==== + declare class Thenable { then(): void; } + declare let a: any; + declare let obj: { then: string; }; + declare let thenable: Thenable; + async function fn1() { } // valid: Promise + async function fn2(): { } { } // error + ~~~ +!!! error TS1055: Type '{}' is not a valid async function return type. + async function fn3(): any { } // error + ~~~ +!!! error TS1055: Type 'any' is not a valid async function return type. + async function fn4(): number { } // error + ~~~~~~ +!!! error TS1055: Type 'number' is not a valid async function return type. + async function fn5(): PromiseLike { } // error + ~~~~~~~~~~~~~~~~~ +!!! error TS1055: Type 'PromiseLike' is not a valid async function return type. + async function fn6(): Thenable { } // error + ~~~~~~~~ +!!! error TS1055: Type 'typeof Thenable' is not a valid async function return type. + ~~~~~~~~ +!!! error TS1055: Type 'typeof Thenable' is not a valid async function return type. +!!! error TS1055: Type 'Thenable' is not assignable to type 'PromiseLike'. +!!! error TS1055: Types of property 'then' are incompatible. +!!! error TS1055: Type '() => void' is not assignable to type '{ (onfulfilled?: (value: any) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; (onfulfilled?: (value: any) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; }'. +!!! error TS1055: Type 'void' is not assignable to type 'PromiseLike'. + async function fn7() { return; } // valid: Promise + async function fn8() { return 1; } // valid: Promise + async function fn9() { return null; } // valid: Promise + async function fn10() { return undefined; } // valid: Promise + async function fn11() { return a; } // valid: Promise + async function fn12() { return obj; } // valid: Promise<{ then: string; }> + async function fn13() { return thenable; } // error + ~~~~ +!!! error TS1059: Return expression in async function does not have a valid callable 'then' member. + async function fn14() { await 1; } // valid: Promise + async function fn15() { await null; } // valid: Promise + async function fn16() { await undefined; } // valid: Promise + async function fn17() { await a; } // valid: Promise + async function fn18() { await obj; } // valid: Promise + async function fn19() { await thenable; } // error + ~~~~~~~~~~~~~~ +!!! error TS1058: Operand for 'await' does not have a valid callable 'then' member. + \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.js b/tests/baselines/reference/asyncFunctionDeclaration15_es5.js new file mode 100644 index 00000000000..5ca93d3eca8 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.js @@ -0,0 +1,152 @@ +//// [asyncFunctionDeclaration15_es5.ts] +declare class Thenable { then(): void; } +declare let a: any; +declare let obj: { then: string; }; +declare let thenable: Thenable; +async function fn1() { } // valid: Promise +async function fn2(): { } { } // error +async function fn3(): any { } // error +async function fn4(): number { } // error +async function fn5(): PromiseLike { } // error +async function fn6(): Thenable { } // error +async function fn7() { return; } // valid: Promise +async function fn8() { return 1; } // valid: Promise +async function fn9() { return null; } // valid: Promise +async function fn10() { return undefined; } // valid: Promise +async function fn11() { return a; } // valid: Promise +async function fn12() { return obj; } // valid: Promise<{ then: string; }> +async function fn13() { return thenable; } // error +async function fn14() { await 1; } // valid: Promise +async function fn15() { await null; } // valid: Promise +async function fn16() { await undefined; } // valid: Promise +async function fn17() { await a; } // valid: Promise +async function fn18() { await obj; } // valid: Promise +async function fn19() { await thenable; } // error + + +//// [asyncFunctionDeclaration15_es5.js] +function fn1() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // valid: Promise +function fn2() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // error +function fn3() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // error +function fn4() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // error +function fn5() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // error +function fn6() { + return __awaiter(this, void 0, Thenable, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // error +function fn7() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} // valid: Promise +function fn8() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, 1]; + }); }); +} // valid: Promise +function fn9() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, null]; + }); }); +} // valid: Promise +function fn10() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, undefined]; + }); }); +} // valid: Promise +function fn11() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, a]; + }); }); +} // valid: Promise +function fn12() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, obj]; + }); }); +} // valid: Promise<{ then: string; }> +function fn13() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/, thenable]; + }); }); +} // error +function fn14() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, 1]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // valid: Promise +function fn15() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, null]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // valid: Promise +function fn16() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, undefined]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // valid: Promise +function fn17() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, a]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // valid: Promise +function fn18() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, obj]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // valid: Promise +function fn19() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, thenable]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); }); +} // error diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es5.js b/tests/baselines/reference/asyncFunctionDeclaration1_es5.js new file mode 100644 index 00000000000..913a0b3c4e2 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es5.js @@ -0,0 +1,12 @@ +//// [asyncFunctionDeclaration1_es5.ts] +async function foo(): Promise { +} + +//// [asyncFunctionDeclaration1_es5.js] +function foo() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols new file mode 100644 index 00000000000..ba7616ac293 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es5.symbols @@ -0,0 +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.es2015.promise.d.ts, --, --)) +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration1_es5.types b/tests/baselines/reference/asyncFunctionDeclaration1_es5.types new file mode 100644 index 00000000000..b1336715bfb --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration1_es5.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration1_es5.ts === +async function foo(): Promise { +>foo : () => Promise +>Promise : Promise +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration2_es5.js b/tests/baselines/reference/asyncFunctionDeclaration2_es5.js new file mode 100644 index 00000000000..427fb2b1bf9 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration2_es5.js @@ -0,0 +1,7 @@ +//// [asyncFunctionDeclaration2_es5.ts] +function f(await) { +} + +//// [asyncFunctionDeclaration2_es5.js] +function f(await) { +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration2_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration2_es5.symbols new file mode 100644 index 00000000000..78f4da3c25e --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration2_es5.symbols @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration2_es5.ts === +function f(await) { +>f : Symbol(f, Decl(asyncFunctionDeclaration2_es5.ts, 0, 0)) +>await : Symbol(await, Decl(asyncFunctionDeclaration2_es5.ts, 0, 11)) +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration2_es5.types b/tests/baselines/reference/asyncFunctionDeclaration2_es5.types new file mode 100644 index 00000000000..7add17dd5d6 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration2_es5.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration2_es5.ts === +function f(await) { +>f : (await: any) => void +>await : any +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration3_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration3_es5.errors.txt new file mode 100644 index 00000000000..1192e396a64 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration3_es5.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration3_es5.ts(1,20): error TS2372: Parameter 'await' cannot be referenced in its initializer. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration3_es5.ts (1 errors) ==== + function f(await = await) { + ~~~~~ +!!! error TS2372: Parameter 'await' cannot be referenced in its initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration3_es5.js b/tests/baselines/reference/asyncFunctionDeclaration3_es5.js new file mode 100644 index 00000000000..0bcc99b6bc7 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration3_es5.js @@ -0,0 +1,8 @@ +//// [asyncFunctionDeclaration3_es5.ts] +function f(await = await) { +} + +//// [asyncFunctionDeclaration3_es5.js] +function f(await) { + if (await === void 0) { await = await; } +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration4_es5.js b/tests/baselines/reference/asyncFunctionDeclaration4_es5.js new file mode 100644 index 00000000000..8b6f58b84ab --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration4_es5.js @@ -0,0 +1,7 @@ +//// [asyncFunctionDeclaration4_es5.ts] +function await() { +} + +//// [asyncFunctionDeclaration4_es5.js] +function await() { +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration4_es5.symbols b/tests/baselines/reference/asyncFunctionDeclaration4_es5.symbols new file mode 100644 index 00000000000..0690c333095 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration4_es5.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration4_es5.ts === +function await() { +>await : Symbol(await, Decl(asyncFunctionDeclaration4_es5.ts, 0, 0)) +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration4_es5.types b/tests/baselines/reference/asyncFunctionDeclaration4_es5.types new file mode 100644 index 00000000000..8dac2282032 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration4_es5.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration4_es5.ts === +function await() { +>await : () => void +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration5_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration5_es5.errors.txt new file mode 100644 index 00000000000..3060c2c836b --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration5_es5.errors.txt @@ -0,0 +1,20 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts(1,20): error TS1138: Parameter declaration expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts(1,20): error TS2304: Cannot find name 'await'. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts(1,25): error TS1005: ';' expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts(1,26): error TS1128: Declaration or statement expected. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts(1,40): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts (5 errors) ==== + async function foo(await): Promise { + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~ +!!! error TS1005: ';' expected. + ~ +!!! error TS1128: Declaration or statement expected. + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration5_es5.js b/tests/baselines/reference/asyncFunctionDeclaration5_es5.js new file mode 100644 index 00000000000..22c18ff6ad4 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration5_es5.js @@ -0,0 +1,7 @@ +//// [asyncFunctionDeclaration5_es5.ts] +async function foo(await): Promise { +} + +//// [asyncFunctionDeclaration5_es5.js] +await; +Promise < void > {}; diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration6_es5.errors.txt new file mode 100644 index 00000000000..d8cf82fbc28 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts(1,24): error TS2524: 'await' expressions cannot be used in a parameter initializer. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts(1,29): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts (2 errors) ==== + async function foo(a = await): Promise { + ~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration6_es5.js b/tests/baselines/reference/asyncFunctionDeclaration6_es5.js new file mode 100644 index 00000000000..282036f97de --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration6_es5.js @@ -0,0 +1,13 @@ +//// [asyncFunctionDeclaration6_es5.ts] +async function foo(a = await): Promise { +} + +//// [asyncFunctionDeclaration6_es5.js] +function foo(a) { + if (a === void 0) { a = yield ; } + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration7_es5.errors.txt new file mode 100644 index 00000000000..48984724e4c --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts(3,26): error TS2524: 'await' expressions cannot be used in a parameter initializer. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts(3,31): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration7_es5.ts (2 errors) ==== + async function bar(): Promise { + // 'await' here is an identifier, and not a yield expression. + async function foo(a = await): Promise { + ~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + ~ +!!! error TS1109: Expression expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration7_es5.js b/tests/baselines/reference/asyncFunctionDeclaration7_es5.js new file mode 100644 index 00000000000..60dd0d6e3bf --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration7_es5.js @@ -0,0 +1,24 @@ +//// [asyncFunctionDeclaration7_es5.ts] +async function bar(): Promise { + // 'await' here is an identifier, and not a yield expression. + async function foo(a = await): Promise { + } +} + +//// [asyncFunctionDeclaration7_es5.js] +function bar() { + return __awaiter(this, void 0, void 0, function () { + // 'await' here is an identifier, and not a yield expression. + function foo(a) { + if (a === void 0) { a = yield ; } + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); + } + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclaration8_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration8_es5.errors.txt new file mode 100644 index 00000000000..7f2a4cc650b --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration8_es5.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration8_es5.ts(1,12): error TS2304: Cannot find name 'await'. +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration8_es5.ts(1,20): error TS2304: Cannot find name 'foo'. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration8_es5.ts (2 errors) ==== + var v = { [await]: foo } + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration8_es5.js b/tests/baselines/reference/asyncFunctionDeclaration8_es5.js new file mode 100644 index 00000000000..3e518481178 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration8_es5.js @@ -0,0 +1,6 @@ +//// [asyncFunctionDeclaration8_es5.ts] +var v = { [await]: foo } + +//// [asyncFunctionDeclaration8_es5.js] +var v = (_a = {}, _a[await] = foo, _a); +var _a; diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration9_es5.errors.txt new file mode 100644 index 00000000000..8eed8dade45 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts(2,19): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration9_es5.ts (1 errors) ==== + async function foo(): Promise { + var v = { [await]: foo } + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.js b/tests/baselines/reference/asyncFunctionDeclaration9_es5.js new file mode 100644 index 00000000000..e35ec29595b --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.js @@ -0,0 +1,21 @@ +//// [asyncFunctionDeclaration9_es5.ts] +async function foo(): Promise { + var v = { [await]: foo } +} + +//// [asyncFunctionDeclaration9_es5.js] +function foo() { + return __awaiter(this, void 0, void 0, function () { + var v, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, ]; + case 1: + v = (_a[_b.sent()] = foo, _a); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.errors.txt new file mode 100644 index 00000000000..7a35b1d5223 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclarationCapturesArguments_es5.ts(5,36): error TS2522: The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method. + + +==== tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclarationCapturesArguments_es5.ts (1 errors) ==== + class C { + method() { + function other() {} + async function fn () { + await other.apply(this, arguments); + ~~~~~~~~~ +!!! error TS2522: The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method. + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.js b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.js new file mode 100644 index 00000000000..8881ad555a7 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.js @@ -0,0 +1,32 @@ +//// [asyncFunctionDeclarationCapturesArguments_es5.ts] +class C { + method() { + function other() {} + async function fn () { + await other.apply(this, arguments); + } + } +} + + +//// [asyncFunctionDeclarationCapturesArguments_es5.js] +var C = (function () { + function C() { + } + C.prototype.method = function () { + function other() { } + function fn() { + return __awaiter(this, arguments, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, other.apply(this, arguments)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); + } + }; + return C; +}()); diff --git a/tests/baselines/reference/asyncFunctionNoReturnType.errors.txt b/tests/baselines/reference/asyncFunctionNoReturnType.errors.txt index a7dbb6ecb64..599bf41a7f2 100644 --- a/tests/baselines/reference/asyncFunctionNoReturnType.errors.txt +++ b/tests/baselines/reference/asyncFunctionNoReturnType.errors.txt @@ -1,5 +1,4 @@ error TS2318: Cannot find global type 'Promise'. -tests/cases/compiler/asyncFunctionNoReturnType.ts(1,1): error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. tests/cases/compiler/asyncFunctionNoReturnType.ts(1,1): error TS1057: An async function or method must have a valid awaitable return type. tests/cases/compiler/asyncFunctionNoReturnType.ts(1,1): error TS7030: Not all code paths return a value. tests/cases/compiler/asyncFunctionNoReturnType.ts(2,9): error TS2304: Cannot find name 'window'. @@ -7,10 +6,8 @@ tests/cases/compiler/asyncFunctionNoReturnType.ts(3,9): error TS7030: Not all co !!! error TS2318: Cannot find global type 'Promise'. -==== tests/cases/compiler/asyncFunctionNoReturnType.ts (5 errors) ==== +==== tests/cases/compiler/asyncFunctionNoReturnType.ts (4 errors) ==== async () => { - ~~~~~ -!!! error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. ~~~~~~~~~~~~~ !!! error TS1057: An async function or method must have a valid awaitable return type. ~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/asyncFunctionNoReturnType.js b/tests/baselines/reference/asyncFunctionNoReturnType.js index dd84e17c88b..a3635b85a09 100644 --- a/tests/baselines/reference/asyncFunctionNoReturnType.js +++ b/tests/baselines/reference/asyncFunctionNoReturnType.js @@ -14,7 +14,48 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments)).next()); }); }; -(function () __awaiter(this, void 0, void 0, function* () { - if (window) - return; -})); +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +var _this = this; +(function () { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + if (window) + return [2 /*return*/]; + return [2 /*return*/]; + }); +}); }); diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index c6289ab012d..db9f8e42d52 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -5,8 +5,8 @@ async function fAsync() { // Without explicit type annotation, this is just an array. return [1, true]; >[1, true] : (number | boolean)[] ->1 : number ->true : boolean +>1 : 1 +>true : true } async function fAsyncExplicit(): Promise<[number, boolean]> { @@ -15,8 +15,8 @@ async function fAsyncExplicit(): Promise<[number, boolean]> { // This is contextually typed as a tuple. return [1, true]; ->[1, true] : [number, boolean] ->1 : number ->true : boolean +>[1, true] : [number, true] +>1 : 1 +>true : true } diff --git a/tests/baselines/reference/asyncGetter_es5.errors.txt b/tests/baselines/reference/asyncGetter_es5.errors.txt new file mode 100644 index 00000000000..fd3fba40a60 --- /dev/null +++ b/tests/baselines/reference/asyncGetter_es5.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/async/es5/asyncGetter_es5.ts(2,3): error TS1042: 'async' modifier cannot be used here. +tests/cases/conformance/async/es5/asyncGetter_es5.ts(2,13): error TS2378: A 'get' accessor must return a value. + + +==== tests/cases/conformance/async/es5/asyncGetter_es5.ts (2 errors) ==== + class C { + async get foo() { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + ~~~ +!!! error TS2378: A 'get' accessor must return a value. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGetter_es5.js b/tests/baselines/reference/asyncGetter_es5.js new file mode 100644 index 00000000000..a9c7f6355d3 --- /dev/null +++ b/tests/baselines/reference/asyncGetter_es5.js @@ -0,0 +1,18 @@ +//// [asyncGetter_es5.ts] +class C { + async get foo() { + } +} + +//// [asyncGetter_es5.js] +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "foo", { + get: function () { + }, + enumerable: true, + configurable: true + }); + return C; +}()); diff --git a/tests/baselines/reference/asyncImportedPromise_es5.js b/tests/baselines/reference/asyncImportedPromise_es5.js new file mode 100644 index 00000000000..54d1b0fdac8 --- /dev/null +++ b/tests/baselines/reference/asyncImportedPromise_es5.js @@ -0,0 +1,84 @@ +//// [tests/cases/conformance/async/es5/asyncImportedPromise_es5.ts] //// + +//// [task.ts] +export class Task extends Promise { } + +//// [test.ts] +import { Task } from "./task"; +class Test { + async example(): Task { return; } +} + +//// [task.js] +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Task = (function (_super) { + __extends(Task, _super); + function Task() { + _super.apply(this, arguments); + } + return Task; +}(Promise)); +exports.Task = Task; +//// [test.js] +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +var task_1 = require("./task"); +var Test = (function () { + function Test() { + } + Test.prototype.example = function () { + return __awaiter(this, void 0, task_1.Task, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); + }; + return Test; +}()); diff --git a/tests/baselines/reference/asyncImportedPromise_es5.symbols b/tests/baselines/reference/asyncImportedPromise_es5.symbols new file mode 100644 index 00000000000..b889299bd7e --- /dev/null +++ b/tests/baselines/reference/asyncImportedPromise_es5.symbols @@ -0,0 +1,20 @@ +=== tests/cases/conformance/async/es5/task.ts === +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.es2015.promise.d.ts, --, --)) +>T : Symbol(T, Decl(task.ts, 0, 18)) + +=== tests/cases/conformance/async/es5/test.ts === +import { Task } from "./task"; +>Task : Symbol(Task, Decl(test.ts, 0, 8)) + +class Test { +>Test : Symbol(Test, Decl(test.ts, 0, 30)) + + async example(): Task { return; } +>example : Symbol(Test.example, Decl(test.ts, 1, 12)) +>T : Symbol(T, Decl(test.ts, 2, 18)) +>Task : Symbol(Task, Decl(test.ts, 0, 8)) +>T : Symbol(T, Decl(test.ts, 2, 18)) +} diff --git a/tests/baselines/reference/asyncImportedPromise_es5.types b/tests/baselines/reference/asyncImportedPromise_es5.types new file mode 100644 index 00000000000..54a6e52fa17 --- /dev/null +++ b/tests/baselines/reference/asyncImportedPromise_es5.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/async/es5/task.ts === +export class Task extends Promise { } +>Task : Task +>T : T +>Promise : Promise +>T : T + +=== tests/cases/conformance/async/es5/test.ts === +import { Task } from "./task"; +>Task : typeof Task + +class Test { +>Test : Test + + async example(): Task { return; } +>example : () => Task +>T : T +>Task : Task +>T : T +} diff --git a/tests/baselines/reference/asyncInterface_es5.errors.txt b/tests/baselines/reference/asyncInterface_es5.errors.txt new file mode 100644 index 00000000000..30d2c554da7 --- /dev/null +++ b/tests/baselines/reference/asyncInterface_es5.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/async/es5/asyncInterface_es5.ts(1,1): error TS1042: 'async' modifier cannot be used here. + + +==== tests/cases/conformance/async/es5/asyncInterface_es5.ts (1 errors) ==== + async interface I { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncInterface_es5.js b/tests/baselines/reference/asyncInterface_es5.js new file mode 100644 index 00000000000..280dade3869 --- /dev/null +++ b/tests/baselines/reference/asyncInterface_es5.js @@ -0,0 +1,5 @@ +//// [asyncInterface_es5.ts] +async interface I { +} + +//// [asyncInterface_es5.js] diff --git a/tests/baselines/reference/asyncMethodWithSuper_es5.js b/tests/baselines/reference/asyncMethodWithSuper_es5.js new file mode 100644 index 00000000000..87debbdc55c --- /dev/null +++ b/tests/baselines/reference/asyncMethodWithSuper_es5.js @@ -0,0 +1,106 @@ +//// [asyncMethodWithSuper_es5.ts] +class A { + x() { + } +} + +class B extends A { + // async method with only call/get on 'super' does not require a binding + async simple() { + // call with property access + super.x(); + + // call with element access + super["x"](); + + // property access (read) + const a = super.x; + + // element access (read) + const b = super["x"]; + } + + // async method with assignment/destructuring on 'super' requires a binding + async advanced() { + const f = () => {}; + + // call with property access + super.x(); + + // call with element access + super["x"](); + + // property access (read) + const a = super.x; + + // element access (read) + const b = super["x"]; + + // property access (assign) + super.x = f; + + // element access (assign) + super["x"] = f; + + // destructuring assign with property access + ({ f: super.x } = { f }); + + // destructuring assign with element access + ({ f: super["x"] } = { f }); + } +} + +//// [asyncMethodWithSuper_es5.js] +var A = (function () { + function A() { + } + A.prototype.x = function () { + }; + return A; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + // async method with only call/get on 'super' does not require a binding + B.prototype.simple = function () { + return __awaiter(this, void 0, void 0, function () { + var a, b; + return __generator(this, function (_a) { + // call with property access + _super.x.call(this); + // call with element access + _super["x"].call(this); + a = _super.x; + b = _super["x"]; + return [2 /*return*/]; + }); + }); + }; + // async method with assignment/destructuring on 'super' requires a binding + B.prototype.advanced = function () { + return __awaiter(this, void 0, void 0, function () { + var f, a, b, _a, _b; + return __generator(this, function (_c) { + f = function () { }; + // call with property access + _super.x.call(this); + // call with element access + _super["x"].call(this); + a = _super.x; + b = _super["x"]; + // property access (assign) + _super.x = f; + // element access (assign) + _super["x"] = f; + // destructuring assign with property access + (_a = { f: f }, super.x = _a.f, _a); + // destructuring assign with element access + (_b = { f: f }, super["x"] = _b.f, _b); + return [2 /*return*/]; + }); + }); + }; + return B; +}(A)); diff --git a/tests/baselines/reference/asyncMethodWithSuper_es5.symbols b/tests/baselines/reference/asyncMethodWithSuper_es5.symbols new file mode 100644 index 00000000000..e05f00a8e97 --- /dev/null +++ b/tests/baselines/reference/asyncMethodWithSuper_es5.symbols @@ -0,0 +1,102 @@ +=== tests/cases/conformance/async/es5/asyncMethodWithSuper_es5.ts === +class A { +>A : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) + + x() { +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + } +} + +class B extends A { +>B : Symbol(B, Decl(asyncMethodWithSuper_es5.ts, 3, 1)) +>A : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) + + // async method with only call/get on 'super' does not require a binding + async simple() { +>simple : Symbol(B.simple, Decl(asyncMethodWithSuper_es5.ts, 5, 19)) + + // call with property access + super.x(); +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // call with element access + super["x"](); +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // property access (read) + const a = super.x; +>a : Symbol(a, Decl(asyncMethodWithSuper_es5.ts, 15, 13)) +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // element access (read) + const b = super["x"]; +>b : Symbol(b, Decl(asyncMethodWithSuper_es5.ts, 18, 13)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + } + + // async method with assignment/destructuring on 'super' requires a binding + async advanced() { +>advanced : Symbol(B.advanced, Decl(asyncMethodWithSuper_es5.ts, 19, 5)) + + const f = () => {}; +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 23, 13)) + + // call with property access + super.x(); +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // call with element access + super["x"](); +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // property access (read) + const a = super.x; +>a : Symbol(a, Decl(asyncMethodWithSuper_es5.ts, 32, 13)) +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // element access (read) + const b = super["x"]; +>b : Symbol(b, Decl(asyncMethodWithSuper_es5.ts, 35, 13)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) + + // property access (assign) + super.x = f; +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 23, 13)) + + // element access (assign) + super["x"] = f; +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 23, 13)) + + // destructuring assign with property access + ({ f: super.x } = { f }); +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 44, 10)) +>super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>x : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 44, 27)) + + // destructuring assign with element access + ({ f: super["x"] } = { f }); +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 47, 10)) +>super : Symbol(A, Decl(asyncMethodWithSuper_es5.ts, 0, 0)) +>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es5.ts, 0, 9)) +>f : Symbol(f, Decl(asyncMethodWithSuper_es5.ts, 47, 30)) + } +} diff --git a/tests/baselines/reference/asyncMethodWithSuper_es5.types b/tests/baselines/reference/asyncMethodWithSuper_es5.types new file mode 100644 index 00000000000..4622d83a679 --- /dev/null +++ b/tests/baselines/reference/asyncMethodWithSuper_es5.types @@ -0,0 +1,123 @@ +=== tests/cases/conformance/async/es5/asyncMethodWithSuper_es5.ts === +class A { +>A : A + + x() { +>x : () => void + } +} + +class B extends A { +>B : B +>A : A + + // async method with only call/get on 'super' does not require a binding + async simple() { +>simple : () => Promise + + // call with property access + super.x(); +>super.x() : void +>super.x : () => void +>super : A +>x : () => void + + // call with element access + super["x"](); +>super["x"]() : void +>super["x"] : () => void +>super : A +>"x" : "x" + + // property access (read) + const a = super.x; +>a : () => void +>super.x : () => void +>super : A +>x : () => void + + // element access (read) + const b = super["x"]; +>b : () => void +>super["x"] : () => void +>super : A +>"x" : "x" + } + + // async method with assignment/destructuring on 'super' requires a binding + async advanced() { +>advanced : () => Promise + + const f = () => {}; +>f : () => void +>() => {} : () => void + + // call with property access + super.x(); +>super.x() : void +>super.x : () => void +>super : A +>x : () => void + + // call with element access + super["x"](); +>super["x"]() : void +>super["x"] : () => void +>super : A +>"x" : "x" + + // property access (read) + const a = super.x; +>a : () => void +>super.x : () => void +>super : A +>x : () => void + + // element access (read) + const b = super["x"]; +>b : () => void +>super["x"] : () => void +>super : A +>"x" : "x" + + // property access (assign) + super.x = f; +>super.x = f : () => void +>super.x : () => void +>super : A +>x : () => void +>f : () => void + + // element access (assign) + super["x"] = f; +>super["x"] = f : () => void +>super["x"] : () => void +>super : A +>"x" : "x" +>f : () => void + + // destructuring assign with property access + ({ f: super.x } = { f }); +>({ f: super.x } = { f }) : { f: () => void; } +>{ f: super.x } = { f } : { f: () => void; } +>{ f: super.x } : { f: () => void; } +>f : () => void +>super.x : () => void +>super : A +>x : () => void +>{ f } : { f: () => void; } +>f : () => void + + // destructuring assign with element access + ({ f: super["x"] } = { f }); +>({ f: super["x"] } = { f }) : { f: () => void; } +>{ f: super["x"] } = { f } : { f: () => void; } +>{ f: super["x"] } : { f: () => void; } +>f : () => void +>super["x"] : () => void +>super : A +>"x" : "x" +>{ f } : { f: () => void; } +>f : () => void + } +} diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.types b/tests/baselines/reference/asyncMethodWithSuper_es6.types index 04c5b5a9baf..030c9fe4e6a 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.types +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.types @@ -27,7 +27,7 @@ class B extends A { >super["x"]() : void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" // property access (read) const a = super.x; @@ -41,7 +41,7 @@ class B extends A { >b : () => void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" } // async method with assignment/destructuring on 'super' requires a binding @@ -64,7 +64,7 @@ class B extends A { >super["x"]() : void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" // property access (read) const a = super.x; @@ -78,7 +78,7 @@ class B extends A { >b : () => void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" // property access (assign) super.x = f; @@ -93,7 +93,7 @@ class B extends A { >super["x"] = f : () => void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" >f : () => void // destructuring assign with property access @@ -116,7 +116,7 @@ class B extends A { >f : () => void >super["x"] : () => void >super : A ->"x" : string +>"x" : "x" >{ f } : { f: () => void; } >f : () => void } diff --git a/tests/baselines/reference/asyncModule_es5.errors.txt b/tests/baselines/reference/asyncModule_es5.errors.txt new file mode 100644 index 00000000000..f3f1b588288 --- /dev/null +++ b/tests/baselines/reference/asyncModule_es5.errors.txt @@ -0,0 +1,8 @@ +tests/cases/conformance/async/es5/asyncModule_es5.ts(1,1): error TS1042: 'async' modifier cannot be used here. + + +==== tests/cases/conformance/async/es5/asyncModule_es5.ts (1 errors) ==== + async module M { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncModule_es5.js b/tests/baselines/reference/asyncModule_es5.js new file mode 100644 index 00000000000..a3635646330 --- /dev/null +++ b/tests/baselines/reference/asyncModule_es5.js @@ -0,0 +1,5 @@ +//// [asyncModule_es5.ts] +async module M { +} + +//// [asyncModule_es5.js] diff --git a/tests/baselines/reference/asyncMultiFile_es5.js b/tests/baselines/reference/asyncMultiFile_es5.js new file mode 100644 index 00000000000..197127c5f10 --- /dev/null +++ b/tests/baselines/reference/asyncMultiFile_es5.js @@ -0,0 +1,60 @@ +//// [tests/cases/conformance/async/es5/asyncMultiFile_es5.ts] //// + +//// [a.ts] +async function f() {} +//// [b.ts] +function g() { } + +//// [a.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +function f() { + return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + return [2 /*return*/]; + }); }); +} +//// [b.js] +function g() { } diff --git a/tests/baselines/reference/asyncMultiFile_es5.symbols b/tests/baselines/reference/asyncMultiFile_es5.symbols new file mode 100644 index 00000000000..e8e5bf2850e --- /dev/null +++ b/tests/baselines/reference/asyncMultiFile_es5.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/async/es5/a.ts === +async function f() {} +>f : Symbol(f, Decl(a.ts, 0, 0)) + +=== tests/cases/conformance/async/es5/b.ts === +function g() { } +>g : Symbol(g, Decl(b.ts, 0, 0)) + diff --git a/tests/baselines/reference/asyncMultiFile_es5.types b/tests/baselines/reference/asyncMultiFile_es5.types new file mode 100644 index 00000000000..52ca4f49e81 --- /dev/null +++ b/tests/baselines/reference/asyncMultiFile_es5.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/async/es5/a.ts === +async function f() {} +>f : () => Promise + +=== tests/cases/conformance/async/es5/b.ts === +function g() { } +>g : () => void + diff --git a/tests/baselines/reference/asyncMultiFile.js b/tests/baselines/reference/asyncMultiFile_es6.js similarity index 89% rename from tests/baselines/reference/asyncMultiFile.js rename to tests/baselines/reference/asyncMultiFile_es6.js index cbf3445ecc9..08d63521fb5 100644 --- a/tests/baselines/reference/asyncMultiFile.js +++ b/tests/baselines/reference/asyncMultiFile_es6.js @@ -1,4 +1,4 @@ -//// [tests/cases/conformance/async/es6/asyncMultiFile.ts] //// +//// [tests/cases/conformance/async/es6/asyncMultiFile_es6.ts] //// //// [a.ts] async function f() {} diff --git a/tests/baselines/reference/asyncMultiFile.symbols b/tests/baselines/reference/asyncMultiFile_es6.symbols similarity index 100% rename from tests/baselines/reference/asyncMultiFile.symbols rename to tests/baselines/reference/asyncMultiFile_es6.symbols diff --git a/tests/baselines/reference/asyncMultiFile.types b/tests/baselines/reference/asyncMultiFile_es6.types similarity index 100% rename from tests/baselines/reference/asyncMultiFile.types rename to tests/baselines/reference/asyncMultiFile_es6.types diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es5.js b/tests/baselines/reference/asyncQualifiedReturnType_es5.js new file mode 100644 index 00000000000..19de38325e2 --- /dev/null +++ b/tests/baselines/reference/asyncQualifiedReturnType_es5.js @@ -0,0 +1,28 @@ +//// [asyncQualifiedReturnType_es5.ts] +namespace X { + export class MyPromise extends Promise { + } +} + +async function f(): X.MyPromise { +} + +//// [asyncQualifiedReturnType_es5.js] +var X; +(function (X) { + var MyPromise = (function (_super) { + __extends(MyPromise, _super); + function MyPromise() { + _super.apply(this, arguments); + } + return MyPromise; + }(Promise)); + X.MyPromise = MyPromise; +})(X || (X = {})); +function f() { + return __awaiter(this, void 0, X.MyPromise, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols b/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols new file mode 100644 index 00000000000..1fcc5d4e609 --- /dev/null +++ b/tests/baselines/reference/asyncQualifiedReturnType_es5.symbols @@ -0,0 +1,17 @@ +=== tests/cases/conformance/async/es5/asyncQualifiedReturnType_es5.ts === +namespace X { +>X : Symbol(X, Decl(asyncQualifiedReturnType_es5.ts, 0, 0)) + + 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.es2015.promise.d.ts, --, --)) +>T : Symbol(T, Decl(asyncQualifiedReturnType_es5.ts, 1, 27)) + } +} + +async function f(): X.MyPromise { +>f : Symbol(f, Decl(asyncQualifiedReturnType_es5.ts, 3, 1)) +>X : Symbol(X, Decl(asyncQualifiedReturnType_es5.ts, 0, 0)) +>MyPromise : Symbol(X.MyPromise, Decl(asyncQualifiedReturnType_es5.ts, 0, 13)) +} diff --git a/tests/baselines/reference/asyncQualifiedReturnType_es5.types b/tests/baselines/reference/asyncQualifiedReturnType_es5.types new file mode 100644 index 00000000000..2fccf45f2a4 --- /dev/null +++ b/tests/baselines/reference/asyncQualifiedReturnType_es5.types @@ -0,0 +1,17 @@ +=== tests/cases/conformance/async/es5/asyncQualifiedReturnType_es5.ts === +namespace X { +>X : typeof X + + export class MyPromise extends Promise { +>MyPromise : MyPromise +>T : T +>Promise : Promise +>T : T + } +} + +async function f(): X.MyPromise { +>f : () => X.MyPromise +>X : any +>MyPromise : X.MyPromise +} diff --git a/tests/baselines/reference/asyncSetter_es5.errors.txt b/tests/baselines/reference/asyncSetter_es5.errors.txt new file mode 100644 index 00000000000..59557ec9313 --- /dev/null +++ b/tests/baselines/reference/asyncSetter_es5.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/async/es5/asyncSetter_es5.ts(2,3): error TS1042: 'async' modifier cannot be used here. + + +==== tests/cases/conformance/async/es5/asyncSetter_es5.ts (1 errors) ==== + class C { + async set foo(value) { + ~~~~~ +!!! error TS1042: 'async' modifier cannot be used here. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncSetter_es5.js b/tests/baselines/reference/asyncSetter_es5.js new file mode 100644 index 00000000000..a260ae67bd1 --- /dev/null +++ b/tests/baselines/reference/asyncSetter_es5.js @@ -0,0 +1,18 @@ +//// [asyncSetter_es5.ts] +class C { + async set foo(value) { + } +} + +//// [asyncSetter_es5.js] +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "foo", { + set: function (value) { + }, + enumerable: true, + configurable: true + }); + return C; +}()); diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.js b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.js new file mode 100644 index 00000000000..20b0421d013 --- /dev/null +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.js @@ -0,0 +1,20 @@ +//// [asyncUnParenthesizedArrowFunction_es5.ts] + +declare function someOtherFunction(i: any): Promise; +const x = async i => await someOtherFunction(i) +const x1 = async (i) => await someOtherFunction(i); + +//// [asyncUnParenthesizedArrowFunction_es5.js] +var _this = this; +var x = function (i) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, someOtherFunction(i)]; + case 1: return [2 /*return*/, _a.sent()]; + } +}); }); }; +var x1 = function (i) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, someOtherFunction(i)]; + case 1: return [2 /*return*/, _a.sent()]; + } +}); }); }; diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols new file mode 100644 index 00000000000..0f43ba7773e --- /dev/null +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.symbols @@ -0,0 +1,19 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncUnParenthesizedArrowFunction_es5.ts === + +declare function someOtherFunction(i: any): Promise; +>someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 0, 0)) +>i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 1, 35)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +const x = async i => await someOtherFunction(i) +>x : Symbol(x, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 2, 5)) +>i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 2, 15)) +>someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 0, 0)) +>i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 2, 15)) + +const x1 = async (i) => await someOtherFunction(i); +>x1 : Symbol(x1, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 3, 5)) +>i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 3, 18)) +>someOtherFunction : Symbol(someOtherFunction, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 0, 0)) +>i : Symbol(i, Decl(asyncUnParenthesizedArrowFunction_es5.ts, 3, 18)) + diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types new file mode 100644 index 00000000000..745c56cf09b --- /dev/null +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/async/es5/asyncArrowFunction/asyncUnParenthesizedArrowFunction_es5.ts === + +declare function someOtherFunction(i: any): Promise; +>someOtherFunction : (i: any) => Promise +>i : any +>Promise : Promise + +const x = async i => await someOtherFunction(i) +>x : (i: any) => Promise +>async i => await someOtherFunction(i) : (i: any) => Promise +>i : any +>await someOtherFunction(i) : void +>someOtherFunction(i) : Promise +>someOtherFunction : (i: any) => Promise +>i : any + +const x1 = async (i) => await someOtherFunction(i); +>x1 : (i: any) => Promise +>async (i) => await someOtherFunction(i) : (i: any) => Promise +>i : any +>await someOtherFunction(i) : void +>someOtherFunction(i) : Promise +>someOtherFunction : (i: any) => Promise +>i : any + diff --git a/tests/baselines/reference/asyncUseStrict_es5.js b/tests/baselines/reference/asyncUseStrict_es5.js new file mode 100644 index 00000000000..0a1b61b96d8 --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es5.js @@ -0,0 +1,23 @@ +//// [asyncUseStrict_es5.ts] +declare var a: boolean; +declare var p: Promise; +async function func(): Promise { + "use strict"; + var b = await p || a; +} + +//// [asyncUseStrict_es5.js] +function func() { + "use strict"; + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, p]; + case 1: + b = (_a.sent()) || a; + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/asyncUseStrict_es5.symbols b/tests/baselines/reference/asyncUseStrict_es5.symbols new file mode 100644 index 00000000000..a70f3ca546a --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es5.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/async/es5/asyncUseStrict_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(asyncUseStrict_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(asyncUseStrict_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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.es2015.promise.d.ts, --, --)) + + "use strict"; + var b = await p || a; +>b : Symbol(b, Decl(asyncUseStrict_es5.ts, 4, 7)) +>p : Symbol(p, Decl(asyncUseStrict_es5.ts, 1, 11)) +>a : Symbol(a, Decl(asyncUseStrict_es5.ts, 0, 11)) +} diff --git a/tests/baselines/reference/asyncUseStrict_es5.types b/tests/baselines/reference/asyncUseStrict_es5.types new file mode 100644 index 00000000000..a8744a60559 --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/async/es5/asyncUseStrict_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + "use strict"; +>"use strict" : "use strict" + + var b = await p || a; +>b : boolean +>await p || a : boolean +>await p : boolean +>p : Promise +>a : boolean +} diff --git a/tests/baselines/reference/asyncUseStrict_es6.js b/tests/baselines/reference/asyncUseStrict_es6.js new file mode 100644 index 00000000000..5475a71102a --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es6.js @@ -0,0 +1,15 @@ +//// [asyncUseStrict_es6.ts] +declare var a: boolean; +declare var p: Promise; +async function func(): Promise { + "use strict"; + var b = await p || a; +} + +//// [asyncUseStrict_es6.js] +function func() { + "use strict"; + return __awaiter(this, void 0, void 0, function* () { + var b = (yield p) || a; + }); +} diff --git a/tests/baselines/reference/asyncUseStrict_es6.symbols b/tests/baselines/reference/asyncUseStrict_es6.symbols new file mode 100644 index 00000000000..f94c16664e7 --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es6.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/async/es6/asyncUseStrict_es6.ts === +declare var a: boolean; +>a : Symbol(a, Decl(asyncUseStrict_es6.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(asyncUseStrict_es6.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + +async function func(): Promise { +>func : Symbol(func, Decl(asyncUseStrict_es6.ts, 1, 32)) +>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + + "use strict"; + var b = await p || a; +>b : Symbol(b, Decl(asyncUseStrict_es6.ts, 4, 7)) +>p : Symbol(p, Decl(asyncUseStrict_es6.ts, 1, 11)) +>a : Symbol(a, Decl(asyncUseStrict_es6.ts, 0, 11)) +} diff --git a/tests/baselines/reference/asyncUseStrict_es6.types b/tests/baselines/reference/asyncUseStrict_es6.types new file mode 100644 index 00000000000..e92da865316 --- /dev/null +++ b/tests/baselines/reference/asyncUseStrict_es6.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/async/es6/asyncUseStrict_es6.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + "use strict"; +>"use strict" : "use strict" + + var b = await p || a; +>b : boolean +>await p || a : boolean +>await p : boolean +>p : Promise +>a : boolean +} diff --git a/tests/baselines/reference/augmentExportEquals3.symbols b/tests/baselines/reference/augmentExportEquals3.symbols index c7338867021..485f977321f 100644 --- a/tests/baselines/reference/augmentExportEquals3.symbols +++ b/tests/baselines/reference/augmentExportEquals3.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === function foo() {} ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 17), Decl(file2.ts, 1, 8)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 17), Decl(file2.ts, 1, 8)) namespace foo { ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 17), Decl(file2.ts, 1, 8)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 17), Decl(file2.ts, 1, 8)) export var v = 1; >v : Symbol(v, Decl(file1.ts, 3, 14)) diff --git a/tests/baselines/reference/augmentExportEquals3.types b/tests/baselines/reference/augmentExportEquals3.types index 4df7bbc60fa..f900d59735e 100644 --- a/tests/baselines/reference/augmentExportEquals3.types +++ b/tests/baselines/reference/augmentExportEquals3.types @@ -1,14 +1,14 @@ === tests/cases/compiler/file1.ts === function foo() {} ->foo : typeof +>foo : typeof foo namespace foo { ->foo : typeof +>foo : typeof foo export var v = 1; >v : number ->1 : number +>1 : 1 } export = foo; >foo : typeof foo @@ -18,11 +18,11 @@ import x = require("./file1"); >x : typeof x x.b = 1; ->x.b = 1 : number +>x.b = 1 : 1 >x.b : number >x : typeof x >b : number ->1 : number +>1 : 1 // OK - './file1' is a namespace declare module "./file1" { diff --git a/tests/baselines/reference/augmentExportEquals3_1.symbols b/tests/baselines/reference/augmentExportEquals3_1.symbols index 09827aaa094..ad3505c2835 100644 --- a/tests/baselines/reference/augmentExportEquals3_1.symbols +++ b/tests/baselines/reference/augmentExportEquals3_1.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.d.ts === declare module "file1" { function foo(): void; ->foo : Symbol(, Decl(file1.d.ts, 0, 24), Decl(file1.d.ts, 1, 25), Decl(file2.ts, 2, 8)) +>foo : Symbol(foo, Decl(file1.d.ts, 0, 24), Decl(file1.d.ts, 1, 25), Decl(file2.ts, 2, 8)) namespace foo { ->foo : Symbol(, Decl(file1.d.ts, 0, 24), Decl(file1.d.ts, 1, 25), Decl(file2.ts, 2, 8)) +>foo : Symbol(foo, Decl(file1.d.ts, 0, 24), Decl(file1.d.ts, 1, 25), Decl(file2.ts, 2, 8)) export var v: number; >v : Symbol(v, Decl(file1.d.ts, 3, 18)) diff --git a/tests/baselines/reference/augmentExportEquals3_1.types b/tests/baselines/reference/augmentExportEquals3_1.types index 8a70a6ec0a6..2457e91530a 100644 --- a/tests/baselines/reference/augmentExportEquals3_1.types +++ b/tests/baselines/reference/augmentExportEquals3_1.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.d.ts === declare module "file1" { function foo(): void; ->foo : typeof +>foo : typeof foo namespace foo { ->foo : typeof +>foo : typeof foo export var v: number; >v : number @@ -20,11 +20,11 @@ import x = require("file1"); >x : typeof x x.b = 1; ->x.b = 1 : number +>x.b = 1 : 1 >x.b : number >x : typeof x >b : number ->1 : number +>1 : 1 // OK - './file1' is a namespace declare module "file1" { diff --git a/tests/baselines/reference/augmentExportEquals4.symbols b/tests/baselines/reference/augmentExportEquals4.symbols index 94941693bae..7394e8c6b28 100644 --- a/tests/baselines/reference/augmentExportEquals4.symbols +++ b/tests/baselines/reference/augmentExportEquals4.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === class foo {} ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 8)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 8)) namespace foo { ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 8)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 8)) export var v = 1; >v : Symbol(v, Decl(file1.ts, 3, 14)) diff --git a/tests/baselines/reference/augmentExportEquals4.types b/tests/baselines/reference/augmentExportEquals4.types index 3d25ae2decb..c7ffe8bd774 100644 --- a/tests/baselines/reference/augmentExportEquals4.types +++ b/tests/baselines/reference/augmentExportEquals4.types @@ -1,14 +1,14 @@ === tests/cases/compiler/file1.ts === class foo {} ->foo : +>foo : foo namespace foo { ->foo : typeof +>foo : typeof foo export var v = 1; >v : number ->1 : number +>1 : 1 } export = foo; >foo : foo @@ -18,11 +18,11 @@ import x = require("./file1"); >x : typeof x x.b = 1; ->x.b = 1 : number +>x.b = 1 : 1 >x.b : number >x : typeof x >b : number ->1 : number +>1 : 1 // OK - './file1' is a namespace declare module "./file1" { diff --git a/tests/baselines/reference/augmentExportEquals4_1.symbols b/tests/baselines/reference/augmentExportEquals4_1.symbols index 5c4aadbdf83..9954f71bfbc 100644 --- a/tests/baselines/reference/augmentExportEquals4_1.symbols +++ b/tests/baselines/reference/augmentExportEquals4_1.symbols @@ -2,10 +2,10 @@ declare module "file1" { class foo {} ->foo : Symbol(, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 2, 8)) +>foo : Symbol(foo, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 2, 8)) namespace foo { ->foo : Symbol(, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 2, 8)) +>foo : Symbol(foo, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 2, 8)) export var v: number; >v : Symbol(v, Decl(file1.d.ts, 4, 18)) diff --git a/tests/baselines/reference/augmentExportEquals4_1.types b/tests/baselines/reference/augmentExportEquals4_1.types index 9f219286000..60a7c2d77bb 100644 --- a/tests/baselines/reference/augmentExportEquals4_1.types +++ b/tests/baselines/reference/augmentExportEquals4_1.types @@ -2,10 +2,10 @@ declare module "file1" { class foo {} ->foo : +>foo : foo namespace foo { ->foo : typeof +>foo : typeof foo export var v: number; >v : number @@ -21,11 +21,11 @@ import x = require("file1"); >x : typeof x x.b = 1; ->x.b = 1 : number +>x.b = 1 : 1 >x.b : number >x : typeof x >b : number ->1 : number +>1 : 1 // OK - './file1' is a namespace declare module "file1" { diff --git a/tests/baselines/reference/augmentExportEquals5.symbols b/tests/baselines/reference/augmentExportEquals5.symbols index 37fa00bd8cc..09da5f32d72 100644 --- a/tests/baselines/reference/augmentExportEquals5.symbols +++ b/tests/baselines/reference/augmentExportEquals5.symbols @@ -16,12 +16,12 @@ declare module Express { declare module "express" { function e(): e.Express; ->e : Symbol(, Decl(express.d.ts, 8, 26), Decl(express.d.ts, 9, 28), Decl(augmentation.ts, 1, 29)) +>e : Symbol(e, Decl(express.d.ts, 8, 26), Decl(express.d.ts, 9, 28), Decl(augmentation.ts, 1, 29)) >e : Symbol(e, Decl(express.d.ts, 8, 26), Decl(express.d.ts, 9, 28)) >Express : Symbol(Express, Decl(express.d.ts, 54, 9)) namespace e { ->e : Symbol(, Decl(express.d.ts, 8, 26), Decl(express.d.ts, 9, 28), Decl(augmentation.ts, 1, 29)) +>e : Symbol(e, Decl(express.d.ts, 8, 26), Decl(express.d.ts, 9, 28), Decl(augmentation.ts, 1, 29)) interface IRoute { >IRoute : Symbol(IRoute, Decl(express.d.ts, 10, 17)) diff --git a/tests/baselines/reference/augmentExportEquals5.types b/tests/baselines/reference/augmentExportEquals5.types index 42b79674dfd..7d4d765e5ee 100644 --- a/tests/baselines/reference/augmentExportEquals5.types +++ b/tests/baselines/reference/augmentExportEquals5.types @@ -16,12 +16,12 @@ declare module Express { declare module "express" { function e(): e.Express; ->e : typeof +>e : typeof e >e : any >Express : Express namespace e { ->e : typeof +>e : typeof e interface IRoute { >IRoute : IRoute diff --git a/tests/baselines/reference/augmentExportEquals6.symbols b/tests/baselines/reference/augmentExportEquals6.symbols index 4af820f24d7..9ccf8685af7 100644 --- a/tests/baselines/reference/augmentExportEquals6.symbols +++ b/tests/baselines/reference/augmentExportEquals6.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === class foo {} ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 10)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 10)) namespace foo { ->foo : Symbol(, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 10)) +>foo : Symbol(foo, Decl(file1.ts, 0, 0), Decl(file1.ts, 1, 12), Decl(file2.ts, 1, 10)) export class A {} >A : Symbol(A, Decl(file1.ts, 2, 15), Decl(file2.ts, 4, 26)) diff --git a/tests/baselines/reference/augmentExportEquals6.types b/tests/baselines/reference/augmentExportEquals6.types index 1a2b2b22ccb..e2342e96dfb 100644 --- a/tests/baselines/reference/augmentExportEquals6.types +++ b/tests/baselines/reference/augmentExportEquals6.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === class foo {} ->foo : +>foo : foo namespace foo { ->foo : typeof +>foo : typeof foo export class A {} >A : A @@ -21,13 +21,13 @@ import x = require("./file1"); >x : typeof x x.B.b = 1; ->x.B.b = 1 : number +>x.B.b = 1 : 1 >x.B.b : number >x.B : typeof x.B >x : typeof x >B : typeof x.B >b : number ->1 : number +>1 : 1 // OK - './file1' is a namespace declare module "./file1" { diff --git a/tests/baselines/reference/augmentExportEquals6_1.symbols b/tests/baselines/reference/augmentExportEquals6_1.symbols index 3db6702448e..c66f01e2d14 100644 --- a/tests/baselines/reference/augmentExportEquals6_1.symbols +++ b/tests/baselines/reference/augmentExportEquals6_1.symbols @@ -2,10 +2,10 @@ declare module "file1" { class foo {} ->foo : Symbol(, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 1, 28)) +>foo : Symbol(foo, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 1, 28)) namespace foo { ->foo : Symbol(, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 1, 28)) +>foo : Symbol(foo, Decl(file1.d.ts, 1, 24), Decl(file1.d.ts, 2, 16), Decl(file2.ts, 1, 28)) class A {} >A : Symbol(A, Decl(file1.d.ts, 3, 19), Decl(file2.ts, 4, 24)) diff --git a/tests/baselines/reference/augmentExportEquals6_1.types b/tests/baselines/reference/augmentExportEquals6_1.types index a9cc78056c8..9d6042ee659 100644 --- a/tests/baselines/reference/augmentExportEquals6_1.types +++ b/tests/baselines/reference/augmentExportEquals6_1.types @@ -2,10 +2,10 @@ declare module "file1" { class foo {} ->foo : +>foo : foo namespace foo { ->foo : typeof +>foo : typeof foo class A {} >A : A diff --git a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types index 898da985aad..a0951c324f2 100644 --- a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types +++ b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.types @@ -27,12 +27,12 @@ var a = {}[0]; // Should be Foo >a : any >{}[0] : any >{} : {} ->0 : number +>0 : 0 var b = (() => { })[0]; // Should be Bar >b : any >(() => { })[0] : any >(() => { }) : () => void >() => { } : () => void ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types index c47c98ebc9c..d8388fc81a8 100644 --- a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types +++ b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.types @@ -23,23 +23,23 @@ var r1 = o['data']; // Should be number >r1 : number >o['data'] : number >o : {} ->'data' : string +>'data' : "data" var r2 = o['functionData']; // Should be any (no property found) >r2 : any >o['functionData'] : any >o : {} ->'functionData' : string +>'functionData' : "functionData" var r3 = f['functionData']; // Should be string >r3 : string >f['functionData'] : string >f : () => void ->'functionData' : string +>'functionData' : "functionData" var r4 = f['data']; // Should be number >r4 : number >f['data'] : number >f : () => void ->'data' : string +>'data' : "data" diff --git a/tests/baselines/reference/augmentedTypesClass3.types b/tests/baselines/reference/augmentedTypesClass3.types index bed118b5978..64e403d2661 100644 --- a/tests/baselines/reference/augmentedTypesClass3.types +++ b/tests/baselines/reference/augmentedTypesClass3.types @@ -14,7 +14,7 @@ class c5a { public foo() { } } module c5a { var y = 2; } // should be ok >c5a : typeof c5a >y : number ->2 : number +>2 : 2 class c5b { public foo() { } } >c5b : c5b @@ -23,7 +23,7 @@ class c5b { public foo() { } } module c5b { export var y = 2; } // should be ok >c5b : typeof c5b >y : number ->2 : number +>2 : 2 //// class then import class c5c { public foo() { } } diff --git a/tests/baselines/reference/augmentedTypesExternalModule1.types b/tests/baselines/reference/augmentedTypesExternalModule1.types index e652ecb08e1..2d3f8394d82 100644 --- a/tests/baselines/reference/augmentedTypesExternalModule1.types +++ b/tests/baselines/reference/augmentedTypesExternalModule1.types @@ -1,7 +1,7 @@ === tests/cases/compiler/augmentedTypesExternalModule1.ts === export var a = 1; >a : number ->1 : number +>1 : 1 class c5 { public foo() { } } >c5 : c5 diff --git a/tests/baselines/reference/augmentedTypesModules3b.types b/tests/baselines/reference/augmentedTypesModules3b.types index 38134c7c1c2..0d1ebe2bb42 100644 --- a/tests/baselines/reference/augmentedTypesModules3b.types +++ b/tests/baselines/reference/augmentedTypesModules3b.types @@ -6,7 +6,7 @@ class m3b { foo() { } } module m3b { var y = 2; } >m3b : typeof m3b >y : number ->2 : number +>2 : 2 class m3c { foo() { } } >m3c : m3c @@ -15,7 +15,7 @@ class m3c { foo() { } } module m3c { export var y = 2; } >m3c : typeof m3c >y : number ->2 : number +>2 : 2 declare class m3d { foo(): void } >m3d : m3d @@ -24,12 +24,12 @@ declare class m3d { foo(): void } module m3d { export var y = 2; } >m3d : typeof m3d >y : number ->2 : number +>2 : 2 module m3e { export var y = 2; } >m3e : typeof m3e >y : number ->2 : number +>2 : 2 declare class m3e { foo(): void } >m3e : m3e diff --git a/tests/baselines/reference/augmentedTypesModules4.types b/tests/baselines/reference/augmentedTypesModules4.types index 15d7c28e1d6..7e47abc41e8 100644 --- a/tests/baselines/reference/augmentedTypesModules4.types +++ b/tests/baselines/reference/augmentedTypesModules4.types @@ -10,7 +10,7 @@ enum m4 { } module m4a { var y = 2; } >m4a : typeof m4a >y : number ->2 : number +>2 : 2 enum m4a { One } >m4a : m4a @@ -19,7 +19,7 @@ enum m4a { One } module m4b { export var y = 2; } >m4b : typeof m4b >y : number ->2 : number +>2 : 2 enum m4b { One } >m4b : m4b @@ -48,7 +48,7 @@ enum m4d { One } module m5 { export var y = 2; } >m5 : typeof m5 >y : number ->2 : number +>2 : 2 module m5 { export interface I { foo(): void } } // should already be reasonably well covered >m5 : typeof m5 diff --git a/tests/baselines/reference/autolift4.js b/tests/baselines/reference/autolift4.js index 8ee1f397d43..e6790021f63 100644 --- a/tests/baselines/reference/autolift4.js +++ b/tests/baselines/reference/autolift4.js @@ -37,9 +37,9 @@ var Point = (function () { Point.prototype.getDist = function () { return Math.sqrt(this.x * this.x + this.y * this.y); }; - Point.origin = new Point(0, 0); return Point; }()); +Point.origin = new Point(0, 0); var Point3D = (function (_super) { __extends(Point3D, _super); function Point3D(x, y, z, m) { diff --git a/tests/baselines/reference/autonumberingInEnums.types b/tests/baselines/reference/autonumberingInEnums.types index 35d5a1505a5..8e3606dd8b3 100644 --- a/tests/baselines/reference/autonumberingInEnums.types +++ b/tests/baselines/reference/autonumberingInEnums.types @@ -3,13 +3,13 @@ enum Foo { >Foo : Foo a = 1 ->a : Foo ->1 : number +>a : Foo.a +>1 : 1 } enum Foo { >Foo : Foo b // should work fine ->b : Foo +>b : Foo.b } diff --git a/tests/baselines/reference/avoid.types b/tests/baselines/reference/avoid.types index 25fe27a2ea0..a4ecdb6f2c6 100644 --- a/tests/baselines/reference/avoid.types +++ b/tests/baselines/reference/avoid.types @@ -4,7 +4,7 @@ function f() { var x=1; >x : number ->1 : number +>1 : 1 } var y=f(); // error void fn diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.js b/tests/baselines/reference/awaitBinaryExpression1_es5.js new file mode 100644 index 00000000000..41b090d2c46 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.js @@ -0,0 +1,28 @@ +//// [awaitBinaryExpression1_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = await p || a; + after(); +} + +//// [awaitBinaryExpression1_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, p]; + case 1: + b = (_a.sent()) || a; + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.symbols b/tests/baselines/reference/awaitBinaryExpression1_es5.symbols new file mode 100644 index 00000000000..84d3b17b126 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.symbols @@ -0,0 +1,29 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression1_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitBinaryExpression1_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitBinaryExpression1_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression1_es5.ts, 2, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitBinaryExpression1_es5.ts, 3, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32)) + + var b = await p || a; +>b : Symbol(b, Decl(awaitBinaryExpression1_es5.ts, 6, 7)) +>p : Symbol(p, Decl(awaitBinaryExpression1_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitBinaryExpression1_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression1_es5.ts, 2, 32)) +} diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.types b/tests/baselines/reference/awaitBinaryExpression1_es5.types new file mode 100644 index 00000000000..f704eb632b4 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression1_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = await p || a; +>b : boolean +>await p || a : boolean +>await p : boolean +>p : Promise +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.js b/tests/baselines/reference/awaitBinaryExpression1_es6.js index a19e94353d5..83979a5b19b 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.js @@ -1,17 +1,19 @@ //// [awaitBinaryExpression1_es6.ts] declare var a: boolean; declare var p: Promise; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = await p || a; - "after"; + after(); } //// [awaitBinaryExpression1_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = (yield p) || a; - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.symbols b/tests/baselines/reference/awaitBinaryExpression1_es6.symbols index aee3dbefe96..0f05f6521cb 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.symbols @@ -6,15 +6,24 @@ declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression1_es6.ts, 1, 11)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression1_es6.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression1_es6.ts, 2, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitBinaryExpression1_es6.ts, 1, 32)) +>func : Symbol(func, Decl(awaitBinaryExpression1_es6.ts, 3, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitBinaryExpression1_es6.ts, 1, 32)) + var b = await p || a; ->b : Symbol(b, Decl(awaitBinaryExpression1_es6.ts, 4, 7)) +>b : Symbol(b, Decl(awaitBinaryExpression1_es6.ts, 6, 7)) >p : Symbol(p, Decl(awaitBinaryExpression1_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitBinaryExpression1_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitBinaryExpression1_es6.ts, 2, 32)) } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.types b/tests/baselines/reference/awaitBinaryExpression1_es6.types index 4718f5f8fe9..6078e2b6dff 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.types @@ -6,12 +6,19 @@ declare var p: Promise; >p : Promise >Promise : Promise +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = await p || a; >b : boolean @@ -20,6 +27,7 @@ async function func(): Promise { >p : Promise >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.js b/tests/baselines/reference/awaitBinaryExpression2_es5.js new file mode 100644 index 00000000000..dd84d069c27 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.js @@ -0,0 +1,28 @@ +//// [awaitBinaryExpression2_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = await p && a; + after(); +} + +//// [awaitBinaryExpression2_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, p]; + case 1: + b = (_a.sent()) && a; + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.symbols b/tests/baselines/reference/awaitBinaryExpression2_es5.symbols new file mode 100644 index 00000000000..e44238d4172 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.symbols @@ -0,0 +1,29 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression2_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitBinaryExpression2_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitBinaryExpression2_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression2_es5.ts, 2, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitBinaryExpression2_es5.ts, 3, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32)) + + var b = await p && a; +>b : Symbol(b, Decl(awaitBinaryExpression2_es5.ts, 6, 7)) +>p : Symbol(p, Decl(awaitBinaryExpression2_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitBinaryExpression2_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression2_es5.ts, 2, 32)) +} diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.types b/tests/baselines/reference/awaitBinaryExpression2_es5.types new file mode 100644 index 00000000000..d3f1f861a45 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression2_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = await p && a; +>b : boolean +>await p && a : boolean +>await p : boolean +>p : Promise +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.js b/tests/baselines/reference/awaitBinaryExpression2_es6.js index 7fb1a70446b..a40a948576d 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.js @@ -1,17 +1,19 @@ //// [awaitBinaryExpression2_es6.ts] declare var a: boolean; declare var p: Promise; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = await p && a; - "after"; + after(); } //// [awaitBinaryExpression2_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = (yield p) && a; - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.symbols b/tests/baselines/reference/awaitBinaryExpression2_es6.symbols index a4ed0ec14bd..518e6eec528 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.symbols @@ -6,15 +6,24 @@ declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression2_es6.ts, 1, 11)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression2_es6.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression2_es6.ts, 2, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitBinaryExpression2_es6.ts, 1, 32)) +>func : Symbol(func, Decl(awaitBinaryExpression2_es6.ts, 3, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitBinaryExpression2_es6.ts, 1, 32)) + var b = await p && a; ->b : Symbol(b, Decl(awaitBinaryExpression2_es6.ts, 4, 7)) +>b : Symbol(b, Decl(awaitBinaryExpression2_es6.ts, 6, 7)) >p : Symbol(p, Decl(awaitBinaryExpression2_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitBinaryExpression2_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitBinaryExpression2_es6.ts, 2, 32)) } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.types b/tests/baselines/reference/awaitBinaryExpression2_es6.types index 6154377a6f1..5f092675e85 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.types @@ -6,12 +6,19 @@ declare var p: Promise; >p : Promise >Promise : Promise +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = await p && a; >b : boolean @@ -20,6 +27,7 @@ async function func(): Promise { >p : Promise >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.js b/tests/baselines/reference/awaitBinaryExpression3_es5.js new file mode 100644 index 00000000000..0c301dec2c8 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.js @@ -0,0 +1,28 @@ +//// [awaitBinaryExpression3_es5.ts] +declare var a: number; +declare var p: Promise; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = await p + a; + after(); +} + +//// [awaitBinaryExpression3_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, p]; + case 1: + b = (_a.sent()) + a; + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.symbols b/tests/baselines/reference/awaitBinaryExpression3_es5.symbols new file mode 100644 index 00000000000..d9480fdf524 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.symbols @@ -0,0 +1,29 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression3_es5.ts === +declare var a: number; +>a : Symbol(a, Decl(awaitBinaryExpression3_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitBinaryExpression3_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression3_es5.ts, 2, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitBinaryExpression3_es5.ts, 3, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31)) + + var b = await p + a; +>b : Symbol(b, Decl(awaitBinaryExpression3_es5.ts, 6, 7)) +>p : Symbol(p, Decl(awaitBinaryExpression3_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitBinaryExpression3_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression3_es5.ts, 2, 32)) +} diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.types b/tests/baselines/reference/awaitBinaryExpression3_es5.types new file mode 100644 index 00000000000..debc71a6475 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression3_es5.ts === +declare var a: number; +>a : number + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = await p + a; +>b : number +>await p + a : number +>await p : number +>p : Promise +>a : number + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.js b/tests/baselines/reference/awaitBinaryExpression3_es6.js index f845ce12421..56092a490b3 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.js @@ -1,17 +1,19 @@ //// [awaitBinaryExpression3_es6.ts] declare var a: number; declare var p: Promise; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = await p + a; - "after"; + after(); } //// [awaitBinaryExpression3_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = (yield p) + a; - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.symbols b/tests/baselines/reference/awaitBinaryExpression3_es6.symbols index 4b3beb9d9a5..0d653c1ff7b 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.symbols @@ -6,15 +6,24 @@ declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression3_es6.ts, 1, 11)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression3_es6.ts, 1, 31)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression3_es6.ts, 2, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitBinaryExpression3_es6.ts, 1, 31)) +>func : Symbol(func, Decl(awaitBinaryExpression3_es6.ts, 3, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitBinaryExpression3_es6.ts, 1, 31)) + var b = await p + a; ->b : Symbol(b, Decl(awaitBinaryExpression3_es6.ts, 4, 7)) +>b : Symbol(b, Decl(awaitBinaryExpression3_es6.ts, 6, 7)) >p : Symbol(p, Decl(awaitBinaryExpression3_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitBinaryExpression3_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitBinaryExpression3_es6.ts, 2, 32)) } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.types b/tests/baselines/reference/awaitBinaryExpression3_es6.types index 2d5b087d6e3..98bff3b9439 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.types @@ -6,12 +6,19 @@ declare var p: Promise; >p : Promise >Promise : Promise +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = await p + a; >b : number @@ -20,6 +27,7 @@ async function func(): Promise { >p : Promise >a : number - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.js b/tests/baselines/reference/awaitBinaryExpression4_es5.js new file mode 100644 index 00000000000..26c0e5de5f1 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.js @@ -0,0 +1,28 @@ +//// [awaitBinaryExpression4_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = (await p, a); + after(); +} + +//// [awaitBinaryExpression4_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, p]; + case 1: + b = (_a.sent(), a); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.symbols b/tests/baselines/reference/awaitBinaryExpression4_es5.symbols new file mode 100644 index 00000000000..ab2cbeadfc5 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.symbols @@ -0,0 +1,29 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression4_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitBinaryExpression4_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitBinaryExpression4_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression4_es5.ts, 2, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitBinaryExpression4_es5.ts, 3, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32)) + + var b = (await p, a); +>b : Symbol(b, Decl(awaitBinaryExpression4_es5.ts, 6, 7)) +>p : Symbol(p, Decl(awaitBinaryExpression4_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitBinaryExpression4_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression4_es5.ts, 2, 32)) +} diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.types b/tests/baselines/reference/awaitBinaryExpression4_es5.types new file mode 100644 index 00000000000..f535741fa45 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.types @@ -0,0 +1,34 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression4_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = (await p, a); +>b : boolean +>(await p, a) : boolean +>await p, a : boolean +>await p : boolean +>p : Promise +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.js b/tests/baselines/reference/awaitBinaryExpression4_es6.js index b6e14c82487..1e909282d43 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.js @@ -1,17 +1,19 @@ //// [awaitBinaryExpression4_es6.ts] declare var a: boolean; declare var p: Promise; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; - var b = await p, a; - "after"; + before(); + var b = (await p, a); + after(); } //// [awaitBinaryExpression4_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; - var b = yield p, a; - "after"; + before(); + var b = (yield p, a); + after(); }); } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.symbols b/tests/baselines/reference/awaitBinaryExpression4_es6.symbols index 1c52cbb48ef..18a59322558 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.symbols @@ -6,15 +6,24 @@ declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression4_es6.ts, 1, 11)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression4_es6.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression4_es6.ts, 2, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitBinaryExpression4_es6.ts, 1, 32)) +>func : Symbol(func, Decl(awaitBinaryExpression4_es6.ts, 3, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; - var b = await p, a; ->b : Symbol(b, Decl(awaitBinaryExpression4_es6.ts, 4, 7)) ->p : Symbol(p, Decl(awaitBinaryExpression4_es6.ts, 1, 11)) ->a : Symbol(a, Decl(awaitBinaryExpression4_es6.ts, 4, 20)) + before(); +>before : Symbol(before, Decl(awaitBinaryExpression4_es6.ts, 1, 32)) - "after"; + var b = (await p, a); +>b : Symbol(b, Decl(awaitBinaryExpression4_es6.ts, 6, 7)) +>p : Symbol(p, Decl(awaitBinaryExpression4_es6.ts, 1, 11)) +>a : Symbol(a, Decl(awaitBinaryExpression4_es6.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression4_es6.ts, 2, 32)) } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.types b/tests/baselines/reference/awaitBinaryExpression4_es6.types index 80135203a82..ea1d968346d 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.types @@ -6,19 +6,29 @@ declare var p: Promise; >p : Promise >Promise : Promise +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void - var b = await p, a; + var b = (await p, a); >b : boolean +>(await p, a) : boolean +>await p, a : boolean >await p : boolean >p : Promise ->a : any +>a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.js b/tests/baselines/reference/awaitBinaryExpression5_es5.js new file mode 100644 index 00000000000..4e07e40a174 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.js @@ -0,0 +1,30 @@ +//// [awaitBinaryExpression5_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var o: { a: boolean; }; + o.a = await p; + after(); +} + +//// [awaitBinaryExpression5_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var o, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + before(); + _a = o; + return [4 /*yield*/, p]; + case 1: + _a.a = _b.sent(); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.symbols b/tests/baselines/reference/awaitBinaryExpression5_es5.symbols new file mode 100644 index 00000000000..ad258355d38 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.symbols @@ -0,0 +1,34 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression5_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitBinaryExpression5_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression5_es5.ts, 2, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitBinaryExpression5_es5.ts, 3, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32)) + + var o: { a: boolean; }; +>o : Symbol(o, Decl(awaitBinaryExpression5_es5.ts, 6, 7)) +>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12)) + + o.a = await p; +>o.a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12)) +>o : Symbol(o, Decl(awaitBinaryExpression5_es5.ts, 6, 7)) +>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12)) +>p : Symbol(p, Decl(awaitBinaryExpression5_es5.ts, 1, 11)) + + after(); +>after : Symbol(after, Decl(awaitBinaryExpression5_es5.ts, 2, 32)) +} diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.types b/tests/baselines/reference/awaitBinaryExpression5_es5.types new file mode 100644 index 00000000000..6d1ebb42c84 --- /dev/null +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.types @@ -0,0 +1,38 @@ +=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression5_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var o: { a: boolean; }; +>o : { a: boolean; } +>a : boolean + + o.a = await p; +>o.a = await p : boolean +>o.a : boolean +>o : { a: boolean; } +>a : boolean +>await p : boolean +>p : Promise + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.js b/tests/baselines/reference/awaitBinaryExpression5_es6.js index 65a5bbfee77..1b5d7677b52 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.js +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.js @@ -1,19 +1,21 @@ //// [awaitBinaryExpression5_es6.ts] declare var a: boolean; declare var p: Promise; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var o: { a: boolean; }; o.a = await p; - "after"; + after(); } //// [awaitBinaryExpression5_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var o; o.a = yield p; - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.symbols b/tests/baselines/reference/awaitBinaryExpression5_es6.symbols index 28f96aa55f5..57a7958a13c 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.symbols +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.symbols @@ -6,20 +6,29 @@ declare var p: Promise; >p : Symbol(p, Decl(awaitBinaryExpression5_es6.ts, 1, 11)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +declare function before(): void; +>before : Symbol(before, Decl(awaitBinaryExpression5_es6.ts, 1, 32)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitBinaryExpression5_es6.ts, 2, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitBinaryExpression5_es6.ts, 1, 32)) +>func : Symbol(func, Decl(awaitBinaryExpression5_es6.ts, 3, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitBinaryExpression5_es6.ts, 1, 32)) + var o: { a: boolean; }; ->o : Symbol(o, Decl(awaitBinaryExpression5_es6.ts, 4, 7)) ->a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 4, 12)) +>o : Symbol(o, Decl(awaitBinaryExpression5_es6.ts, 6, 7)) +>a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 6, 12)) o.a = await p; ->o.a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 4, 12)) ->o : Symbol(o, Decl(awaitBinaryExpression5_es6.ts, 4, 7)) ->a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 4, 12)) +>o.a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 6, 12)) +>o : Symbol(o, Decl(awaitBinaryExpression5_es6.ts, 6, 7)) +>a : Symbol(a, Decl(awaitBinaryExpression5_es6.ts, 6, 12)) >p : Symbol(p, Decl(awaitBinaryExpression5_es6.ts, 1, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitBinaryExpression5_es6.ts, 2, 32)) } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.types b/tests/baselines/reference/awaitBinaryExpression5_es6.types index 8b76b6f8b88..649d160a847 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.types @@ -6,12 +6,19 @@ declare var p: Promise; >p : Promise >Promise : Promise +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var o: { a: boolean; }; >o : { a: boolean; } @@ -25,6 +32,7 @@ async function func(): Promise { >await p : boolean >p : Promise - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression1_es5.js b/tests/baselines/reference/awaitCallExpression1_es5.js new file mode 100644 index 00000000000..dfc0e2cbd84 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression1_es5.js @@ -0,0 +1,27 @@ +//// [awaitCallExpression1_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = fn(a, a, a); + after(); +} + +//// [awaitCallExpression1_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + before(); + b = fn(a, a, a); + after(); + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression1_es5.symbols b/tests/baselines/reference/awaitCallExpression1_es5.symbols new file mode 100644 index 00000000000..b172db760e3 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression1_es5.symbols @@ -0,0 +1,59 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression1_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression1_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression1_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84)) + + var b = fn(a, a, a); +>b : Symbol(b, Decl(awaitCallExpression1_es5.ts, 10, 7)) +>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32)) +>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression1_es5.types b/tests/baselines/reference/awaitCallExpression1_es5.types new file mode 100644 index 00000000000..8e712443cab --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression1_es5.types @@ -0,0 +1,62 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = fn(a, a, a); +>b : void +>fn(a, a, a) : void +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>a : boolean +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression1_es6.js b/tests/baselines/reference/awaitCallExpression1_es6.js index aeeb598e3bf..19ac51a6dad 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.js +++ b/tests/baselines/reference/awaitCallExpression1_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = fn(a, a, a); - "after"; + after(); } //// [awaitCallExpression1_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = fn(a, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression1_es6.symbols b/tests/baselines/reference/awaitCallExpression1_es6.symbols index c4a91817a46..1b1deb0f579 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression1_es6.symbols @@ -34,17 +34,26 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression1_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression1_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression1_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression1_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression1_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression1_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression1_es6.ts, 5, 84)) + var b = fn(a, a, a); ->b : Symbol(b, Decl(awaitCallExpression1_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression1_es6.ts, 10, 7)) >fn : Symbol(fn, Decl(awaitCallExpression1_es6.ts, 1, 32)) >a : Symbol(a, Decl(awaitCallExpression1_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression1_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression1_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression1_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression1_es6.types b/tests/baselines/reference/awaitCallExpression1_es6.types index 334175b7edb..3807379a2f2 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.types +++ b/tests/baselines/reference/awaitCallExpression1_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = fn(a, a, a); >b : void @@ -49,6 +56,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression2_es5.js b/tests/baselines/reference/awaitCallExpression2_es5.js new file mode 100644 index 00000000000..6b0d6e4b648 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression2_es5.js @@ -0,0 +1,33 @@ +//// [awaitCallExpression2_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = fn(await p, a, a); + after(); +} + +//// [awaitCallExpression2_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + before(); + _a = fn; + return [4 /*yield*/, p]; + case 1: + b = _a.apply(void 0, [_c.sent(), a, a]); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression2_es5.symbols b/tests/baselines/reference/awaitCallExpression2_es5.symbols new file mode 100644 index 00000000000..95e1f650030 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression2_es5.symbols @@ -0,0 +1,59 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression2_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression2_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84)) + + var b = fn(await p, a, a); +>b : Symbol(b, Decl(awaitCallExpression2_es5.ts, 10, 7)) +>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32)) +>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression2_es5.types b/tests/baselines/reference/awaitCallExpression2_es5.types new file mode 100644 index 00000000000..5fd85ce3921 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression2_es5.types @@ -0,0 +1,63 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = fn(await p, a, a); +>b : void +>fn(await p, a, a) : void +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>await p : boolean +>p : Promise +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression2_es6.js b/tests/baselines/reference/awaitCallExpression2_es6.js index b41735275a8..d8a45fa1bf8 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.js +++ b/tests/baselines/reference/awaitCallExpression2_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = fn(await p, a, a); - "after"; + after(); } //// [awaitCallExpression2_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = fn(yield p, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression2_es6.symbols b/tests/baselines/reference/awaitCallExpression2_es6.symbols index 3931e28045d..d7f3cc0d4bd 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression2_es6.symbols @@ -34,17 +34,26 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression2_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression2_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression2_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression2_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression2_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression2_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression2_es6.ts, 5, 84)) + var b = fn(await p, a, a); ->b : Symbol(b, Decl(awaitCallExpression2_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression2_es6.ts, 10, 7)) >fn : Symbol(fn, Decl(awaitCallExpression2_es6.ts, 1, 32)) >p : Symbol(p, Decl(awaitCallExpression2_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitCallExpression2_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression2_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression2_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression2_es6.types b/tests/baselines/reference/awaitCallExpression2_es6.types index 1617f4a14ff..8758fea7f95 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.types +++ b/tests/baselines/reference/awaitCallExpression2_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = fn(await p, a, a); >b : void @@ -50,6 +57,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression3_es5.js b/tests/baselines/reference/awaitCallExpression3_es5.js new file mode 100644 index 00000000000..685616b23dd --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression3_es5.js @@ -0,0 +1,34 @@ +//// [awaitCallExpression3_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = fn(a, await p, a); + after(); +} + +//// [awaitCallExpression3_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + before(); + _a = fn; + _b = [a]; + return [4 /*yield*/, p]; + case 1: + b = _a.apply(void 0, _b.concat([_c.sent(), a])); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression3_es5.symbols b/tests/baselines/reference/awaitCallExpression3_es5.symbols new file mode 100644 index 00000000000..2c18507340a --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression3_es5.symbols @@ -0,0 +1,59 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression3_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression3_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression3_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression3_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression3_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression3_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression3_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression3_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression3_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression3_es5.ts, 5, 84)) + + var b = fn(a, await p, a); +>b : Symbol(b, Decl(awaitCallExpression3_es5.ts, 10, 7)) +>fn : Symbol(fn, Decl(awaitCallExpression3_es5.ts, 1, 32)) +>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11)) +>p : Symbol(p, Decl(awaitCallExpression3_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitCallExpression3_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression3_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression3_es5.types b/tests/baselines/reference/awaitCallExpression3_es5.types new file mode 100644 index 00000000000..d2d851c1dae --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression3_es5.types @@ -0,0 +1,63 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression3_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = fn(a, await p, a); +>b : void +>fn(a, await p, a) : void +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>a : boolean +>await p : boolean +>p : Promise +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression3_es6.js b/tests/baselines/reference/awaitCallExpression3_es6.js index 74dee3e7e42..cf19e28b867 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.js +++ b/tests/baselines/reference/awaitCallExpression3_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = fn(a, await p, a); - "after"; + after(); } //// [awaitCallExpression3_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = fn(a, yield p, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression3_es6.symbols b/tests/baselines/reference/awaitCallExpression3_es6.symbols index 2002748c9ba..14b6f35bc30 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression3_es6.symbols @@ -34,17 +34,26 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression3_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression3_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression3_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression3_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression3_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression3_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression3_es6.ts, 5, 84)) + var b = fn(a, await p, a); ->b : Symbol(b, Decl(awaitCallExpression3_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression3_es6.ts, 10, 7)) >fn : Symbol(fn, Decl(awaitCallExpression3_es6.ts, 1, 32)) >a : Symbol(a, Decl(awaitCallExpression3_es6.ts, 0, 11)) >p : Symbol(p, Decl(awaitCallExpression3_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitCallExpression3_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression3_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression3_es6.types b/tests/baselines/reference/awaitCallExpression3_es6.types index 6304a803f64..490fd861a61 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.types +++ b/tests/baselines/reference/awaitCallExpression3_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = fn(a, await p, a); >b : void @@ -50,6 +57,7 @@ async function func(): Promise { >p : Promise >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression4_es5.js b/tests/baselines/reference/awaitCallExpression4_es5.js new file mode 100644 index 00000000000..88c3cea35bd --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression4_es5.js @@ -0,0 +1,32 @@ +//// [awaitCallExpression4_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = (await pfn)(a, a, a); + after(); +} + +//// [awaitCallExpression4_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, pfn]; + case 1: + b = (_a.sent())(a, a, a); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression4_es5.symbols b/tests/baselines/reference/awaitCallExpression4_es5.symbols new file mode 100644 index 00000000000..46a5b942956 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression4_es5.symbols @@ -0,0 +1,59 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression4_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression4_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression4_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression4_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression4_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression4_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression4_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression4_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression4_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression4_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression4_es5.ts, 5, 84)) + + var b = (await pfn)(a, a, a); +>b : Symbol(b, Decl(awaitCallExpression4_es5.ts, 10, 7)) +>pfn : Symbol(pfn, Decl(awaitCallExpression4_es5.ts, 4, 11)) +>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression4_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression4_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression4_es5.types b/tests/baselines/reference/awaitCallExpression4_es5.types new file mode 100644 index 00000000000..0b510c46998 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression4_es5.types @@ -0,0 +1,64 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression4_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = (await pfn)(a, a, a); +>b : void +>(await pfn)(a, a, a) : void +>(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>a : boolean +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression4_es6.js b/tests/baselines/reference/awaitCallExpression4_es6.js index 682a1776ac5..832f0cf20e3 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.js +++ b/tests/baselines/reference/awaitCallExpression4_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = (await pfn)(a, a, a); - "after"; + after(); } //// [awaitCallExpression4_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = (yield pfn)(a, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression4_es6.symbols b/tests/baselines/reference/awaitCallExpression4_es6.symbols index d31cf100ad4..d7e90fc4a53 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression4_es6.symbols @@ -34,17 +34,26 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression4_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression4_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression4_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression4_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression4_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression4_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression4_es6.ts, 5, 84)) + var b = (await pfn)(a, a, a); ->b : Symbol(b, Decl(awaitCallExpression4_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression4_es6.ts, 10, 7)) >pfn : Symbol(pfn, Decl(awaitCallExpression4_es6.ts, 4, 11)) >a : Symbol(a, Decl(awaitCallExpression4_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression4_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression4_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression4_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression4_es6.types b/tests/baselines/reference/awaitCallExpression4_es6.types index ff5d8f4012b..d8a514a67e6 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.types +++ b/tests/baselines/reference/awaitCallExpression4_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = (await pfn)(a, a, a); >b : void @@ -51,6 +58,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression5_es5.js b/tests/baselines/reference/awaitCallExpression5_es5.js new file mode 100644 index 00000000000..72c0e200c8d --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression5_es5.js @@ -0,0 +1,27 @@ +//// [awaitCallExpression5_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = o.fn(a, a, a); + after(); +} + +//// [awaitCallExpression5_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + before(); + b = o.fn(a, a, a); + after(); + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression5_es5.symbols b/tests/baselines/reference/awaitCallExpression5_es5.symbols new file mode 100644 index 00000000000..9f34c3e9fe8 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression5_es5.symbols @@ -0,0 +1,61 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression5_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression5_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression5_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression5_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression5_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression5_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression5_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression5_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression5_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression5_es5.ts, 5, 84)) + + var b = o.fn(a, a, a); +>b : Symbol(b, Decl(awaitCallExpression5_es5.ts, 10, 7)) +>o.fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16)) +>o : Symbol(o, Decl(awaitCallExpression5_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression5_es5.ts, 3, 16)) +>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression5_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression5_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression5_es5.types b/tests/baselines/reference/awaitCallExpression5_es5.types new file mode 100644 index 00000000000..b4b6d947275 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression5_es5.types @@ -0,0 +1,64 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression5_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = o.fn(a, a, a); +>b : void +>o.fn(a, a, a) : void +>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>a : boolean +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression5_es6.js b/tests/baselines/reference/awaitCallExpression5_es6.js index 30889b35011..05b06e7fc2f 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.js +++ b/tests/baselines/reference/awaitCallExpression5_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = o.fn(a, a, a); - "after"; + after(); } //// [awaitCallExpression5_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = o.fn(a, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression5_es6.symbols b/tests/baselines/reference/awaitCallExpression5_es6.symbols index d14a966b0b1..ba8f9878188 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression5_es6.symbols @@ -34,13 +34,21 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression5_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression5_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression5_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression5_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression5_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression5_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression5_es6.ts, 5, 84)) + var b = o.fn(a, a, a); ->b : Symbol(b, Decl(awaitCallExpression5_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression5_es6.ts, 10, 7)) >o.fn : Symbol(fn, Decl(awaitCallExpression5_es6.ts, 3, 16)) >o : Symbol(o, Decl(awaitCallExpression5_es6.ts, 3, 11)) >fn : Symbol(fn, Decl(awaitCallExpression5_es6.ts, 3, 16)) @@ -48,5 +56,6 @@ async function func(): Promise { >a : Symbol(a, Decl(awaitCallExpression5_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression5_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression5_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression5_es6.types b/tests/baselines/reference/awaitCallExpression5_es6.types index 5074c007743..3e9f1c6387e 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.types +++ b/tests/baselines/reference/awaitCallExpression5_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = o.fn(a, a, a); >b : void @@ -51,6 +58,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression6_es5.js b/tests/baselines/reference/awaitCallExpression6_es5.js new file mode 100644 index 00000000000..acc4261eacb --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression6_es5.js @@ -0,0 +1,33 @@ +//// [awaitCallExpression6_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = o.fn(await p, a, a); + after(); +} + +//// [awaitCallExpression6_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b, _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + before(); + _b = (_a = o).fn; + return [4 /*yield*/, p]; + case 1: + b = _b.apply(_a, [_d.sent(), a, a]); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression6_es5.symbols b/tests/baselines/reference/awaitCallExpression6_es5.symbols new file mode 100644 index 00000000000..fc3ae4cbdbb --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression6_es5.symbols @@ -0,0 +1,61 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression6_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression6_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression6_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression6_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression6_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression6_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression6_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression6_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression6_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression6_es5.ts, 5, 84)) + + var b = o.fn(await p, a, a); +>b : Symbol(b, Decl(awaitCallExpression6_es5.ts, 10, 7)) +>o.fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16)) +>o : Symbol(o, Decl(awaitCallExpression6_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression6_es5.ts, 3, 16)) +>p : Symbol(p, Decl(awaitCallExpression6_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression6_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression6_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression6_es5.types b/tests/baselines/reference/awaitCallExpression6_es5.types new file mode 100644 index 00000000000..e34839f3c15 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression6_es5.types @@ -0,0 +1,65 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression6_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = o.fn(await p, a, a); +>b : void +>o.fn(await p, a, a) : void +>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>await p : boolean +>p : Promise +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression6_es6.js b/tests/baselines/reference/awaitCallExpression6_es6.js index 55d86119d64..ba488d53347 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.js +++ b/tests/baselines/reference/awaitCallExpression6_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = o.fn(await p, a, a); - "after"; + after(); } //// [awaitCallExpression6_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = o.fn(yield p, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression6_es6.symbols b/tests/baselines/reference/awaitCallExpression6_es6.symbols index afd07fd0185..938c49d1d41 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression6_es6.symbols @@ -34,13 +34,21 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression6_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression6_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression6_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression6_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression6_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression6_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression6_es6.ts, 5, 84)) + var b = o.fn(await p, a, a); ->b : Symbol(b, Decl(awaitCallExpression6_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression6_es6.ts, 10, 7)) >o.fn : Symbol(fn, Decl(awaitCallExpression6_es6.ts, 3, 16)) >o : Symbol(o, Decl(awaitCallExpression6_es6.ts, 3, 11)) >fn : Symbol(fn, Decl(awaitCallExpression6_es6.ts, 3, 16)) @@ -48,5 +56,6 @@ async function func(): Promise { >a : Symbol(a, Decl(awaitCallExpression6_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression6_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression6_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression6_es6.types b/tests/baselines/reference/awaitCallExpression6_es6.types index 3266733fab0..6c5f0f9063e 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.types +++ b/tests/baselines/reference/awaitCallExpression6_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = o.fn(await p, a, a); >b : void @@ -52,6 +59,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression7_es5.js b/tests/baselines/reference/awaitCallExpression7_es5.js new file mode 100644 index 00000000000..dd69abc0514 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression7_es5.js @@ -0,0 +1,34 @@ +//// [awaitCallExpression7_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = o.fn(a, await p, a); + after(); +} + +//// [awaitCallExpression7_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b, _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + before(); + _b = (_a = o).fn; + _c = [a]; + return [4 /*yield*/, p]; + case 1: + b = _b.apply(_a, _c.concat([_d.sent(), a])); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression7_es5.symbols b/tests/baselines/reference/awaitCallExpression7_es5.symbols new file mode 100644 index 00000000000..96a7252ef04 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression7_es5.symbols @@ -0,0 +1,61 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression7_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression7_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression7_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression7_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression7_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression7_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression7_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression7_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression7_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression7_es5.ts, 5, 84)) + + var b = o.fn(a, await p, a); +>b : Symbol(b, Decl(awaitCallExpression7_es5.ts, 10, 7)) +>o.fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16)) +>o : Symbol(o, Decl(awaitCallExpression7_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression7_es5.ts, 3, 16)) +>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11)) +>p : Symbol(p, Decl(awaitCallExpression7_es5.ts, 1, 11)) +>a : Symbol(a, Decl(awaitCallExpression7_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression7_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression7_es5.types b/tests/baselines/reference/awaitCallExpression7_es5.types new file mode 100644 index 00000000000..9d220c6c8b8 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression7_es5.types @@ -0,0 +1,65 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression7_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = o.fn(a, await p, a); +>b : void +>o.fn(a, await p, a) : void +>o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>a : boolean +>await p : boolean +>p : Promise +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression7_es6.js b/tests/baselines/reference/awaitCallExpression7_es6.js index df805266ff3..2eb830986d9 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.js +++ b/tests/baselines/reference/awaitCallExpression7_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = o.fn(a, await p, a); - "after"; + after(); } //// [awaitCallExpression7_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = o.fn(a, yield p, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression7_es6.symbols b/tests/baselines/reference/awaitCallExpression7_es6.symbols index bb503d4b3a1..f366417b23f 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression7_es6.symbols @@ -34,13 +34,21 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression7_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression7_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression7_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression7_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression7_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression7_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression7_es6.ts, 5, 84)) + var b = o.fn(a, await p, a); ->b : Symbol(b, Decl(awaitCallExpression7_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression7_es6.ts, 10, 7)) >o.fn : Symbol(fn, Decl(awaitCallExpression7_es6.ts, 3, 16)) >o : Symbol(o, Decl(awaitCallExpression7_es6.ts, 3, 11)) >fn : Symbol(fn, Decl(awaitCallExpression7_es6.ts, 3, 16)) @@ -48,5 +56,6 @@ async function func(): Promise { >p : Symbol(p, Decl(awaitCallExpression7_es6.ts, 1, 11)) >a : Symbol(a, Decl(awaitCallExpression7_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression7_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression7_es6.types b/tests/baselines/reference/awaitCallExpression7_es6.types index b1b382f7325..e36b3773091 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.types +++ b/tests/baselines/reference/awaitCallExpression7_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = o.fn(a, await p, a); >b : void @@ -52,6 +59,7 @@ async function func(): Promise { >p : Promise >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitCallExpression8_es5.js b/tests/baselines/reference/awaitCallExpression8_es5.js new file mode 100644 index 00000000000..6d7d5dceba9 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression8_es5.js @@ -0,0 +1,32 @@ +//// [awaitCallExpression8_es5.ts] +declare var a: boolean; +declare var p: Promise; +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; +async function func(): Promise { + before(); + var b = (await po).fn(a, a, a); + after(); +} + +//// [awaitCallExpression8_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + before(); + return [4 /*yield*/, po]; + case 1: + b = (_a.sent()).fn(a, a, a); + after(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitCallExpression8_es5.symbols b/tests/baselines/reference/awaitCallExpression8_es5.symbols new file mode 100644 index 00000000000..50b564481b9 --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression8_es5.symbols @@ -0,0 +1,61 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression8_es5.ts === +declare var a: boolean; +>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitCallExpression8_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 2, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 2, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 2, 49)) + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : Symbol(o, Decl(awaitCallExpression8_es5.ts, 3, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 3, 16)) +>arg0 : Symbol(arg0, Decl(awaitCallExpression8_es5.ts, 3, 20)) +>arg1 : Symbol(arg1, Decl(awaitCallExpression8_es5.ts, 3, 34)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 3, 49)) + +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.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.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)) +>arg2 : Symbol(arg2, Decl(awaitCallExpression8_es5.ts, 5, 58)) + +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression8_es5.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression8_es5.ts, 6, 32)) + +async function func(): Promise { +>func : Symbol(func, Decl(awaitCallExpression8_es5.ts, 7, 31)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + before(); +>before : Symbol(before, Decl(awaitCallExpression8_es5.ts, 5, 84)) + + var b = (await po).fn(a, a, a); +>b : Symbol(b, Decl(awaitCallExpression8_es5.ts, 10, 7)) +>(await po).fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25)) +>po : Symbol(po, Decl(awaitCallExpression8_es5.ts, 5, 11)) +>fn : Symbol(fn, Decl(awaitCallExpression8_es5.ts, 5, 25)) +>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11)) +>a : Symbol(a, Decl(awaitCallExpression8_es5.ts, 0, 11)) + + after(); +>after : Symbol(after, Decl(awaitCallExpression8_es5.ts, 6, 32)) +} diff --git a/tests/baselines/reference/awaitCallExpression8_es5.types b/tests/baselines/reference/awaitCallExpression8_es5.types new file mode 100644 index 00000000000..1b2fa16d1fc --- /dev/null +++ b/tests/baselines/reference/awaitCallExpression8_es5.types @@ -0,0 +1,66 @@ +=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression8_es5.ts === +declare var a: boolean; +>a : boolean + +declare var p: Promise; +>p : Promise +>Promise : Promise + +declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; +>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> +>Promise : Promise +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>Promise : Promise +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>arg0 : boolean +>arg1 : boolean +>arg2 : boolean + +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + before(); +>before() : void +>before : () => void + + var b = (await po).fn(a, a, a); +>b : void +>(await po).fn(a, a, a) : void +>(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } +>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> +>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void +>a : boolean +>a : boolean +>a : boolean + + after(); +>after() : void +>after : () => void +} diff --git a/tests/baselines/reference/awaitCallExpression8_es6.js b/tests/baselines/reference/awaitCallExpression8_es6.js index 8d7bb4b83ce..ecf36a31936 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.js +++ b/tests/baselines/reference/awaitCallExpression8_es6.js @@ -5,17 +5,19 @@ declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void; declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }; declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>; declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>; +declare function before(): void; +declare function after(): void; async function func(): Promise { - "before"; + before(); var b = (await po).fn(a, a, a); - "after"; + after(); } //// [awaitCallExpression8_es6.js] function func() { return __awaiter(this, void 0, void 0, function* () { - "before"; + before(); var b = (yield po).fn(a, a, a); - "after"; + after(); }); } diff --git a/tests/baselines/reference/awaitCallExpression8_es6.symbols b/tests/baselines/reference/awaitCallExpression8_es6.symbols index 9f4df1046f4..89441ea3e37 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.symbols +++ b/tests/baselines/reference/awaitCallExpression8_es6.symbols @@ -34,13 +34,21 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : Symbol(arg1, Decl(awaitCallExpression8_es6.ts, 5, 43)) >arg2 : Symbol(arg2, Decl(awaitCallExpression8_es6.ts, 5, 58)) +declare function before(): void; +>before : Symbol(before, Decl(awaitCallExpression8_es6.ts, 5, 84)) + +declare function after(): void; +>after : Symbol(after, Decl(awaitCallExpression8_es6.ts, 6, 32)) + async function func(): Promise { ->func : Symbol(func, Decl(awaitCallExpression8_es6.ts, 5, 84)) +>func : Symbol(func, Decl(awaitCallExpression8_es6.ts, 7, 31)) >Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) - "before"; + before(); +>before : Symbol(before, Decl(awaitCallExpression8_es6.ts, 5, 84)) + var b = (await po).fn(a, a, a); ->b : Symbol(b, Decl(awaitCallExpression8_es6.ts, 8, 7)) +>b : Symbol(b, Decl(awaitCallExpression8_es6.ts, 10, 7)) >(await po).fn : Symbol(fn, Decl(awaitCallExpression8_es6.ts, 5, 25)) >po : Symbol(po, Decl(awaitCallExpression8_es6.ts, 5, 11)) >fn : Symbol(fn, Decl(awaitCallExpression8_es6.ts, 5, 25)) @@ -48,5 +56,6 @@ async function func(): Promise { >a : Symbol(a, Decl(awaitCallExpression8_es6.ts, 0, 11)) >a : Symbol(a, Decl(awaitCallExpression8_es6.ts, 0, 11)) - "after"; + after(); +>after : Symbol(after, Decl(awaitCallExpression8_es6.ts, 6, 32)) } diff --git a/tests/baselines/reference/awaitCallExpression8_es6.types b/tests/baselines/reference/awaitCallExpression8_es6.types index 76719c09c85..8258ba830b2 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.types +++ b/tests/baselines/reference/awaitCallExpression8_es6.types @@ -34,12 +34,19 @@ declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; >arg1 : boolean >arg2 : boolean +declare function before(): void; +>before : () => void + +declare function after(): void; +>after : () => void + async function func(): Promise { >func : () => Promise >Promise : Promise - "before"; ->"before" : string + before(); +>before() : void +>before : () => void var b = (await po).fn(a, a, a); >b : void @@ -53,6 +60,7 @@ async function func(): Promise { >a : boolean >a : boolean - "after"; ->"after" : string + after(); +>after() : void +>after : () => void } diff --git a/tests/baselines/reference/awaitClassExpression_es5.js b/tests/baselines/reference/awaitClassExpression_es5.js new file mode 100644 index 00000000000..9123f5f2ea8 --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es5.js @@ -0,0 +1,31 @@ +//// [awaitClassExpression_es5.ts] +declare class C { } +declare var p: Promise; + +async function func(): Promise { + class D extends (await p) { + } +} + +//// [awaitClassExpression_es5.js] +function func() { + return __awaiter(this, void 0, void 0, function () { + var D, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = function (_super) { + __extends(D, _super); + function D() { + _super.apply(this, arguments); + } + return D; + }; + return [4 /*yield*/, p]; + case 1: + D = (_a.apply(void 0, [(_c.sent())])); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitClassExpression_es5.symbols b/tests/baselines/reference/awaitClassExpression_es5.symbols new file mode 100644 index 00000000000..1f550576c09 --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es5.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/async/es5/awaitClassExpression_es5.ts === +declare class C { } +>C : Symbol(C, Decl(awaitClassExpression_es5.ts, 0, 0)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitClassExpression_es5.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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.es2015.promise.d.ts, --, --)) + + class D extends (await p) { +>D : Symbol(D, Decl(awaitClassExpression_es5.ts, 3, 38)) +>p : Symbol(p, Decl(awaitClassExpression_es5.ts, 1, 11)) + } +} diff --git a/tests/baselines/reference/awaitClassExpression_es5.types b/tests/baselines/reference/awaitClassExpression_es5.types new file mode 100644 index 00000000000..e1f4bf8f82e --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es5.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/async/es5/awaitClassExpression_es5.ts === +declare class C { } +>C : C + +declare var p: Promise; +>p : Promise +>Promise : Promise +>C : typeof C + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + class D extends (await p) { +>D : D +>(await p) : C +>await p : typeof C +>p : Promise + } +} diff --git a/tests/baselines/reference/awaitClassExpression_es6.js b/tests/baselines/reference/awaitClassExpression_es6.js new file mode 100644 index 00000000000..26740b9de6d --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es6.js @@ -0,0 +1,16 @@ +//// [awaitClassExpression_es6.ts] +declare class C { } +declare var p: Promise; + +async function func(): Promise { + class D extends (await p) { + } +} + +//// [awaitClassExpression_es6.js] +function func() { + return __awaiter(this, void 0, void 0, function* () { + class D extends (yield p) { + } + }); +} diff --git a/tests/baselines/reference/awaitClassExpression_es6.symbols b/tests/baselines/reference/awaitClassExpression_es6.symbols new file mode 100644 index 00000000000..6d1e9f1a103 --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es6.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/async/es6/awaitClassExpression_es6.ts === +declare class C { } +>C : Symbol(C, Decl(awaitClassExpression_es6.ts, 0, 0)) + +declare var p: Promise; +>p : Symbol(p, Decl(awaitClassExpression_es6.ts, 1, 11)) +>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.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.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + + class D extends (await p) { +>D : Symbol(D, Decl(awaitClassExpression_es6.ts, 3, 38)) +>p : Symbol(p, Decl(awaitClassExpression_es6.ts, 1, 11)) + } +} diff --git a/tests/baselines/reference/awaitClassExpression_es6.types b/tests/baselines/reference/awaitClassExpression_es6.types new file mode 100644 index 00000000000..4a778021720 --- /dev/null +++ b/tests/baselines/reference/awaitClassExpression_es6.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/async/es6/awaitClassExpression_es6.ts === +declare class C { } +>C : C + +declare var p: Promise; +>p : Promise +>Promise : Promise +>C : typeof C + +async function func(): Promise { +>func : () => Promise +>Promise : Promise + + class D extends (await p) { +>D : D +>(await p) : C +>await p : typeof C +>p : Promise + } +} diff --git a/tests/baselines/reference/awaitUnion_es5.js b/tests/baselines/reference/awaitUnion_es5.js new file mode 100644 index 00000000000..e4ebaa4f62e --- /dev/null +++ b/tests/baselines/reference/awaitUnion_es5.js @@ -0,0 +1,40 @@ +//// [awaitUnion_es5.ts] +declare let a: number | string; +declare let b: PromiseLike | PromiseLike; +declare let c: PromiseLike; +declare let d: number | PromiseLike; +declare let e: number | PromiseLike; +async function f() { + let await_a = await a; + let await_b = await b; + let await_c = await c; + let await_d = await d; + let await_e = await e; +} + +//// [awaitUnion_es5.js] +function f() { + return __awaiter(this, void 0, void 0, function () { + var await_a, await_b, await_c, await_d, await_e; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, a]; + case 1: + await_a = _a.sent(); + return [4 /*yield*/, b]; + case 2: + await_b = _a.sent(); + return [4 /*yield*/, c]; + case 3: + await_c = _a.sent(); + return [4 /*yield*/, d]; + case 4: + await_d = _a.sent(); + return [4 /*yield*/, e]; + case 5: + await_e = _a.sent(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitUnion_es5.symbols b/tests/baselines/reference/awaitUnion_es5.symbols new file mode 100644 index 00000000000..b8fb6dbed38 --- /dev/null +++ b/tests/baselines/reference/awaitUnion_es5.symbols @@ -0,0 +1,44 @@ +=== tests/cases/conformance/async/es5/awaitUnion_es5.ts === +declare let a: number | string; +>a : Symbol(a, Decl(awaitUnion_es5.ts, 0, 11)) + +declare let b: PromiseLike | PromiseLike; +>b : Symbol(b, Decl(awaitUnion_es5.ts, 1, 11)) +>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_es5.ts, 2, 11)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) + +declare let d: number | PromiseLike; +>d : Symbol(d, Decl(awaitUnion_es5.ts, 3, 11)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) + +declare let e: number | PromiseLike; +>e : Symbol(e, Decl(awaitUnion_es5.ts, 4, 11)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) + +async function f() { +>f : Symbol(f, Decl(awaitUnion_es5.ts, 4, 53)) + + let await_a = await a; +>await_a : Symbol(await_a, Decl(awaitUnion_es5.ts, 6, 4)) +>a : Symbol(a, Decl(awaitUnion_es5.ts, 0, 11)) + + let await_b = await b; +>await_b : Symbol(await_b, Decl(awaitUnion_es5.ts, 7, 4)) +>b : Symbol(b, Decl(awaitUnion_es5.ts, 1, 11)) + + let await_c = await c; +>await_c : Symbol(await_c, Decl(awaitUnion_es5.ts, 8, 4)) +>c : Symbol(c, Decl(awaitUnion_es5.ts, 2, 11)) + + let await_d = await d; +>await_d : Symbol(await_d, Decl(awaitUnion_es5.ts, 9, 4)) +>d : Symbol(d, Decl(awaitUnion_es5.ts, 3, 11)) + + let await_e = await e; +>await_e : Symbol(await_e, Decl(awaitUnion_es5.ts, 10, 4)) +>e : Symbol(e, Decl(awaitUnion_es5.ts, 4, 11)) +} diff --git a/tests/baselines/reference/awaitUnion_es5.types b/tests/baselines/reference/awaitUnion_es5.types new file mode 100644 index 00000000000..25c54d37ae8 --- /dev/null +++ b/tests/baselines/reference/awaitUnion_es5.types @@ -0,0 +1,49 @@ +=== tests/cases/conformance/async/es5/awaitUnion_es5.ts === +declare let a: number | string; +>a : string | number + +declare let b: PromiseLike | PromiseLike; +>b : PromiseLike | PromiseLike +>PromiseLike : PromiseLike +>PromiseLike : PromiseLike + +declare let c: PromiseLike; +>c : PromiseLike +>PromiseLike : PromiseLike + +declare let d: number | PromiseLike; +>d : number | PromiseLike +>PromiseLike : PromiseLike + +declare let e: number | PromiseLike; +>e : number | PromiseLike +>PromiseLike : PromiseLike + +async function f() { +>f : () => Promise + + let await_a = await a; +>await_a : string | number +>await a : string | number +>a : string | number + + let await_b = await b; +>await_b : string | number +>await b : string | number +>b : PromiseLike | PromiseLike + + let await_c = await c; +>await_c : string | number +>await c : string | number +>c : PromiseLike + + let await_d = await d; +>await_d : string | number +>await d : string | number +>d : number | PromiseLike + + let await_e = await e; +>await_e : string | number +>await e : string | number +>e : number | PromiseLike +} diff --git a/tests/baselines/reference/awaitUnion_es6.js b/tests/baselines/reference/awaitUnion_es6.js index 9603454b969..628e488cb4f 100644 --- a/tests/baselines/reference/awaitUnion_es6.js +++ b/tests/baselines/reference/awaitUnion_es6.js @@ -9,7 +9,7 @@ async function f() { let await_b = await b; let await_c = await c; let await_d = await d; - let await_e = await e; + let await_e = await e; } //// [awaitUnion_es6.js] diff --git a/tests/baselines/reference/awaitUnion_es6.symbols b/tests/baselines/reference/awaitUnion_es6.symbols index 98a229c4148..c301f3c5b8d 100644 --- a/tests/baselines/reference/awaitUnion_es6.symbols +++ b/tests/baselines/reference/awaitUnion_es6.symbols @@ -38,7 +38,7 @@ async function f() { >await_d : Symbol(await_d, Decl(awaitUnion_es6.ts, 9, 4)) >d : Symbol(d, Decl(awaitUnion_es6.ts, 3, 11)) - let await_e = await e; + let await_e = await e; >await_e : Symbol(await_e, Decl(awaitUnion_es6.ts, 10, 4)) >e : Symbol(e, Decl(awaitUnion_es6.ts, 4, 11)) } diff --git a/tests/baselines/reference/awaitUnion_es6.types b/tests/baselines/reference/awaitUnion_es6.types index 97d4bd2fc57..e15bf60fce2 100644 --- a/tests/baselines/reference/awaitUnion_es6.types +++ b/tests/baselines/reference/awaitUnion_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/async/es6/awaitUnion_es6.ts === declare let a: number | string; ->a : number | string +>a : string | number declare let b: PromiseLike | PromiseLike; >b : PromiseLike | PromiseLike @@ -8,7 +8,7 @@ declare let b: PromiseLike | PromiseLike; >PromiseLike : PromiseLike declare let c: PromiseLike; ->c : PromiseLike +>c : PromiseLike >PromiseLike : PromiseLike declare let d: number | PromiseLike; @@ -16,34 +16,34 @@ declare let d: number | PromiseLike; >PromiseLike : PromiseLike declare let e: number | PromiseLike; ->e : number | PromiseLike +>e : number | PromiseLike >PromiseLike : PromiseLike async function f() { >f : () => Promise let await_a = await a; ->await_a : number | string ->await a : number | string ->a : number | string +>await_a : string | number +>await a : string | number +>a : string | number let await_b = await b; ->await_b : number | string ->await b : number | string +>await_b : string | number +>await b : string | number >b : PromiseLike | PromiseLike let await_c = await c; ->await_c : number | string ->await c : number | string ->c : PromiseLike +>await_c : string | number +>await c : string | number +>c : PromiseLike let await_d = await d; ->await_d : number | string ->await d : number | string +>await_d : string | number +>await d : string | number >d : number | PromiseLike - let await_e = await e; ->await_e : number | string ->await e : number | string ->e : number | PromiseLike + let await_e = await e; +>await_e : string | number +>await e : string | number +>e : number | PromiseLike } diff --git a/tests/baselines/reference/await_unaryExpression_es6.js b/tests/baselines/reference/await_unaryExpression_es6.js new file mode 100644 index 00000000000..46065bdada9 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6.js @@ -0,0 +1,47 @@ +//// [await_unaryExpression_es6.ts] + +async function bar() { + !await 42; // OK +} + +async function bar1() { + +await 42; // OK +} + +async function bar3() { + -await 42; // OK +} + +async function bar4() { + ~await 42; // OK +} + +//// [await_unaryExpression_es6.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function bar() { + return __awaiter(this, void 0, void 0, function* () { + !(yield 42); // OK + }); +} +function bar1() { + return __awaiter(this, void 0, void 0, function* () { + +(yield 42); // OK + }); +} +function bar3() { + return __awaiter(this, void 0, void 0, function* () { + -(yield 42); // OK + }); +} +function bar4() { + return __awaiter(this, void 0, void 0, function* () { + ~(yield 42); // OK + }); +} diff --git a/tests/baselines/reference/await_unaryExpression_es6.symbols b/tests/baselines/reference/await_unaryExpression_es6.symbols new file mode 100644 index 00000000000..81edd4b981b --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6.symbols @@ -0,0 +1,25 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6.ts === + +async function bar() { +>bar : Symbol(bar, Decl(await_unaryExpression_es6.ts, 0, 0)) + + !await 42; // OK +} + +async function bar1() { +>bar1 : Symbol(bar1, Decl(await_unaryExpression_es6.ts, 3, 1)) + + +await 42; // OK +} + +async function bar3() { +>bar3 : Symbol(bar3, Decl(await_unaryExpression_es6.ts, 7, 1)) + + -await 42; // OK +} + +async function bar4() { +>bar4 : Symbol(bar4, Decl(await_unaryExpression_es6.ts, 11, 1)) + + ~await 42; // OK +} diff --git a/tests/baselines/reference/await_unaryExpression_es6.types b/tests/baselines/reference/await_unaryExpression_es6.types new file mode 100644 index 00000000000..14b4fbf89ac --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6.types @@ -0,0 +1,37 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6.ts === + +async function bar() { +>bar : () => Promise + + !await 42; // OK +>!await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar1() { +>bar1 : () => Promise + + +await 42; // OK +>+await 42 : number +>await 42 : 42 +>42 : 42 +} + +async function bar3() { +>bar3 : () => Promise + + -await 42; // OK +>-await 42 : number +>await 42 : 42 +>42 : 42 +} + +async function bar4() { +>bar4 : () => Promise + + ~await 42; // OK +>~await 42 : number +>await 42 : 42 +>42 : 42 +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_1.js b/tests/baselines/reference/await_unaryExpression_es6_1.js new file mode 100644 index 00000000000..c6f5f1142c0 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_1.js @@ -0,0 +1,56 @@ +//// [await_unaryExpression_es6_1.ts] + +async function bar() { + !await 42; // OK +} + +async function bar1() { + delete await 42; // OK +} + +async function bar2() { + delete await 42; // OK +} + +async function bar3() { + void await 42; +} + +async function bar4() { + +await 42; +} + +//// [await_unaryExpression_es6_1.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function bar() { + return __awaiter(this, void 0, void 0, function* () { + !(yield 42); // OK + }); +} +function bar1() { + return __awaiter(this, void 0, void 0, function* () { + delete (yield 42); // OK + }); +} +function bar2() { + return __awaiter(this, void 0, void 0, function* () { + delete (yield 42); // OK + }); +} +function bar3() { + return __awaiter(this, void 0, void 0, function* () { + void (yield 42); + }); +} +function bar4() { + return __awaiter(this, void 0, void 0, function* () { + +(yield 42); + }); +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_1.symbols b/tests/baselines/reference/await_unaryExpression_es6_1.symbols new file mode 100644 index 00000000000..ed7d7e4ed02 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_1.symbols @@ -0,0 +1,31 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6_1.ts === + +async function bar() { +>bar : Symbol(bar, Decl(await_unaryExpression_es6_1.ts, 0, 0)) + + !await 42; // OK +} + +async function bar1() { +>bar1 : Symbol(bar1, Decl(await_unaryExpression_es6_1.ts, 3, 1)) + + delete await 42; // OK +} + +async function bar2() { +>bar2 : Symbol(bar2, Decl(await_unaryExpression_es6_1.ts, 7, 1)) + + delete await 42; // OK +} + +async function bar3() { +>bar3 : Symbol(bar3, Decl(await_unaryExpression_es6_1.ts, 11, 1)) + + void await 42; +} + +async function bar4() { +>bar4 : Symbol(bar4, Decl(await_unaryExpression_es6_1.ts, 15, 1)) + + +await 42; +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_1.types b/tests/baselines/reference/await_unaryExpression_es6_1.types new file mode 100644 index 00000000000..15544420189 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_1.types @@ -0,0 +1,46 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6_1.ts === + +async function bar() { +>bar : () => Promise + + !await 42; // OK +>!await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar1() { +>bar1 : () => Promise + + delete await 42; // OK +>delete await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar2() { +>bar2 : () => Promise + + delete await 42; // OK +>delete await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar3() { +>bar3 : () => Promise + + void await 42; +>void await 42 : undefined +>await 42 : 42 +>42 : 42 +} + +async function bar4() { +>bar4 : () => Promise + + +await 42; +>+await 42 : number +>await 42 : 42 +>42 : 42 +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_2.js b/tests/baselines/reference/await_unaryExpression_es6_2.js new file mode 100644 index 00000000000..3c341018ed1 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_2.js @@ -0,0 +1,38 @@ +//// [await_unaryExpression_es6_2.ts] + +async function bar1() { + delete await 42; +} + +async function bar2() { + delete await 42; +} + +async function bar3() { + void await 42; +} + +//// [await_unaryExpression_es6_2.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function bar1() { + return __awaiter(this, void 0, void 0, function* () { + delete (yield 42); + }); +} +function bar2() { + return __awaiter(this, void 0, void 0, function* () { + delete (yield 42); + }); +} +function bar3() { + return __awaiter(this, void 0, void 0, function* () { + void (yield 42); + }); +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_2.symbols b/tests/baselines/reference/await_unaryExpression_es6_2.symbols new file mode 100644 index 00000000000..574ea4d433a --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_2.symbols @@ -0,0 +1,19 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6_2.ts === + +async function bar1() { +>bar1 : Symbol(bar1, Decl(await_unaryExpression_es6_2.ts, 0, 0)) + + delete await 42; +} + +async function bar2() { +>bar2 : Symbol(bar2, Decl(await_unaryExpression_es6_2.ts, 3, 1)) + + delete await 42; +} + +async function bar3() { +>bar3 : Symbol(bar3, Decl(await_unaryExpression_es6_2.ts, 7, 1)) + + void await 42; +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_2.types b/tests/baselines/reference/await_unaryExpression_es6_2.types new file mode 100644 index 00000000000..6142eec825b --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_2.types @@ -0,0 +1,28 @@ +=== tests/cases/conformance/async/es6/await_unaryExpression_es6_2.ts === + +async function bar1() { +>bar1 : () => Promise + + delete await 42; +>delete await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar2() { +>bar2 : () => Promise + + delete await 42; +>delete await 42 : boolean +>await 42 : 42 +>42 : 42 +} + +async function bar3() { +>bar3 : () => Promise + + void await 42; +>void await 42 : undefined +>await 42 : 42 +>42 : 42 +} diff --git a/tests/baselines/reference/await_unaryExpression_es6_3.errors.txt b/tests/baselines/reference/await_unaryExpression_es6_3.errors.txt new file mode 100644 index 00000000000..5518f84983f --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_3.errors.txt @@ -0,0 +1,27 @@ +tests/cases/conformance/async/es6/await_unaryExpression_es6_3.ts(3,7): error TS1109: Expression expected. +tests/cases/conformance/async/es6/await_unaryExpression_es6_3.ts(7,7): error TS1109: Expression expected. + + +==== tests/cases/conformance/async/es6/await_unaryExpression_es6_3.ts (2 errors) ==== + + async function bar1() { + ++await 42; // Error + ~~~~~ +!!! error TS1109: Expression expected. + } + + async function bar2() { + --await 42; // Error + ~~~~~ +!!! error TS1109: Expression expected. + } + + async function bar3() { + var x = 42; + await x++; // OK but shouldn't need parenthesis + } + + async function bar4() { + var x = 42; + await x--; // OK but shouldn't need parenthesis + } \ No newline at end of file diff --git a/tests/baselines/reference/await_unaryExpression_es6_3.js b/tests/baselines/reference/await_unaryExpression_es6_3.js new file mode 100644 index 00000000000..077e264c450 --- /dev/null +++ b/tests/baselines/reference/await_unaryExpression_es6_3.js @@ -0,0 +1,53 @@ +//// [await_unaryExpression_es6_3.ts] + +async function bar1() { + ++await 42; // Error +} + +async function bar2() { + --await 42; // Error +} + +async function bar3() { + var x = 42; + await x++; // OK but shouldn't need parenthesis +} + +async function bar4() { + var x = 42; + await x--; // OK but shouldn't need parenthesis +} + +//// [await_unaryExpression_es6_3.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function bar1() { + return __awaiter(this, void 0, void 0, function* () { + ++; + yield 42; // Error + }); +} +function bar2() { + return __awaiter(this, void 0, void 0, function* () { + --; + yield 42; // Error + }); +} +function bar3() { + return __awaiter(this, void 0, void 0, function* () { + var x = 42; + yield x++; // OK but shouldn't need parenthesis + }); +} +function bar4() { + return __awaiter(this, void 0, void 0, function* () { + var x = 42; + yield x--; // OK but shouldn't need parenthesis + }); +} diff --git a/tests/baselines/reference/baseCheck.errors.txt b/tests/baselines/reference/baseCheck.errors.txt index c31ba95476a..1f267f55301 100644 --- a/tests/baselines/reference/baseCheck.errors.txt +++ b/tests/baselines/reference/baseCheck.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/baseCheck.ts(9,18): error TS2304: Cannot find name 'loc'. tests/cases/compiler/baseCheck.ts(17,53): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/baseCheck.ts(17,59): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/compiler/baseCheck.ts(18,62): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. -tests/cases/compiler/baseCheck.ts(19,59): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/baseCheck.ts(19,59): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. tests/cases/compiler/baseCheck.ts(19,68): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/compiler/baseCheck.ts(22,9): error TS2304: Cannot find name 'x'. tests/cases/compiler/baseCheck.ts(23,7): error TS2304: Cannot find name 'x'. @@ -38,7 +38,7 @@ tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'. !!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. class F extends C { constructor(public z: number) { super("hello", this.z) } } // first param type ~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. ~~~~ !!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. diff --git a/tests/baselines/reference/baseIndexSignatureResolution.types b/tests/baselines/reference/baseIndexSignatureResolution.types index 90d143155fb..17fb5cf85de 100644 --- a/tests/baselines/reference/baseIndexSignatureResolution.types +++ b/tests/baselines/reference/baseIndexSignatureResolution.types @@ -37,7 +37,7 @@ var y: Derived = x[0]; >Derived : Derived >x[0] : Derived >x : FooOf ->0 : number +>0 : 0 /* // Note - the equivalent for normal interface methods works fine: diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.js b/tests/baselines/reference/baseTypeWrappingInstantiationChain.js index 62d995c225e..dc52eeeaee6 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.js +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.js @@ -1,4 +1,20 @@ //// [baseTypeWrappingInstantiationChain.ts] +class CBaseBase { + constructor(x: Parameter) { } +} + +class CBase extends CBaseBase> { + +} + +class Parameter { + method(t: T4) { } +} + +class Wrapper { + property: T5; +} + class C extends CBase { public works() { new CBaseBase>(this); @@ -9,22 +25,7 @@ class C extends CBase { public method(t: Wrapper) { } } - -class CBase extends CBaseBase> { - -} - -class CBaseBase { - constructor(x: Parameter) { } -} - -class Parameter { - method(t: T4) { } -} - -class Wrapper { - property: T5; -} + //// [baseTypeWrappingInstantiationChain.js] var __extends = (this && this.__extends) || function (d, b) { @@ -32,6 +33,29 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; +var CBaseBase = (function () { + function CBaseBase(x) { + } + return CBaseBase; +}()); +var CBase = (function (_super) { + __extends(CBase, _super); + function CBase() { + _super.apply(this, arguments); + } + return CBase; +}(CBaseBase)); +var Parameter = (function () { + function Parameter() { + } + Parameter.prototype.method = function (t) { }; + return Parameter; +}()); +var Wrapper = (function () { + function Wrapper() { + } + return Wrapper; +}()); var C = (function (_super) { __extends(C, _super); function C() { @@ -46,26 +70,3 @@ var C = (function (_super) { C.prototype.method = function (t) { }; return C; }(CBase)); -var CBase = (function (_super) { - __extends(CBase, _super); - function CBase() { - _super.apply(this, arguments); - } - return CBase; -}(CBaseBase)); -var CBaseBase = (function () { - function CBaseBase(x) { - } - return CBaseBase; -}()); -var Parameter = (function () { - function Parameter() { - } - Parameter.prototype.method = function (t) { }; - return Parameter; -}()); -var Wrapper = (function () { - function Wrapper() { - } - return Wrapper; -}()); diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols b/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols index 936110ea43a..67550141758 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols @@ -1,69 +1,70 @@ === tests/cases/compiler/baseTypeWrappingInstantiationChain.ts === -class C extends CBase { ->C : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) ->T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) ->CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1)) ->T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) +class CBaseBase { +>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) +>T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 0, 16)) - public works() { ->works : Symbol(C.works, Decl(baseTypeWrappingInstantiationChain.ts, 0, 31)) - - new CBaseBase>(this); ->CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1)) ->Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1)) ->T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) ->this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) - } - public alsoWorks() { ->alsoWorks : Symbol(C.alsoWorks, Decl(baseTypeWrappingInstantiationChain.ts, 3, 5)) - - new CBase(this); // Should not error, parameter is of type Parameter> ->CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1)) ->T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) ->this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) - } - - public method(t: Wrapper) { } ->method : Symbol(C.method, Decl(baseTypeWrappingInstantiationChain.ts, 6, 5)) ->t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 8, 18)) ->Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1)) ->T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8)) + constructor(x: Parameter) { } +>x : Symbol(x, Decl(baseTypeWrappingInstantiationChain.ts, 1, 16)) +>Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 6, 1)) +>T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 0, 16)) } class CBase extends CBaseBase> { ->CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1)) ->T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 11, 12)) ->CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1)) ->Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1)) ->T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 11, 12)) +>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 2, 1)) +>T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 4, 12)) +>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) +>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 10, 1)) +>T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 4, 12)) } -class CBaseBase { ->CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1)) ->T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 15, 16)) - - constructor(x: Parameter) { } ->x : Symbol(x, Decl(baseTypeWrappingInstantiationChain.ts, 16, 16)) ->Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 17, 1)) ->T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 15, 16)) -} - class Parameter { ->Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 17, 1)) ->T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16)) +>Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 6, 1)) +>T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 8, 16)) method(t: T4) { } ->method : Symbol(Parameter.method, Decl(baseTypeWrappingInstantiationChain.ts, 19, 21)) ->t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 20, 11)) ->T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16)) +>method : Symbol(Parameter.method, Decl(baseTypeWrappingInstantiationChain.ts, 8, 21)) +>t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 9, 11)) +>T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 8, 16)) } class Wrapper { ->Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1)) ->T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14)) +>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 10, 1)) +>T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 12, 14)) property: T5; ->property : Symbol(Wrapper.property, Decl(baseTypeWrappingInstantiationChain.ts, 23, 19)) ->T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14)) +>property : Symbol(Wrapper.property, Decl(baseTypeWrappingInstantiationChain.ts, 12, 19)) +>T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 12, 14)) } + +class C extends CBase { +>C : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 14, 1)) +>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 16, 8)) +>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 2, 1)) +>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 16, 8)) + + public works() { +>works : Symbol(C.works, Decl(baseTypeWrappingInstantiationChain.ts, 16, 31)) + + new CBaseBase>(this); +>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) +>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 10, 1)) +>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 16, 8)) +>this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 14, 1)) + } + public alsoWorks() { +>alsoWorks : Symbol(C.alsoWorks, Decl(baseTypeWrappingInstantiationChain.ts, 19, 5)) + + new CBase(this); // Should not error, parameter is of type Parameter> +>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 2, 1)) +>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 16, 8)) +>this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 14, 1)) + } + + public method(t: Wrapper) { } +>method : Symbol(C.method, Decl(baseTypeWrappingInstantiationChain.ts, 22, 5)) +>t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 24, 18)) +>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 10, 1)) +>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 16, 8)) +} + diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.types b/tests/baselines/reference/baseTypeWrappingInstantiationChain.types index ba702171de9..ede580c6c7d 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.types +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.types @@ -1,4 +1,42 @@ === tests/cases/compiler/baseTypeWrappingInstantiationChain.ts === +class CBaseBase { +>CBaseBase : CBaseBase +>T3 : T3 + + constructor(x: Parameter) { } +>x : Parameter +>Parameter : Parameter +>T3 : T3 +} + +class CBase extends CBaseBase> { +>CBase : CBase +>T2 : T2 +>CBaseBase : CBaseBase> +>Wrapper : Wrapper +>T2 : T2 + +} + +class Parameter { +>Parameter : Parameter +>T4 : T4 + + method(t: T4) { } +>method : (t: T4) => void +>t : T4 +>T4 : T4 +} + +class Wrapper { +>Wrapper : Wrapper +>T5 : T5 + + property: T5; +>property : T5 +>T5 : T5 +} + class C extends CBase { >C : C >T1 : T1 @@ -32,40 +70,3 @@ class C extends CBase { >T1 : T1 } -class CBase extends CBaseBase> { ->CBase : CBase ->T2 : T2 ->CBaseBase : CBaseBase> ->Wrapper : Wrapper ->T2 : T2 - -} - -class CBaseBase { ->CBaseBase : CBaseBase ->T3 : T3 - - constructor(x: Parameter) { } ->x : Parameter ->Parameter : Parameter ->T3 : T3 -} - -class Parameter { ->Parameter : Parameter ->T4 : T4 - - method(t: T4) { } ->method : (t: T4) => void ->t : T4 ->T4 : T4 -} - -class Wrapper { ->Wrapper : Wrapper ->T5 : T5 - - property: T5; ->property : T5 ->T5 : T5 -} diff --git a/tests/baselines/reference/bestChoiceType.js b/tests/baselines/reference/bestChoiceType.js new file mode 100644 index 00000000000..0c1bf5df2d4 --- /dev/null +++ b/tests/baselines/reference/bestChoiceType.js @@ -0,0 +1,35 @@ +//// [bestChoiceType.ts] + +// Repro from #10041 + +(''.match(/ /) || []).map(s => s.toLowerCase()); + +// Similar cases + +function f1() { + let x = ''.match(/ /); + let y = x || []; + let z = y.map(s => s.toLowerCase()); +} + +function f2() { + let x = ''.match(/ /); + let y = x ? x : []; + let z = y.map(s => s.toLowerCase()); +} + + +//// [bestChoiceType.js] +// Repro from #10041 +(''.match(/ /) || []).map(function (s) { return s.toLowerCase(); }); +// Similar cases +function f1() { + var x = ''.match(/ /); + var y = x || []; + var z = y.map(function (s) { return s.toLowerCase(); }); +} +function f2() { + var x = ''.match(/ /); + var y = x ? x : []; + var z = y.map(function (s) { return s.toLowerCase(); }); +} diff --git a/tests/baselines/reference/bestChoiceType.symbols b/tests/baselines/reference/bestChoiceType.symbols new file mode 100644 index 00000000000..25f7de2eeda --- /dev/null +++ b/tests/baselines/reference/bestChoiceType.symbols @@ -0,0 +1,63 @@ +=== tests/cases/compiler/bestChoiceType.ts === + +// 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, --, --), Decl(lib.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 3, 26)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 3, 26)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) + +// Similar cases + +function f1() { +>f1 : Symbol(f1, Decl(bestChoiceType.ts, 3, 48)) + + let x = ''.match(/ /); +>x : Symbol(x, Decl(bestChoiceType.ts, 8, 7)) +>''.match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + + let y = x || []; +>y : Symbol(y, Decl(bestChoiceType.ts, 9, 7)) +>x : Symbol(x, Decl(bestChoiceType.ts, 8, 7)) + + let z = y.map(s => s.toLowerCase()); +>z : Symbol(z, Decl(bestChoiceType.ts, 10, 7)) +>y.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>y : Symbol(y, Decl(bestChoiceType.ts, 9, 7)) +>map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 10, 18)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 10, 18)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +} + +function f2() { +>f2 : Symbol(f2, Decl(bestChoiceType.ts, 11, 1)) + + let x = ''.match(/ /); +>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7)) +>''.match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + + let y = x ? x : []; +>y : Symbol(y, Decl(bestChoiceType.ts, 15, 7)) +>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7)) +>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7)) + + let z = y.map(s => s.toLowerCase()); +>z : Symbol(z, Decl(bestChoiceType.ts, 16, 7)) +>y.map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>y : Symbol(y, Decl(bestChoiceType.ts, 15, 7)) +>map : Symbol(Array.map, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 16, 18)) +>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +>s : Symbol(s, Decl(bestChoiceType.ts, 16, 18)) +>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --)) +} + diff --git a/tests/baselines/reference/bestChoiceType.types b/tests/baselines/reference/bestChoiceType.types new file mode 100644 index 00000000000..b1b4d419756 --- /dev/null +++ b/tests/baselines/reference/bestChoiceType.types @@ -0,0 +1,88 @@ +=== tests/cases/compiler/bestChoiceType.ts === + +// Repro from #10041 + +(''.match(/ /) || []).map(s => s.toLowerCase()); +>(''.match(/ /) || []).map(s => s.toLowerCase()) : string[] +>(''.match(/ /) || []).map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>(''.match(/ /) || []) : RegExpMatchArray +>''.match(/ /) || [] : RegExpMatchArray +>''.match(/ /) : RegExpMatchArray | null +>''.match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>'' : "" +>match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>/ / : RegExp +>[] : never[] +>map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>s => s.toLowerCase() : (s: string) => string +>s : string +>s.toLowerCase() : string +>s.toLowerCase : () => string +>s : string +>toLowerCase : () => string + +// Similar cases + +function f1() { +>f1 : () => void + + let x = ''.match(/ /); +>x : RegExpMatchArray | null +>''.match(/ /) : RegExpMatchArray | null +>''.match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>'' : "" +>match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>/ / : RegExp + + let y = x || []; +>y : RegExpMatchArray +>x || [] : RegExpMatchArray +>x : RegExpMatchArray | null +>[] : never[] + + let z = y.map(s => s.toLowerCase()); +>z : string[] +>y.map(s => s.toLowerCase()) : string[] +>y.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>y : RegExpMatchArray +>map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>s => s.toLowerCase() : (s: string) => string +>s : string +>s.toLowerCase() : string +>s.toLowerCase : () => string +>s : string +>toLowerCase : () => string +} + +function f2() { +>f2 : () => void + + let x = ''.match(/ /); +>x : RegExpMatchArray | null +>''.match(/ /) : RegExpMatchArray | null +>''.match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>'' : "" +>match : { (regexp: string): RegExpMatchArray | null; (regexp: RegExp): RegExpMatchArray | null; } +>/ / : RegExp + + let y = x ? x : []; +>y : RegExpMatchArray +>x ? x : [] : RegExpMatchArray +>x : RegExpMatchArray | null +>x : RegExpMatchArray +>[] : never[] + + let z = y.map(s => s.toLowerCase()); +>z : string[] +>y.map(s => s.toLowerCase()) : string[] +>y.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>y : RegExpMatchArray +>map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] +>s => s.toLowerCase() : (s: string) => string +>s : string +>s.toLowerCase() : string +>s.toLowerCase : () => string +>s : string +>toLowerCase : () => string +} + diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types index 1191004a32b..f3ea48e637b 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -40,36 +40,36 @@ var derived2: Derived2; var r = true ? 1 : 2; >r : number ->true ? 1 : 2 : number ->true : boolean ->1 : number ->2 : number +>true ? 1 : 2 : 1 | 2 +>true : true +>1 : 1 +>2 : 2 var r3 = true ? 1 : {}; >r3 : {} >true ? 1 : {} : {} ->true : boolean ->1 : number +>true : true +>1 : 1 >{} : {} var r4 = true ? a : b; // typeof a >r4 : { x: number; y?: number; } | { x: number; z?: number; } >true ? a : b : { x: number; y?: number; } | { x: number; z?: number; } ->true : boolean +>true : true >a : { x: number; y?: number; } >b : { x: number; z?: number; } var r5 = true ? b : a; // typeof b ->r5 : { x: number; z?: number; } | { x: number; y?: number; } ->true ? b : a : { x: number; z?: number; } | { x: number; y?: number; } ->true : boolean +>r5 : { x: number; y?: number; } | { x: number; z?: number; } +>true ? b : a : { x: number; y?: number; } | { x: number; z?: number; } +>true : true >b : { x: number; z?: number; } >a : { x: number; y?: number; } var r6 = true ? (x: number) => { } : (x: Object) => { }; // returns number => void >r6 : (x: number) => void >true ? (x: number) => { } : (x: Object) => { } : (x: number) => void ->true : boolean +>true : true >(x: number) => { } : (x: number) => void >x : number >(x: Object) => { } : (x: Object) => void @@ -81,7 +81,7 @@ var r7: (x: Object) => void = true ? (x: number) => { } : (x: Object) => { }; >x : Object >Object : Object >true ? (x: number) => { } : (x: Object) => { } : (x: number) => void ->true : boolean +>true : true >(x: number) => { } : (x: number) => void >x : number >(x: Object) => { } : (x: Object) => void @@ -91,7 +91,7 @@ var r7: (x: Object) => void = true ? (x: number) => { } : (x: Object) => { }; var r8 = true ? (x: Object) => { } : (x: number) => { }; // returns Object => void >r8 : (x: Object) => void >true ? (x: Object) => { } : (x: number) => { } : (x: Object) => void ->true : boolean +>true : true >(x: Object) => { } : (x: Object) => void >x : Object >Object : Object @@ -102,14 +102,14 @@ var r10: Base = true ? derived : derived2; // no error since we use the contextu >r10 : Base >Base : Base >true ? derived : derived2 : Derived | Derived2 ->true : boolean +>true : true >derived : Derived >derived2 : Derived2 var r11 = true ? base : derived2; >r11 : Base >true ? base : derived2 : Base ->true : boolean +>true : true >base : Base >derived2 : Derived2 @@ -125,7 +125,7 @@ function foo5(t: T, u: U): Object { return true ? t : u; // BCT is Object >true ? t : u : T | U ->true : boolean +>true : true >t : T >u : U } diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types index ef9ecfb2a11..ad09c274c9b 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types @@ -29,16 +29,16 @@ var derived2: Derived2; >Derived2 : Derived2 var r2 = true ? 1 : ''; ->r2 : number | string ->true ? 1 : '' : number | string ->true : boolean ->1 : number ->'' : string +>r2 : string | number +>true ? 1 : '' : "" | 1 +>true : true +>1 : 1 +>'' : "" var r9 = true ? derived : derived2; >r9 : Derived | Derived2 >true ? derived : derived2 : Derived | Derived2 ->true : boolean +>true : true >derived : Derived >derived2 : Derived2 @@ -53,7 +53,7 @@ function foo(t: T, u: U) { return true ? t : u; >true ? t : u : T | U ->true : boolean +>true : true >t : T >u : U } @@ -70,7 +70,7 @@ function foo2(t: T, u: U) { // Error for referencing own type pa return true ? t : u; // Ok because BCT(T, U) = U >true ? t : u : U ->true : boolean +>true : true >t : T >u : U } @@ -89,7 +89,7 @@ function foo3(t: T, u: U) { return true ? t : u; >true ? t : u : U ->true : boolean +>true : true >t : T >u : U } diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index 7d3330f4863..82c96ecb86c 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -2,17 +2,17 @@ function f1(x: number): string { return "foo"; } >f1 : (x: number) => string >x : number ->"foo" : string +>"foo" : "foo" function f2(x: number): number { return 10; } >f2 : (x: number) => number >x : number ->10 : number +>10 : 10 function f3(x: number): boolean { return true; } >f3 : (x: number) => boolean >x : number ->true : boolean +>true : true enum E1 { one } >E1 : E1 @@ -64,7 +64,7 @@ t3 = [5, undefined]; >t3 = [5, undefined] : [number, undefined] >t3 : [number, any] >[5, undefined] : [number, undefined] ->5 : number +>5 : 5 >undefined : undefined t4 = [E1.one, E2.two, 20]; @@ -77,29 +77,29 @@ t4 = [E1.one, E2.two, 20]; >E2.two : E2 >E2 : typeof E2 >two : E2 ->20 : number +>20 : 20 var e1 = t1[2]; // {} >e1 : ((x: number) => string) | ((x: number) => number) >t1[2] : ((x: number) => string) | ((x: number) => number) >t1 : [(x: number) => string, (x: number) => number] ->2 : number +>2 : 2 var e2 = t2[2]; // {} >e2 : E1 | E2 >t2[2] : E1 | E2 >t2 : [E1, E2] ->2 : number +>2 : 2 var e3 = t3[2]; // any >e3 : any >t3[2] : any >t3 : [number, any] ->2 : number +>2 : 2 var e4 = t4[3]; // number ->e4 : E1 | E2 | number ->t4[3] : E1 | E2 | number +>e4 : number | E1 | E2 +>t4[3] : number | E1 | E2 >t4 : [E1, E2, number] ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.types b/tests/baselines/reference/bestCommonTypeOfTuple2.types index 573e3466376..b64da59d5b0 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.types @@ -30,14 +30,14 @@ class C1 implements base1 { i = "foo"; c } >C1 : C1 >base1 : base1 >i : string ->"foo" : string +>"foo" : "foo" >c : any class D1 extends C1 { i = "bar"; d } >D1 : D1 >C1 : C1 >i : string ->"bar" : string +>"bar" : "bar" >d : any var t1: [C, base]; @@ -66,32 +66,32 @@ var t5: [C1, F] >F : F var e11 = t1[4]; // base ->e11 : C | base ->t1[4] : C | base +>e11 : base | C +>t1[4] : base | C >t1 : [C, base] ->4 : number +>4 : 4 var e21 = t2[4]; // {} >e21 : C | D >t2[4] : C | D >t2 : [C, D] ->4 : number +>4 : 4 var e31 = t3[4]; // C1 >e31 : C1 | D1 >t3[4] : C1 | D1 >t3 : [C1, D1] ->4 : number +>4 : 4 var e41 = t4[2]; // base1 >e41 : base1 | C1 >t4[2] : base1 | C1 >t4 : [base1, C1] ->2 : number +>2 : 2 var e51 = t5[2]; // {} ->e51 : C1 | F ->t5[2] : C1 | F +>e51 : F | C1 +>t5[2] : F | C1 >t5 : [C1, F] ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/bestCommonTypeReturnStatement.types b/tests/baselines/reference/bestCommonTypeReturnStatement.types index 31f72ab93b4..b327e707350 100644 --- a/tests/baselines/reference/bestCommonTypeReturnStatement.types +++ b/tests/baselines/reference/bestCommonTypeReturnStatement.types @@ -15,10 +15,10 @@ interface IPromise { } function f() { ->f : () => IPromise +>f : () => IPromise if (true) return b(); ->true : boolean +>true : true >b() : IPromise >b : () => IPromise diff --git a/tests/baselines/reference/binaryArithmatic1.types b/tests/baselines/reference/binaryArithmatic1.types index 43f4f26de60..3d24fe4b44e 100644 --- a/tests/baselines/reference/binaryArithmatic1.types +++ b/tests/baselines/reference/binaryArithmatic1.types @@ -2,6 +2,6 @@ var v = 4 | null; >v : number >4 | null : number ->4 : number +>4 : 4 >null : null diff --git a/tests/baselines/reference/binaryArithmatic2.types b/tests/baselines/reference/binaryArithmatic2.types index 77cbce5b1e3..1ce8776384c 100644 --- a/tests/baselines/reference/binaryArithmatic2.types +++ b/tests/baselines/reference/binaryArithmatic2.types @@ -2,6 +2,6 @@ var v = 4 | undefined; >v : number >4 | undefined : number ->4 : number +>4 : 4 >undefined : undefined diff --git a/tests/baselines/reference/binaryIntegerLiteral.types b/tests/baselines/reference/binaryIntegerLiteral.types index 4ff3c3c28a3..5cee371fdbe 100644 --- a/tests/baselines/reference/binaryIntegerLiteral.types +++ b/tests/baselines/reference/binaryIntegerLiteral.types @@ -1,26 +1,26 @@ === tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteral.ts === var bin1 = 0b11010; >bin1 : number ->0b11010 : number +>0b11010 : 26 var bin2 = 0B11010; >bin2 : number ->0B11010 : number +>0B11010 : 26 var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111; >bin3 : number ->0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111 : number +>0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111 : 9.671406556917009e+24 var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111; >bin4 : number ->0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : number +>0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : Infinity var obj1 = { >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } >{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } 0b11010: "Hello", ->"Hello" : string +>"Hello" : "Hello" a: bin1, >a : number @@ -31,10 +31,10 @@ var obj1 = { b: 0b11010, >b : number ->0b11010 : number +>0b11010 : 26 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true, ->true : boolean +>true : true } var obj2 = { @@ -42,7 +42,7 @@ var obj2 = { >{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } 0B11010: "World", ->"World" : string +>"World" : "World" a: bin2, >a : number @@ -53,100 +53,100 @@ var obj2 = { b: 0B11010, >b : number ->0B11010 : number +>0B11010 : 26 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false, ->false : boolean +>false : false } obj1[0b11010]; // string >obj1[0b11010] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->0b11010 : number +>0b11010 : 26 obj1[26]; // string >obj1[26] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->26 : number +>26 : 26 obj1["26"]; // string >obj1["26"] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"26" : string +>"26" : "26" obj1["0b11010"]; // any >obj1["0b11010"] : any >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"0b11010" : string +>"0b11010" : "0b11010" obj1["a"]; // number >obj1["a"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"a" : string +>"a" : "a" obj1["b"]; // number >obj1["b"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"b" : string +>"b" : "b" obj1["bin1"]; // number >obj1["bin1"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"bin1" : string +>"bin1" : "bin1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" obj2[0B11010]; // string >obj2[0B11010] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->0B11010 : number +>0B11010 : 26 obj2[26]; // string >obj2[26] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->26 : number +>26 : 26 obj2["26"]; // string >obj2["26"] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"26" : string +>"26" : "26" obj2["0B11010"]; // any >obj2["0B11010"] : any >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"0B11010" : string +>"0B11010" : "0B11010" obj2["a"]; // number >obj2["a"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"a" : string +>"a" : "a" obj2["b"]; // number >obj2["b"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"b" : string +>"b" : "b" obj2["bin2"]; // number >obj2["bin2"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"bin2" : string +>"bin2" : "bin2" obj2[9.671406556917009e+24]; // boolean >obj2[9.671406556917009e+24] : boolean >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->9.671406556917009e+24 : number +>9.671406556917009e+24 : 9.671406556917009e+24 obj2["9.671406556917009e+24"]; // boolean >obj2["9.671406556917009e+24"] : boolean >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"9.671406556917009e+24" : string +>"9.671406556917009e+24" : "9.671406556917009e+24" obj2["Infinity"]; // any >obj2["Infinity"] : any >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" diff --git a/tests/baselines/reference/binaryIntegerLiteralES6.types b/tests/baselines/reference/binaryIntegerLiteralES6.types index 47bfe6f548d..ab28010283b 100644 --- a/tests/baselines/reference/binaryIntegerLiteralES6.types +++ b/tests/baselines/reference/binaryIntegerLiteralES6.types @@ -1,26 +1,26 @@ === tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/binaryIntegerLiteralES6.ts === var bin1 = 0b11010; >bin1 : number ->0b11010 : number +>0b11010 : 26 var bin2 = 0B11010; >bin2 : number ->0B11010 : number +>0B11010 : 26 var bin3 = 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111; >bin3 : number ->0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111 : number +>0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111 : 9.671406556917009e+24 var bin4 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111; >bin4 : number ->0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : number +>0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : Infinity var obj1 = { >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } >{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } 0b11010: "Hello", ->"Hello" : string +>"Hello" : "Hello" a: bin1, >a : number @@ -31,10 +31,10 @@ var obj1 = { b: 0b11010, >b : number ->0b11010 : number +>0b11010 : 26 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true, ->true : boolean +>true : true } var obj2 = { @@ -42,7 +42,7 @@ var obj2 = { >{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } 0B11010: "World", ->"World" : string +>"World" : "World" a: bin2, >a : number @@ -53,101 +53,101 @@ var obj2 = { b: 0B11010, >b : number ->0B11010 : number +>0B11010 : 26 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false, ->false : boolean +>false : false } obj1[0b11010]; // string >obj1[0b11010] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->0b11010 : number +>0b11010 : 26 obj1[26]; // string >obj1[26] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->26 : number +>26 : 26 obj1["26"]; // string >obj1["26"] : string >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"26" : string +>"26" : "26" obj1["0b11010"]; // any >obj1["0b11010"] : any >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"0b11010" : string +>"0b11010" : "0b11010" obj1["a"]; // number >obj1["a"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"a" : string +>"a" : "a" obj1["b"]; // number >obj1["b"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"b" : string +>"b" : "b" obj1["bin1"]; // number >obj1["bin1"] : number >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"bin1" : string +>"bin1" : "bin1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean >obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" obj2[0B11010]; // string >obj2[0B11010] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->0B11010 : number +>0B11010 : 26 obj2[26]; // string >obj2[26] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->26 : number +>26 : 26 obj2["26"]; // string >obj2["26"] : string >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"26" : string +>"26" : "26" obj2["0B11010"]; // any >obj2["0B11010"] : any >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"0B11010" : string +>"0B11010" : "0B11010" obj2["a"]; // number >obj2["a"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"a" : string +>"a" : "a" obj2["b"]; // number >obj2["b"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"b" : string +>"b" : "b" obj2["bin2"]; // number >obj2["bin2"] : number >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"bin2" : string +>"bin2" : "bin2" obj2[9.671406556917009e+24]; // boolean >obj2[9.671406556917009e+24] : boolean >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->9.671406556917009e+24 : number +>9.671406556917009e+24 : 9.671406556917009e+24 obj2["9.671406556917009e+24"]; // boolean >obj2["9.671406556917009e+24"] : boolean >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"9.671406556917009e+24" : string +>"9.671406556917009e+24" : "9.671406556917009e+24" obj2["Infinity"]; // any >obj2["Infinity"] : any >obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" diff --git a/tests/baselines/reference/bind1.js b/tests/baselines/reference/bind1.js index c658384db85..93eafedf81b 100644 --- a/tests/baselines/reference/bind1.js +++ b/tests/baselines/reference/bind1.js @@ -12,6 +12,6 @@ var M; function C() { } return C; - }()); - M.C = C; // this should be an unresolved symbol I error + }()); // this should be an unresolved symbol I error + M.C = C; })(M || (M = {})); diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.types b/tests/baselines/reference/binopAssignmentShouldHaveType.types index d09138bbb88..7adfb46792e 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.types +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.types @@ -3,7 +3,7 @@ declare var console; >console : any "use strict"; ->"use strict" : string +>"use strict" : "use strict" module Test { >Test : typeof Test @@ -15,7 +15,7 @@ module Test { >getName : () => string return "name"; ->"name" : string +>"name" : "name" } bug() { >bug : () => void @@ -35,7 +35,7 @@ module Test { >this : this >getName : () => string >length : number ->0 : number +>0 : 0 console.log(name); >console.log(name) : any diff --git a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types index 234c01e2241..2875a46355c 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types @@ -5,7 +5,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -15,7 +15,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -39,16 +39,16 @@ var ResultIsNumber1 = ~BOOLEAN; var ResultIsNumber2 = ~true; >ResultIsNumber2 : number >~true : number ->true : boolean +>true : true var ResultIsNumber3 = ~{ x: true, y: false }; >ResultIsNumber3 : number >~{ x: true, y: false } : number >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsNumber4 = ~objA.a; @@ -89,7 +89,7 @@ var ResultIsNumber8 = ~~BOOLEAN; // miss assignment operators ~true; >~true : number ->true : boolean +>true : true ~BOOLEAN; >~BOOLEAN : number @@ -101,10 +101,10 @@ var ResultIsNumber8 = ~~BOOLEAN; >foo : () => boolean ~true, false; ->~true, false : boolean +>~true, false : false >~true : number ->true : boolean ->false : boolean +>true : true +>false : false ~objA.a; >~objA.a : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithEnumType.types b/tests/baselines/reference/bitwiseNotOperatorWithEnumType.types index bb8be9b3f54..03008f67d11 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithEnumType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithEnumType.types @@ -3,8 +3,8 @@ enum ENUM1 { A, B, "" }; >ENUM1 : ENUM1 ->A : ENUM1 ->B : ENUM1 +>A : ENUM1.A +>B : ENUM1.B // enum type var var ResultIsNumber1 = ~ENUM1; @@ -16,21 +16,21 @@ var ResultIsNumber1 = ~ENUM1; var ResultIsNumber2 = ~ENUM1["A"]; >ResultIsNumber2 : number >~ENUM1["A"] : number ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string +>"A" : "A" var ResultIsNumber3 = ~(ENUM1.A + ENUM1["B"]); >ResultIsNumber3 : number >~(ENUM1.A + ENUM1["B"]) : number >(ENUM1.A + ENUM1["B"]) : number >ENUM1.A + ENUM1["B"] : number ->ENUM1.A : ENUM1 +>ENUM1.A : ENUM1.A >ENUM1 : typeof ENUM1 ->A : ENUM1 ->ENUM1["B"] : ENUM1 +>A : ENUM1.A +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" // multiple ~ operators var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B); @@ -40,12 +40,12 @@ var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B); >~(ENUM1["A"] + ENUM1.B) : number >(ENUM1["A"] + ENUM1.B) : number >ENUM1["A"] + ENUM1.B : number ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string ->ENUM1.B : ENUM1 +>"A" : "A" +>ENUM1.B : ENUM1.B >ENUM1 : typeof ENUM1 ->B : ENUM1 +>B : ENUM1.B // miss assignment operators ~ENUM1; @@ -54,18 +54,18 @@ var ResultIsNumber4 = ~~~(ENUM1["A"] + ENUM1.B); ~ENUM1["A"]; >~ENUM1["A"] : number ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string +>"A" : "A" ~ENUM1.A, ~ENUM1["B"]; >~ENUM1.A, ~ENUM1["B"] : number >~ENUM1.A : number ->ENUM1.A : ENUM1 +>ENUM1.A : ENUM1.A >ENUM1 : typeof ENUM1 ->A : ENUM1 +>A : ENUM1.A >~ENUM1["B"] : number ->ENUM1["B"] : ENUM1 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" diff --git a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types index 228bd43e593..8dc3c31867f 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsNumber2 = ~NUMBER1; var ResultIsNumber3 = ~1; >ResultIsNumber3 : number >~1 : number ->1 : number +>1 : 1 var ResultIsNumber4 = ~{ x: 1, y: 2}; >ResultIsNumber4 : number >~{ x: 1, y: 2} : number >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsNumber5 = ~{ x: 1, y: (n: number) => { return n; } }; >ResultIsNumber5 : number >~{ x: 1, y: (n: number) => { return n; } } : number >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsNumber8 = ~NUMBER1[0]; >~NUMBER1[0] : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsNumber9 = ~foo(); >ResultIsNumber9 : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types index 4f1ca481a1f..130b52c8471 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types @@ -6,12 +6,12 @@ var STRING: string; var STRING1: string[] = ["", "abc"]; >STRING1 : string[] >["", "abc"] : string[] ->"" : string ->"abc" : string +>"" : "" +>"abc" : "abc" function foo(): string { return "abc"; } >foo : () => string ->"abc" : string +>"abc" : "abc" class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return ""; } >foo : () => string ->"" : string +>"" : "" } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsNumber2 = ~STRING1; var ResultIsNumber3 = ~""; >ResultIsNumber3 : number >~"" : number ->"" : string +>"" : "" var ResultIsNumber4 = ~{ x: "", y: "" }; >ResultIsNumber4 : number >~{ x: "", y: "" } : number >{ x: "", y: "" } : { x: string; y: string; } >x : string ->"" : string +>"" : "" >y : string ->"" : string +>"" : "" var ResultIsNumber5 = ~{ x: "", y: (s: string) => { return s; } }; >ResultIsNumber5 : number >~{ x: "", y: (s: string) => { return s; } } : number >{ x: "", y: (s: string) => { return s; } } : { x: string; y: (s: string) => string; } >x : string ->"" : string +>"" : "" >y : (s: string) => string >(s: string) => { return s; } : (s: string) => string >s : string @@ -92,7 +92,7 @@ var ResultIsNumber8 = ~STRING1[0]; >~STRING1[0] : number >STRING1[0] : string >STRING1 : string[] ->0 : number +>0 : 0 var ResultIsNumber9 = ~foo(); >ResultIsNumber9 : number @@ -123,7 +123,7 @@ var ResultIsNumber12 = ~STRING.charAt(0); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 // multiple ~ operators var ResultIsNumber13 = ~~STRING; diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.js index 609d353fbc7..34c3fcc1961 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.js @@ -10,7 +10,7 @@ declare function use(n: number): void; //// [blockScopedBindingsReassignedInLoop1.js] (function () { 'use strict'; - var _loop_1 = function(i) { + var _loop_1 = function (i) { (function () { return use(++i); })(); out_i_1 = i; }; diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types index 7ced53508e6..4824b641841 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types @@ -9,14 +9,14 @@ declare function use(n: number): void; >function () { 'use strict' for (let i = 0; i < 9; ++i) { (() => use(++i))(); }} : () => void 'use strict' ->'use strict' : string +>'use strict' : "use strict" for (let i = 0; i < 9; ++i) { >i : number ->0 : number +>0 : 0 >i < 9 : boolean >i : number ->9 : number +>9 : 9 >++i : number >i : number diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js index 68bfd3cb676..08b869a4f99 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.js @@ -42,7 +42,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { } //// [blockScopedBindingsReassignedInLoop2.js] -var _loop_1 = function(x, y) { +var _loop_1 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_1 = x, out_y_1 = y, "break"; @@ -58,9 +58,10 @@ for (var x = 1, y = 2; x < y; ++x, --y) { var state_1 = _loop_1(x, y); x = out_x_1; y = out_y_1; - if (state_1 === "break") break; + if (state_1 === "break") + break; } -var _loop_2 = function(x, y) { +var _loop_2 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_2 = x, out_y_2 = y, "continue"; @@ -77,7 +78,7 @@ for (var x = 1, y = 2; x < y; ++x, --y) { x = out_x_2; y = out_y_2; } -var _loop_3 = function(x, y) { +var _loop_3 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_3 = x, out_y_3 = y, "break-loop"; @@ -90,14 +91,14 @@ var _loop_3 = function(x, y) { }; var out_x_3, out_y_3; loop: for (var x = 1, y = 2; x < y; ++x, --y) { - var state_3 = _loop_3(x, y); + var state_2 = _loop_3(x, y); x = out_x_3; y = out_y_3; - switch(state_3) { + switch (state_2) { case "break-loop": break loop; } } -var _loop_4 = function(x, y) { +var _loop_4 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_4 = x, out_y_4 = y, "continue-loop"; @@ -110,10 +111,10 @@ var _loop_4 = function(x, y) { }; var out_x_4, out_y_4; loop: for (var x = 1, y = 2; x < y; ++x, --y) { - var state_4 = _loop_4(x, y); + var state_3 = _loop_4(x, y); x = out_x_4; y = out_y_4; - switch(state_4) { + switch (state_3) { case "continue-loop": continue loop; } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types index 244160dcc6b..d1ae4ee20f4 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types @@ -1,9 +1,9 @@ === tests/cases/compiler/blockScopedBindingsReassignedInLoop2.ts === for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -25,23 +25,23 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } else { y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -63,15 +63,15 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue; } else { y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } @@ -80,9 +80,9 @@ loop: for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -104,16 +104,16 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break loop; >loop : any } else { y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } @@ -122,9 +122,9 @@ loop: for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -146,15 +146,15 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue loop; >loop : any } else { y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js index 7e3bac4ff52..d299aaa8452 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.js @@ -93,28 +93,29 @@ for (let x = 1, y = 2; x < y; ++x, --y) { //// [blockScopedBindingsReassignedInLoop3.js] -var _loop_1 = function(x, y) { +var _loop_1 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_1 = x, out_y_1 = y, "break"; } else { - var _loop_2 = function(a_1) { + var _loop_2 = function (a_1) { var f = function () { return a_1; }; if (a_1) { a_1 = x; - return out_a_1_1 = a_1, "break"; + return out_a_1 = a_1, "break"; } else { y++; } - out_a_1_1 = a_1; + out_a_1 = a_1; }; - var out_a_1_1; + var out_a_1; for (var a_1 = 1; a_1 < 5; --a_1) { var state_1 = _loop_2(a_1); - a_1 = out_a_1_1; - if (state_1 === "break") break; + a_1 = out_a_1; + if (state_1 === "break") + break; } y = 5; } @@ -126,29 +127,30 @@ for (var x = 1, y = 2; x < y; ++x, --y) { var state_2 = _loop_1(x, y); x = out_x_1; y = out_y_1; - if (state_2 === "break") break; + if (state_2 === "break") + break; } -var _loop_3 = function(x, y) { +var _loop_3 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_2 = x, out_y_2 = y, "continue"; } else { - var _loop_4 = function(a_2) { + var _loop_4 = function (a_2) { var f = function () { return a_2; }; if (a_2) { a_2 = x; - return out_a_2_1 = a_2, "continue"; + return out_a_2 = a_2, "continue"; } else { y++; } - out_a_2_1 = a_2; + out_a_2 = a_2; }; - var out_a_2_1; + var out_a_2; for (var a_2 = 1; a_2 < 5; --a_2) { _loop_4(a_2); - a_2 = out_a_2_1; + a_2 = out_a_2; } y = 5; } @@ -161,31 +163,31 @@ for (var x = 1, y = 2; x < y; ++x, --y) { x = out_x_2; y = out_y_2; } -var _loop_5 = function(x, y) { +var _loop_5 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_3 = x, out_y_3 = y, "break-loop2"; } else { - var _loop_6 = function(a_3) { + var _loop_6 = function (a_3) { var f = function () { return a_3; }; if (a_3) { a_3 = x; - return out_a_3_1 = a_3, "break-loop1"; + return out_a_3 = a_3, "break-loop1"; } else { y++; - return out_a_3_1 = a_3, "break-loop2"; + return out_a_3 = a_3, "break-loop2"; } - out_a_3_1 = a_3; + out_a_3 = a_3; }; - var out_a_3_1; + var out_a_3; loop1: for (var a_3 = 1; a_3 < 5; --a_3) { - var state_5 = _loop_6(a_3); - a_3 = out_a_3_1; - switch(state_5) { + var state_3 = _loop_6(a_3); + a_3 = out_a_3; + switch (state_3) { case "break-loop1": break loop1; - case "break-loop2": return state_5; + case "break-loop2": return state_3; } } y = 5; @@ -195,38 +197,38 @@ var _loop_5 = function(x, y) { }; var out_x_3, out_y_3; loop2: for (var x = 1, y = 2; x < y; ++x, --y) { - var state_6 = _loop_5(x, y); + var state_4 = _loop_5(x, y); x = out_x_3; y = out_y_3; - switch(state_6) { + switch (state_4) { case "break-loop2": break loop2; } } -var _loop_7 = function(x, y) { +var _loop_7 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return out_x_4 = x, out_y_4 = y, "continue-loop2"; } else { - var _loop_8 = function(a_4) { + var _loop_8 = function (a_4) { var f = function () { return a_4; }; if (a_4) { a_4 = x; - return out_a_4_1 = a_4, "continue-loop1"; + return out_a_4 = a_4, "continue-loop1"; } else { y++; - return out_a_4_1 = a_4, "continue-loop2"; + return out_a_4 = a_4, "continue-loop2"; } - out_a_4_1 = a_4; + out_a_4 = a_4; }; - var out_a_4_1; + var out_a_4; loop1: for (var a_4 = 1; a_4 < 5; --a_4) { - var state_7 = _loop_8(a_4); - a_4 = out_a_4_1; - switch(state_7) { + var state_5 = _loop_8(a_4); + a_4 = out_a_4; + switch (state_5) { case "continue-loop1": continue loop1; - case "continue-loop2": return state_7; + case "continue-loop2": return state_5; } } y = 5; @@ -236,10 +238,10 @@ var _loop_7 = function(x, y) { }; var out_x_4, out_y_4; loop2: for (var x = 1, y = 2; x < y; ++x, --y) { - var state_8 = _loop_7(x, y); + var state_6 = _loop_7(x, y); x = out_x_4; y = out_y_4; - switch(state_8) { + switch (state_6) { case "continue-loop2": continue loop2; } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types index 0753391d5c2..3dab1458b67 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types @@ -2,9 +2,9 @@ for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -26,17 +26,17 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } else { for (let a = 1; a < 5; --a) { >a : number ->1 : number +>1 : 1 >a < 5 : boolean >a : number ->5 : number +>5 : 5 >--a : number >a : number @@ -63,18 +63,18 @@ for (let x = 1, y = 2; x < y; ++x, --y) { } y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -96,17 +96,17 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue; } else { for (let a = 1; a < 5; --a) { >a : number ->1 : number +>1 : 1 >a < 5 : boolean >a : number ->5 : number +>5 : 5 >--a : number >a : number @@ -133,9 +133,9 @@ for (let x = 1, y = 2; x < y; ++x, --y) { } y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } @@ -144,9 +144,9 @@ loop2: for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -168,7 +168,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break loop2; >loop2 : any @@ -179,10 +179,10 @@ for (let x = 1, y = 2; x < y; ++x, --y) { for (let a = 1; a < 5; --a) { >a : number ->1 : number +>1 : 1 >a < 5 : boolean >a : number ->5 : number +>5 : 5 >--a : number >a : number @@ -213,9 +213,9 @@ for (let x = 1, y = 2; x < y; ++x, --y) { } y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } @@ -224,9 +224,9 @@ loop2: for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -248,7 +248,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue loop2; >loop2 : any @@ -259,10 +259,10 @@ for (let x = 1, y = 2; x < y; ++x, --y) { for (let a = 1; a < 5; --a) { >a : number ->1 : number +>1 : 1 >a < 5 : boolean >a : number ->5 : number +>5 : 5 >--a : number >a : number @@ -293,9 +293,9 @@ for (let x = 1, y = 2; x < y; ++x, --y) { } y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.js index 8bff867dc95..e3b99991904 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.js @@ -13,7 +13,7 @@ function f1() { //// [blockScopedBindingsReassignedInLoop4.js] function f1() { - var _loop_1 = function(x, y) { + var _loop_1 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) { return { value: 1 }; @@ -29,6 +29,7 @@ function f1() { var state_1 = _loop_1(x, y); x = out_x_1; y = out_y_1; - if (typeof state_1 === "object") return state_1.value; + if (typeof state_1 === "object") + return state_1.value; } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types index 006f536ccca..fb0367e8782 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types @@ -4,9 +4,9 @@ function f1() { for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -28,16 +28,16 @@ function f1() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return 1; ->1 : number +>1 : 1 } else { y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.js index a891147317d..1ea3f23897a 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.js @@ -9,7 +9,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { //// [blockScopedBindingsReassignedInLoop5.js] -var _loop_1 = function(x, y) { +var _loop_1 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) return out_x_1 = x, out_y_1 = y, "break"; @@ -23,5 +23,6 @@ for (var x = 1, y = 2; x < y; ++x, --y) { var state_1 = _loop_1(x, y); x = out_x_1; y = out_y_1; - if (state_1 === "break") break; + if (state_1 === "break") + break; } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types index 530978dc722..73d13e76afd 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types @@ -1,9 +1,9 @@ === tests/cases/compiler/blockScopedBindingsReassignedInLoop5.ts === for (let x = 1, y = 2; x < y; ++x, --y) { >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -25,13 +25,13 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; else y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.js b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.js index a2a074ed4df..584d8b21100 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.js +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.js @@ -31,7 +31,7 @@ function f2() { //// [blockScopedBindingsReassignedInLoop6.js] function f1() { - var _loop_1 = function(x, y) { + var _loop_1 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) return out_x_1 = x, out_y_1 = y, "break"; @@ -47,12 +47,14 @@ function f1() { var state_1 = _loop_1(x, y); x = out_x_1; y = out_y_1; - if (typeof state_1 === "object") return state_1.value; - if (state_1 === "break") break; + if (typeof state_1 === "object") + return state_1.value; + if (state_1 === "break") + break; } } function f2() { - var _loop_2 = function(x, y) { + var _loop_2 = function (x, y) { var a = function () { return x++ + y++; }; if (x == 1) return out_x_2 = x, out_y_2 = y, "break"; @@ -68,7 +70,9 @@ function f2() { var state_2 = _loop_2(x, y); x = out_x_2; y = out_y_2; - if (typeof state_2 === "object") return state_2.value; - if (state_2 === "break") break; + if (typeof state_2 === "object") + return state_2.value; + if (state_2 === "break") + break; } } diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types index 673c0788a03..8936ded6239 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types @@ -6,8 +6,8 @@ function f1() { >x : number >y : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >x < y : boolean >x : number >y : number @@ -29,18 +29,18 @@ function f1() { if (x == 1) >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; else if (y == 2) >y == 2 : boolean >y : number ->2 : number +>2 : 2 y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 else return; @@ -59,11 +59,11 @@ function f2() { >[{a: 1, b: {c: 2}}] : [{ a: number; b: { c: number; }; }] >{a: 1, b: {c: 2}} : { a: number; b: { c: number; }; } >a : number ->1 : number +>1 : 1 >b : { c: number; } >{c: 2} : { c: number; } >c : number ->2 : number +>2 : 2 >x < y : boolean >x : number >y : number @@ -85,18 +85,18 @@ function f2() { if (x == 1) >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; else if (y == 2) >y == 2 : boolean >y : number ->2 : number +>2 : 2 y = 5; ->y = 5 : number +>y = 5 : 5 >y : number ->5 : number +>5 : 5 else return; diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES5.types b/tests/baselines/reference/blockScopedFunctionDeclarationES5.types index b3c4d9b7d73..8dfdd11da43 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES5.types +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES5.types @@ -1,6 +1,6 @@ === tests/cases/compiler/blockScopedFunctionDeclarationES5.ts === if (true) { ->true : boolean +>true : true function foo() { } >foo : () => void diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES6.types b/tests/baselines/reference/blockScopedFunctionDeclarationES6.types index 7ab74feb0ed..8f87507a5ac 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES6.types +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES6.types @@ -1,6 +1,6 @@ === tests/cases/compiler/blockScopedFunctionDeclarationES6.ts === if (true) { ->true : boolean +>true : true function foo() { } >foo : () => void diff --git a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.js b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.js index 06eaa9916e3..0197d919fef 100644 --- a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.js +++ b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.js @@ -163,31 +163,35 @@ function foo8() { var x; } function foo9() { - var y = (function () { - function class_3() { - } - class_3.a = x; - return class_3; - }()); + var y = (_a = (function () { + function class_3() { + } + return class_3; + }()), + _a.a = x, + _a); var x; + var _a; } function foo10() { var A = (function () { function A() { } - A.a = x; return A; }()); + A.a = x; var x; } function foo11() { function f() { - var y = (function () { - function class_4() { - } - class_4.a = x; - return class_4; - }()); + var y = (_a = (function () { + function class_4() { + } + return class_4; + }()), + _a.a = x, + _a); + var _a; } var x; } diff --git a/tests/baselines/reference/bom-utf16be.types b/tests/baselines/reference/bom-utf16be.types index 1787d102245..e13c45ede2f 100644 --- a/tests/baselines/reference/bom-utf16be.types +++ b/tests/baselines/reference/bom-utf16be.types @@ -1,5 +1,5 @@ === tests/cases/compiler/bom-utf16be.ts === var x=10; >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/bom-utf16le.types b/tests/baselines/reference/bom-utf16le.types index 865c94eb82d..bb2038bb23d 100644 --- a/tests/baselines/reference/bom-utf16le.types +++ b/tests/baselines/reference/bom-utf16le.types @@ -1,5 +1,5 @@ === tests/cases/compiler/bom-utf16le.ts === var x=10; >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/bom-utf8.types b/tests/baselines/reference/bom-utf8.types index d96d0132383..0f2b45b8ea9 100644 --- a/tests/baselines/reference/bom-utf8.types +++ b/tests/baselines/reference/bom-utf8.types @@ -1,5 +1,5 @@ === tests/cases/compiler/bom-utf8.ts === var x=10; >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/booleanAssignment.errors.txt b/tests/baselines/reference/booleanAssignment.errors.txt index 15b506d3df4..fc25fd4007f 100644 --- a/tests/baselines/reference/booleanAssignment.errors.txt +++ b/tests/baselines/reference/booleanAssignment.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/booleanAssignment.ts(2,1): error TS2322: Type 'number' is not assignable to type 'Boolean'. -tests/cases/compiler/booleanAssignment.ts(3,1): error TS2322: Type 'string' is not assignable to type 'Boolean'. +tests/cases/compiler/booleanAssignment.ts(2,1): error TS2322: Type '1' is not assignable to type 'Boolean'. +tests/cases/compiler/booleanAssignment.ts(3,1): error TS2322: Type '"a"' is not assignable to type 'Boolean'. tests/cases/compiler/booleanAssignment.ts(4,1): error TS2322: Type '{}' is not assignable to type 'Boolean'. Types of property 'valueOf' are incompatible. Type '() => Object' is not assignable to type '() => boolean'. @@ -10,10 +10,10 @@ tests/cases/compiler/booleanAssignment.ts(4,1): error TS2322: Type '{}' is not a var b = new Boolean(); b = 1; // Error ~ -!!! error TS2322: Type 'number' is not assignable to type 'Boolean'. +!!! error TS2322: Type '1' is not assignable to type 'Boolean'. b = "a"; // Error ~ -!!! error TS2322: Type 'string' is not assignable to type 'Boolean'. +!!! error TS2322: Type '"a"' is not assignable to type 'Boolean'. b = {}; // Error ~ !!! error TS2322: Type '{}' is not assignable to type 'Boolean'. diff --git a/tests/baselines/reference/booleanLiteralTypes1.js b/tests/baselines/reference/booleanLiteralTypes1.js new file mode 100644 index 00000000000..6fb0244ac68 --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes1.js @@ -0,0 +1,171 @@ +//// [booleanLiteralTypes1.ts] +type A1 = true | false; +type A2 = false | true; + +function f1() { + var a: A1; + var a: A2; + var a: true | false; + var a: false | true; +} + +function f2(a: true | false, b: boolean) { + a = b; + b = a; +} + +function f3(a: true | false, b: true | false) { + var x = a || b; + var x = a && b; + var x = !a; +} + +function f4(t: true, f: false) { + var x1 = t && f; + var x2 = f && t; + var x3 = t || f; + var x4 = f || t; + var x5 = !t; + var x6 = !f; +} + +declare function g(x: true): string; +declare function g(x: false): boolean; +declare function g(x: boolean): number; + +function f5(b: boolean) { + var z1 = g(true); + var z2 = g(false); + var z3 = g(b); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +function f10(x: true | false) { + switch (x) { + case true: return "true"; + case false: return "false"; + } +} + +function f11(x: true | false) { + switch (x) { + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +} + +function f12(x: true | false) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: true | false) { + if (x === true) { + x; + } + else { + x; + } +} + +type Item = + { kind: true, a: string } | + { kind: false, b: string }; + +function f20(x: Item) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } +} + +function f21(x: Item) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } + return assertNever(x); +} + +//// [booleanLiteralTypes1.js] +function f1() { + var a; + var a; + var a; + var a; +} +function f2(a, b) { + a = b; + b = a; +} +function f3(a, b) { + var x = a || b; + var x = a && b; + var x = !a; +} +function f4(t, f) { + var x1 = t && f; + var x2 = f && t; + var x3 = t || f; + var x4 = f || t; + var x5 = !t; + var x6 = !f; +} +function f5(b) { + var z1 = g(true); + var z2 = g(false); + var z3 = g(b); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case true: return "true"; + case false: return "false"; + } +} +function f11(x) { + switch (x) { + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === true) { + x; + } + else { + x; + } +} +function f20(x) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } +} +function f21(x) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/booleanLiteralTypes1.symbols b/tests/baselines/reference/booleanLiteralTypes1.symbols new file mode 100644 index 00000000000..ee7ab2ca674 --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes1.symbols @@ -0,0 +1,247 @@ +=== tests/cases/conformance/types/literal/booleanLiteralTypes1.ts === +type A1 = true | false; +>A1 : Symbol(A1, Decl(booleanLiteralTypes1.ts, 0, 0)) + +type A2 = false | true; +>A2 : Symbol(A2, Decl(booleanLiteralTypes1.ts, 0, 23)) + +function f1() { +>f1 : Symbol(f1, Decl(booleanLiteralTypes1.ts, 1, 23)) + + var a: A1; +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 4, 7), Decl(booleanLiteralTypes1.ts, 5, 7), Decl(booleanLiteralTypes1.ts, 6, 7), Decl(booleanLiteralTypes1.ts, 7, 7)) +>A1 : Symbol(A1, Decl(booleanLiteralTypes1.ts, 0, 0)) + + var a: A2; +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 4, 7), Decl(booleanLiteralTypes1.ts, 5, 7), Decl(booleanLiteralTypes1.ts, 6, 7), Decl(booleanLiteralTypes1.ts, 7, 7)) +>A2 : Symbol(A2, Decl(booleanLiteralTypes1.ts, 0, 23)) + + var a: true | false; +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 4, 7), Decl(booleanLiteralTypes1.ts, 5, 7), Decl(booleanLiteralTypes1.ts, 6, 7), Decl(booleanLiteralTypes1.ts, 7, 7)) + + var a: false | true; +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 4, 7), Decl(booleanLiteralTypes1.ts, 5, 7), Decl(booleanLiteralTypes1.ts, 6, 7), Decl(booleanLiteralTypes1.ts, 7, 7)) +} + +function f2(a: true | false, b: boolean) { +>f2 : Symbol(f2, Decl(booleanLiteralTypes1.ts, 8, 1)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 10, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 10, 28)) + + a = b; +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 10, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 10, 28)) + + b = a; +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 10, 28)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 10, 12)) +} + +function f3(a: true | false, b: true | false) { +>f3 : Symbol(f3, Decl(booleanLiteralTypes1.ts, 13, 1)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 15, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 15, 28)) + + var x = a || b; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 16, 7), Decl(booleanLiteralTypes1.ts, 17, 7), Decl(booleanLiteralTypes1.ts, 18, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 15, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 15, 28)) + + var x = a && b; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 16, 7), Decl(booleanLiteralTypes1.ts, 17, 7), Decl(booleanLiteralTypes1.ts, 18, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 15, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 15, 28)) + + var x = !a; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 16, 7), Decl(booleanLiteralTypes1.ts, 17, 7), Decl(booleanLiteralTypes1.ts, 18, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 15, 12)) +} + +function f4(t: true, f: false) { +>f4 : Symbol(f4, Decl(booleanLiteralTypes1.ts, 19, 1)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) + + var x1 = t && f; +>x1 : Symbol(x1, Decl(booleanLiteralTypes1.ts, 22, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) + + var x2 = f && t; +>x2 : Symbol(x2, Decl(booleanLiteralTypes1.ts, 23, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) + + var x3 = t || f; +>x3 : Symbol(x3, Decl(booleanLiteralTypes1.ts, 24, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) + + var x4 = f || t; +>x4 : Symbol(x4, Decl(booleanLiteralTypes1.ts, 25, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) + + var x5 = !t; +>x5 : Symbol(x5, Decl(booleanLiteralTypes1.ts, 26, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes1.ts, 21, 12)) + + var x6 = !f; +>x6 : Symbol(x6, Decl(booleanLiteralTypes1.ts, 27, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes1.ts, 21, 20)) +} + +declare function g(x: true): string; +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 30, 19)) + +declare function g(x: false): boolean; +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 31, 19)) + +declare function g(x: boolean): number; +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 32, 19)) + +function f5(b: boolean) { +>f5 : Symbol(f5, Decl(booleanLiteralTypes1.ts, 32, 39)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 34, 12)) + + var z1 = g(true); +>z1 : Symbol(z1, Decl(booleanLiteralTypes1.ts, 35, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) + + var z2 = g(false); +>z2 : Symbol(z2, Decl(booleanLiteralTypes1.ts, 36, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) + + var z3 = g(b); +>z3 : Symbol(z3, Decl(booleanLiteralTypes1.ts, 37, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes1.ts, 28, 1), Decl(booleanLiteralTypes1.ts, 30, 36), Decl(booleanLiteralTypes1.ts, 31, 38)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 34, 12)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes1.ts, 38, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 40, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function f10(x: true | false) { +>f10 : Symbol(f10, Decl(booleanLiteralTypes1.ts, 42, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 44, 13)) + + switch (x) { +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 44, 13)) + + case true: return "true"; + case false: return "false"; + } +} + +function f11(x: true | false) { +>f11 : Symbol(f11, Decl(booleanLiteralTypes1.ts, 49, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 51, 13)) + + switch (x) { +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 51, 13)) + + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes1.ts, 38, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 51, 13)) +} + +function f12(x: true | false) { +>f12 : Symbol(f12, Decl(booleanLiteralTypes1.ts, 57, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 59, 13)) + + if (x) { +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 59, 13)) + + x; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 59, 13)) + } + else { + x; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 59, 13)) + } +} + +function f13(x: true | false) { +>f13 : Symbol(f13, Decl(booleanLiteralTypes1.ts, 66, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 68, 13)) + + if (x === true) { +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 68, 13)) + + x; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 68, 13)) + } + else { + x; +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 68, 13)) + } +} + +type Item = +>Item : Symbol(Item, Decl(booleanLiteralTypes1.ts, 75, 1)) + + { kind: true, a: string } | +>kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 78, 5)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 78, 17)) + + { kind: false, b: string }; +>kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 79, 5)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 79, 18)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(booleanLiteralTypes1.ts, 79, 31)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 81, 13)) +>Item : Symbol(Item, Decl(booleanLiteralTypes1.ts, 75, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 78, 5), Decl(booleanLiteralTypes1.ts, 79, 5)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 81, 13)) +>kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 78, 5), Decl(booleanLiteralTypes1.ts, 79, 5)) + + case true: return x.a; +>x.a : Symbol(a, Decl(booleanLiteralTypes1.ts, 78, 17)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 81, 13)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 78, 17)) + + case false: return x.b; +>x.b : Symbol(b, Decl(booleanLiteralTypes1.ts, 79, 18)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 81, 13)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 79, 18)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(booleanLiteralTypes1.ts, 86, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 88, 13)) +>Item : Symbol(Item, Decl(booleanLiteralTypes1.ts, 75, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 78, 5), Decl(booleanLiteralTypes1.ts, 79, 5)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 88, 13)) +>kind : Symbol(kind, Decl(booleanLiteralTypes1.ts, 78, 5), Decl(booleanLiteralTypes1.ts, 79, 5)) + + case true: return x.a; +>x.a : Symbol(a, Decl(booleanLiteralTypes1.ts, 78, 17)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 88, 13)) +>a : Symbol(a, Decl(booleanLiteralTypes1.ts, 78, 17)) + + case false: return x.b; +>x.b : Symbol(b, Decl(booleanLiteralTypes1.ts, 79, 18)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 88, 13)) +>b : Symbol(b, Decl(booleanLiteralTypes1.ts, 79, 18)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes1.ts, 38, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes1.ts, 88, 13)) +} diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types new file mode 100644 index 00000000000..3ea7000e3be --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes1.types @@ -0,0 +1,311 @@ +=== tests/cases/conformance/types/literal/booleanLiteralTypes1.ts === +type A1 = true | false; +>A1 : boolean +>true : true +>false : false + +type A2 = false | true; +>A2 : boolean +>false : false +>true : true + +function f1() { +>f1 : () => void + + var a: A1; +>a : boolean +>A1 : boolean + + var a: A2; +>a : boolean +>A2 : boolean + + var a: true | false; +>a : boolean +>true : true +>false : false + + var a: false | true; +>a : boolean +>false : false +>true : true +} + +function f2(a: true | false, b: boolean) { +>f2 : (a: boolean, b: boolean) => void +>a : boolean +>true : true +>false : false +>b : boolean + + a = b; +>a = b : boolean +>a : boolean +>b : boolean + + b = a; +>b = a : boolean +>b : boolean +>a : boolean +} + +function f3(a: true | false, b: true | false) { +>f3 : (a: boolean, b: boolean) => void +>a : boolean +>true : true +>false : false +>b : boolean +>true : true +>false : false + + var x = a || b; +>x : boolean +>a || b : boolean +>a : boolean +>b : boolean + + var x = a && b; +>x : boolean +>a && b : boolean +>a : boolean +>b : boolean + + var x = !a; +>x : boolean +>!a : boolean +>a : boolean +} + +function f4(t: true, f: false) { +>f4 : (t: true, f: false) => void +>t : true +>true : true +>f : false +>false : false + + var x1 = t && f; +>x1 : boolean +>t && f : false +>t : true +>f : false + + var x2 = f && t; +>x2 : boolean +>f && t : false +>f : false +>t : true + + var x3 = t || f; +>x3 : boolean +>t || f : boolean +>t : true +>f : false + + var x4 = f || t; +>x4 : boolean +>f || t : true +>f : false +>t : true + + var x5 = !t; +>x5 : boolean +>!t : boolean +>t : true + + var x6 = !f; +>x6 : boolean +>!f : true +>f : false +} + +declare function g(x: true): string; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : true +>true : true + +declare function g(x: false): boolean; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : false +>false : false + +declare function g(x: boolean): number; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : boolean + +function f5(b: boolean) { +>f5 : (b: boolean) => void +>b : boolean + + var z1 = g(true); +>z1 : string +>g(true) : string +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>true : true + + var z2 = g(false); +>z2 : boolean +>g(false) : boolean +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>false : false + + var z3 = g(b); +>z3 : number +>g(b) : number +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>b : boolean +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +function f10(x: true | false) { +>f10 : (x: boolean) => "true" | "false" +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : "true" + + case false: return "false"; +>false : false +>"false" : "false" + } +} + +function f11(x: true | false) { +>f11 : (x: boolean) => "true" | "false" +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : "true" + + case false: return "false"; +>false : false +>"false" : "false" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: true | false) { +>f12 : (x: boolean) => void +>x : boolean +>true : true +>false : false + + if (x) { +>x : boolean + + x; +>x : true + } + else { + x; +>x : boolean + } +} + +function f13(x: true | false) { +>f13 : (x: boolean) => void +>x : boolean +>true : true +>false : false + + if (x === true) { +>x === true : boolean +>x : boolean +>true : true + + x; +>x : true + } + else { + x; +>x : false + } +} + +type Item = +>Item : Item + + { kind: true, a: string } | +>kind : true +>true : true +>a : string + + { kind: false, b: string }; +>kind : false +>false : false +>b : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : boolean +>x : Item +>kind : boolean + + case true: return x.a; +>true : true +>x.a : string +>x : { kind: true; a: string; } +>a : string + + case false: return x.b; +>false : false +>x.b : string +>x : { kind: false; b: string; } +>b : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : boolean +>x : Item +>kind : boolean + + case true: return x.a; +>true : true +>x.a : string +>x : { kind: true; a: string; } +>a : string + + case false: return x.b; +>false : false +>x.b : string +>x : { kind: false; b: string; } +>b : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/booleanLiteralTypes2.js b/tests/baselines/reference/booleanLiteralTypes2.js new file mode 100644 index 00000000000..7ef643593a6 --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes2.js @@ -0,0 +1,172 @@ +//// [booleanLiteralTypes2.ts] + +type A1 = true | false; +type A2 = false | true; + +function f1() { + var a: A1; + var a: A2; + var a: true | false; + var a: false | true; +} + +function f2(a: true | false, b: boolean) { + a = b; + b = a; +} + +function f3(a: true | false, b: true | false) { + var x = a || b; + var x = a && b; + var x = !a; +} + +function f4(t: true, f: false) { + var x1 = t && f; + var x2 = f && t; + var x3 = t || f; + var x4 = f || t; + var x5 = !t; + var x6 = !f; +} + +declare function g(x: true): string; +declare function g(x: false): boolean; +declare function g(x: boolean): number; + +function f5(b: boolean) { + var z1 = g(true); + var z2 = g(false); + var z3 = g(b); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +function f10(x: true | false) { + switch (x) { + case true: return "true"; + case false: return "false"; + } +} + +function f11(x: true | false) { + switch (x) { + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +} + +function f12(x: true | false) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: true | false) { + if (x === true) { + x; + } + else { + x; + } +} + +type Item = + { kind: true, a: string } | + { kind: false, b: string }; + +function f20(x: Item) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } +} + +function f21(x: Item) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } + return assertNever(x); +} + +//// [booleanLiteralTypes2.js] +function f1() { + var a; + var a; + var a; + var a; +} +function f2(a, b) { + a = b; + b = a; +} +function f3(a, b) { + var x = a || b; + var x = a && b; + var x = !a; +} +function f4(t, f) { + var x1 = t && f; + var x2 = f && t; + var x3 = t || f; + var x4 = f || t; + var x5 = !t; + var x6 = !f; +} +function f5(b) { + var z1 = g(true); + var z2 = g(false); + var z3 = g(b); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case true: return "true"; + case false: return "false"; + } +} +function f11(x) { + switch (x) { + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === true) { + x; + } + else { + x; + } +} +function f20(x) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } +} +function f21(x) { + switch (x.kind) { + case true: return x.a; + case false: return x.b; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/booleanLiteralTypes2.symbols b/tests/baselines/reference/booleanLiteralTypes2.symbols new file mode 100644 index 00000000000..1f64767cbb4 --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes2.symbols @@ -0,0 +1,248 @@ +=== tests/cases/conformance/types/literal/booleanLiteralTypes2.ts === + +type A1 = true | false; +>A1 : Symbol(A1, Decl(booleanLiteralTypes2.ts, 0, 0)) + +type A2 = false | true; +>A2 : Symbol(A2, Decl(booleanLiteralTypes2.ts, 1, 23)) + +function f1() { +>f1 : Symbol(f1, Decl(booleanLiteralTypes2.ts, 2, 23)) + + var a: A1; +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 5, 7), Decl(booleanLiteralTypes2.ts, 6, 7), Decl(booleanLiteralTypes2.ts, 7, 7), Decl(booleanLiteralTypes2.ts, 8, 7)) +>A1 : Symbol(A1, Decl(booleanLiteralTypes2.ts, 0, 0)) + + var a: A2; +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 5, 7), Decl(booleanLiteralTypes2.ts, 6, 7), Decl(booleanLiteralTypes2.ts, 7, 7), Decl(booleanLiteralTypes2.ts, 8, 7)) +>A2 : Symbol(A2, Decl(booleanLiteralTypes2.ts, 1, 23)) + + var a: true | false; +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 5, 7), Decl(booleanLiteralTypes2.ts, 6, 7), Decl(booleanLiteralTypes2.ts, 7, 7), Decl(booleanLiteralTypes2.ts, 8, 7)) + + var a: false | true; +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 5, 7), Decl(booleanLiteralTypes2.ts, 6, 7), Decl(booleanLiteralTypes2.ts, 7, 7), Decl(booleanLiteralTypes2.ts, 8, 7)) +} + +function f2(a: true | false, b: boolean) { +>f2 : Symbol(f2, Decl(booleanLiteralTypes2.ts, 9, 1)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 11, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 11, 28)) + + a = b; +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 11, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 11, 28)) + + b = a; +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 11, 28)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 11, 12)) +} + +function f3(a: true | false, b: true | false) { +>f3 : Symbol(f3, Decl(booleanLiteralTypes2.ts, 14, 1)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 16, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 16, 28)) + + var x = a || b; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 17, 7), Decl(booleanLiteralTypes2.ts, 18, 7), Decl(booleanLiteralTypes2.ts, 19, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 16, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 16, 28)) + + var x = a && b; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 17, 7), Decl(booleanLiteralTypes2.ts, 18, 7), Decl(booleanLiteralTypes2.ts, 19, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 16, 12)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 16, 28)) + + var x = !a; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 17, 7), Decl(booleanLiteralTypes2.ts, 18, 7), Decl(booleanLiteralTypes2.ts, 19, 7)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 16, 12)) +} + +function f4(t: true, f: false) { +>f4 : Symbol(f4, Decl(booleanLiteralTypes2.ts, 20, 1)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) + + var x1 = t && f; +>x1 : Symbol(x1, Decl(booleanLiteralTypes2.ts, 23, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) + + var x2 = f && t; +>x2 : Symbol(x2, Decl(booleanLiteralTypes2.ts, 24, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) + + var x3 = t || f; +>x3 : Symbol(x3, Decl(booleanLiteralTypes2.ts, 25, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) + + var x4 = f || t; +>x4 : Symbol(x4, Decl(booleanLiteralTypes2.ts, 26, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) + + var x5 = !t; +>x5 : Symbol(x5, Decl(booleanLiteralTypes2.ts, 27, 7)) +>t : Symbol(t, Decl(booleanLiteralTypes2.ts, 22, 12)) + + var x6 = !f; +>x6 : Symbol(x6, Decl(booleanLiteralTypes2.ts, 28, 7)) +>f : Symbol(f, Decl(booleanLiteralTypes2.ts, 22, 20)) +} + +declare function g(x: true): string; +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 31, 19)) + +declare function g(x: false): boolean; +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 32, 19)) + +declare function g(x: boolean): number; +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 33, 19)) + +function f5(b: boolean) { +>f5 : Symbol(f5, Decl(booleanLiteralTypes2.ts, 33, 39)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 35, 12)) + + var z1 = g(true); +>z1 : Symbol(z1, Decl(booleanLiteralTypes2.ts, 36, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) + + var z2 = g(false); +>z2 : Symbol(z2, Decl(booleanLiteralTypes2.ts, 37, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) + + var z3 = g(b); +>z3 : Symbol(z3, Decl(booleanLiteralTypes2.ts, 38, 7)) +>g : Symbol(g, Decl(booleanLiteralTypes2.ts, 29, 1), Decl(booleanLiteralTypes2.ts, 31, 36), Decl(booleanLiteralTypes2.ts, 32, 38)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 35, 12)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes2.ts, 39, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 41, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function f10(x: true | false) { +>f10 : Symbol(f10, Decl(booleanLiteralTypes2.ts, 43, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 45, 13)) + + switch (x) { +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 45, 13)) + + case true: return "true"; + case false: return "false"; + } +} + +function f11(x: true | false) { +>f11 : Symbol(f11, Decl(booleanLiteralTypes2.ts, 50, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 52, 13)) + + switch (x) { +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 52, 13)) + + case true: return "true"; + case false: return "false"; + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes2.ts, 39, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 52, 13)) +} + +function f12(x: true | false) { +>f12 : Symbol(f12, Decl(booleanLiteralTypes2.ts, 58, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 60, 13)) + + if (x) { +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 60, 13)) + + x; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 60, 13)) + } + else { + x; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 60, 13)) + } +} + +function f13(x: true | false) { +>f13 : Symbol(f13, Decl(booleanLiteralTypes2.ts, 67, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 69, 13)) + + if (x === true) { +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 69, 13)) + + x; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 69, 13)) + } + else { + x; +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 69, 13)) + } +} + +type Item = +>Item : Symbol(Item, Decl(booleanLiteralTypes2.ts, 76, 1)) + + { kind: true, a: string } | +>kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 79, 5)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 79, 17)) + + { kind: false, b: string }; +>kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 80, 5)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 80, 18)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(booleanLiteralTypes2.ts, 80, 31)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 82, 13)) +>Item : Symbol(Item, Decl(booleanLiteralTypes2.ts, 76, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 79, 5), Decl(booleanLiteralTypes2.ts, 80, 5)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 82, 13)) +>kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 79, 5), Decl(booleanLiteralTypes2.ts, 80, 5)) + + case true: return x.a; +>x.a : Symbol(a, Decl(booleanLiteralTypes2.ts, 79, 17)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 82, 13)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 79, 17)) + + case false: return x.b; +>x.b : Symbol(b, Decl(booleanLiteralTypes2.ts, 80, 18)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 82, 13)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 80, 18)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(booleanLiteralTypes2.ts, 87, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 89, 13)) +>Item : Symbol(Item, Decl(booleanLiteralTypes2.ts, 76, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 79, 5), Decl(booleanLiteralTypes2.ts, 80, 5)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 89, 13)) +>kind : Symbol(kind, Decl(booleanLiteralTypes2.ts, 79, 5), Decl(booleanLiteralTypes2.ts, 80, 5)) + + case true: return x.a; +>x.a : Symbol(a, Decl(booleanLiteralTypes2.ts, 79, 17)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 89, 13)) +>a : Symbol(a, Decl(booleanLiteralTypes2.ts, 79, 17)) + + case false: return x.b; +>x.b : Symbol(b, Decl(booleanLiteralTypes2.ts, 80, 18)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 89, 13)) +>b : Symbol(b, Decl(booleanLiteralTypes2.ts, 80, 18)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(booleanLiteralTypes2.ts, 39, 1)) +>x : Symbol(x, Decl(booleanLiteralTypes2.ts, 89, 13)) +} diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types new file mode 100644 index 00000000000..e5e4fba7f4f --- /dev/null +++ b/tests/baselines/reference/booleanLiteralTypes2.types @@ -0,0 +1,312 @@ +=== tests/cases/conformance/types/literal/booleanLiteralTypes2.ts === + +type A1 = true | false; +>A1 : boolean +>true : true +>false : false + +type A2 = false | true; +>A2 : boolean +>false : false +>true : true + +function f1() { +>f1 : () => void + + var a: A1; +>a : boolean +>A1 : boolean + + var a: A2; +>a : boolean +>A2 : boolean + + var a: true | false; +>a : boolean +>true : true +>false : false + + var a: false | true; +>a : boolean +>false : false +>true : true +} + +function f2(a: true | false, b: boolean) { +>f2 : (a: boolean, b: boolean) => void +>a : boolean +>true : true +>false : false +>b : boolean + + a = b; +>a = b : boolean +>a : boolean +>b : boolean + + b = a; +>b = a : boolean +>b : boolean +>a : boolean +} + +function f3(a: true | false, b: true | false) { +>f3 : (a: boolean, b: boolean) => void +>a : boolean +>true : true +>false : false +>b : boolean +>true : true +>false : false + + var x = a || b; +>x : boolean +>a || b : boolean +>a : boolean +>b : boolean + + var x = a && b; +>x : boolean +>a && b : boolean +>a : boolean +>b : boolean + + var x = !a; +>x : boolean +>!a : boolean +>a : boolean +} + +function f4(t: true, f: false) { +>f4 : (t: true, f: false) => void +>t : true +>true : true +>f : false +>false : false + + var x1 = t && f; +>x1 : boolean +>t && f : false +>t : true +>f : false + + var x2 = f && t; +>x2 : boolean +>f && t : false +>f : false +>t : true + + var x3 = t || f; +>x3 : boolean +>t || f : true +>t : true +>f : false + + var x4 = f || t; +>x4 : boolean +>f || t : true +>f : false +>t : true + + var x5 = !t; +>x5 : boolean +>!t : false +>t : true + + var x6 = !f; +>x6 : boolean +>!f : true +>f : false +} + +declare function g(x: true): string; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : true +>true : true + +declare function g(x: false): boolean; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : false +>false : false + +declare function g(x: boolean): number; +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>x : boolean + +function f5(b: boolean) { +>f5 : (b: boolean) => void +>b : boolean + + var z1 = g(true); +>z1 : string +>g(true) : string +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>true : true + + var z2 = g(false); +>z2 : boolean +>g(false) : boolean +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>false : false + + var z3 = g(b); +>z3 : number +>g(b) : number +>g : { (x: true): string; (x: false): boolean; (x: boolean): number; } +>b : boolean +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +function f10(x: true | false) { +>f10 : (x: boolean) => "true" | "false" +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : "true" + + case false: return "false"; +>false : false +>"false" : "false" + } +} + +function f11(x: true | false) { +>f11 : (x: boolean) => "true" | "false" +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : "true" + + case false: return "false"; +>false : false +>"false" : "false" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: true | false) { +>f12 : (x: boolean) => void +>x : boolean +>true : true +>false : false + + if (x) { +>x : boolean + + x; +>x : true + } + else { + x; +>x : false + } +} + +function f13(x: true | false) { +>f13 : (x: boolean) => void +>x : boolean +>true : true +>false : false + + if (x === true) { +>x === true : boolean +>x : boolean +>true : true + + x; +>x : true + } + else { + x; +>x : false + } +} + +type Item = +>Item : Item + + { kind: true, a: string } | +>kind : true +>true : true +>a : string + + { kind: false, b: string }; +>kind : false +>false : false +>b : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : boolean +>x : Item +>kind : boolean + + case true: return x.a; +>true : true +>x.a : string +>x : { kind: true; a: string; } +>a : string + + case false: return x.b; +>false : false +>x.b : string +>x : { kind: false; b: string; } +>b : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : boolean +>x : Item +>kind : boolean + + case true: return x.a; +>true : true +>x.a : string +>x : { kind: true; a: string; } +>a : string + + case false: return x.b; +>false : false +>x.b : string +>x : { kind: false; b: string; } +>b : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/booleanPropertyAccess.types b/tests/baselines/reference/booleanPropertyAccess.types index 2795b36cee5..a0b800b5574 100644 --- a/tests/baselines/reference/booleanPropertyAccess.types +++ b/tests/baselines/reference/booleanPropertyAccess.types @@ -1,19 +1,19 @@ === tests/cases/conformance/types/primitives/boolean/booleanPropertyAccess.ts === var x = true; >x : boolean ->true : boolean +>true : true var a = x.toString(); >a : string >x.toString() : string >x.toString : () => string ->x : boolean +>x : true >toString : () => string var b = x['toString'](); >b : string >x['toString']() : string >x['toString'] : () => string ->x : boolean ->'toString' : string +>x : true +>'toString' : "toString" diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement1.types b/tests/baselines/reference/breakInIterationOrSwitchStatement1.types index 545a20ecc55..fad31ae3c92 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement1.types +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/breakInIterationOrSwitchStatement1.ts === while (true) { ->true : boolean +>true : true break; } diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement2.types b/tests/baselines/reference/breakInIterationOrSwitchStatement2.types index 5736be6c923..e954d459f73 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement2.types +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement2.types @@ -3,5 +3,5 @@ do { break; } while (true); ->true : boolean +>true : true diff --git a/tests/baselines/reference/breakTarget2.types b/tests/baselines/reference/breakTarget2.types index 412203accd1..bf465eb568d 100644 --- a/tests/baselines/reference/breakTarget2.types +++ b/tests/baselines/reference/breakTarget2.types @@ -3,7 +3,7 @@ target: >target : any while (true) { ->true : boolean +>true : true break target; >target : any diff --git a/tests/baselines/reference/breakTarget3.types b/tests/baselines/reference/breakTarget3.types index e4b5f8a1c61..6e926768e12 100644 --- a/tests/baselines/reference/breakTarget3.types +++ b/tests/baselines/reference/breakTarget3.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true break target1; >target1 : any diff --git a/tests/baselines/reference/breakTarget4.types b/tests/baselines/reference/breakTarget4.types index 8b6ccf600ad..80bee56f9c7 100644 --- a/tests/baselines/reference/breakTarget4.types +++ b/tests/baselines/reference/breakTarget4.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true break target2; >target2 : any diff --git a/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types index fe7d3a6ad08..69188eacd1a 100644 --- a/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types @@ -16,7 +16,7 @@ var i: I; var y = i(""); // y should be string >y : string ->i("") : string +>i("") : "" >i : I ->"" : string +>"" : "" diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types index e3bcb35805f..99fc2d955d1 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types @@ -11,9 +11,9 @@ function f(x: T): T { return null; } var r = f(1); >r : number ->f(1) : number +>f(1) : 1 >f : (x: T) => T ->1 : number +>1 : 1 var f2 = (x: T): T => { return null; } >f2 : (x: T) => T @@ -26,9 +26,9 @@ var f2 = (x: T): T => { return null; } var r2 = f2(1); >r2 : number ->f2(1) : number +>f2(1) : 1 >f2 : (x: T) => T ->1 : number +>1 : 1 var f3: { (x: T): T; } >f3 : (x: T) => T @@ -39,9 +39,9 @@ var f3: { (x: T): T; } var r3 = f3(1); >r3 : number ->f3(1) : number +>f3(1) : 1 >f3 : (x: T) => T ->1 : number +>1 : 1 class C { >C : C @@ -59,13 +59,13 @@ class C { } var r4 = (new C()).f(1); >r4 : number ->(new C()).f(1) : number +>(new C()).f(1) : 1 >(new C()).f : (x: T) => T >(new C()) : C >new C() : C >C : typeof C >f : (x: T) => T ->1 : number +>1 : 1 interface I { >I : I @@ -83,11 +83,11 @@ var i: I; var r5 = i.f(1); >r5 : number ->i.f(1) : number +>i.f(1) : 1 >i.f : (x: T) => T >i : I >f : (x: T) => T ->1 : number +>1 : 1 class C2 { >C2 : C2 @@ -111,7 +111,7 @@ var r6 = (new C2()).f(1); >new C2() : C2<{}> >C2 : typeof C2 >f : (x: {}) => {} ->1 : number +>1 : 1 interface I2 { >I2 : I2 @@ -133,5 +133,5 @@ var r7 = i2.f(1); >i2.f : (x: number) => number >i2 : I2 >f : (x: number) => number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt index 63a63309c31..0b542186c29 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt @@ -12,7 +12,7 @@ tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWith tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(35,9): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(44,9): error TS1015: Parameter cannot have question mark and initializer. tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(45,32): error TS1015: Parameter cannot have question mark and initializer. -tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(45,32): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(45,32): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts(46,9): error TS1015: Parameter cannot have question mark and initializer. @@ -91,7 +91,7 @@ tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWith ~ !!! error TS1015: Parameter cannot have question mark and initializer. ~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. b: (x?: any = '') => { } ~ !!! error TS1015: Parameter cannot have question mark and initializer. diff --git a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types index 062961ac093..9fe90ae83c3 100644 --- a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types +++ b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.types @@ -9,7 +9,7 @@ var r = foo(1); // void since there's a body >r : void >foo(1) : void >foo : (x: any) => void ->1 : number +>1 : 1 interface I { >I : I diff --git a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types index 689ac62c35b..0b515750aec 100644 --- a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types +++ b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types @@ -8,13 +8,13 @@ function foo(x) { >x : any return 1; ->1 : number +>1 : 1 } var r = foo(1); >r : number >foo(1) : number >foo : (x: any) => number ->1 : number +>1 : 1 function foo2(x) { >foo2 : (x: any) => number @@ -29,7 +29,7 @@ var r2 = foo2(1); >r2 : number >foo2(1) : number >foo2 : (x: any) => number ->1 : number +>1 : 1 function foo3() { >foo3 : () => any @@ -54,30 +54,30 @@ function foo4(x: T) { } var r4 = foo4(1); >r4 : number ->foo4(1) : number +>foo4(1) : 1 >foo4 : (x: T) => T ->1 : number +>1 : 1 function foo5(x) { ->foo5 : (x: any) => number +>foo5 : (x: any) => 1 | 2 >x : any if (true) { ->true : boolean +>true : true return 1; ->1 : number +>1 : 1 } else { return 2; ->2 : number +>2 : 2 } } var r5 = foo5(1); >r5 : number ->foo5(1) : number ->foo5 : (x: any) => number ->1 : number +>foo5(1) : 1 | 2 +>foo5 : (x: any) => 1 | 2 +>1 : 1 function foo6(x) { >foo6 : (x: any) => any[] @@ -100,7 +100,7 @@ var r6 = foo6(1); >r6 : any[] >foo6(1) : any[] >foo6 : (x: any) => any[] ->1 : number +>1 : 1 function foo7(x) { >foo7 : (x: any) => string @@ -114,7 +114,7 @@ var r7 = foo7(1); >r7 : string >foo7(1) : string >foo7 : (x: any) => string ->1 : number +>1 : 1 // object types function foo8(x: number) { @@ -130,7 +130,7 @@ var r8 = foo8(1); >r8 : { x: number; } >foo8(1) : { x: number; } >foo8 : (x: number) => { x: number; } ->1 : number +>1 : 1 interface I { >I : I @@ -153,7 +153,7 @@ var r9 = foo9(1); >r9 : I >foo9(1) : I >foo9 : (x: number) => I ->1 : number +>1 : 1 class C { >C : C @@ -176,14 +176,14 @@ var r10 = foo10(1); >r10 : C >foo10(1) : C >foo10 : (x: number) => C ->1 : number +>1 : 1 module M { >M : typeof M export var x = 1; >x : number ->1 : number +>1 : 1 export class C { foo: string } >C : C @@ -230,12 +230,12 @@ var r12 = foo12(); function m1() { return 1; } >m1 : typeof m1 ->1 : number +>1 : 1 module m1 { export var y = 2; } >m1 : typeof m1 >y : number ->2 : number +>2 : 2 function foo13() { >foo13 : () => typeof m1 @@ -262,7 +262,7 @@ module c1 { export var x = 1; >x : number ->1 : number +>1 : 1 } function foo14() { >foo14 : () => typeof c1 @@ -282,7 +282,7 @@ enum e1 { A } module e1 { export var y = 1; } >e1 : typeof e1 >y : number ->1 : number +>1 : 1 function foo15() { >foo15 : () => typeof e1 diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt index 1c558910a8c..03219e806ef 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts(9,10): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts(9,10): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts (1 errors) ==== @@ -12,5 +12,5 @@ tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts(9,10) test("expects boolean instead of string"); // should not error - "test" should not expect a boolean test(true); // should error - string expected ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. } \ No newline at end of file diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt index 4ff65843eba..87999dec851 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts(8,11): error TS2320: Interface 'A' cannot simultaneously extend types 'I' and 'I'. Named property 'foo' of types 'I' and 'I' are not identical. -tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts(13,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts(13,16): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. ==== tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts (2 errors) ==== @@ -21,5 +21,5 @@ tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesTha var r = x.foo(1); // no error var r2 = x.foo(''); // error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.types b/tests/baselines/reference/callSignaturesWithOptionalParameters.types index 4ade0e8afe4..e01eed3835a 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.types @@ -20,7 +20,7 @@ var f2 = (x: number, y?: number) => { } foo(1); >foo(1) : void >foo : (x?: number) => void ->1 : number +>1 : 1 foo(); >foo() : void @@ -29,7 +29,7 @@ foo(); f(1); >f(1) : void >f : (x?: number) => void ->1 : number +>1 : 1 f(); >f() : void @@ -38,13 +38,13 @@ f(); f2(1); >f2(1) : void >f2 : (x: number, y?: number) => void ->1 : number +>1 : 1 f2(1, 2); >f2(1, 2) : void >f2 : (x: number, y?: number) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 class C { >C : C @@ -69,7 +69,7 @@ c.foo(1); >c.foo : (x?: number) => void >c : C >foo : (x?: number) => void ->1 : number +>1 : 1 interface I { >I : I @@ -94,22 +94,22 @@ i(); i(1); >i(1) : any >i : I ->1 : number +>1 : 1 i.foo(1); >i.foo(1) : any >i.foo : (x: number, y?: number) => any >i : I >foo : (x: number, y?: number) => any ->1 : number +>1 : 1 i.foo(1, 2); >i.foo(1, 2) : any >i.foo : (x: number, y?: number) => any >i : I >foo : (x: number, y?: number) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a: { >a : { (x?: number): any; foo(x?: number): any; } @@ -129,7 +129,7 @@ a(); a(1); >a(1) : any >a : { (x?: number): any; foo(x?: number): any; } ->1 : number +>1 : 1 a.foo(); >a.foo() : any @@ -142,7 +142,7 @@ a.foo(1); >a.foo : (x?: number) => any >a : { (x?: number): any; foo(x?: number): any; } >foo : (x?: number) => any ->1 : number +>1 : 1 var b = { >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } @@ -176,22 +176,22 @@ b.foo(1); >b.foo : (x?: number) => void >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } >foo : (x?: number) => void ->1 : number +>1 : 1 b.a(1); >b.a(1) : void >b.a : (x: number, y?: number) => void >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } >a : (x: number, y?: number) => void ->1 : number +>1 : 1 b.a(1, 2); >b.a(1, 2) : void >b.a : (x: number, y?: number) => void >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } >a : (x: number, y?: number) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 b.b(); >b.b() : void @@ -204,5 +204,5 @@ b.b(1); >b.b : (x?: number) => void >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } >b : (x?: number) => void ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types index f726840752e..c800a62d096 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types @@ -12,7 +12,7 @@ function foo(x?: number) { } foo(1); >foo(1) : any >foo : (x?: number) => any ->1 : number +>1 : 1 foo(); >foo() : any @@ -35,13 +35,13 @@ function foo2(x: number, y?: number) { } foo2(1); >foo2(1) : any >foo2 : { (x: number): any; (x: number, y?: number): any; } ->1 : number +>1 : 1 foo2(1, 2); >foo2(1, 2) : any >foo2 : { (x: number): any; (x: number, y?: number): any; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 class C { >C : C @@ -84,22 +84,22 @@ c.foo(1); >c.foo : (x?: number) => any >c : C >foo : (x?: number) => any ->1 : number +>1 : 1 c.foo2(1); >c.foo2(1) : any >c.foo2 : { (x: number): any; (x: number, y?: number): any; } >c : C >foo2 : { (x: number): any; (x: number, y?: number): any; } ->1 : number +>1 : 1 c.foo2(1, 2); >c.foo2(1, 2) : any >c.foo2 : { (x: number): any; (x: number, y?: number): any; } >c : C >foo2 : { (x: number): any; (x: number, y?: number): any; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 interface I { >I : I @@ -134,37 +134,37 @@ i(); i(1); >i(1) : any >i : I ->1 : number +>1 : 1 i(1, 2); >i(1, 2) : any >i : I ->1 : number ->2 : number +>1 : 1 +>2 : 2 i.foo(1); >i.foo(1) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >i : I >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number +>1 : 1 i.foo(1, 2); >i.foo(1, 2) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >i : I >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 i.foo(1, 2, 3); >i.foo(1, 2, 3) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >i : I >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var a: { >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } @@ -195,35 +195,35 @@ a(); a(1); >a(1) : any >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } ->1 : number +>1 : 1 a(1, 2); >a(1, 2) : any >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 a.foo(1); >a.foo(1) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number +>1 : 1 a.foo(1, 2); >a.foo(1, 2) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 a.foo(1, 2, 3); >a.foo(1, 2, 3) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index eae92c471e9..c9403f1bb69 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -33,43 +33,43 @@ var xa: X[]; foo(1, 2, "abc"); >foo(1, 2, "abc") : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" foo(1, 2, ...a); >foo(1, 2, ...a) : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] foo(1, 2, ...a, "abc"); >foo(1, 2, ...a, "abc") : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : any >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : any >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -78,11 +78,11 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" (obj.foo)(1, 2, "abc"); >(obj.foo)(1, 2, "abc") : any @@ -90,9 +90,9 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" (obj.foo)(1, 2, ...a); >(obj.foo)(1, 2, ...a) : any @@ -100,8 +100,8 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -111,32 +111,32 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -145,13 +145,13 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" (xa[1].foo)(...[1, 2, "abc"]); >(xa[1].foo)(...[1, 2, "abc"]) : any @@ -161,13 +161,13 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->...[1, 2, "abc"] : number | string ->[1, 2, "abc"] : (number | string)[] ->1 : number ->2 : number ->"abc" : string +>...[1, 2, "abc"] : string | number +>[1, 2, "abc"] : (string | number)[] +>1 : 1 +>2 : 2 +>"abc" : "abc" class C { >C : C @@ -211,14 +211,14 @@ class D extends C { super(1, 2); >super(1, 2) : void >super : typeof C ->1 : number ->2 : number +>1 : 1 +>2 : 2 super(1, 2, ...a); >super(1, 2, ...a) : void >super : typeof C ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] } @@ -230,16 +230,16 @@ class D extends C { >super.foo : (x: number, y: number, ...z: string[]) => void >super : C >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 super.foo(1, 2, ...a); >super.foo(1, 2, ...a) : void >super.foo : (x: number, y: number, ...z: string[]) => void >super : C >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] } diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index b0c118855fe..b25b8dc02b5 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -34,43 +34,43 @@ var xa: X[]; foo(1, 2, "abc"); >foo(1, 2, "abc") : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" foo(1, 2, ...a); >foo(1, 2, ...a) : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] foo(1, 2, ...a, "abc"); >foo(1, 2, ...a, "abc") : void >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : any >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : any >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -79,11 +79,11 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" (obj.foo)(1, 2, "abc"); >(obj.foo)(1, 2, "abc") : any @@ -91,9 +91,9 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" (obj.foo)(1, 2, ...a); >(obj.foo)(1, 2, ...a) : any @@ -101,8 +101,8 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -112,32 +112,32 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo : (x: number, y: number, ...z: string[]) => any >obj : X >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"abc" : string +>1 : 1 +>2 : 2 +>"abc" : "abc" xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -146,13 +146,13 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"abc" : string +>"abc" : "abc" (xa[1].foo)(...[1, 2, "abc"]); >(xa[1].foo)(...[1, 2, "abc"]) : any @@ -162,13 +162,13 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : (x: number, y: number, ...z: string[]) => any >xa[1] : X >xa : X[] ->1 : number +>1 : 1 >foo : (x: number, y: number, ...z: string[]) => any ->...[1, 2, "abc"] : number | string ->[1, 2, "abc"] : (number | string)[] ->1 : number ->2 : number ->"abc" : string +>...[1, 2, "abc"] : string | number +>[1, 2, "abc"] : (string | number)[] +>1 : 1 +>2 : 2 +>"abc" : "abc" class C { >C : C @@ -212,14 +212,14 @@ class D extends C { super(1, 2); >super(1, 2) : void >super : typeof C ->1 : number ->2 : number +>1 : 1 +>2 : 2 super(1, 2, ...a); >super(1, 2, ...a) : void >super : typeof C ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] } @@ -231,16 +231,16 @@ class D extends C { >super.foo : (x: number, y: number, ...z: string[]) => void >super : C >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 super.foo(1, 2, ...a); >super.foo(1, 2, ...a) : void >super.foo : (x: number, y: number, ...z: string[]) => void >super : C >foo : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] } diff --git a/tests/baselines/reference/capturedLetConstInLoop1.errors.txt b/tests/baselines/reference/capturedLetConstInLoop1.errors.txt new file mode 100644 index 00000000000..a10b380bcf9 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop1.errors.txt @@ -0,0 +1,128 @@ +tests/cases/compiler/capturedLetConstInLoop1.ts(69,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1.ts(86,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1.ts(92,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1.ts(109,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop1.ts (4 errors) ==== + //==== let + for (let x in {}) { + (function() { return x}); + (() => x); + } + + for (let x of []) { + (function() { return x}); + (() => x); + } + + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + } + + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + } + + do { + let x; + (function() { return x}); + (() => x); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + } + + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + } + + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + } + + do { + let x, y; + (function() { return x + y}); + (() => x + y); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + } + + //=========const + for (const x in {}) { + (function() { return x}); + (() => x); + } + + for (const x of []) { + (function() { return x}); + (() => x); + } + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + } + + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + } + + do { + const x = 1; + (function() { return x}); + (() => x); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + } + + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + } + + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop1.js b/tests/baselines/reference/capturedLetConstInLoop1.js index fe76bdd5c91..e526092d082 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1.js +++ b/tests/baselines/reference/capturedLetConstInLoop1.js @@ -114,15 +114,15 @@ for (const y = 0; y < 1;) { } //// [capturedLetConstInLoop1.js] -//==== let -var _loop_1 = function(x) { +var _loop_1 = function (x) { (function () { return x; }); (function () { return x; }); }; +//==== let for (var x in {}) { _loop_1(x); } -var _loop_2 = function(x) { +var _loop_2 = function (x) { (function () { return x; }); (function () { return x; }); }; @@ -130,14 +130,14 @@ for (var _i = 0, _a = []; _i < _a.length; _i++) { var x = _a[_i]; _loop_2(x); } -var _loop_3 = function(x) { +var _loop_3 = function (x) { (function () { return x; }); (function () { return x; }); }; for (var x = 0; x < 1; ++x) { _loop_3(x); } -var _loop_4 = function() { +var _loop_4 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -145,7 +145,7 @@ var _loop_4 = function() { while (1 === 1) { _loop_4(); } -var _loop_5 = function() { +var _loop_5 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -153,7 +153,7 @@ var _loop_5 = function() { do { _loop_5(); } while (1 === 1); -var _loop_6 = function(y) { +var _loop_6 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -161,14 +161,14 @@ var _loop_6 = function(y) { for (var y = 0; y < 1; ++y) { _loop_6(y); } -var _loop_7 = function(x, y) { +var _loop_7 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); }; for (var x = 0, y = 1; x < 1; ++x) { _loop_7(x, y); } -var _loop_8 = function() { +var _loop_8 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -176,7 +176,7 @@ var _loop_8 = function() { while (1 === 1) { _loop_8(); } -var _loop_9 = function() { +var _loop_9 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -184,7 +184,7 @@ var _loop_9 = function() { do { _loop_9(); } while (1 === 1); -var _loop_10 = function(y) { +var _loop_10 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -192,15 +192,15 @@ var _loop_10 = function(y) { for (var y = 0; y < 1; ++y) { _loop_10(y); } -//=========const -var _loop_11 = function(x) { +var _loop_11 = function (x) { (function () { return x; }); (function () { return x; }); }; +//=========const for (var x in {}) { _loop_11(x); } -var _loop_12 = function(x) { +var _loop_12 = function (x) { (function () { return x; }); (function () { return x; }); }; @@ -208,14 +208,14 @@ for (var _b = 0, _c = []; _b < _c.length; _b++) { var x = _c[_b]; _loop_12(x); } -var _loop_13 = function(x) { +var _loop_13 = function (x) { (function () { return x; }); (function () { return x; }); }; for (var x = 0; x < 1;) { _loop_13(x); } -var _loop_14 = function() { +var _loop_14 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -223,7 +223,7 @@ var _loop_14 = function() { while (1 === 1) { _loop_14(); } -var _loop_15 = function() { +var _loop_15 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -231,7 +231,7 @@ var _loop_15 = function() { do { _loop_15(); } while (1 === 1); -var _loop_16 = function(y) { +var _loop_16 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -239,14 +239,14 @@ var _loop_16 = function(y) { for (var y = 0; y < 1;) { _loop_16(y); } -var _loop_17 = function(x, y) { +var _loop_17 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); }; for (var x = 0, y = 1; x < 1;) { _loop_17(x, y); } -var _loop_18 = function() { +var _loop_18 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -254,7 +254,7 @@ var _loop_18 = function() { while (1 === 1) { _loop_18(); } -var _loop_19 = function() { +var _loop_19 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -262,7 +262,7 @@ var _loop_19 = function() { do { _loop_19(); } while (1 === 1); -var _loop_20 = function(y) { +var _loop_20 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); diff --git a/tests/baselines/reference/capturedLetConstInLoop1.types b/tests/baselines/reference/capturedLetConstInLoop1.types index bed3db55d7c..c60ac25ce1f 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1.types +++ b/tests/baselines/reference/capturedLetConstInLoop1.types @@ -52,8 +52,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -85,8 +85,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -140,8 +140,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -183,8 +183,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -265,8 +265,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -300,8 +300,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -351,8 +351,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -398,8 +398,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop10.js b/tests/baselines/reference/capturedLetConstInLoop10.js index b493dcbd288..63c114ba6e4 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.js +++ b/tests/baselines/reference/capturedLetConstInLoop10.js @@ -50,7 +50,7 @@ var A = (function () { function A() { } A.prototype.foo = function () { - var _loop_1 = function(x) { + var _loop_1 = function (x) { var f = function () { return x; }; this_1.bar(f()); }; @@ -63,9 +63,9 @@ var A = (function () { A.prototype.bar = function (a) { }; A.prototype.baz = function () { - var _loop_2 = function(x) { + var _loop_2 = function (x) { var a = function () { return x; }; - var _loop_3 = function(y) { + var _loop_3 = function (y) { var b = function () { return y; }; this_2.bar(b()); }; @@ -76,16 +76,16 @@ var A = (function () { this_2.bar(a()); }; var this_2 = this; - for (var _b = 0, _c = [1]; _b < _c.length; _b++) { - var x = _c[_b]; + for (var _i = 0, _a = [1]; _i < _a.length; _i++) { + var x = _a[_i]; _loop_2(x); } }; A.prototype.baz2 = function () { - var _loop_4 = function(x) { + var _loop_4 = function (x) { var a = function () { return x; }; this_3.bar(a()); - var _loop_5 = function(y) { + var _loop_5 = function (y) { var b = function () { return y; }; this_3.bar(b()); }; @@ -95,8 +95,8 @@ var A = (function () { } }; var this_3 = this; - for (var _b = 0, _c = [1]; _b < _c.length; _b++) { - var x = _c[_b]; + for (var _i = 0, _a = [1]; _i < _a.length; _i++) { + var x = _a[_i]; _loop_4(x); } }; @@ -108,7 +108,7 @@ var B = (function () { B.prototype.foo = function () { var _this = this; var a = function () { - var _loop_6 = function(x) { + var _loop_6 = function (x) { var f = function () { return x; }; _this.bar(f()); }; diff --git a/tests/baselines/reference/capturedLetConstInLoop10.types b/tests/baselines/reference/capturedLetConstInLoop10.types index e4bca4d906a..19f328f72bd 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.types +++ b/tests/baselines/reference/capturedLetConstInLoop10.types @@ -8,7 +8,7 @@ class A { for (let x of [0]) { >x : number >[0] : number[] ->0 : number +>0 : 0 let f = function() { return x; }; >f : () => number @@ -35,7 +35,7 @@ class A { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 let a = function() { return x; }; >a : () => number @@ -45,7 +45,7 @@ class A { for (let y of [1]) { >y : number >[1] : number[] ->1 : number +>1 : 1 let b = function() { return y; }; >b : () => number @@ -75,7 +75,7 @@ class A { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 let a = function() { return x; }; >a : () => number @@ -93,7 +93,7 @@ class A { for (let y of [1]) { >y : number >[1] : number[] ->1 : number +>1 : 1 let b = function() { return y; }; >b : () => number @@ -127,7 +127,7 @@ class B { for (let x of [0]) { >x : number >[0] : number[] ->0 : number +>0 : 0 let f = () => x; >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types index 068c124582d..9807d60a1cd 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types @@ -8,7 +8,7 @@ class A { for (let x of [0]) { >x : number >[0] : number[] ->0 : number +>0 : 0 let f = function() { return x; }; >f : () => number @@ -35,7 +35,7 @@ class A { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 let a = function() { return x; }; >a : () => number @@ -45,7 +45,7 @@ class A { for (let y of [1]) { >y : number >[1] : number[] ->1 : number +>1 : 1 let b = function() { return y; }; >b : () => number @@ -75,7 +75,7 @@ class A { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 let a = function() { return x; }; >a : () => number @@ -93,7 +93,7 @@ class A { for (let y of [1]) { >y : number >[1] : number[] ->1 : number +>1 : 1 let b = function() { return y; }; >b : () => number @@ -127,7 +127,7 @@ class B { for (let x of [0]) { >x : number >[0] : number[] ->0 : number +>0 : 0 let f = () => x; >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop11.js b/tests/baselines/reference/capturedLetConstInLoop11.js index 9190dd3ec02..8e9ca71580e 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11.js +++ b/tests/baselines/reference/capturedLetConstInLoop11.js @@ -14,7 +14,7 @@ function foo() { } //// [capturedLetConstInLoop11.js] -var _loop_1 = function() { +var _loop_1 = function () { var x = 1; (function () { return x; }); }; @@ -22,14 +22,15 @@ for (;;) { _loop_1(); } function foo() { - var _loop_2 = function() { + var _loop_2 = function () { var a = 0; switch (a) { case 0: return { value: function () { return a; } }; } }; for (;;) { - var state_2 = _loop_2(); - if (typeof state_2 === "object") return state_2.value; + var state_1 = _loop_2(); + if (typeof state_1 === "object") + return state_1.value; } } diff --git a/tests/baselines/reference/capturedLetConstInLoop11.types b/tests/baselines/reference/capturedLetConstInLoop11.types index 93e18f2cb27..e150744627d 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11.types +++ b/tests/baselines/reference/capturedLetConstInLoop11.types @@ -2,7 +2,7 @@ for (;;) { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -14,16 +14,16 @@ function foo() { for (;;) { const a = 0; ->a : number ->0 : number +>a : 0 +>0 : 0 switch(a) { ->a : number +>a : 0 case 0: return () => a; ->0 : number +>0 : 0 >() => a : () => number ->a : number +>a : 0 } } } diff --git a/tests/baselines/reference/capturedLetConstInLoop11_ES6.js b/tests/baselines/reference/capturedLetConstInLoop11_ES6.js index 49f6e9f5214..df288953f1e 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11_ES6.js +++ b/tests/baselines/reference/capturedLetConstInLoop11_ES6.js @@ -16,7 +16,7 @@ function foo() { //// [capturedLetConstInLoop11_ES6.js] for (;;) { let x = 1; - (() => x); + () => x; } function foo() { for (;;) { diff --git a/tests/baselines/reference/capturedLetConstInLoop11_ES6.types b/tests/baselines/reference/capturedLetConstInLoop11_ES6.types index de75d5d1511..883be74b66d 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop11_ES6.types @@ -2,7 +2,7 @@ for (;;) { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -14,16 +14,16 @@ function foo() { for (;;) { const a = 0; ->a : number ->0 : number +>a : 0 +>0 : 0 switch(a) { ->a : number +>a : 0 case 0: return () => a; ->0 : number +>0 : 0 >() => a : () => number ->a : number +>a : 0 } } } diff --git a/tests/baselines/reference/capturedLetConstInLoop12.js b/tests/baselines/reference/capturedLetConstInLoop12.js index 7235c959a59..1bb691bb72a 100644 --- a/tests/baselines/reference/capturedLetConstInLoop12.js +++ b/tests/baselines/reference/capturedLetConstInLoop12.js @@ -18,8 +18,11 @@ //// [capturedLetConstInLoop12.js] (function () { "use strict"; - var _loop_1 = function(i) { - (function () { return (_a = [i + 1], i = _a[0], _a); var _a; })(); + var _loop_1 = function (i) { + (function () { + return _a = [i + 1], i = _a[0], _a; + var _a; + })(); out_i_1 = i; }; var out_i_1; @@ -30,8 +33,11 @@ })(); (function () { "use strict"; - var _loop_2 = function(i) { - (function () { return (_a = { a: i + 1 }, i = _a.a, _a); var _a; })(); + var _loop_2 = function (i) { + (function () { + return (_a = { a: i + 1 }, i = _a.a, _a); + var _a; + })(); out_i_2 = i; }; var out_i_2; diff --git a/tests/baselines/reference/capturedLetConstInLoop12.types b/tests/baselines/reference/capturedLetConstInLoop12.types index aee671b4d36..1e8877fe53a 100644 --- a/tests/baselines/reference/capturedLetConstInLoop12.types +++ b/tests/baselines/reference/capturedLetConstInLoop12.types @@ -5,14 +5,14 @@ >function() { "use strict"; for (let i = 0; i < 4; i++) { (() => [i] = [i + 1])(); }} : () => void "use strict"; ->"use strict" : string +>"use strict" : "use strict" for (let i = 0; i < 4; i++) { >i : number ->0 : number +>0 : 0 >i < 4 : boolean >i : number ->4 : number +>4 : 4 >i++ : number >i : number @@ -26,7 +26,7 @@ >[i + 1] : [number] >i + 1 : number >i : number ->1 : number +>1 : 1 } })(); @@ -36,14 +36,14 @@ >function() { "use strict"; for (let i = 0; i < 4; i++) { (() => ({a:i} = {a:i + 1}))(); }} : () => void "use strict"; ->"use strict" : string +>"use strict" : "use strict" for (let i = 0; i < 4; i++) { >i : number ->0 : number +>0 : 0 >i < 4 : boolean >i : number ->4 : number +>4 : 4 >i++ : number >i : number @@ -60,6 +60,6 @@ >a : number >i + 1 : number >i : number ->1 : number +>1 : 1 } })(); diff --git a/tests/baselines/reference/capturedLetConstInLoop1_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop1_ES6.errors.txt new file mode 100644 index 00000000000..24c5ddf17b6 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop1_ES6.errors.txt @@ -0,0 +1,128 @@ +tests/cases/compiler/capturedLetConstInLoop1_ES6.ts(69,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1_ES6.ts(86,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1_ES6.ts(92,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop1_ES6.ts(109,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop1_ES6.ts (4 errors) ==== + //==== let + for (let x in {}) { + (function() { return x}); + (() => x); + } + + for (let x of []) { + (function() { return x}); + (() => x); + } + + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + } + + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + } + + do { + let x; + (function() { return x}); + (() => x); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + } + + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + } + + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + } + + do { + let x, y; + (function() { return x + y}); + (() => x + y); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + } + + //=========const + for (const x in {}) { + (function() { return x}); + (() => x); + } + + for (const x of []) { + (function() { return x}); + (() => x); + } + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + } + + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + } + + do { + const x = 1; + (function() { return x}); + (() => x); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + } + + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + } + + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop1_ES6.types b/tests/baselines/reference/capturedLetConstInLoop1_ES6.types index 47b12586684..cee71c0d5cd 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop1_ES6.types @@ -52,8 +52,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -85,8 +85,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -140,8 +140,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -183,8 +183,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -265,8 +265,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -300,8 +300,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -351,8 +351,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -398,8 +398,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop2.errors.txt b/tests/baselines/reference/capturedLetConstInLoop2.errors.txt new file mode 100644 index 00000000000..9125a87ecfe --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop2.errors.txt @@ -0,0 +1,191 @@ +tests/cases/compiler/capturedLetConstInLoop2.ts(108,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2.ts(133,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2.ts(142,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2.ts(170,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop2.ts (4 errors) ==== + + + // ========let + function foo0(x) { + for (let x of []) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo0_1(x) { + for (let x in []) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo2(x) { + while (1 === 1) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo3(x) { + do { + let x; + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } while (1 === 1) + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + let a = arguments.length; + let x = 1; + (function() { return x + a }); + (() => x + a); + } + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + function foo7(x) { + do { + let x, y; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } while (1 === 1) + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + ///=======const + function foo0_c(x) { + for (const x of []) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo0_1_c(x) { + for (const x in []) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo2_c(x) { + while (1 === 1) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo3_c(x) { + do { + const x = 1; + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } while (1 === 1) + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + const x = 1; + (function() { return x + a }); + (() => x + a); + } + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y =1 ; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } while (1 === 1) + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop2.js b/tests/baselines/reference/capturedLetConstInLoop2.js index b41dd380a24..e4461760af3 100644 --- a/tests/baselines/reference/capturedLetConstInLoop2.js +++ b/tests/baselines/reference/capturedLetConstInLoop2.js @@ -179,7 +179,7 @@ function foo8_c(x) { //// [capturedLetConstInLoop2.js] // ========let function foo0(x) { - var _loop_1 = function(x_1) { + var _loop_1 = function (x_1) { var a = arguments_1.length; (function () { return x_1 + a; }); (function () { return x_1 + a; }); @@ -191,7 +191,7 @@ function foo0(x) { } } function foo0_1(x) { - var _loop_2 = function(x_2) { + var _loop_2 = function (x_2) { var a = arguments_2.length; (function () { return x_2 + a; }); (function () { return x_2 + a; }); @@ -202,7 +202,7 @@ function foo0_1(x) { } } function foo1(x) { - var _loop_3 = function(x_3) { + var _loop_3 = function (x_3) { var a = arguments_3.length; (function () { return x_3 + a; }); (function () { return x_3 + a; }); @@ -213,7 +213,7 @@ function foo1(x) { } } function foo2(x) { - var _loop_4 = function() { + var _loop_4 = function () { var a = arguments_4.length; (function () { return x + a; }); (function () { return x + a; }); @@ -224,7 +224,7 @@ function foo2(x) { } } function foo3(x) { - var _loop_5 = function() { + var _loop_5 = function () { var x_4; var a = arguments_5.length; (function () { return x_4 + a; }); @@ -236,7 +236,7 @@ function foo3(x) { } while (1 === 1); } function foo4(x) { - var _loop_6 = function(y) { + var _loop_6 = function (y) { var a = arguments_6.length; var x_5 = 1; (function () { return x_5 + a; }); @@ -248,7 +248,7 @@ function foo4(x) { } } function foo5(x) { - var _loop_7 = function(x_6, y) { + var _loop_7 = function (x_6, y) { var a = arguments_7.length; (function () { return x_6 + y + a; }); (function () { return x_6 + y + a; }); @@ -259,7 +259,7 @@ function foo5(x) { } } function foo6(x) { - var _loop_8 = function() { + var _loop_8 = function () { var x_7, y; var a = arguments_8.length; (function () { return x_7 + y + a; }); @@ -271,7 +271,7 @@ function foo6(x) { } } function foo7(x) { - var _loop_9 = function() { + var _loop_9 = function () { var x_8, y; var a = arguments_9.length; (function () { return x_8 + y + a; }); @@ -283,7 +283,7 @@ function foo7(x) { } while (1 === 1); } function foo8(x) { - var _loop_10 = function(y) { + var _loop_10 = function (y) { var x_9 = 1; var a = arguments_10.length; (function () { return x_9 + y + a; }); @@ -296,7 +296,7 @@ function foo8(x) { } ///=======const function foo0_c(x) { - var _loop_11 = function(x_10) { + var _loop_11 = function (x_10) { var a = arguments_11.length; (function () { return x_10 + a; }); (function () { return x_10 + a; }); @@ -308,7 +308,7 @@ function foo0_c(x) { } } function foo0_1_c(x) { - var _loop_12 = function(x_11) { + var _loop_12 = function (x_11) { var a = arguments_12.length; (function () { return x_11 + a; }); (function () { return x_11 + a; }); @@ -319,7 +319,7 @@ function foo0_1_c(x) { } } function foo1_c(x) { - var _loop_13 = function(x_12) { + var _loop_13 = function (x_12) { var a = arguments_13.length; (function () { return x_12 + a; }); (function () { return x_12 + a; }); @@ -330,7 +330,7 @@ function foo1_c(x) { } } function foo2_c(x) { - var _loop_14 = function() { + var _loop_14 = function () { var a = arguments_14.length; (function () { return x + a; }); (function () { return x + a; }); @@ -341,7 +341,7 @@ function foo2_c(x) { } } function foo3_c(x) { - var _loop_15 = function() { + var _loop_15 = function () { var x_13 = 1; var a = arguments_15.length; (function () { return x_13 + a; }); @@ -353,7 +353,7 @@ function foo3_c(x) { } while (1 === 1); } function foo4_c(x) { - var _loop_16 = function(y) { + var _loop_16 = function (y) { var a = arguments_16.length; var x_14 = 1; (function () { return x_14 + a; }); @@ -365,7 +365,7 @@ function foo4_c(x) { } } function foo5_c(x) { - var _loop_17 = function(x_15, y) { + var _loop_17 = function (x_15, y) { var a = arguments_17.length; (function () { return x_15 + y + a; }); (function () { return x_15 + y + a; }); @@ -376,7 +376,7 @@ function foo5_c(x) { } } function foo6_c(x) { - var _loop_18 = function() { + var _loop_18 = function () { var x_16 = 1, y = 1; var a = arguments_18.length; (function () { return x_16 + y + a; }); @@ -388,7 +388,7 @@ function foo6_c(x) { } } function foo7_c(x) { - var _loop_19 = function() { + var _loop_19 = function () { var x_17 = 1, y = 1; var a = arguments_19.length; (function () { return x_17 + y + a; }); @@ -400,7 +400,7 @@ function foo7_c(x) { } while (1 === 1); } function foo8_c(x) { - var _loop_20 = function(y) { + var _loop_20 = function (y) { var x_18 = 1; var a = arguments_20.length; (function () { return x_18 + y + a; }); diff --git a/tests/baselines/reference/capturedLetConstInLoop2.types b/tests/baselines/reference/capturedLetConstInLoop2.types index 2872eb4c763..f4f7a926f89 100644 --- a/tests/baselines/reference/capturedLetConstInLoop2.types +++ b/tests/baselines/reference/capturedLetConstInLoop2.types @@ -103,8 +103,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let a = arguments.length; >a : number @@ -158,8 +158,8 @@ function foo3(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } function foo4(x) { @@ -249,8 +249,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -317,8 +317,8 @@ function foo7(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } @@ -464,8 +464,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const a = arguments.length; >a : number @@ -520,8 +520,8 @@ function foo3_c(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } function foo4_c(x) { @@ -607,8 +607,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y =1 ; >x : number @@ -679,8 +679,8 @@ function foo7_c(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/capturedLetConstInLoop2_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop2_ES6.errors.txt new file mode 100644 index 00000000000..d61bf3619c7 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop2_ES6.errors.txt @@ -0,0 +1,190 @@ +tests/cases/compiler/capturedLetConstInLoop2_ES6.ts(107,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2_ES6.ts(132,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2_ES6.ts(141,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop2_ES6.ts(169,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop2_ES6.ts (4 errors) ==== + + // ========let + function foo0(x) { + for (let x of []) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo0_1(x) { + for (let x in []) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo2(x) { + while (1 === 1) { + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo3(x) { + do { + let x; + let a = arguments.length; + (function() { return x + a }); + (() => x + a); + } while (1 === 1) + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + let a = arguments.length; + let x = 1; + (function() { return x + a }); + (() => x + a); + } + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + function foo7(x) { + do { + let x, y; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } while (1 === 1) + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + let a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + ///=======const + function foo0_c(x) { + for (const x of []) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo0_1_c(x) { + for (const x in []) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo2_c(x) { + while (1 === 1) { + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } + } + + function foo3_c(x) { + do { + const x = 1; + const a = arguments.length; + (function() { return x + a }); + (() => x + a); + } while (1 === 1) + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + const x = 1; + (function() { return x + a }); + (() => x + a); + } + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y =1 ; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } while (1 === 1) + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + const a = arguments.length; + (function() { return x + y + a }); + (() => x + y + a); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop2_ES6.types b/tests/baselines/reference/capturedLetConstInLoop2_ES6.types index 8a4d9c82628..80e455e44ce 100644 --- a/tests/baselines/reference/capturedLetConstInLoop2_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop2_ES6.types @@ -102,8 +102,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let a = arguments.length; >a : number @@ -157,8 +157,8 @@ function foo3(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } function foo4(x) { @@ -248,8 +248,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -316,8 +316,8 @@ function foo7(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } @@ -463,8 +463,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const a = arguments.length; >a : number @@ -519,8 +519,8 @@ function foo3_c(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } function foo4_c(x) { @@ -606,8 +606,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y =1 ; >x : number @@ -678,8 +678,8 @@ function foo7_c(x) { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/capturedLetConstInLoop3.errors.txt b/tests/baselines/reference/capturedLetConstInLoop3.errors.txt new file mode 100644 index 00000000000..ecc9dbcccc5 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop3.errors.txt @@ -0,0 +1,232 @@ +tests/cases/compiler/capturedLetConstInLoop3.ts(132,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3.ts(164,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3.ts(175,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3.ts(209,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop3.ts (4 errors) ==== + ///=========let + declare function use(a: any); + function foo0(x) { + for (let x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo0_1(x) { + for (let x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo2(x) { + while (1 === 1) { + let x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo3(x) { + do { + let x; + var v; + (function() { return x + v }); + (() => x + v); + } while (1 === 1); + + use(v); + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v) + } + + function foo7(x) { + do { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } while (1 === 1); + + use(v); + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + //===const + function foo0_c(x) { + for (const x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo0_1_c(x) { + for (const x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo2_c(x) { + while (1 === 1) { + const x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo3_c(x) { + do { + const x = 1; + var v; + (function() { return x + v }); + (() => x + v); + } while (1 === 1); + + use(v); + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = y; + const x = 1; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v) + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } while (1 === 1); + + use(v); + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop3.js b/tests/baselines/reference/capturedLetConstInLoop3.js index 233dfe9206c..f3bae712c5b 100644 --- a/tests/baselines/reference/capturedLetConstInLoop3.js +++ b/tests/baselines/reference/capturedLetConstInLoop3.js @@ -219,7 +219,7 @@ function foo8_c(x) { //// [capturedLetConstInLoop3.js] function foo0(x) { - var _loop_1 = function(x_1) { + var _loop_1 = function (x_1) { v = x_1; (function () { return x_1 + v; }); (function () { return x_1 + v; }); @@ -232,7 +232,7 @@ function foo0(x) { use(v); } function foo0_1(x) { - var _loop_2 = function(x_2) { + var _loop_2 = function (x_2) { v = x_2; (function () { return x_2 + v; }); (function () { return x_2 + v; }); @@ -244,7 +244,7 @@ function foo0_1(x) { use(v); } function foo1(x) { - var _loop_3 = function(x_3) { + var _loop_3 = function (x_3) { v = x_3; (function () { return x_3 + v; }); (function () { return x_3 + v; }); @@ -256,7 +256,7 @@ function foo1(x) { use(v); } function foo2(x) { - var _loop_4 = function() { + var _loop_4 = function () { var x_4 = 1; v = x_4; (function () { return x_4 + v; }); @@ -269,7 +269,7 @@ function foo2(x) { use(v); } function foo3(x) { - var _loop_5 = function() { + var _loop_5 = function () { var x_5; (function () { return x_5 + v; }); (function () { return x_5 + v; }); @@ -281,7 +281,7 @@ function foo3(x) { use(v); } function foo4(x) { - var _loop_6 = function(y) { + var _loop_6 = function (y) { v = y; var x_6 = 1; (function () { return x_6 + v; }); @@ -294,7 +294,7 @@ function foo4(x) { use(v); } function foo5(x) { - var _loop_7 = function(x_7, y) { + var _loop_7 = function (x_7, y) { v = x_7; (function () { return x_7 + y + v; }); (function () { return x_7 + y + v; }); @@ -306,7 +306,7 @@ function foo5(x) { use(v); } function foo6(x) { - var _loop_8 = function() { + var _loop_8 = function () { var x_8, y; v = x_8; (function () { return x_8 + y + v; }); @@ -319,7 +319,7 @@ function foo6(x) { use(v); } function foo7(x) { - var _loop_9 = function() { + var _loop_9 = function () { var x_9, y; v = x_9; (function () { return x_9 + y + v; }); @@ -332,7 +332,7 @@ function foo7(x) { use(v); } function foo8(x) { - var _loop_10 = function(y) { + var _loop_10 = function (y) { var x_10 = 1; v = x_10; (function () { return x_10 + y + v; }); @@ -346,7 +346,7 @@ function foo8(x) { } //===const function foo0_c(x) { - var _loop_11 = function(x_11) { + var _loop_11 = function (x_11) { v = x_11; (function () { return x_11 + v; }); (function () { return x_11 + v; }); @@ -359,7 +359,7 @@ function foo0_c(x) { use(v); } function foo0_1_c(x) { - var _loop_12 = function(x_12) { + var _loop_12 = function (x_12) { v = x_12; (function () { return x_12 + v; }); (function () { return x_12 + v; }); @@ -371,7 +371,7 @@ function foo0_1_c(x) { use(v); } function foo1_c(x) { - var _loop_13 = function(x_13) { + var _loop_13 = function (x_13) { v = x_13; (function () { return x_13 + v; }); (function () { return x_13 + v; }); @@ -383,7 +383,7 @@ function foo1_c(x) { use(v); } function foo2_c(x) { - var _loop_14 = function() { + var _loop_14 = function () { var x_14 = 1; v = x_14; (function () { return x_14 + v; }); @@ -396,7 +396,7 @@ function foo2_c(x) { use(v); } function foo3_c(x) { - var _loop_15 = function() { + var _loop_15 = function () { var x_15 = 1; (function () { return x_15 + v; }); (function () { return x_15 + v; }); @@ -408,7 +408,7 @@ function foo3_c(x) { use(v); } function foo4_c(x) { - var _loop_16 = function(y) { + var _loop_16 = function (y) { v = y; var x_16 = 1; (function () { return x_16 + v; }); @@ -421,7 +421,7 @@ function foo4_c(x) { use(v); } function foo5_c(x) { - var _loop_17 = function(x_17, y) { + var _loop_17 = function (x_17, y) { v = x_17; (function () { return x_17 + y + v; }); (function () { return x_17 + y + v; }); @@ -433,7 +433,7 @@ function foo5_c(x) { use(v); } function foo6_c(x) { - var _loop_18 = function() { + var _loop_18 = function () { var x_18 = 1, y = 1; v = x_18; (function () { return x_18 + y + v; }); @@ -446,7 +446,7 @@ function foo6_c(x) { use(v); } function foo7_c(x) { - var _loop_19 = function() { + var _loop_19 = function () { var x_19 = 1, y = 1; v = x_19; (function () { return x_19 + y + v; }); @@ -459,7 +459,7 @@ function foo7_c(x) { use(v); } function foo8_c(x) { - var _loop_20 = function(y) { + var _loop_20 = function (y) { var x_20 = 1; v = x_20; (function () { return x_20 + y + v; }); diff --git a/tests/baselines/reference/capturedLetConstInLoop3.types b/tests/baselines/reference/capturedLetConstInLoop3.types index 9c0c188b727..3f35072fdb2 100644 --- a/tests/baselines/reference/capturedLetConstInLoop3.types +++ b/tests/baselines/reference/capturedLetConstInLoop3.types @@ -114,8 +114,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x = 1; >x : number @@ -173,8 +173,8 @@ function foo3(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -275,8 +275,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -344,8 +344,8 @@ function foo7(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -508,8 +508,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -568,8 +568,8 @@ function foo3_c(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -666,8 +666,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -739,8 +739,8 @@ function foo7_c(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any diff --git a/tests/baselines/reference/capturedLetConstInLoop3_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop3_ES6.errors.txt new file mode 100644 index 00000000000..487c47e32a5 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop3_ES6.errors.txt @@ -0,0 +1,233 @@ +tests/cases/compiler/capturedLetConstInLoop3_ES6.ts(133,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3_ES6.ts(165,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3_ES6.ts(176,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop3_ES6.ts(210,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop3_ES6.ts (4 errors) ==== + + ///=========let + declare function use(a: any); + function foo0(x) { + for (let x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo0_1(x) { + for (let x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo2(x) { + while (1 === 1) { + let x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo3(x) { + do { + let x; + var v; + (function() { return x + v }); + (() => x + v); + } while (1 === 1); + + use(v); + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v) + } + + function foo7(x) { + do { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } while (1 === 1); + + use(v); + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + //===const + function foo0_c(x) { + for (const x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo0_1_c(x) { + for (const x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo2_c(x) { + while (1 === 1) { + const x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo3_c(x) { + do { + const x = 1; + var v; + (function() { return x + v }); + (() => x + v); + } while (1 === 1); + + use(v); + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = y; + const x = 1; + (function() { return x + v }); + (() => x + v); + } + + use(v); + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v) + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } while (1 === 1); + + use(v); + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + } + + use(v); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop3_ES6.types b/tests/baselines/reference/capturedLetConstInLoop3_ES6.types index 03377d913c9..3c7776a6651 100644 --- a/tests/baselines/reference/capturedLetConstInLoop3_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop3_ES6.types @@ -115,8 +115,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x = 1; >x : number @@ -174,8 +174,8 @@ function foo3(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -276,8 +276,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -345,8 +345,8 @@ function foo7(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -509,8 +509,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -569,8 +569,8 @@ function foo3_c(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -667,8 +667,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -740,8 +740,8 @@ function foo7_c(x) { } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any diff --git a/tests/baselines/reference/capturedLetConstInLoop4.errors.txt b/tests/baselines/reference/capturedLetConstInLoop4.errors.txt new file mode 100644 index 00000000000..000286537b8 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop4.errors.txt @@ -0,0 +1,158 @@ +tests/cases/compiler/capturedLetConstInLoop4.ts(90,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4.ts(110,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4.ts(117,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4.ts(137,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop4.ts (4 errors) ==== + + //======let + export function exportedFoo() { + return v0 + v00 + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8; + } + + for (let x of []) { + var v0 = x; + (function() { return x + v0}); + (() => x); + } + + for (let x in []) { + var v00 = x; + (function() { return x + v00}); + (() => x); + } + + for (let x = 0; x < 1; ++x) { + var v1 = x; + (function() { return x + v1}); + (() => x); + } + + while (1 === 1) { + let x; + var v2 = x; + (function() { return x + v2}); + (() => x); + } + + do { + let x; + var v3 = x; + (function() { return x + v3}); + (() => x); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + var v4 = x; + (function() { return x + v4}); + (() => x); + } + + for (let x = 0, y = 1; x < 1; ++x) { + var v5 = x; + (function() { return x + y + v5}); + (() => x + y); + } + + while (1 === 1) { + let x, y; + var v6 = x; + (function() { return x + y + v6}); + (() => x + y); + } + + do { + let x, y; + var v7 = x; + (function() { return x + y + v7}); + (() => x + y); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + var v8 = x; + (function() { return x + y + v8}); + (() => x + y); + } + + //======const + export function exportedFoo2() { + return v0_c + v00_c + v1_c + v2_c + v3_c + v4_c + v5_c + v6_c + v7_c + v8_c; + } + + for (const x of []) { + var v0_c = x; + (function() { return x + v0_c}); + (() => x); + } + + for (const x in []) { + var v00_c = x; + (function() { return x + v00}); + (() => x); + } + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v1_c = x; + (function() { return x + v1_c}); + (() => x); + } + + while (1 === 1) { + const x =1; + var v2_c = x; + (function() { return x + v2_c}); + (() => x); + } + + do { + const x = 1; + var v3_c = x; + (function() { return x + v3_c}); + (() => x); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v4_c = x; + (function() { return x + v4_c}); + (() => x); + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v5_c = x; + (function() { return x + y + v5_c}); + (() => x + y); + } + + while (1 === 1) { + const x = 1, y = 1; + var v6_c = x; + (function() { return x + y + v6_c}); + (() => x + y); + } + + do { + const x = 1, y = 1; + var v7_c = x; + (function() { return x + y + v7_c}); + (() => x + y); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v8_c = x; + (function() { return x + y + v8_c}); + (() => x + y); + } + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop4.js b/tests/baselines/reference/capturedLetConstInLoop4.js index 04f514b01e8..e3587ad64c6 100644 --- a/tests/baselines/reference/capturedLetConstInLoop4.js +++ b/tests/baselines/reference/capturedLetConstInLoop4.js @@ -144,24 +144,24 @@ for (const y = 0; y < 1;) { //// [capturedLetConstInLoop4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var v0, v00, v1, v2, v3, v4, v5, v6, v7, v8, v0_c, v00_c, v1_c, v2_c, v3_c, v4_c, v5_c, v6_c, v7_c, v8_c; //======let function exportedFoo() { return v0 + v00 + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8; } - exports_1("exportedFoo", exportedFoo); //======const function exportedFoo2() { return v0_c + v00_c + v1_c + v2_c + v3_c + v4_c + v5_c + v6_c + v7_c + v8_c; } + var v0, v00, v1, v2, v3, v4, v5, v6, v7, v8, v0_c, v00_c, v1_c, v2_c, v3_c, v4_c, v5_c, v6_c, v7_c, v8_c; + exports_1("exportedFoo", exportedFoo); exports_1("exportedFoo2", exportedFoo2); return { - setters:[], - execute: function() { - var _loop_1 = function(x) { + setters: [], + execute: function () { + var _loop_1 = function (x) { v0 = x; (function () { return x + v0; }); (function () { return x; }); @@ -170,7 +170,7 @@ System.register([], function(exports_1, context_1) { var x = _a[_i]; _loop_1(x); } - var _loop_2 = function(x) { + var _loop_2 = function (x) { v00 = x; (function () { return x + v00; }); (function () { return x; }); @@ -178,7 +178,7 @@ System.register([], function(exports_1, context_1) { for (var x in []) { _loop_2(x); } - var _loop_3 = function(x) { + var _loop_3 = function (x) { v1 = x; (function () { return x + v1; }); (function () { return x; }); @@ -186,7 +186,7 @@ System.register([], function(exports_1, context_1) { for (var x = 0; x < 1; ++x) { _loop_3(x); } - var _loop_4 = function() { + var _loop_4 = function () { var x; v2 = x; (function () { return x + v2; }); @@ -195,7 +195,7 @@ System.register([], function(exports_1, context_1) { while (1 === 1) { _loop_4(); } - var _loop_5 = function() { + var _loop_5 = function () { var x; v3 = x; (function () { return x + v3; }); @@ -204,7 +204,7 @@ System.register([], function(exports_1, context_1) { do { _loop_5(); } while (1 === 1); - var _loop_6 = function(y) { + var _loop_6 = function (y) { var x = 1; v4 = x; (function () { return x + v4; }); @@ -213,7 +213,7 @@ System.register([], function(exports_1, context_1) { for (var y = 0; y < 1; ++y) { _loop_6(y); } - var _loop_7 = function(x, y) { + var _loop_7 = function (x, y) { v5 = x; (function () { return x + y + v5; }); (function () { return x + y; }); @@ -221,7 +221,7 @@ System.register([], function(exports_1, context_1) { for (var x = 0, y = 1; x < 1; ++x) { _loop_7(x, y); } - var _loop_8 = function() { + var _loop_8 = function () { var x, y; v6 = x; (function () { return x + y + v6; }); @@ -230,7 +230,7 @@ System.register([], function(exports_1, context_1) { while (1 === 1) { _loop_8(); } - var _loop_9 = function() { + var _loop_9 = function () { var x, y; v7 = x; (function () { return x + y + v7; }); @@ -239,7 +239,7 @@ System.register([], function(exports_1, context_1) { do { _loop_9(); } while (1 === 1); - var _loop_10 = function(y) { + var _loop_10 = function (y) { var x = 1; v8 = x; (function () { return x + y + v8; }); @@ -248,7 +248,7 @@ System.register([], function(exports_1, context_1) { for (var y = 0; y < 1; ++y) { _loop_10(y); } - var _loop_11 = function(x) { + var _loop_11 = function (x) { v0_c = x; (function () { return x + v0_c; }); (function () { return x; }); @@ -257,7 +257,7 @@ System.register([], function(exports_1, context_1) { var x = _c[_b]; _loop_11(x); } - var _loop_12 = function(x) { + var _loop_12 = function (x) { v00_c = x; (function () { return x + v00; }); (function () { return x; }); @@ -265,7 +265,7 @@ System.register([], function(exports_1, context_1) { for (var x in []) { _loop_12(x); } - var _loop_13 = function(x) { + var _loop_13 = function (x) { v1_c = x; (function () { return x + v1_c; }); (function () { return x; }); @@ -273,7 +273,7 @@ System.register([], function(exports_1, context_1) { for (var x = 0; x < 1;) { _loop_13(x); } - var _loop_14 = function() { + var _loop_14 = function () { var x = 1; v2_c = x; (function () { return x + v2_c; }); @@ -282,7 +282,7 @@ System.register([], function(exports_1, context_1) { while (1 === 1) { _loop_14(); } - var _loop_15 = function() { + var _loop_15 = function () { var x = 1; v3_c = x; (function () { return x + v3_c; }); @@ -291,7 +291,7 @@ System.register([], function(exports_1, context_1) { do { _loop_15(); } while (1 === 1); - var _loop_16 = function(y) { + var _loop_16 = function (y) { var x = 1; v4_c = x; (function () { return x + v4_c; }); @@ -300,7 +300,7 @@ System.register([], function(exports_1, context_1) { for (var y = 0; y < 1;) { _loop_16(y); } - var _loop_17 = function(x, y) { + var _loop_17 = function (x, y) { v5_c = x; (function () { return x + y + v5_c; }); (function () { return x + y; }); @@ -308,7 +308,7 @@ System.register([], function(exports_1, context_1) { for (var x = 0, y = 1; x < 1;) { _loop_17(x, y); } - var _loop_18 = function() { + var _loop_18 = function () { var x = 1, y = 1; v6_c = x; (function () { return x + y + v6_c; }); @@ -317,7 +317,7 @@ System.register([], function(exports_1, context_1) { while (1 === 1) { _loop_18(); } - var _loop_19 = function() { + var _loop_19 = function () { var x = 1, y = 1; v7_c = x; (function () { return x + y + v7_c; }); @@ -326,7 +326,7 @@ System.register([], function(exports_1, context_1) { do { _loop_19(); } while (1 === 1); - var _loop_20 = function(y) { + var _loop_20 = function (y) { var x = 1; v8_c = x; (function () { return x + y + v8_c; }); @@ -336,5 +336,5 @@ System.register([], function(exports_1, context_1) { _loop_20(y); } } - } + }; }); diff --git a/tests/baselines/reference/capturedLetConstInLoop4.types b/tests/baselines/reference/capturedLetConstInLoop4.types index 1bc928cefe4..16226243c53 100644 --- a/tests/baselines/reference/capturedLetConstInLoop4.types +++ b/tests/baselines/reference/capturedLetConstInLoop4.types @@ -96,8 +96,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -141,8 +141,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -208,8 +208,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -263,8 +263,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -394,8 +394,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x =1; >x : number @@ -441,8 +441,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -504,8 +504,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -563,8 +563,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop4_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop4_ES6.errors.txt new file mode 100644 index 00000000000..a83bb1d414f --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop4_ES6.errors.txt @@ -0,0 +1,158 @@ +tests/cases/compiler/capturedLetConstInLoop4_ES6.ts(90,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4_ES6.ts(110,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4_ES6.ts(117,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop4_ES6.ts(137,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop4_ES6.ts (4 errors) ==== + + //======let + export function exportedFoo() { + return v0 + v00 + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8; + } + + for (let x of []) { + var v0 = x; + (function() { return x + v0}); + (() => x); + } + + for (let x in []) { + var v00 = x; + (function() { return x + v00}); + (() => x); + } + + for (let x = 0; x < 1; ++x) { + var v1 = x; + (function() { return x + v1}); + (() => x); + } + + while (1 === 1) { + let x; + var v2 = x; + (function() { return x + v2}); + (() => x); + } + + do { + let x; + var v3 = x; + (function() { return x + v3}); + (() => x); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + var v4 = x; + (function() { return x + v4}); + (() => x); + } + + for (let x = 0, y = 1; x < 1; ++x) { + var v5 = x; + (function() { return x + y + v5}); + (() => x + y); + } + + while (1 === 1) { + let x, y; + var v6 = x; + (function() { return x + y + v6}); + (() => x + y); + } + + do { + let x, y; + var v7 = x; + (function() { return x + y + v7}); + (() => x + y); + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + var v8 = x; + (function() { return x + y + v8}); + (() => x + y); + } + + //======const + export function exportedFoo2() { + return v0_c + v00_c + v1_c + v2_c + v3_c + v4_c + v5_c + v6_c + v7_c + v8_c; + } + + for (const x of []) { + var v0_c = x; + (function() { return x + v0_c}); + (() => x); + } + + for (const x in []) { + var v00_c = x; + (function() { return x + v00}); + (() => x); + } + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v1_c = x; + (function() { return x + v1_c}); + (() => x); + } + + while (1 === 1) { + const x =1; + var v2_c = x; + (function() { return x + v2_c}); + (() => x); + } + + do { + const x = 1; + var v3_c = x; + (function() { return x + v3_c}); + (() => x); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v4_c = x; + (function() { return x + v4_c}); + (() => x); + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v5_c = x; + (function() { return x + y + v5_c}); + (() => x + y); + } + + while (1 === 1) { + const x = 1, y = 1; + var v6_c = x; + (function() { return x + y + v6_c}); + (() => x + y); + } + + do { + const x = 1, y = 1; + var v7_c = x; + (function() { return x + y + v7_c}); + (() => x + y); + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v8_c = x; + (function() { return x + y + v8_c}); + (() => x + y); + } + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop4_ES6.types b/tests/baselines/reference/capturedLetConstInLoop4_ES6.types index cf44c7b6981..fba7d88ec48 100644 --- a/tests/baselines/reference/capturedLetConstInLoop4_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop4_ES6.types @@ -96,8 +96,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -141,8 +141,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -208,8 +208,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -263,8 +263,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -394,8 +394,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x =1; >x : number @@ -441,8 +441,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -504,8 +504,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -563,8 +563,8 @@ do { } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop5.errors.txt b/tests/baselines/reference/capturedLetConstInLoop5.errors.txt new file mode 100644 index 00000000000..b182d8347de --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop5.errors.txt @@ -0,0 +1,300 @@ +tests/cases/compiler/capturedLetConstInLoop5.ts(170,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5.ts(174,13): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5.ts(211,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5.ts(225,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5.ts(229,13): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5.ts(268,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop5.ts (6 errors) ==== + declare function use(a: any); + + //====let + function foo0(x) { + for (let x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo00(x) { + for (let x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == "1") { + return; + } + } + + use(v); + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo2(x) { + while (1 === 1) { + let x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo3(x) { + do { + let x; + var v; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + }; + + use(v) + } + + function foo7(x) { + do { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } while (1 === 1); + + use(v); + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } + + //====const + function foo0_c(x) { + for (const x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo00_c(x) { + for (const x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == "1") { + return; + } + } + + use(v); + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + return; + } + } + + use(v); + } + + function foo2_c(x) { + while (1 === 1) { + const x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo3_c(x) { + do { + const x = 1; + var v; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + return; + } + } + + use(v); + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v) + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop5.js b/tests/baselines/reference/capturedLetConstInLoop5.js index a1a4d4b0a8f..4ea4c85c0d7 100644 --- a/tests/baselines/reference/capturedLetConstInLoop5.js +++ b/tests/baselines/reference/capturedLetConstInLoop5.js @@ -282,7 +282,7 @@ function foo8_c(x) { //// [capturedLetConstInLoop5.js] //====let function foo0(x) { - var _loop_1 = function(x_1) { + var _loop_1 = function (x_1) { v = x_1; (function () { return x_1 + v; }); (function () { return x_1 + v; }); @@ -294,12 +294,13 @@ function foo0(x) { for (var _i = 0, _a = []; _i < _a.length; _i++) { var x_1 = _a[_i]; var state_1 = _loop_1(x_1); - if (typeof state_1 === "object") return state_1.value; + if (typeof state_1 === "object") + return state_1.value; } use(v); } function foo00(x) { - var _loop_2 = function(x_2) { + var _loop_2 = function (x_2) { v = x_2; (function () { return x_2 + v; }); (function () { return x_2 + v; }); @@ -310,12 +311,13 @@ function foo00(x) { var v; for (var x_2 in []) { var state_2 = _loop_2(x_2); - if (typeof state_2 === "object") return state_2.value; + if (typeof state_2 === "object") + return state_2.value; } use(v); } function foo1(x) { - var _loop_3 = function(x_3) { + var _loop_3 = function (x_3) { v = x_3; (function () { return x_3 + v; }); (function () { return x_3 + v; }); @@ -326,12 +328,13 @@ function foo1(x) { var v; for (var x_3 = 0; x_3 < 1; ++x_3) { var state_3 = _loop_3(x_3); - if (typeof state_3 === "object") return state_3.value; + if (typeof state_3 === "object") + return state_3.value; } use(v); } function foo2(x) { - var _loop_4 = function() { + var _loop_4 = function () { var x_4 = 1; v = x_4; (function () { return x_4 + v; }); @@ -343,12 +346,13 @@ function foo2(x) { var v; while (1 === 1) { var state_4 = _loop_4(); - if (typeof state_4 === "object") return state_4.value; + if (typeof state_4 === "object") + return state_4.value; } use(v); } function foo3(x) { - var _loop_5 = function() { + var _loop_5 = function () { var x_5; (function () { return x_5 + v; }); (function () { return x_5 + v; }); @@ -359,12 +363,13 @@ function foo3(x) { var v; do { var state_5 = _loop_5(); - if (typeof state_5 === "object") return state_5.value; + if (typeof state_5 === "object") + return state_5.value; } while (1 === 1); use(v); } function foo4(x) { - var _loop_6 = function(y) { + var _loop_6 = function (y) { v = y; var x_6 = 1; (function () { return x_6 + v; }); @@ -376,12 +381,13 @@ function foo4(x) { var v; for (var y = 0; y < 1; ++y) { var state_6 = _loop_6(y); - if (typeof state_6 === "object") return state_6.value; + if (typeof state_6 === "object") + return state_6.value; } use(v); } function foo5(x) { - var _loop_7 = function(x_7, y) { + var _loop_7 = function (x_7, y) { v = x_7; (function () { return x_7 + y + v; }); (function () { return x_7 + y + v; }); @@ -392,12 +398,13 @@ function foo5(x) { var v; for (var x_7 = 0, y = 1; x_7 < 1; ++x_7) { var state_7 = _loop_7(x_7, y); - if (typeof state_7 === "object") return state_7.value; + if (typeof state_7 === "object") + return state_7.value; } use(v); } function foo6(x) { - var _loop_8 = function() { + var _loop_8 = function () { var x_8, y; v = x_8; (function () { return x_8 + y + v; }); @@ -409,13 +416,14 @@ function foo6(x) { var v; while (1 === 1) { var state_8 = _loop_8(); - if (typeof state_8 === "object") return state_8.value; + if (typeof state_8 === "object") + return state_8.value; } ; use(v); } function foo7(x) { - var _loop_9 = function() { + var _loop_9 = function () { var x_9, y; v = x_9; (function () { return x_9 + y + v; }); @@ -427,12 +435,13 @@ function foo7(x) { var v; do { var state_9 = _loop_9(); - if (typeof state_9 === "object") return state_9.value; + if (typeof state_9 === "object") + return state_9.value; } while (1 === 1); use(v); } function foo8(x) { - var _loop_10 = function(y) { + var _loop_10 = function (y) { var x_10 = 1; v = x_10; (function () { return x_10 + y + v; }); @@ -444,13 +453,14 @@ function foo8(x) { var v; for (var y = 0; y < 1; ++y) { var state_10 = _loop_10(y); - if (typeof state_10 === "object") return state_10.value; + if (typeof state_10 === "object") + return state_10.value; } use(v); } //====const function foo0_c(x) { - var _loop_11 = function(x_11) { + var _loop_11 = function (x_11) { v = x_11; (function () { return x_11 + v; }); (function () { return x_11 + v; }); @@ -462,12 +472,13 @@ function foo0_c(x) { for (var _i = 0, _a = []; _i < _a.length; _i++) { var x_11 = _a[_i]; var state_11 = _loop_11(x_11); - if (typeof state_11 === "object") return state_11.value; + if (typeof state_11 === "object") + return state_11.value; } use(v); } function foo00_c(x) { - var _loop_12 = function(x_12) { + var _loop_12 = function (x_12) { v = x_12; (function () { return x_12 + v; }); (function () { return x_12 + v; }); @@ -478,12 +489,13 @@ function foo00_c(x) { var v; for (var x_12 in []) { var state_12 = _loop_12(x_12); - if (typeof state_12 === "object") return state_12.value; + if (typeof state_12 === "object") + return state_12.value; } use(v); } function foo1_c(x) { - var _loop_13 = function(x_13) { + var _loop_13 = function (x_13) { v = x_13; (function () { return x_13 + v; }); (function () { return x_13 + v; }); @@ -494,12 +506,13 @@ function foo1_c(x) { var v; for (var x_13 = 0; x_13 < 1;) { var state_13 = _loop_13(x_13); - if (typeof state_13 === "object") return state_13.value; + if (typeof state_13 === "object") + return state_13.value; } use(v); } function foo2_c(x) { - var _loop_14 = function() { + var _loop_14 = function () { var x_14 = 1; v = x_14; (function () { return x_14 + v; }); @@ -511,12 +524,13 @@ function foo2_c(x) { var v; while (1 === 1) { var state_14 = _loop_14(); - if (typeof state_14 === "object") return state_14.value; + if (typeof state_14 === "object") + return state_14.value; } use(v); } function foo3_c(x) { - var _loop_15 = function() { + var _loop_15 = function () { var x_15 = 1; (function () { return x_15 + v; }); (function () { return x_15 + v; }); @@ -527,12 +541,13 @@ function foo3_c(x) { var v; do { var state_15 = _loop_15(); - if (typeof state_15 === "object") return state_15.value; + if (typeof state_15 === "object") + return state_15.value; } while (1 === 1); use(v); } function foo4_c(x) { - var _loop_16 = function(y) { + var _loop_16 = function (y) { v = y; var x_16 = 1; (function () { return x_16 + v; }); @@ -544,12 +559,13 @@ function foo4_c(x) { var v; for (var y = 0; y < 1;) { var state_16 = _loop_16(y); - if (typeof state_16 === "object") return state_16.value; + if (typeof state_16 === "object") + return state_16.value; } use(v); } function foo5_c(x) { - var _loop_17 = function(x_17, y) { + var _loop_17 = function (x_17, y) { v = x_17; (function () { return x_17 + y + v; }); (function () { return x_17 + y + v; }); @@ -560,12 +576,13 @@ function foo5_c(x) { var v; for (var x_17 = 0, y = 1; x_17 < 1;) { var state_17 = _loop_17(x_17, y); - if (typeof state_17 === "object") return state_17.value; + if (typeof state_17 === "object") + return state_17.value; } use(v); } function foo6_c(x) { - var _loop_18 = function() { + var _loop_18 = function () { var x_18 = 1, y = 1; v = x_18; (function () { return x_18 + y + v; }); @@ -577,12 +594,13 @@ function foo6_c(x) { var v; while (1 === 1) { var state_18 = _loop_18(); - if (typeof state_18 === "object") return state_18.value; + if (typeof state_18 === "object") + return state_18.value; } use(v); } function foo7_c(x) { - var _loop_19 = function() { + var _loop_19 = function () { var x_19 = 1, y = 1; v = x_19; (function () { return x_19 + y + v; }); @@ -594,12 +612,13 @@ function foo7_c(x) { var v; do { var state_19 = _loop_19(); - if (typeof state_19 === "object") return state_19.value; + if (typeof state_19 === "object") + return state_19.value; } while (1 === 1); use(v); } function foo8_c(x) { - var _loop_20 = function(y) { + var _loop_20 = function (y) { var x_20 = 1; v = x_20; (function () { return x_20 + y + v; }); @@ -611,7 +630,8 @@ function foo8_c(x) { var v; for (var y = 0; y < 1;) { var state_20 = _loop_20(y); - if (typeof state_20 === "object") return state_20.value; + if (typeof state_20 === "object") + return state_20.value; } use(v); } diff --git a/tests/baselines/reference/capturedLetConstInLoop5.types b/tests/baselines/reference/capturedLetConstInLoop5.types index b7b4b880dc4..098a1ce70a4 100644 --- a/tests/baselines/reference/capturedLetConstInLoop5.types +++ b/tests/baselines/reference/capturedLetConstInLoop5.types @@ -33,7 +33,7 @@ function foo0(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -74,7 +74,7 @@ function foo00(x) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" return; } @@ -120,7 +120,7 @@ function foo1(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -138,8 +138,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x = 1; >x : number @@ -166,7 +166,7 @@ function foo2(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -206,14 +206,14 @@ function foo3(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -259,7 +259,7 @@ function foo4(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -311,7 +311,7 @@ function foo5(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -330,8 +330,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -362,7 +362,7 @@ function foo6(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -408,14 +408,14 @@ function foo7(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -466,7 +466,7 @@ function foo8(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -508,7 +508,7 @@ function foo0_c(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -549,7 +549,7 @@ function foo00_c(x) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" return; } @@ -593,7 +593,7 @@ function foo1_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -611,8 +611,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -639,7 +639,7 @@ function foo2_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -680,14 +680,14 @@ function foo3_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -731,7 +731,7 @@ function foo4_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -781,7 +781,7 @@ function foo5_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -800,8 +800,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -834,7 +834,7 @@ function foo6_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -882,14 +882,14 @@ function foo7_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -938,7 +938,7 @@ function foo8_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } diff --git a/tests/baselines/reference/capturedLetConstInLoop5_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop5_ES6.errors.txt new file mode 100644 index 00000000000..05eb0626e2d --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop5_ES6.errors.txt @@ -0,0 +1,301 @@ +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(171,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(175,13): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(212,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(226,30): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(230,13): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop5_ES6.ts(269,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop5_ES6.ts (6 errors) ==== + + declare function use(a: any); + + //====let + function foo0(x) { + for (let x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo00(x) { + for (let x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == "1") { + return; + } + } + + use(v); + } + + function foo1(x) { + for (let x = 0; x < 1; ++x) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo2(x) { + while (1 === 1) { + let x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo3(x) { + do { + let x; + var v; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + function foo4(x) { + for (let y = 0; y < 1; ++y) { + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo5(x) { + for (let x = 0, y = 1; x < 1; ++x) { + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } + + + function foo6(x) { + while (1 === 1) { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + }; + + use(v) + } + + function foo7(x) { + do { + let x, y; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } while (1 === 1); + + use(v); + } + + + function foo8(x) { + for (let y = 0; y < 1; ++y) { + let x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } + + //====const + function foo0_c(x) { + for (const x of []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo00_c(x) { + for (const x in []) { + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == "1") { + return; + } + } + + use(v); + } + + function foo1_c(x) { + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + return; + } + } + + use(v); + } + + function foo2_c(x) { + while (1 === 1) { + const x = 1; + var v = x; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo3_c(x) { + do { + const x = 1; + var v; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + function foo4_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = y; + let x = 1; + (function() { return x + v }); + (() => x + v); + if (x == 1) { + return; + } + } + + use(v); + } + + function foo5_c(x) { + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + return; + } + } + + use(v); + } + + + function foo6_c(x) { + while (1 === 1) { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v) + } + + function foo7_c(x) { + do { + const x = 1, y = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } while (1 === 1) + + use(v); + } + + + function foo8_c(x) { + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + var v = x; + (function() { return x + y + v }); + (() => x + y + v); + if (x == 1) { + return; + } + } + + use(v); + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop5_ES6.types b/tests/baselines/reference/capturedLetConstInLoop5_ES6.types index 855bbfc6308..78b41d7cdf3 100644 --- a/tests/baselines/reference/capturedLetConstInLoop5_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop5_ES6.types @@ -34,7 +34,7 @@ function foo0(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -75,7 +75,7 @@ function foo00(x) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" return; } @@ -121,7 +121,7 @@ function foo1(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -139,8 +139,8 @@ function foo2(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x = 1; >x : number @@ -167,7 +167,7 @@ function foo2(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -207,14 +207,14 @@ function foo3(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -260,7 +260,7 @@ function foo4(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -312,7 +312,7 @@ function foo5(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -331,8 +331,8 @@ function foo6(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -363,7 +363,7 @@ function foo6(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -409,14 +409,14 @@ function foo7(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } } while (1 === 1); >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -467,7 +467,7 @@ function foo8(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -509,7 +509,7 @@ function foo0_c(x) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 return; } @@ -550,7 +550,7 @@ function foo00_c(x) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" return; } @@ -594,7 +594,7 @@ function foo1_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -612,8 +612,8 @@ function foo2_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -640,7 +640,7 @@ function foo2_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -681,14 +681,14 @@ function foo3_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -732,7 +732,7 @@ function foo4_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -782,7 +782,7 @@ function foo5_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -801,8 +801,8 @@ function foo6_c(x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -835,7 +835,7 @@ function foo6_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } @@ -883,14 +883,14 @@ function foo7_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 use(v); >use(v) : any @@ -939,7 +939,7 @@ function foo8_c(x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return; } diff --git a/tests/baselines/reference/capturedLetConstInLoop6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop6.errors.txt new file mode 100644 index 00000000000..c332c5b7323 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop6.errors.txt @@ -0,0 +1,265 @@ +tests/cases/compiler/capturedLetConstInLoop6.ts(144,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6.ts(147,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6.ts(150,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop6.ts(179,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6.ts(191,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6.ts(194,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6.ts(197,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop6.ts(226,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop6.ts (8 errors) ==== + // ====let + for (let x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (let x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "2") { + continue; + } + } + + + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + // ====const + + for (const x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (const x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "2") { + continue; + } + } + + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + } + + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + } + + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop6.js b/tests/baselines/reference/capturedLetConstInLoop6.js index 6a2b4c9a335..cf813da44e1 100644 --- a/tests/baselines/reference/capturedLetConstInLoop6.js +++ b/tests/baselines/reference/capturedLetConstInLoop6.js @@ -239,8 +239,7 @@ for (const y = 0; y < 1;) { //// [capturedLetConstInLoop6.js] -// ====let -var _loop_1 = function(x) { +var _loop_1 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -250,12 +249,14 @@ var _loop_1 = function(x) { return "continue"; } }; +// ====let for (var _i = 0, _a = []; _i < _a.length; _i++) { var x = _a[_i]; var state_1 = _loop_1(x); - if (state_1 === "break") break; + if (state_1 === "break") + break; } -var _loop_2 = function(x) { +var _loop_2 = function (x) { (function () { return x; }); (function () { return x; }); if (x == "1") { @@ -267,9 +268,10 @@ var _loop_2 = function(x) { }; for (var x in []) { var state_2 = _loop_2(x); - if (state_2 === "break") break; + if (state_2 === "break") + break; } -var _loop_3 = function(x) { +var _loop_3 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -281,9 +283,10 @@ var _loop_3 = function(x) { }; for (var x = 0; x < 1; ++x) { var state_3 = _loop_3(x); - if (state_3 === "break") break; + if (state_3 === "break") + break; } -var _loop_4 = function() { +var _loop_4 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -296,9 +299,10 @@ var _loop_4 = function() { }; while (1 === 1) { var state_4 = _loop_4(); - if (state_4 === "break") break; + if (state_4 === "break") + break; } -var _loop_5 = function() { +var _loop_5 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -311,9 +315,10 @@ var _loop_5 = function() { }; do { var state_5 = _loop_5(); - if (state_5 === "break") break; + if (state_5 === "break") + break; } while (1 === 1); -var _loop_6 = function(y) { +var _loop_6 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -326,9 +331,10 @@ var _loop_6 = function(y) { }; for (var y = 0; y < 1; ++y) { var state_6 = _loop_6(y); - if (state_6 === "break") break; + if (state_6 === "break") + break; } -var _loop_7 = function(x, y) { +var _loop_7 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); if (x == 1) { @@ -340,9 +346,10 @@ var _loop_7 = function(x, y) { }; for (var x = 0, y = 1; x < 1; ++x) { var state_7 = _loop_7(x, y); - if (state_7 === "break") break; + if (state_7 === "break") + break; } -var _loop_8 = function() { +var _loop_8 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -355,9 +362,10 @@ var _loop_8 = function() { }; while (1 === 1) { var state_8 = _loop_8(); - if (state_8 === "break") break; + if (state_8 === "break") + break; } -var _loop_9 = function() { +var _loop_9 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -370,9 +378,10 @@ var _loop_9 = function() { }; do { var state_9 = _loop_9(); - if (state_9 === "break") break; + if (state_9 === "break") + break; } while (1 === 1); -var _loop_10 = function(y) { +var _loop_10 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -385,10 +394,10 @@ var _loop_10 = function(y) { }; for (var y = 0; y < 1; ++y) { var state_10 = _loop_10(y); - if (state_10 === "break") break; + if (state_10 === "break") + break; } -// ====const -var _loop_11 = function(x) { +var _loop_11 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -398,12 +407,14 @@ var _loop_11 = function(x) { return "continue"; } }; +// ====const for (var _b = 0, _c = []; _b < _c.length; _b++) { var x = _c[_b]; var state_11 = _loop_11(x); - if (state_11 === "break") break; + if (state_11 === "break") + break; } -var _loop_12 = function(x) { +var _loop_12 = function (x) { (function () { return x; }); (function () { return x; }); if (x == "1") { @@ -415,9 +426,10 @@ var _loop_12 = function(x) { }; for (var x in []) { var state_12 = _loop_12(x); - if (state_12 === "break") break; + if (state_12 === "break") + break; } -var _loop_13 = function(x) { +var _loop_13 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -429,9 +441,10 @@ var _loop_13 = function(x) { }; for (var x = 0; x < 1;) { var state_13 = _loop_13(x); - if (state_13 === "break") break; + if (state_13 === "break") + break; } -var _loop_14 = function() { +var _loop_14 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -444,9 +457,10 @@ var _loop_14 = function() { }; while (1 === 1) { var state_14 = _loop_14(); - if (state_14 === "break") break; + if (state_14 === "break") + break; } -var _loop_15 = function() { +var _loop_15 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -459,9 +473,10 @@ var _loop_15 = function() { }; do { var state_15 = _loop_15(); - if (state_15 === "break") break; + if (state_15 === "break") + break; } while (1 === 1); -var _loop_16 = function(y) { +var _loop_16 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -474,9 +489,10 @@ var _loop_16 = function(y) { }; for (var y = 0; y < 1;) { var state_16 = _loop_16(y); - if (state_16 === "break") break; + if (state_16 === "break") + break; } -var _loop_17 = function(x, y) { +var _loop_17 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); if (x == 1) { @@ -488,9 +504,10 @@ var _loop_17 = function(x, y) { }; for (var x = 0, y = 1; x < 1;) { var state_17 = _loop_17(x, y); - if (state_17 === "break") break; + if (state_17 === "break") + break; } -var _loop_18 = function() { +var _loop_18 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -503,9 +520,10 @@ var _loop_18 = function() { }; while (1 === 1) { var state_18 = _loop_18(); - if (state_18 === "break") break; + if (state_18 === "break") + break; } -var _loop_19 = function() { +var _loop_19 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -518,9 +536,10 @@ var _loop_19 = function() { }; do { var state_19 = _loop_19(); - if (state_19 === "break") break; + if (state_19 === "break") + break; } while (1 === 1); -var _loop_20 = function(y) { +var _loop_20 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -533,5 +552,6 @@ var _loop_20 = function(y) { }; for (var y = 0; y < 1;) { var state_20 = _loop_20(y); - if (state_20 === "break") break; + if (state_20 === "break") + break; } diff --git a/tests/baselines/reference/capturedLetConstInLoop6.types b/tests/baselines/reference/capturedLetConstInLoop6.types index f2b1103305f..a7d28222bb0 100644 --- a/tests/baselines/reference/capturedLetConstInLoop6.types +++ b/tests/baselines/reference/capturedLetConstInLoop6.types @@ -17,14 +17,14 @@ for (let x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -47,14 +47,14 @@ for (let x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } @@ -83,14 +83,14 @@ for (let x = 0; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -98,8 +98,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -117,14 +117,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -147,21 +147,21 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -189,14 +189,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -230,14 +230,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -245,8 +245,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -269,14 +269,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -304,21 +304,21 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -350,14 +350,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -382,14 +382,14 @@ for (const x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -412,14 +412,14 @@ for (const x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } @@ -446,14 +446,14 @@ for (const x = 0; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -461,8 +461,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -481,14 +481,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -512,21 +512,21 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -552,14 +552,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -591,14 +591,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -606,8 +606,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -632,14 +632,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -669,21 +669,21 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -713,14 +713,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } diff --git a/tests/baselines/reference/capturedLetConstInLoop6_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop6_ES6.errors.txt new file mode 100644 index 00000000000..18ecfe7c666 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop6_ES6.errors.txt @@ -0,0 +1,265 @@ +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(144,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(147,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(150,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(179,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(191,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(194,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(197,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop6_ES6.ts(226,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop6_ES6.ts (8 errors) ==== + // ====let + for (let x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (let x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "2") { + continue; + } + } + + + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + // ====const + + for (const x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (const x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "2") { + continue; + } + } + + + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + } + + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + } + + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } while (1 === 1) + + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 2) { + continue; + } + } + + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop6_ES6.types b/tests/baselines/reference/capturedLetConstInLoop6_ES6.types index cfd55a63aaa..14635c0cd1c 100644 --- a/tests/baselines/reference/capturedLetConstInLoop6_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop6_ES6.types @@ -17,14 +17,14 @@ for (let x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -47,14 +47,14 @@ for (let x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } @@ -83,14 +83,14 @@ for (let x = 0; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -98,8 +98,8 @@ for (let x = 0; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -117,14 +117,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -147,21 +147,21 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -189,14 +189,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -230,14 +230,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -245,8 +245,8 @@ for (let x = 0, y = 1; x < 1; ++x) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -269,14 +269,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -304,21 +304,21 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (let y = 0; y < 1; ++y) { >y : number @@ -350,14 +350,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -382,14 +382,14 @@ for (const x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } @@ -412,14 +412,14 @@ for (const x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } @@ -446,14 +446,14 @@ for (const x = 0; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -461,8 +461,8 @@ for (const x = 0; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -481,14 +481,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -512,21 +512,21 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -552,14 +552,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -591,14 +591,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -606,8 +606,8 @@ for (const x = 0, y = 1; x < 1;) { while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -632,14 +632,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } @@ -669,21 +669,21 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 for (const y = 0; y < 1;) { >y : number @@ -713,14 +713,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } diff --git a/tests/baselines/reference/capturedLetConstInLoop7.errors.txt b/tests/baselines/reference/capturedLetConstInLoop7.errors.txt new file mode 100644 index 00000000000..29e6fbca6cd --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop7.errors.txt @@ -0,0 +1,414 @@ +tests/cases/compiler/capturedLetConstInLoop7.ts(227,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(230,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(233,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(236,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7.ts(239,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7.ts(283,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(302,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(305,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(308,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7.ts(311,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7.ts(314,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7.ts(359,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop7.ts (12 errors) ==== + //===let + l0: + for (let x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l0; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l0; + } + } + + l00: + for (let x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "1") { + break l00; + } + if (x == "2") { + continue; + } + if (x == "2") { + continue l00; + } + } + + l1: + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l1; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + } + + l2: + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l2; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l2; + } + } + + l3: + do { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l3; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l3; + } + } while (1 === 1) + + l4: + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l4; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l4; + } + } + + l5: + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l5; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l5; + } + } + + l6: + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l6; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l6; + } + + } + + l7: + do { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l7; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l7; + } + } while (1 === 1) + + l8: + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l8; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l8; + } + } + + //===const + l0_c: + for (const x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l0_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l0_c; + } + } + + l00_c: + for (const x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "1") { + break l00_c; + } + if (x == "2") { + continue; + } + if (x == "2") { + continue l00_c; + } + } + + l1_c: + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1_c; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1_c; + } + } + + l2_c: + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l2_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l2_c; + } + } + + l3_c: + do { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l3_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l3_c; + } + } while (1 === 1) + + l4_c: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l4_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l4_c; + } + } + + l5_c: + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l5_c; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l5_c; + } + } + + l6_c: + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l6_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l6_c; + } + + } + + l7_c: + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l7_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l7_c; + } + } while (1 === 1) + + l8_c: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l8_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l8_c; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop7.js b/tests/baselines/reference/capturedLetConstInLoop7.js index 56b84e7802d..c4bd9b2d2b9 100644 --- a/tests/baselines/reference/capturedLetConstInLoop7.js +++ b/tests/baselines/reference/capturedLetConstInLoop7.js @@ -376,8 +376,7 @@ for (const y = 0; y < 1;) { } //// [capturedLetConstInLoop7.js] -//===let -var _loop_1 = function(x) { +var _loop_1 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -393,16 +392,18 @@ var _loop_1 = function(x) { return "continue-l0"; } }; +//===let l0: for (var _i = 0, _a = []; _i < _a.length; _i++) { var x = _a[_i]; var state_1 = _loop_1(x); - if (state_1 === "break") break; - switch(state_1) { + if (state_1 === "break") + break; + switch (state_1) { case "break-l0": break l0; case "continue-l0": continue l0; } } -var _loop_2 = function(x) { +var _loop_2 = function (x) { (function () { return x; }); (function () { return x; }); if (x == "1") { @@ -420,13 +421,14 @@ var _loop_2 = function(x) { }; l00: for (var x in []) { var state_2 = _loop_2(x); - if (state_2 === "break") break; - switch(state_2) { + if (state_2 === "break") + break; + switch (state_2) { case "break-l00": break l00; case "continue-l00": continue l00; } } -var _loop_3 = function(x) { +var _loop_3 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -444,13 +446,14 @@ var _loop_3 = function(x) { }; l1: for (var x = 0; x < 1; ++x) { var state_3 = _loop_3(x); - if (state_3 === "break") break; - switch(state_3) { + if (state_3 === "break") + break; + switch (state_3) { case "break-l1": break l1; case "continue-l1": continue l1; } } -var _loop_4 = function() { +var _loop_4 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -469,13 +472,14 @@ var _loop_4 = function() { }; l2: while (1 === 1) { var state_4 = _loop_4(); - if (state_4 === "break") break; - switch(state_4) { + if (state_4 === "break") + break; + switch (state_4) { case "break-l2": break l2; case "continue-l2": continue l2; } } -var _loop_5 = function() { +var _loop_5 = function () { var x; (function () { return x; }); (function () { return x; }); @@ -494,13 +498,14 @@ var _loop_5 = function() { }; l3: do { var state_5 = _loop_5(); - if (state_5 === "break") break; - switch(state_5) { + if (state_5 === "break") + break; + switch (state_5) { case "break-l3": break l3; case "continue-l3": continue l3; } } while (1 === 1); -var _loop_6 = function(y) { +var _loop_6 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -519,13 +524,14 @@ var _loop_6 = function(y) { }; l4: for (var y = 0; y < 1; ++y) { var state_6 = _loop_6(y); - if (state_6 === "break") break; - switch(state_6) { + if (state_6 === "break") + break; + switch (state_6) { case "break-l4": break l4; case "continue-l4": continue l4; } } -var _loop_7 = function(x, y) { +var _loop_7 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); if (x == 1) { @@ -543,13 +549,14 @@ var _loop_7 = function(x, y) { }; l5: for (var x = 0, y = 1; x < 1; ++x) { var state_7 = _loop_7(x, y); - if (state_7 === "break") break; - switch(state_7) { + if (state_7 === "break") + break; + switch (state_7) { case "break-l5": break l5; case "continue-l5": continue l5; } } -var _loop_8 = function() { +var _loop_8 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -568,13 +575,14 @@ var _loop_8 = function() { }; l6: while (1 === 1) { var state_8 = _loop_8(); - if (state_8 === "break") break; - switch(state_8) { + if (state_8 === "break") + break; + switch (state_8) { case "break-l6": break l6; case "continue-l6": continue l6; } } -var _loop_9 = function() { +var _loop_9 = function () { var x, y; (function () { return x + y; }); (function () { return x + y; }); @@ -593,13 +601,14 @@ var _loop_9 = function() { }; l7: do { var state_9 = _loop_9(); - if (state_9 === "break") break; - switch(state_9) { + if (state_9 === "break") + break; + switch (state_9) { case "break-l7": break l7; case "continue-l7": continue l7; } } while (1 === 1); -var _loop_10 = function(y) { +var _loop_10 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -618,14 +627,14 @@ var _loop_10 = function(y) { }; l8: for (var y = 0; y < 1; ++y) { var state_10 = _loop_10(y); - if (state_10 === "break") break; - switch(state_10) { + if (state_10 === "break") + break; + switch (state_10) { case "break-l8": break l8; case "continue-l8": continue l8; } } -//===const -var _loop_11 = function(x) { +var _loop_11 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -641,16 +650,18 @@ var _loop_11 = function(x) { return "continue-l0_c"; } }; +//===const l0_c: for (var _b = 0, _c = []; _b < _c.length; _b++) { var x = _c[_b]; var state_11 = _loop_11(x); - if (state_11 === "break") break; - switch(state_11) { + if (state_11 === "break") + break; + switch (state_11) { case "break-l0_c": break l0_c; case "continue-l0_c": continue l0_c; } } -var _loop_12 = function(x) { +var _loop_12 = function (x) { (function () { return x; }); (function () { return x; }); if (x == "1") { @@ -668,13 +679,14 @@ var _loop_12 = function(x) { }; l00_c: for (var x in []) { var state_12 = _loop_12(x); - if (state_12 === "break") break; - switch(state_12) { + if (state_12 === "break") + break; + switch (state_12) { case "break-l00_c": break l00_c; case "continue-l00_c": continue l00_c; } } -var _loop_13 = function(x) { +var _loop_13 = function (x) { (function () { return x; }); (function () { return x; }); if (x == 1) { @@ -692,13 +704,14 @@ var _loop_13 = function(x) { }; l1_c: for (var x = 0; x < 1;) { var state_13 = _loop_13(x); - if (state_13 === "break") break; - switch(state_13) { + if (state_13 === "break") + break; + switch (state_13) { case "break-l1_c": break l1_c; case "continue-l1_c": continue l1_c; } } -var _loop_14 = function() { +var _loop_14 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -717,13 +730,14 @@ var _loop_14 = function() { }; l2_c: while (1 === 1) { var state_14 = _loop_14(); - if (state_14 === "break") break; - switch(state_14) { + if (state_14 === "break") + break; + switch (state_14) { case "break-l2_c": break l2_c; case "continue-l2_c": continue l2_c; } } -var _loop_15 = function() { +var _loop_15 = function () { var x = 1; (function () { return x; }); (function () { return x; }); @@ -742,13 +756,14 @@ var _loop_15 = function() { }; l3_c: do { var state_15 = _loop_15(); - if (state_15 === "break") break; - switch(state_15) { + if (state_15 === "break") + break; + switch (state_15) { case "break-l3_c": break l3_c; case "continue-l3_c": continue l3_c; } } while (1 === 1); -var _loop_16 = function(y) { +var _loop_16 = function (y) { var x = 1; (function () { return x; }); (function () { return x; }); @@ -767,13 +782,14 @@ var _loop_16 = function(y) { }; l4_c: for (var y = 0; y < 1;) { var state_16 = _loop_16(y); - if (state_16 === "break") break; - switch(state_16) { + if (state_16 === "break") + break; + switch (state_16) { case "break-l4_c": break l4_c; case "continue-l4_c": continue l4_c; } } -var _loop_17 = function(x, y) { +var _loop_17 = function (x, y) { (function () { return x + y; }); (function () { return x + y; }); if (x == 1) { @@ -791,13 +807,14 @@ var _loop_17 = function(x, y) { }; l5_c: for (var x = 0, y = 1; x < 1;) { var state_17 = _loop_17(x, y); - if (state_17 === "break") break; - switch(state_17) { + if (state_17 === "break") + break; + switch (state_17) { case "break-l5_c": break l5_c; case "continue-l5_c": continue l5_c; } } -var _loop_18 = function() { +var _loop_18 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -816,13 +833,14 @@ var _loop_18 = function() { }; l6_c: while (1 === 1) { var state_18 = _loop_18(); - if (state_18 === "break") break; - switch(state_18) { + if (state_18 === "break") + break; + switch (state_18) { case "break-l6_c": break l6_c; case "continue-l6_c": continue l6_c; } } -var _loop_19 = function() { +var _loop_19 = function () { var x = 1, y = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -841,13 +859,14 @@ var _loop_19 = function() { }; l7_c: do { var state_19 = _loop_19(); - if (state_19 === "break") break; - switch(state_19) { + if (state_19 === "break") + break; + switch (state_19) { case "break-l7_c": break l7_c; case "continue-l7_c": continue l7_c; } } while (1 === 1); -var _loop_20 = function(y) { +var _loop_20 = function (y) { var x = 1; (function () { return x + y; }); (function () { return x + y; }); @@ -866,8 +885,9 @@ var _loop_20 = function(y) { }; l8_c: for (var y = 0; y < 1;) { var state_20 = _loop_20(y); - if (state_20 === "break") break; - switch(state_20) { + if (state_20 === "break") + break; + switch (state_20) { case "break-l8_c": break l8_c; case "continue-l8_c": continue l8_c; } diff --git a/tests/baselines/reference/capturedLetConstInLoop7.types b/tests/baselines/reference/capturedLetConstInLoop7.types index 29ea34e39a1..641ccb9dbea 100644 --- a/tests/baselines/reference/capturedLetConstInLoop7.types +++ b/tests/baselines/reference/capturedLetConstInLoop7.types @@ -20,14 +20,14 @@ for (let x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l0; >l0 : any @@ -35,14 +35,14 @@ for (let x of []) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l0; >l0 : any @@ -69,14 +69,14 @@ for (let x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break l00; >l00 : any @@ -84,14 +84,14 @@ for (let x in []) { if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue l00; >l00 : any @@ -123,14 +123,14 @@ for (let x = 0; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -138,14 +138,14 @@ for (let x = 0; x < 1; ++x) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -157,8 +157,8 @@ l2: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -176,14 +176,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l2; >l2 : any @@ -191,14 +191,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l2; >l2 : any @@ -225,14 +225,14 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l3; >l3 : any @@ -240,22 +240,22 @@ do { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l3; >l3 : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l4: >l4 : any @@ -286,14 +286,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l4; >l4 : any @@ -301,14 +301,14 @@ for (let y = 0; y < 1; ++y) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l4; >l4 : any @@ -346,14 +346,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l5; >l5 : any @@ -361,14 +361,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l5; >l5 : any @@ -380,8 +380,8 @@ l6: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -404,14 +404,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l6; >l6 : any @@ -419,14 +419,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l6; >l6 : any @@ -459,14 +459,14 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l7; >l7 : any @@ -474,22 +474,22 @@ do { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l7; >l7 : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l8: >l8 : any @@ -524,14 +524,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l8; >l8 : any @@ -539,14 +539,14 @@ for (let y = 0; y < 1; ++y) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l8; >l8 : any @@ -574,14 +574,14 @@ for (const x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l0_c; >l0_c : any @@ -589,14 +589,14 @@ for (const x of []) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l0_c; >l0_c : any @@ -623,14 +623,14 @@ for (const x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break l00_c; >l00_c : any @@ -638,14 +638,14 @@ for (const x in []) { if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue l00_c; >l00_c : any @@ -675,14 +675,14 @@ for (const x = 0; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1_c; >l1_c : any @@ -690,14 +690,14 @@ for (const x = 0; x < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1_c; >l1_c : any @@ -709,8 +709,8 @@ l2_c: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -729,14 +729,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l2_c; >l2_c : any @@ -744,14 +744,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l2_c; >l2_c : any @@ -779,14 +779,14 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l3_c; >l3_c : any @@ -794,22 +794,22 @@ do { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l3_c; >l3_c : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l4_c: >l4_c : any @@ -838,14 +838,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l4_c; >l4_c : any @@ -853,14 +853,14 @@ for (const y = 0; y < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l4_c; >l4_c : any @@ -896,14 +896,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l5_c; >l5_c : any @@ -911,14 +911,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l5_c; >l5_c : any @@ -930,8 +930,8 @@ l6_c: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -956,14 +956,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l6_c; >l6_c : any @@ -971,14 +971,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l6_c; >l6_c : any @@ -1013,14 +1013,14 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l7_c; >l7_c : any @@ -1028,22 +1028,22 @@ do { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l7_c; >l7_c : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l8_c: >l8_c : any @@ -1076,14 +1076,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l8_c; >l8_c : any @@ -1091,14 +1091,14 @@ for (const y = 0; y < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l8_c; >l8_c : any diff --git a/tests/baselines/reference/capturedLetConstInLoop7_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop7_ES6.errors.txt new file mode 100644 index 00000000000..a2001dc09b3 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop7_ES6.errors.txt @@ -0,0 +1,414 @@ +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(227,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(230,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(233,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(236,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(239,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(283,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(302,26): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(305,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(308,9): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(311,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(314,9): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop7_ES6.ts(359,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. + + +==== tests/cases/compiler/capturedLetConstInLoop7_ES6.ts (12 errors) ==== + //===let + l0: + for (let x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l0; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l0; + } + } + + l00: + for (let x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "1") { + break l00; + } + if (x == "2") { + continue; + } + if (x == "2") { + continue l00; + } + } + + l1: + for (let x = 0; x < 1; ++x) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l1; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + } + + l2: + while (1 === 1) { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l2; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l2; + } + } + + l3: + do { + let x; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l3; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l3; + } + } while (1 === 1) + + l4: + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l4; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l4; + } + } + + l5: + for (let x = 0, y = 1; x < 1; ++x) { + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l5; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l5; + } + } + + l6: + while (1 === 1) { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l6; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l6; + } + + } + + l7: + do { + let x, y; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l7; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l7; + } + } while (1 === 1) + + l8: + for (let y = 0; y < 1; ++y) { + let x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l8; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l8; + } + } + + //===const + l0_c: + for (const x of []) { + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l0_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l0_c; + } + } + + l00_c: + for (const x in []) { + (function() { return x}); + (() => x); + if (x == "1") { + break; + } + if (x == "1") { + break l00_c; + } + if (x == "2") { + continue; + } + if (x == "2") { + continue l00_c; + } + } + + l1_c: + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x}); + (() => x); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1_c; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1_c; + } + } + + l2_c: + while (1 === 1) { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l2_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l2_c; + } + } + + l3_c: + do { + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l3_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l3_c; + } + } while (1 === 1) + + l4_c: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x}); + (() => x); + if (x == 1) { + break; + } + if (x == 1) { + break l4_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l4_c; + } + } + + l5_c: + for (const x = 0, y = 1; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y}); + (() => x + y); + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l5_c; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l5_c; + } + } + + l6_c: + while (1 === 1) { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l6_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l6_c; + } + + } + + l7_c: + do { + const x = 1, y = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l7_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l7_c; + } + } while (1 === 1) + + l8_c: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + const x = 1; + (function() { return x + y}); + (() => x + y); + if (x == 1) { + break; + } + if (x == 1) { + break l8_c; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l8_c; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop7_ES6.types b/tests/baselines/reference/capturedLetConstInLoop7_ES6.types index c72afb41942..666f3e33e0f 100644 --- a/tests/baselines/reference/capturedLetConstInLoop7_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop7_ES6.types @@ -20,14 +20,14 @@ for (let x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l0; >l0 : any @@ -35,14 +35,14 @@ for (let x of []) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l0; >l0 : any @@ -69,14 +69,14 @@ for (let x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break l00; >l00 : any @@ -84,14 +84,14 @@ for (let x in []) { if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue l00; >l00 : any @@ -123,14 +123,14 @@ for (let x = 0; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -138,14 +138,14 @@ for (let x = 0; x < 1; ++x) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -157,8 +157,8 @@ l2: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -176,14 +176,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l2; >l2 : any @@ -191,14 +191,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l2; >l2 : any @@ -225,14 +225,14 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l3; >l3 : any @@ -240,22 +240,22 @@ do { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l3; >l3 : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l4: >l4 : any @@ -286,14 +286,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l4; >l4 : any @@ -301,14 +301,14 @@ for (let y = 0; y < 1; ++y) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l4; >l4 : any @@ -346,14 +346,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l5; >l5 : any @@ -361,14 +361,14 @@ for (let x = 0, y = 1; x < 1; ++x) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l5; >l5 : any @@ -380,8 +380,8 @@ l6: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x, y; >x : any @@ -404,14 +404,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l6; >l6 : any @@ -419,14 +419,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l6; >l6 : any @@ -459,14 +459,14 @@ do { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l7; >l7 : any @@ -474,22 +474,22 @@ do { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l7; >l7 : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l8: >l8 : any @@ -524,14 +524,14 @@ for (let y = 0; y < 1; ++y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l8; >l8 : any @@ -539,14 +539,14 @@ for (let y = 0; y < 1; ++y) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l8; >l8 : any @@ -574,14 +574,14 @@ for (const x of []) { if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : any ->1 : number +>1 : 1 break l0_c; >l0_c : any @@ -589,14 +589,14 @@ for (const x of []) { if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : any ->2 : number +>2 : 2 continue l0_c; >l0_c : any @@ -623,14 +623,14 @@ for (const x in []) { if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break; } if (x == "1") { >x == "1" : boolean >x : string ->"1" : string +>"1" : "1" break l00_c; >l00_c : any @@ -638,14 +638,14 @@ for (const x in []) { if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue; } if (x == "2") { >x == "2" : boolean >x : string ->"2" : string +>"2" : "2" continue l00_c; >l00_c : any @@ -675,14 +675,14 @@ for (const x = 0; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1_c; >l1_c : any @@ -690,14 +690,14 @@ for (const x = 0; x < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1_c; >l1_c : any @@ -709,8 +709,8 @@ l2_c: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1; >x : number @@ -729,14 +729,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l2_c; >l2_c : any @@ -744,14 +744,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l2_c; >l2_c : any @@ -779,14 +779,14 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l3_c; >l3_c : any @@ -794,22 +794,22 @@ do { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l3_c; >l3_c : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l4_c: >l4_c : any @@ -838,14 +838,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l4_c; >l4_c : any @@ -853,14 +853,14 @@ for (const y = 0; y < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l4_c; >l4_c : any @@ -896,14 +896,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l5_c; >l5_c : any @@ -911,14 +911,14 @@ for (const x = 0, y = 1; x < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l5_c; >l5_c : any @@ -930,8 +930,8 @@ l6_c: while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 const x = 1, y = 1; >x : number @@ -956,14 +956,14 @@ while (1 === 1) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l6_c; >l6_c : any @@ -971,14 +971,14 @@ while (1 === 1) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l6_c; >l6_c : any @@ -1013,14 +1013,14 @@ do { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l7_c; >l7_c : any @@ -1028,22 +1028,22 @@ do { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l7_c; >l7_c : any } } while (1 === 1) >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 l8_c: >l8_c : any @@ -1076,14 +1076,14 @@ for (const y = 0; y < 1;) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l8_c; >l8_c : any @@ -1091,14 +1091,14 @@ for (const y = 0; y < 1;) { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l8_c; >l8_c : any diff --git a/tests/baselines/reference/capturedLetConstInLoop8.errors.txt b/tests/baselines/reference/capturedLetConstInLoop8.errors.txt new file mode 100644 index 00000000000..c3743feaf90 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop8.errors.txt @@ -0,0 +1,186 @@ +tests/cases/compiler/capturedLetConstInLoop8.ts(66,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(68,27): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(70,31): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(73,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(76,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(79,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(82,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(86,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(89,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(92,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(95,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(98,21): error TS2365: Operator '==' cannot be applied to types '0' and '3'. +tests/cases/compiler/capturedLetConstInLoop8.ts(102,17): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(105,17): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8.ts(108,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(111,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(114,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(117,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8.ts(120,17): error TS2365: Operator '==' cannot be applied to types '0' and '3'. + + +==== tests/cases/compiler/capturedLetConstInLoop8.ts (19 errors) ==== + function foo() { + l0: + for (let z = 0; z < 1; ++z) { + l1: + for (let x = 0; x < 1; ++x) { + ll1: + for (let y = 0; y < 1; ++y) { + (function() { return x + y }); + (() => x + y); + if (y == 1) { + break; + } + if (y == 1) { + break l1; + } + if (y == 1) { + break ll1; + } + if (y == 1) { + continue l0; + } + + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + if (x == 2) { + continue ll1; + } + if (x == 2) { + return "123" + } + if (x == 3) { + return; + } + } + if (x == 1) { + break; + } + if (x == 1) { + break l1; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + if (x == 2) { + continue l0; + } + if (x == 2) { + return "456"; + } + if (x == 3) { + return; + } + } + } + } + + function foo_c() { + l0: + for (const z = 0; z < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + l1: + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + ll1: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y }); + (() => x + y); + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break ll1; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + continue l0; + } + + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue ll1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + return "123" + } + if (x == 3) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '3'. + return; + } + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l0; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + return "456"; + } + if (x == 3) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '3'. + return; + } + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop8.js b/tests/baselines/reference/capturedLetConstInLoop8.js index 122bdb96e36..92087b5efbb 100644 --- a/tests/baselines/reference/capturedLetConstInLoop8.js +++ b/tests/baselines/reference/capturedLetConstInLoop8.js @@ -129,8 +129,8 @@ function foo_c() { //// [capturedLetConstInLoop8.js] function foo() { l0: for (var z = 0; z < 1; ++z) { - var _loop_1 = function(x) { - var _loop_2 = function(y) { + var _loop_1 = function (x) { + var _loop_2 = function (y) { (function () { return x + y; }); (function () { return x + y; }); if (y == 1) { @@ -163,9 +163,11 @@ function foo() { }; ll1: for (var y = 0; y < 1; ++y) { var state_1 = _loop_2(y); - if (typeof state_1 === "object") return state_1; - if (state_1 === "break") break; - switch(state_1) { + if (typeof state_1 === "object") + return state_1; + if (state_1 === "break") + break; + switch (state_1) { case "break-l1": return state_1; case "break-ll1": break ll1; case "continue-l0": return state_1; @@ -197,9 +199,11 @@ function foo() { }; l1: for (var x = 0; x < 1; ++x) { var state_2 = _loop_1(x); - if (typeof state_2 === "object") return state_2.value; - if (state_2 === "break") break; - switch(state_2) { + if (typeof state_2 === "object") + return state_2.value; + if (state_2 === "break") + break; + switch (state_2) { case "break-l1": break l1; case "continue-l0": continue l0; case "continue-l1": continue l1; @@ -209,8 +213,8 @@ function foo() { } function foo_c() { l0: for (var z = 0; z < 1;) { - var _loop_3 = function(x) { - var _loop_4 = function(y) { + var _loop_3 = function (x) { + var _loop_4 = function (y) { (function () { return x + y; }); (function () { return x + y; }); if (y == 1) { @@ -243,9 +247,11 @@ function foo_c() { }; ll1: for (var y = 0; y < 1;) { var state_3 = _loop_4(y); - if (typeof state_3 === "object") return state_3; - if (state_3 === "break") break; - switch(state_3) { + if (typeof state_3 === "object") + return state_3; + if (state_3 === "break") + break; + switch (state_3) { case "break-l1": return state_3; case "break-ll1": break ll1; case "continue-l0": return state_3; @@ -277,9 +283,11 @@ function foo_c() { }; l1: for (var x = 0; x < 1;) { var state_4 = _loop_3(x); - if (typeof state_4 === "object") return state_4.value; - if (state_4 === "break") break; - switch(state_4) { + if (typeof state_4 === "object") + return state_4.value; + if (state_4 === "break") + break; + switch (state_4) { case "break-l1": break l1; case "continue-l0": continue l0; case "continue-l1": continue l1; diff --git a/tests/baselines/reference/capturedLetConstInLoop8.types b/tests/baselines/reference/capturedLetConstInLoop8.types index 9c3db88535c..618e71038ff 100644 --- a/tests/baselines/reference/capturedLetConstInLoop8.types +++ b/tests/baselines/reference/capturedLetConstInLoop8.types @@ -55,14 +55,14 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break; } if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -70,7 +70,7 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break ll1; >ll1 : any @@ -78,7 +78,7 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 continue l0; >l0 : any @@ -87,14 +87,14 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -102,7 +102,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue ll1; >ll1 : any @@ -110,7 +110,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "123" >"123" : string @@ -118,7 +118,7 @@ function foo() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -126,14 +126,14 @@ function foo() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -141,14 +141,14 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -156,7 +156,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l0; >l0 : any @@ -164,7 +164,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "456"; >"456" : string @@ -172,7 +172,7 @@ function foo() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -230,14 +230,14 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break; } if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -245,7 +245,7 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break ll1; >ll1 : any @@ -253,7 +253,7 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 continue l0; >l0 : any @@ -262,14 +262,14 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -277,7 +277,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue ll1; >ll1 : any @@ -285,7 +285,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "123" >"123" : string @@ -293,7 +293,7 @@ function foo_c() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -301,14 +301,14 @@ function foo_c() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -316,14 +316,14 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -331,7 +331,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l0; >l0 : any @@ -339,7 +339,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "456"; >"456" : string @@ -347,7 +347,7 @@ function foo_c() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } diff --git a/tests/baselines/reference/capturedLetConstInLoop8_ES6.errors.txt b/tests/baselines/reference/capturedLetConstInLoop8_ES6.errors.txt new file mode 100644 index 00000000000..da6947884fa --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop8_ES6.errors.txt @@ -0,0 +1,186 @@ +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(66,23): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(68,27): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(70,31): error TS2365: Operator '<' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(73,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(76,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(79,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(82,21): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(86,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(89,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(92,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(95,21): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(98,21): error TS2365: Operator '==' cannot be applied to types '0' and '3'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(102,17): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(105,17): error TS2365: Operator '==' cannot be applied to types '0' and '1'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(108,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(111,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(114,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(117,17): error TS2365: Operator '==' cannot be applied to types '0' and '2'. +tests/cases/compiler/capturedLetConstInLoop8_ES6.ts(120,17): error TS2365: Operator '==' cannot be applied to types '0' and '3'. + + +==== tests/cases/compiler/capturedLetConstInLoop8_ES6.ts (19 errors) ==== + function foo() { + l0: + for (let z = 0; z < 1; ++z) { + l1: + for (let x = 0; x < 1; ++x) { + ll1: + for (let y = 0; y < 1; ++y) { + (function() { return x + y }); + (() => x + y); + if (y == 1) { + break; + } + if (y == 1) { + break l1; + } + if (y == 1) { + break ll1; + } + if (y == 1) { + continue l0; + } + + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + if (x == 2) { + continue ll1; + } + if (x == 2) { + return "123" + } + if (x == 3) { + return; + } + } + if (x == 1) { + break; + } + if (x == 1) { + break l1; + } + if (x == 2) { + continue; + } + if (x == 2) { + continue l1; + } + if (x == 2) { + continue l0; + } + if (x == 2) { + return "456"; + } + if (x == 3) { + return; + } + } + } + } + + function foo_c() { + l0: + for (const z = 0; z < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + l1: + for (const x = 0; x < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + ll1: + for (const y = 0; y < 1;) { + ~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. + (function() { return x + y }); + (() => x + y); + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break ll1; + } + if (y == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + continue l0; + } + + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue ll1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + return "123" + } + if (x == 3) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '3'. + return; + } + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break; + } + if (x == 1) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '1'. + break l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l1; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + continue l0; + } + if (x == 2) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '2'. + return "456"; + } + if (x == 3) { + ~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '0' and '3'. + return; + } + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop8_ES6.types b/tests/baselines/reference/capturedLetConstInLoop8_ES6.types index 7911e9b63a2..0b877d27a46 100644 --- a/tests/baselines/reference/capturedLetConstInLoop8_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop8_ES6.types @@ -55,14 +55,14 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break; } if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -70,7 +70,7 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break ll1; >ll1 : any @@ -78,7 +78,7 @@ function foo() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 continue l0; >l0 : any @@ -87,14 +87,14 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -102,7 +102,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue ll1; >ll1 : any @@ -110,7 +110,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "123" >"123" : string @@ -118,7 +118,7 @@ function foo() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -126,14 +126,14 @@ function foo() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -141,14 +141,14 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -156,7 +156,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l0; >l0 : any @@ -164,7 +164,7 @@ function foo() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "456"; >"456" : string @@ -172,7 +172,7 @@ function foo() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -230,14 +230,14 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break; } if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -245,7 +245,7 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 break ll1; >ll1 : any @@ -253,7 +253,7 @@ function foo_c() { if (y == 1) { >y == 1 : boolean >y : number ->1 : number +>1 : 1 continue l0; >l0 : any @@ -262,14 +262,14 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -277,7 +277,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue ll1; >ll1 : any @@ -285,7 +285,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "123" >"123" : string @@ -293,7 +293,7 @@ function foo_c() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } @@ -301,14 +301,14 @@ function foo_c() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break l1; >l1 : any @@ -316,14 +316,14 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue; } if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l1; >l1 : any @@ -331,7 +331,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 continue l0; >l0 : any @@ -339,7 +339,7 @@ function foo_c() { if (x == 2) { >x == 2 : boolean >x : number ->2 : number +>2 : 2 return "456"; >"456" : string @@ -347,7 +347,7 @@ function foo_c() { if (x == 3) { >x == 3 : boolean >x : number ->3 : number +>3 : 3 return; } diff --git a/tests/baselines/reference/capturedLetConstInLoop9.js b/tests/baselines/reference/capturedLetConstInLoop9.js index 1f79b1694cb..84f9a021054 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.js +++ b/tests/baselines/reference/capturedLetConstInLoop9.js @@ -139,7 +139,7 @@ function foo3 () { } //// [capturedLetConstInLoop9.js] -var _loop_1 = function(x) { +var _loop_1 = function (x) { var x_1; (function () { return x_1; }); { @@ -157,7 +157,7 @@ var _loop_1 = function(x) { (function () { return x_4; }); break; } - var _loop_2 = function() { + var _loop_2 = function () { var x_5; (function () { return x_5; }); }; @@ -177,7 +177,7 @@ for (var x = 0; x < 1; ++x) { _loop_1(x); } function foo() { - var _loop_3 = function(a) { + var _loop_3 = function (a) { if (a === 1) { return "break"; } @@ -198,8 +198,8 @@ function foo() { } return { value: 50 }; } - var _loop_4 = function(b) { - _c = [{ x1: 1, y: arguments_1.length }][0], x1 = _c.x1, z1 = _c.y; + var _loop_4 = function (b) { + _a = [{ x1: 1, y: arguments_1.length }][0], x1 = _a.x1, z1 = _a.y; if (b === 1) { return "break"; } @@ -209,25 +209,28 @@ function foo() { (function () { return b; }); return { value: 100 }; }; - for (var _d = 0, _e = []; _d < _e.length; _d++) { - var b = _e[_d]; - var state_3 = _loop_4(b); - if (typeof state_3 === "object") return state_3; - if (state_3 === "break") break; - switch(state_3) { - case "break-l0": return state_3; + for (var _c = 0, _d = []; _c < _d.length; _c++) { + var b = _d[_c]; + var state_1 = _loop_4(b); + if (typeof state_1 === "object") + return state_1; + if (state_1 === "break") + break; + switch (state_1) { + case "break-l0": return state_1; } } (function () { return a; }); }; - var arguments_1 = arguments; - var x, z, x1, z1; - l0: for (var _f = 0, _g = []; _f < _g.length; _f++) { - var a = _g[_f]; - var state_4 = _loop_3(a); - if (typeof state_4 === "object") return state_4.value; - if (state_4 === "break") break; - switch(state_4) { + var arguments_1 = arguments, x, z, x1, z1; + l0: for (var _i = 0, _a = []; _i < _a.length; _i++) { + var a = _a[_i]; + var state_2 = _loop_3(a); + if (typeof state_2 === "object") + return state_2.value; + if (state_2 === "break") + break; + switch (state_2) { case "break-l0": break l0; } } @@ -235,6 +238,7 @@ function foo() { use(z); use(x1); use(z1); + var _b, _a; } function foo2() { for (var _i = 0, _a = []; _i < _a.length; _i++) { @@ -272,7 +276,7 @@ var C = (function () { } C.prototype.foo = function () { var _this = this; - var _loop_5 = function(i) { + var _loop_5 = function (i) { var f = function () { return _this.N * i; }; }; for (var i = 0; i < 100; i++) { @@ -283,7 +287,7 @@ var C = (function () { }()); function foo3() { var x = arguments.length; - var _loop_6 = function(y) { + var _loop_6 = function (y) { var z = arguments_2.length; (function () { return y + z + arguments.length; }); }; diff --git a/tests/baselines/reference/capturedLetConstInLoop9.types b/tests/baselines/reference/capturedLetConstInLoop9.types index 7f793ab6601..486697b8d84 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.types +++ b/tests/baselines/reference/capturedLetConstInLoop9.types @@ -1,10 +1,10 @@ === tests/cases/compiler/capturedLetConstInLoop9.ts === for (let x = 0; x < 1; ++x) { >x : number ->0 : number +>0 : 0 >x < 1 : boolean >x : number ->1 : number +>1 : 1 >++x : number >x : number @@ -42,7 +42,7 @@ for (let x = 0; x < 1; ++x) { >x : any case 1: ->1 : number +>1 : 1 let x; >x : any @@ -57,8 +57,8 @@ for (let x = 0; x < 1; ++x) { while (1 == 1) { >1 == 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -78,7 +78,7 @@ for (let x = 0; x < 1; ++x) { return x + 1; >x + 1 : any >x : any ->1 : number +>1 : 1 } } } @@ -88,7 +88,7 @@ declare function use(a: any); >a : any function foo() { ->foo : () => number +>foo : () => 50 | 100 l0: >l0 : any @@ -100,7 +100,7 @@ function foo() { if (a === 1) { >a === 1 : boolean >a : any ->1 : number +>1 : 1 break; } @@ -108,7 +108,7 @@ function foo() { if (a === 2) { >a === 2 : boolean >a : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -125,14 +125,14 @@ function foo() { >[{x:1, y:2}] : [{ x: number; y: number; }] >{x:1, y:2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 if (b === 1) { >b === 1 : boolean >b : any ->1 : number +>1 : 1 break; } @@ -141,7 +141,7 @@ function foo() { if (b === 2) { >b === 2 : boolean >b : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -153,14 +153,14 @@ function foo() { if (b === 3) { >b === 3 : boolean >b : any ->3 : number +>3 : 3 break l1; >l1 : any } return 50; ->50 : number +>50 : 50 } for (let b of []) { @@ -174,7 +174,7 @@ function foo() { >[{x1:1, y:arguments.length}] : [{ x1: number; y: number; }] >{x1:1, y:arguments.length} : { x1: number; y: number; } >x1 : number ->1 : number +>1 : 1 >y : number >arguments.length : number >arguments : IArguments @@ -183,7 +183,7 @@ function foo() { if (b === 1) { >b === 1 : boolean >b : any ->1 : number +>1 : 1 break; } @@ -191,7 +191,7 @@ function foo() { if (b === 2) { >b === 2 : boolean >b : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -202,7 +202,7 @@ function foo() { >b : any return 100; ->100 : number +>100 : 100 } @@ -242,22 +242,22 @@ function foo2() { if (x === 1) { >x === 1 : boolean >x : any ->1 : number +>1 : 1 break; } else if (x === 2) { >x === 2 : boolean >x : any ->2 : number +>2 : 2 continue; } while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 if (x) { >x : any @@ -273,10 +273,10 @@ function foo2() { >x : any case 1: break; ->1 : number +>1 : 1 case 2: continue; ->2 : number +>2 : 2 } for (let y of []) { @@ -287,10 +287,10 @@ function foo2() { >y : any case 1: break; ->1 : number +>1 : 1 case 2: continue; ->2 : number +>2 : 2 } } } @@ -307,10 +307,10 @@ class C { for (let i = 0; i < 100; i++) { >i : number ->0 : number +>0 : 0 >i < 100 : boolean >i : number ->100 : number +>100 : 100 >i++ : number >i : number diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.js b/tests/baselines/reference/capturedLetConstInLoop9_ES6.js index 0c9d8ea6a68..a06d9c6f747 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.js +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.js @@ -196,10 +196,10 @@ function foo() { if (b === 2) { break l0; } - (() => b); + () => b; return 100; } - (() => a); + () => a; } use(x); use(z); diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types index dfbfa387ed4..be4457315ee 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types @@ -2,10 +2,10 @@ for (let x = 0; x < 1; ++x) { >x : number ->0 : number +>0 : 0 >x < 1 : boolean >x : number ->1 : number +>1 : 1 >++x : number >x : number @@ -43,7 +43,7 @@ for (let x = 0; x < 1; ++x) { >x : any case 1: ->1 : number +>1 : 1 let x; >x : any @@ -58,8 +58,8 @@ for (let x = 0; x < 1; ++x) { while (1 == 1) { >1 == 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 let x; >x : any @@ -79,7 +79,7 @@ for (let x = 0; x < 1; ++x) { return x + 1; >x + 1 : any >x : any ->1 : number +>1 : 1 } } } @@ -89,7 +89,7 @@ declare function use(a: any); >a : any function foo() { ->foo : () => number +>foo : () => 50 | 100 l0: >l0 : any @@ -101,7 +101,7 @@ function foo() { if (a === 1) { >a === 1 : boolean >a : any ->1 : number +>1 : 1 break; } @@ -109,7 +109,7 @@ function foo() { if (a === 2) { >a === 2 : boolean >a : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -126,14 +126,14 @@ function foo() { >[{x:1, y:2}] : [{ x: number; y: number; }] >{x:1, y:2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 if (b === 1) { >b === 1 : boolean >b : any ->1 : number +>1 : 1 break; } @@ -142,7 +142,7 @@ function foo() { if (b === 2) { >b === 2 : boolean >b : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -154,14 +154,14 @@ function foo() { if (b === 3) { >b === 3 : boolean >b : any ->3 : number +>3 : 3 break l1; >l1 : any } return 50; ->50 : number +>50 : 50 } for (let b of []) { @@ -175,7 +175,7 @@ function foo() { >[{x1:1, y:arguments.length}] : [{ x1: number; y: number; }] >{x1:1, y:arguments.length} : { x1: number; y: number; } >x1 : number ->1 : number +>1 : 1 >y : number >arguments.length : number >arguments : IArguments @@ -184,7 +184,7 @@ function foo() { if (b === 1) { >b === 1 : boolean >b : any ->1 : number +>1 : 1 break; } @@ -192,7 +192,7 @@ function foo() { if (b === 2) { >b === 2 : boolean >b : any ->2 : number +>2 : 2 break l0; >l0 : any @@ -202,7 +202,7 @@ function foo() { >b : any return 100; ->100 : number +>100 : 100 } @@ -242,22 +242,22 @@ function foo2() { if (x === 1) { >x === 1 : boolean >x : any ->1 : number +>1 : 1 break; } else if (x === 2) { >x === 2 : boolean >x : any ->2 : number +>2 : 2 continue; } while (1 === 1) { >1 === 1 : boolean ->1 : number ->1 : number +>1 : 1 +>1 : 1 if (x) { >x : any @@ -273,10 +273,10 @@ function foo2() { >x : any case 1: break; ->1 : number +>1 : 1 case 2: continue; ->2 : number +>2 : 2 } for (let y of []) { @@ -287,10 +287,10 @@ function foo2() { >y : any case 1: break; ->1 : number +>1 : 1 case 2: continue; ->2 : number +>2 : 2 } } } @@ -307,10 +307,10 @@ class C { for (let i = 0; i < 100; i++) { >i : number ->0 : number +>0 : 0 >i < 100 : boolean >i : number ->100 : number +>100 : 100 >i++ : number >i : number diff --git a/tests/baselines/reference/capturedParametersInInitializers1.types b/tests/baselines/reference/capturedParametersInInitializers1.types index 493c608c145..9e5dee1b82e 100644 --- a/tests/baselines/reference/capturedParametersInInitializers1.types +++ b/tests/baselines/reference/capturedParametersInInitializers1.types @@ -7,7 +7,7 @@ function foo1(y = class {c = x}, x = 1) { >c : number >x : number >x : number ->1 : number +>1 : 1 new y().c; >new y().c : number @@ -24,7 +24,7 @@ function foo2(y = function(x: typeof z) {}, z = 1) { >x : number >z : number >z : number ->1 : number +>1 : 1 } @@ -41,6 +41,6 @@ function foo3(y = { x: a }, z = 1) { >z : number >a : any >z : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/capturedParametersInInitializers2.js b/tests/baselines/reference/capturedParametersInInitializers2.js index 8d2cd4d58cd..e2b492a012f 100644 --- a/tests/baselines/reference/capturedParametersInInitializers2.js +++ b/tests/baselines/reference/capturedParametersInInitializers2.js @@ -7,14 +7,16 @@ function foo2(y = class {[x] = x}, x = 1) { //// [capturedParametersInInitializers2.js] function foo(y, x) { - if (y === void 0) { y = (function () { - function class_1() { - } - class_1.c = x; - return class_1; - }()); } + if (y === void 0) { y = (_a = (function () { + function class_1() { + } + return class_1; + }()), + _a.c = x, + _a); } if (x === void 0) { x = 1; } y.c; + var _a; } function foo2(y, x) { if (y === void 0) { y = (function () { diff --git a/tests/baselines/reference/castExpressionParentheses.js b/tests/baselines/reference/castExpressionParentheses.js index b4754d0ad41..94d5daafb0a 100644 --- a/tests/baselines/reference/castExpressionParentheses.js +++ b/tests/baselines/reference/castExpressionParentheses.js @@ -53,7 +53,7 @@ new (A()); //// [castExpressionParentheses.js] // parentheses should be omitted // literals -{ a: 0 }; +({ a: 0 }); [1, 3,]; "string"; 23.0; diff --git a/tests/baselines/reference/castExpressionParentheses.types b/tests/baselines/reference/castExpressionParentheses.types index cdfbf4f7db2..dafe3377aea 100644 --- a/tests/baselines/reference/castExpressionParentheses.types +++ b/tests/baselines/reference/castExpressionParentheses.types @@ -9,49 +9,49 @@ declare var a; >{a:0} : any >{a:0} : { a: number; } >a : number ->0 : number +>0 : 0 ([1,3,]); >([1,3,]) : any >[1,3,] : any >[1,3,] : number[] ->1 : number ->3 : number +>1 : 1 +>3 : 3 ("string"); >("string") : any >"string" : any ->"string" : string +>"string" : "string" (23.0); >(23.0) : any >23.0 : any ->23.0 : number +>23.0 : 23 (1); >(1) : any >1 : any ->1 : number +>1 : 1 (1.); >(1.) : any >1. : any ->1. : number +>1. : 1 (1.0); >(1.0) : any >1.0 : any ->1.0 : number +>1.0 : 1 (12e+34); >(12e+34) : any >12e+34 : any ->12e+34 : number +>12e+34 : 1.2e+35 (0xff); >(0xff) : any >0xff : any ->0xff : number +>0xff : 255 (/regexp/g); >(/regexp/g) : any @@ -61,12 +61,12 @@ declare var a; (false); >(false) : any >false : any ->false : boolean +>false : false (true); >(true) : any >true : any ->true : boolean +>true : true (null); >(null) : any @@ -106,7 +106,7 @@ declare var a; >a[0] : any >a[0] : any >a : any ->0 : number +>0 : 0 (a.b["0"]); >(a.b["0"]) : any @@ -115,7 +115,7 @@ declare var a; >a.b : any >a : any >b : any ->"0" : string +>"0" : "0" (a()).x; >(a()).x : any @@ -133,42 +133,42 @@ declare var A; >(1).foo : any >(1) : any >1 : any ->1 : number +>1 : 1 >foo : any (1.).foo; >(1.).foo : any >(1.) : any >1. : any ->1. : number +>1. : 1 >foo : any (1.0).foo; >(1.0).foo : any >(1.0) : any >1.0 : any ->1.0 : number +>1.0 : 1 >foo : any (12e+34).foo; >(12e+34).foo : any >(12e+34) : any >12e+34 : any ->12e+34 : number +>12e+34 : 1.2e+35 >foo : any (0xff).foo; >(0xff).foo : any >(0xff) : any >0xff : any ->0xff : number +>0xff : 255 >foo : any ((1.0)); >((1.0)) : any >(1.0) : any ->(1.0) : number ->1.0 : number +>(1.0) : 1 +>1.0 : 1 (new A).foo; >(new A).foo : any diff --git a/tests/baselines/reference/castOfAwait.js b/tests/baselines/reference/castOfAwait.js new file mode 100644 index 00000000000..26e9812bf43 --- /dev/null +++ b/tests/baselines/reference/castOfAwait.js @@ -0,0 +1,28 @@ +//// [castOfAwait.ts] +async function f() { + await 0; + typeof await 0; + void await 0; + await void typeof void await 0; + await await 0; +} + + +//// [castOfAwait.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +function f() { + return __awaiter(this, void 0, void 0, function* () { + yield 0; + typeof (yield 0); + void (yield 0); + yield void typeof void (yield 0); + yield yield 0; + }); +} diff --git a/tests/baselines/reference/castOfAwait.symbols b/tests/baselines/reference/castOfAwait.symbols new file mode 100644 index 00000000000..574ee21f773 --- /dev/null +++ b/tests/baselines/reference/castOfAwait.symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/castOfAwait.ts === +async function f() { +>f : Symbol(f, Decl(castOfAwait.ts, 0, 0)) + + await 0; + typeof await 0; + void await 0; + await void typeof void await 0; + await await 0; +} + diff --git a/tests/baselines/reference/castOfAwait.types b/tests/baselines/reference/castOfAwait.types new file mode 100644 index 00000000000..30220ca2ab6 --- /dev/null +++ b/tests/baselines/reference/castOfAwait.types @@ -0,0 +1,35 @@ +=== tests/cases/compiler/castOfAwait.ts === +async function f() { +>f : () => Promise + + await 0; +> await 0 : number +>await 0 : 0 +>0 : 0 + + typeof await 0; +>typeof await 0 : string +>await 0 : 0 +>0 : 0 + + void await 0; +>void await 0 : undefined +>await 0 : 0 +>0 : 0 + + await void typeof void await 0; +>await void typeof void await 0 : any +>void typeof void await 0 : undefined +> typeof void await 0 : string +>typeof void await 0 : string +> void await 0 : number +>void await 0 : undefined +>await 0 : 0 +>0 : 0 + + await await 0; +>await await 0 : 0 +>await 0 : 0 +>0 : 0 +} + diff --git a/tests/baselines/reference/castOfYield.errors.txt b/tests/baselines/reference/castOfYield.errors.txt new file mode 100644 index 00000000000..abafe678784 --- /dev/null +++ b/tests/baselines/reference/castOfYield.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/castOfYield.ts(4,14): error TS1109: Expression expected. + + +==== tests/cases/compiler/castOfYield.ts (1 errors) ==== + function* f() { + (yield 0); + // Unlike await, yield is not allowed to appear in a simple unary expression. + yield 0; + ~~~~~ +!!! error TS1109: Expression expected. + } + \ No newline at end of file diff --git a/tests/baselines/reference/castOfYield.js b/tests/baselines/reference/castOfYield.js new file mode 100644 index 00000000000..633f780a6a1 --- /dev/null +++ b/tests/baselines/reference/castOfYield.js @@ -0,0 +1,15 @@ +//// [castOfYield.ts] +function* f() { + (yield 0); + // Unlike await, yield is not allowed to appear in a simple unary expression. + yield 0; +} + + +//// [castOfYield.js] +function* f() { + (yield 0); + // Unlike await, yield is not allowed to appear in a simple unary expression. + ; + yield 0; +} diff --git a/tests/baselines/reference/castParentheses.js b/tests/baselines/reference/castParentheses.js index 936b2e7af07..feeced645e2 100644 --- a/tests/baselines/reference/castParentheses.js +++ b/tests/baselines/reference/castParentheses.js @@ -21,6 +21,6 @@ var b = a; var b = a.b; var b = a.b.c; var b = a.b().c; -var b = (new a); -var b = (new a.b); +var b = new a; +var b = new a.b; var b = (new a).b; diff --git a/tests/baselines/reference/castTest.types b/tests/baselines/reference/castTest.types index 35698219fd4..666b2ccf78e 100644 --- a/tests/baselines/reference/castTest.types +++ b/tests/baselines/reference/castTest.types @@ -2,7 +2,7 @@ var x : any = 0; >x : any ->0 : number +>0 : 0 var z = x; >z : number @@ -18,17 +18,17 @@ var y = x + z; var a = 0; >a : any >0 : any ->0 : number +>0 : 0 var b = true; >b : boolean >true : boolean ->true : boolean +>true : true var s = ""; >s : string >"" : string ->"" : string +>"" : "" var ar = null; >ar : any[] @@ -76,11 +76,11 @@ var p_cast = ({ x: 0, >x : number ->0 : number +>0 : 0 y: 0, >y : number ->0 : number +>0 : 0 add: function(dx, dy) { >add : (dx: number, dy: number) => Point diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 6d5549c6bf2..2f9eeedf9ef 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -1,10 +1,8 @@ tests/cases/conformance/types/tuple/castingTuple.ts(28,10): error TS2352: Type '[number, string]' cannot be converted to type '[number, number]'. - Types of property '1' are incompatible. - Type 'string' is not comparable to type 'number'. + Type 'string' is not comparable to type 'number'. tests/cases/conformance/types/tuple/castingTuple.ts(29,10): error TS2352: Type '[C, D]' cannot be converted to type '[A, I]'. - Types of property '0' are incompatible. - Type 'C' is not comparable to type 'A'. - Property 'a' is missing in type 'C'. + Type 'C' is not comparable to type 'A'. + Property 'a' is missing in type 'C'. tests/cases/conformance/types/tuple/castingTuple.ts(30,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot find name 't4'. @@ -40,14 +38,12 @@ tests/cases/conformance/types/tuple/castingTuple.ts(31,1): error TS2304: Cannot var t3 = <[number, number]>numStrTuple; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2352: Type '[number, string]' cannot be converted to type '[number, number]'. -!!! error TS2352: Types of property '1' are incompatible. -!!! error TS2352: Type 'string' is not comparable to type 'number'. +!!! error TS2352: Type 'string' is not comparable to type 'number'. var t9 = <[A, I]>classCDTuple; ~~~~~~~~~~~~~~~~~~~~ !!! error TS2352: Type '[C, D]' cannot be converted to type '[A, I]'. -!!! error TS2352: Types of property '0' are incompatible. -!!! error TS2352: Type 'C' is not comparable to type 'A'. -!!! error TS2352: Property 'a' is missing in type 'C'. +!!! error TS2352: Type 'C' is not comparable to type 'A'. +!!! error TS2352: Property 'a' is missing in type 'C'. var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt index 8f5924586df..56f4cad5a47 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt @@ -2,9 +2,9 @@ tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParamete Type 'T' is not assignable to type 'S'. tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(10,29): error TS2345: Argument of type '(ss: S) => T' is not assignable to parameter of type '(x: S) => S'. Type 'T' is not assignable to type 'S'. -tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(32,9): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(36,9): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(37,9): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(32,9): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(36,9): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts(37,9): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts (5 errors) ==== @@ -47,16 +47,16 @@ tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParamete // Should get an error that we are assigning a string to a number (new Chain2(i)).then(ii => t).then(tt => s).value.x = ""; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. // Staying at T or S should keep the constraint. // Get an error when we assign a string to a number in both cases (new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then(tt => t).value.x = ""; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. (new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then(ss => s).value.x = ""; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. return null; } diff --git a/tests/baselines/reference/chainedImportAlias.js b/tests/baselines/reference/chainedImportAlias.js index 2b1111f3096..a6113d5f241 100644 --- a/tests/baselines/reference/chainedImportAlias.js +++ b/tests/baselines/reference/chainedImportAlias.js @@ -20,6 +20,6 @@ var m; })(m = exports.m || (exports.m = {})); //// [chainedImportAlias_file1.js] "use strict"; -var x = require('./chainedImportAlias_file0'); +var x = require("./chainedImportAlias_file0"); var y = x; y.m.foo(); diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.types index d734b0c6ad0..85a1af6fbdc 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing1.types @@ -18,11 +18,11 @@ class Derived extends Based { >this : this this.x = 10; ->this.x = 10 : number +>this.x = 10 : 10 >this.x : number >this : this >x : number ->10 : number +>10 : 10 var that = this; >that : this diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types index c4e9e15ed8e..60179ec27bf 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing3.types @@ -18,11 +18,11 @@ class Derived extends Based { constructor() { this.y = true; ->this.y = true : boolean +>this.y = true : true >this.y : boolean >this : this >y : boolean ->true : boolean +>true : true } } super(); @@ -30,11 +30,11 @@ class Derived extends Based { >super : typeof Based this.x = 10; ->this.x = 10 : number +>this.x = 10 : 10 >this.x : number >this : this >x : number ->10 : number +>10 : 10 var that = this; >that : this diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.types b/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.types index f42a0ac8563..b2bf4824721 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccessing4.types @@ -43,11 +43,11 @@ class Derived extends Based { >super : typeof Based this.x = 10; ->this.x = 10 : number +>this.x = 10 : 10 >this.x : number >this : this >x : number ->10 : number +>10 : 10 var that = this; >that : this diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types index fa394b4e0bd..30f584894fc 100644 --- a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types +++ b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types @@ -23,7 +23,7 @@ class A { >v : string case "test": use(this); ->"test" : string +>"test" : "test" >use(this) : void >use : (a: any) => void >this : this diff --git a/tests/baselines/reference/circularImportAlias.errors.txt b/tests/baselines/reference/circularImportAlias.errors.txt new file mode 100644 index 00000000000..82c9205ae54 --- /dev/null +++ b/tests/baselines/reference/circularImportAlias.errors.txt @@ -0,0 +1,25 @@ +tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts(5,28): error TS2690: A class must be declared after its base class. + + +==== tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts (1 errors) ==== + // expected no error + + module B { + export import a = A; + export class D extends a.C { + ~~~ +!!! error TS2690: A class must be declared after its base class. + id: number; + } + } + + module A { + export class C { name: string } + export import b = B; + } + + var c: { name: string }; + var c = new B.a.C(); + + + \ No newline at end of file diff --git a/tests/baselines/reference/circularImportAlias.symbols b/tests/baselines/reference/circularImportAlias.symbols deleted file mode 100644 index 518766ceb5d..00000000000 --- a/tests/baselines/reference/circularImportAlias.symbols +++ /dev/null @@ -1,47 +0,0 @@ -=== tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts === -// expected no error - -module B { ->B : Symbol(a.b, Decl(circularImportAlias.ts, 0, 0)) - - export import a = A; ->a : Symbol(a, Decl(circularImportAlias.ts, 2, 10)) ->A : Symbol(a, Decl(circularImportAlias.ts, 7, 1)) - - export class D extends a.C { ->D : Symbol(D, Decl(circularImportAlias.ts, 3, 24)) ->a.C : Symbol(a.C, Decl(circularImportAlias.ts, 9, 10)) ->a : Symbol(a, Decl(circularImportAlias.ts, 2, 10)) ->C : Symbol(a.C, Decl(circularImportAlias.ts, 9, 10)) - - id: number; ->id : Symbol(D.id, Decl(circularImportAlias.ts, 4, 32)) - } -} - -module A { ->A : Symbol(b.a, Decl(circularImportAlias.ts, 7, 1)) - - export class C { name: string } ->C : Symbol(C, Decl(circularImportAlias.ts, 9, 10)) ->name : Symbol(C.name, Decl(circularImportAlias.ts, 10, 20)) - - export import b = B; ->b : Symbol(b, Decl(circularImportAlias.ts, 10, 35)) ->B : Symbol(b, Decl(circularImportAlias.ts, 0, 0)) -} - -var c: { name: string }; ->c : Symbol(c, Decl(circularImportAlias.ts, 14, 3), Decl(circularImportAlias.ts, 15, 3)) ->name : Symbol(name, Decl(circularImportAlias.ts, 14, 8)) - -var c = new B.a.C(); ->c : Symbol(c, Decl(circularImportAlias.ts, 14, 3), Decl(circularImportAlias.ts, 15, 3)) ->B.a.C : Symbol(A.C, Decl(circularImportAlias.ts, 9, 10)) ->B.a : Symbol(B.a, Decl(circularImportAlias.ts, 2, 10)) ->B : Symbol(B, Decl(circularImportAlias.ts, 0, 0)) ->a : Symbol(B.a, Decl(circularImportAlias.ts, 2, 10)) ->C : Symbol(A.C, Decl(circularImportAlias.ts, 9, 10)) - - - diff --git a/tests/baselines/reference/circularImportAlias.types b/tests/baselines/reference/circularImportAlias.types deleted file mode 100644 index e4b2f27dbbe..00000000000 --- a/tests/baselines/reference/circularImportAlias.types +++ /dev/null @@ -1,48 +0,0 @@ -=== tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts === -// expected no error - -module B { ->B : typeof a.b - - export import a = A; ->a : typeof a ->A : typeof a - - export class D extends a.C { ->D : D ->a.C : a.C ->a : typeof a ->C : typeof a.C - - id: number; ->id : number - } -} - -module A { ->A : typeof b.a - - export class C { name: string } ->C : C ->name : string - - export import b = B; ->b : typeof b ->B : typeof b -} - -var c: { name: string }; ->c : { name: string; } ->name : string - -var c = new B.a.C(); ->c : { name: string; } ->new B.a.C() : A.C ->B.a.C : typeof A.C ->B.a : typeof A ->B : typeof B ->a : typeof A ->C : typeof A.C - - - diff --git a/tests/baselines/reference/circularObjectLiteralAccessors.types b/tests/baselines/reference/circularObjectLiteralAccessors.types index 1f01432db5a..e190ea5e6d3 100644 --- a/tests/baselines/reference/circularObjectLiteralAccessors.types +++ b/tests/baselines/reference/circularObjectLiteralAccessors.types @@ -33,6 +33,6 @@ const a = { }, foo: '' >foo : string ->'' : string +>'' : "" }; diff --git a/tests/baselines/reference/circularReference.js b/tests/baselines/reference/circularReference.js index 52fe5f3ef54..193b3e1da07 100644 --- a/tests/baselines/reference/circularReference.js +++ b/tests/baselines/reference/circularReference.js @@ -35,7 +35,7 @@ export module M1 { //// [foo1.js] "use strict"; -var foo2 = require('./foo2'); +var foo2 = require("./foo2"); var M1; (function (M1) { var C1 = (function () { @@ -50,7 +50,7 @@ var M1; })(M1 = exports.M1 || (exports.M1 = {})); //// [foo2.js] "use strict"; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); var M1; (function (M1) { var C1 = (function () { diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithClass.types b/tests/baselines/reference/circularTypeAliasForUnionWithClass.types index 99a05f3d66a..8735c19875e 100644 --- a/tests/baselines/reference/circularTypeAliasForUnionWithClass.types +++ b/tests/baselines/reference/circularTypeAliasForUnionWithClass.types @@ -1,26 +1,26 @@ === tests/cases/conformance/types/typeAliases/circularTypeAliasForUnionWithClass.ts === var v0: T0; ->v0 : string | I0 ->T0 : string | I0 +>v0 : T0 +>T0 : T0 type T0 = string | I0; ->T0 : string | I0 +>T0 : T0 >I0 : I0 class I0 { >I0 : I0 x: T0; ->x : string | I0 ->T0 : string | I0 +>x : T0 +>T0 : T0 } var v3: T3; ->v3 : string | I3 ->T3 : string | I3 +>v3 : T3 +>T3 : T3 type T3 = string | I3; ->T3 : string | I3 +>T3 : T3 >I3 : I3 class I3 { @@ -28,15 +28,15 @@ class I3 { [x: number]: T3; >x : number ->T3 : string | I3 +>T3 : T3 } var v4: T4; ->v4 : string | I4 ->T4 : string | I4 +>v4 : T4 +>T4 : T4 type T4 = string | I4; ->T4 : string | I4 +>T4 : T4 >I4 : I4 class I4 { @@ -44,6 +44,6 @@ class I4 { [x: string]: T4; >x : string ->T4 : string | I4 +>T4 : T4 } diff --git a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types index 4325f9c774a..941c23f8664 100644 --- a/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types +++ b/tests/baselines/reference/circularTypeAliasForUnionWithInterface.types @@ -1,56 +1,56 @@ === tests/cases/conformance/types/typeAliases/circularTypeAliasForUnionWithInterface.ts === var v0: T0; ->v0 : string | I0 ->T0 : string | I0 +>v0 : T0 +>T0 : T0 type T0 = string | I0; ->T0 : string | I0 +>T0 : T0 >I0 : I0 interface I0 { >I0 : I0 x: T0; ->x : string | I0 ->T0 : string | I0 +>x : T0 +>T0 : T0 } var v1: T1; ->v1 : string | I1 ->T1 : string | I1 +>v1 : T1 +>T1 : T1 type T1 = string | I1; ->T1 : string | I1 +>T1 : T1 >I1 : I1 interface I1 { >I1 : I1 (): T1; ->T1 : string | I1 +>T1 : T1 } var v2: T2; ->v2 : string | I2 ->T2 : string | I2 +>v2 : T2 +>T2 : T2 type T2 = string | I2; ->T2 : string | I2 +>T2 : T2 >I2 : I2 interface I2 { >I2 : I2 new (): T2; ->T2 : string | I2 +>T2 : T2 } var v3: T3; ->v3 : string | I3 ->T3 : string | I3 +>v3 : T3 +>T3 : T3 type T3 = string | I3; ->T3 : string | I3 +>T3 : T3 >I3 : I3 interface I3 { @@ -58,15 +58,15 @@ interface I3 { [x: number]: T3; >x : number ->T3 : string | I3 +>T3 : T3 } var v4: T4; ->v4 : string | I4 ->T4 : string | I4 +>v4 : T4 +>T4 : T4 type T4 = string | I4; ->T4 : string | I4 +>T4 : T4 >I4 : I4 interface I4 { @@ -74,6 +74,6 @@ interface I4 { [x: string]: T4; >x : string ->T4 : string | I4 +>T4 : T4 } diff --git a/tests/baselines/reference/class2.js b/tests/baselines/reference/class2.js index 6ef78ed46ee..91ac89da109 100644 --- a/tests/baselines/reference/class2.js +++ b/tests/baselines/reference/class2.js @@ -5,6 +5,6 @@ class foo { constructor() { static f = 3; } } var foo = (function () { function foo() { } - foo.f = 3; return foo; }()); +foo.f = 3; diff --git a/tests/baselines/reference/classAbstractAsIdentifier.types b/tests/baselines/reference/classAbstractAsIdentifier.types index e2894af804d..63f15dc4a4c 100644 --- a/tests/baselines/reference/classAbstractAsIdentifier.types +++ b/tests/baselines/reference/classAbstractAsIdentifier.types @@ -4,7 +4,7 @@ class abstract { foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } new abstract; diff --git a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.errors.txt b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.errors.txt index c6c242396d8..fbcc597409a 100644 --- a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.errors.txt +++ b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractAssignabilityConstructorFunction.ts(7,1): error TS2322: Type 'typeof A' is not assignable to type 'new () => A'. Cannot assign an abstract constructor type to a non-abstract constructor type. -tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractAssignabilityConstructorFunction.ts(8,1): error TS2322: Type 'string' is not assignable to type 'new () => A'. +tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractAssignabilityConstructorFunction.ts(8,1): error TS2322: Type '"asdf"' is not assignable to type 'new () => A'. ==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractAssignabilityConstructorFunction.ts (2 errors) ==== @@ -16,4 +16,4 @@ tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbst !!! error TS2322: Cannot assign an abstract constructor type to a non-abstract constructor type. AAA = "asdf"; ~~~ -!!! error TS2322: Type 'string' is not assignable to type 'new () => A'. \ No newline at end of file +!!! error TS2322: Type '"asdf"' is not assignable to type 'new () => A'. \ No newline at end of file diff --git a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types index 65c37e7dfeb..9c87fa18ecd 100644 --- a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types +++ b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types @@ -20,7 +20,7 @@ var r2 = c.hasOwnProperty(''); >c.hasOwnProperty : (v: string) => boolean >c : C >hasOwnProperty : (v: string) => boolean ->'' : string +>'' : "" var o: Object = c; >o : Object diff --git a/tests/baselines/reference/classConstructorAccessibility2.errors.txt b/tests/baselines/reference/classConstructorAccessibility2.errors.txt index 7bd784ac268..337e9787e5e 100644 --- a/tests/baselines/reference/classConstructorAccessibility2.errors.txt +++ b/tests/baselines/reference/classConstructorAccessibility2.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(26,28): error TS2674: Constructor of class 'BaseB' is protected and only accessible within the class declaration. -tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(29,24): error TS2675: Cannot extend a class 'BaseC'. Class constructor is marked as private. -tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(32,28): error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. -tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(36,10): error TS2674: Constructor of class 'BaseB' is protected and only accessible within the class declaration. -tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(37,10): error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(32,24): error TS2675: Cannot extend a class 'BaseC'. Class constructor is marked as private. +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(35,28): error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(36,35): error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(40,10): error TS2674: Constructor of class 'BaseB' is protected and only accessible within the class declaration. +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts(41,10): error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. ==== tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts (5 errors) ==== @@ -14,35 +14,39 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessib class BaseB { protected constructor(public x: number) { } - createInstance() { new BaseB(1); } + createInstance() { new BaseB(2); } } class BaseC { - private constructor(public x: number) { } - createInstance() { new BaseC(1); } + private constructor(public x: number) { } + createInstance() { new BaseC(3); } + static staticInstance() { new BaseC(4); } } class DerivedA extends BaseA { constructor(public x: number) { super(x); } - createInstance() { new DerivedA(1); } - createBaseInstance() { new BaseA(1); } + createInstance() { new DerivedA(5); } + createBaseInstance() { new BaseA(6); } + static staticBaseInstance() { new BaseA(7); } } class DerivedB extends BaseB { constructor(public x: number) { super(x); } - createInstance() { new DerivedB(1); } - createBaseInstance() { new BaseB(1); } // error - ~~~~~~~~~~~~ -!!! error TS2674: Constructor of class 'BaseB' is protected and only accessible within the class declaration. + createInstance() { new DerivedB(7); } + createBaseInstance() { new BaseB(8); } // ok + static staticBaseInstance() { new BaseB(9); } // ok } class DerivedC extends BaseC { // error ~~~~~ !!! error TS2675: Cannot extend a class 'BaseC'. Class constructor is marked as private. constructor(public x: number) { super(x); } - createInstance() { new DerivedC(1); } - createBaseInstance() { new BaseC(1); } // error - ~~~~~~~~~~~~ + createInstance() { new DerivedC(9); } + createBaseInstance() { new BaseC(10); } // error + ~~~~~~~~~~~~~ +!!! error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. + static staticBaseInstance() { new BaseC(11); } // error + ~~~~~~~~~~~~~ !!! error TS2673: Constructor of class 'BaseC' is private and only accessible within the class declaration. } @@ -56,4 +60,5 @@ tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessib var da = new DerivedA(1); var db = new DerivedB(1); - var dc = new DerivedC(1); \ No newline at end of file + var dc = new DerivedC(1); + \ No newline at end of file diff --git a/tests/baselines/reference/classConstructorAccessibility2.js b/tests/baselines/reference/classConstructorAccessibility2.js index e19589ece45..03b7af3e716 100644 --- a/tests/baselines/reference/classConstructorAccessibility2.js +++ b/tests/baselines/reference/classConstructorAccessibility2.js @@ -7,30 +7,34 @@ class BaseA { class BaseB { protected constructor(public x: number) { } - createInstance() { new BaseB(1); } + createInstance() { new BaseB(2); } } class BaseC { - private constructor(public x: number) { } - createInstance() { new BaseC(1); } + private constructor(public x: number) { } + createInstance() { new BaseC(3); } + static staticInstance() { new BaseC(4); } } class DerivedA extends BaseA { constructor(public x: number) { super(x); } - createInstance() { new DerivedA(1); } - createBaseInstance() { new BaseA(1); } + createInstance() { new DerivedA(5); } + createBaseInstance() { new BaseA(6); } + static staticBaseInstance() { new BaseA(7); } } class DerivedB extends BaseB { constructor(public x: number) { super(x); } - createInstance() { new DerivedB(1); } - createBaseInstance() { new BaseB(1); } // error + createInstance() { new DerivedB(7); } + createBaseInstance() { new BaseB(8); } // ok + static staticBaseInstance() { new BaseB(9); } // ok } class DerivedC extends BaseC { // error constructor(public x: number) { super(x); } - createInstance() { new DerivedC(1); } - createBaseInstance() { new BaseC(1); } // error + createInstance() { new DerivedC(9); } + createBaseInstance() { new BaseC(10); } // error + static staticBaseInstance() { new BaseC(11); } // error } var ba = new BaseA(1); @@ -39,7 +43,8 @@ var bc = new BaseC(1); // error var da = new DerivedA(1); var db = new DerivedB(1); -var dc = new DerivedC(1); +var dc = new DerivedC(1); + //// [classConstructorAccessibility2.js] var __extends = (this && this.__extends) || function (d, b) { @@ -58,14 +63,15 @@ var BaseB = (function () { function BaseB(x) { this.x = x; } - BaseB.prototype.createInstance = function () { new BaseB(1); }; + BaseB.prototype.createInstance = function () { new BaseB(2); }; return BaseB; }()); var BaseC = (function () { function BaseC(x) { this.x = x; } - BaseC.prototype.createInstance = function () { new BaseC(1); }; + BaseC.prototype.createInstance = function () { new BaseC(3); }; + BaseC.staticInstance = function () { new BaseC(4); }; return BaseC; }()); var DerivedA = (function (_super) { @@ -74,8 +80,9 @@ var DerivedA = (function (_super) { _super.call(this, x); this.x = x; } - DerivedA.prototype.createInstance = function () { new DerivedA(1); }; - DerivedA.prototype.createBaseInstance = function () { new BaseA(1); }; + DerivedA.prototype.createInstance = function () { new DerivedA(5); }; + DerivedA.prototype.createBaseInstance = function () { new BaseA(6); }; + DerivedA.staticBaseInstance = function () { new BaseA(7); }; return DerivedA; }(BaseA)); var DerivedB = (function (_super) { @@ -84,8 +91,9 @@ var DerivedB = (function (_super) { _super.call(this, x); this.x = x; } - DerivedB.prototype.createInstance = function () { new DerivedB(1); }; - DerivedB.prototype.createBaseInstance = function () { new BaseB(1); }; // error + DerivedB.prototype.createInstance = function () { new DerivedB(7); }; + DerivedB.prototype.createBaseInstance = function () { new BaseB(8); }; // ok + DerivedB.staticBaseInstance = function () { new BaseB(9); }; // ok return DerivedB; }(BaseB)); var DerivedC = (function (_super) { @@ -94,8 +102,9 @@ var DerivedC = (function (_super) { _super.call(this, x); this.x = x; } - DerivedC.prototype.createInstance = function () { new DerivedC(1); }; - DerivedC.prototype.createBaseInstance = function () { new BaseC(1); }; // error + DerivedC.prototype.createInstance = function () { new DerivedC(9); }; + DerivedC.prototype.createBaseInstance = function () { new BaseC(10); }; // error + DerivedC.staticBaseInstance = function () { new BaseC(11); }; // error return DerivedC; }(BaseC)); var ba = new BaseA(1); @@ -121,24 +130,28 @@ declare class BaseC { x: number; private constructor(x); createInstance(): void; + static staticInstance(): void; } declare class DerivedA extends BaseA { x: number; constructor(x: number); createInstance(): void; createBaseInstance(): void; + static staticBaseInstance(): void; } declare class DerivedB extends BaseB { x: number; constructor(x: number); createInstance(): void; createBaseInstance(): void; + static staticBaseInstance(): void; } declare class DerivedC extends BaseC { x: number; constructor(x: number); createInstance(): void; createBaseInstance(): void; + static staticBaseInstance(): void; } declare var ba: BaseA; declare var bb: any; diff --git a/tests/baselines/reference/classConstructorAccessibility5.errors.txt b/tests/baselines/reference/classConstructorAccessibility5.errors.txt new file mode 100644 index 00000000000..f372bd5c10a --- /dev/null +++ b/tests/baselines/reference/classConstructorAccessibility5.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility5.ts(9,21): error TS2674: Constructor of class 'Base' is protected and only accessible within the class declaration. + + +==== tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility5.ts (1 errors) ==== + class Base { + protected constructor() { } + } + class Derived extends Base { + static make() { new Base() } // ok + } + + class Unrelated { + static fake() { new Base() } // error + ~~~~~~~~~~ +!!! error TS2674: Constructor of class 'Base' is protected and only accessible within the class declaration. + } + \ No newline at end of file diff --git a/tests/baselines/reference/classConstructorAccessibility5.js b/tests/baselines/reference/classConstructorAccessibility5.js new file mode 100644 index 00000000000..ec9e9f83a8e --- /dev/null +++ b/tests/baselines/reference/classConstructorAccessibility5.js @@ -0,0 +1,38 @@ +//// [classConstructorAccessibility5.ts] +class Base { + protected constructor() { } +} +class Derived extends Base { + static make() { new Base() } // ok +} + +class Unrelated { + static fake() { new Base() } // error +} + + +//// [classConstructorAccessibility5.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Base = (function () { + function Base() { + } + return Base; +}()); +var Derived = (function (_super) { + __extends(Derived, _super); + function Derived() { + _super.apply(this, arguments); + } + Derived.make = function () { new Base(); }; // ok + return Derived; +}(Base)); +var Unrelated = (function () { + function Unrelated() { + } + Unrelated.fake = function () { new Base(); }; // error + return Unrelated; +}()); diff --git a/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types b/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types index 11fcac506b6..728a201d79e 100644 --- a/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types +++ b/tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.types @@ -10,7 +10,7 @@ module M { export var v = 0; >v : number ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/classDoesNotDependOnBaseTypes.types b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types index c342f0ea002..5ac20c6e0fa 100644 --- a/tests/baselines/reference/classDoesNotDependOnBaseTypes.types +++ b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types @@ -1,32 +1,32 @@ === tests/cases/conformance/types/typeAliases/classDoesNotDependOnBaseTypes.ts === var x: StringTree; ->x : string | StringTreeCollection ->StringTree : string | StringTreeCollection +>x : StringTree +>StringTree : StringTree if (typeof x !== "string") { >typeof x !== "string" : boolean >typeof x : string ->x : string | StringTreeCollection ->"string" : string +>x : StringTree +>"string" : "string" x[0] = ""; ->x[0] = "" : string ->x[0] : string | StringTreeCollection +>x[0] = "" : "" +>x[0] : StringTree >x : StringTreeCollection ->0 : number ->"" : string +>0 : 0 +>"" : "" x[0] = new StringTreeCollection; >x[0] = new StringTreeCollection : StringTreeCollection ->x[0] : string | StringTreeCollection +>x[0] : StringTree >x : StringTreeCollection ->0 : number +>0 : 0 >new StringTreeCollection : StringTreeCollection >StringTreeCollection : typeof StringTreeCollection } type StringTree = string | StringTreeCollection; ->StringTree : string | StringTreeCollection +>StringTree : StringTree >StringTreeCollection : StringTreeCollection class StringTreeCollectionBase { @@ -34,7 +34,7 @@ class StringTreeCollectionBase { [n: number]: StringTree; >n : number ->StringTree : string | StringTreeCollection +>StringTree : StringTree } class StringTreeCollection extends StringTreeCollectionBase { } diff --git a/tests/baselines/reference/classExpression3.errors.txt b/tests/baselines/reference/classExpression3.errors.txt new file mode 100644 index 00000000000..2a7a2e160f1 --- /dev/null +++ b/tests/baselines/reference/classExpression3.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/classes/classExpressions/classExpression3.ts(1,23): error TS2690: A class must be declared after its base class. +tests/cases/conformance/classes/classExpressions/classExpression3.ts(1,37): error TS2690: A class must be declared after its base class. + + +==== tests/cases/conformance/classes/classExpressions/classExpression3.ts (2 errors) ==== + let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + ~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + let c = new C(); + c.a; + c.b; + c.c; + \ No newline at end of file diff --git a/tests/baselines/reference/classExpression3.symbols b/tests/baselines/reference/classExpression3.symbols deleted file mode 100644 index bc1b263a000..00000000000 --- a/tests/baselines/reference/classExpression3.symbols +++ /dev/null @@ -1,26 +0,0 @@ -=== tests/cases/conformance/classes/classExpressions/classExpression3.ts === -let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; ->C : Symbol(C, Decl(classExpression3.ts, 0, 3)) ->a : Symbol((Anonymous class).a, Decl(classExpression3.ts, 0, 43)) ->b : Symbol((Anonymous class).b, Decl(classExpression3.ts, 0, 53)) ->c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63)) - -let c = new C(); ->c : Symbol(c, Decl(classExpression3.ts, 1, 3)) ->C : Symbol(C, Decl(classExpression3.ts, 0, 3)) - -c.a; ->c.a : Symbol((Anonymous class).a, Decl(classExpression3.ts, 0, 43)) ->c : Symbol(c, Decl(classExpression3.ts, 1, 3)) ->a : Symbol((Anonymous class).a, Decl(classExpression3.ts, 0, 43)) - -c.b; ->c.b : Symbol((Anonymous class).b, Decl(classExpression3.ts, 0, 53)) ->c : Symbol(c, Decl(classExpression3.ts, 1, 3)) ->b : Symbol((Anonymous class).b, Decl(classExpression3.ts, 0, 53)) - -c.c; ->c.c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63)) ->c : Symbol(c, Decl(classExpression3.ts, 1, 3)) ->c : Symbol((Anonymous class).c, Decl(classExpression3.ts, 0, 63)) - diff --git a/tests/baselines/reference/classExpression3.types b/tests/baselines/reference/classExpression3.types deleted file mode 100644 index 87423ecf0bd..00000000000 --- a/tests/baselines/reference/classExpression3.types +++ /dev/null @@ -1,33 +0,0 @@ -=== tests/cases/conformance/classes/classExpressions/classExpression3.ts === -let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; ->C : typeof (Anonymous class) ->class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof (Anonymous class) ->class extends class { a = 1 } { b = 2 } : (Anonymous class) ->class { a = 1 } : (Anonymous class) ->a : number ->1 : number ->b : number ->2 : number ->c : number ->3 : number - -let c = new C(); ->c : (Anonymous class) ->new C() : (Anonymous class) ->C : typeof (Anonymous class) - -c.a; ->c.a : number ->c : (Anonymous class) ->a : number - -c.b; ->c.b : number ->c : (Anonymous class) ->b : number - -c.c; ->c.c : number ->c : (Anonymous class) ->c : number - diff --git a/tests/baselines/reference/classExpression5.types b/tests/baselines/reference/classExpression5.types index 25c4b66b8f3..cf207c1cb0b 100644 --- a/tests/baselines/reference/classExpression5.types +++ b/tests/baselines/reference/classExpression5.types @@ -9,7 +9,7 @@ new class { >hi : () => string return "Hi!"; ->"Hi!" : string +>"Hi!" : "Hi!" } }().hi(); >hi : () => string diff --git a/tests/baselines/reference/classExpressionES61.js b/tests/baselines/reference/classExpressionES61.js index afef0909039..eaf013acbaf 100644 --- a/tests/baselines/reference/classExpressionES61.js +++ b/tests/baselines/reference/classExpressionES61.js @@ -3,5 +3,4 @@ var v = class C {}; //// [classExpressionES61.js] var v = class C { -} -; +}; diff --git a/tests/baselines/reference/classExpressionES62.js b/tests/baselines/reference/classExpressionES62.js index 79cede7300d..620d86c6de2 100644 --- a/tests/baselines/reference/classExpressionES62.js +++ b/tests/baselines/reference/classExpressionES62.js @@ -6,5 +6,4 @@ var v = class C extends D {}; class D { } var v = class C extends D { -} -; +}; diff --git a/tests/baselines/reference/classExpressionES63.errors.txt b/tests/baselines/reference/classExpressionES63.errors.txt new file mode 100644 index 00000000000..9463162e4a6 --- /dev/null +++ b/tests/baselines/reference/classExpressionES63.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/es6/classExpressions/classExpressionES63.ts(1,23): error TS2690: A class must be declared after its base class. +tests/cases/conformance/es6/classExpressions/classExpressionES63.ts(1,37): error TS2690: A class must be declared after its base class. + + +==== tests/cases/conformance/es6/classExpressions/classExpressionES63.ts (2 errors) ==== + let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + ~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + let c = new C(); + c.a; + c.b; + c.c; + \ No newline at end of file diff --git a/tests/baselines/reference/classExpressionES63.js b/tests/baselines/reference/classExpressionES63.js index 6b3a06cf7c3..66d5bc4de4c 100644 --- a/tests/baselines/reference/classExpressionES63.js +++ b/tests/baselines/reference/classExpressionES63.js @@ -11,20 +11,17 @@ let C = class extends class extends class { constructor() { this.a = 1; } -} - { - constructor(...args) { - super(...args); +} { + constructor() { + super(...arguments); this.b = 2; } -} - { - constructor(...args) { - super(...args); +} { + constructor() { + super(...arguments); this.c = 3; } -} -; +}; let c = new C(); c.a; c.b; diff --git a/tests/baselines/reference/classExpressionES63.symbols b/tests/baselines/reference/classExpressionES63.symbols deleted file mode 100644 index 4e52d5ee9dd..00000000000 --- a/tests/baselines/reference/classExpressionES63.symbols +++ /dev/null @@ -1,26 +0,0 @@ -=== tests/cases/conformance/es6/classExpressions/classExpressionES63.ts === -let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; ->C : Symbol(C, Decl(classExpressionES63.ts, 0, 3)) ->a : Symbol((Anonymous class).a, Decl(classExpressionES63.ts, 0, 43)) ->b : Symbol((Anonymous class).b, Decl(classExpressionES63.ts, 0, 53)) ->c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63)) - -let c = new C(); ->c : Symbol(c, Decl(classExpressionES63.ts, 1, 3)) ->C : Symbol(C, Decl(classExpressionES63.ts, 0, 3)) - -c.a; ->c.a : Symbol((Anonymous class).a, Decl(classExpressionES63.ts, 0, 43)) ->c : Symbol(c, Decl(classExpressionES63.ts, 1, 3)) ->a : Symbol((Anonymous class).a, Decl(classExpressionES63.ts, 0, 43)) - -c.b; ->c.b : Symbol((Anonymous class).b, Decl(classExpressionES63.ts, 0, 53)) ->c : Symbol(c, Decl(classExpressionES63.ts, 1, 3)) ->b : Symbol((Anonymous class).b, Decl(classExpressionES63.ts, 0, 53)) - -c.c; ->c.c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63)) ->c : Symbol(c, Decl(classExpressionES63.ts, 1, 3)) ->c : Symbol((Anonymous class).c, Decl(classExpressionES63.ts, 0, 63)) - diff --git a/tests/baselines/reference/classExpressionES63.types b/tests/baselines/reference/classExpressionES63.types deleted file mode 100644 index 5b07bf79692..00000000000 --- a/tests/baselines/reference/classExpressionES63.types +++ /dev/null @@ -1,33 +0,0 @@ -=== tests/cases/conformance/es6/classExpressions/classExpressionES63.ts === -let C = class extends class extends class { a = 1 } { b = 2 } { c = 3 }; ->C : typeof (Anonymous class) ->class extends class extends class { a = 1 } { b = 2 } { c = 3 } : typeof (Anonymous class) ->class extends class { a = 1 } { b = 2 } : (Anonymous class) ->class { a = 1 } : (Anonymous class) ->a : number ->1 : number ->b : number ->2 : number ->c : number ->3 : number - -let c = new C(); ->c : (Anonymous class) ->new C() : (Anonymous class) ->C : typeof (Anonymous class) - -c.a; ->c.a : number ->c : (Anonymous class) ->a : number - -c.b; ->c.b : number ->c : (Anonymous class) ->b : number - -c.c; ->c.c : number ->c : (Anonymous class) ->c : number - diff --git a/tests/baselines/reference/classExpressionWithDecorator1.js b/tests/baselines/reference/classExpressionWithDecorator1.js index e051e05251b..9b52891b559 100644 --- a/tests/baselines/reference/classExpressionWithDecorator1.js +++ b/tests/baselines/reference/classExpressionWithDecorator1.js @@ -12,10 +12,10 @@ var v = ; var C = (function () { function C() { } - C.p = 1; - C = __decorate([ - decorate - ], C); return C; }()); +C.p = 1; +C = __decorate([ + decorate +], C); ; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties1.js b/tests/baselines/reference/classExpressionWithStaticProperties1.js index cfe85d97a71..205f59367cc 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties1.js +++ b/tests/baselines/reference/classExpressionWithStaticProperties1.js @@ -1,11 +1,18 @@ //// [classExpressionWithStaticProperties1.ts] -var v = class C { static a = 1; static b = 2 }; +var v = class C { + static a = 1; + static b = 2; + static c = C.a + C.b; +}; //// [classExpressionWithStaticProperties1.js] -var v = (function () { - function C() { - } - C.a = 1; - C.b = 2; - return C; -}()); +var v = (_a = (function () { + function C() { + } + return C; + }()), + _a.a = 1, + _a.b = 2, + _a.c = _a.a + _a.b, + _a); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties1.symbols b/tests/baselines/reference/classExpressionWithStaticProperties1.symbols index d4c811daebe..f8b3c270ea9 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties1.symbols +++ b/tests/baselines/reference/classExpressionWithStaticProperties1.symbols @@ -1,7 +1,21 @@ === tests/cases/compiler/classExpressionWithStaticProperties1.ts === -var v = class C { static a = 1; static b = 2 }; +var v = class C { >v : Symbol(v, Decl(classExpressionWithStaticProperties1.ts, 0, 3)) >C : Symbol(C, Decl(classExpressionWithStaticProperties1.ts, 0, 7)) ->a : Symbol(C.a, Decl(classExpressionWithStaticProperties1.ts, 0, 17)) ->b : Symbol(C.b, Decl(classExpressionWithStaticProperties1.ts, 0, 31)) + static a = 1; +>a : Symbol(C.a, Decl(classExpressionWithStaticProperties1.ts, 0, 17)) + + static b = 2; +>b : Symbol(C.b, Decl(classExpressionWithStaticProperties1.ts, 1, 17)) + + static c = C.a + C.b; +>c : Symbol(C.c, Decl(classExpressionWithStaticProperties1.ts, 2, 17)) +>C.a : Symbol(C.a, Decl(classExpressionWithStaticProperties1.ts, 0, 17)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties1.ts, 0, 7)) +>a : Symbol(C.a, Decl(classExpressionWithStaticProperties1.ts, 0, 17)) +>C.b : Symbol(C.b, Decl(classExpressionWithStaticProperties1.ts, 1, 17)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties1.ts, 0, 7)) +>b : Symbol(C.b, Decl(classExpressionWithStaticProperties1.ts, 1, 17)) + +}; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties1.types b/tests/baselines/reference/classExpressionWithStaticProperties1.types index b014f78abf7..2cdcd1581b1 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties1.types +++ b/tests/baselines/reference/classExpressionWithStaticProperties1.types @@ -1,10 +1,25 @@ === tests/cases/compiler/classExpressionWithStaticProperties1.ts === -var v = class C { static a = 1; static b = 2 }; +var v = class C { >v : typeof C ->class C { static a = 1; static b = 2 } : typeof C +>class C { static a = 1; static b = 2; static c = C.a + C.b;} : typeof C +>C : typeof C + + static a = 1; +>a : number +>1 : 1 + + static b = 2; +>b : number +>2 : 2 + + static c = C.a + C.b; +>c : number +>C.a + C.b : number +>C.a : number >C : typeof C >a : number ->1 : number +>C.b : number +>C : typeof C >b : number ->2 : number +}; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties2.js b/tests/baselines/reference/classExpressionWithStaticProperties2.js index 134441e0ad9..eb1c2da2e21 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties2.js +++ b/tests/baselines/reference/classExpressionWithStaticProperties2.js @@ -1,10 +1,23 @@ //// [classExpressionWithStaticProperties2.ts] -var v = class C { static a = 1; static b }; +var v = class C { + static a = 1; + static b + static c = { + x: "hi" + } + static d = C.c.x + " world"; + }; //// [classExpressionWithStaticProperties2.js] -var v = (function () { - function C() { - } - C.a = 1; - return C; -}()); +var v = (_a = (function () { + function C() { + } + return C; + }()), + _a.a = 1, + _a.c = { + x: "hi" + }, + _a.d = _a.c.x + " world", + _a); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties2.symbols b/tests/baselines/reference/classExpressionWithStaticProperties2.symbols index 480123a1c3b..981e1e258c7 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties2.symbols +++ b/tests/baselines/reference/classExpressionWithStaticProperties2.symbols @@ -1,7 +1,26 @@ === tests/cases/compiler/classExpressionWithStaticProperties2.ts === -var v = class C { static a = 1; static b }; +var v = class C { >v : Symbol(v, Decl(classExpressionWithStaticProperties2.ts, 0, 3)) >C : Symbol(C, Decl(classExpressionWithStaticProperties2.ts, 0, 7)) ->a : Symbol(C.a, Decl(classExpressionWithStaticProperties2.ts, 0, 17)) ->b : Symbol(C.b, Decl(classExpressionWithStaticProperties2.ts, 0, 31)) + static a = 1; +>a : Symbol(C.a, Decl(classExpressionWithStaticProperties2.ts, 0, 17)) + + static b +>b : Symbol(C.b, Decl(classExpressionWithStaticProperties2.ts, 1, 17)) + + static c = { +>c : Symbol(C.c, Decl(classExpressionWithStaticProperties2.ts, 2, 12)) + + x: "hi" +>x : Symbol(x, Decl(classExpressionWithStaticProperties2.ts, 3, 16)) + } + static d = C.c.x + " world"; +>d : Symbol(C.d, Decl(classExpressionWithStaticProperties2.ts, 5, 5)) +>C.c.x : Symbol(x, Decl(classExpressionWithStaticProperties2.ts, 3, 16)) +>C.c : Symbol(C.c, Decl(classExpressionWithStaticProperties2.ts, 2, 12)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties2.ts, 0, 7)) +>c : Symbol(C.c, Decl(classExpressionWithStaticProperties2.ts, 2, 12)) +>x : Symbol(x, Decl(classExpressionWithStaticProperties2.ts, 3, 16)) + + }; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties2.types b/tests/baselines/reference/classExpressionWithStaticProperties2.types index 9bfd6732350..2db30ff3105 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties2.types +++ b/tests/baselines/reference/classExpressionWithStaticProperties2.types @@ -1,9 +1,32 @@ === tests/cases/compiler/classExpressionWithStaticProperties2.ts === -var v = class C { static a = 1; static b }; +var v = class C { >v : typeof C ->class C { static a = 1; static b } : typeof C +>class C { static a = 1; static b static c = { x: "hi" } static d = C.c.x + " world"; } : typeof C >C : typeof C + + static a = 1; >a : number ->1 : number +>1 : 1 + + static b >b : any + static c = { +>c : { x: string; } +>{ x: "hi" } : { x: string; } + + x: "hi" +>x : string +>"hi" : "hi" + } + static d = C.c.x + " world"; +>d : string +>C.c.x + " world" : string +>C.c.x : string +>C.c : { x: string; } +>C : typeof C +>c : { x: string; } +>x : string +>" world" : " world" + + }; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties3.js b/tests/baselines/reference/classExpressionWithStaticProperties3.js new file mode 100644 index 00000000000..7bec5fca167 --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticProperties3.js @@ -0,0 +1,29 @@ +//// [classExpressionWithStaticProperties3.ts] + +declare var console: any; +const arr: {y(): number}[] = []; +for (let i = 0; i < 3; i++) { + arr.push(class C { + static x = i; + static y = () => C.x * 2; + }); +} +arr.forEach(C => console.log(C.y())); + +//// [classExpressionWithStaticProperties3.js] +var arr = []; +var _loop_1 = function (i) { + arr.push((_a = (function () { + function C() { + } + return C; + }()), + _a.x = i, + _a.y = function () { return _a.x * 2; }, + _a)); +}; +for (var i = 0; i < 3; i++) { + _loop_1(i); +} +arr.forEach(function (C) { return console.log(C.y()); }); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticProperties3.symbols b/tests/baselines/reference/classExpressionWithStaticProperties3.symbols new file mode 100644 index 00000000000..ff9b7b0d311 --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticProperties3.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/classExpressionWithStaticProperties3.ts === + +declare var console: any; +>console : Symbol(console, Decl(classExpressionWithStaticProperties3.ts, 1, 11)) + +const arr: {y(): number}[] = []; +>arr : Symbol(arr, Decl(classExpressionWithStaticProperties3.ts, 2, 5)) +>y : Symbol(y, Decl(classExpressionWithStaticProperties3.ts, 2, 12)) + +for (let i = 0; i < 3; i++) { +>i : Symbol(i, Decl(classExpressionWithStaticProperties3.ts, 3, 8)) +>i : Symbol(i, Decl(classExpressionWithStaticProperties3.ts, 3, 8)) +>i : Symbol(i, Decl(classExpressionWithStaticProperties3.ts, 3, 8)) + + arr.push(class C { +>arr.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>arr : Symbol(arr, Decl(classExpressionWithStaticProperties3.ts, 2, 5)) +>push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties3.ts, 4, 13)) + + static x = i; +>x : Symbol(C.x, Decl(classExpressionWithStaticProperties3.ts, 4, 22)) +>i : Symbol(i, Decl(classExpressionWithStaticProperties3.ts, 3, 8)) + + static y = () => C.x * 2; +>y : Symbol(C.y, Decl(classExpressionWithStaticProperties3.ts, 5, 21)) +>C.x : Symbol(C.x, Decl(classExpressionWithStaticProperties3.ts, 4, 22)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties3.ts, 4, 13)) +>x : Symbol(C.x, Decl(classExpressionWithStaticProperties3.ts, 4, 22)) + + }); +} +arr.forEach(C => console.log(C.y())); +>arr.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>arr : Symbol(arr, Decl(classExpressionWithStaticProperties3.ts, 2, 5)) +>forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties3.ts, 9, 12)) +>console : Symbol(console, Decl(classExpressionWithStaticProperties3.ts, 1, 11)) +>C.y : Symbol(y, Decl(classExpressionWithStaticProperties3.ts, 2, 12)) +>C : Symbol(C, Decl(classExpressionWithStaticProperties3.ts, 9, 12)) +>y : Symbol(y, Decl(classExpressionWithStaticProperties3.ts, 2, 12)) + diff --git a/tests/baselines/reference/classExpressionWithStaticProperties3.types b/tests/baselines/reference/classExpressionWithStaticProperties3.types new file mode 100644 index 00000000000..b7f6102c8b7 --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticProperties3.types @@ -0,0 +1,58 @@ +=== tests/cases/compiler/classExpressionWithStaticProperties3.ts === + +declare var console: any; +>console : any + +const arr: {y(): number}[] = []; +>arr : { y(): number; }[] +>y : () => number +>[] : undefined[] + +for (let i = 0; i < 3; i++) { +>i : number +>0 : 0 +>i < 3 : boolean +>i : number +>3 : 3 +>i++ : number +>i : number + + arr.push(class C { +>arr.push(class C { static x = i; static y = () => C.x * 2; }) : number +>arr.push : (...items: { y(): number; }[]) => number +>arr : { y(): number; }[] +>push : (...items: { y(): number; }[]) => number +>class C { static x = i; static y = () => C.x * 2; } : typeof C +>C : typeof C + + static x = i; +>x : number +>i : number + + static y = () => C.x * 2; +>y : () => number +>() => C.x * 2 : () => number +>C.x * 2 : number +>C.x : number +>C : typeof C +>x : number +>2 : 2 + + }); +} +arr.forEach(C => console.log(C.y())); +>arr.forEach(C => console.log(C.y())) : void +>arr.forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void +>arr : { y(): number; }[] +>forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void +>C => console.log(C.y()) : (C: { y(): number; }) => any +>C : { y(): number; } +>console.log(C.y()) : any +>console.log : any +>console : any +>log : any +>C.y() : number +>C.y : () => number +>C : { y(): number; } +>y : () => number + diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES61.js b/tests/baselines/reference/classExpressionWithStaticPropertiesES61.js index 7ddacb70405..d3a210df7e2 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES61.js +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES61.js @@ -6,10 +6,10 @@ var v = class C { }; //// [classExpressionWithStaticPropertiesES61.js] -var v = (C_1 = class C { +var v = (_a = class C { }, - C_1.a = 1, - C_1.b = 2, - C_1.c = C_1.a + 3, - C_1); -var C_1; + _a.a = 1, + _a.b = 2, + _a.c = _a.a + 3, + _a); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES61.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES61.types index 0ba6ada4131..62f29b64361 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES61.types +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES61.types @@ -6,11 +6,11 @@ var v = class C { static a = 1; >a : number ->1 : number +>1 : 1 static b = 2; >b : number ->2 : number +>2 : 2 static c = C.a + 3; >c : number @@ -18,6 +18,6 @@ var v = class C { >C.a : number >C : typeof C >a : number ->3 : number +>3 : 3 }; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES62.js b/tests/baselines/reference/classExpressionWithStaticPropertiesES62.js index 0a4b7645ecc..d0f56131d54 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES62.js +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES62.js @@ -9,12 +9,12 @@ var v = class C { }; //// [classExpressionWithStaticPropertiesES62.js] -var v = (C_1 = class C { +var v = (_a = class C { }, - C_1.a = 1, - C_1.c = { + _a.a = 1, + _a.c = { x: "hi" }, - C_1.d = C_1.c.x + " world", - C_1); -var C_1; + _a.d = _a.c.x + " world", + _a); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES62.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES62.types index 97d6940a3fc..0c448d73ede 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES62.types +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES62.types @@ -6,7 +6,7 @@ var v = class C { static a = 1; >a : number ->1 : number +>1 : 1 static b >b : any @@ -17,7 +17,7 @@ var v = class C { x: "hi" >x : string ->"hi" : string +>"hi" : "hi" } static d = C.c.x + " world"; >d : string @@ -27,6 +27,6 @@ var v = class C { >C : typeof C >c : { x: string; } >x : string ->" world" : string +>" world" : " world" }; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.js b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.js index 53955735762..3993f18c0c7 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.js +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.js @@ -13,11 +13,11 @@ arr.forEach(C => console.log(C.y())); //// [classExpressionWithStaticPropertiesES63.js] const arr = []; for (let i = 0; i < 3; i++) { - arr.push((C_1 = class C { + arr.push((_a = class C { }, - C_1.x = i, - C_1.y = () => C_1.x * 2, - C_1)); + _a.x = i, + _a.y = () => _a.x * 2, + _a)); } arr.forEach(C => console.log(C.y())); -var C_1; +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types index 92f14f3f65f..3bc780785aa 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types @@ -10,10 +10,10 @@ const arr: {y(): number}[] = []; for (let i = 0; i < 3; i++) { >i : number ->0 : number +>0 : 0 >i < 3 : boolean >i : number ->3 : number +>3 : 3 >i++ : number >i : number @@ -36,7 +36,7 @@ for (let i = 0; i < 3; i++) { >C.x : number >C : typeof C >x : number ->2 : number +>2 : 2 }); } diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES64.js b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.js new file mode 100644 index 00000000000..d2a62d62ce9 --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.js @@ -0,0 +1,10 @@ +//// [classExpressionWithStaticPropertiesES64.ts] +(class { static x = 0; }); + + +//// [classExpressionWithStaticPropertiesES64.js] +(_a = class { + }, + _a.x = 0, + _a); +var _a; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES64.symbols b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.symbols new file mode 100644 index 00000000000..1289a526e4a --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/classExpressionWithStaticPropertiesES64.ts === +(class { static x = 0; }); +>x : Symbol((Anonymous class).x, Decl(classExpressionWithStaticPropertiesES64.ts, 0, 8)) + diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES64.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.types new file mode 100644 index 00000000000..0f76461bb71 --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/classExpressionWithStaticPropertiesES64.ts === +(class { static x = 0; }); +>(class { static x = 0; }) : typeof (Anonymous class) +>class { static x = 0; } : typeof (Anonymous class) +>x : number +>0 : 0 + diff --git a/tests/baselines/reference/classExtendingClass.types b/tests/baselines/reference/classExtendingClass.types index f91493e97fd..3c03fb1837a 100644 --- a/tests/baselines/reference/classExtendingClass.types +++ b/tests/baselines/reference/classExtendingClass.types @@ -102,7 +102,7 @@ var r7 = d2.thing(''); >d2.thing : (x: string) => void >d2 : D2 >thing : (x: string) => void ->'' : string +>'' : "" var r8 = D2.other(1); >r8 : void @@ -110,5 +110,5 @@ var r8 = D2.other(1); >D2.other : (x: T) => void >D2 : typeof D2 >other : (x: T) => void ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/classExtendingNonConstructor.errors.txt b/tests/baselines/reference/classExtendingNonConstructor.errors.txt index 17b3610d252..b2c5ce4955a 100644 --- a/tests/baselines/reference/classExtendingNonConstructor.errors.txt +++ b/tests/baselines/reference/classExtendingNonConstructor.errors.txt @@ -1,8 +1,8 @@ tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(7,18): error TS2507: Type 'undefined' is not a constructor function type. -tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(8,18): error TS2507: Type 'boolean' is not a constructor function type. -tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(9,18): error TS2507: Type 'boolean' is not a constructor function type. -tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(10,18): error TS2507: Type 'number' is not a constructor function type. -tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(11,18): error TS2507: Type 'string' is not a constructor function type. +tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(8,18): error TS2507: Type 'true' is not a constructor function type. +tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(9,18): error TS2507: Type 'false' is not a constructor function type. +tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(10,18): error TS2507: Type '42' is not a constructor function type. +tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(11,18): error TS2507: Type '"hello"' is not a constructor function type. tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(12,18): error TS2507: Type '{}' is not a constructor function type. tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.ts(13,18): error TS2507: Type '() => void' is not a constructor function type. @@ -19,16 +19,16 @@ tests/cases/conformance/classes/classDeclarations/classExtendingNonConstructor.t !!! error TS2507: Type 'undefined' is not a constructor function type. class C2 extends true { } ~~~~ -!!! error TS2507: Type 'boolean' is not a constructor function type. +!!! error TS2507: Type 'true' is not a constructor function type. class C3 extends false { } ~~~~~ -!!! error TS2507: Type 'boolean' is not a constructor function type. +!!! error TS2507: Type 'false' is not a constructor function type. class C4 extends 42 { } ~~ -!!! error TS2507: Type 'number' is not a constructor function type. +!!! error TS2507: Type '42' is not a constructor function type. class C5 extends "hello" { } ~~~~~~~ -!!! error TS2507: Type 'string' is not a constructor function type. +!!! error TS2507: Type '"hello"' is not a constructor function type. class C6 extends x { } ~ !!! error TS2507: Type '{}' is not a constructor function type. diff --git a/tests/baselines/reference/classExtendsAcrossFiles.js b/tests/baselines/reference/classExtendsAcrossFiles.js index b533b880036..0805389f268 100644 --- a/tests/baselines/reference/classExtendsAcrossFiles.js +++ b/tests/baselines/reference/classExtendsAcrossFiles.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var a_1 = require('./a'); +var a_1 = require("./a"); exports.b = { f: function () { var A = (function () { @@ -51,7 +51,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var b_1 = require('./b'); +var b_1 = require("./b"); exports.a = { f: function () { var A = (function () { diff --git a/tests/baselines/reference/classImplementsClass3.types b/tests/baselines/reference/classImplementsClass3.types index 6f97a96a56e..266ff33e29b 100644 --- a/tests/baselines/reference/classImplementsClass3.types +++ b/tests/baselines/reference/classImplementsClass3.types @@ -2,7 +2,7 @@ class A { foo(): number { return 1; } } >A : A >foo : () => number ->1 : number +>1 : 1 class C implements A { >C : C @@ -12,7 +12,7 @@ class C implements A { >foo : () => number return 1; ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/classInheritence.errors.txt b/tests/baselines/reference/classInheritence.errors.txt index cba8c040d6e..cd95dedbfcf 100644 --- a/tests/baselines/reference/classInheritence.errors.txt +++ b/tests/baselines/reference/classInheritence.errors.txt @@ -1,8 +1,11 @@ +tests/cases/compiler/classInheritence.ts(1,17): error TS2690: A class must be declared after its base class. tests/cases/compiler/classInheritence.ts(2,7): error TS2506: 'A' is referenced directly or indirectly in its own base expression. -==== tests/cases/compiler/classInheritence.ts (1 errors) ==== +==== tests/cases/compiler/classInheritence.ts (2 errors) ==== class B extends A { } + ~ +!!! error TS2690: A class must be declared after its base class. class A extends A { } ~ !!! error TS2506: 'A' is referenced directly or indirectly in its own base expression. \ No newline at end of file diff --git a/tests/baselines/reference/classMemberInitializerScoping.errors.txt b/tests/baselines/reference/classMemberInitializerScoping.errors.txt index dddc7a82a3f..d6625b3d1f8 100644 --- a/tests/baselines/reference/classMemberInitializerScoping.errors.txt +++ b/tests/baselines/reference/classMemberInitializerScoping.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/classMemberInitializerScoping.ts(3,17): error TS2301: Initializer of instance member variable 'y' cannot reference identifier 'aaa' declared in the constructor. -tests/cases/compiler/classMemberInitializerScoping.ts(6,9): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/classMemberInitializerScoping.ts(6,9): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/compiler/classMemberInitializerScoping.ts (2 errors) ==== @@ -12,7 +12,7 @@ tests/cases/compiler/classMemberInitializerScoping.ts(6,9): error TS2322: Type ' constructor(aaa) { this.y = ''; // was: error, cannot assign string to number ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. } } diff --git a/tests/baselines/reference/classMemberInitializerScoping.js b/tests/baselines/reference/classMemberInitializerScoping.js index 8f78cfb9ac6..52bbaee8945 100644 --- a/tests/baselines/reference/classMemberInitializerScoping.js +++ b/tests/baselines/reference/classMemberInitializerScoping.js @@ -27,9 +27,9 @@ var CCC = (function () { this.y = aaa; this.y = ''; // was: error, cannot assign string to number } - CCC.staticY = aaa; // This shouldnt be error return CCC; }()); +CCC.staticY = aaa; // This shouldnt be error // above is equivalent to this: var aaaa = 1; var CCCC = (function () { diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.js b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.js index 752220a4cbc..c5b661831a2 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.js +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.js @@ -40,12 +40,12 @@ var Test = (function () { console.log(field); // Using field here shouldnt be error }; } - Test.staticMessageHandler = function () { - var field = Test.field; - console.log(field); // Using field here shouldnt be error - }; return Test; }()); +Test.staticMessageHandler = function () { + var field = Test.field; + console.log(field); // Using field here shouldnt be error +}; var field1; var Test1 = (function () { function Test1(field1) { @@ -56,8 +56,8 @@ var Test1 = (function () { // it would resolve to private field1 and thats not what user intended here. }; } - Test1.staticMessageHandler = function () { - console.log(field1); // This shouldnt be error as its a static property - }; return Test1; }()); +Test1.staticMessageHandler = function () { + console.log(field1); // This shouldnt be error as its a static property +}; diff --git a/tests/baselines/reference/classOrder2.errors.txt b/tests/baselines/reference/classOrder2.errors.txt new file mode 100644 index 00000000000..a1b8dc6346e --- /dev/null +++ b/tests/baselines/reference/classOrder2.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/classOrder2.ts(2,17): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/classOrder2.ts (1 errors) ==== + + class A extends B { + ~ +!!! error TS2690: A class must be declared after its base class. + + foo() { this.bar(); } + + } + + class B { + + bar() { } + + } + + + var a = new A(); + + a.foo(); + + \ No newline at end of file diff --git a/tests/baselines/reference/classOrder2.symbols b/tests/baselines/reference/classOrder2.symbols deleted file mode 100644 index 8ca6e89e1db..00000000000 --- a/tests/baselines/reference/classOrder2.symbols +++ /dev/null @@ -1,33 +0,0 @@ -=== tests/cases/compiler/classOrder2.ts === - -class A extends B { ->A : Symbol(A, Decl(classOrder2.ts, 0, 0)) ->B : Symbol(B, Decl(classOrder2.ts, 5, 1)) - - foo() { this.bar(); } ->foo : Symbol(A.foo, Decl(classOrder2.ts, 1, 19)) ->this.bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) ->this : Symbol(A, Decl(classOrder2.ts, 0, 0)) ->bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) - -} - -class B { ->B : Symbol(B, Decl(classOrder2.ts, 5, 1)) - - bar() { } ->bar : Symbol(B.bar, Decl(classOrder2.ts, 7, 9)) - -} - - -var a = new A(); ->a : Symbol(a, Decl(classOrder2.ts, 14, 3)) ->A : Symbol(A, Decl(classOrder2.ts, 0, 0)) - -a.foo(); ->a.foo : Symbol(A.foo, Decl(classOrder2.ts, 1, 19)) ->a : Symbol(a, Decl(classOrder2.ts, 14, 3)) ->foo : Symbol(A.foo, Decl(classOrder2.ts, 1, 19)) - - diff --git a/tests/baselines/reference/classOrder2.types b/tests/baselines/reference/classOrder2.types deleted file mode 100644 index ac65da2ec9d..00000000000 --- a/tests/baselines/reference/classOrder2.types +++ /dev/null @@ -1,36 +0,0 @@ -=== tests/cases/compiler/classOrder2.ts === - -class A extends B { ->A : A ->B : B - - foo() { this.bar(); } ->foo : () => void ->this.bar() : void ->this.bar : () => void ->this : this ->bar : () => void - -} - -class B { ->B : B - - bar() { } ->bar : () => void - -} - - -var a = new A(); ->a : A ->new A() : A ->A : typeof A - -a.foo(); ->a.foo() : void ->a.foo : () => void ->a : A ->foo : () => void - - diff --git a/tests/baselines/reference/classSideInheritance2.errors.txt b/tests/baselines/reference/classSideInheritance2.errors.txt new file mode 100644 index 00000000000..e286594ec2d --- /dev/null +++ b/tests/baselines/reference/classSideInheritance2.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/classSideInheritance2.ts(7,23): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/classSideInheritance2.ts (1 errors) ==== + interface IText { + foo: number; + } + + interface TextSpan {} + + class SubText extends TextBase { + ~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + + constructor(text: IText, span: TextSpan) { + super(); + } + } + + class TextBase implements IText { + public foo: number; + public subText(span: TextSpan): IText { + + return new SubText(this, span); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/classSideInheritance2.symbols b/tests/baselines/reference/classSideInheritance2.symbols deleted file mode 100644 index b90ae38a4a9..00000000000 --- a/tests/baselines/reference/classSideInheritance2.symbols +++ /dev/null @@ -1,45 +0,0 @@ -=== tests/cases/compiler/classSideInheritance2.ts === -interface IText { ->IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) - - foo: number; ->foo : Symbol(IText.foo, Decl(classSideInheritance2.ts, 0, 17)) -} - -interface TextSpan {} ->TextSpan : Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) - -class SubText extends TextBase { ->SubText : Symbol(SubText, Decl(classSideInheritance2.ts, 4, 21)) ->TextBase : Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) - - constructor(text: IText, span: TextSpan) { ->text : Symbol(text, Decl(classSideInheritance2.ts, 8, 20)) ->IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) ->span : Symbol(span, Decl(classSideInheritance2.ts, 8, 32)) ->TextSpan : Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) - - super(); ->super : Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) - } -} - -class TextBase implements IText { ->TextBase : Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) ->IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) - - public foo: number; ->foo : Symbol(TextBase.foo, Decl(classSideInheritance2.ts, 13, 33)) - - public subText(span: TextSpan): IText { ->subText : Symbol(TextBase.subText, Decl(classSideInheritance2.ts, 14, 27)) ->span : Symbol(span, Decl(classSideInheritance2.ts, 15, 23)) ->TextSpan : Symbol(TextSpan, Decl(classSideInheritance2.ts, 2, 1)) ->IText : Symbol(IText, Decl(classSideInheritance2.ts, 0, 0)) - - return new SubText(this, span); ->SubText : Symbol(SubText, Decl(classSideInheritance2.ts, 4, 21)) ->this : Symbol(TextBase, Decl(classSideInheritance2.ts, 11, 1)) ->span : Symbol(span, Decl(classSideInheritance2.ts, 15, 23)) - } -} diff --git a/tests/baselines/reference/classSideInheritance2.types b/tests/baselines/reference/classSideInheritance2.types deleted file mode 100644 index 7a3ee630266..00000000000 --- a/tests/baselines/reference/classSideInheritance2.types +++ /dev/null @@ -1,47 +0,0 @@ -=== tests/cases/compiler/classSideInheritance2.ts === -interface IText { ->IText : IText - - foo: number; ->foo : number -} - -interface TextSpan {} ->TextSpan : TextSpan - -class SubText extends TextBase { ->SubText : SubText ->TextBase : TextBase - - constructor(text: IText, span: TextSpan) { ->text : IText ->IText : IText ->span : TextSpan ->TextSpan : TextSpan - - super(); ->super() : void ->super : typeof TextBase - } -} - -class TextBase implements IText { ->TextBase : TextBase ->IText : IText - - public foo: number; ->foo : number - - public subText(span: TextSpan): IText { ->subText : (span: TextSpan) => IText ->span : TextSpan ->TextSpan : TextSpan ->IText : IText - - return new SubText(this, span); ->new SubText(this, span) : SubText ->SubText : typeof SubText ->this : this ->span : TextSpan - } -} diff --git a/tests/baselines/reference/classStaticPropertyTypeGuard.types b/tests/baselines/reference/classStaticPropertyTypeGuard.types index f89854c919d..f9bf8b68062 100644 --- a/tests/baselines/reference/classStaticPropertyTypeGuard.types +++ b/tests/baselines/reference/classStaticPropertyTypeGuard.types @@ -22,10 +22,10 @@ class A { >_a : string } return A._a = 'helloworld'; ->A._a = 'helloworld' : string +>A._a = 'helloworld' : "helloworld" >A._a : string | undefined >A : typeof A >_a : string | undefined ->'helloworld' : string +>'helloworld' : "helloworld" } } diff --git a/tests/baselines/reference/classWithEmptyBody.types b/tests/baselines/reference/classWithEmptyBody.types index 1ac111796e8..acb038a72a2 100644 --- a/tests/baselines/reference/classWithEmptyBody.types +++ b/tests/baselines/reference/classWithEmptyBody.types @@ -12,16 +12,16 @@ var o: {} = c; >c : C c = 1; ->c = 1 : number +>c = 1 : 1 >c : C ->1 : number +>1 : 1 c = { foo: '' } >c = { foo: '' } : { foo: string; } >c : C >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" c = () => { } >c = () => { } : () => void @@ -33,7 +33,7 @@ class D { constructor() { return 1; ->1 : number +>1 : 1 } } @@ -46,16 +46,16 @@ var o: {} = d; >d : D d = 1; ->d = 1 : number +>d = 1 : 1 >d : D ->1 : number +>1 : 1 d = { foo: '' } >d = { foo: '' } : { foo: string; } >d : D >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" d = () => { } >d = () => { } : () => void diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.types b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.types index 94460dfdeaf..272ba94f7f2 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.types +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.types @@ -14,7 +14,7 @@ class C { public get z() { return 1; } >z : number ->1 : number +>1 : 1 public set z(v) { } >z : number diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.types b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.types index b359713f292..22440da1768 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.types +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.types @@ -14,7 +14,7 @@ class C { public get z() { return 1; } >z : number ->1 : number +>1 : 1 public set z(v) { } >z : number diff --git a/tests/baselines/reference/classWithPrivateProperty.js b/tests/baselines/reference/classWithPrivateProperty.js index 6e75797523f..c94f1d8ed80 100644 --- a/tests/baselines/reference/classWithPrivateProperty.js +++ b/tests/baselines/reference/classWithPrivateProperty.js @@ -32,9 +32,9 @@ var C = (function () { } C.prototype.c = function () { return ''; }; C.f = function () { return ''; }; - C.g = function () { return ''; }; return C; }()); +C.g = function () { return ''; }; var c = new C(); var r1 = c.x; var r2 = c.a; diff --git a/tests/baselines/reference/classWithProtectedProperty.js b/tests/baselines/reference/classWithProtectedProperty.js index 75eadaf4010..2b2e01e59df 100644 --- a/tests/baselines/reference/classWithProtectedProperty.js +++ b/tests/baselines/reference/classWithProtectedProperty.js @@ -42,9 +42,9 @@ var C = (function () { } C.prototype.c = function () { return ''; }; C.f = function () { return ''; }; - C.g = function () { return ''; }; return C; }()); +C.g = function () { return ''; }; var D = (function (_super) { __extends(D, _super); function D() { diff --git a/tests/baselines/reference/classWithProtectedProperty.types b/tests/baselines/reference/classWithProtectedProperty.types index 1f53ea2aad9..079c749c377 100644 --- a/tests/baselines/reference/classWithProtectedProperty.types +++ b/tests/baselines/reference/classWithProtectedProperty.types @@ -9,32 +9,32 @@ class C { protected a = ''; >a : string ->'' : string +>'' : "" protected b: string = ''; >b : string ->'' : string +>'' : "" protected c() { return '' } >c : () => string ->'' : string +>'' : "" protected d = () => ''; >d : () => string >() => '' : () => string ->'' : string +>'' : "" protected static e; >e : any protected static f() { return '' } >f : () => string ->'' : string +>'' : "" protected static g = () => ''; >g : () => string >() => '' : () => string ->'' : string +>'' : "" } class D extends C { diff --git a/tests/baselines/reference/classWithPublicProperty.js b/tests/baselines/reference/classWithPublicProperty.js index 054713264bd..47708b7aff3 100644 --- a/tests/baselines/reference/classWithPublicProperty.js +++ b/tests/baselines/reference/classWithPublicProperty.js @@ -30,9 +30,9 @@ var C = (function () { } C.prototype.c = function () { return ''; }; C.f = function () { return ''; }; - C.g = function () { return ''; }; return C; }()); +C.g = function () { return ''; }; // all of these are valid var c = new C(); var r1 = c.x; diff --git a/tests/baselines/reference/classWithPublicProperty.types b/tests/baselines/reference/classWithPublicProperty.types index 09d3c0668d1..1ea0c2920e4 100644 --- a/tests/baselines/reference/classWithPublicProperty.types +++ b/tests/baselines/reference/classWithPublicProperty.types @@ -7,32 +7,32 @@ class C { public a = ''; >a : string ->'' : string +>'' : "" public b: string = ''; >b : string ->'' : string +>'' : "" public c() { return '' } >c : () => string ->'' : string +>'' : "" public d = () => ''; >d : () => string >() => '' : () => string ->'' : string +>'' : "" public static e; >e : any public static f() { return '' } >f : () => string ->'' : string +>'' : "" public static g = () => ''; >g : () => string >() => '' : () => string ->'' : string +>'' : "" } // all of these are valid diff --git a/tests/baselines/reference/classdecl.types b/tests/baselines/reference/classdecl.types index 63398736563..82b2bba8bfb 100644 --- a/tests/baselines/reference/classdecl.types +++ b/tests/baselines/reference/classdecl.types @@ -24,7 +24,7 @@ class a { >d : number return 30; ->30 : number +>30 : 30 } public set d(a: number) { >d : number @@ -37,9 +37,9 @@ class a { return { x: 30, y: 40 }; >{ x: 30, y: 40 } : { x: number; y: number; } >x : number ->30 : number +>30 : 30 >y : number ->40 : number +>40 : 40 } private static d2() { @@ -49,7 +49,7 @@ class a { >p3 : string return "string"; ->"string" : string +>"string" : "string" } private pv3; >pv3 : any diff --git a/tests/baselines/reference/cloduleAcrossModuleDefinitions.types b/tests/baselines/reference/cloduleAcrossModuleDefinitions.types index 53ef8392774..2e46dc73e17 100644 --- a/tests/baselines/reference/cloduleAcrossModuleDefinitions.types +++ b/tests/baselines/reference/cloduleAcrossModuleDefinitions.types @@ -21,7 +21,7 @@ module A { export var x = 1; >x : number ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/cloduleStaticMembers.js b/tests/baselines/reference/cloduleStaticMembers.js index 6095442b629..868b9305bdf 100644 --- a/tests/baselines/reference/cloduleStaticMembers.js +++ b/tests/baselines/reference/cloduleStaticMembers.js @@ -16,10 +16,10 @@ module Clod { var Clod = (function () { function Clod() { } - Clod.x = 10; - Clod.y = 10; return Clod; }()); +Clod.x = 10; +Clod.y = 10; var Clod; (function (Clod) { var p = Clod.x; diff --git a/tests/baselines/reference/cloduleTest1.types b/tests/baselines/reference/cloduleTest1.types index 67c1fd6120f..059329a3d8a 100644 --- a/tests/baselines/reference/cloduleTest1.types +++ b/tests/baselines/reference/cloduleTest1.types @@ -30,7 +30,7 @@ >$('.foo').addClass : (className: string) => $ >$('.foo') : $ >$ : typeof $ ->'.foo' : string +>'.foo' : ".foo" >addClass : (className: string) => $ ->'bar' : string +>'bar' : "bar" diff --git a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.types b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.types index 9c6fbac1539..e951a2dbcc6 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.types @@ -4,7 +4,7 @@ module M { export var x = 3; >x : number ->3 : number +>3 : 3 class c { >c : c @@ -40,7 +40,7 @@ module M { constructor() { var M = 10; >M : number ->10 : number +>10 : 10 var p = x; >p : number diff --git a/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.types b/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.types index 5c99bc7b40b..6879c6bf3d8 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.types @@ -4,7 +4,7 @@ module M { export var x = 3; >x : number ->3 : number +>3 : 3 function fn(M, p = x) { } >fn : (M: any, p?: number) => void diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMemberVariable.types b/tests/baselines/reference/collisionCodeGenModuleWithMemberVariable.types index 651ba5344ad..959a45ab372 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMemberVariable.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithMemberVariable.types @@ -4,7 +4,7 @@ module m1 { export var m1 = 10; >m1 : number ->10 : number +>10 : 10 var b = m1; >b : number diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.types b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.types index e7c6d9021eb..77d813e1081 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.types @@ -4,7 +4,7 @@ module M { export var x = 3; >x : number ->3 : number +>3 : 3 class c { >c : c diff --git a/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.types b/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.types index 4ffaf6dad04..ddf5faee5f0 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.types @@ -4,14 +4,14 @@ module M { export var x = 3; >x : number ->3 : number +>3 : 3 module m1 { >m1 : typeof m1 var M = 10; >M : number ->10 : number +>10 : 10 var p = x; >p : number diff --git a/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types b/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types index b71eeb621d0..2f8c05f2357 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types +++ b/tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.types @@ -44,7 +44,7 @@ module m2 { } export var b10 = 10; >b10 : number ->10 : number +>10 : 10 var x = new c1(); >x : c1 diff --git a/tests/baselines/reference/collisionExportsRequireAndAlias.js b/tests/baselines/reference/collisionExportsRequireAndAlias.js index cbf9633b314..d7785dc73cf 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAlias.js +++ b/tests/baselines/reference/collisionExportsRequireAndAlias.js @@ -32,7 +32,7 @@ define(["require", "exports"], function (require, exports) { exports.bar2 = bar2; }); //// [collisionExportsRequireAndAlias_file2.js] -define(["require", "exports", 'collisionExportsRequireAndAlias_file1', 'collisionExportsRequireAndAlias_file3333'], function (require, exports, require, exports) { +define(["require", "exports", "collisionExportsRequireAndAlias_file1", "collisionExportsRequireAndAlias_file3333"], function (require, exports, require, exports) { "use strict"; function foo() { require.bar(); diff --git a/tests/baselines/reference/collisionExportsRequireAndAmbientClass.types b/tests/baselines/reference/collisionExportsRequireAndAmbientClass.types index 0db9958d533..cdee6af63a9 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAmbientClass.types +++ b/tests/baselines/reference/collisionExportsRequireAndAmbientClass.types @@ -54,5 +54,5 @@ module m4 { } var a = 10; >a : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionExportsRequireAndAmbientFunction.types b/tests/baselines/reference/collisionExportsRequireAndAmbientFunction.types index 76210f7dda0..98f2f71c20e 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAmbientFunction.types +++ b/tests/baselines/reference/collisionExportsRequireAndAmbientFunction.types @@ -25,5 +25,5 @@ module m2 { var a = 10; >a : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionExportsRequireAndAmbientFunctionInGlobalFile.types b/tests/baselines/reference/collisionExportsRequireAndAmbientFunctionInGlobalFile.types index 9804380fd7a..a2c3e1d8cd3 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAmbientFunctionInGlobalFile.types +++ b/tests/baselines/reference/collisionExportsRequireAndAmbientFunctionInGlobalFile.types @@ -25,5 +25,5 @@ module m4 { var a = 10; >a : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionExportsRequireAndAmbientModule.types b/tests/baselines/reference/collisionExportsRequireAndAmbientModule.types index 1c4c56de99c..fbf41e94837 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAmbientModule.types +++ b/tests/baselines/reference/collisionExportsRequireAndAmbientModule.types @@ -84,7 +84,7 @@ module m2 { } var a = 10; >a : number ->10 : number +>10 : 10 } === tests/cases/compiler/collisionExportsRequireAndAmbientModule_globalFile.ts === @@ -158,6 +158,6 @@ module m4 { var a = 10; >a : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionExportsRequireAndAmbientVar.types b/tests/baselines/reference/collisionExportsRequireAndAmbientVar.types index 90a9b8968e5..d88a7b5e04e 100644 --- a/tests/baselines/reference/collisionExportsRequireAndAmbientVar.types +++ b/tests/baselines/reference/collisionExportsRequireAndAmbientVar.types @@ -25,7 +25,7 @@ module m2 { var a = 10; >a : number ->10 : number +>10 : 10 } === tests/cases/compiler/collisionExportsRequireAndAmbientVar_globalFile.ts === @@ -55,5 +55,5 @@ module m4 { var a = 10; >a : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionExportsRequireAndFunctionInGlobalFile.types b/tests/baselines/reference/collisionExportsRequireAndFunctionInGlobalFile.types index 3cc08359508..8d520ec186a 100644 --- a/tests/baselines/reference/collisionExportsRequireAndFunctionInGlobalFile.types +++ b/tests/baselines/reference/collisionExportsRequireAndFunctionInGlobalFile.types @@ -3,13 +3,13 @@ function exports() { >exports : () => number return 1; ->1 : number +>1 : 1 } function require() { >require : () => string return "require"; ->"require" : string +>"require" : "require" } module m3 { >m3 : typeof m3 @@ -18,13 +18,13 @@ module m3 { >exports : () => number return 1; ->1 : number +>1 : 1 } function require() { >require : () => string return "require"; ->"require" : string +>"require" : "require" } } module m4 { @@ -34,12 +34,12 @@ module m4 { >exports : () => number return 1; ->1 : number +>1 : 1 } export function require() { >require : () => string return "require"; ->"require" : string +>"require" : "require" } } diff --git a/tests/baselines/reference/collisionRestParameterArrowFunctions.types b/tests/baselines/reference/collisionRestParameterArrowFunctions.types index dcd52e5f766..8a2b5316419 100644 --- a/tests/baselines/reference/collisionRestParameterArrowFunctions.types +++ b/tests/baselines/reference/collisionRestParameterArrowFunctions.types @@ -7,7 +7,7 @@ var f1 = (_i: number, ...restParameters) => { //_i is error var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } var f1NoError = (_i: number) => { // no error >f1NoError : (_i: number) => void @@ -16,7 +16,7 @@ var f1NoError = (_i: number) => { // no error var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } var f2 = (...restParameters) => { @@ -26,7 +26,7 @@ var f2 = (...restParameters) => { var _i = 10; // No Error >_i : number ->10 : number +>10 : 10 } var f2NoError = () => { >f2NoError : () => void @@ -34,5 +34,5 @@ var f2NoError = () => { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/collisionRestParameterClassConstructor.types b/tests/baselines/reference/collisionRestParameterClassConstructor.types index f86d6d80d21..08f87481103 100644 --- a/tests/baselines/reference/collisionRestParameterClassConstructor.types +++ b/tests/baselines/reference/collisionRestParameterClassConstructor.types @@ -9,7 +9,7 @@ class c1 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } class c1NoError { @@ -20,7 +20,7 @@ class c1NoError { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } @@ -32,7 +32,7 @@ class c2 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } class c2NoError { @@ -41,7 +41,7 @@ class c2NoError { constructor() { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } @@ -54,7 +54,7 @@ class c3 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } class c3NoError { @@ -65,7 +65,7 @@ class c3NoError { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/collisionRestParameterClassMethod.types b/tests/baselines/reference/collisionRestParameterClassMethod.types index bc6b09dd795..c5ab80d3bd1 100644 --- a/tests/baselines/reference/collisionRestParameterClassMethod.types +++ b/tests/baselines/reference/collisionRestParameterClassMethod.types @@ -9,7 +9,7 @@ class c1 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } public fooNoError(_i: number) { // no error >fooNoError : (_i: number) => void @@ -17,7 +17,7 @@ class c1 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } public f4(_i: number, ...rest); // no codegen no error >f4 : { (_i: number, ...rest: any[]): any; (_i: string, ...rest: any[]): any; } @@ -95,13 +95,13 @@ class c3 { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } public fooNoError() { >fooNoError : () => void var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/collisionRestParameterFunction.types b/tests/baselines/reference/collisionRestParameterFunction.types index d988f74c928..3de29038c25 100644 --- a/tests/baselines/reference/collisionRestParameterFunction.types +++ b/tests/baselines/reference/collisionRestParameterFunction.types @@ -7,7 +7,7 @@ function f1(_i: number, ...restParameters) { //_i is error var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f1NoError(_i: number) { // no error >f1NoError : (_i: number) => void @@ -15,7 +15,7 @@ function f1NoError(_i: number) { // no error var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } declare function f2(_i: number, ...restParameters); // no error - no code gen @@ -33,14 +33,14 @@ function f3(...restParameters) { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f3NoError() { >f3NoError : () => void var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f4(_i: number, ...rest); // no codegen no error diff --git a/tests/baselines/reference/collisionRestParameterFunctionExpressions.types b/tests/baselines/reference/collisionRestParameterFunctionExpressions.types index f8ca0c18ed8..c0ee39e81f2 100644 --- a/tests/baselines/reference/collisionRestParameterFunctionExpressions.types +++ b/tests/baselines/reference/collisionRestParameterFunctionExpressions.types @@ -9,7 +9,7 @@ function foo() { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f1NoError(_i: number) { // no error >f1NoError : (_i: number) => void @@ -17,7 +17,7 @@ function foo() { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f3(...restParameters) { >f3 : (...restParameters: any[]) => void @@ -25,14 +25,14 @@ function foo() { var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f3NoError() { >f3NoError : () => void var _i = 10; // no error >_i : number ->10 : number +>10 : 10 } function f4(_i: number, ...rest); // no codegen no error diff --git a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types index fadc27dfa6c..8245f487915 100644 --- a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types +++ b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types @@ -6,7 +6,7 @@ declare var console: { log(msg?: string): void; }; var _i = "This is what I'd expect to see"; >_i : string ->"This is what I'd expect to see" : string +>"This is what I'd expect to see" : "This is what I'd expect to see" class Foo { >Foo : Foo diff --git a/tests/baselines/reference/commaOperator1.types b/tests/baselines/reference/commaOperator1.types index 8116fec8328..67011aba4b9 100644 --- a/tests/baselines/reference/commaOperator1.types +++ b/tests/baselines/reference/commaOperator1.types @@ -1,29 +1,29 @@ === tests/cases/compiler/commaOperator1.ts === var v1 = ((1, 2, 3), 4, 5, (6, 7)); >v1 : number ->((1, 2, 3), 4, 5, (6, 7)) : number ->(1, 2, 3), 4, 5, (6, 7) : number ->(1, 2, 3), 4, 5 : number ->(1, 2, 3), 4 : number ->(1, 2, 3) : number ->1, 2, 3 : number ->1, 2 : number ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->(6, 7) : number ->6, 7 : number ->6 : number ->7 : number +>((1, 2, 3), 4, 5, (6, 7)) : 7 +>(1, 2, 3), 4, 5, (6, 7) : 7 +>(1, 2, 3), 4, 5 : 5 +>(1, 2, 3), 4 : 4 +>(1, 2, 3) : 3 +>1, 2, 3 : 3 +>1, 2 : 2 +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>(6, 7) : 7 +>6, 7 : 7 +>6 : 6 +>7 : 7 function f1() { >f1 : () => number var a = 1; >a : number ->1 : number +>1 : 1 return a, v1, a; >a, v1, a : number diff --git a/tests/baselines/reference/commaOperatorOtherValidOperation.types b/tests/baselines/reference/commaOperatorOtherValidOperation.types index bc7bdd81157..71fc5853c9a 100644 --- a/tests/baselines/reference/commaOperatorOtherValidOperation.types +++ b/tests/baselines/reference/commaOperatorOtherValidOperation.types @@ -2,9 +2,9 @@ //Comma operator in for loop for (var i = 0, j = 10; i < j; i++, j--) >i : number ->0 : number +>0 : 0 >j : number ->10 : number +>10 : 10 >i < j : boolean >i : number >j : number @@ -31,8 +31,8 @@ var resultIsString = foo(1, "123"); >resultIsString : string >foo(1, "123") : string >foo : (x: number, y: string) => string ->1 : number ->"123" : string +>1 : 1 +>"123" : "123" //TypeParameters function foo1() diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types index a8217c2d248..e2535bd17ab 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types @@ -83,7 +83,7 @@ var x: any; 1, ANY; >1, ANY : any ->1 : number +>1 : 1 >ANY : any ++NUMBER, ANY; @@ -94,28 +94,28 @@ var x: any; "string", [null, 1]; >"string", [null, 1] : number[] ->"string" : string +>"string" : "string" >[null, 1] : number[] >null : null ->1 : number +>1 : 1 "string".charAt(0), [null, 1]; >"string".charAt(0), [null, 1] : number[] >"string".charAt(0) : string >"string".charAt : (pos: number) => string ->"string" : string +>"string" : "string" >charAt : (pos: number) => string ->0 : number +>0 : 0 >[null, 1] : number[] >null : null ->1 : number +>1 : 1 true, x("any"); >true, x("any") : any ->true : boolean +>true : true >x("any") : any >x : any ->"any" : string +>"any" : "any" !BOOLEAN, x.doSomeThing(); >!BOOLEAN, x.doSomeThing() : any @@ -130,7 +130,7 @@ var resultIsAny6 = (1, ANY); >resultIsAny6 : any >(1, ANY) : any >1, ANY : any ->1 : number +>1 : 1 >ANY : any var resultIsAny7 = (++NUMBER, ANY); @@ -145,7 +145,7 @@ var resultIsAny8 = ("string", null); >resultIsAny8 : any >("string", null) : null >"string", null : null ->"string" : string +>"string" : "string" >null : null var resultIsAny9 = ("string".charAt(0), undefined); @@ -154,19 +154,19 @@ var resultIsAny9 = ("string".charAt(0), undefined); >"string".charAt(0), undefined : undefined >"string".charAt(0) : string >"string".charAt : (pos: number) => string ->"string" : string +>"string" : "string" >charAt : (pos: number) => string ->0 : number +>0 : 0 >undefined : undefined var resultIsAny10 = (true, x("any")); >resultIsAny10 : any >(true, x("any")) : any >true, x("any") : any ->true : boolean +>true : true >x("any") : any >x : any ->"any" : string +>"any" : "any" var resultIsAny11 = (!BOOLEAN, x.doSomeThing()); >resultIsAny11 : any diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.types b/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.types index dba5285d880..6c791bdee2c 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.types @@ -91,90 +91,90 @@ ANY = undefined, BOOLEAN; >BOOLEAN : boolean 1, true; ->1, true : boolean ->1 : number ->true : boolean +>1, true : true +>1 : 1 +>true : true ++NUMBER, true; ->++NUMBER, true : boolean +>++NUMBER, true : true >++NUMBER : number >NUMBER : number ->true : boolean +>true : true [1, 2, 3], !BOOLEAN; >[1, 2, 3], !BOOLEAN : boolean >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >!BOOLEAN : boolean >BOOLEAN : boolean OBJECT = [1, 2, 3], BOOLEAN = false; ->OBJECT = [1, 2, 3], BOOLEAN = false : boolean +>OBJECT = [1, 2, 3], BOOLEAN = false : false >OBJECT = [1, 2, 3] : number[] >OBJECT : Object >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->BOOLEAN = false : boolean +>1 : 1 +>2 : 2 +>3 : 3 +>BOOLEAN = false : false >BOOLEAN : boolean ->false : boolean +>false : false var resultIsBoolean6 = (null, BOOLEAN); >resultIsBoolean6 : boolean ->(null, BOOLEAN) : boolean ->null, BOOLEAN : boolean +>(null, BOOLEAN) : false +>null, BOOLEAN : false >null : null ->BOOLEAN : boolean +>BOOLEAN : false var resultIsBoolean7 = (ANY = undefined, BOOLEAN); >resultIsBoolean7 : boolean ->(ANY = undefined, BOOLEAN) : boolean ->ANY = undefined, BOOLEAN : boolean +>(ANY = undefined, BOOLEAN) : false +>ANY = undefined, BOOLEAN : false >ANY = undefined : undefined >ANY : any >undefined : undefined ->BOOLEAN : boolean +>BOOLEAN : false var resultIsBoolean8 = (1, true); >resultIsBoolean8 : boolean ->(1, true) : boolean ->1, true : boolean ->1 : number ->true : boolean +>(1, true) : true +>1, true : true +>1 : 1 +>true : true var resultIsBoolean9 = (++NUMBER, true); >resultIsBoolean9 : boolean ->(++NUMBER, true) : boolean ->++NUMBER, true : boolean +>(++NUMBER, true) : true +>++NUMBER, true : true >++NUMBER : number >NUMBER : number ->true : boolean +>true : true var resultIsBoolean10 = ([1, 2, 3], !BOOLEAN); >resultIsBoolean10 : boolean ->([1, 2, 3], !BOOLEAN) : boolean ->[1, 2, 3], !BOOLEAN : boolean +>([1, 2, 3], !BOOLEAN) : true +>[1, 2, 3], !BOOLEAN : true >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->!BOOLEAN : boolean ->BOOLEAN : boolean +>1 : 1 +>2 : 2 +>3 : 3 +>!BOOLEAN : true +>BOOLEAN : false var resultIsBoolean11 = (OBJECT = [1, 2, 3], BOOLEAN = false); >resultIsBoolean11 : boolean ->(OBJECT = [1, 2, 3], BOOLEAN = false) : boolean ->OBJECT = [1, 2, 3], BOOLEAN = false : boolean +>(OBJECT = [1, 2, 3], BOOLEAN = false) : false +>OBJECT = [1, 2, 3], BOOLEAN = false : false >OBJECT = [1, 2, 3] : number[] >OBJECT : Object >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->BOOLEAN = false : boolean +>1 : 1 +>2 : 2 +>3 : 3 +>BOOLEAN = false : false >BOOLEAN : boolean ->false : boolean +>false : false diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types index 13aae51e0cb..2a53a23c4e0 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types @@ -91,33 +91,33 @@ ANY = undefined, NUMBER; >NUMBER : number true, 1; ->true, 1 : number ->true : boolean ->1 : number +>true, 1 : 1 +>true : true +>1 : 1 BOOLEAN = false, 1; ->BOOLEAN = false, 1 : number ->BOOLEAN = false : boolean +>BOOLEAN = false, 1 : 1 +>BOOLEAN = false : false >BOOLEAN : boolean ->false : boolean ->1 : number +>false : false +>1 : 1 "", NUMBER = 1; ->"", NUMBER = 1 : number ->"" : string ->NUMBER = 1 : number +>"", NUMBER = 1 : 1 +>"" : "" +>NUMBER = 1 : 1 >NUMBER : number ->1 : number +>1 : 1 STRING.trim(), NUMBER = 1; ->STRING.trim(), NUMBER = 1 : number +>STRING.trim(), NUMBER = 1 : 1 >STRING.trim() : string >STRING.trim : () => string >STRING : string >trim : () => string ->NUMBER = 1 : number +>NUMBER = 1 : 1 >NUMBER : number ->1 : number +>1 : 1 var resultIsNumber6 = (null, NUMBER); >resultIsNumber6 : number @@ -137,38 +137,38 @@ var resultIsNumber7 = (ANY = undefined, NUMBER); var resultIsNumber8 = (true, 1); >resultIsNumber8 : number ->(true, 1) : number ->true, 1 : number ->true : boolean ->1 : number +>(true, 1) : 1 +>true, 1 : 1 +>true : true +>1 : 1 var resultIsNumber9 = (BOOLEAN = false, 1); >resultIsNumber9 : number ->(BOOLEAN = false, 1) : number ->BOOLEAN = false, 1 : number ->BOOLEAN = false : boolean +>(BOOLEAN = false, 1) : 1 +>BOOLEAN = false, 1 : 1 +>BOOLEAN = false : false >BOOLEAN : boolean ->false : boolean ->1 : number +>false : false +>1 : 1 var resultIsNumber10 = ("", NUMBER = 1); >resultIsNumber10 : number ->("", NUMBER = 1) : number ->"", NUMBER = 1 : number ->"" : string ->NUMBER = 1 : number +>("", NUMBER = 1) : 1 +>"", NUMBER = 1 : 1 +>"" : "" +>NUMBER = 1 : 1 >NUMBER : number ->1 : number +>1 : 1 var resultIsNumber11 = (STRING.trim(), NUMBER = 1); >resultIsNumber11 : number ->(STRING.trim(), NUMBER = 1) : number ->STRING.trim(), NUMBER = 1 : number +>(STRING.trim(), NUMBER = 1) : 1 +>STRING.trim(), NUMBER = 1 : 1 >STRING.trim() : string >STRING.trim : () => string >STRING : string >trim : () => string ->NUMBER = 1 : number +>NUMBER = 1 : 1 >NUMBER : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types index 9c948da9699..15d9f074da5 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types @@ -99,7 +99,7 @@ ANY = null, OBJECT true, {} >true, {} : {} ->true : boolean +>true : true >{} : {} !BOOLEAN, [] @@ -110,7 +110,7 @@ true, {} "string", new Date() >"string", new Date() : Date ->"string" : string +>"string" : "string" >new Date() : Date >Date : DateConstructor @@ -143,7 +143,7 @@ var resultIsObject8 = (true, {}); >resultIsObject8 : {} >(true, {}) : {} >true, {} : {} ->true : boolean +>true : true >{} : {} var resultIsObject9 = (!BOOLEAN, { a: 1, b: "s" }); @@ -154,15 +154,15 @@ var resultIsObject9 = (!BOOLEAN, { a: 1, b: "s" }); >BOOLEAN : boolean >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" var resultIsObject10 = ("string", new Date()); >resultIsObject10 : Date >("string", new Date()) : Date >"string", new Date() : Date ->"string" : string +>"string" : "string" >new Date() : Date >Date : DateConstructor diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types index a28202876d2..ca0cb475362 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types @@ -95,22 +95,22 @@ ANY = new Date(), STRING; >STRING : string true, ""; ->true, "" : string ->true : boolean ->"" : string +>true, "" : "" +>true : true +>"" : "" BOOLEAN == undefined, ""; ->BOOLEAN == undefined, "" : string +>BOOLEAN == undefined, "" : "" >BOOLEAN == undefined : boolean >BOOLEAN : boolean >undefined : undefined ->"" : string +>"" : "" ["a", "b"], NUMBER.toString(); >["a", "b"], NUMBER.toString() : string >["a", "b"] : string[] ->"a" : string ->"b" : string +>"a" : "a" +>"b" : "b" >NUMBER.toString() : string >NUMBER.toString : (radix?: number) => string >NUMBER : number @@ -124,7 +124,7 @@ OBJECT = new Object, STRING + "string"; >Object : ObjectConstructor >STRING + "string" : string >STRING : string ->"string" : string +>"string" : "string" var resultIsString6 = (null, STRING); >resultIsString6 : string @@ -145,27 +145,27 @@ var resultIsString7 = (ANY = new Date(), STRING); var resultIsString8 = (true, ""); >resultIsString8 : string ->(true, "") : string ->true, "" : string ->true : boolean ->"" : string +>(true, "") : "" +>true, "" : "" +>true : true +>"" : "" var resultIsString9 = (BOOLEAN == undefined, ""); >resultIsString9 : string ->(BOOLEAN == undefined, "") : string ->BOOLEAN == undefined, "" : string +>(BOOLEAN == undefined, "") : "" +>BOOLEAN == undefined, "" : "" >BOOLEAN == undefined : boolean >BOOLEAN : boolean >undefined : undefined ->"" : string +>"" : "" var resultIsString10 = (["a", "b"], NUMBER.toString()); >resultIsString10 : string >(["a", "b"], NUMBER.toString()) : string >["a", "b"], NUMBER.toString() : string >["a", "b"] : string[] ->"a" : string ->"b" : string +>"a" : "a" +>"b" : "b" >NUMBER.toString() : string >NUMBER.toString : (radix?: number) => string >NUMBER : number @@ -179,5 +179,5 @@ var resultIsString11 = (new Object, STRING + "string"); >Object : ObjectConstructor >STRING + "string" : string >STRING : string ->"string" : string +>"string" : "string" diff --git a/tests/baselines/reference/commaOperatorsMultipleOperators.types b/tests/baselines/reference/commaOperatorsMultipleOperators.types index 9a2c7c7e5c5..99796e36cb7 100644 --- a/tests/baselines/reference/commaOperatorsMultipleOperators.types +++ b/tests/baselines/reference/commaOperatorsMultipleOperators.types @@ -99,11 +99,11 @@ var resultIsObject1 = (NUMBER, STRING, OBJECT); //Literal and expression null, true, 1; ->null, true, 1 : number ->null, true : boolean +>null, true, 1 : 1 +>null, true : true >null : null ->true : boolean ->1 : number +>true : true +>1 : 1 ++NUMBER, STRING.charAt(0), new Object(); >++NUMBER, STRING.charAt(0), new Object() : Object @@ -114,18 +114,18 @@ null, true, 1; >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 >new Object() : Object >Object : ObjectConstructor var resultIsNumber2 = (null, true, 1); >resultIsNumber2 : number ->(null, true, 1) : number ->null, true, 1 : number ->null, true : boolean +>(null, true, 1) : 1 +>null, true, 1 : 1 +>null, true : true >null : null ->true : boolean ->1 : number +>true : true +>1 : 1 var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object()); >resultIsObject2 : Object @@ -138,7 +138,7 @@ var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object()); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 >new Object() : Object >Object : ObjectConstructor diff --git a/tests/baselines/reference/commentBeforeStaticMethod1.types b/tests/baselines/reference/commentBeforeStaticMethod1.types index 1b16709a701..0c9e69ed7a0 100644 --- a/tests/baselines/reference/commentBeforeStaticMethod1.types +++ b/tests/baselines/reference/commentBeforeStaticMethod1.types @@ -9,6 +9,6 @@ class C { >foo : () => string return "bar"; ->"bar" : string +>"bar" : "bar" } } diff --git a/tests/baselines/reference/commentEmitAtEndOfFile1.types b/tests/baselines/reference/commentEmitAtEndOfFile1.types index f96a1069a06..2071e98af8d 100644 --- a/tests/baselines/reference/commentEmitAtEndOfFile1.types +++ b/tests/baselines/reference/commentEmitAtEndOfFile1.types @@ -3,7 +3,7 @@ // test var f = '' >f : string ->'' : string +>'' : "" // test #2 module foo { diff --git a/tests/baselines/reference/commentOnAmbientVariable2.types b/tests/baselines/reference/commentOnAmbientVariable2.types index 28760dca1ec..10e5a442862 100644 --- a/tests/baselines/reference/commentOnAmbientVariable2.types +++ b/tests/baselines/reference/commentOnAmbientVariable2.types @@ -4,12 +4,12 @@ declare var x: number; >x : number x = 2; ->x = 2 : number +>x = 2 : 2 >x : number ->2 : number +>2 : 2 === tests/cases/compiler/commentOnAmbientVariable2_1.ts === var y = 1; >y : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/commentOnExpressionStatement1.types b/tests/baselines/reference/commentOnExpressionStatement1.types index 11d5fe1c6b5..39141c8d52e 100644 --- a/tests/baselines/reference/commentOnExpressionStatement1.types +++ b/tests/baselines/reference/commentOnExpressionStatement1.types @@ -2,6 +2,6 @@ 1 + 1; // Comment. >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/commentOnIfStatement1.types b/tests/baselines/reference/commentOnIfStatement1.types index 7b983156f4d..4f7fcdddd22 100644 --- a/tests/baselines/reference/commentOnIfStatement1.types +++ b/tests/baselines/reference/commentOnIfStatement1.types @@ -2,5 +2,5 @@ // Test if (true) { ->true : boolean +>true : true } diff --git a/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types b/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types index 6dd530e438b..b8530468830 100644 --- a/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types +++ b/tests/baselines/reference/commentOnSimpleArrowFunctionBody1.types @@ -12,5 +12,5 @@ Foo(() => // do something 127); ->127 : number +>127 : 127 diff --git a/tests/baselines/reference/commentsAfterFunctionExpression1.types b/tests/baselines/reference/commentsAfterFunctionExpression1.types index 4a6b12bc210..b5712f1750c 100644 --- a/tests/baselines/reference/commentsAfterFunctionExpression1.types +++ b/tests/baselines/reference/commentsAfterFunctionExpression1.types @@ -7,20 +7,20 @@ var v = { >f : (a: any) => number >a => 0 : (a: any) => number >a : any ->0 : number +>0 : 0 g: (a => 0) /*t2*/, >g : (a: any) => number >(a => 0) : (a: any) => number >a => 0 : (a: any) => number >a : any ->0 : number +>0 : 0 h: (a => 0 /*t3*/) >h : (a: any) => number >(a => 0 /*t3*/) : (a: any) => number >a => 0 : (a: any) => number >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/commentsArgumentsOfCallExpression1.types b/tests/baselines/reference/commentsArgumentsOfCallExpression1.types index bcab3e3de36..81425e0dd5f 100644 --- a/tests/baselines/reference/commentsArgumentsOfCallExpression1.types +++ b/tests/baselines/reference/commentsArgumentsOfCallExpression1.types @@ -6,7 +6,7 @@ function foo(/*c1*/ x: any) { } foo(/*c2*/ 1); >foo(/*c2*/ 1) : void >foo : (x: any) => void ->1 : number +>1 : 1 foo(/*c3*/ function () { }); >foo(/*c3*/ function () { }) : void diff --git a/tests/baselines/reference/commentsArgumentsOfCallExpression2.types b/tests/baselines/reference/commentsArgumentsOfCallExpression2.types index f0a10077e66..7ec29aa9124 100644 --- a/tests/baselines/reference/commentsArgumentsOfCallExpression2.types +++ b/tests/baselines/reference/commentsArgumentsOfCallExpression2.types @@ -12,10 +12,10 @@ var a, b: any; foo(/*c2*/ 1, /*d2*/ 1 + 2, /*e1*/ a + b); >foo(/*c2*/ 1, /*d2*/ 1 + 2, /*e1*/ a + b) : void >foo : (x: any, y: any, w?: any) => void ->1 : number +>1 : 1 >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 >a + b : any >a : any >b : any @@ -51,5 +51,5 @@ foo( /*e4*/ /*e5*/ "hello"); ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/commentsBeforeFunctionExpression1.types b/tests/baselines/reference/commentsBeforeFunctionExpression1.types index a057918a74d..7182935f6b3 100644 --- a/tests/baselines/reference/commentsBeforeFunctionExpression1.types +++ b/tests/baselines/reference/commentsBeforeFunctionExpression1.types @@ -7,6 +7,6 @@ var v = { >f : (a: any) => number >(a) => 0 : (a: any) => number >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/commentsClassMembers.types b/tests/baselines/reference/commentsClassMembers.types index b599edc0463..3824b8acac0 100644 --- a/tests/baselines/reference/commentsClassMembers.types +++ b/tests/baselines/reference/commentsClassMembers.types @@ -574,7 +574,7 @@ var i1_r = i1.p2(20); >i1.p2 : (b: number) => number >i1 : c1 >p2 : (b: number) => number ->20 : number +>20 : 20 var i1_prop = i1.p3; >i1_prop : number @@ -607,7 +607,7 @@ var i1_ncr = i1.nc_p2(20); >i1.nc_p2 : (b: number) => number >i1 : c1 >nc_p2 : (b: number) => number ->20 : number +>20 : 20 var i1_ncprop = i1.nc_p3; >i1_ncprop : number @@ -640,7 +640,7 @@ var i1_s_r = c1.s2(20); >c1.s2 : (b: number) => number >c1 : typeof c1 >s2 : (b: number) => number ->20 : number +>20 : 20 var i1_s_prop = c1.s3; >i1_s_prop : number @@ -673,7 +673,7 @@ var i1_s_ncr = c1.nc_s2(20); >c1.nc_s2 : (b: number) => number >c1 : typeof c1 >nc_s2 : (b: number) => number ->20 : number +>20 : 20 var i1_s_ncprop = c1.nc_s3; >i1_s_ncprop : number @@ -743,11 +743,11 @@ class cProperties { public x = 10; /*trailing comment for property*/ >x : number ->10 : number +>10 : 10 private y = 10; // trailing comment of // style >y : number ->10 : number +>10 : 10 } var cProperties_i = new cProperties(); >cProperties_i : cProperties diff --git a/tests/baselines/reference/commentsCommentParsing.types b/tests/baselines/reference/commentsCommentParsing.types index a6e24609642..b41822679d8 100644 --- a/tests/baselines/reference/commentsCommentParsing.types +++ b/tests/baselines/reference/commentsCommentParsing.types @@ -151,8 +151,8 @@ function sum(a: number, b: number) { sum(10, 20); >sum(10, 20) : number >sum : (a: number, b: number) => number ->10 : number ->20 : number +>10 : 10 +>20 : 20 /** This is multiplication function*/ /** @param */ diff --git a/tests/baselines/reference/commentsEnums.types b/tests/baselines/reference/commentsEnums.types index 64404bff2e5..71d062f790a 100644 --- a/tests/baselines/reference/commentsEnums.types +++ b/tests/baselines/reference/commentsEnums.types @@ -6,24 +6,24 @@ enum Colors { /** Fancy name for 'blue'*/ Cornflower /* blue */, ->Cornflower : Colors +>Cornflower : Colors.Cornflower /** Fancy name for 'pink'*/ FancyPink ->FancyPink : Colors +>FancyPink : Colors.FancyPink } // trailing comment var x = Colors.Cornflower; >x : Colors ->Colors.Cornflower : Colors +>Colors.Cornflower : Colors.Cornflower >Colors : typeof Colors ->Cornflower : Colors +>Cornflower : Colors.Cornflower x = Colors.FancyPink; ->x = Colors.FancyPink : Colors +>x = Colors.FancyPink : Colors.FancyPink >x : Colors ->Colors.FancyPink : Colors +>Colors.FancyPink : Colors.FancyPink >Colors : typeof Colors ->FancyPink : Colors +>FancyPink : Colors.FancyPink diff --git a/tests/baselines/reference/commentsFunction.js b/tests/baselines/reference/commentsFunction.js index 0ffb2714108..d9e9ccd15ea 100644 --- a/tests/baselines/reference/commentsFunction.js +++ b/tests/baselines/reference/commentsFunction.js @@ -84,7 +84,7 @@ function blah(a /* multiline trailing comment function blah2(a /* single line multiple trailing comments */ /* second */) { } function blah3(a // trailing commen single line - ) { +) { } lambdaFoo = function (a, b) { return a * b; }; // This is trailing comment /*leading comment*/ (function () { return 0; }); // Needs to be wrapped in parens to be a valid expression (not declaration) diff --git a/tests/baselines/reference/commentsFunction.types b/tests/baselines/reference/commentsFunction.types index db5e518339d..75a6cb6eaaf 100644 --- a/tests/baselines/reference/commentsFunction.types +++ b/tests/baselines/reference/commentsFunction.types @@ -26,8 +26,8 @@ function fooWithParameters(/** this is comment about a*/a: string, fooWithParameters("a", 10); >fooWithParameters("a", 10) : void >fooWithParameters : (a: string, b: number) => void ->"a" : string ->10 : number +>"a" : "a" +>10 : 10 /** fooFunc * comment @@ -64,14 +64,14 @@ var lambddaNoVarComment = /** this is lambda multiplication*/ (/**param a*/a: nu lambdaFoo(10, 20); >lambdaFoo(10, 20) : number >lambdaFoo : (a: number, b: number) => number ->10 : number ->20 : number +>10 : 10 +>20 : 20 lambddaNoVarComment(10, 20); >lambddaNoVarComment(10, 20) : number >lambddaNoVarComment : (a: number, b: number) => number ->10 : number ->20 : number +>10 : 10 +>20 : 20 function blah(a: string /* multiline trailing comment >blah : (a: string) => void @@ -104,12 +104,12 @@ lambdaFoo = (a, b) => a * b; // This is trailing comment /*leading comment*/() => 0; // Needs to be wrapped in parens to be a valid expression (not declaration) >() => 0 : () => number ->0 : number +>0 : 0 /*leading comment*/(() => 0); //trailing comment >(() => 0) : () => number >() => 0 : () => number ->0 : number +>0 : 0 function blah4(/*1*/a: string/*2*/,/*3*/b: string/*4*/) { >blah4 : (a: string, b: string) => void diff --git a/tests/baselines/reference/commentsInheritance.types b/tests/baselines/reference/commentsInheritance.types index 21dcde99dbf..804da3fd760 100644 --- a/tests/baselines/reference/commentsInheritance.types +++ b/tests/baselines/reference/commentsInheritance.types @@ -122,7 +122,7 @@ class c2 { >c2_prop : number return 10; ->10 : number +>10 : 10 } public c2_nc_p1: number; >c2_nc_p1 : number @@ -134,7 +134,7 @@ class c2 { >c2_nc_prop : number return 10; ->10 : number +>10 : 10 } /** c2 p1*/ public p1: number; @@ -149,7 +149,7 @@ class c2 { >prop : number return 10; ->10 : number +>10 : 10 } public nc_p1: number; >nc_p1 : number @@ -161,7 +161,7 @@ class c2 { >nc_prop : number return 10; ->10 : number +>10 : 10 } /** c2 constructor*/ constructor(a: number) { @@ -183,7 +183,7 @@ class c3 extends c2 { super(10); >super(10) : void >super : typeof c2 ->10 : number +>10 : 10 } /** c3 p1*/ public p1: number; @@ -198,7 +198,7 @@ class c3 extends c2 { >prop : number return 10; ->10 : number +>10 : 10 } public nc_p1: number; >nc_p1 : number @@ -210,14 +210,14 @@ class c3 extends c2 { >nc_prop : number return 10; ->10 : number +>10 : 10 } } var c2_i = new c2(10); >c2_i : c2 >new c2(10) : c2 >c2 : typeof c2 ->10 : number +>10 : 10 var c3_i = new c3(); >c3_i : c3 @@ -238,7 +238,7 @@ var c4_i = new c4(10); >c4_i : c4 >new c4(10) : c4 >c4 : typeof c4 ->10 : number +>10 : 10 interface i2 { >i2 : i2 diff --git a/tests/baselines/reference/commentsInterface.types b/tests/baselines/reference/commentsInterface.types index 13cc2b19f60..97b64d4c605 100644 --- a/tests/baselines/reference/commentsInterface.types +++ b/tests/baselines/reference/commentsInterface.types @@ -86,19 +86,19 @@ var i2_i_foo_r = i2_i.foo(30); >i2_i.foo : (b: number) => string >i2_i : i2 >foo : (b: number) => string ->30 : number +>30 : 30 var i2_i_i2_si = i2_i["hello"]; >i2_i_i2_si : any >i2_i["hello"] : any >i2_i : i2 ->"hello" : string +>"hello" : "hello" var i2_i_i2_ii = i2_i[30]; >i2_i_i2_ii : number >i2_i[30] : number >i2_i : i2 ->30 : number +>30 : 30 var i2_i_n = new i2_i(i1_i); >i2_i_n : any @@ -124,14 +124,14 @@ var i2_i_nc_foo_r = i2_i.nc_foo(30); >i2_i.nc_foo : (b: number) => string >i2_i : i2 >nc_foo : (b: number) => string ->30 : number +>30 : 30 var i2_i_r = i2_i(10, 20); >i2_i_r : number >i2_i(10, 20) : number >i2_i : i2 ->10 : number ->20 : number +>10 : 10 +>20 : 20 var i2_i_fnfoo = i2_i.fnfoo; >i2_i_fnfoo : (b: number) => string @@ -145,7 +145,7 @@ var i2_i_fnfoo_r = i2_i.fnfoo(10); >i2_i.fnfoo : (b: number) => string >i2_i : i2 >fnfoo : (b: number) => string ->10 : number +>10 : 10 var i2_i_nc_fnfoo = i2_i.nc_fnfoo; >i2_i_nc_fnfoo : (b: number) => string @@ -159,7 +159,7 @@ var i2_i_nc_fnfoo_r = i2_i.nc_fnfoo(10); >i2_i.nc_fnfoo : (b: number) => string >i2_i : i2 >nc_fnfoo : (b: number) => string ->10 : number +>10 : 10 interface i3 { >i3 : i3 @@ -203,7 +203,7 @@ i3_i = { >(/**i3_i a*/a: number) => "Hello" + a : (a: number) => string >a : number >"Hello" + a : string ->"Hello" : string +>"Hello" : "Hello" >a : number l: this.f, @@ -219,7 +219,7 @@ i3_i = { >this.f : any >this : any >f : any ->10 : number +>10 : 10 nc_x: this.l(this.x), >nc_x : any @@ -249,26 +249,26 @@ i3_i.f(10); >i3_i.f : (a: number) => string >i3_i : i3 >f : (a: number) => string ->10 : number +>10 : 10 i3_i.l(10); >i3_i.l(10) : string >i3_i.l : (b: number) => string >i3_i : i3 >l : (b: number) => string ->10 : number +>10 : 10 i3_i.nc_f(10); >i3_i.nc_f(10) : string >i3_i.nc_f : (a: number) => string >i3_i : i3 >nc_f : (a: number) => string ->10 : number +>10 : 10 i3_i.nc_l(10); >i3_i.nc_l(10) : string >i3_i.nc_l : (b: number) => string >i3_i : i3 >nc_l : (b: number) => string ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/commentsOnObjectLiteral3.types b/tests/baselines/reference/commentsOnObjectLiteral3.types index a63920fce0f..4053e7e3f89 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral3.types +++ b/tests/baselines/reference/commentsOnObjectLiteral3.types @@ -7,7 +7,7 @@ var v = { //property prop: 1 /* multiple trailing comments */ /*trailing comments*/, >prop : number ->1 : number +>1 : 1 //property func: function () { diff --git a/tests/baselines/reference/commentsOnObjectLiteral4.types b/tests/baselines/reference/commentsOnObjectLiteral4.types index 5d20d4f79cc..097d43cdd6d 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral4.types +++ b/tests/baselines/reference/commentsOnObjectLiteral4.types @@ -11,7 +11,7 @@ var v = { >bar : number return 12; ->12 : number +>12 : 12 } } diff --git a/tests/baselines/reference/commentsOnPropertyOfObjectLiteral1.types b/tests/baselines/reference/commentsOnPropertyOfObjectLiteral1.types index 93ce87558d8..538afc61ee1 100644 --- a/tests/baselines/reference/commentsOnPropertyOfObjectLiteral1.types +++ b/tests/baselines/reference/commentsOnPropertyOfObjectLiteral1.types @@ -13,7 +13,7 @@ var resolve = { id1: /* c1 */ "hello", >id1 : string ->"hello" : string +>"hello" : "hello" id2: >id2 : (details: any) => any diff --git a/tests/baselines/reference/commentsOnRequireStatement.js b/tests/baselines/reference/commentsOnRequireStatement.js new file mode 100644 index 00000000000..9cfd75c0211 --- /dev/null +++ b/tests/baselines/reference/commentsOnRequireStatement.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/commentsOnRequireStatement.ts] //// + +//// [0.ts] + +export var subject = 10; + +//// [1.ts] +export var subject1 = 10; + +//// [2.ts] +/* blah0 */ +// blah +// blah +// blah +export {subject} from './0'; +/* blah1 */ +export {subject1} from './1'; + + +//// [0.js] +"use strict"; +exports.subject = 10; +//// [1.js] +"use strict"; +exports.subject1 = 10; +//// [2.js] +"use strict"; +/* blah0 */ +// blah +// blah +// blah +var _0_1 = require("./0"); +exports.subject = _0_1.subject; +/* blah1 */ +var _1_1 = require("./1"); +exports.subject1 = _1_1.subject1; diff --git a/tests/baselines/reference/commentsOnRequireStatement.symbols b/tests/baselines/reference/commentsOnRequireStatement.symbols new file mode 100644 index 00000000000..2e491b33234 --- /dev/null +++ b/tests/baselines/reference/commentsOnRequireStatement.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/0.ts === + +export var subject = 10; +>subject : Symbol(subject, Decl(0.ts, 1, 10)) + +=== tests/cases/compiler/1.ts === +export var subject1 = 10; +>subject1 : Symbol(subject1, Decl(1.ts, 0, 10)) + +=== tests/cases/compiler/2.ts === +/* blah0 */ +// blah +// blah +// blah +export {subject} from './0'; +>subject : Symbol(subject, Decl(2.ts, 4, 8)) + +/* blah1 */ +export {subject1} from './1'; +>subject1 : Symbol(subject1, Decl(2.ts, 6, 8)) + diff --git a/tests/baselines/reference/commentsOnRequireStatement.types b/tests/baselines/reference/commentsOnRequireStatement.types new file mode 100644 index 00000000000..cd146c731f7 --- /dev/null +++ b/tests/baselines/reference/commentsOnRequireStatement.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/0.ts === + +export var subject = 10; +>subject : number +>10 : 10 + +=== tests/cases/compiler/1.ts === +export var subject1 = 10; +>subject1 : number +>10 : 10 + +=== tests/cases/compiler/2.ts === +/* blah0 */ +// blah +// blah +// blah +export {subject} from './0'; +>subject : number + +/* blah1 */ +export {subject1} from './1'; +>subject1 : number + diff --git a/tests/baselines/reference/commentsOnReturnStatement1.types b/tests/baselines/reference/commentsOnReturnStatement1.types index d44c91c0a8c..0188f088c3a 100644 --- a/tests/baselines/reference/commentsOnReturnStatement1.types +++ b/tests/baselines/reference/commentsOnReturnStatement1.types @@ -8,10 +8,10 @@ class DebugClass { // Start Debugger Test Code var i = 0; >i : number ->0 : number +>0 : 0 // End Debugger Test Code return true; ->true : boolean +>true : true } } diff --git a/tests/baselines/reference/commentsOnStaticMembers.js b/tests/baselines/reference/commentsOnStaticMembers.js index 51ed906841d..851f9025be3 100644 --- a/tests/baselines/reference/commentsOnStaticMembers.js +++ b/tests/baselines/reference/commentsOnStaticMembers.js @@ -24,13 +24,13 @@ class test { var test = (function () { function test() { } - /** - * p1 comment appears in output - */ - test.p1 = ""; - /** - * p3 comment appears in output - */ - test.p3 = ""; return test; }()); +/** + * p1 comment appears in output + */ +test.p1 = ""; +/** + * p3 comment appears in output + */ +test.p3 = ""; diff --git a/tests/baselines/reference/commentsOnStaticMembers.types b/tests/baselines/reference/commentsOnStaticMembers.types index 46a1ca211ff..b4fae1094b6 100644 --- a/tests/baselines/reference/commentsOnStaticMembers.types +++ b/tests/baselines/reference/commentsOnStaticMembers.types @@ -8,7 +8,7 @@ class test { */ public static p1: string = ""; >p1 : string ->"" : string +>"" : "" /** * p2 comment does not appear in output @@ -21,7 +21,7 @@ class test { */ private static p3: string = ""; >p3 : string ->"" : string +>"" : "" /** * p4 comment does not appear in output diff --git a/tests/baselines/reference/commentsOverloads.types b/tests/baselines/reference/commentsOverloads.types index 3281ab83ab6..88632e04c6a 100644 --- a/tests/baselines/reference/commentsOverloads.types +++ b/tests/baselines/reference/commentsOverloads.types @@ -13,17 +13,17 @@ function f1(aOrb: any) { >aOrb : any return 10; ->10 : number +>10 : 10 } f1("hello"); >f1("hello") : number >f1 : { (a: number): number; (b: string): number; } ->"hello" : string +>"hello" : "hello" f1(10); >f1(10) : number >f1 : { (a: number): number; (b: string): number; } ->10 : number +>10 : 10 function f2(a: number): number; >f2 : { (a: number): number; (b: string): number; } @@ -40,17 +40,17 @@ function f2(aOrb: any) { >aOrb : any return 10; ->10 : number +>10 : 10 } f2("hello"); >f2("hello") : number >f2 : { (a: number): number; (b: string): number; } ->"hello" : string +>"hello" : "hello" f2(10); >f2(10) : number >f2 : { (a: number): number; (b: string): number; } ->10 : number +>10 : 10 function f3(a: number): number; >f3 : { (a: number): number; (b: string): number; } @@ -65,17 +65,17 @@ function f3(aOrb: any) { >aOrb : any return 10; ->10 : number +>10 : 10 } f3("hello"); >f3("hello") : number >f3 : { (a: number): number; (b: string): number; } ->"hello" : string +>"hello" : "hello" f3(10); >f3(10) : number >f3 : { (a: number): number; (b: string): number; } ->10 : number +>10 : 10 /** this is signature 4 - with number parameter*/ function f4(/**param a*/a: number): number; @@ -92,17 +92,17 @@ function f4(aOrb: any) { >aOrb : any return 10; ->10 : number +>10 : 10 } f4("hello"); >f4("hello") : number >f4 : { (a: number): number; (b: string): number; } ->"hello" : string +>"hello" : "hello" f4(10); >f4(10) : number >f4 : { (a: number): number; (b: string): number; } ->10 : number +>10 : 10 interface i1 { >i1 : i1 @@ -252,7 +252,7 @@ class c { >aorb : any return 10; ->10 : number +>10 : 10 } /** prop2 1*/ public prop2(a: number): number; @@ -268,7 +268,7 @@ class c { >aorb : any return 10; ->10 : number +>10 : 10 } public prop3(a: number): number; >prop3 : { (a: number): number; (b: string): number; } @@ -284,7 +284,7 @@ class c { >aorb : any return 10; ->10 : number +>10 : 10 } /** prop4 1*/ public prop4(a: number): number; @@ -301,7 +301,7 @@ class c { >aorb : any return 10; ->10 : number +>10 : 10 } /** prop5 1*/ public prop5(a: number): number; @@ -319,7 +319,7 @@ class c { >aorb : any return 10; ->10 : number +>10 : 10 } } class c1 { @@ -405,59 +405,59 @@ var c1_i_1 = new c1(10); >c1_i_1 : c1 >new c1(10) : c1 >c1 : typeof c1 ->10 : number +>10 : 10 var c1_i_2 = new c1("hello"); >c1_i_2 : c1 >new c1("hello") : c1 >c1 : typeof c1 ->"hello" : string +>"hello" : "hello" var c2_i_1 = new c2(10); >c2_i_1 : c2 >new c2(10) : c2 >c2 : typeof c2 ->10 : number +>10 : 10 var c2_i_2 = new c2("hello"); >c2_i_2 : c2 >new c2("hello") : c2 >c2 : typeof c2 ->"hello" : string +>"hello" : "hello" var c3_i_1 = new c3(10); >c3_i_1 : c3 >new c3(10) : c3 >c3 : typeof c3 ->10 : number +>10 : 10 var c3_i_2 = new c3("hello"); >c3_i_2 : c3 >new c3("hello") : c3 >c3 : typeof c3 ->"hello" : string +>"hello" : "hello" var c4_i_1 = new c4(10); >c4_i_1 : c4 >new c4(10) : c4 >c4 : typeof c4 ->10 : number +>10 : 10 var c4_i_2 = new c4("hello"); >c4_i_2 : c4 >new c4("hello") : c4 >c4 : typeof c4 ->"hello" : string +>"hello" : "hello" var c5_i_1 = new c5(10); >c5_i_1 : c5 >new c5(10) : c5 >c5 : typeof c5 ->10 : number +>10 : 10 var c5_i_2 = new c5("hello"); >c5_i_2 : c5 >new c5("hello") : c5 >c5 : typeof c5 ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/commentsPropertySignature1.types b/tests/baselines/reference/commentsPropertySignature1.types index 09dad1eaefb..f5fdf48042b 100644 --- a/tests/baselines/reference/commentsPropertySignature1.types +++ b/tests/baselines/reference/commentsPropertySignature1.types @@ -6,7 +6,7 @@ var a = { /** own x*/ x: 0 >x : number ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/commentsVarDecl.types b/tests/baselines/reference/commentsVarDecl.types index 033590b3445..1127f5ed3f4 100644 --- a/tests/baselines/reference/commentsVarDecl.types +++ b/tests/baselines/reference/commentsVarDecl.types @@ -3,30 +3,30 @@ /** Variable comments*/ var myVariable = 10; // This trailing Comment1 >myVariable : number ->10 : number +>10 : 10 /** This is another variable comment*/ var anotherVariable = 30; >anotherVariable : number ->30 : number +>30 : 30 // shouldn't appear var aVar = ""; >aVar : string ->"" : string +>"" : "" /** this is multiline comment * All these variables are of number type */ var anotherAnotherVariable = 70; /* these are multiple trailing comments */ /* multiple trailing comments */ >anotherAnotherVariable : number ->70 : number +>70 : 70 /** Triple slash multiline comment*/ /** another line in the comment*/ /** comment line 2*/ var x = 70; /* multiline trailing comment >x : number ->70 : number +>70 : 70 this is multiline trailing comment */ /** Triple slash comment on the assignement shouldnt be in .d.ts file*/ @@ -39,12 +39,12 @@ x = myVariable; /** jsdocstyle comment - only this comment should be in .d.ts file*/ var n = 30; >n : number ->30 : number +>30 : 30 /** var deckaration with comment on type as well*/ var y = /** value comment */ 20; >y : number ->20 : number +>20 : 20 /// var deckaration with comment on type as well var yy = @@ -52,7 +52,7 @@ var yy = /// value comment 20; ->20 : number +>20 : 20 /** comment2 */ var z = /** lambda comment */ (x: number, y: number) => x + y; diff --git a/tests/baselines/reference/commentsVariableStatement1.types b/tests/baselines/reference/commentsVariableStatement1.types index 4bb6753db8a..1684f25c570 100644 --- a/tests/baselines/reference/commentsVariableStatement1.types +++ b/tests/baselines/reference/commentsVariableStatement1.types @@ -3,5 +3,5 @@ /** Comment */ var v = 1; >v : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index 067275f2151..e30555db69a 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -3,7 +3,7 @@ /** Variable comments*/ var myVariable = 10; >myVariable : number ->10 : number +>10 : 10 /** function comments*/ function foo(/** parameter comment*/p: number) { @@ -18,7 +18,7 @@ var fooVar: () => void; foo(50); >foo(50) : void >foo : (p: number) => void ->50 : number +>50 : 50 fooVar(); >fooVar() : void @@ -35,7 +35,7 @@ class c { /** property comment */ public b = 10; >b : number ->10 : number +>10 : 10 /** function comment */ public myFoo() { @@ -158,14 +158,14 @@ declare var x; /** const enum member value comment (generated by TS) */ const enum color { red, green, blue } >color : color ->red : color ->green : color ->blue : color +>red : color.red +>green : color.green +>blue : color.blue var shade: color = color.green; >shade : color >color : color ->color.green : color +>color.green : color.green >color : typeof color ->green : color +>green : color.green diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 2594fb53fe9..03bf0912092 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -3,7 +3,7 @@ /** Variable comments*/ var myVariable = 10; >myVariable : number ->10 : number +>10 : 10 /** function comments*/ function foo(/** parameter comment*/p: number) { @@ -18,7 +18,7 @@ var fooVar: () => void; foo(50); >foo(50) : void >foo : (p: number) => void ->50 : number +>50 : 50 fooVar(); >fooVar() : void @@ -35,7 +35,7 @@ class c { /** property comment */ public b = 10; >b : number ->10 : number +>10 : 10 /** function comment */ public myFoo() { diff --git a/tests/baselines/reference/commonJSImportAsPrimaryExpression.js b/tests/baselines/reference/commonJSImportAsPrimaryExpression.js index 3f49588c103..d22b5b2855b 100644 --- a/tests/baselines/reference/commonJSImportAsPrimaryExpression.js +++ b/tests/baselines/reference/commonJSImportAsPrimaryExpression.js @@ -19,10 +19,10 @@ var C1 = (function () { function C1() { this.m1 = 42; } - C1.s1 = true; return C1; }()); exports.C1 = C1; +C1.s1 = true; //// [foo_1.js] "use strict"; var foo = require("./foo_0"); diff --git a/tests/baselines/reference/commonJSImportAsPrimaryExpression.types b/tests/baselines/reference/commonJSImportAsPrimaryExpression.types index 01d96b31fc7..921c659500c 100644 --- a/tests/baselines/reference/commonJSImportAsPrimaryExpression.types +++ b/tests/baselines/reference/commonJSImportAsPrimaryExpression.types @@ -18,10 +18,10 @@ export class C1 { m1 = 42; >m1 : number ->42 : number +>42 : 42 static s1 = true; >s1 : boolean ->true : boolean +>true : true } diff --git a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.js b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.js index 720554f7e32..e7496f3445f 100644 --- a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.js +++ b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.js @@ -37,10 +37,10 @@ var C1 = (function () { function C1() { this.m1 = 42; } - C1.s1 = true; return C1; }()); exports.C1 = C1; +C1.s1 = true; (function (E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; diff --git a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types index 6c3978d93aa..32e45936f33 100644 --- a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types @@ -28,7 +28,7 @@ var y: typeof foo.C1.s1 = false; >foo : typeof foo >C1 : typeof foo.C1 >s1 : boolean ->false : boolean +>false : false var z: foo.M1.I2; >z : f.I2 @@ -41,7 +41,7 @@ var e: number = 0; >0 : foo.E1 >foo : any >E1 : foo.E1 ->0 : number +>0 : 0 === tests/cases/conformance/externalModules/foo_0.ts === export class C1 { @@ -49,11 +49,11 @@ export class C1 { m1 = 42; >m1 : number ->42 : number +>42 : 42 static s1 = true; >s1 : boolean ->true : boolean +>true : true } export interface I1 { @@ -81,8 +81,8 @@ export enum E1 { >E1 : E1 A,B,C ->A : E1 ->B : E1 ->C : E1 +>A : E1.A +>B : E1.B +>C : E1.C } diff --git a/tests/baselines/reference/commonSourceDir5.types b/tests/baselines/reference/commonSourceDir5.types index dd72099d542..f1c3e40e983 100644 --- a/tests/baselines/reference/commonSourceDir5.types +++ b/tests/baselines/reference/commonSourceDir5.types @@ -19,8 +19,8 @@ export var i = Math.sqrt(-1); >Math.sqrt : (x: number) => number >Math : Math >sqrt : (x: number) => number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 export var z = pi * pi; >z : number diff --git a/tests/baselines/reference/commonSourceDir6.types b/tests/baselines/reference/commonSourceDir6.types index e30cdd2deee..890b95048fe 100644 --- a/tests/baselines/reference/commonSourceDir6.types +++ b/tests/baselines/reference/commonSourceDir6.types @@ -18,8 +18,8 @@ export var i = Math.sqrt(-1); >Math.sqrt : (x: number) => number >Math : Math >sqrt : (x: number) => number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 export var z = pi * pi; >z : number diff --git a/tests/baselines/reference/commonjsSafeImport.js b/tests/baselines/reference/commonjsSafeImport.js index dd5acba597c..93439a418f6 100644 --- a/tests/baselines/reference/commonjsSafeImport.js +++ b/tests/baselines/reference/commonjsSafeImport.js @@ -16,7 +16,7 @@ function Foo() { } exports.Foo = Foo; //// [main.js] "use strict"; -var _10_lib_1 = require('./10_lib'); +var _10_lib_1 = require("./10_lib"); _10_lib_1.Foo(); diff --git a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types index a21af43e9c7..b4f1a81bff4 100644 --- a/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types +++ b/tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.types @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: number; >a : number diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsAny.types b/tests/baselines/reference/comparisonOperatorWithOneOperandIsAny.types index e132f03cfa3..9e3c5f59cbf 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsAny.types +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsAny.types @@ -4,9 +4,9 @@ var x: any; enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c function foo(t: T) { >foo : (t: T) => void diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types index 12d9235d44b..e185a1d501b 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.types @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c function foo(t: T) { >foo : (t: T) => void diff --git a/tests/baselines/reference/comparisonOperatorWithOneOperandIsUndefined.types b/tests/baselines/reference/comparisonOperatorWithOneOperandIsUndefined.types index b4a70c3e3d6..00f6ca234a2 100644 --- a/tests/baselines/reference/comparisonOperatorWithOneOperandIsUndefined.types +++ b/tests/baselines/reference/comparisonOperatorWithOneOperandIsUndefined.types @@ -5,9 +5,9 @@ var x: typeof undefined; enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c function foo(t: T) { >foo : (t: T) => void diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types b/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types index 67077683d87..bf513174ef2 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeEnumAndNumber.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: E; >a : E @@ -28,34 +28,34 @@ var ra2 = b < a; var ra3 = E.a < b; >ra3 : boolean >E.a < b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var ra4 = b < E.a; >ra4 : boolean >b < E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var ra5 = E.a < 0; >ra5 : boolean >E.a < 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var ra6 = 0 < E.a; >ra6 : boolean >0 < E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator > var rb1 = a > b; @@ -73,34 +73,34 @@ var rb2 = b > a; var rb3 = E.a > b; >rb3 : boolean >E.a > b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rb4 = b > E.a; >rb4 : boolean >b > E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rb5 = E.a > 0; >rb5 : boolean >E.a > 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rb6 = 0 > E.a; >rb6 : boolean >0 > E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator <= var rc1 = a <= b; @@ -118,34 +118,34 @@ var rc2 = b <= a; var rc3 = E.a <= b; >rc3 : boolean >E.a <= b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rc4 = b <= E.a; >rc4 : boolean >b <= E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rc5 = E.a <= 0; >rc5 : boolean >E.a <= 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rc6 = 0 <= E.a; >rc6 : boolean >0 <= E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator >= var rd1 = a >= b; @@ -163,34 +163,34 @@ var rd2 = b >= a; var rd3 = E.a >= b; >rd3 : boolean >E.a >= b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rd4 = b >= E.a; >rd4 : boolean >b >= E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rd5 = E.a >= 0; >rd5 : boolean >E.a >= 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rd6 = 0 >= E.a; >rd6 : boolean >0 >= E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator == var re1 = a == b; @@ -208,34 +208,34 @@ var re2 = b == a; var re3 = E.a == b; >re3 : boolean >E.a == b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var re4 = b == E.a; >re4 : boolean >b == E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var re5 = E.a == 0; >re5 : boolean >E.a == 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var re6 = 0 == E.a; >re6 : boolean >0 == E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator != var rf1 = a != b; @@ -253,34 +253,34 @@ var rf2 = b != a; var rf3 = E.a != b; >rf3 : boolean >E.a != b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rf4 = b != E.a; >rf4 : boolean >b != E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rf5 = E.a != 0; >rf5 : boolean >E.a != 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rf6 = 0 != E.a; >rf6 : boolean >0 != E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator === var rg1 = a === b; @@ -298,34 +298,34 @@ var rg2 = b === a; var rg3 = E.a === b; >rg3 : boolean >E.a === b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rg4 = b === E.a; >rg4 : boolean >b === E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rg5 = E.a === 0; >rg5 : boolean >E.a === 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rg6 = 0 === E.a; >rg6 : boolean >0 === E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a // operator !== var rh1 = a !== b; @@ -343,32 +343,32 @@ var rh2 = b !== a; var rh3 = E.a !== b; >rh3 : boolean >E.a !== b : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var rh4 = b !== E.a; >rh4 : boolean >b !== E.a : boolean >b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rh5 = E.a !== 0; >rh5 : boolean >E.a !== 0 : boolean ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->0 : number +>a : E.a +>0 : 0 var rh6 = 0 !== E.a; >rh6 : boolean >0 !== E.a : boolean ->0 : number ->E.a : E +>0 : 0 +>E.a : E.a >E : typeof E ->a : E +>a : E.a diff --git a/tests/baselines/reference/compileOnSaveWorksWhenEmitBlockingErrorOnOtherFile.baseline b/tests/baselines/reference/compileOnSaveWorksWhenEmitBlockingErrorOnOtherFile.baseline index f9bcca268ec..a088006d145 100644 --- a/tests/baselines/reference/compileOnSaveWorksWhenEmitBlockingErrorOnOtherFile.baseline +++ b/tests/baselines/reference/compileOnSaveWorksWhenEmitBlockingErrorOnOtherFile.baseline @@ -1,8 +1,8 @@ EmitSkipped: true Diagnostics: - Cannot write file 'tests/cases/fourslash/b.js' because it would overwrite input file. + Cannot write file '/tests/cases/fourslash/b.js' because it would overwrite input file. EmitSkipped: false -FileName : tests/cases/fourslash/a.js +FileName : /tests/cases/fourslash/a.js function foo2() { return 30; } // no error - should emit a.js diff --git a/tests/baselines/reference/complexClassRelationships.errors.txt b/tests/baselines/reference/complexClassRelationships.errors.txt new file mode 100644 index 00000000000..33413e496d4 --- /dev/null +++ b/tests/baselines/reference/complexClassRelationships.errors.txt @@ -0,0 +1,53 @@ +tests/cases/compiler/complexClassRelationships.ts(2,23): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/complexClassRelationships.ts (1 errors) ==== + // There should be no errors in this file + class Derived extends Base { + ~~~~ +!!! error TS2690: A class must be declared after its base class. + public static createEmpty(): Derived { + var item = new Derived(); + return item; + } + } + class BaseCollection { + constructor(f: () => T) { + (item: Thing) => { return [item.Components]; }; + } + } + class Base { + ownerCollection: BaseCollection; + } + + class Thing { + public get Components(): ComponentCollection { return null } + } + + class ComponentCollection { + private static sortComponents(p: Foo) { + return p.prop1; + } + } + + class Foo { + public get prop1() { + return new GenericType(this); + } + public populate() { + this.prop2; + } + public get prop2(): BaseCollection { + return new BaseCollection(Derived.createEmpty); + } + } + + class GenericType { + constructor(parent: FooBase) { } + } + + class FooBase { + public populate() { + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/complexClassRelationships.symbols b/tests/baselines/reference/complexClassRelationships.symbols deleted file mode 100644 index 9f6b3adf98d..00000000000 --- a/tests/baselines/reference/complexClassRelationships.symbols +++ /dev/null @@ -1,117 +0,0 @@ -=== tests/cases/compiler/complexClassRelationships.ts === -// There should be no errors in this file -class Derived extends Base { ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) ->Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) - - public static createEmpty(): Derived { ->createEmpty : Symbol(Derived.createEmpty, Decl(complexClassRelationships.ts, 1, 28)) ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) - - var item = new Derived(); ->item : Symbol(item, Decl(complexClassRelationships.ts, 3, 11)) ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) - - return item; ->item : Symbol(item, Decl(complexClassRelationships.ts, 3, 11)) - } -} -class BaseCollection { ->BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) ->T : Symbol(T, Decl(complexClassRelationships.ts, 7, 21)) ->Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) - - constructor(f: () => T) { ->f : Symbol(f, Decl(complexClassRelationships.ts, 8, 16)) ->T : Symbol(T, Decl(complexClassRelationships.ts, 7, 21)) - - (item: Thing) => { return [item.Components]; }; ->item : Symbol(item, Decl(complexClassRelationships.ts, 9, 9)) ->Thing : Symbol(Thing, Decl(complexClassRelationships.ts, 14, 1)) ->item.Components : Symbol(Thing.Components, Decl(complexClassRelationships.ts, 16, 13)) ->item : Symbol(item, Decl(complexClassRelationships.ts, 9, 9)) ->Components : Symbol(Thing.Components, Decl(complexClassRelationships.ts, 16, 13)) - } -} -class Base { ->Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) - - ownerCollection: BaseCollection; ->ownerCollection : Symbol(Base.ownerCollection, Decl(complexClassRelationships.ts, 12, 12)) ->BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) ->Base : Symbol(Base, Decl(complexClassRelationships.ts, 11, 1)) -} - -class Thing { ->Thing : Symbol(Thing, Decl(complexClassRelationships.ts, 14, 1)) - - public get Components(): ComponentCollection { return null } ->Components : Symbol(Thing.Components, Decl(complexClassRelationships.ts, 16, 13)) ->ComponentCollection : Symbol(ComponentCollection, Decl(complexClassRelationships.ts, 18, 1)) -} - -class ComponentCollection { ->ComponentCollection : Symbol(ComponentCollection, Decl(complexClassRelationships.ts, 18, 1)) ->T : Symbol(T, Decl(complexClassRelationships.ts, 20, 26)) - - private static sortComponents(p: Foo) { ->sortComponents : Symbol(ComponentCollection.sortComponents, Decl(complexClassRelationships.ts, 20, 30)) ->p : Symbol(p, Decl(complexClassRelationships.ts, 21, 34)) ->Foo : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) - - return p.prop1; ->p.prop1 : Symbol(Foo.prop1, Decl(complexClassRelationships.ts, 26, 11)) ->p : Symbol(p, Decl(complexClassRelationships.ts, 21, 34)) ->prop1 : Symbol(Foo.prop1, Decl(complexClassRelationships.ts, 26, 11)) - } -} - -class Foo { ->Foo : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) - - public get prop1() { ->prop1 : Symbol(Foo.prop1, Decl(complexClassRelationships.ts, 26, 11)) - - return new GenericType(this); ->GenericType : Symbol(GenericType, Decl(complexClassRelationships.ts, 36, 1)) ->this : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) - } - public populate() { ->populate : Symbol(Foo.populate, Decl(complexClassRelationships.ts, 29, 5)) - - this.prop2; ->this.prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) ->this : Symbol(Foo, Decl(complexClassRelationships.ts, 24, 1)) ->prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) - } - public get prop2(): BaseCollection { ->prop2 : Symbol(Foo.prop2, Decl(complexClassRelationships.ts, 32, 5)) ->BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) - - return new BaseCollection(Derived.createEmpty); ->BaseCollection : Symbol(BaseCollection, Decl(complexClassRelationships.ts, 6, 1)) ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) ->Derived.createEmpty : Symbol(Derived.createEmpty, Decl(complexClassRelationships.ts, 1, 28)) ->Derived : Symbol(Derived, Decl(complexClassRelationships.ts, 0, 0)) ->createEmpty : Symbol(Derived.createEmpty, Decl(complexClassRelationships.ts, 1, 28)) - } -} - -class GenericType { ->GenericType : Symbol(GenericType, Decl(complexClassRelationships.ts, 36, 1)) ->T : Symbol(T, Decl(complexClassRelationships.ts, 38, 18)) - - constructor(parent: FooBase) { } ->parent : Symbol(parent, Decl(complexClassRelationships.ts, 39, 16)) ->FooBase : Symbol(FooBase, Decl(complexClassRelationships.ts, 40, 1)) -} - -class FooBase { ->FooBase : Symbol(FooBase, Decl(complexClassRelationships.ts, 40, 1)) - - public populate() { ->populate : Symbol(FooBase.populate, Decl(complexClassRelationships.ts, 42, 15)) - - } -} diff --git a/tests/baselines/reference/complexClassRelationships.types b/tests/baselines/reference/complexClassRelationships.types deleted file mode 100644 index 525baf5168a..00000000000 --- a/tests/baselines/reference/complexClassRelationships.types +++ /dev/null @@ -1,123 +0,0 @@ -=== tests/cases/compiler/complexClassRelationships.ts === -// There should be no errors in this file -class Derived extends Base { ->Derived : Derived ->Base : Base - - public static createEmpty(): Derived { ->createEmpty : () => Derived ->Derived : Derived - - var item = new Derived(); ->item : Derived ->new Derived() : Derived ->Derived : typeof Derived - - return item; ->item : Derived - } -} -class BaseCollection { ->BaseCollection : BaseCollection ->T : T ->Base : Base - - constructor(f: () => T) { ->f : () => T ->T : T - - (item: Thing) => { return [item.Components]; }; ->(item: Thing) => { return [item.Components]; } : (item: Thing) => ComponentCollection[] ->item : Thing ->Thing : Thing ->[item.Components] : ComponentCollection[] ->item.Components : ComponentCollection ->item : Thing ->Components : ComponentCollection - } -} -class Base { ->Base : Base - - ownerCollection: BaseCollection; ->ownerCollection : BaseCollection ->BaseCollection : BaseCollection ->Base : Base -} - -class Thing { ->Thing : Thing - - public get Components(): ComponentCollection { return null } ->Components : ComponentCollection ->ComponentCollection : ComponentCollection ->null : null -} - -class ComponentCollection { ->ComponentCollection : ComponentCollection ->T : T - - private static sortComponents(p: Foo) { ->sortComponents : (p: Foo) => GenericType ->p : Foo ->Foo : Foo - - return p.prop1; ->p.prop1 : GenericType ->p : Foo ->prop1 : GenericType - } -} - -class Foo { ->Foo : Foo - - public get prop1() { ->prop1 : GenericType - - return new GenericType(this); ->new GenericType(this) : GenericType ->GenericType : typeof GenericType ->this : this - } - public populate() { ->populate : () => void - - this.prop2; ->this.prop2 : BaseCollection ->this : this ->prop2 : BaseCollection - } - public get prop2(): BaseCollection { ->prop2 : BaseCollection ->BaseCollection : BaseCollection ->Derived : Derived - - return new BaseCollection(Derived.createEmpty); ->new BaseCollection(Derived.createEmpty) : BaseCollection ->BaseCollection : typeof BaseCollection ->Derived : Derived ->Derived.createEmpty : () => Derived ->Derived : typeof Derived ->createEmpty : () => Derived - } -} - -class GenericType { ->GenericType : GenericType ->T : T - - constructor(parent: FooBase) { } ->parent : FooBase ->FooBase : FooBase -} - -class FooBase { ->FooBase : FooBase - - public populate() { ->populate : () => void - - } -} diff --git a/tests/baselines/reference/complexNarrowingWithAny.js b/tests/baselines/reference/complexNarrowingWithAny.js new file mode 100644 index 00000000000..0a137f5d793 --- /dev/null +++ b/tests/baselines/reference/complexNarrowingWithAny.js @@ -0,0 +1,1027 @@ +//// [complexNarrowingWithAny.ts] +// Repro from #10869 + +/** + * This file is generated by the Angular 2 template compiler. + * Do not edit. + */ + /* tslint:disable */ + +// import * as import0 from '@angular/core/src/linker/ng_module_factory'; +// import * as import1 from '../../app'; +// import * as import2 from '@angular/common/src/common_module'; +// import * as import3 from '@angular/core/src/application_module'; +// import * as import4 from '@angular/platform-browser/src/browser'; +// import * as import5 from '@angular/forms/src/directives'; +// import * as import6 from '@angular/forms/src/form_providers'; +// import * as import7 from '@angular/common/src/localization'; +// import * as import8 from '@angular/core/src/application_init'; +// import * as import9 from '@angular/core/src/testability/testability'; +// import * as import10 from '@angular/core/src/application_ref'; +// import * as import11 from '@angular/core/src/linker/compiler'; +// import * as import12 from '@angular/platform-browser/src/dom/events/hammer_gestures'; +// import * as import13 from '@angular/platform-browser/src/dom/events/event_manager'; +// import * as import14 from '@angular/platform-browser/src/dom/shared_styles_host'; +// import * as import15 from '@angular/platform-browser/src/dom/dom_renderer'; +// import * as import16 from '@angular/platform-browser/src/security/dom_sanitization_service'; +// import * as import17 from '@angular/core/src/linker/view_utils'; +// import * as import18 from '@angular/forms/src/form_builder'; +// import * as import19 from '@angular/forms/src/directives/radio_control_value_accessor'; +// import * as import20 from '@angular/core/src/di/injector'; +// import * as import21 from '@angular/core/src/application_tokens'; +// import * as import22 from '@angular/platform-browser/src/dom/events/dom_events'; +// import * as import23 from '@angular/platform-browser/src/dom/events/key_events'; +// import * as import24 from '@angular/core/src/zone/ng_zone'; +// import * as import25 from '@angular/platform-browser/src/dom/debug/ng_probe'; +// import * as import26 from '@angular/core/src/console'; +// import * as import27 from '@angular/core/src/i18n/tokens'; +// import * as import28 from '@angular/core/src/error_handler'; +// import * as import29 from '@angular/platform-browser/src/dom/dom_tokens'; +// import * as import30 from '@angular/platform-browser/src/dom/animation_driver'; +// import * as import31 from '@angular/core/src/render/api'; +// import * as import32 from '@angular/core/src/security'; +// import * as import33 from '@angular/core/src/change_detection/differs/iterable_differs'; +// import * as import34 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +// import * as import35 from '@angular/core/src/i18n/tokens'; +// import * as import36 from '@angular/core/src/render/api'; +// import * as import37 from '@angular/core/src/linker/view'; +// import * as import38 from '@angular/core/src/linker/element'; +// import * as import39 from '@angular/core/src/linker/view_utils'; +// import * as import40 from '@angular/core/src/linker/view_type'; +// import * as import41 from '@angular/core/src/change_detection/change_detection'; +// import * as import42 from '@angular/core/src/metadata/view'; +// import * as import43 from '@angular/core/src/linker/component_factory'; +// import * as import44 from '@angular/forms/src/directives/reactive_directives/form_group_directive'; +// import * as import45 from '@angular/forms/src/directives/ng_control_status'; +// import * as import46 from '@angular/forms/src/directives/default_value_accessor'; +// import * as import47 from '@angular/forms/src/directives/reactive_directives/form_control_name'; +// import * as import48 from '@angular/core/src/linker/element_ref'; +// import * as import49 from '@angular/forms/src/directives/control_value_accessor'; +// import * as import50 from '@angular/forms/src/directives/ng_control'; +// import * as import51 from '@angular/forms/src/directives/control_container'; + +//stubbed out imports + +namespace import44 { + export class FormGroupDirective { + constructor(any){} + } +} + +namespace import45 { + export class NgControlStatus { + constructor(any){} + } + export class NgControlStatusGroup { + constructor(any){} + } +} + +namespace import46 { + export class DefaultValueAccessor { + constructor(any){} + } +} + +namespace import47 { + export class FormControlName { + constructor(any){} + } +} + +namespace import48 { + export class FormControlName { + constructor(any){} + } +} + + +//HERE BE DRAGONS + +//Using a value here - 65+ seconds to typecheck +namespace import49 { + //real code uses an opaque token, using new String() to simulate. + //export var NG_VALUE_ACCESSOR = new OpaqueToken('ngValueAccessor') + export var NG_VALUE_ACCESSOR = new String('foo') +} + +//using a class - < 1 sec typecheck +// namespace import49 { +// export class NG_VALUE_ACCESSOR { +// constructor(any){} +// } +// } + +//END DRAGONS + + +namespace import50 { + export class NgControl { + constructor(any){} + } +} + +namespace import51 { + export class ControlContainer { + constructor(any){} + } +} + + + +class _View_AppComponent0 { + _text_0:any; + _el_1:any; + _FormGroupDirective_1_3:import44.FormGroupDirective; + _ControlContainer_1_4:any; + _NgControlStatusGroup_1_5:import45.NgControlStatusGroup; + _text_2:any; + _el_3:any; + _DefaultValueAccessor_3_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_3_4:any[]; + _FormControlName_3_5:import47.FormControlName; + _NgControl_3_6:any; + _NgControlStatus_3_7:import45.NgControlStatus; + _el_4:any; + _text_5:any; + _el_6:any; + _DefaultValueAccessor_6_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_6_4:any[]; + _FormControlName_6_5:import47.FormControlName; + _NgControl_6_6:any; + _NgControlStatus_6_7:import45.NgControlStatus; + _el_7:any; + _text_8:any; + _el_9:any; + _DefaultValueAccessor_9_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_9_4:any[]; + _FormControlName_9_5:import47.FormControlName; + _NgControl_9_6:any; + _NgControlStatus_9_7:import45.NgControlStatus; + _el_10:any; + _text_11:any; + _el_12:any; + _DefaultValueAccessor_12_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_12_4:any[]; + _FormControlName_12_5:import47.FormControlName; + _NgControl_12_6:any; + _NgControlStatus_12_7:import45.NgControlStatus; + _el_13:any; + _text_14:any; + _el_15:any; + _DefaultValueAccessor_15_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_15_4:any[]; + _FormControlName_15_5:import47.FormControlName; + _NgControl_15_6:any; + _NgControlStatus_15_7:import45.NgControlStatus; + _el_16:any; + _text_17:any; + _el_18:any; + _DefaultValueAccessor_18_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_18_4:any[]; + _FormControlName_18_5:import47.FormControlName; + _NgControl_18_6:any; + _NgControlStatus_18_7:import45.NgControlStatus; + _el_19:any; + _text_20:any; + _el_21:any; + _DefaultValueAccessor_21_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_21_4:any[]; + _FormControlName_21_5:import47.FormControlName; + _NgControl_21_6:any; + _NgControlStatus_21_7:import45.NgControlStatus; + _el_22:any; + _text_23:any; + _el_24:any; + _DefaultValueAccessor_24_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_24_4:any[]; + _FormControlName_24_5:import47.FormControlName; + _NgControl_24_6:any; + _NgControlStatus_24_7:import45.NgControlStatus; + _el_25:any; + _text_26:any; + _el_27:any; + _DefaultValueAccessor_27_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_27_4:any[]; + _FormControlName_27_5:import47.FormControlName; + _NgControl_27_6:any; + _NgControlStatus_27_7:import45.NgControlStatus; + _el_28:any; + _text_29:any; + _el_30:any; + _DefaultValueAccessor_30_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_30_4:any[]; + _FormControlName_30_5:import47.FormControlName; + _NgControl_30_6:any; + _NgControlStatus_30_7:import45.NgControlStatus; + _el_31:any; + _text_32:any; + _el_33:any; + _DefaultValueAccessor_33_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_33_4:any[]; + _FormControlName_33_5:import47.FormControlName; + _NgControl_33_6:any; + _NgControlStatus_33_7:import45.NgControlStatus; + _el_34:any; + _text_35:any; + _el_36:any; + _DefaultValueAccessor_36_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_36_4:any[]; + _FormControlName_36_5:import47.FormControlName; + _NgControl_36_6:any; + _NgControlStatus_36_7:import45.NgControlStatus; + _el_37:any; + _text_38:any; + _el_39:any; + _DefaultValueAccessor_39_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_39_4:any[]; + _FormControlName_39_5:import47.FormControlName; + _NgControl_39_6:any; + _NgControlStatus_39_7:import45.NgControlStatus; + _el_40:any; + _text_41:any; + _el_42:any; + _DefaultValueAccessor_42_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_42_4:any[]; + _FormControlName_42_5:import47.FormControlName; + _NgControl_42_6:any; + _NgControlStatus_42_7:import45.NgControlStatus; + _el_43:any; + _text_44:any; + _el_45:any; + _DefaultValueAccessor_45_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_45_4:any[]; + _FormControlName_45_5:import47.FormControlName; + _NgControl_45_6:any; + _NgControlStatus_45_7:import45.NgControlStatus; + _el_46:any; + _text_47:any; + _el_48:any; + _DefaultValueAccessor_48_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_48_4:any[]; + _FormControlName_48_5:import47.FormControlName; + _NgControl_48_6:any; + _NgControlStatus_48_7:import45.NgControlStatus; + _el_49:any; + _text_50:any; + _el_51:any; + _DefaultValueAccessor_51_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_51_4:any[]; + _FormControlName_51_5:import47.FormControlName; + _NgControl_51_6:any; + _NgControlStatus_51_7:import45.NgControlStatus; + _el_52:any; + _text_53:any; + _el_54:any; + _DefaultValueAccessor_54_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_54_4:any[]; + _FormControlName_54_5:import47.FormControlName; + _NgControl_54_6:any; + _NgControlStatus_54_7:import45.NgControlStatus; + _el_55:any; + _text_56:any; + _el_57:any; + _DefaultValueAccessor_57_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_57_4:any[]; + _FormControlName_57_5:import47.FormControlName; + _NgControl_57_6:any; + _NgControlStatus_57_7:import45.NgControlStatus; + _el_58:any; + _text_59:any; + _el_60:any; + _DefaultValueAccessor_60_3:import46.DefaultValueAccessor; + _NG_VALUE_ACCESSOR_60_4:any[]; + _FormControlName_60_5:import47.FormControlName; + _NgControl_60_6:any; + _NgControlStatus_60_7:import45.NgControlStatus; + _el_61:any; + _text_62:any; + _text_63:any; + /*private*/ _expr_2:any; + /*private*/ _expr_3:any; + /*private*/ _expr_4:any; + /*private*/ _expr_5:any; + /*private*/ _expr_6:any; + /*private*/ _expr_7:any; + /*private*/ _expr_8:any; + /*private*/ _expr_11:any; + /*private*/ _expr_12:any; + /*private*/ _expr_13:any; + /*private*/ _expr_14:any; + /*private*/ _expr_15:any; + /*private*/ _expr_16:any; + /*private*/ _expr_17:any; + /*private*/ _expr_20:any; + /*private*/ _expr_21:any; + /*private*/ _expr_22:any; + /*private*/ _expr_23:any; + /*private*/ _expr_24:any; + /*private*/ _expr_25:any; + /*private*/ _expr_26:any; + /*private*/ _expr_29:any; + /*private*/ _expr_30:any; + /*private*/ _expr_31:any; + /*private*/ _expr_32:any; + /*private*/ _expr_33:any; + /*private*/ _expr_34:any; + /*private*/ _expr_35:any; + /*private*/ _expr_38:any; + /*private*/ _expr_39:any; + /*private*/ _expr_40:any; + /*private*/ _expr_41:any; + /*private*/ _expr_42:any; + /*private*/ _expr_43:any; + /*private*/ _expr_44:any; + /*private*/ _expr_47:any; + /*private*/ _expr_48:any; + /*private*/ _expr_49:any; + /*private*/ _expr_50:any; + /*private*/ _expr_51:any; + /*private*/ _expr_52:any; + /*private*/ _expr_53:any; + /*private*/ _expr_56:any; + /*private*/ _expr_57:any; + /*private*/ _expr_58:any; + /*private*/ _expr_59:any; + /*private*/ _expr_60:any; + /*private*/ _expr_61:any; + /*private*/ _expr_62:any; + /*private*/ _expr_65:any; + /*private*/ _expr_66:any; + /*private*/ _expr_67:any; + /*private*/ _expr_68:any; + /*private*/ _expr_69:any; + /*private*/ _expr_70:any; + /*private*/ _expr_71:any; + /*private*/ _expr_74:any; + /*private*/ _expr_75:any; + /*private*/ _expr_76:any; + /*private*/ _expr_77:any; + /*private*/ _expr_78:any; + /*private*/ _expr_79:any; + /*private*/ _expr_80:any; + /*private*/ _expr_83:any; + /*private*/ _expr_84:any; + /*private*/ _expr_85:any; + /*private*/ _expr_86:any; + /*private*/ _expr_87:any; + /*private*/ _expr_88:any; + /*private*/ _expr_89:any; + /*private*/ _expr_92:any; + /*private*/ _expr_93:any; + /*private*/ _expr_94:any; + /*private*/ _expr_95:any; + /*private*/ _expr_96:any; + /*private*/ _expr_97:any; + /*private*/ _expr_98:any; + /*private*/ _expr_101:any; + /*private*/ _expr_102:any; + /*private*/ _expr_103:any; + /*private*/ _expr_104:any; + /*private*/ _expr_105:any; + /*private*/ _expr_106:any; + /*private*/ _expr_107:any; + /*private*/ _expr_110:any; + /*private*/ _expr_111:any; + /*private*/ _expr_112:any; + /*private*/ _expr_113:any; + /*private*/ _expr_114:any; + /*private*/ _expr_115:any; + /*private*/ _expr_116:any; + /*private*/ _expr_119:any; + /*private*/ _expr_120:any; + /*private*/ _expr_121:any; + /*private*/ _expr_122:any; + /*private*/ _expr_123:any; + /*private*/ _expr_124:any; + /*private*/ _expr_125:any; + /*private*/ _expr_128:any; + /*private*/ _expr_129:any; + /*private*/ _expr_130:any; + /*private*/ _expr_131:any; + /*private*/ _expr_132:any; + /*private*/ _expr_133:any; + /*private*/ _expr_134:any; + /*private*/ _expr_137:any; + /*private*/ _expr_138:any; + /*private*/ _expr_139:any; + /*private*/ _expr_140:any; + /*private*/ _expr_141:any; + /*private*/ _expr_142:any; + /*private*/ _expr_143:any; + /*private*/ _expr_146:any; + /*private*/ _expr_147:any; + /*private*/ _expr_148:any; + /*private*/ _expr_149:any; + /*private*/ _expr_150:any; + /*private*/ _expr_151:any; + /*private*/ _expr_152:any; + /*private*/ _expr_155:any; + /*private*/ _expr_156:any; + /*private*/ _expr_157:any; + /*private*/ _expr_158:any; + /*private*/ _expr_159:any; + /*private*/ _expr_160:any; + /*private*/ _expr_161:any; + /*private*/ _expr_164:any; + /*private*/ _expr_165:any; + /*private*/ _expr_166:any; + /*private*/ _expr_167:any; + /*private*/ _expr_168:any; + /*private*/ _expr_169:any; + /*private*/ _expr_170:any; + /*private*/ _expr_173:any; + /*private*/ _expr_174:any; + /*private*/ _expr_175:any; + /*private*/ _expr_176:any; + /*private*/ _expr_177:any; + /*private*/ _expr_178:any; + /*private*/ _expr_179:any; + /*private*/ _expr_182:any; + /*private*/ _expr_183:any; + /*private*/ _expr_184:any; + /*private*/ _expr_185:any; + /*private*/ _expr_186:any; + /*private*/ _expr_187:any; + /*private*/ _expr_188:any; + constructor(viewUtils:any,parentInjector:any,declarationEl:any) { + } + + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { + if (((token === import46.DefaultValueAccessor) && (3 === requestNodeIndex))) { return this._DefaultValueAccessor_3_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_3_4; } + if (((token === import47.FormControlName) && (3 === requestNodeIndex))) { return this._FormControlName_3_5; } + if (((token === import50.NgControl) && (3 === requestNodeIndex))) { return this._NgControl_3_6; } + if (((token === import45.NgControlStatus) && (3 === requestNodeIndex))) { return this._NgControlStatus_3_7; } + if (((token === import46.DefaultValueAccessor) && (6 === requestNodeIndex))) { return this._DefaultValueAccessor_6_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_6_4; } + if (((token === import47.FormControlName) && (6 === requestNodeIndex))) { return this._FormControlName_6_5; } + if (((token === import50.NgControl) && (6 === requestNodeIndex))) { return this._NgControl_6_6; } + if (((token === import45.NgControlStatus) && (6 === requestNodeIndex))) { return this._NgControlStatus_6_7; } + if (((token === import46.DefaultValueAccessor) && (9 === requestNodeIndex))) { return this._DefaultValueAccessor_9_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_9_4; } + if (((token === import47.FormControlName) && (9 === requestNodeIndex))) { return this._FormControlName_9_5; } + if (((token === import50.NgControl) && (9 === requestNodeIndex))) { return this._NgControl_9_6; } + if (((token === import45.NgControlStatus) && (9 === requestNodeIndex))) { return this._NgControlStatus_9_7; } + if (((token === import46.DefaultValueAccessor) && (12 === requestNodeIndex))) { return this._DefaultValueAccessor_12_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_12_4; } + if (((token === import47.FormControlName) && (12 === requestNodeIndex))) { return this._FormControlName_12_5; } + if (((token === import50.NgControl) && (12 === requestNodeIndex))) { return this._NgControl_12_6; } + if (((token === import45.NgControlStatus) && (12 === requestNodeIndex))) { return this._NgControlStatus_12_7; } + if (((token === import46.DefaultValueAccessor) && (15 === requestNodeIndex))) { return this._DefaultValueAccessor_15_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_15_4; } + if (((token === import47.FormControlName) && (15 === requestNodeIndex))) { return this._FormControlName_15_5; } + if (((token === import50.NgControl) && (15 === requestNodeIndex))) { return this._NgControl_15_6; } + if (((token === import45.NgControlStatus) && (15 === requestNodeIndex))) { return this._NgControlStatus_15_7; } + if (((token === import46.DefaultValueAccessor) && (18 === requestNodeIndex))) { return this._DefaultValueAccessor_18_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_18_4; } + if (((token === import47.FormControlName) && (18 === requestNodeIndex))) { return this._FormControlName_18_5; } + if (((token === import50.NgControl) && (18 === requestNodeIndex))) { return this._NgControl_18_6; } + if (((token === import45.NgControlStatus) && (18 === requestNodeIndex))) { return this._NgControlStatus_18_7; } + if (((token === import46.DefaultValueAccessor) && (21 === requestNodeIndex))) { return this._DefaultValueAccessor_21_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_21_4; } + if (((token === import47.FormControlName) && (21 === requestNodeIndex))) { return this._FormControlName_21_5; } + if (((token === import50.NgControl) && (21 === requestNodeIndex))) { return this._NgControl_21_6; } + if (((token === import45.NgControlStatus) && (21 === requestNodeIndex))) { return this._NgControlStatus_21_7; } + if (((token === import46.DefaultValueAccessor) && (24 === requestNodeIndex))) { return this._DefaultValueAccessor_24_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_24_4; } + if (((token === import47.FormControlName) && (24 === requestNodeIndex))) { return this._FormControlName_24_5; } + if (((token === import50.NgControl) && (24 === requestNodeIndex))) { return this._NgControl_24_6; } + if (((token === import45.NgControlStatus) && (24 === requestNodeIndex))) { return this._NgControlStatus_24_7; } + if (((token === import46.DefaultValueAccessor) && (27 === requestNodeIndex))) { return this._DefaultValueAccessor_27_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_27_4; } + if (((token === import47.FormControlName) && (27 === requestNodeIndex))) { return this._FormControlName_27_5; } + if (((token === import50.NgControl) && (27 === requestNodeIndex))) { return this._NgControl_27_6; } + if (((token === import45.NgControlStatus) && (27 === requestNodeIndex))) { return this._NgControlStatus_27_7; } + if (((token === import46.DefaultValueAccessor) && (30 === requestNodeIndex))) { return this._DefaultValueAccessor_30_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_30_4; } + if (((token === import47.FormControlName) && (30 === requestNodeIndex))) { return this._FormControlName_30_5; } + if (((token === import50.NgControl) && (30 === requestNodeIndex))) { return this._NgControl_30_6; } + if (((token === import45.NgControlStatus) && (30 === requestNodeIndex))) { return this._NgControlStatus_30_7; } + if (((token === import46.DefaultValueAccessor) && (33 === requestNodeIndex))) { return this._DefaultValueAccessor_33_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_33_4; } + if (((token === import47.FormControlName) && (33 === requestNodeIndex))) { return this._FormControlName_33_5; } + if (((token === import50.NgControl) && (33 === requestNodeIndex))) { return this._NgControl_33_6; } + if (((token === import45.NgControlStatus) && (33 === requestNodeIndex))) { return this._NgControlStatus_33_7; } + if (((token === import46.DefaultValueAccessor) && (36 === requestNodeIndex))) { return this._DefaultValueAccessor_36_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_36_4; } + if (((token === import47.FormControlName) && (36 === requestNodeIndex))) { return this._FormControlName_36_5; } + if (((token === import50.NgControl) && (36 === requestNodeIndex))) { return this._NgControl_36_6; } + if (((token === import45.NgControlStatus) && (36 === requestNodeIndex))) { return this._NgControlStatus_36_7; } + if (((token === import46.DefaultValueAccessor) && (39 === requestNodeIndex))) { return this._DefaultValueAccessor_39_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_39_4; } + if (((token === import47.FormControlName) && (39 === requestNodeIndex))) { return this._FormControlName_39_5; } + if (((token === import50.NgControl) && (39 === requestNodeIndex))) { return this._NgControl_39_6; } + if (((token === import45.NgControlStatus) && (39 === requestNodeIndex))) { return this._NgControlStatus_39_7; } + if (((token === import46.DefaultValueAccessor) && (42 === requestNodeIndex))) { return this._DefaultValueAccessor_42_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_42_4; } + if (((token === import47.FormControlName) && (42 === requestNodeIndex))) { return this._FormControlName_42_5; } + if (((token === import50.NgControl) && (42 === requestNodeIndex))) { return this._NgControl_42_6; } + if (((token === import45.NgControlStatus) && (42 === requestNodeIndex))) { return this._NgControlStatus_42_7; } + if (((token === import46.DefaultValueAccessor) && (45 === requestNodeIndex))) { return this._DefaultValueAccessor_45_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_45_4; } + if (((token === import47.FormControlName) && (45 === requestNodeIndex))) { return this._FormControlName_45_5; } + if (((token === import50.NgControl) && (45 === requestNodeIndex))) { return this._NgControl_45_6; } + if (((token === import45.NgControlStatus) && (45 === requestNodeIndex))) { return this._NgControlStatus_45_7; } + if (((token === import46.DefaultValueAccessor) && (48 === requestNodeIndex))) { return this._DefaultValueAccessor_48_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_48_4; } + if (((token === import47.FormControlName) && (48 === requestNodeIndex))) { return this._FormControlName_48_5; } + if (((token === import50.NgControl) && (48 === requestNodeIndex))) { return this._NgControl_48_6; } + if (((token === import45.NgControlStatus) && (48 === requestNodeIndex))) { return this._NgControlStatus_48_7; } + if (((token === import46.DefaultValueAccessor) && (51 === requestNodeIndex))) { return this._DefaultValueAccessor_51_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_51_4; } + if (((token === import47.FormControlName) && (51 === requestNodeIndex))) { return this._FormControlName_51_5; } + if (((token === import50.NgControl) && (51 === requestNodeIndex))) { return this._NgControl_51_6; } + if (((token === import45.NgControlStatus) && (51 === requestNodeIndex))) { return this._NgControlStatus_51_7; } + if (((token === import46.DefaultValueAccessor) && (54 === requestNodeIndex))) { return this._DefaultValueAccessor_54_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_54_4; } + if (((token === import47.FormControlName) && (54 === requestNodeIndex))) { return this._FormControlName_54_5; } + if (((token === import50.NgControl) && (54 === requestNodeIndex))) { return this._NgControl_54_6; } + if (((token === import45.NgControlStatus) && (54 === requestNodeIndex))) { return this._NgControlStatus_54_7; } + if (((token === import46.DefaultValueAccessor) && (57 === requestNodeIndex))) { return this._DefaultValueAccessor_57_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_57_4; } + if (((token === import47.FormControlName) && (57 === requestNodeIndex))) { return this._FormControlName_57_5; } + if (((token === import50.NgControl) && (57 === requestNodeIndex))) { return this._NgControl_57_6; } + if (((token === import45.NgControlStatus) && (57 === requestNodeIndex))) { return this._NgControlStatus_57_7; } + if (((token === import46.DefaultValueAccessor) && (60 === requestNodeIndex))) { return this._DefaultValueAccessor_60_3; } + if (((token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_60_4; } + if (((token === import47.FormControlName) && (60 === requestNodeIndex))) { return this._FormControlName_60_5; } + if (((token === import50.NgControl) && (60 === requestNodeIndex))) { return this._NgControl_60_6; } + if (((token === import45.NgControlStatus) && (60 === requestNodeIndex))) { return this._NgControlStatus_60_7; } + if (((token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._FormGroupDirective_1_3; } + if (((token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._ControlContainer_1_4; } + if (((token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._NgControlStatusGroup_1_5; } + return notFoundResult; + } +} +export function viewFactory_AppComponent0(viewUtils:any,parentInjector:any,declarationEl:any):any { + return new _View_AppComponent0(viewUtils,parentInjector,declarationEl); +} + + +//// [complexNarrowingWithAny.js] +// Repro from #10869 +"use strict"; +/** + * This file is generated by the Angular 2 template compiler. + * Do not edit. + */ +/* tslint:disable */ +// import * as import0 from '@angular/core/src/linker/ng_module_factory'; +// import * as import1 from '../../app'; +// import * as import2 from '@angular/common/src/common_module'; +// import * as import3 from '@angular/core/src/application_module'; +// import * as import4 from '@angular/platform-browser/src/browser'; +// import * as import5 from '@angular/forms/src/directives'; +// import * as import6 from '@angular/forms/src/form_providers'; +// import * as import7 from '@angular/common/src/localization'; +// import * as import8 from '@angular/core/src/application_init'; +// import * as import9 from '@angular/core/src/testability/testability'; +// import * as import10 from '@angular/core/src/application_ref'; +// import * as import11 from '@angular/core/src/linker/compiler'; +// import * as import12 from '@angular/platform-browser/src/dom/events/hammer_gestures'; +// import * as import13 from '@angular/platform-browser/src/dom/events/event_manager'; +// import * as import14 from '@angular/platform-browser/src/dom/shared_styles_host'; +// import * as import15 from '@angular/platform-browser/src/dom/dom_renderer'; +// import * as import16 from '@angular/platform-browser/src/security/dom_sanitization_service'; +// import * as import17 from '@angular/core/src/linker/view_utils'; +// import * as import18 from '@angular/forms/src/form_builder'; +// import * as import19 from '@angular/forms/src/directives/radio_control_value_accessor'; +// import * as import20 from '@angular/core/src/di/injector'; +// import * as import21 from '@angular/core/src/application_tokens'; +// import * as import22 from '@angular/platform-browser/src/dom/events/dom_events'; +// import * as import23 from '@angular/platform-browser/src/dom/events/key_events'; +// import * as import24 from '@angular/core/src/zone/ng_zone'; +// import * as import25 from '@angular/platform-browser/src/dom/debug/ng_probe'; +// import * as import26 from '@angular/core/src/console'; +// import * as import27 from '@angular/core/src/i18n/tokens'; +// import * as import28 from '@angular/core/src/error_handler'; +// import * as import29 from '@angular/platform-browser/src/dom/dom_tokens'; +// import * as import30 from '@angular/platform-browser/src/dom/animation_driver'; +// import * as import31 from '@angular/core/src/render/api'; +// import * as import32 from '@angular/core/src/security'; +// import * as import33 from '@angular/core/src/change_detection/differs/iterable_differs'; +// import * as import34 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +// import * as import35 from '@angular/core/src/i18n/tokens'; +// import * as import36 from '@angular/core/src/render/api'; +// import * as import37 from '@angular/core/src/linker/view'; +// import * as import38 from '@angular/core/src/linker/element'; +// import * as import39 from '@angular/core/src/linker/view_utils'; +// import * as import40 from '@angular/core/src/linker/view_type'; +// import * as import41 from '@angular/core/src/change_detection/change_detection'; +// import * as import42 from '@angular/core/src/metadata/view'; +// import * as import43 from '@angular/core/src/linker/component_factory'; +// import * as import44 from '@angular/forms/src/directives/reactive_directives/form_group_directive'; +// import * as import45 from '@angular/forms/src/directives/ng_control_status'; +// import * as import46 from '@angular/forms/src/directives/default_value_accessor'; +// import * as import47 from '@angular/forms/src/directives/reactive_directives/form_control_name'; +// import * as import48 from '@angular/core/src/linker/element_ref'; +// import * as import49 from '@angular/forms/src/directives/control_value_accessor'; +// import * as import50 from '@angular/forms/src/directives/ng_control'; +// import * as import51 from '@angular/forms/src/directives/control_container'; +//stubbed out imports +var import44; +(function (import44) { + var FormGroupDirective = (function () { + function FormGroupDirective(any) { + } + return FormGroupDirective; + }()); + import44.FormGroupDirective = FormGroupDirective; +})(import44 || (import44 = {})); +var import45; +(function (import45) { + var NgControlStatus = (function () { + function NgControlStatus(any) { + } + return NgControlStatus; + }()); + import45.NgControlStatus = NgControlStatus; + var NgControlStatusGroup = (function () { + function NgControlStatusGroup(any) { + } + return NgControlStatusGroup; + }()); + import45.NgControlStatusGroup = NgControlStatusGroup; +})(import45 || (import45 = {})); +var import46; +(function (import46) { + var DefaultValueAccessor = (function () { + function DefaultValueAccessor(any) { + } + return DefaultValueAccessor; + }()); + import46.DefaultValueAccessor = DefaultValueAccessor; +})(import46 || (import46 = {})); +var import47; +(function (import47) { + var FormControlName = (function () { + function FormControlName(any) { + } + return FormControlName; + }()); + import47.FormControlName = FormControlName; +})(import47 || (import47 = {})); +var import48; +(function (import48) { + var FormControlName = (function () { + function FormControlName(any) { + } + return FormControlName; + }()); + import48.FormControlName = FormControlName; +})(import48 || (import48 = {})); +//HERE BE DRAGONS +//Using a value here - 65+ seconds to typecheck +var import49; +(function (import49) { + //real code uses an opaque token, using new String() to simulate. + //export var NG_VALUE_ACCESSOR = new OpaqueToken('ngValueAccessor') + import49.NG_VALUE_ACCESSOR = new String('foo'); +})(import49 || (import49 = {})); +//using a class - < 1 sec typecheck +// namespace import49 { +// export class NG_VALUE_ACCESSOR { +// constructor(any){} +// } +// } +//END DRAGONS +var import50; +(function (import50) { + var NgControl = (function () { + function NgControl(any) { + } + return NgControl; + }()); + import50.NgControl = NgControl; +})(import50 || (import50 = {})); +var import51; +(function (import51) { + var ControlContainer = (function () { + function ControlContainer(any) { + } + return ControlContainer; + }()); + import51.ControlContainer = ControlContainer; +})(import51 || (import51 = {})); +var _View_AppComponent0 = (function () { + function _View_AppComponent0(viewUtils, parentInjector, declarationEl) { + } + _View_AppComponent0.prototype.injectorGetInternal = function (token, requestNodeIndex, notFoundResult) { + if (((token === import46.DefaultValueAccessor) && (3 === requestNodeIndex))) { + return this._DefaultValueAccessor_3_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_3_4; + } + if (((token === import47.FormControlName) && (3 === requestNodeIndex))) { + return this._FormControlName_3_5; + } + if (((token === import50.NgControl) && (3 === requestNodeIndex))) { + return this._NgControl_3_6; + } + if (((token === import45.NgControlStatus) && (3 === requestNodeIndex))) { + return this._NgControlStatus_3_7; + } + if (((token === import46.DefaultValueAccessor) && (6 === requestNodeIndex))) { + return this._DefaultValueAccessor_6_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_6_4; + } + if (((token === import47.FormControlName) && (6 === requestNodeIndex))) { + return this._FormControlName_6_5; + } + if (((token === import50.NgControl) && (6 === requestNodeIndex))) { + return this._NgControl_6_6; + } + if (((token === import45.NgControlStatus) && (6 === requestNodeIndex))) { + return this._NgControlStatus_6_7; + } + if (((token === import46.DefaultValueAccessor) && (9 === requestNodeIndex))) { + return this._DefaultValueAccessor_9_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_9_4; + } + if (((token === import47.FormControlName) && (9 === requestNodeIndex))) { + return this._FormControlName_9_5; + } + if (((token === import50.NgControl) && (9 === requestNodeIndex))) { + return this._NgControl_9_6; + } + if (((token === import45.NgControlStatus) && (9 === requestNodeIndex))) { + return this._NgControlStatus_9_7; + } + if (((token === import46.DefaultValueAccessor) && (12 === requestNodeIndex))) { + return this._DefaultValueAccessor_12_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_12_4; + } + if (((token === import47.FormControlName) && (12 === requestNodeIndex))) { + return this._FormControlName_12_5; + } + if (((token === import50.NgControl) && (12 === requestNodeIndex))) { + return this._NgControl_12_6; + } + if (((token === import45.NgControlStatus) && (12 === requestNodeIndex))) { + return this._NgControlStatus_12_7; + } + if (((token === import46.DefaultValueAccessor) && (15 === requestNodeIndex))) { + return this._DefaultValueAccessor_15_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_15_4; + } + if (((token === import47.FormControlName) && (15 === requestNodeIndex))) { + return this._FormControlName_15_5; + } + if (((token === import50.NgControl) && (15 === requestNodeIndex))) { + return this._NgControl_15_6; + } + if (((token === import45.NgControlStatus) && (15 === requestNodeIndex))) { + return this._NgControlStatus_15_7; + } + if (((token === import46.DefaultValueAccessor) && (18 === requestNodeIndex))) { + return this._DefaultValueAccessor_18_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_18_4; + } + if (((token === import47.FormControlName) && (18 === requestNodeIndex))) { + return this._FormControlName_18_5; + } + if (((token === import50.NgControl) && (18 === requestNodeIndex))) { + return this._NgControl_18_6; + } + if (((token === import45.NgControlStatus) && (18 === requestNodeIndex))) { + return this._NgControlStatus_18_7; + } + if (((token === import46.DefaultValueAccessor) && (21 === requestNodeIndex))) { + return this._DefaultValueAccessor_21_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_21_4; + } + if (((token === import47.FormControlName) && (21 === requestNodeIndex))) { + return this._FormControlName_21_5; + } + if (((token === import50.NgControl) && (21 === requestNodeIndex))) { + return this._NgControl_21_6; + } + if (((token === import45.NgControlStatus) && (21 === requestNodeIndex))) { + return this._NgControlStatus_21_7; + } + if (((token === import46.DefaultValueAccessor) && (24 === requestNodeIndex))) { + return this._DefaultValueAccessor_24_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_24_4; + } + if (((token === import47.FormControlName) && (24 === requestNodeIndex))) { + return this._FormControlName_24_5; + } + if (((token === import50.NgControl) && (24 === requestNodeIndex))) { + return this._NgControl_24_6; + } + if (((token === import45.NgControlStatus) && (24 === requestNodeIndex))) { + return this._NgControlStatus_24_7; + } + if (((token === import46.DefaultValueAccessor) && (27 === requestNodeIndex))) { + return this._DefaultValueAccessor_27_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_27_4; + } + if (((token === import47.FormControlName) && (27 === requestNodeIndex))) { + return this._FormControlName_27_5; + } + if (((token === import50.NgControl) && (27 === requestNodeIndex))) { + return this._NgControl_27_6; + } + if (((token === import45.NgControlStatus) && (27 === requestNodeIndex))) { + return this._NgControlStatus_27_7; + } + if (((token === import46.DefaultValueAccessor) && (30 === requestNodeIndex))) { + return this._DefaultValueAccessor_30_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_30_4; + } + if (((token === import47.FormControlName) && (30 === requestNodeIndex))) { + return this._FormControlName_30_5; + } + if (((token === import50.NgControl) && (30 === requestNodeIndex))) { + return this._NgControl_30_6; + } + if (((token === import45.NgControlStatus) && (30 === requestNodeIndex))) { + return this._NgControlStatus_30_7; + } + if (((token === import46.DefaultValueAccessor) && (33 === requestNodeIndex))) { + return this._DefaultValueAccessor_33_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_33_4; + } + if (((token === import47.FormControlName) && (33 === requestNodeIndex))) { + return this._FormControlName_33_5; + } + if (((token === import50.NgControl) && (33 === requestNodeIndex))) { + return this._NgControl_33_6; + } + if (((token === import45.NgControlStatus) && (33 === requestNodeIndex))) { + return this._NgControlStatus_33_7; + } + if (((token === import46.DefaultValueAccessor) && (36 === requestNodeIndex))) { + return this._DefaultValueAccessor_36_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_36_4; + } + if (((token === import47.FormControlName) && (36 === requestNodeIndex))) { + return this._FormControlName_36_5; + } + if (((token === import50.NgControl) && (36 === requestNodeIndex))) { + return this._NgControl_36_6; + } + if (((token === import45.NgControlStatus) && (36 === requestNodeIndex))) { + return this._NgControlStatus_36_7; + } + if (((token === import46.DefaultValueAccessor) && (39 === requestNodeIndex))) { + return this._DefaultValueAccessor_39_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_39_4; + } + if (((token === import47.FormControlName) && (39 === requestNodeIndex))) { + return this._FormControlName_39_5; + } + if (((token === import50.NgControl) && (39 === requestNodeIndex))) { + return this._NgControl_39_6; + } + if (((token === import45.NgControlStatus) && (39 === requestNodeIndex))) { + return this._NgControlStatus_39_7; + } + if (((token === import46.DefaultValueAccessor) && (42 === requestNodeIndex))) { + return this._DefaultValueAccessor_42_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_42_4; + } + if (((token === import47.FormControlName) && (42 === requestNodeIndex))) { + return this._FormControlName_42_5; + } + if (((token === import50.NgControl) && (42 === requestNodeIndex))) { + return this._NgControl_42_6; + } + if (((token === import45.NgControlStatus) && (42 === requestNodeIndex))) { + return this._NgControlStatus_42_7; + } + if (((token === import46.DefaultValueAccessor) && (45 === requestNodeIndex))) { + return this._DefaultValueAccessor_45_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_45_4; + } + if (((token === import47.FormControlName) && (45 === requestNodeIndex))) { + return this._FormControlName_45_5; + } + if (((token === import50.NgControl) && (45 === requestNodeIndex))) { + return this._NgControl_45_6; + } + if (((token === import45.NgControlStatus) && (45 === requestNodeIndex))) { + return this._NgControlStatus_45_7; + } + if (((token === import46.DefaultValueAccessor) && (48 === requestNodeIndex))) { + return this._DefaultValueAccessor_48_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_48_4; + } + if (((token === import47.FormControlName) && (48 === requestNodeIndex))) { + return this._FormControlName_48_5; + } + if (((token === import50.NgControl) && (48 === requestNodeIndex))) { + return this._NgControl_48_6; + } + if (((token === import45.NgControlStatus) && (48 === requestNodeIndex))) { + return this._NgControlStatus_48_7; + } + if (((token === import46.DefaultValueAccessor) && (51 === requestNodeIndex))) { + return this._DefaultValueAccessor_51_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_51_4; + } + if (((token === import47.FormControlName) && (51 === requestNodeIndex))) { + return this._FormControlName_51_5; + } + if (((token === import50.NgControl) && (51 === requestNodeIndex))) { + return this._NgControl_51_6; + } + if (((token === import45.NgControlStatus) && (51 === requestNodeIndex))) { + return this._NgControlStatus_51_7; + } + if (((token === import46.DefaultValueAccessor) && (54 === requestNodeIndex))) { + return this._DefaultValueAccessor_54_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_54_4; + } + if (((token === import47.FormControlName) && (54 === requestNodeIndex))) { + return this._FormControlName_54_5; + } + if (((token === import50.NgControl) && (54 === requestNodeIndex))) { + return this._NgControl_54_6; + } + if (((token === import45.NgControlStatus) && (54 === requestNodeIndex))) { + return this._NgControlStatus_54_7; + } + if (((token === import46.DefaultValueAccessor) && (57 === requestNodeIndex))) { + return this._DefaultValueAccessor_57_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_57_4; + } + if (((token === import47.FormControlName) && (57 === requestNodeIndex))) { + return this._FormControlName_57_5; + } + if (((token === import50.NgControl) && (57 === requestNodeIndex))) { + return this._NgControl_57_6; + } + if (((token === import45.NgControlStatus) && (57 === requestNodeIndex))) { + return this._NgControlStatus_57_7; + } + if (((token === import46.DefaultValueAccessor) && (60 === requestNodeIndex))) { + return this._DefaultValueAccessor_60_3; + } + if (((token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex))) { + return this._NG_VALUE_ACCESSOR_60_4; + } + if (((token === import47.FormControlName) && (60 === requestNodeIndex))) { + return this._FormControlName_60_5; + } + if (((token === import50.NgControl) && (60 === requestNodeIndex))) { + return this._NgControl_60_6; + } + if (((token === import45.NgControlStatus) && (60 === requestNodeIndex))) { + return this._NgControlStatus_60_7; + } + if (((token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { + return this._FormGroupDirective_1_3; + } + if (((token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { + return this._ControlContainer_1_4; + } + if (((token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { + return this._NgControlStatusGroup_1_5; + } + return notFoundResult; + }; + return _View_AppComponent0; +}()); +function viewFactory_AppComponent0(viewUtils, parentInjector, declarationEl) { + return new _View_AppComponent0(viewUtils, parentInjector, declarationEl); +} +exports.viewFactory_AppComponent0 = viewFactory_AppComponent0; diff --git a/tests/baselines/reference/complexNarrowingWithAny.symbols b/tests/baselines/reference/complexNarrowingWithAny.symbols new file mode 100644 index 00000000000..d286502479c --- /dev/null +++ b/tests/baselines/reference/complexNarrowingWithAny.symbols @@ -0,0 +1,2304 @@ +=== tests/cases/compiler/complexNarrowingWithAny.ts === +// Repro from #10869 + +/** + * This file is generated by the Angular 2 template compiler. + * Do not edit. + */ + /* tslint:disable */ + +// import * as import0 from '@angular/core/src/linker/ng_module_factory'; +// import * as import1 from '../../app'; +// import * as import2 from '@angular/common/src/common_module'; +// import * as import3 from '@angular/core/src/application_module'; +// import * as import4 from '@angular/platform-browser/src/browser'; +// import * as import5 from '@angular/forms/src/directives'; +// import * as import6 from '@angular/forms/src/form_providers'; +// import * as import7 from '@angular/common/src/localization'; +// import * as import8 from '@angular/core/src/application_init'; +// import * as import9 from '@angular/core/src/testability/testability'; +// import * as import10 from '@angular/core/src/application_ref'; +// import * as import11 from '@angular/core/src/linker/compiler'; +// import * as import12 from '@angular/platform-browser/src/dom/events/hammer_gestures'; +// import * as import13 from '@angular/platform-browser/src/dom/events/event_manager'; +// import * as import14 from '@angular/platform-browser/src/dom/shared_styles_host'; +// import * as import15 from '@angular/platform-browser/src/dom/dom_renderer'; +// import * as import16 from '@angular/platform-browser/src/security/dom_sanitization_service'; +// import * as import17 from '@angular/core/src/linker/view_utils'; +// import * as import18 from '@angular/forms/src/form_builder'; +// import * as import19 from '@angular/forms/src/directives/radio_control_value_accessor'; +// import * as import20 from '@angular/core/src/di/injector'; +// import * as import21 from '@angular/core/src/application_tokens'; +// import * as import22 from '@angular/platform-browser/src/dom/events/dom_events'; +// import * as import23 from '@angular/platform-browser/src/dom/events/key_events'; +// import * as import24 from '@angular/core/src/zone/ng_zone'; +// import * as import25 from '@angular/platform-browser/src/dom/debug/ng_probe'; +// import * as import26 from '@angular/core/src/console'; +// import * as import27 from '@angular/core/src/i18n/tokens'; +// import * as import28 from '@angular/core/src/error_handler'; +// import * as import29 from '@angular/platform-browser/src/dom/dom_tokens'; +// import * as import30 from '@angular/platform-browser/src/dom/animation_driver'; +// import * as import31 from '@angular/core/src/render/api'; +// import * as import32 from '@angular/core/src/security'; +// import * as import33 from '@angular/core/src/change_detection/differs/iterable_differs'; +// import * as import34 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +// import * as import35 from '@angular/core/src/i18n/tokens'; +// import * as import36 from '@angular/core/src/render/api'; +// import * as import37 from '@angular/core/src/linker/view'; +// import * as import38 from '@angular/core/src/linker/element'; +// import * as import39 from '@angular/core/src/linker/view_utils'; +// import * as import40 from '@angular/core/src/linker/view_type'; +// import * as import41 from '@angular/core/src/change_detection/change_detection'; +// import * as import42 from '@angular/core/src/metadata/view'; +// import * as import43 from '@angular/core/src/linker/component_factory'; +// import * as import44 from '@angular/forms/src/directives/reactive_directives/form_group_directive'; +// import * as import45 from '@angular/forms/src/directives/ng_control_status'; +// import * as import46 from '@angular/forms/src/directives/default_value_accessor'; +// import * as import47 from '@angular/forms/src/directives/reactive_directives/form_control_name'; +// import * as import48 from '@angular/core/src/linker/element_ref'; +// import * as import49 from '@angular/forms/src/directives/control_value_accessor'; +// import * as import50 from '@angular/forms/src/directives/ng_control'; +// import * as import51 from '@angular/forms/src/directives/control_container'; + +//stubbed out imports + +namespace import44 { +>import44 : Symbol(import44, Decl(complexNarrowingWithAny.ts, 0, 0)) + + export class FormGroupDirective { +>FormGroupDirective : Symbol(FormGroupDirective, Decl(complexNarrowingWithAny.ts, 63, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 65, 14)) + } +} + +namespace import45 { +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) + + export class NgControlStatus { +>NgControlStatus : Symbol(NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 71, 14)) + } + export class NgControlStatusGroup { +>NgControlStatusGroup : Symbol(NgControlStatusGroup, Decl(complexNarrowingWithAny.ts, 72, 2)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 74, 14)) + } +} + +namespace import46 { +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) + + export class DefaultValueAccessor { +>DefaultValueAccessor : Symbol(DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 80, 14)) + } +} + +namespace import47 { +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) + + export class FormControlName { +>FormControlName : Symbol(FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 86, 14)) + } +} + +namespace import48 { +>import48 : Symbol(import48, Decl(complexNarrowingWithAny.ts, 88, 1)) + + export class FormControlName { +>FormControlName : Symbol(FormControlName, Decl(complexNarrowingWithAny.ts, 90, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 92, 14)) + } +} + + +//HERE BE DRAGONS + +//Using a value here - 65+ seconds to typecheck +namespace import49 { +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) + + //real code uses an opaque token, using new String() to simulate. + //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, --, --)) +} + +//using a class - < 1 sec typecheck +// namespace import49 { +// export class NG_VALUE_ACCESSOR { +// constructor(any){} +// } +// } + +//END DRAGONS + + +namespace import50 { +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) + + export class NgControl { +>NgControl : Symbol(NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 118, 14)) + } +} + +namespace import51 { +>import51 : Symbol(import51, Decl(complexNarrowingWithAny.ts, 120, 1)) + + export class ControlContainer { +>ControlContainer : Symbol(ControlContainer, Decl(complexNarrowingWithAny.ts, 122, 20)) + + constructor(any){} +>any : Symbol(any, Decl(complexNarrowingWithAny.ts, 124, 14)) + } +} + + + +class _View_AppComponent0 { +>_View_AppComponent0 : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) + + _text_0:any; +>_text_0 : Symbol(_View_AppComponent0._text_0, Decl(complexNarrowingWithAny.ts, 130, 27)) + + _el_1:any; +>_el_1 : Symbol(_View_AppComponent0._el_1, Decl(complexNarrowingWithAny.ts, 131, 14)) + + _FormGroupDirective_1_3:import44.FormGroupDirective; +>_FormGroupDirective_1_3 : Symbol(_View_AppComponent0._FormGroupDirective_1_3, Decl(complexNarrowingWithAny.ts, 132, 12)) +>import44 : Symbol(import44, Decl(complexNarrowingWithAny.ts, 0, 0)) +>FormGroupDirective : Symbol(import44.FormGroupDirective, Decl(complexNarrowingWithAny.ts, 63, 20)) + + _ControlContainer_1_4:any; +>_ControlContainer_1_4 : Symbol(_View_AppComponent0._ControlContainer_1_4, Decl(complexNarrowingWithAny.ts, 133, 54)) + + _NgControlStatusGroup_1_5:import45.NgControlStatusGroup; +>_NgControlStatusGroup_1_5 : Symbol(_View_AppComponent0._NgControlStatusGroup_1_5, Decl(complexNarrowingWithAny.ts, 134, 28)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatusGroup : Symbol(import45.NgControlStatusGroup, Decl(complexNarrowingWithAny.ts, 72, 2)) + + _text_2:any; +>_text_2 : Symbol(_View_AppComponent0._text_2, Decl(complexNarrowingWithAny.ts, 135, 58)) + + _el_3:any; +>_el_3 : Symbol(_View_AppComponent0._el_3, Decl(complexNarrowingWithAny.ts, 136, 14)) + + _DefaultValueAccessor_3_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_3_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_3_3, Decl(complexNarrowingWithAny.ts, 137, 12)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_3_4:any[]; +>_NG_VALUE_ACCESSOR_3_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_3_4, Decl(complexNarrowingWithAny.ts, 138, 58)) + + _FormControlName_3_5:import47.FormControlName; +>_FormControlName_3_5 : Symbol(_View_AppComponent0._FormControlName_3_5, Decl(complexNarrowingWithAny.ts, 139, 31)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_3_6:any; +>_NgControl_3_6 : Symbol(_View_AppComponent0._NgControl_3_6, Decl(complexNarrowingWithAny.ts, 140, 48)) + + _NgControlStatus_3_7:import45.NgControlStatus; +>_NgControlStatus_3_7 : Symbol(_View_AppComponent0._NgControlStatus_3_7, Decl(complexNarrowingWithAny.ts, 141, 21)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_4:any; +>_el_4 : Symbol(_View_AppComponent0._el_4, Decl(complexNarrowingWithAny.ts, 142, 48)) + + _text_5:any; +>_text_5 : Symbol(_View_AppComponent0._text_5, Decl(complexNarrowingWithAny.ts, 143, 12)) + + _el_6:any; +>_el_6 : Symbol(_View_AppComponent0._el_6, Decl(complexNarrowingWithAny.ts, 144, 14)) + + _DefaultValueAccessor_6_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_6_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_6_3, Decl(complexNarrowingWithAny.ts, 145, 12)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_6_4:any[]; +>_NG_VALUE_ACCESSOR_6_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_6_4, Decl(complexNarrowingWithAny.ts, 146, 58)) + + _FormControlName_6_5:import47.FormControlName; +>_FormControlName_6_5 : Symbol(_View_AppComponent0._FormControlName_6_5, Decl(complexNarrowingWithAny.ts, 147, 31)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_6_6:any; +>_NgControl_6_6 : Symbol(_View_AppComponent0._NgControl_6_6, Decl(complexNarrowingWithAny.ts, 148, 48)) + + _NgControlStatus_6_7:import45.NgControlStatus; +>_NgControlStatus_6_7 : Symbol(_View_AppComponent0._NgControlStatus_6_7, Decl(complexNarrowingWithAny.ts, 149, 21)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_7:any; +>_el_7 : Symbol(_View_AppComponent0._el_7, Decl(complexNarrowingWithAny.ts, 150, 48)) + + _text_8:any; +>_text_8 : Symbol(_View_AppComponent0._text_8, Decl(complexNarrowingWithAny.ts, 151, 12)) + + _el_9:any; +>_el_9 : Symbol(_View_AppComponent0._el_9, Decl(complexNarrowingWithAny.ts, 152, 14)) + + _DefaultValueAccessor_9_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_9_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_9_3, Decl(complexNarrowingWithAny.ts, 153, 12)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_9_4:any[]; +>_NG_VALUE_ACCESSOR_9_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_9_4, Decl(complexNarrowingWithAny.ts, 154, 58)) + + _FormControlName_9_5:import47.FormControlName; +>_FormControlName_9_5 : Symbol(_View_AppComponent0._FormControlName_9_5, Decl(complexNarrowingWithAny.ts, 155, 31)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_9_6:any; +>_NgControl_9_6 : Symbol(_View_AppComponent0._NgControl_9_6, Decl(complexNarrowingWithAny.ts, 156, 48)) + + _NgControlStatus_9_7:import45.NgControlStatus; +>_NgControlStatus_9_7 : Symbol(_View_AppComponent0._NgControlStatus_9_7, Decl(complexNarrowingWithAny.ts, 157, 21)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_10:any; +>_el_10 : Symbol(_View_AppComponent0._el_10, Decl(complexNarrowingWithAny.ts, 158, 48)) + + _text_11:any; +>_text_11 : Symbol(_View_AppComponent0._text_11, Decl(complexNarrowingWithAny.ts, 159, 13)) + + _el_12:any; +>_el_12 : Symbol(_View_AppComponent0._el_12, Decl(complexNarrowingWithAny.ts, 160, 15)) + + _DefaultValueAccessor_12_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_12_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_12_3, Decl(complexNarrowingWithAny.ts, 161, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_12_4:any[]; +>_NG_VALUE_ACCESSOR_12_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_12_4, Decl(complexNarrowingWithAny.ts, 162, 59)) + + _FormControlName_12_5:import47.FormControlName; +>_FormControlName_12_5 : Symbol(_View_AppComponent0._FormControlName_12_5, Decl(complexNarrowingWithAny.ts, 163, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_12_6:any; +>_NgControl_12_6 : Symbol(_View_AppComponent0._NgControl_12_6, Decl(complexNarrowingWithAny.ts, 164, 49)) + + _NgControlStatus_12_7:import45.NgControlStatus; +>_NgControlStatus_12_7 : Symbol(_View_AppComponent0._NgControlStatus_12_7, Decl(complexNarrowingWithAny.ts, 165, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_13:any; +>_el_13 : Symbol(_View_AppComponent0._el_13, Decl(complexNarrowingWithAny.ts, 166, 49)) + + _text_14:any; +>_text_14 : Symbol(_View_AppComponent0._text_14, Decl(complexNarrowingWithAny.ts, 167, 13)) + + _el_15:any; +>_el_15 : Symbol(_View_AppComponent0._el_15, Decl(complexNarrowingWithAny.ts, 168, 15)) + + _DefaultValueAccessor_15_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_15_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_15_3, Decl(complexNarrowingWithAny.ts, 169, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_15_4:any[]; +>_NG_VALUE_ACCESSOR_15_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_15_4, Decl(complexNarrowingWithAny.ts, 170, 59)) + + _FormControlName_15_5:import47.FormControlName; +>_FormControlName_15_5 : Symbol(_View_AppComponent0._FormControlName_15_5, Decl(complexNarrowingWithAny.ts, 171, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_15_6:any; +>_NgControl_15_6 : Symbol(_View_AppComponent0._NgControl_15_6, Decl(complexNarrowingWithAny.ts, 172, 49)) + + _NgControlStatus_15_7:import45.NgControlStatus; +>_NgControlStatus_15_7 : Symbol(_View_AppComponent0._NgControlStatus_15_7, Decl(complexNarrowingWithAny.ts, 173, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_16:any; +>_el_16 : Symbol(_View_AppComponent0._el_16, Decl(complexNarrowingWithAny.ts, 174, 49)) + + _text_17:any; +>_text_17 : Symbol(_View_AppComponent0._text_17, Decl(complexNarrowingWithAny.ts, 175, 13)) + + _el_18:any; +>_el_18 : Symbol(_View_AppComponent0._el_18, Decl(complexNarrowingWithAny.ts, 176, 15)) + + _DefaultValueAccessor_18_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_18_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_18_3, Decl(complexNarrowingWithAny.ts, 177, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_18_4:any[]; +>_NG_VALUE_ACCESSOR_18_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_18_4, Decl(complexNarrowingWithAny.ts, 178, 59)) + + _FormControlName_18_5:import47.FormControlName; +>_FormControlName_18_5 : Symbol(_View_AppComponent0._FormControlName_18_5, Decl(complexNarrowingWithAny.ts, 179, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_18_6:any; +>_NgControl_18_6 : Symbol(_View_AppComponent0._NgControl_18_6, Decl(complexNarrowingWithAny.ts, 180, 49)) + + _NgControlStatus_18_7:import45.NgControlStatus; +>_NgControlStatus_18_7 : Symbol(_View_AppComponent0._NgControlStatus_18_7, Decl(complexNarrowingWithAny.ts, 181, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_19:any; +>_el_19 : Symbol(_View_AppComponent0._el_19, Decl(complexNarrowingWithAny.ts, 182, 49)) + + _text_20:any; +>_text_20 : Symbol(_View_AppComponent0._text_20, Decl(complexNarrowingWithAny.ts, 183, 13)) + + _el_21:any; +>_el_21 : Symbol(_View_AppComponent0._el_21, Decl(complexNarrowingWithAny.ts, 184, 15)) + + _DefaultValueAccessor_21_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_21_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_21_3, Decl(complexNarrowingWithAny.ts, 185, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_21_4:any[]; +>_NG_VALUE_ACCESSOR_21_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_21_4, Decl(complexNarrowingWithAny.ts, 186, 59)) + + _FormControlName_21_5:import47.FormControlName; +>_FormControlName_21_5 : Symbol(_View_AppComponent0._FormControlName_21_5, Decl(complexNarrowingWithAny.ts, 187, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_21_6:any; +>_NgControl_21_6 : Symbol(_View_AppComponent0._NgControl_21_6, Decl(complexNarrowingWithAny.ts, 188, 49)) + + _NgControlStatus_21_7:import45.NgControlStatus; +>_NgControlStatus_21_7 : Symbol(_View_AppComponent0._NgControlStatus_21_7, Decl(complexNarrowingWithAny.ts, 189, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_22:any; +>_el_22 : Symbol(_View_AppComponent0._el_22, Decl(complexNarrowingWithAny.ts, 190, 49)) + + _text_23:any; +>_text_23 : Symbol(_View_AppComponent0._text_23, Decl(complexNarrowingWithAny.ts, 191, 13)) + + _el_24:any; +>_el_24 : Symbol(_View_AppComponent0._el_24, Decl(complexNarrowingWithAny.ts, 192, 15)) + + _DefaultValueAccessor_24_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_24_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_24_3, Decl(complexNarrowingWithAny.ts, 193, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_24_4:any[]; +>_NG_VALUE_ACCESSOR_24_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_24_4, Decl(complexNarrowingWithAny.ts, 194, 59)) + + _FormControlName_24_5:import47.FormControlName; +>_FormControlName_24_5 : Symbol(_View_AppComponent0._FormControlName_24_5, Decl(complexNarrowingWithAny.ts, 195, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_24_6:any; +>_NgControl_24_6 : Symbol(_View_AppComponent0._NgControl_24_6, Decl(complexNarrowingWithAny.ts, 196, 49)) + + _NgControlStatus_24_7:import45.NgControlStatus; +>_NgControlStatus_24_7 : Symbol(_View_AppComponent0._NgControlStatus_24_7, Decl(complexNarrowingWithAny.ts, 197, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_25:any; +>_el_25 : Symbol(_View_AppComponent0._el_25, Decl(complexNarrowingWithAny.ts, 198, 49)) + + _text_26:any; +>_text_26 : Symbol(_View_AppComponent0._text_26, Decl(complexNarrowingWithAny.ts, 199, 13)) + + _el_27:any; +>_el_27 : Symbol(_View_AppComponent0._el_27, Decl(complexNarrowingWithAny.ts, 200, 15)) + + _DefaultValueAccessor_27_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_27_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_27_3, Decl(complexNarrowingWithAny.ts, 201, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_27_4:any[]; +>_NG_VALUE_ACCESSOR_27_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_27_4, Decl(complexNarrowingWithAny.ts, 202, 59)) + + _FormControlName_27_5:import47.FormControlName; +>_FormControlName_27_5 : Symbol(_View_AppComponent0._FormControlName_27_5, Decl(complexNarrowingWithAny.ts, 203, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_27_6:any; +>_NgControl_27_6 : Symbol(_View_AppComponent0._NgControl_27_6, Decl(complexNarrowingWithAny.ts, 204, 49)) + + _NgControlStatus_27_7:import45.NgControlStatus; +>_NgControlStatus_27_7 : Symbol(_View_AppComponent0._NgControlStatus_27_7, Decl(complexNarrowingWithAny.ts, 205, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_28:any; +>_el_28 : Symbol(_View_AppComponent0._el_28, Decl(complexNarrowingWithAny.ts, 206, 49)) + + _text_29:any; +>_text_29 : Symbol(_View_AppComponent0._text_29, Decl(complexNarrowingWithAny.ts, 207, 13)) + + _el_30:any; +>_el_30 : Symbol(_View_AppComponent0._el_30, Decl(complexNarrowingWithAny.ts, 208, 15)) + + _DefaultValueAccessor_30_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_30_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_30_3, Decl(complexNarrowingWithAny.ts, 209, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_30_4:any[]; +>_NG_VALUE_ACCESSOR_30_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_30_4, Decl(complexNarrowingWithAny.ts, 210, 59)) + + _FormControlName_30_5:import47.FormControlName; +>_FormControlName_30_5 : Symbol(_View_AppComponent0._FormControlName_30_5, Decl(complexNarrowingWithAny.ts, 211, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_30_6:any; +>_NgControl_30_6 : Symbol(_View_AppComponent0._NgControl_30_6, Decl(complexNarrowingWithAny.ts, 212, 49)) + + _NgControlStatus_30_7:import45.NgControlStatus; +>_NgControlStatus_30_7 : Symbol(_View_AppComponent0._NgControlStatus_30_7, Decl(complexNarrowingWithAny.ts, 213, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_31:any; +>_el_31 : Symbol(_View_AppComponent0._el_31, Decl(complexNarrowingWithAny.ts, 214, 49)) + + _text_32:any; +>_text_32 : Symbol(_View_AppComponent0._text_32, Decl(complexNarrowingWithAny.ts, 215, 13)) + + _el_33:any; +>_el_33 : Symbol(_View_AppComponent0._el_33, Decl(complexNarrowingWithAny.ts, 216, 15)) + + _DefaultValueAccessor_33_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_33_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_33_3, Decl(complexNarrowingWithAny.ts, 217, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_33_4:any[]; +>_NG_VALUE_ACCESSOR_33_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_33_4, Decl(complexNarrowingWithAny.ts, 218, 59)) + + _FormControlName_33_5:import47.FormControlName; +>_FormControlName_33_5 : Symbol(_View_AppComponent0._FormControlName_33_5, Decl(complexNarrowingWithAny.ts, 219, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_33_6:any; +>_NgControl_33_6 : Symbol(_View_AppComponent0._NgControl_33_6, Decl(complexNarrowingWithAny.ts, 220, 49)) + + _NgControlStatus_33_7:import45.NgControlStatus; +>_NgControlStatus_33_7 : Symbol(_View_AppComponent0._NgControlStatus_33_7, Decl(complexNarrowingWithAny.ts, 221, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_34:any; +>_el_34 : Symbol(_View_AppComponent0._el_34, Decl(complexNarrowingWithAny.ts, 222, 49)) + + _text_35:any; +>_text_35 : Symbol(_View_AppComponent0._text_35, Decl(complexNarrowingWithAny.ts, 223, 13)) + + _el_36:any; +>_el_36 : Symbol(_View_AppComponent0._el_36, Decl(complexNarrowingWithAny.ts, 224, 15)) + + _DefaultValueAccessor_36_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_36_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_36_3, Decl(complexNarrowingWithAny.ts, 225, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_36_4:any[]; +>_NG_VALUE_ACCESSOR_36_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_36_4, Decl(complexNarrowingWithAny.ts, 226, 59)) + + _FormControlName_36_5:import47.FormControlName; +>_FormControlName_36_5 : Symbol(_View_AppComponent0._FormControlName_36_5, Decl(complexNarrowingWithAny.ts, 227, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_36_6:any; +>_NgControl_36_6 : Symbol(_View_AppComponent0._NgControl_36_6, Decl(complexNarrowingWithAny.ts, 228, 49)) + + _NgControlStatus_36_7:import45.NgControlStatus; +>_NgControlStatus_36_7 : Symbol(_View_AppComponent0._NgControlStatus_36_7, Decl(complexNarrowingWithAny.ts, 229, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_37:any; +>_el_37 : Symbol(_View_AppComponent0._el_37, Decl(complexNarrowingWithAny.ts, 230, 49)) + + _text_38:any; +>_text_38 : Symbol(_View_AppComponent0._text_38, Decl(complexNarrowingWithAny.ts, 231, 13)) + + _el_39:any; +>_el_39 : Symbol(_View_AppComponent0._el_39, Decl(complexNarrowingWithAny.ts, 232, 15)) + + _DefaultValueAccessor_39_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_39_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_39_3, Decl(complexNarrowingWithAny.ts, 233, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_39_4:any[]; +>_NG_VALUE_ACCESSOR_39_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_39_4, Decl(complexNarrowingWithAny.ts, 234, 59)) + + _FormControlName_39_5:import47.FormControlName; +>_FormControlName_39_5 : Symbol(_View_AppComponent0._FormControlName_39_5, Decl(complexNarrowingWithAny.ts, 235, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_39_6:any; +>_NgControl_39_6 : Symbol(_View_AppComponent0._NgControl_39_6, Decl(complexNarrowingWithAny.ts, 236, 49)) + + _NgControlStatus_39_7:import45.NgControlStatus; +>_NgControlStatus_39_7 : Symbol(_View_AppComponent0._NgControlStatus_39_7, Decl(complexNarrowingWithAny.ts, 237, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_40:any; +>_el_40 : Symbol(_View_AppComponent0._el_40, Decl(complexNarrowingWithAny.ts, 238, 49)) + + _text_41:any; +>_text_41 : Symbol(_View_AppComponent0._text_41, Decl(complexNarrowingWithAny.ts, 239, 13)) + + _el_42:any; +>_el_42 : Symbol(_View_AppComponent0._el_42, Decl(complexNarrowingWithAny.ts, 240, 15)) + + _DefaultValueAccessor_42_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_42_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_42_3, Decl(complexNarrowingWithAny.ts, 241, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_42_4:any[]; +>_NG_VALUE_ACCESSOR_42_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_42_4, Decl(complexNarrowingWithAny.ts, 242, 59)) + + _FormControlName_42_5:import47.FormControlName; +>_FormControlName_42_5 : Symbol(_View_AppComponent0._FormControlName_42_5, Decl(complexNarrowingWithAny.ts, 243, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_42_6:any; +>_NgControl_42_6 : Symbol(_View_AppComponent0._NgControl_42_6, Decl(complexNarrowingWithAny.ts, 244, 49)) + + _NgControlStatus_42_7:import45.NgControlStatus; +>_NgControlStatus_42_7 : Symbol(_View_AppComponent0._NgControlStatus_42_7, Decl(complexNarrowingWithAny.ts, 245, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_43:any; +>_el_43 : Symbol(_View_AppComponent0._el_43, Decl(complexNarrowingWithAny.ts, 246, 49)) + + _text_44:any; +>_text_44 : Symbol(_View_AppComponent0._text_44, Decl(complexNarrowingWithAny.ts, 247, 13)) + + _el_45:any; +>_el_45 : Symbol(_View_AppComponent0._el_45, Decl(complexNarrowingWithAny.ts, 248, 15)) + + _DefaultValueAccessor_45_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_45_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_45_3, Decl(complexNarrowingWithAny.ts, 249, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_45_4:any[]; +>_NG_VALUE_ACCESSOR_45_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_45_4, Decl(complexNarrowingWithAny.ts, 250, 59)) + + _FormControlName_45_5:import47.FormControlName; +>_FormControlName_45_5 : Symbol(_View_AppComponent0._FormControlName_45_5, Decl(complexNarrowingWithAny.ts, 251, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_45_6:any; +>_NgControl_45_6 : Symbol(_View_AppComponent0._NgControl_45_6, Decl(complexNarrowingWithAny.ts, 252, 49)) + + _NgControlStatus_45_7:import45.NgControlStatus; +>_NgControlStatus_45_7 : Symbol(_View_AppComponent0._NgControlStatus_45_7, Decl(complexNarrowingWithAny.ts, 253, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_46:any; +>_el_46 : Symbol(_View_AppComponent0._el_46, Decl(complexNarrowingWithAny.ts, 254, 49)) + + _text_47:any; +>_text_47 : Symbol(_View_AppComponent0._text_47, Decl(complexNarrowingWithAny.ts, 255, 13)) + + _el_48:any; +>_el_48 : Symbol(_View_AppComponent0._el_48, Decl(complexNarrowingWithAny.ts, 256, 15)) + + _DefaultValueAccessor_48_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_48_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_48_3, Decl(complexNarrowingWithAny.ts, 257, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_48_4:any[]; +>_NG_VALUE_ACCESSOR_48_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_48_4, Decl(complexNarrowingWithAny.ts, 258, 59)) + + _FormControlName_48_5:import47.FormControlName; +>_FormControlName_48_5 : Symbol(_View_AppComponent0._FormControlName_48_5, Decl(complexNarrowingWithAny.ts, 259, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_48_6:any; +>_NgControl_48_6 : Symbol(_View_AppComponent0._NgControl_48_6, Decl(complexNarrowingWithAny.ts, 260, 49)) + + _NgControlStatus_48_7:import45.NgControlStatus; +>_NgControlStatus_48_7 : Symbol(_View_AppComponent0._NgControlStatus_48_7, Decl(complexNarrowingWithAny.ts, 261, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_49:any; +>_el_49 : Symbol(_View_AppComponent0._el_49, Decl(complexNarrowingWithAny.ts, 262, 49)) + + _text_50:any; +>_text_50 : Symbol(_View_AppComponent0._text_50, Decl(complexNarrowingWithAny.ts, 263, 13)) + + _el_51:any; +>_el_51 : Symbol(_View_AppComponent0._el_51, Decl(complexNarrowingWithAny.ts, 264, 15)) + + _DefaultValueAccessor_51_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_51_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_51_3, Decl(complexNarrowingWithAny.ts, 265, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_51_4:any[]; +>_NG_VALUE_ACCESSOR_51_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_51_4, Decl(complexNarrowingWithAny.ts, 266, 59)) + + _FormControlName_51_5:import47.FormControlName; +>_FormControlName_51_5 : Symbol(_View_AppComponent0._FormControlName_51_5, Decl(complexNarrowingWithAny.ts, 267, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_51_6:any; +>_NgControl_51_6 : Symbol(_View_AppComponent0._NgControl_51_6, Decl(complexNarrowingWithAny.ts, 268, 49)) + + _NgControlStatus_51_7:import45.NgControlStatus; +>_NgControlStatus_51_7 : Symbol(_View_AppComponent0._NgControlStatus_51_7, Decl(complexNarrowingWithAny.ts, 269, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_52:any; +>_el_52 : Symbol(_View_AppComponent0._el_52, Decl(complexNarrowingWithAny.ts, 270, 49)) + + _text_53:any; +>_text_53 : Symbol(_View_AppComponent0._text_53, Decl(complexNarrowingWithAny.ts, 271, 13)) + + _el_54:any; +>_el_54 : Symbol(_View_AppComponent0._el_54, Decl(complexNarrowingWithAny.ts, 272, 15)) + + _DefaultValueAccessor_54_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_54_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_54_3, Decl(complexNarrowingWithAny.ts, 273, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_54_4:any[]; +>_NG_VALUE_ACCESSOR_54_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_54_4, Decl(complexNarrowingWithAny.ts, 274, 59)) + + _FormControlName_54_5:import47.FormControlName; +>_FormControlName_54_5 : Symbol(_View_AppComponent0._FormControlName_54_5, Decl(complexNarrowingWithAny.ts, 275, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_54_6:any; +>_NgControl_54_6 : Symbol(_View_AppComponent0._NgControl_54_6, Decl(complexNarrowingWithAny.ts, 276, 49)) + + _NgControlStatus_54_7:import45.NgControlStatus; +>_NgControlStatus_54_7 : Symbol(_View_AppComponent0._NgControlStatus_54_7, Decl(complexNarrowingWithAny.ts, 277, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_55:any; +>_el_55 : Symbol(_View_AppComponent0._el_55, Decl(complexNarrowingWithAny.ts, 278, 49)) + + _text_56:any; +>_text_56 : Symbol(_View_AppComponent0._text_56, Decl(complexNarrowingWithAny.ts, 279, 13)) + + _el_57:any; +>_el_57 : Symbol(_View_AppComponent0._el_57, Decl(complexNarrowingWithAny.ts, 280, 15)) + + _DefaultValueAccessor_57_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_57_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_57_3, Decl(complexNarrowingWithAny.ts, 281, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_57_4:any[]; +>_NG_VALUE_ACCESSOR_57_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_57_4, Decl(complexNarrowingWithAny.ts, 282, 59)) + + _FormControlName_57_5:import47.FormControlName; +>_FormControlName_57_5 : Symbol(_View_AppComponent0._FormControlName_57_5, Decl(complexNarrowingWithAny.ts, 283, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_57_6:any; +>_NgControl_57_6 : Symbol(_View_AppComponent0._NgControl_57_6, Decl(complexNarrowingWithAny.ts, 284, 49)) + + _NgControlStatus_57_7:import45.NgControlStatus; +>_NgControlStatus_57_7 : Symbol(_View_AppComponent0._NgControlStatus_57_7, Decl(complexNarrowingWithAny.ts, 285, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_58:any; +>_el_58 : Symbol(_View_AppComponent0._el_58, Decl(complexNarrowingWithAny.ts, 286, 49)) + + _text_59:any; +>_text_59 : Symbol(_View_AppComponent0._text_59, Decl(complexNarrowingWithAny.ts, 287, 13)) + + _el_60:any; +>_el_60 : Symbol(_View_AppComponent0._el_60, Decl(complexNarrowingWithAny.ts, 288, 15)) + + _DefaultValueAccessor_60_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_60_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_60_3, Decl(complexNarrowingWithAny.ts, 289, 13)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) + + _NG_VALUE_ACCESSOR_60_4:any[]; +>_NG_VALUE_ACCESSOR_60_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_60_4, Decl(complexNarrowingWithAny.ts, 290, 59)) + + _FormControlName_60_5:import47.FormControlName; +>_FormControlName_60_5 : Symbol(_View_AppComponent0._FormControlName_60_5, Decl(complexNarrowingWithAny.ts, 291, 32)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) + + _NgControl_60_6:any; +>_NgControl_60_6 : Symbol(_View_AppComponent0._NgControl_60_6, Decl(complexNarrowingWithAny.ts, 292, 49)) + + _NgControlStatus_60_7:import45.NgControlStatus; +>_NgControlStatus_60_7 : Symbol(_View_AppComponent0._NgControlStatus_60_7, Decl(complexNarrowingWithAny.ts, 293, 22)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) + + _el_61:any; +>_el_61 : Symbol(_View_AppComponent0._el_61, Decl(complexNarrowingWithAny.ts, 294, 49)) + + _text_62:any; +>_text_62 : Symbol(_View_AppComponent0._text_62, Decl(complexNarrowingWithAny.ts, 295, 13)) + + _text_63:any; +>_text_63 : Symbol(_View_AppComponent0._text_63, Decl(complexNarrowingWithAny.ts, 296, 15)) + + /*private*/ _expr_2:any; +>_expr_2 : Symbol(_View_AppComponent0._expr_2, Decl(complexNarrowingWithAny.ts, 297, 15)) + + /*private*/ _expr_3:any; +>_expr_3 : Symbol(_View_AppComponent0._expr_3, Decl(complexNarrowingWithAny.ts, 298, 26)) + + /*private*/ _expr_4:any; +>_expr_4 : Symbol(_View_AppComponent0._expr_4, Decl(complexNarrowingWithAny.ts, 299, 26)) + + /*private*/ _expr_5:any; +>_expr_5 : Symbol(_View_AppComponent0._expr_5, Decl(complexNarrowingWithAny.ts, 300, 26)) + + /*private*/ _expr_6:any; +>_expr_6 : Symbol(_View_AppComponent0._expr_6, Decl(complexNarrowingWithAny.ts, 301, 26)) + + /*private*/ _expr_7:any; +>_expr_7 : Symbol(_View_AppComponent0._expr_7, Decl(complexNarrowingWithAny.ts, 302, 26)) + + /*private*/ _expr_8:any; +>_expr_8 : Symbol(_View_AppComponent0._expr_8, Decl(complexNarrowingWithAny.ts, 303, 26)) + + /*private*/ _expr_11:any; +>_expr_11 : Symbol(_View_AppComponent0._expr_11, Decl(complexNarrowingWithAny.ts, 304, 26)) + + /*private*/ _expr_12:any; +>_expr_12 : Symbol(_View_AppComponent0._expr_12, Decl(complexNarrowingWithAny.ts, 305, 27)) + + /*private*/ _expr_13:any; +>_expr_13 : Symbol(_View_AppComponent0._expr_13, Decl(complexNarrowingWithAny.ts, 306, 27)) + + /*private*/ _expr_14:any; +>_expr_14 : Symbol(_View_AppComponent0._expr_14, Decl(complexNarrowingWithAny.ts, 307, 27)) + + /*private*/ _expr_15:any; +>_expr_15 : Symbol(_View_AppComponent0._expr_15, Decl(complexNarrowingWithAny.ts, 308, 27)) + + /*private*/ _expr_16:any; +>_expr_16 : Symbol(_View_AppComponent0._expr_16, Decl(complexNarrowingWithAny.ts, 309, 27)) + + /*private*/ _expr_17:any; +>_expr_17 : Symbol(_View_AppComponent0._expr_17, Decl(complexNarrowingWithAny.ts, 310, 27)) + + /*private*/ _expr_20:any; +>_expr_20 : Symbol(_View_AppComponent0._expr_20, Decl(complexNarrowingWithAny.ts, 311, 27)) + + /*private*/ _expr_21:any; +>_expr_21 : Symbol(_View_AppComponent0._expr_21, Decl(complexNarrowingWithAny.ts, 312, 27)) + + /*private*/ _expr_22:any; +>_expr_22 : Symbol(_View_AppComponent0._expr_22, Decl(complexNarrowingWithAny.ts, 313, 27)) + + /*private*/ _expr_23:any; +>_expr_23 : Symbol(_View_AppComponent0._expr_23, Decl(complexNarrowingWithAny.ts, 314, 27)) + + /*private*/ _expr_24:any; +>_expr_24 : Symbol(_View_AppComponent0._expr_24, Decl(complexNarrowingWithAny.ts, 315, 27)) + + /*private*/ _expr_25:any; +>_expr_25 : Symbol(_View_AppComponent0._expr_25, Decl(complexNarrowingWithAny.ts, 316, 27)) + + /*private*/ _expr_26:any; +>_expr_26 : Symbol(_View_AppComponent0._expr_26, Decl(complexNarrowingWithAny.ts, 317, 27)) + + /*private*/ _expr_29:any; +>_expr_29 : Symbol(_View_AppComponent0._expr_29, Decl(complexNarrowingWithAny.ts, 318, 27)) + + /*private*/ _expr_30:any; +>_expr_30 : Symbol(_View_AppComponent0._expr_30, Decl(complexNarrowingWithAny.ts, 319, 27)) + + /*private*/ _expr_31:any; +>_expr_31 : Symbol(_View_AppComponent0._expr_31, Decl(complexNarrowingWithAny.ts, 320, 27)) + + /*private*/ _expr_32:any; +>_expr_32 : Symbol(_View_AppComponent0._expr_32, Decl(complexNarrowingWithAny.ts, 321, 27)) + + /*private*/ _expr_33:any; +>_expr_33 : Symbol(_View_AppComponent0._expr_33, Decl(complexNarrowingWithAny.ts, 322, 27)) + + /*private*/ _expr_34:any; +>_expr_34 : Symbol(_View_AppComponent0._expr_34, Decl(complexNarrowingWithAny.ts, 323, 27)) + + /*private*/ _expr_35:any; +>_expr_35 : Symbol(_View_AppComponent0._expr_35, Decl(complexNarrowingWithAny.ts, 324, 27)) + + /*private*/ _expr_38:any; +>_expr_38 : Symbol(_View_AppComponent0._expr_38, Decl(complexNarrowingWithAny.ts, 325, 27)) + + /*private*/ _expr_39:any; +>_expr_39 : Symbol(_View_AppComponent0._expr_39, Decl(complexNarrowingWithAny.ts, 326, 27)) + + /*private*/ _expr_40:any; +>_expr_40 : Symbol(_View_AppComponent0._expr_40, Decl(complexNarrowingWithAny.ts, 327, 27)) + + /*private*/ _expr_41:any; +>_expr_41 : Symbol(_View_AppComponent0._expr_41, Decl(complexNarrowingWithAny.ts, 328, 27)) + + /*private*/ _expr_42:any; +>_expr_42 : Symbol(_View_AppComponent0._expr_42, Decl(complexNarrowingWithAny.ts, 329, 27)) + + /*private*/ _expr_43:any; +>_expr_43 : Symbol(_View_AppComponent0._expr_43, Decl(complexNarrowingWithAny.ts, 330, 27)) + + /*private*/ _expr_44:any; +>_expr_44 : Symbol(_View_AppComponent0._expr_44, Decl(complexNarrowingWithAny.ts, 331, 27)) + + /*private*/ _expr_47:any; +>_expr_47 : Symbol(_View_AppComponent0._expr_47, Decl(complexNarrowingWithAny.ts, 332, 27)) + + /*private*/ _expr_48:any; +>_expr_48 : Symbol(_View_AppComponent0._expr_48, Decl(complexNarrowingWithAny.ts, 333, 27)) + + /*private*/ _expr_49:any; +>_expr_49 : Symbol(_View_AppComponent0._expr_49, Decl(complexNarrowingWithAny.ts, 334, 27)) + + /*private*/ _expr_50:any; +>_expr_50 : Symbol(_View_AppComponent0._expr_50, Decl(complexNarrowingWithAny.ts, 335, 27)) + + /*private*/ _expr_51:any; +>_expr_51 : Symbol(_View_AppComponent0._expr_51, Decl(complexNarrowingWithAny.ts, 336, 27)) + + /*private*/ _expr_52:any; +>_expr_52 : Symbol(_View_AppComponent0._expr_52, Decl(complexNarrowingWithAny.ts, 337, 27)) + + /*private*/ _expr_53:any; +>_expr_53 : Symbol(_View_AppComponent0._expr_53, Decl(complexNarrowingWithAny.ts, 338, 27)) + + /*private*/ _expr_56:any; +>_expr_56 : Symbol(_View_AppComponent0._expr_56, Decl(complexNarrowingWithAny.ts, 339, 27)) + + /*private*/ _expr_57:any; +>_expr_57 : Symbol(_View_AppComponent0._expr_57, Decl(complexNarrowingWithAny.ts, 340, 27)) + + /*private*/ _expr_58:any; +>_expr_58 : Symbol(_View_AppComponent0._expr_58, Decl(complexNarrowingWithAny.ts, 341, 27)) + + /*private*/ _expr_59:any; +>_expr_59 : Symbol(_View_AppComponent0._expr_59, Decl(complexNarrowingWithAny.ts, 342, 27)) + + /*private*/ _expr_60:any; +>_expr_60 : Symbol(_View_AppComponent0._expr_60, Decl(complexNarrowingWithAny.ts, 343, 27)) + + /*private*/ _expr_61:any; +>_expr_61 : Symbol(_View_AppComponent0._expr_61, Decl(complexNarrowingWithAny.ts, 344, 27)) + + /*private*/ _expr_62:any; +>_expr_62 : Symbol(_View_AppComponent0._expr_62, Decl(complexNarrowingWithAny.ts, 345, 27)) + + /*private*/ _expr_65:any; +>_expr_65 : Symbol(_View_AppComponent0._expr_65, Decl(complexNarrowingWithAny.ts, 346, 27)) + + /*private*/ _expr_66:any; +>_expr_66 : Symbol(_View_AppComponent0._expr_66, Decl(complexNarrowingWithAny.ts, 347, 27)) + + /*private*/ _expr_67:any; +>_expr_67 : Symbol(_View_AppComponent0._expr_67, Decl(complexNarrowingWithAny.ts, 348, 27)) + + /*private*/ _expr_68:any; +>_expr_68 : Symbol(_View_AppComponent0._expr_68, Decl(complexNarrowingWithAny.ts, 349, 27)) + + /*private*/ _expr_69:any; +>_expr_69 : Symbol(_View_AppComponent0._expr_69, Decl(complexNarrowingWithAny.ts, 350, 27)) + + /*private*/ _expr_70:any; +>_expr_70 : Symbol(_View_AppComponent0._expr_70, Decl(complexNarrowingWithAny.ts, 351, 27)) + + /*private*/ _expr_71:any; +>_expr_71 : Symbol(_View_AppComponent0._expr_71, Decl(complexNarrowingWithAny.ts, 352, 27)) + + /*private*/ _expr_74:any; +>_expr_74 : Symbol(_View_AppComponent0._expr_74, Decl(complexNarrowingWithAny.ts, 353, 27)) + + /*private*/ _expr_75:any; +>_expr_75 : Symbol(_View_AppComponent0._expr_75, Decl(complexNarrowingWithAny.ts, 354, 27)) + + /*private*/ _expr_76:any; +>_expr_76 : Symbol(_View_AppComponent0._expr_76, Decl(complexNarrowingWithAny.ts, 355, 27)) + + /*private*/ _expr_77:any; +>_expr_77 : Symbol(_View_AppComponent0._expr_77, Decl(complexNarrowingWithAny.ts, 356, 27)) + + /*private*/ _expr_78:any; +>_expr_78 : Symbol(_View_AppComponent0._expr_78, Decl(complexNarrowingWithAny.ts, 357, 27)) + + /*private*/ _expr_79:any; +>_expr_79 : Symbol(_View_AppComponent0._expr_79, Decl(complexNarrowingWithAny.ts, 358, 27)) + + /*private*/ _expr_80:any; +>_expr_80 : Symbol(_View_AppComponent0._expr_80, Decl(complexNarrowingWithAny.ts, 359, 27)) + + /*private*/ _expr_83:any; +>_expr_83 : Symbol(_View_AppComponent0._expr_83, Decl(complexNarrowingWithAny.ts, 360, 27)) + + /*private*/ _expr_84:any; +>_expr_84 : Symbol(_View_AppComponent0._expr_84, Decl(complexNarrowingWithAny.ts, 361, 27)) + + /*private*/ _expr_85:any; +>_expr_85 : Symbol(_View_AppComponent0._expr_85, Decl(complexNarrowingWithAny.ts, 362, 27)) + + /*private*/ _expr_86:any; +>_expr_86 : Symbol(_View_AppComponent0._expr_86, Decl(complexNarrowingWithAny.ts, 363, 27)) + + /*private*/ _expr_87:any; +>_expr_87 : Symbol(_View_AppComponent0._expr_87, Decl(complexNarrowingWithAny.ts, 364, 27)) + + /*private*/ _expr_88:any; +>_expr_88 : Symbol(_View_AppComponent0._expr_88, Decl(complexNarrowingWithAny.ts, 365, 27)) + + /*private*/ _expr_89:any; +>_expr_89 : Symbol(_View_AppComponent0._expr_89, Decl(complexNarrowingWithAny.ts, 366, 27)) + + /*private*/ _expr_92:any; +>_expr_92 : Symbol(_View_AppComponent0._expr_92, Decl(complexNarrowingWithAny.ts, 367, 27)) + + /*private*/ _expr_93:any; +>_expr_93 : Symbol(_View_AppComponent0._expr_93, Decl(complexNarrowingWithAny.ts, 368, 27)) + + /*private*/ _expr_94:any; +>_expr_94 : Symbol(_View_AppComponent0._expr_94, Decl(complexNarrowingWithAny.ts, 369, 27)) + + /*private*/ _expr_95:any; +>_expr_95 : Symbol(_View_AppComponent0._expr_95, Decl(complexNarrowingWithAny.ts, 370, 27)) + + /*private*/ _expr_96:any; +>_expr_96 : Symbol(_View_AppComponent0._expr_96, Decl(complexNarrowingWithAny.ts, 371, 27)) + + /*private*/ _expr_97:any; +>_expr_97 : Symbol(_View_AppComponent0._expr_97, Decl(complexNarrowingWithAny.ts, 372, 27)) + + /*private*/ _expr_98:any; +>_expr_98 : Symbol(_View_AppComponent0._expr_98, Decl(complexNarrowingWithAny.ts, 373, 27)) + + /*private*/ _expr_101:any; +>_expr_101 : Symbol(_View_AppComponent0._expr_101, Decl(complexNarrowingWithAny.ts, 374, 27)) + + /*private*/ _expr_102:any; +>_expr_102 : Symbol(_View_AppComponent0._expr_102, Decl(complexNarrowingWithAny.ts, 375, 28)) + + /*private*/ _expr_103:any; +>_expr_103 : Symbol(_View_AppComponent0._expr_103, Decl(complexNarrowingWithAny.ts, 376, 28)) + + /*private*/ _expr_104:any; +>_expr_104 : Symbol(_View_AppComponent0._expr_104, Decl(complexNarrowingWithAny.ts, 377, 28)) + + /*private*/ _expr_105:any; +>_expr_105 : Symbol(_View_AppComponent0._expr_105, Decl(complexNarrowingWithAny.ts, 378, 28)) + + /*private*/ _expr_106:any; +>_expr_106 : Symbol(_View_AppComponent0._expr_106, Decl(complexNarrowingWithAny.ts, 379, 28)) + + /*private*/ _expr_107:any; +>_expr_107 : Symbol(_View_AppComponent0._expr_107, Decl(complexNarrowingWithAny.ts, 380, 28)) + + /*private*/ _expr_110:any; +>_expr_110 : Symbol(_View_AppComponent0._expr_110, Decl(complexNarrowingWithAny.ts, 381, 28)) + + /*private*/ _expr_111:any; +>_expr_111 : Symbol(_View_AppComponent0._expr_111, Decl(complexNarrowingWithAny.ts, 382, 28)) + + /*private*/ _expr_112:any; +>_expr_112 : Symbol(_View_AppComponent0._expr_112, Decl(complexNarrowingWithAny.ts, 383, 28)) + + /*private*/ _expr_113:any; +>_expr_113 : Symbol(_View_AppComponent0._expr_113, Decl(complexNarrowingWithAny.ts, 384, 28)) + + /*private*/ _expr_114:any; +>_expr_114 : Symbol(_View_AppComponent0._expr_114, Decl(complexNarrowingWithAny.ts, 385, 28)) + + /*private*/ _expr_115:any; +>_expr_115 : Symbol(_View_AppComponent0._expr_115, Decl(complexNarrowingWithAny.ts, 386, 28)) + + /*private*/ _expr_116:any; +>_expr_116 : Symbol(_View_AppComponent0._expr_116, Decl(complexNarrowingWithAny.ts, 387, 28)) + + /*private*/ _expr_119:any; +>_expr_119 : Symbol(_View_AppComponent0._expr_119, Decl(complexNarrowingWithAny.ts, 388, 28)) + + /*private*/ _expr_120:any; +>_expr_120 : Symbol(_View_AppComponent0._expr_120, Decl(complexNarrowingWithAny.ts, 389, 28)) + + /*private*/ _expr_121:any; +>_expr_121 : Symbol(_View_AppComponent0._expr_121, Decl(complexNarrowingWithAny.ts, 390, 28)) + + /*private*/ _expr_122:any; +>_expr_122 : Symbol(_View_AppComponent0._expr_122, Decl(complexNarrowingWithAny.ts, 391, 28)) + + /*private*/ _expr_123:any; +>_expr_123 : Symbol(_View_AppComponent0._expr_123, Decl(complexNarrowingWithAny.ts, 392, 28)) + + /*private*/ _expr_124:any; +>_expr_124 : Symbol(_View_AppComponent0._expr_124, Decl(complexNarrowingWithAny.ts, 393, 28)) + + /*private*/ _expr_125:any; +>_expr_125 : Symbol(_View_AppComponent0._expr_125, Decl(complexNarrowingWithAny.ts, 394, 28)) + + /*private*/ _expr_128:any; +>_expr_128 : Symbol(_View_AppComponent0._expr_128, Decl(complexNarrowingWithAny.ts, 395, 28)) + + /*private*/ _expr_129:any; +>_expr_129 : Symbol(_View_AppComponent0._expr_129, Decl(complexNarrowingWithAny.ts, 396, 28)) + + /*private*/ _expr_130:any; +>_expr_130 : Symbol(_View_AppComponent0._expr_130, Decl(complexNarrowingWithAny.ts, 397, 28)) + + /*private*/ _expr_131:any; +>_expr_131 : Symbol(_View_AppComponent0._expr_131, Decl(complexNarrowingWithAny.ts, 398, 28)) + + /*private*/ _expr_132:any; +>_expr_132 : Symbol(_View_AppComponent0._expr_132, Decl(complexNarrowingWithAny.ts, 399, 28)) + + /*private*/ _expr_133:any; +>_expr_133 : Symbol(_View_AppComponent0._expr_133, Decl(complexNarrowingWithAny.ts, 400, 28)) + + /*private*/ _expr_134:any; +>_expr_134 : Symbol(_View_AppComponent0._expr_134, Decl(complexNarrowingWithAny.ts, 401, 28)) + + /*private*/ _expr_137:any; +>_expr_137 : Symbol(_View_AppComponent0._expr_137, Decl(complexNarrowingWithAny.ts, 402, 28)) + + /*private*/ _expr_138:any; +>_expr_138 : Symbol(_View_AppComponent0._expr_138, Decl(complexNarrowingWithAny.ts, 403, 28)) + + /*private*/ _expr_139:any; +>_expr_139 : Symbol(_View_AppComponent0._expr_139, Decl(complexNarrowingWithAny.ts, 404, 28)) + + /*private*/ _expr_140:any; +>_expr_140 : Symbol(_View_AppComponent0._expr_140, Decl(complexNarrowingWithAny.ts, 405, 28)) + + /*private*/ _expr_141:any; +>_expr_141 : Symbol(_View_AppComponent0._expr_141, Decl(complexNarrowingWithAny.ts, 406, 28)) + + /*private*/ _expr_142:any; +>_expr_142 : Symbol(_View_AppComponent0._expr_142, Decl(complexNarrowingWithAny.ts, 407, 28)) + + /*private*/ _expr_143:any; +>_expr_143 : Symbol(_View_AppComponent0._expr_143, Decl(complexNarrowingWithAny.ts, 408, 28)) + + /*private*/ _expr_146:any; +>_expr_146 : Symbol(_View_AppComponent0._expr_146, Decl(complexNarrowingWithAny.ts, 409, 28)) + + /*private*/ _expr_147:any; +>_expr_147 : Symbol(_View_AppComponent0._expr_147, Decl(complexNarrowingWithAny.ts, 410, 28)) + + /*private*/ _expr_148:any; +>_expr_148 : Symbol(_View_AppComponent0._expr_148, Decl(complexNarrowingWithAny.ts, 411, 28)) + + /*private*/ _expr_149:any; +>_expr_149 : Symbol(_View_AppComponent0._expr_149, Decl(complexNarrowingWithAny.ts, 412, 28)) + + /*private*/ _expr_150:any; +>_expr_150 : Symbol(_View_AppComponent0._expr_150, Decl(complexNarrowingWithAny.ts, 413, 28)) + + /*private*/ _expr_151:any; +>_expr_151 : Symbol(_View_AppComponent0._expr_151, Decl(complexNarrowingWithAny.ts, 414, 28)) + + /*private*/ _expr_152:any; +>_expr_152 : Symbol(_View_AppComponent0._expr_152, Decl(complexNarrowingWithAny.ts, 415, 28)) + + /*private*/ _expr_155:any; +>_expr_155 : Symbol(_View_AppComponent0._expr_155, Decl(complexNarrowingWithAny.ts, 416, 28)) + + /*private*/ _expr_156:any; +>_expr_156 : Symbol(_View_AppComponent0._expr_156, Decl(complexNarrowingWithAny.ts, 417, 28)) + + /*private*/ _expr_157:any; +>_expr_157 : Symbol(_View_AppComponent0._expr_157, Decl(complexNarrowingWithAny.ts, 418, 28)) + + /*private*/ _expr_158:any; +>_expr_158 : Symbol(_View_AppComponent0._expr_158, Decl(complexNarrowingWithAny.ts, 419, 28)) + + /*private*/ _expr_159:any; +>_expr_159 : Symbol(_View_AppComponent0._expr_159, Decl(complexNarrowingWithAny.ts, 420, 28)) + + /*private*/ _expr_160:any; +>_expr_160 : Symbol(_View_AppComponent0._expr_160, Decl(complexNarrowingWithAny.ts, 421, 28)) + + /*private*/ _expr_161:any; +>_expr_161 : Symbol(_View_AppComponent0._expr_161, Decl(complexNarrowingWithAny.ts, 422, 28)) + + /*private*/ _expr_164:any; +>_expr_164 : Symbol(_View_AppComponent0._expr_164, Decl(complexNarrowingWithAny.ts, 423, 28)) + + /*private*/ _expr_165:any; +>_expr_165 : Symbol(_View_AppComponent0._expr_165, Decl(complexNarrowingWithAny.ts, 424, 28)) + + /*private*/ _expr_166:any; +>_expr_166 : Symbol(_View_AppComponent0._expr_166, Decl(complexNarrowingWithAny.ts, 425, 28)) + + /*private*/ _expr_167:any; +>_expr_167 : Symbol(_View_AppComponent0._expr_167, Decl(complexNarrowingWithAny.ts, 426, 28)) + + /*private*/ _expr_168:any; +>_expr_168 : Symbol(_View_AppComponent0._expr_168, Decl(complexNarrowingWithAny.ts, 427, 28)) + + /*private*/ _expr_169:any; +>_expr_169 : Symbol(_View_AppComponent0._expr_169, Decl(complexNarrowingWithAny.ts, 428, 28)) + + /*private*/ _expr_170:any; +>_expr_170 : Symbol(_View_AppComponent0._expr_170, Decl(complexNarrowingWithAny.ts, 429, 28)) + + /*private*/ _expr_173:any; +>_expr_173 : Symbol(_View_AppComponent0._expr_173, Decl(complexNarrowingWithAny.ts, 430, 28)) + + /*private*/ _expr_174:any; +>_expr_174 : Symbol(_View_AppComponent0._expr_174, Decl(complexNarrowingWithAny.ts, 431, 28)) + + /*private*/ _expr_175:any; +>_expr_175 : Symbol(_View_AppComponent0._expr_175, Decl(complexNarrowingWithAny.ts, 432, 28)) + + /*private*/ _expr_176:any; +>_expr_176 : Symbol(_View_AppComponent0._expr_176, Decl(complexNarrowingWithAny.ts, 433, 28)) + + /*private*/ _expr_177:any; +>_expr_177 : Symbol(_View_AppComponent0._expr_177, Decl(complexNarrowingWithAny.ts, 434, 28)) + + /*private*/ _expr_178:any; +>_expr_178 : Symbol(_View_AppComponent0._expr_178, Decl(complexNarrowingWithAny.ts, 435, 28)) + + /*private*/ _expr_179:any; +>_expr_179 : Symbol(_View_AppComponent0._expr_179, Decl(complexNarrowingWithAny.ts, 436, 28)) + + /*private*/ _expr_182:any; +>_expr_182 : Symbol(_View_AppComponent0._expr_182, Decl(complexNarrowingWithAny.ts, 437, 28)) + + /*private*/ _expr_183:any; +>_expr_183 : Symbol(_View_AppComponent0._expr_183, Decl(complexNarrowingWithAny.ts, 438, 28)) + + /*private*/ _expr_184:any; +>_expr_184 : Symbol(_View_AppComponent0._expr_184, Decl(complexNarrowingWithAny.ts, 439, 28)) + + /*private*/ _expr_185:any; +>_expr_185 : Symbol(_View_AppComponent0._expr_185, Decl(complexNarrowingWithAny.ts, 440, 28)) + + /*private*/ _expr_186:any; +>_expr_186 : Symbol(_View_AppComponent0._expr_186, Decl(complexNarrowingWithAny.ts, 441, 28)) + + /*private*/ _expr_187:any; +>_expr_187 : Symbol(_View_AppComponent0._expr_187, Decl(complexNarrowingWithAny.ts, 442, 28)) + + /*private*/ _expr_188:any; +>_expr_188 : Symbol(_View_AppComponent0._expr_188, Decl(complexNarrowingWithAny.ts, 443, 28)) + + constructor(viewUtils:any,parentInjector:any,declarationEl:any) { +>viewUtils : Symbol(viewUtils, Decl(complexNarrowingWithAny.ts, 445, 14)) +>parentInjector : Symbol(parentInjector, Decl(complexNarrowingWithAny.ts, 445, 28)) +>declarationEl : Symbol(declarationEl, Decl(complexNarrowingWithAny.ts, 445, 47)) + } + + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { +>injectorGetInternal : Symbol(_View_AppComponent0.injectorGetInternal, Decl(complexNarrowingWithAny.ts, 446, 3)) +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>notFoundResult : Symbol(notFoundResult, Decl(complexNarrowingWithAny.ts, 448, 56)) + + if (((token === import46.DefaultValueAccessor) && (3 === requestNodeIndex))) { return this._DefaultValueAccessor_3_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_3_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_3_3, Decl(complexNarrowingWithAny.ts, 137, 12)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_3_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_3_3, Decl(complexNarrowingWithAny.ts, 137, 12)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_3_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_3_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_3_4, Decl(complexNarrowingWithAny.ts, 138, 58)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_3_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_3_4, Decl(complexNarrowingWithAny.ts, 138, 58)) + + if (((token === import47.FormControlName) && (3 === requestNodeIndex))) { return this._FormControlName_3_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_3_5 : Symbol(_View_AppComponent0._FormControlName_3_5, Decl(complexNarrowingWithAny.ts, 139, 31)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_3_5 : Symbol(_View_AppComponent0._FormControlName_3_5, Decl(complexNarrowingWithAny.ts, 139, 31)) + + if (((token === import50.NgControl) && (3 === requestNodeIndex))) { return this._NgControl_3_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_3_6 : Symbol(_View_AppComponent0._NgControl_3_6, Decl(complexNarrowingWithAny.ts, 140, 48)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_3_6 : Symbol(_View_AppComponent0._NgControl_3_6, Decl(complexNarrowingWithAny.ts, 140, 48)) + + if (((token === import45.NgControlStatus) && (3 === requestNodeIndex))) { return this._NgControlStatus_3_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_3_7 : Symbol(_View_AppComponent0._NgControlStatus_3_7, Decl(complexNarrowingWithAny.ts, 141, 21)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_3_7 : Symbol(_View_AppComponent0._NgControlStatus_3_7, Decl(complexNarrowingWithAny.ts, 141, 21)) + + if (((token === import46.DefaultValueAccessor) && (6 === requestNodeIndex))) { return this._DefaultValueAccessor_6_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_6_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_6_3, Decl(complexNarrowingWithAny.ts, 145, 12)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_6_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_6_3, Decl(complexNarrowingWithAny.ts, 145, 12)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_6_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_6_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_6_4, Decl(complexNarrowingWithAny.ts, 146, 58)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_6_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_6_4, Decl(complexNarrowingWithAny.ts, 146, 58)) + + if (((token === import47.FormControlName) && (6 === requestNodeIndex))) { return this._FormControlName_6_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_6_5 : Symbol(_View_AppComponent0._FormControlName_6_5, Decl(complexNarrowingWithAny.ts, 147, 31)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_6_5 : Symbol(_View_AppComponent0._FormControlName_6_5, Decl(complexNarrowingWithAny.ts, 147, 31)) + + if (((token === import50.NgControl) && (6 === requestNodeIndex))) { return this._NgControl_6_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_6_6 : Symbol(_View_AppComponent0._NgControl_6_6, Decl(complexNarrowingWithAny.ts, 148, 48)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_6_6 : Symbol(_View_AppComponent0._NgControl_6_6, Decl(complexNarrowingWithAny.ts, 148, 48)) + + if (((token === import45.NgControlStatus) && (6 === requestNodeIndex))) { return this._NgControlStatus_6_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_6_7 : Symbol(_View_AppComponent0._NgControlStatus_6_7, Decl(complexNarrowingWithAny.ts, 149, 21)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_6_7 : Symbol(_View_AppComponent0._NgControlStatus_6_7, Decl(complexNarrowingWithAny.ts, 149, 21)) + + if (((token === import46.DefaultValueAccessor) && (9 === requestNodeIndex))) { return this._DefaultValueAccessor_9_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_9_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_9_3, Decl(complexNarrowingWithAny.ts, 153, 12)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_9_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_9_3, Decl(complexNarrowingWithAny.ts, 153, 12)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_9_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_9_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_9_4, Decl(complexNarrowingWithAny.ts, 154, 58)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_9_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_9_4, Decl(complexNarrowingWithAny.ts, 154, 58)) + + if (((token === import47.FormControlName) && (9 === requestNodeIndex))) { return this._FormControlName_9_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_9_5 : Symbol(_View_AppComponent0._FormControlName_9_5, Decl(complexNarrowingWithAny.ts, 155, 31)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_9_5 : Symbol(_View_AppComponent0._FormControlName_9_5, Decl(complexNarrowingWithAny.ts, 155, 31)) + + if (((token === import50.NgControl) && (9 === requestNodeIndex))) { return this._NgControl_9_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_9_6 : Symbol(_View_AppComponent0._NgControl_9_6, Decl(complexNarrowingWithAny.ts, 156, 48)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_9_6 : Symbol(_View_AppComponent0._NgControl_9_6, Decl(complexNarrowingWithAny.ts, 156, 48)) + + if (((token === import45.NgControlStatus) && (9 === requestNodeIndex))) { return this._NgControlStatus_9_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_9_7 : Symbol(_View_AppComponent0._NgControlStatus_9_7, Decl(complexNarrowingWithAny.ts, 157, 21)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_9_7 : Symbol(_View_AppComponent0._NgControlStatus_9_7, Decl(complexNarrowingWithAny.ts, 157, 21)) + + if (((token === import46.DefaultValueAccessor) && (12 === requestNodeIndex))) { return this._DefaultValueAccessor_12_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_12_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_12_3, Decl(complexNarrowingWithAny.ts, 161, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_12_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_12_3, Decl(complexNarrowingWithAny.ts, 161, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_12_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_12_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_12_4, Decl(complexNarrowingWithAny.ts, 162, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_12_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_12_4, Decl(complexNarrowingWithAny.ts, 162, 59)) + + if (((token === import47.FormControlName) && (12 === requestNodeIndex))) { return this._FormControlName_12_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_12_5 : Symbol(_View_AppComponent0._FormControlName_12_5, Decl(complexNarrowingWithAny.ts, 163, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_12_5 : Symbol(_View_AppComponent0._FormControlName_12_5, Decl(complexNarrowingWithAny.ts, 163, 32)) + + if (((token === import50.NgControl) && (12 === requestNodeIndex))) { return this._NgControl_12_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_12_6 : Symbol(_View_AppComponent0._NgControl_12_6, Decl(complexNarrowingWithAny.ts, 164, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_12_6 : Symbol(_View_AppComponent0._NgControl_12_6, Decl(complexNarrowingWithAny.ts, 164, 49)) + + if (((token === import45.NgControlStatus) && (12 === requestNodeIndex))) { return this._NgControlStatus_12_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_12_7 : Symbol(_View_AppComponent0._NgControlStatus_12_7, Decl(complexNarrowingWithAny.ts, 165, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_12_7 : Symbol(_View_AppComponent0._NgControlStatus_12_7, Decl(complexNarrowingWithAny.ts, 165, 22)) + + if (((token === import46.DefaultValueAccessor) && (15 === requestNodeIndex))) { return this._DefaultValueAccessor_15_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_15_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_15_3, Decl(complexNarrowingWithAny.ts, 169, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_15_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_15_3, Decl(complexNarrowingWithAny.ts, 169, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_15_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_15_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_15_4, Decl(complexNarrowingWithAny.ts, 170, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_15_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_15_4, Decl(complexNarrowingWithAny.ts, 170, 59)) + + if (((token === import47.FormControlName) && (15 === requestNodeIndex))) { return this._FormControlName_15_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_15_5 : Symbol(_View_AppComponent0._FormControlName_15_5, Decl(complexNarrowingWithAny.ts, 171, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_15_5 : Symbol(_View_AppComponent0._FormControlName_15_5, Decl(complexNarrowingWithAny.ts, 171, 32)) + + if (((token === import50.NgControl) && (15 === requestNodeIndex))) { return this._NgControl_15_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_15_6 : Symbol(_View_AppComponent0._NgControl_15_6, Decl(complexNarrowingWithAny.ts, 172, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_15_6 : Symbol(_View_AppComponent0._NgControl_15_6, Decl(complexNarrowingWithAny.ts, 172, 49)) + + if (((token === import45.NgControlStatus) && (15 === requestNodeIndex))) { return this._NgControlStatus_15_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_15_7 : Symbol(_View_AppComponent0._NgControlStatus_15_7, Decl(complexNarrowingWithAny.ts, 173, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_15_7 : Symbol(_View_AppComponent0._NgControlStatus_15_7, Decl(complexNarrowingWithAny.ts, 173, 22)) + + if (((token === import46.DefaultValueAccessor) && (18 === requestNodeIndex))) { return this._DefaultValueAccessor_18_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_18_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_18_3, Decl(complexNarrowingWithAny.ts, 177, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_18_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_18_3, Decl(complexNarrowingWithAny.ts, 177, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_18_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_18_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_18_4, Decl(complexNarrowingWithAny.ts, 178, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_18_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_18_4, Decl(complexNarrowingWithAny.ts, 178, 59)) + + if (((token === import47.FormControlName) && (18 === requestNodeIndex))) { return this._FormControlName_18_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_18_5 : Symbol(_View_AppComponent0._FormControlName_18_5, Decl(complexNarrowingWithAny.ts, 179, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_18_5 : Symbol(_View_AppComponent0._FormControlName_18_5, Decl(complexNarrowingWithAny.ts, 179, 32)) + + if (((token === import50.NgControl) && (18 === requestNodeIndex))) { return this._NgControl_18_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_18_6 : Symbol(_View_AppComponent0._NgControl_18_6, Decl(complexNarrowingWithAny.ts, 180, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_18_6 : Symbol(_View_AppComponent0._NgControl_18_6, Decl(complexNarrowingWithAny.ts, 180, 49)) + + if (((token === import45.NgControlStatus) && (18 === requestNodeIndex))) { return this._NgControlStatus_18_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_18_7 : Symbol(_View_AppComponent0._NgControlStatus_18_7, Decl(complexNarrowingWithAny.ts, 181, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_18_7 : Symbol(_View_AppComponent0._NgControlStatus_18_7, Decl(complexNarrowingWithAny.ts, 181, 22)) + + if (((token === import46.DefaultValueAccessor) && (21 === requestNodeIndex))) { return this._DefaultValueAccessor_21_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_21_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_21_3, Decl(complexNarrowingWithAny.ts, 185, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_21_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_21_3, Decl(complexNarrowingWithAny.ts, 185, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_21_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_21_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_21_4, Decl(complexNarrowingWithAny.ts, 186, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_21_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_21_4, Decl(complexNarrowingWithAny.ts, 186, 59)) + + if (((token === import47.FormControlName) && (21 === requestNodeIndex))) { return this._FormControlName_21_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_21_5 : Symbol(_View_AppComponent0._FormControlName_21_5, Decl(complexNarrowingWithAny.ts, 187, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_21_5 : Symbol(_View_AppComponent0._FormControlName_21_5, Decl(complexNarrowingWithAny.ts, 187, 32)) + + if (((token === import50.NgControl) && (21 === requestNodeIndex))) { return this._NgControl_21_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_21_6 : Symbol(_View_AppComponent0._NgControl_21_6, Decl(complexNarrowingWithAny.ts, 188, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_21_6 : Symbol(_View_AppComponent0._NgControl_21_6, Decl(complexNarrowingWithAny.ts, 188, 49)) + + if (((token === import45.NgControlStatus) && (21 === requestNodeIndex))) { return this._NgControlStatus_21_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_21_7 : Symbol(_View_AppComponent0._NgControlStatus_21_7, Decl(complexNarrowingWithAny.ts, 189, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_21_7 : Symbol(_View_AppComponent0._NgControlStatus_21_7, Decl(complexNarrowingWithAny.ts, 189, 22)) + + if (((token === import46.DefaultValueAccessor) && (24 === requestNodeIndex))) { return this._DefaultValueAccessor_24_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_24_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_24_3, Decl(complexNarrowingWithAny.ts, 193, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_24_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_24_3, Decl(complexNarrowingWithAny.ts, 193, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_24_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_24_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_24_4, Decl(complexNarrowingWithAny.ts, 194, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_24_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_24_4, Decl(complexNarrowingWithAny.ts, 194, 59)) + + if (((token === import47.FormControlName) && (24 === requestNodeIndex))) { return this._FormControlName_24_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_24_5 : Symbol(_View_AppComponent0._FormControlName_24_5, Decl(complexNarrowingWithAny.ts, 195, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_24_5 : Symbol(_View_AppComponent0._FormControlName_24_5, Decl(complexNarrowingWithAny.ts, 195, 32)) + + if (((token === import50.NgControl) && (24 === requestNodeIndex))) { return this._NgControl_24_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_24_6 : Symbol(_View_AppComponent0._NgControl_24_6, Decl(complexNarrowingWithAny.ts, 196, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_24_6 : Symbol(_View_AppComponent0._NgControl_24_6, Decl(complexNarrowingWithAny.ts, 196, 49)) + + if (((token === import45.NgControlStatus) && (24 === requestNodeIndex))) { return this._NgControlStatus_24_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_24_7 : Symbol(_View_AppComponent0._NgControlStatus_24_7, Decl(complexNarrowingWithAny.ts, 197, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_24_7 : Symbol(_View_AppComponent0._NgControlStatus_24_7, Decl(complexNarrowingWithAny.ts, 197, 22)) + + if (((token === import46.DefaultValueAccessor) && (27 === requestNodeIndex))) { return this._DefaultValueAccessor_27_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_27_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_27_3, Decl(complexNarrowingWithAny.ts, 201, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_27_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_27_3, Decl(complexNarrowingWithAny.ts, 201, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_27_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_27_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_27_4, Decl(complexNarrowingWithAny.ts, 202, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_27_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_27_4, Decl(complexNarrowingWithAny.ts, 202, 59)) + + if (((token === import47.FormControlName) && (27 === requestNodeIndex))) { return this._FormControlName_27_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_27_5 : Symbol(_View_AppComponent0._FormControlName_27_5, Decl(complexNarrowingWithAny.ts, 203, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_27_5 : Symbol(_View_AppComponent0._FormControlName_27_5, Decl(complexNarrowingWithAny.ts, 203, 32)) + + if (((token === import50.NgControl) && (27 === requestNodeIndex))) { return this._NgControl_27_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_27_6 : Symbol(_View_AppComponent0._NgControl_27_6, Decl(complexNarrowingWithAny.ts, 204, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_27_6 : Symbol(_View_AppComponent0._NgControl_27_6, Decl(complexNarrowingWithAny.ts, 204, 49)) + + if (((token === import45.NgControlStatus) && (27 === requestNodeIndex))) { return this._NgControlStatus_27_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_27_7 : Symbol(_View_AppComponent0._NgControlStatus_27_7, Decl(complexNarrowingWithAny.ts, 205, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_27_7 : Symbol(_View_AppComponent0._NgControlStatus_27_7, Decl(complexNarrowingWithAny.ts, 205, 22)) + + if (((token === import46.DefaultValueAccessor) && (30 === requestNodeIndex))) { return this._DefaultValueAccessor_30_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_30_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_30_3, Decl(complexNarrowingWithAny.ts, 209, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_30_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_30_3, Decl(complexNarrowingWithAny.ts, 209, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_30_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_30_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_30_4, Decl(complexNarrowingWithAny.ts, 210, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_30_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_30_4, Decl(complexNarrowingWithAny.ts, 210, 59)) + + if (((token === import47.FormControlName) && (30 === requestNodeIndex))) { return this._FormControlName_30_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_30_5 : Symbol(_View_AppComponent0._FormControlName_30_5, Decl(complexNarrowingWithAny.ts, 211, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_30_5 : Symbol(_View_AppComponent0._FormControlName_30_5, Decl(complexNarrowingWithAny.ts, 211, 32)) + + if (((token === import50.NgControl) && (30 === requestNodeIndex))) { return this._NgControl_30_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_30_6 : Symbol(_View_AppComponent0._NgControl_30_6, Decl(complexNarrowingWithAny.ts, 212, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_30_6 : Symbol(_View_AppComponent0._NgControl_30_6, Decl(complexNarrowingWithAny.ts, 212, 49)) + + if (((token === import45.NgControlStatus) && (30 === requestNodeIndex))) { return this._NgControlStatus_30_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_30_7 : Symbol(_View_AppComponent0._NgControlStatus_30_7, Decl(complexNarrowingWithAny.ts, 213, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_30_7 : Symbol(_View_AppComponent0._NgControlStatus_30_7, Decl(complexNarrowingWithAny.ts, 213, 22)) + + if (((token === import46.DefaultValueAccessor) && (33 === requestNodeIndex))) { return this._DefaultValueAccessor_33_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_33_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_33_3, Decl(complexNarrowingWithAny.ts, 217, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_33_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_33_3, Decl(complexNarrowingWithAny.ts, 217, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_33_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_33_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_33_4, Decl(complexNarrowingWithAny.ts, 218, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_33_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_33_4, Decl(complexNarrowingWithAny.ts, 218, 59)) + + if (((token === import47.FormControlName) && (33 === requestNodeIndex))) { return this._FormControlName_33_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_33_5 : Symbol(_View_AppComponent0._FormControlName_33_5, Decl(complexNarrowingWithAny.ts, 219, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_33_5 : Symbol(_View_AppComponent0._FormControlName_33_5, Decl(complexNarrowingWithAny.ts, 219, 32)) + + if (((token === import50.NgControl) && (33 === requestNodeIndex))) { return this._NgControl_33_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_33_6 : Symbol(_View_AppComponent0._NgControl_33_6, Decl(complexNarrowingWithAny.ts, 220, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_33_6 : Symbol(_View_AppComponent0._NgControl_33_6, Decl(complexNarrowingWithAny.ts, 220, 49)) + + if (((token === import45.NgControlStatus) && (33 === requestNodeIndex))) { return this._NgControlStatus_33_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_33_7 : Symbol(_View_AppComponent0._NgControlStatus_33_7, Decl(complexNarrowingWithAny.ts, 221, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_33_7 : Symbol(_View_AppComponent0._NgControlStatus_33_7, Decl(complexNarrowingWithAny.ts, 221, 22)) + + if (((token === import46.DefaultValueAccessor) && (36 === requestNodeIndex))) { return this._DefaultValueAccessor_36_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_36_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_36_3, Decl(complexNarrowingWithAny.ts, 225, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_36_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_36_3, Decl(complexNarrowingWithAny.ts, 225, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_36_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_36_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_36_4, Decl(complexNarrowingWithAny.ts, 226, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_36_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_36_4, Decl(complexNarrowingWithAny.ts, 226, 59)) + + if (((token === import47.FormControlName) && (36 === requestNodeIndex))) { return this._FormControlName_36_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_36_5 : Symbol(_View_AppComponent0._FormControlName_36_5, Decl(complexNarrowingWithAny.ts, 227, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_36_5 : Symbol(_View_AppComponent0._FormControlName_36_5, Decl(complexNarrowingWithAny.ts, 227, 32)) + + if (((token === import50.NgControl) && (36 === requestNodeIndex))) { return this._NgControl_36_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_36_6 : Symbol(_View_AppComponent0._NgControl_36_6, Decl(complexNarrowingWithAny.ts, 228, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_36_6 : Symbol(_View_AppComponent0._NgControl_36_6, Decl(complexNarrowingWithAny.ts, 228, 49)) + + if (((token === import45.NgControlStatus) && (36 === requestNodeIndex))) { return this._NgControlStatus_36_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_36_7 : Symbol(_View_AppComponent0._NgControlStatus_36_7, Decl(complexNarrowingWithAny.ts, 229, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_36_7 : Symbol(_View_AppComponent0._NgControlStatus_36_7, Decl(complexNarrowingWithAny.ts, 229, 22)) + + if (((token === import46.DefaultValueAccessor) && (39 === requestNodeIndex))) { return this._DefaultValueAccessor_39_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_39_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_39_3, Decl(complexNarrowingWithAny.ts, 233, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_39_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_39_3, Decl(complexNarrowingWithAny.ts, 233, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_39_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_39_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_39_4, Decl(complexNarrowingWithAny.ts, 234, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_39_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_39_4, Decl(complexNarrowingWithAny.ts, 234, 59)) + + if (((token === import47.FormControlName) && (39 === requestNodeIndex))) { return this._FormControlName_39_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_39_5 : Symbol(_View_AppComponent0._FormControlName_39_5, Decl(complexNarrowingWithAny.ts, 235, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_39_5 : Symbol(_View_AppComponent0._FormControlName_39_5, Decl(complexNarrowingWithAny.ts, 235, 32)) + + if (((token === import50.NgControl) && (39 === requestNodeIndex))) { return this._NgControl_39_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_39_6 : Symbol(_View_AppComponent0._NgControl_39_6, Decl(complexNarrowingWithAny.ts, 236, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_39_6 : Symbol(_View_AppComponent0._NgControl_39_6, Decl(complexNarrowingWithAny.ts, 236, 49)) + + if (((token === import45.NgControlStatus) && (39 === requestNodeIndex))) { return this._NgControlStatus_39_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_39_7 : Symbol(_View_AppComponent0._NgControlStatus_39_7, Decl(complexNarrowingWithAny.ts, 237, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_39_7 : Symbol(_View_AppComponent0._NgControlStatus_39_7, Decl(complexNarrowingWithAny.ts, 237, 22)) + + if (((token === import46.DefaultValueAccessor) && (42 === requestNodeIndex))) { return this._DefaultValueAccessor_42_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_42_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_42_3, Decl(complexNarrowingWithAny.ts, 241, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_42_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_42_3, Decl(complexNarrowingWithAny.ts, 241, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_42_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_42_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_42_4, Decl(complexNarrowingWithAny.ts, 242, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_42_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_42_4, Decl(complexNarrowingWithAny.ts, 242, 59)) + + if (((token === import47.FormControlName) && (42 === requestNodeIndex))) { return this._FormControlName_42_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_42_5 : Symbol(_View_AppComponent0._FormControlName_42_5, Decl(complexNarrowingWithAny.ts, 243, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_42_5 : Symbol(_View_AppComponent0._FormControlName_42_5, Decl(complexNarrowingWithAny.ts, 243, 32)) + + if (((token === import50.NgControl) && (42 === requestNodeIndex))) { return this._NgControl_42_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_42_6 : Symbol(_View_AppComponent0._NgControl_42_6, Decl(complexNarrowingWithAny.ts, 244, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_42_6 : Symbol(_View_AppComponent0._NgControl_42_6, Decl(complexNarrowingWithAny.ts, 244, 49)) + + if (((token === import45.NgControlStatus) && (42 === requestNodeIndex))) { return this._NgControlStatus_42_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_42_7 : Symbol(_View_AppComponent0._NgControlStatus_42_7, Decl(complexNarrowingWithAny.ts, 245, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_42_7 : Symbol(_View_AppComponent0._NgControlStatus_42_7, Decl(complexNarrowingWithAny.ts, 245, 22)) + + if (((token === import46.DefaultValueAccessor) && (45 === requestNodeIndex))) { return this._DefaultValueAccessor_45_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_45_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_45_3, Decl(complexNarrowingWithAny.ts, 249, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_45_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_45_3, Decl(complexNarrowingWithAny.ts, 249, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_45_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_45_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_45_4, Decl(complexNarrowingWithAny.ts, 250, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_45_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_45_4, Decl(complexNarrowingWithAny.ts, 250, 59)) + + if (((token === import47.FormControlName) && (45 === requestNodeIndex))) { return this._FormControlName_45_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_45_5 : Symbol(_View_AppComponent0._FormControlName_45_5, Decl(complexNarrowingWithAny.ts, 251, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_45_5 : Symbol(_View_AppComponent0._FormControlName_45_5, Decl(complexNarrowingWithAny.ts, 251, 32)) + + if (((token === import50.NgControl) && (45 === requestNodeIndex))) { return this._NgControl_45_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_45_6 : Symbol(_View_AppComponent0._NgControl_45_6, Decl(complexNarrowingWithAny.ts, 252, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_45_6 : Symbol(_View_AppComponent0._NgControl_45_6, Decl(complexNarrowingWithAny.ts, 252, 49)) + + if (((token === import45.NgControlStatus) && (45 === requestNodeIndex))) { return this._NgControlStatus_45_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_45_7 : Symbol(_View_AppComponent0._NgControlStatus_45_7, Decl(complexNarrowingWithAny.ts, 253, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_45_7 : Symbol(_View_AppComponent0._NgControlStatus_45_7, Decl(complexNarrowingWithAny.ts, 253, 22)) + + if (((token === import46.DefaultValueAccessor) && (48 === requestNodeIndex))) { return this._DefaultValueAccessor_48_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_48_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_48_3, Decl(complexNarrowingWithAny.ts, 257, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_48_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_48_3, Decl(complexNarrowingWithAny.ts, 257, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_48_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_48_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_48_4, Decl(complexNarrowingWithAny.ts, 258, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_48_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_48_4, Decl(complexNarrowingWithAny.ts, 258, 59)) + + if (((token === import47.FormControlName) && (48 === requestNodeIndex))) { return this._FormControlName_48_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_48_5 : Symbol(_View_AppComponent0._FormControlName_48_5, Decl(complexNarrowingWithAny.ts, 259, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_48_5 : Symbol(_View_AppComponent0._FormControlName_48_5, Decl(complexNarrowingWithAny.ts, 259, 32)) + + if (((token === import50.NgControl) && (48 === requestNodeIndex))) { return this._NgControl_48_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_48_6 : Symbol(_View_AppComponent0._NgControl_48_6, Decl(complexNarrowingWithAny.ts, 260, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_48_6 : Symbol(_View_AppComponent0._NgControl_48_6, Decl(complexNarrowingWithAny.ts, 260, 49)) + + if (((token === import45.NgControlStatus) && (48 === requestNodeIndex))) { return this._NgControlStatus_48_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_48_7 : Symbol(_View_AppComponent0._NgControlStatus_48_7, Decl(complexNarrowingWithAny.ts, 261, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_48_7 : Symbol(_View_AppComponent0._NgControlStatus_48_7, Decl(complexNarrowingWithAny.ts, 261, 22)) + + if (((token === import46.DefaultValueAccessor) && (51 === requestNodeIndex))) { return this._DefaultValueAccessor_51_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_51_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_51_3, Decl(complexNarrowingWithAny.ts, 265, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_51_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_51_3, Decl(complexNarrowingWithAny.ts, 265, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_51_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_51_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_51_4, Decl(complexNarrowingWithAny.ts, 266, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_51_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_51_4, Decl(complexNarrowingWithAny.ts, 266, 59)) + + if (((token === import47.FormControlName) && (51 === requestNodeIndex))) { return this._FormControlName_51_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_51_5 : Symbol(_View_AppComponent0._FormControlName_51_5, Decl(complexNarrowingWithAny.ts, 267, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_51_5 : Symbol(_View_AppComponent0._FormControlName_51_5, Decl(complexNarrowingWithAny.ts, 267, 32)) + + if (((token === import50.NgControl) && (51 === requestNodeIndex))) { return this._NgControl_51_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_51_6 : Symbol(_View_AppComponent0._NgControl_51_6, Decl(complexNarrowingWithAny.ts, 268, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_51_6 : Symbol(_View_AppComponent0._NgControl_51_6, Decl(complexNarrowingWithAny.ts, 268, 49)) + + if (((token === import45.NgControlStatus) && (51 === requestNodeIndex))) { return this._NgControlStatus_51_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_51_7 : Symbol(_View_AppComponent0._NgControlStatus_51_7, Decl(complexNarrowingWithAny.ts, 269, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_51_7 : Symbol(_View_AppComponent0._NgControlStatus_51_7, Decl(complexNarrowingWithAny.ts, 269, 22)) + + if (((token === import46.DefaultValueAccessor) && (54 === requestNodeIndex))) { return this._DefaultValueAccessor_54_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_54_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_54_3, Decl(complexNarrowingWithAny.ts, 273, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_54_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_54_3, Decl(complexNarrowingWithAny.ts, 273, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_54_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_54_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_54_4, Decl(complexNarrowingWithAny.ts, 274, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_54_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_54_4, Decl(complexNarrowingWithAny.ts, 274, 59)) + + if (((token === import47.FormControlName) && (54 === requestNodeIndex))) { return this._FormControlName_54_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_54_5 : Symbol(_View_AppComponent0._FormControlName_54_5, Decl(complexNarrowingWithAny.ts, 275, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_54_5 : Symbol(_View_AppComponent0._FormControlName_54_5, Decl(complexNarrowingWithAny.ts, 275, 32)) + + if (((token === import50.NgControl) && (54 === requestNodeIndex))) { return this._NgControl_54_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_54_6 : Symbol(_View_AppComponent0._NgControl_54_6, Decl(complexNarrowingWithAny.ts, 276, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_54_6 : Symbol(_View_AppComponent0._NgControl_54_6, Decl(complexNarrowingWithAny.ts, 276, 49)) + + if (((token === import45.NgControlStatus) && (54 === requestNodeIndex))) { return this._NgControlStatus_54_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_54_7 : Symbol(_View_AppComponent0._NgControlStatus_54_7, Decl(complexNarrowingWithAny.ts, 277, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_54_7 : Symbol(_View_AppComponent0._NgControlStatus_54_7, Decl(complexNarrowingWithAny.ts, 277, 22)) + + if (((token === import46.DefaultValueAccessor) && (57 === requestNodeIndex))) { return this._DefaultValueAccessor_57_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_57_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_57_3, Decl(complexNarrowingWithAny.ts, 281, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_57_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_57_3, Decl(complexNarrowingWithAny.ts, 281, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_57_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_57_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_57_4, Decl(complexNarrowingWithAny.ts, 282, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_57_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_57_4, Decl(complexNarrowingWithAny.ts, 282, 59)) + + if (((token === import47.FormControlName) && (57 === requestNodeIndex))) { return this._FormControlName_57_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_57_5 : Symbol(_View_AppComponent0._FormControlName_57_5, Decl(complexNarrowingWithAny.ts, 283, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_57_5 : Symbol(_View_AppComponent0._FormControlName_57_5, Decl(complexNarrowingWithAny.ts, 283, 32)) + + if (((token === import50.NgControl) && (57 === requestNodeIndex))) { return this._NgControl_57_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_57_6 : Symbol(_View_AppComponent0._NgControl_57_6, Decl(complexNarrowingWithAny.ts, 284, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_57_6 : Symbol(_View_AppComponent0._NgControl_57_6, Decl(complexNarrowingWithAny.ts, 284, 49)) + + if (((token === import45.NgControlStatus) && (57 === requestNodeIndex))) { return this._NgControlStatus_57_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_57_7 : Symbol(_View_AppComponent0._NgControlStatus_57_7, Decl(complexNarrowingWithAny.ts, 285, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_57_7 : Symbol(_View_AppComponent0._NgControlStatus_57_7, Decl(complexNarrowingWithAny.ts, 285, 22)) + + if (((token === import46.DefaultValueAccessor) && (60 === requestNodeIndex))) { return this._DefaultValueAccessor_60_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import46.DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>import46 : Symbol(import46, Decl(complexNarrowingWithAny.ts, 76, 1)) +>DefaultValueAccessor : Symbol(import46.DefaultValueAccessor, Decl(complexNarrowingWithAny.ts, 78, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._DefaultValueAccessor_60_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_60_3, Decl(complexNarrowingWithAny.ts, 289, 13)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_DefaultValueAccessor_60_3 : Symbol(_View_AppComponent0._DefaultValueAccessor_60_3, Decl(complexNarrowingWithAny.ts, 289, 13)) + + if (((token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_60_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import49.NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>import49 : Symbol(import49, Decl(complexNarrowingWithAny.ts, 94, 1)) +>NG_VALUE_ACCESSOR : Symbol(import49.NG_VALUE_ACCESSOR, Decl(complexNarrowingWithAny.ts, 103, 11)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NG_VALUE_ACCESSOR_60_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_60_4, Decl(complexNarrowingWithAny.ts, 290, 59)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NG_VALUE_ACCESSOR_60_4 : Symbol(_View_AppComponent0._NG_VALUE_ACCESSOR_60_4, Decl(complexNarrowingWithAny.ts, 290, 59)) + + if (((token === import47.FormControlName) && (60 === requestNodeIndex))) { return this._FormControlName_60_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import47.FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>import47 : Symbol(import47, Decl(complexNarrowingWithAny.ts, 82, 1)) +>FormControlName : Symbol(import47.FormControlName, Decl(complexNarrowingWithAny.ts, 84, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormControlName_60_5 : Symbol(_View_AppComponent0._FormControlName_60_5, Decl(complexNarrowingWithAny.ts, 291, 32)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormControlName_60_5 : Symbol(_View_AppComponent0._FormControlName_60_5, Decl(complexNarrowingWithAny.ts, 291, 32)) + + if (((token === import50.NgControl) && (60 === requestNodeIndex))) { return this._NgControl_60_6; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import50.NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>import50 : Symbol(import50, Decl(complexNarrowingWithAny.ts, 104, 1)) +>NgControl : Symbol(import50.NgControl, Decl(complexNarrowingWithAny.ts, 116, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControl_60_6 : Symbol(_View_AppComponent0._NgControl_60_6, Decl(complexNarrowingWithAny.ts, 292, 49)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControl_60_6 : Symbol(_View_AppComponent0._NgControl_60_6, Decl(complexNarrowingWithAny.ts, 292, 49)) + + if (((token === import45.NgControlStatus) && (60 === requestNodeIndex))) { return this._NgControlStatus_60_7; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatus : Symbol(import45.NgControlStatus, Decl(complexNarrowingWithAny.ts, 69, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatus_60_7 : Symbol(_View_AppComponent0._NgControlStatus_60_7, Decl(complexNarrowingWithAny.ts, 293, 22)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatus_60_7 : Symbol(_View_AppComponent0._NgControlStatus_60_7, Decl(complexNarrowingWithAny.ts, 293, 22)) + + if (((token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._FormGroupDirective_1_3; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import44.FormGroupDirective : Symbol(import44.FormGroupDirective, Decl(complexNarrowingWithAny.ts, 63, 20)) +>import44 : Symbol(import44, Decl(complexNarrowingWithAny.ts, 0, 0)) +>FormGroupDirective : Symbol(import44.FormGroupDirective, Decl(complexNarrowingWithAny.ts, 63, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._FormGroupDirective_1_3 : Symbol(_View_AppComponent0._FormGroupDirective_1_3, Decl(complexNarrowingWithAny.ts, 132, 12)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_FormGroupDirective_1_3 : Symbol(_View_AppComponent0._FormGroupDirective_1_3, Decl(complexNarrowingWithAny.ts, 132, 12)) + + if (((token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._ControlContainer_1_4; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import51.ControlContainer : Symbol(import51.ControlContainer, Decl(complexNarrowingWithAny.ts, 122, 20)) +>import51 : Symbol(import51, Decl(complexNarrowingWithAny.ts, 120, 1)) +>ControlContainer : Symbol(import51.ControlContainer, Decl(complexNarrowingWithAny.ts, 122, 20)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._ControlContainer_1_4 : Symbol(_View_AppComponent0._ControlContainer_1_4, Decl(complexNarrowingWithAny.ts, 133, 54)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_ControlContainer_1_4 : Symbol(_View_AppComponent0._ControlContainer_1_4, Decl(complexNarrowingWithAny.ts, 133, 54)) + + if (((token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._NgControlStatusGroup_1_5; } +>token : Symbol(token, Decl(complexNarrowingWithAny.ts, 448, 22)) +>import45.NgControlStatusGroup : Symbol(import45.NgControlStatusGroup, Decl(complexNarrowingWithAny.ts, 72, 2)) +>import45 : Symbol(import45, Decl(complexNarrowingWithAny.ts, 67, 1)) +>NgControlStatusGroup : Symbol(import45.NgControlStatusGroup, Decl(complexNarrowingWithAny.ts, 72, 2)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>requestNodeIndex : Symbol(requestNodeIndex, Decl(complexNarrowingWithAny.ts, 448, 32)) +>this._NgControlStatusGroup_1_5 : Symbol(_View_AppComponent0._NgControlStatusGroup_1_5, Decl(complexNarrowingWithAny.ts, 134, 28)) +>this : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>_NgControlStatusGroup_1_5 : Symbol(_View_AppComponent0._NgControlStatusGroup_1_5, Decl(complexNarrowingWithAny.ts, 134, 28)) + + return notFoundResult; +>notFoundResult : Symbol(notFoundResult, Decl(complexNarrowingWithAny.ts, 448, 56)) + } +} +export function viewFactory_AppComponent0(viewUtils:any,parentInjector:any,declarationEl:any):any { +>viewFactory_AppComponent0 : Symbol(viewFactory_AppComponent0, Decl(complexNarrowingWithAny.ts, 554, 1)) +>viewUtils : Symbol(viewUtils, Decl(complexNarrowingWithAny.ts, 555, 42)) +>parentInjector : Symbol(parentInjector, Decl(complexNarrowingWithAny.ts, 555, 56)) +>declarationEl : Symbol(declarationEl, Decl(complexNarrowingWithAny.ts, 555, 75)) + + return new _View_AppComponent0(viewUtils,parentInjector,declarationEl); +>_View_AppComponent0 : Symbol(_View_AppComponent0, Decl(complexNarrowingWithAny.ts, 126, 1)) +>viewUtils : Symbol(viewUtils, Decl(complexNarrowingWithAny.ts, 555, 42)) +>parentInjector : Symbol(parentInjector, Decl(complexNarrowingWithAny.ts, 555, 56)) +>declarationEl : Symbol(declarationEl, Decl(complexNarrowingWithAny.ts, 555, 75)) +} + diff --git a/tests/baselines/reference/complexNarrowingWithAny.types b/tests/baselines/reference/complexNarrowingWithAny.types new file mode 100644 index 00000000000..656621b7a7a --- /dev/null +++ b/tests/baselines/reference/complexNarrowingWithAny.types @@ -0,0 +1,3043 @@ +=== tests/cases/compiler/complexNarrowingWithAny.ts === +// Repro from #10869 + +/** + * This file is generated by the Angular 2 template compiler. + * Do not edit. + */ + /* tslint:disable */ + +// import * as import0 from '@angular/core/src/linker/ng_module_factory'; +// import * as import1 from '../../app'; +// import * as import2 from '@angular/common/src/common_module'; +// import * as import3 from '@angular/core/src/application_module'; +// import * as import4 from '@angular/platform-browser/src/browser'; +// import * as import5 from '@angular/forms/src/directives'; +// import * as import6 from '@angular/forms/src/form_providers'; +// import * as import7 from '@angular/common/src/localization'; +// import * as import8 from '@angular/core/src/application_init'; +// import * as import9 from '@angular/core/src/testability/testability'; +// import * as import10 from '@angular/core/src/application_ref'; +// import * as import11 from '@angular/core/src/linker/compiler'; +// import * as import12 from '@angular/platform-browser/src/dom/events/hammer_gestures'; +// import * as import13 from '@angular/platform-browser/src/dom/events/event_manager'; +// import * as import14 from '@angular/platform-browser/src/dom/shared_styles_host'; +// import * as import15 from '@angular/platform-browser/src/dom/dom_renderer'; +// import * as import16 from '@angular/platform-browser/src/security/dom_sanitization_service'; +// import * as import17 from '@angular/core/src/linker/view_utils'; +// import * as import18 from '@angular/forms/src/form_builder'; +// import * as import19 from '@angular/forms/src/directives/radio_control_value_accessor'; +// import * as import20 from '@angular/core/src/di/injector'; +// import * as import21 from '@angular/core/src/application_tokens'; +// import * as import22 from '@angular/platform-browser/src/dom/events/dom_events'; +// import * as import23 from '@angular/platform-browser/src/dom/events/key_events'; +// import * as import24 from '@angular/core/src/zone/ng_zone'; +// import * as import25 from '@angular/platform-browser/src/dom/debug/ng_probe'; +// import * as import26 from '@angular/core/src/console'; +// import * as import27 from '@angular/core/src/i18n/tokens'; +// import * as import28 from '@angular/core/src/error_handler'; +// import * as import29 from '@angular/platform-browser/src/dom/dom_tokens'; +// import * as import30 from '@angular/platform-browser/src/dom/animation_driver'; +// import * as import31 from '@angular/core/src/render/api'; +// import * as import32 from '@angular/core/src/security'; +// import * as import33 from '@angular/core/src/change_detection/differs/iterable_differs'; +// import * as import34 from '@angular/core/src/change_detection/differs/keyvalue_differs'; +// import * as import35 from '@angular/core/src/i18n/tokens'; +// import * as import36 from '@angular/core/src/render/api'; +// import * as import37 from '@angular/core/src/linker/view'; +// import * as import38 from '@angular/core/src/linker/element'; +// import * as import39 from '@angular/core/src/linker/view_utils'; +// import * as import40 from '@angular/core/src/linker/view_type'; +// import * as import41 from '@angular/core/src/change_detection/change_detection'; +// import * as import42 from '@angular/core/src/metadata/view'; +// import * as import43 from '@angular/core/src/linker/component_factory'; +// import * as import44 from '@angular/forms/src/directives/reactive_directives/form_group_directive'; +// import * as import45 from '@angular/forms/src/directives/ng_control_status'; +// import * as import46 from '@angular/forms/src/directives/default_value_accessor'; +// import * as import47 from '@angular/forms/src/directives/reactive_directives/form_control_name'; +// import * as import48 from '@angular/core/src/linker/element_ref'; +// import * as import49 from '@angular/forms/src/directives/control_value_accessor'; +// import * as import50 from '@angular/forms/src/directives/ng_control'; +// import * as import51 from '@angular/forms/src/directives/control_container'; + +//stubbed out imports + +namespace import44 { +>import44 : typeof import44 + + export class FormGroupDirective { +>FormGroupDirective : FormGroupDirective + + constructor(any){} +>any : any + } +} + +namespace import45 { +>import45 : typeof import45 + + export class NgControlStatus { +>NgControlStatus : NgControlStatus + + constructor(any){} +>any : any + } + export class NgControlStatusGroup { +>NgControlStatusGroup : NgControlStatusGroup + + constructor(any){} +>any : any + } +} + +namespace import46 { +>import46 : typeof import46 + + export class DefaultValueAccessor { +>DefaultValueAccessor : DefaultValueAccessor + + constructor(any){} +>any : any + } +} + +namespace import47 { +>import47 : typeof import47 + + export class FormControlName { +>FormControlName : FormControlName + + constructor(any){} +>any : any + } +} + +namespace import48 { +>import48 : typeof import48 + + export class FormControlName { +>FormControlName : FormControlName + + constructor(any){} +>any : any + } +} + + +//HERE BE DRAGONS + +//Using a value here - 65+ seconds to typecheck +namespace import49 { +>import49 : typeof import49 + + //real code uses an opaque token, using new String() to simulate. + //export var NG_VALUE_ACCESSOR = new OpaqueToken('ngValueAccessor') + export var NG_VALUE_ACCESSOR = new String('foo') +>NG_VALUE_ACCESSOR : String +>new String('foo') : String +>String : StringConstructor +>'foo' : "foo" +} + +//using a class - < 1 sec typecheck +// namespace import49 { +// export class NG_VALUE_ACCESSOR { +// constructor(any){} +// } +// } + +//END DRAGONS + + +namespace import50 { +>import50 : typeof import50 + + export class NgControl { +>NgControl : NgControl + + constructor(any){} +>any : any + } +} + +namespace import51 { +>import51 : typeof import51 + + export class ControlContainer { +>ControlContainer : ControlContainer + + constructor(any){} +>any : any + } +} + + + +class _View_AppComponent0 { +>_View_AppComponent0 : _View_AppComponent0 + + _text_0:any; +>_text_0 : any + + _el_1:any; +>_el_1 : any + + _FormGroupDirective_1_3:import44.FormGroupDirective; +>_FormGroupDirective_1_3 : import44.FormGroupDirective +>import44 : any +>FormGroupDirective : import44.FormGroupDirective + + _ControlContainer_1_4:any; +>_ControlContainer_1_4 : any + + _NgControlStatusGroup_1_5:import45.NgControlStatusGroup; +>_NgControlStatusGroup_1_5 : import45.NgControlStatusGroup +>import45 : any +>NgControlStatusGroup : import45.NgControlStatusGroup + + _text_2:any; +>_text_2 : any + + _el_3:any; +>_el_3 : any + + _DefaultValueAccessor_3_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_3_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_3_4:any[]; +>_NG_VALUE_ACCESSOR_3_4 : any[] + + _FormControlName_3_5:import47.FormControlName; +>_FormControlName_3_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_3_6:any; +>_NgControl_3_6 : any + + _NgControlStatus_3_7:import45.NgControlStatus; +>_NgControlStatus_3_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_4:any; +>_el_4 : any + + _text_5:any; +>_text_5 : any + + _el_6:any; +>_el_6 : any + + _DefaultValueAccessor_6_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_6_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_6_4:any[]; +>_NG_VALUE_ACCESSOR_6_4 : any[] + + _FormControlName_6_5:import47.FormControlName; +>_FormControlName_6_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_6_6:any; +>_NgControl_6_6 : any + + _NgControlStatus_6_7:import45.NgControlStatus; +>_NgControlStatus_6_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_7:any; +>_el_7 : any + + _text_8:any; +>_text_8 : any + + _el_9:any; +>_el_9 : any + + _DefaultValueAccessor_9_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_9_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_9_4:any[]; +>_NG_VALUE_ACCESSOR_9_4 : any[] + + _FormControlName_9_5:import47.FormControlName; +>_FormControlName_9_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_9_6:any; +>_NgControl_9_6 : any + + _NgControlStatus_9_7:import45.NgControlStatus; +>_NgControlStatus_9_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_10:any; +>_el_10 : any + + _text_11:any; +>_text_11 : any + + _el_12:any; +>_el_12 : any + + _DefaultValueAccessor_12_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_12_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_12_4:any[]; +>_NG_VALUE_ACCESSOR_12_4 : any[] + + _FormControlName_12_5:import47.FormControlName; +>_FormControlName_12_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_12_6:any; +>_NgControl_12_6 : any + + _NgControlStatus_12_7:import45.NgControlStatus; +>_NgControlStatus_12_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_13:any; +>_el_13 : any + + _text_14:any; +>_text_14 : any + + _el_15:any; +>_el_15 : any + + _DefaultValueAccessor_15_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_15_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_15_4:any[]; +>_NG_VALUE_ACCESSOR_15_4 : any[] + + _FormControlName_15_5:import47.FormControlName; +>_FormControlName_15_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_15_6:any; +>_NgControl_15_6 : any + + _NgControlStatus_15_7:import45.NgControlStatus; +>_NgControlStatus_15_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_16:any; +>_el_16 : any + + _text_17:any; +>_text_17 : any + + _el_18:any; +>_el_18 : any + + _DefaultValueAccessor_18_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_18_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_18_4:any[]; +>_NG_VALUE_ACCESSOR_18_4 : any[] + + _FormControlName_18_5:import47.FormControlName; +>_FormControlName_18_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_18_6:any; +>_NgControl_18_6 : any + + _NgControlStatus_18_7:import45.NgControlStatus; +>_NgControlStatus_18_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_19:any; +>_el_19 : any + + _text_20:any; +>_text_20 : any + + _el_21:any; +>_el_21 : any + + _DefaultValueAccessor_21_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_21_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_21_4:any[]; +>_NG_VALUE_ACCESSOR_21_4 : any[] + + _FormControlName_21_5:import47.FormControlName; +>_FormControlName_21_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_21_6:any; +>_NgControl_21_6 : any + + _NgControlStatus_21_7:import45.NgControlStatus; +>_NgControlStatus_21_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_22:any; +>_el_22 : any + + _text_23:any; +>_text_23 : any + + _el_24:any; +>_el_24 : any + + _DefaultValueAccessor_24_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_24_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_24_4:any[]; +>_NG_VALUE_ACCESSOR_24_4 : any[] + + _FormControlName_24_5:import47.FormControlName; +>_FormControlName_24_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_24_6:any; +>_NgControl_24_6 : any + + _NgControlStatus_24_7:import45.NgControlStatus; +>_NgControlStatus_24_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_25:any; +>_el_25 : any + + _text_26:any; +>_text_26 : any + + _el_27:any; +>_el_27 : any + + _DefaultValueAccessor_27_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_27_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_27_4:any[]; +>_NG_VALUE_ACCESSOR_27_4 : any[] + + _FormControlName_27_5:import47.FormControlName; +>_FormControlName_27_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_27_6:any; +>_NgControl_27_6 : any + + _NgControlStatus_27_7:import45.NgControlStatus; +>_NgControlStatus_27_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_28:any; +>_el_28 : any + + _text_29:any; +>_text_29 : any + + _el_30:any; +>_el_30 : any + + _DefaultValueAccessor_30_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_30_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_30_4:any[]; +>_NG_VALUE_ACCESSOR_30_4 : any[] + + _FormControlName_30_5:import47.FormControlName; +>_FormControlName_30_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_30_6:any; +>_NgControl_30_6 : any + + _NgControlStatus_30_7:import45.NgControlStatus; +>_NgControlStatus_30_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_31:any; +>_el_31 : any + + _text_32:any; +>_text_32 : any + + _el_33:any; +>_el_33 : any + + _DefaultValueAccessor_33_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_33_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_33_4:any[]; +>_NG_VALUE_ACCESSOR_33_4 : any[] + + _FormControlName_33_5:import47.FormControlName; +>_FormControlName_33_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_33_6:any; +>_NgControl_33_6 : any + + _NgControlStatus_33_7:import45.NgControlStatus; +>_NgControlStatus_33_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_34:any; +>_el_34 : any + + _text_35:any; +>_text_35 : any + + _el_36:any; +>_el_36 : any + + _DefaultValueAccessor_36_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_36_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_36_4:any[]; +>_NG_VALUE_ACCESSOR_36_4 : any[] + + _FormControlName_36_5:import47.FormControlName; +>_FormControlName_36_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_36_6:any; +>_NgControl_36_6 : any + + _NgControlStatus_36_7:import45.NgControlStatus; +>_NgControlStatus_36_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_37:any; +>_el_37 : any + + _text_38:any; +>_text_38 : any + + _el_39:any; +>_el_39 : any + + _DefaultValueAccessor_39_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_39_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_39_4:any[]; +>_NG_VALUE_ACCESSOR_39_4 : any[] + + _FormControlName_39_5:import47.FormControlName; +>_FormControlName_39_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_39_6:any; +>_NgControl_39_6 : any + + _NgControlStatus_39_7:import45.NgControlStatus; +>_NgControlStatus_39_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_40:any; +>_el_40 : any + + _text_41:any; +>_text_41 : any + + _el_42:any; +>_el_42 : any + + _DefaultValueAccessor_42_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_42_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_42_4:any[]; +>_NG_VALUE_ACCESSOR_42_4 : any[] + + _FormControlName_42_5:import47.FormControlName; +>_FormControlName_42_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_42_6:any; +>_NgControl_42_6 : any + + _NgControlStatus_42_7:import45.NgControlStatus; +>_NgControlStatus_42_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_43:any; +>_el_43 : any + + _text_44:any; +>_text_44 : any + + _el_45:any; +>_el_45 : any + + _DefaultValueAccessor_45_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_45_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_45_4:any[]; +>_NG_VALUE_ACCESSOR_45_4 : any[] + + _FormControlName_45_5:import47.FormControlName; +>_FormControlName_45_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_45_6:any; +>_NgControl_45_6 : any + + _NgControlStatus_45_7:import45.NgControlStatus; +>_NgControlStatus_45_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_46:any; +>_el_46 : any + + _text_47:any; +>_text_47 : any + + _el_48:any; +>_el_48 : any + + _DefaultValueAccessor_48_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_48_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_48_4:any[]; +>_NG_VALUE_ACCESSOR_48_4 : any[] + + _FormControlName_48_5:import47.FormControlName; +>_FormControlName_48_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_48_6:any; +>_NgControl_48_6 : any + + _NgControlStatus_48_7:import45.NgControlStatus; +>_NgControlStatus_48_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_49:any; +>_el_49 : any + + _text_50:any; +>_text_50 : any + + _el_51:any; +>_el_51 : any + + _DefaultValueAccessor_51_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_51_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_51_4:any[]; +>_NG_VALUE_ACCESSOR_51_4 : any[] + + _FormControlName_51_5:import47.FormControlName; +>_FormControlName_51_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_51_6:any; +>_NgControl_51_6 : any + + _NgControlStatus_51_7:import45.NgControlStatus; +>_NgControlStatus_51_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_52:any; +>_el_52 : any + + _text_53:any; +>_text_53 : any + + _el_54:any; +>_el_54 : any + + _DefaultValueAccessor_54_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_54_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_54_4:any[]; +>_NG_VALUE_ACCESSOR_54_4 : any[] + + _FormControlName_54_5:import47.FormControlName; +>_FormControlName_54_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_54_6:any; +>_NgControl_54_6 : any + + _NgControlStatus_54_7:import45.NgControlStatus; +>_NgControlStatus_54_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_55:any; +>_el_55 : any + + _text_56:any; +>_text_56 : any + + _el_57:any; +>_el_57 : any + + _DefaultValueAccessor_57_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_57_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_57_4:any[]; +>_NG_VALUE_ACCESSOR_57_4 : any[] + + _FormControlName_57_5:import47.FormControlName; +>_FormControlName_57_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_57_6:any; +>_NgControl_57_6 : any + + _NgControlStatus_57_7:import45.NgControlStatus; +>_NgControlStatus_57_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_58:any; +>_el_58 : any + + _text_59:any; +>_text_59 : any + + _el_60:any; +>_el_60 : any + + _DefaultValueAccessor_60_3:import46.DefaultValueAccessor; +>_DefaultValueAccessor_60_3 : import46.DefaultValueAccessor +>import46 : any +>DefaultValueAccessor : import46.DefaultValueAccessor + + _NG_VALUE_ACCESSOR_60_4:any[]; +>_NG_VALUE_ACCESSOR_60_4 : any[] + + _FormControlName_60_5:import47.FormControlName; +>_FormControlName_60_5 : import47.FormControlName +>import47 : any +>FormControlName : import47.FormControlName + + _NgControl_60_6:any; +>_NgControl_60_6 : any + + _NgControlStatus_60_7:import45.NgControlStatus; +>_NgControlStatus_60_7 : import45.NgControlStatus +>import45 : any +>NgControlStatus : import45.NgControlStatus + + _el_61:any; +>_el_61 : any + + _text_62:any; +>_text_62 : any + + _text_63:any; +>_text_63 : any + + /*private*/ _expr_2:any; +>_expr_2 : any + + /*private*/ _expr_3:any; +>_expr_3 : any + + /*private*/ _expr_4:any; +>_expr_4 : any + + /*private*/ _expr_5:any; +>_expr_5 : any + + /*private*/ _expr_6:any; +>_expr_6 : any + + /*private*/ _expr_7:any; +>_expr_7 : any + + /*private*/ _expr_8:any; +>_expr_8 : any + + /*private*/ _expr_11:any; +>_expr_11 : any + + /*private*/ _expr_12:any; +>_expr_12 : any + + /*private*/ _expr_13:any; +>_expr_13 : any + + /*private*/ _expr_14:any; +>_expr_14 : any + + /*private*/ _expr_15:any; +>_expr_15 : any + + /*private*/ _expr_16:any; +>_expr_16 : any + + /*private*/ _expr_17:any; +>_expr_17 : any + + /*private*/ _expr_20:any; +>_expr_20 : any + + /*private*/ _expr_21:any; +>_expr_21 : any + + /*private*/ _expr_22:any; +>_expr_22 : any + + /*private*/ _expr_23:any; +>_expr_23 : any + + /*private*/ _expr_24:any; +>_expr_24 : any + + /*private*/ _expr_25:any; +>_expr_25 : any + + /*private*/ _expr_26:any; +>_expr_26 : any + + /*private*/ _expr_29:any; +>_expr_29 : any + + /*private*/ _expr_30:any; +>_expr_30 : any + + /*private*/ _expr_31:any; +>_expr_31 : any + + /*private*/ _expr_32:any; +>_expr_32 : any + + /*private*/ _expr_33:any; +>_expr_33 : any + + /*private*/ _expr_34:any; +>_expr_34 : any + + /*private*/ _expr_35:any; +>_expr_35 : any + + /*private*/ _expr_38:any; +>_expr_38 : any + + /*private*/ _expr_39:any; +>_expr_39 : any + + /*private*/ _expr_40:any; +>_expr_40 : any + + /*private*/ _expr_41:any; +>_expr_41 : any + + /*private*/ _expr_42:any; +>_expr_42 : any + + /*private*/ _expr_43:any; +>_expr_43 : any + + /*private*/ _expr_44:any; +>_expr_44 : any + + /*private*/ _expr_47:any; +>_expr_47 : any + + /*private*/ _expr_48:any; +>_expr_48 : any + + /*private*/ _expr_49:any; +>_expr_49 : any + + /*private*/ _expr_50:any; +>_expr_50 : any + + /*private*/ _expr_51:any; +>_expr_51 : any + + /*private*/ _expr_52:any; +>_expr_52 : any + + /*private*/ _expr_53:any; +>_expr_53 : any + + /*private*/ _expr_56:any; +>_expr_56 : any + + /*private*/ _expr_57:any; +>_expr_57 : any + + /*private*/ _expr_58:any; +>_expr_58 : any + + /*private*/ _expr_59:any; +>_expr_59 : any + + /*private*/ _expr_60:any; +>_expr_60 : any + + /*private*/ _expr_61:any; +>_expr_61 : any + + /*private*/ _expr_62:any; +>_expr_62 : any + + /*private*/ _expr_65:any; +>_expr_65 : any + + /*private*/ _expr_66:any; +>_expr_66 : any + + /*private*/ _expr_67:any; +>_expr_67 : any + + /*private*/ _expr_68:any; +>_expr_68 : any + + /*private*/ _expr_69:any; +>_expr_69 : any + + /*private*/ _expr_70:any; +>_expr_70 : any + + /*private*/ _expr_71:any; +>_expr_71 : any + + /*private*/ _expr_74:any; +>_expr_74 : any + + /*private*/ _expr_75:any; +>_expr_75 : any + + /*private*/ _expr_76:any; +>_expr_76 : any + + /*private*/ _expr_77:any; +>_expr_77 : any + + /*private*/ _expr_78:any; +>_expr_78 : any + + /*private*/ _expr_79:any; +>_expr_79 : any + + /*private*/ _expr_80:any; +>_expr_80 : any + + /*private*/ _expr_83:any; +>_expr_83 : any + + /*private*/ _expr_84:any; +>_expr_84 : any + + /*private*/ _expr_85:any; +>_expr_85 : any + + /*private*/ _expr_86:any; +>_expr_86 : any + + /*private*/ _expr_87:any; +>_expr_87 : any + + /*private*/ _expr_88:any; +>_expr_88 : any + + /*private*/ _expr_89:any; +>_expr_89 : any + + /*private*/ _expr_92:any; +>_expr_92 : any + + /*private*/ _expr_93:any; +>_expr_93 : any + + /*private*/ _expr_94:any; +>_expr_94 : any + + /*private*/ _expr_95:any; +>_expr_95 : any + + /*private*/ _expr_96:any; +>_expr_96 : any + + /*private*/ _expr_97:any; +>_expr_97 : any + + /*private*/ _expr_98:any; +>_expr_98 : any + + /*private*/ _expr_101:any; +>_expr_101 : any + + /*private*/ _expr_102:any; +>_expr_102 : any + + /*private*/ _expr_103:any; +>_expr_103 : any + + /*private*/ _expr_104:any; +>_expr_104 : any + + /*private*/ _expr_105:any; +>_expr_105 : any + + /*private*/ _expr_106:any; +>_expr_106 : any + + /*private*/ _expr_107:any; +>_expr_107 : any + + /*private*/ _expr_110:any; +>_expr_110 : any + + /*private*/ _expr_111:any; +>_expr_111 : any + + /*private*/ _expr_112:any; +>_expr_112 : any + + /*private*/ _expr_113:any; +>_expr_113 : any + + /*private*/ _expr_114:any; +>_expr_114 : any + + /*private*/ _expr_115:any; +>_expr_115 : any + + /*private*/ _expr_116:any; +>_expr_116 : any + + /*private*/ _expr_119:any; +>_expr_119 : any + + /*private*/ _expr_120:any; +>_expr_120 : any + + /*private*/ _expr_121:any; +>_expr_121 : any + + /*private*/ _expr_122:any; +>_expr_122 : any + + /*private*/ _expr_123:any; +>_expr_123 : any + + /*private*/ _expr_124:any; +>_expr_124 : any + + /*private*/ _expr_125:any; +>_expr_125 : any + + /*private*/ _expr_128:any; +>_expr_128 : any + + /*private*/ _expr_129:any; +>_expr_129 : any + + /*private*/ _expr_130:any; +>_expr_130 : any + + /*private*/ _expr_131:any; +>_expr_131 : any + + /*private*/ _expr_132:any; +>_expr_132 : any + + /*private*/ _expr_133:any; +>_expr_133 : any + + /*private*/ _expr_134:any; +>_expr_134 : any + + /*private*/ _expr_137:any; +>_expr_137 : any + + /*private*/ _expr_138:any; +>_expr_138 : any + + /*private*/ _expr_139:any; +>_expr_139 : any + + /*private*/ _expr_140:any; +>_expr_140 : any + + /*private*/ _expr_141:any; +>_expr_141 : any + + /*private*/ _expr_142:any; +>_expr_142 : any + + /*private*/ _expr_143:any; +>_expr_143 : any + + /*private*/ _expr_146:any; +>_expr_146 : any + + /*private*/ _expr_147:any; +>_expr_147 : any + + /*private*/ _expr_148:any; +>_expr_148 : any + + /*private*/ _expr_149:any; +>_expr_149 : any + + /*private*/ _expr_150:any; +>_expr_150 : any + + /*private*/ _expr_151:any; +>_expr_151 : any + + /*private*/ _expr_152:any; +>_expr_152 : any + + /*private*/ _expr_155:any; +>_expr_155 : any + + /*private*/ _expr_156:any; +>_expr_156 : any + + /*private*/ _expr_157:any; +>_expr_157 : any + + /*private*/ _expr_158:any; +>_expr_158 : any + + /*private*/ _expr_159:any; +>_expr_159 : any + + /*private*/ _expr_160:any; +>_expr_160 : any + + /*private*/ _expr_161:any; +>_expr_161 : any + + /*private*/ _expr_164:any; +>_expr_164 : any + + /*private*/ _expr_165:any; +>_expr_165 : any + + /*private*/ _expr_166:any; +>_expr_166 : any + + /*private*/ _expr_167:any; +>_expr_167 : any + + /*private*/ _expr_168:any; +>_expr_168 : any + + /*private*/ _expr_169:any; +>_expr_169 : any + + /*private*/ _expr_170:any; +>_expr_170 : any + + /*private*/ _expr_173:any; +>_expr_173 : any + + /*private*/ _expr_174:any; +>_expr_174 : any + + /*private*/ _expr_175:any; +>_expr_175 : any + + /*private*/ _expr_176:any; +>_expr_176 : any + + /*private*/ _expr_177:any; +>_expr_177 : any + + /*private*/ _expr_178:any; +>_expr_178 : any + + /*private*/ _expr_179:any; +>_expr_179 : any + + /*private*/ _expr_182:any; +>_expr_182 : any + + /*private*/ _expr_183:any; +>_expr_183 : any + + /*private*/ _expr_184:any; +>_expr_184 : any + + /*private*/ _expr_185:any; +>_expr_185 : any + + /*private*/ _expr_186:any; +>_expr_186 : any + + /*private*/ _expr_187:any; +>_expr_187 : any + + /*private*/ _expr_188:any; +>_expr_188 : any + + constructor(viewUtils:any,parentInjector:any,declarationEl:any) { +>viewUtils : any +>parentInjector : any +>declarationEl : any + } + + injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any { +>injectorGetInternal : (token: any, requestNodeIndex: number, notFoundResult: any) => any +>token : any +>requestNodeIndex : number +>notFoundResult : any + + if (((token === import46.DefaultValueAccessor) && (3 === requestNodeIndex))) { return this._DefaultValueAccessor_3_3; } +>((token === import46.DefaultValueAccessor) && (3 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (3 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(3 === requestNodeIndex) : boolean +>3 === requestNodeIndex : boolean +>3 : 3 +>requestNodeIndex : number +>this._DefaultValueAccessor_3_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_3_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_3_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (3 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(3 === requestNodeIndex) : boolean +>3 === requestNodeIndex : boolean +>3 : 3 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_3_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_3_4 : any[] + + if (((token === import47.FormControlName) && (3 === requestNodeIndex))) { return this._FormControlName_3_5; } +>((token === import47.FormControlName) && (3 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (3 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(3 === requestNodeIndex) : boolean +>3 === requestNodeIndex : boolean +>3 : 3 +>requestNodeIndex : number +>this._FormControlName_3_5 : import47.FormControlName +>this : this +>_FormControlName_3_5 : import47.FormControlName + + if (((token === import50.NgControl) && (3 === requestNodeIndex))) { return this._NgControl_3_6; } +>((token === import50.NgControl) && (3 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (3 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(3 === requestNodeIndex) : boolean +>3 === requestNodeIndex : boolean +>3 : 3 +>requestNodeIndex : number +>this._NgControl_3_6 : any +>this : this +>_NgControl_3_6 : any + + if (((token === import45.NgControlStatus) && (3 === requestNodeIndex))) { return this._NgControlStatus_3_7; } +>((token === import45.NgControlStatus) && (3 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (3 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(3 === requestNodeIndex) : boolean +>3 === requestNodeIndex : boolean +>3 : 3 +>requestNodeIndex : number +>this._NgControlStatus_3_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_3_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (6 === requestNodeIndex))) { return this._DefaultValueAccessor_6_3; } +>((token === import46.DefaultValueAccessor) && (6 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (6 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(6 === requestNodeIndex) : boolean +>6 === requestNodeIndex : boolean +>6 : 6 +>requestNodeIndex : number +>this._DefaultValueAccessor_6_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_6_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_6_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (6 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(6 === requestNodeIndex) : boolean +>6 === requestNodeIndex : boolean +>6 : 6 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_6_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_6_4 : any[] + + if (((token === import47.FormControlName) && (6 === requestNodeIndex))) { return this._FormControlName_6_5; } +>((token === import47.FormControlName) && (6 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (6 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(6 === requestNodeIndex) : boolean +>6 === requestNodeIndex : boolean +>6 : 6 +>requestNodeIndex : number +>this._FormControlName_6_5 : import47.FormControlName +>this : this +>_FormControlName_6_5 : import47.FormControlName + + if (((token === import50.NgControl) && (6 === requestNodeIndex))) { return this._NgControl_6_6; } +>((token === import50.NgControl) && (6 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (6 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(6 === requestNodeIndex) : boolean +>6 === requestNodeIndex : boolean +>6 : 6 +>requestNodeIndex : number +>this._NgControl_6_6 : any +>this : this +>_NgControl_6_6 : any + + if (((token === import45.NgControlStatus) && (6 === requestNodeIndex))) { return this._NgControlStatus_6_7; } +>((token === import45.NgControlStatus) && (6 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (6 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(6 === requestNodeIndex) : boolean +>6 === requestNodeIndex : boolean +>6 : 6 +>requestNodeIndex : number +>this._NgControlStatus_6_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_6_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (9 === requestNodeIndex))) { return this._DefaultValueAccessor_9_3; } +>((token === import46.DefaultValueAccessor) && (9 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (9 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(9 === requestNodeIndex) : boolean +>9 === requestNodeIndex : boolean +>9 : 9 +>requestNodeIndex : number +>this._DefaultValueAccessor_9_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_9_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_9_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (9 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(9 === requestNodeIndex) : boolean +>9 === requestNodeIndex : boolean +>9 : 9 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_9_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_9_4 : any[] + + if (((token === import47.FormControlName) && (9 === requestNodeIndex))) { return this._FormControlName_9_5; } +>((token === import47.FormControlName) && (9 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (9 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(9 === requestNodeIndex) : boolean +>9 === requestNodeIndex : boolean +>9 : 9 +>requestNodeIndex : number +>this._FormControlName_9_5 : import47.FormControlName +>this : this +>_FormControlName_9_5 : import47.FormControlName + + if (((token === import50.NgControl) && (9 === requestNodeIndex))) { return this._NgControl_9_6; } +>((token === import50.NgControl) && (9 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (9 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(9 === requestNodeIndex) : boolean +>9 === requestNodeIndex : boolean +>9 : 9 +>requestNodeIndex : number +>this._NgControl_9_6 : any +>this : this +>_NgControl_9_6 : any + + if (((token === import45.NgControlStatus) && (9 === requestNodeIndex))) { return this._NgControlStatus_9_7; } +>((token === import45.NgControlStatus) && (9 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (9 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(9 === requestNodeIndex) : boolean +>9 === requestNodeIndex : boolean +>9 : 9 +>requestNodeIndex : number +>this._NgControlStatus_9_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_9_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (12 === requestNodeIndex))) { return this._DefaultValueAccessor_12_3; } +>((token === import46.DefaultValueAccessor) && (12 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (12 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(12 === requestNodeIndex) : boolean +>12 === requestNodeIndex : boolean +>12 : 12 +>requestNodeIndex : number +>this._DefaultValueAccessor_12_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_12_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_12_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (12 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(12 === requestNodeIndex) : boolean +>12 === requestNodeIndex : boolean +>12 : 12 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_12_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_12_4 : any[] + + if (((token === import47.FormControlName) && (12 === requestNodeIndex))) { return this._FormControlName_12_5; } +>((token === import47.FormControlName) && (12 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (12 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(12 === requestNodeIndex) : boolean +>12 === requestNodeIndex : boolean +>12 : 12 +>requestNodeIndex : number +>this._FormControlName_12_5 : import47.FormControlName +>this : this +>_FormControlName_12_5 : import47.FormControlName + + if (((token === import50.NgControl) && (12 === requestNodeIndex))) { return this._NgControl_12_6; } +>((token === import50.NgControl) && (12 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (12 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(12 === requestNodeIndex) : boolean +>12 === requestNodeIndex : boolean +>12 : 12 +>requestNodeIndex : number +>this._NgControl_12_6 : any +>this : this +>_NgControl_12_6 : any + + if (((token === import45.NgControlStatus) && (12 === requestNodeIndex))) { return this._NgControlStatus_12_7; } +>((token === import45.NgControlStatus) && (12 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (12 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(12 === requestNodeIndex) : boolean +>12 === requestNodeIndex : boolean +>12 : 12 +>requestNodeIndex : number +>this._NgControlStatus_12_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_12_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (15 === requestNodeIndex))) { return this._DefaultValueAccessor_15_3; } +>((token === import46.DefaultValueAccessor) && (15 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (15 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(15 === requestNodeIndex) : boolean +>15 === requestNodeIndex : boolean +>15 : 15 +>requestNodeIndex : number +>this._DefaultValueAccessor_15_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_15_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_15_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (15 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(15 === requestNodeIndex) : boolean +>15 === requestNodeIndex : boolean +>15 : 15 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_15_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_15_4 : any[] + + if (((token === import47.FormControlName) && (15 === requestNodeIndex))) { return this._FormControlName_15_5; } +>((token === import47.FormControlName) && (15 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (15 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(15 === requestNodeIndex) : boolean +>15 === requestNodeIndex : boolean +>15 : 15 +>requestNodeIndex : number +>this._FormControlName_15_5 : import47.FormControlName +>this : this +>_FormControlName_15_5 : import47.FormControlName + + if (((token === import50.NgControl) && (15 === requestNodeIndex))) { return this._NgControl_15_6; } +>((token === import50.NgControl) && (15 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (15 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(15 === requestNodeIndex) : boolean +>15 === requestNodeIndex : boolean +>15 : 15 +>requestNodeIndex : number +>this._NgControl_15_6 : any +>this : this +>_NgControl_15_6 : any + + if (((token === import45.NgControlStatus) && (15 === requestNodeIndex))) { return this._NgControlStatus_15_7; } +>((token === import45.NgControlStatus) && (15 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (15 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(15 === requestNodeIndex) : boolean +>15 === requestNodeIndex : boolean +>15 : 15 +>requestNodeIndex : number +>this._NgControlStatus_15_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_15_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (18 === requestNodeIndex))) { return this._DefaultValueAccessor_18_3; } +>((token === import46.DefaultValueAccessor) && (18 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (18 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(18 === requestNodeIndex) : boolean +>18 === requestNodeIndex : boolean +>18 : 18 +>requestNodeIndex : number +>this._DefaultValueAccessor_18_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_18_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_18_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (18 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(18 === requestNodeIndex) : boolean +>18 === requestNodeIndex : boolean +>18 : 18 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_18_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_18_4 : any[] + + if (((token === import47.FormControlName) && (18 === requestNodeIndex))) { return this._FormControlName_18_5; } +>((token === import47.FormControlName) && (18 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (18 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(18 === requestNodeIndex) : boolean +>18 === requestNodeIndex : boolean +>18 : 18 +>requestNodeIndex : number +>this._FormControlName_18_5 : import47.FormControlName +>this : this +>_FormControlName_18_5 : import47.FormControlName + + if (((token === import50.NgControl) && (18 === requestNodeIndex))) { return this._NgControl_18_6; } +>((token === import50.NgControl) && (18 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (18 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(18 === requestNodeIndex) : boolean +>18 === requestNodeIndex : boolean +>18 : 18 +>requestNodeIndex : number +>this._NgControl_18_6 : any +>this : this +>_NgControl_18_6 : any + + if (((token === import45.NgControlStatus) && (18 === requestNodeIndex))) { return this._NgControlStatus_18_7; } +>((token === import45.NgControlStatus) && (18 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (18 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(18 === requestNodeIndex) : boolean +>18 === requestNodeIndex : boolean +>18 : 18 +>requestNodeIndex : number +>this._NgControlStatus_18_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_18_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (21 === requestNodeIndex))) { return this._DefaultValueAccessor_21_3; } +>((token === import46.DefaultValueAccessor) && (21 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (21 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(21 === requestNodeIndex) : boolean +>21 === requestNodeIndex : boolean +>21 : 21 +>requestNodeIndex : number +>this._DefaultValueAccessor_21_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_21_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_21_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (21 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(21 === requestNodeIndex) : boolean +>21 === requestNodeIndex : boolean +>21 : 21 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_21_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_21_4 : any[] + + if (((token === import47.FormControlName) && (21 === requestNodeIndex))) { return this._FormControlName_21_5; } +>((token === import47.FormControlName) && (21 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (21 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(21 === requestNodeIndex) : boolean +>21 === requestNodeIndex : boolean +>21 : 21 +>requestNodeIndex : number +>this._FormControlName_21_5 : import47.FormControlName +>this : this +>_FormControlName_21_5 : import47.FormControlName + + if (((token === import50.NgControl) && (21 === requestNodeIndex))) { return this._NgControl_21_6; } +>((token === import50.NgControl) && (21 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (21 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(21 === requestNodeIndex) : boolean +>21 === requestNodeIndex : boolean +>21 : 21 +>requestNodeIndex : number +>this._NgControl_21_6 : any +>this : this +>_NgControl_21_6 : any + + if (((token === import45.NgControlStatus) && (21 === requestNodeIndex))) { return this._NgControlStatus_21_7; } +>((token === import45.NgControlStatus) && (21 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (21 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(21 === requestNodeIndex) : boolean +>21 === requestNodeIndex : boolean +>21 : 21 +>requestNodeIndex : number +>this._NgControlStatus_21_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_21_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (24 === requestNodeIndex))) { return this._DefaultValueAccessor_24_3; } +>((token === import46.DefaultValueAccessor) && (24 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (24 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(24 === requestNodeIndex) : boolean +>24 === requestNodeIndex : boolean +>24 : 24 +>requestNodeIndex : number +>this._DefaultValueAccessor_24_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_24_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_24_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (24 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(24 === requestNodeIndex) : boolean +>24 === requestNodeIndex : boolean +>24 : 24 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_24_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_24_4 : any[] + + if (((token === import47.FormControlName) && (24 === requestNodeIndex))) { return this._FormControlName_24_5; } +>((token === import47.FormControlName) && (24 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (24 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(24 === requestNodeIndex) : boolean +>24 === requestNodeIndex : boolean +>24 : 24 +>requestNodeIndex : number +>this._FormControlName_24_5 : import47.FormControlName +>this : this +>_FormControlName_24_5 : import47.FormControlName + + if (((token === import50.NgControl) && (24 === requestNodeIndex))) { return this._NgControl_24_6; } +>((token === import50.NgControl) && (24 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (24 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(24 === requestNodeIndex) : boolean +>24 === requestNodeIndex : boolean +>24 : 24 +>requestNodeIndex : number +>this._NgControl_24_6 : any +>this : this +>_NgControl_24_6 : any + + if (((token === import45.NgControlStatus) && (24 === requestNodeIndex))) { return this._NgControlStatus_24_7; } +>((token === import45.NgControlStatus) && (24 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (24 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(24 === requestNodeIndex) : boolean +>24 === requestNodeIndex : boolean +>24 : 24 +>requestNodeIndex : number +>this._NgControlStatus_24_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_24_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (27 === requestNodeIndex))) { return this._DefaultValueAccessor_27_3; } +>((token === import46.DefaultValueAccessor) && (27 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (27 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(27 === requestNodeIndex) : boolean +>27 === requestNodeIndex : boolean +>27 : 27 +>requestNodeIndex : number +>this._DefaultValueAccessor_27_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_27_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_27_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (27 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(27 === requestNodeIndex) : boolean +>27 === requestNodeIndex : boolean +>27 : 27 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_27_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_27_4 : any[] + + if (((token === import47.FormControlName) && (27 === requestNodeIndex))) { return this._FormControlName_27_5; } +>((token === import47.FormControlName) && (27 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (27 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(27 === requestNodeIndex) : boolean +>27 === requestNodeIndex : boolean +>27 : 27 +>requestNodeIndex : number +>this._FormControlName_27_5 : import47.FormControlName +>this : this +>_FormControlName_27_5 : import47.FormControlName + + if (((token === import50.NgControl) && (27 === requestNodeIndex))) { return this._NgControl_27_6; } +>((token === import50.NgControl) && (27 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (27 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(27 === requestNodeIndex) : boolean +>27 === requestNodeIndex : boolean +>27 : 27 +>requestNodeIndex : number +>this._NgControl_27_6 : any +>this : this +>_NgControl_27_6 : any + + if (((token === import45.NgControlStatus) && (27 === requestNodeIndex))) { return this._NgControlStatus_27_7; } +>((token === import45.NgControlStatus) && (27 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (27 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(27 === requestNodeIndex) : boolean +>27 === requestNodeIndex : boolean +>27 : 27 +>requestNodeIndex : number +>this._NgControlStatus_27_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_27_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (30 === requestNodeIndex))) { return this._DefaultValueAccessor_30_3; } +>((token === import46.DefaultValueAccessor) && (30 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (30 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(30 === requestNodeIndex) : boolean +>30 === requestNodeIndex : boolean +>30 : 30 +>requestNodeIndex : number +>this._DefaultValueAccessor_30_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_30_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_30_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (30 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(30 === requestNodeIndex) : boolean +>30 === requestNodeIndex : boolean +>30 : 30 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_30_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_30_4 : any[] + + if (((token === import47.FormControlName) && (30 === requestNodeIndex))) { return this._FormControlName_30_5; } +>((token === import47.FormControlName) && (30 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (30 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(30 === requestNodeIndex) : boolean +>30 === requestNodeIndex : boolean +>30 : 30 +>requestNodeIndex : number +>this._FormControlName_30_5 : import47.FormControlName +>this : this +>_FormControlName_30_5 : import47.FormControlName + + if (((token === import50.NgControl) && (30 === requestNodeIndex))) { return this._NgControl_30_6; } +>((token === import50.NgControl) && (30 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (30 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(30 === requestNodeIndex) : boolean +>30 === requestNodeIndex : boolean +>30 : 30 +>requestNodeIndex : number +>this._NgControl_30_6 : any +>this : this +>_NgControl_30_6 : any + + if (((token === import45.NgControlStatus) && (30 === requestNodeIndex))) { return this._NgControlStatus_30_7; } +>((token === import45.NgControlStatus) && (30 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (30 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(30 === requestNodeIndex) : boolean +>30 === requestNodeIndex : boolean +>30 : 30 +>requestNodeIndex : number +>this._NgControlStatus_30_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_30_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (33 === requestNodeIndex))) { return this._DefaultValueAccessor_33_3; } +>((token === import46.DefaultValueAccessor) && (33 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (33 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(33 === requestNodeIndex) : boolean +>33 === requestNodeIndex : boolean +>33 : 33 +>requestNodeIndex : number +>this._DefaultValueAccessor_33_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_33_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_33_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (33 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(33 === requestNodeIndex) : boolean +>33 === requestNodeIndex : boolean +>33 : 33 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_33_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_33_4 : any[] + + if (((token === import47.FormControlName) && (33 === requestNodeIndex))) { return this._FormControlName_33_5; } +>((token === import47.FormControlName) && (33 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (33 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(33 === requestNodeIndex) : boolean +>33 === requestNodeIndex : boolean +>33 : 33 +>requestNodeIndex : number +>this._FormControlName_33_5 : import47.FormControlName +>this : this +>_FormControlName_33_5 : import47.FormControlName + + if (((token === import50.NgControl) && (33 === requestNodeIndex))) { return this._NgControl_33_6; } +>((token === import50.NgControl) && (33 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (33 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(33 === requestNodeIndex) : boolean +>33 === requestNodeIndex : boolean +>33 : 33 +>requestNodeIndex : number +>this._NgControl_33_6 : any +>this : this +>_NgControl_33_6 : any + + if (((token === import45.NgControlStatus) && (33 === requestNodeIndex))) { return this._NgControlStatus_33_7; } +>((token === import45.NgControlStatus) && (33 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (33 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(33 === requestNodeIndex) : boolean +>33 === requestNodeIndex : boolean +>33 : 33 +>requestNodeIndex : number +>this._NgControlStatus_33_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_33_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (36 === requestNodeIndex))) { return this._DefaultValueAccessor_36_3; } +>((token === import46.DefaultValueAccessor) && (36 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (36 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(36 === requestNodeIndex) : boolean +>36 === requestNodeIndex : boolean +>36 : 36 +>requestNodeIndex : number +>this._DefaultValueAccessor_36_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_36_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_36_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (36 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(36 === requestNodeIndex) : boolean +>36 === requestNodeIndex : boolean +>36 : 36 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_36_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_36_4 : any[] + + if (((token === import47.FormControlName) && (36 === requestNodeIndex))) { return this._FormControlName_36_5; } +>((token === import47.FormControlName) && (36 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (36 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(36 === requestNodeIndex) : boolean +>36 === requestNodeIndex : boolean +>36 : 36 +>requestNodeIndex : number +>this._FormControlName_36_5 : import47.FormControlName +>this : this +>_FormControlName_36_5 : import47.FormControlName + + if (((token === import50.NgControl) && (36 === requestNodeIndex))) { return this._NgControl_36_6; } +>((token === import50.NgControl) && (36 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (36 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(36 === requestNodeIndex) : boolean +>36 === requestNodeIndex : boolean +>36 : 36 +>requestNodeIndex : number +>this._NgControl_36_6 : any +>this : this +>_NgControl_36_6 : any + + if (((token === import45.NgControlStatus) && (36 === requestNodeIndex))) { return this._NgControlStatus_36_7; } +>((token === import45.NgControlStatus) && (36 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (36 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(36 === requestNodeIndex) : boolean +>36 === requestNodeIndex : boolean +>36 : 36 +>requestNodeIndex : number +>this._NgControlStatus_36_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_36_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (39 === requestNodeIndex))) { return this._DefaultValueAccessor_39_3; } +>((token === import46.DefaultValueAccessor) && (39 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (39 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(39 === requestNodeIndex) : boolean +>39 === requestNodeIndex : boolean +>39 : 39 +>requestNodeIndex : number +>this._DefaultValueAccessor_39_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_39_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_39_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (39 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(39 === requestNodeIndex) : boolean +>39 === requestNodeIndex : boolean +>39 : 39 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_39_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_39_4 : any[] + + if (((token === import47.FormControlName) && (39 === requestNodeIndex))) { return this._FormControlName_39_5; } +>((token === import47.FormControlName) && (39 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (39 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(39 === requestNodeIndex) : boolean +>39 === requestNodeIndex : boolean +>39 : 39 +>requestNodeIndex : number +>this._FormControlName_39_5 : import47.FormControlName +>this : this +>_FormControlName_39_5 : import47.FormControlName + + if (((token === import50.NgControl) && (39 === requestNodeIndex))) { return this._NgControl_39_6; } +>((token === import50.NgControl) && (39 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (39 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(39 === requestNodeIndex) : boolean +>39 === requestNodeIndex : boolean +>39 : 39 +>requestNodeIndex : number +>this._NgControl_39_6 : any +>this : this +>_NgControl_39_6 : any + + if (((token === import45.NgControlStatus) && (39 === requestNodeIndex))) { return this._NgControlStatus_39_7; } +>((token === import45.NgControlStatus) && (39 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (39 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(39 === requestNodeIndex) : boolean +>39 === requestNodeIndex : boolean +>39 : 39 +>requestNodeIndex : number +>this._NgControlStatus_39_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_39_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (42 === requestNodeIndex))) { return this._DefaultValueAccessor_42_3; } +>((token === import46.DefaultValueAccessor) && (42 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (42 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(42 === requestNodeIndex) : boolean +>42 === requestNodeIndex : boolean +>42 : 42 +>requestNodeIndex : number +>this._DefaultValueAccessor_42_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_42_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_42_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (42 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(42 === requestNodeIndex) : boolean +>42 === requestNodeIndex : boolean +>42 : 42 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_42_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_42_4 : any[] + + if (((token === import47.FormControlName) && (42 === requestNodeIndex))) { return this._FormControlName_42_5; } +>((token === import47.FormControlName) && (42 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (42 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(42 === requestNodeIndex) : boolean +>42 === requestNodeIndex : boolean +>42 : 42 +>requestNodeIndex : number +>this._FormControlName_42_5 : import47.FormControlName +>this : this +>_FormControlName_42_5 : import47.FormControlName + + if (((token === import50.NgControl) && (42 === requestNodeIndex))) { return this._NgControl_42_6; } +>((token === import50.NgControl) && (42 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (42 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(42 === requestNodeIndex) : boolean +>42 === requestNodeIndex : boolean +>42 : 42 +>requestNodeIndex : number +>this._NgControl_42_6 : any +>this : this +>_NgControl_42_6 : any + + if (((token === import45.NgControlStatus) && (42 === requestNodeIndex))) { return this._NgControlStatus_42_7; } +>((token === import45.NgControlStatus) && (42 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (42 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(42 === requestNodeIndex) : boolean +>42 === requestNodeIndex : boolean +>42 : 42 +>requestNodeIndex : number +>this._NgControlStatus_42_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_42_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (45 === requestNodeIndex))) { return this._DefaultValueAccessor_45_3; } +>((token === import46.DefaultValueAccessor) && (45 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (45 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(45 === requestNodeIndex) : boolean +>45 === requestNodeIndex : boolean +>45 : 45 +>requestNodeIndex : number +>this._DefaultValueAccessor_45_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_45_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_45_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (45 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(45 === requestNodeIndex) : boolean +>45 === requestNodeIndex : boolean +>45 : 45 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_45_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_45_4 : any[] + + if (((token === import47.FormControlName) && (45 === requestNodeIndex))) { return this._FormControlName_45_5; } +>((token === import47.FormControlName) && (45 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (45 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(45 === requestNodeIndex) : boolean +>45 === requestNodeIndex : boolean +>45 : 45 +>requestNodeIndex : number +>this._FormControlName_45_5 : import47.FormControlName +>this : this +>_FormControlName_45_5 : import47.FormControlName + + if (((token === import50.NgControl) && (45 === requestNodeIndex))) { return this._NgControl_45_6; } +>((token === import50.NgControl) && (45 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (45 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(45 === requestNodeIndex) : boolean +>45 === requestNodeIndex : boolean +>45 : 45 +>requestNodeIndex : number +>this._NgControl_45_6 : any +>this : this +>_NgControl_45_6 : any + + if (((token === import45.NgControlStatus) && (45 === requestNodeIndex))) { return this._NgControlStatus_45_7; } +>((token === import45.NgControlStatus) && (45 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (45 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(45 === requestNodeIndex) : boolean +>45 === requestNodeIndex : boolean +>45 : 45 +>requestNodeIndex : number +>this._NgControlStatus_45_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_45_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (48 === requestNodeIndex))) { return this._DefaultValueAccessor_48_3; } +>((token === import46.DefaultValueAccessor) && (48 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (48 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(48 === requestNodeIndex) : boolean +>48 === requestNodeIndex : boolean +>48 : 48 +>requestNodeIndex : number +>this._DefaultValueAccessor_48_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_48_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_48_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (48 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(48 === requestNodeIndex) : boolean +>48 === requestNodeIndex : boolean +>48 : 48 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_48_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_48_4 : any[] + + if (((token === import47.FormControlName) && (48 === requestNodeIndex))) { return this._FormControlName_48_5; } +>((token === import47.FormControlName) && (48 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (48 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(48 === requestNodeIndex) : boolean +>48 === requestNodeIndex : boolean +>48 : 48 +>requestNodeIndex : number +>this._FormControlName_48_5 : import47.FormControlName +>this : this +>_FormControlName_48_5 : import47.FormControlName + + if (((token === import50.NgControl) && (48 === requestNodeIndex))) { return this._NgControl_48_6; } +>((token === import50.NgControl) && (48 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (48 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(48 === requestNodeIndex) : boolean +>48 === requestNodeIndex : boolean +>48 : 48 +>requestNodeIndex : number +>this._NgControl_48_6 : any +>this : this +>_NgControl_48_6 : any + + if (((token === import45.NgControlStatus) && (48 === requestNodeIndex))) { return this._NgControlStatus_48_7; } +>((token === import45.NgControlStatus) && (48 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (48 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(48 === requestNodeIndex) : boolean +>48 === requestNodeIndex : boolean +>48 : 48 +>requestNodeIndex : number +>this._NgControlStatus_48_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_48_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (51 === requestNodeIndex))) { return this._DefaultValueAccessor_51_3; } +>((token === import46.DefaultValueAccessor) && (51 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (51 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(51 === requestNodeIndex) : boolean +>51 === requestNodeIndex : boolean +>51 : 51 +>requestNodeIndex : number +>this._DefaultValueAccessor_51_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_51_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_51_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (51 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(51 === requestNodeIndex) : boolean +>51 === requestNodeIndex : boolean +>51 : 51 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_51_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_51_4 : any[] + + if (((token === import47.FormControlName) && (51 === requestNodeIndex))) { return this._FormControlName_51_5; } +>((token === import47.FormControlName) && (51 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (51 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(51 === requestNodeIndex) : boolean +>51 === requestNodeIndex : boolean +>51 : 51 +>requestNodeIndex : number +>this._FormControlName_51_5 : import47.FormControlName +>this : this +>_FormControlName_51_5 : import47.FormControlName + + if (((token === import50.NgControl) && (51 === requestNodeIndex))) { return this._NgControl_51_6; } +>((token === import50.NgControl) && (51 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (51 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(51 === requestNodeIndex) : boolean +>51 === requestNodeIndex : boolean +>51 : 51 +>requestNodeIndex : number +>this._NgControl_51_6 : any +>this : this +>_NgControl_51_6 : any + + if (((token === import45.NgControlStatus) && (51 === requestNodeIndex))) { return this._NgControlStatus_51_7; } +>((token === import45.NgControlStatus) && (51 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (51 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(51 === requestNodeIndex) : boolean +>51 === requestNodeIndex : boolean +>51 : 51 +>requestNodeIndex : number +>this._NgControlStatus_51_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_51_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (54 === requestNodeIndex))) { return this._DefaultValueAccessor_54_3; } +>((token === import46.DefaultValueAccessor) && (54 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (54 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(54 === requestNodeIndex) : boolean +>54 === requestNodeIndex : boolean +>54 : 54 +>requestNodeIndex : number +>this._DefaultValueAccessor_54_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_54_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_54_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (54 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(54 === requestNodeIndex) : boolean +>54 === requestNodeIndex : boolean +>54 : 54 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_54_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_54_4 : any[] + + if (((token === import47.FormControlName) && (54 === requestNodeIndex))) { return this._FormControlName_54_5; } +>((token === import47.FormControlName) && (54 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (54 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(54 === requestNodeIndex) : boolean +>54 === requestNodeIndex : boolean +>54 : 54 +>requestNodeIndex : number +>this._FormControlName_54_5 : import47.FormControlName +>this : this +>_FormControlName_54_5 : import47.FormControlName + + if (((token === import50.NgControl) && (54 === requestNodeIndex))) { return this._NgControl_54_6; } +>((token === import50.NgControl) && (54 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (54 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(54 === requestNodeIndex) : boolean +>54 === requestNodeIndex : boolean +>54 : 54 +>requestNodeIndex : number +>this._NgControl_54_6 : any +>this : this +>_NgControl_54_6 : any + + if (((token === import45.NgControlStatus) && (54 === requestNodeIndex))) { return this._NgControlStatus_54_7; } +>((token === import45.NgControlStatus) && (54 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (54 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(54 === requestNodeIndex) : boolean +>54 === requestNodeIndex : boolean +>54 : 54 +>requestNodeIndex : number +>this._NgControlStatus_54_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_54_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (57 === requestNodeIndex))) { return this._DefaultValueAccessor_57_3; } +>((token === import46.DefaultValueAccessor) && (57 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (57 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(57 === requestNodeIndex) : boolean +>57 === requestNodeIndex : boolean +>57 : 57 +>requestNodeIndex : number +>this._DefaultValueAccessor_57_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_57_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_57_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (57 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(57 === requestNodeIndex) : boolean +>57 === requestNodeIndex : boolean +>57 : 57 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_57_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_57_4 : any[] + + if (((token === import47.FormControlName) && (57 === requestNodeIndex))) { return this._FormControlName_57_5; } +>((token === import47.FormControlName) && (57 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (57 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(57 === requestNodeIndex) : boolean +>57 === requestNodeIndex : boolean +>57 : 57 +>requestNodeIndex : number +>this._FormControlName_57_5 : import47.FormControlName +>this : this +>_FormControlName_57_5 : import47.FormControlName + + if (((token === import50.NgControl) && (57 === requestNodeIndex))) { return this._NgControl_57_6; } +>((token === import50.NgControl) && (57 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (57 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(57 === requestNodeIndex) : boolean +>57 === requestNodeIndex : boolean +>57 : 57 +>requestNodeIndex : number +>this._NgControl_57_6 : any +>this : this +>_NgControl_57_6 : any + + if (((token === import45.NgControlStatus) && (57 === requestNodeIndex))) { return this._NgControlStatus_57_7; } +>((token === import45.NgControlStatus) && (57 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (57 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(57 === requestNodeIndex) : boolean +>57 === requestNodeIndex : boolean +>57 : 57 +>requestNodeIndex : number +>this._NgControlStatus_57_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_57_7 : import45.NgControlStatus + + if (((token === import46.DefaultValueAccessor) && (60 === requestNodeIndex))) { return this._DefaultValueAccessor_60_3; } +>((token === import46.DefaultValueAccessor) && (60 === requestNodeIndex)) : boolean +>(token === import46.DefaultValueAccessor) && (60 === requestNodeIndex) : boolean +>(token === import46.DefaultValueAccessor) : boolean +>token === import46.DefaultValueAccessor : boolean +>token : any +>import46.DefaultValueAccessor : typeof import46.DefaultValueAccessor +>import46 : typeof import46 +>DefaultValueAccessor : typeof import46.DefaultValueAccessor +>(60 === requestNodeIndex) : boolean +>60 === requestNodeIndex : boolean +>60 : 60 +>requestNodeIndex : number +>this._DefaultValueAccessor_60_3 : import46.DefaultValueAccessor +>this : this +>_DefaultValueAccessor_60_3 : import46.DefaultValueAccessor + + if (((token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex))) { return this._NG_VALUE_ACCESSOR_60_4; } +>((token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex)) : boolean +>(token === import49.NG_VALUE_ACCESSOR) && (60 === requestNodeIndex) : boolean +>(token === import49.NG_VALUE_ACCESSOR) : boolean +>token === import49.NG_VALUE_ACCESSOR : boolean +>token : any +>import49.NG_VALUE_ACCESSOR : String +>import49 : typeof import49 +>NG_VALUE_ACCESSOR : String +>(60 === requestNodeIndex) : boolean +>60 === requestNodeIndex : boolean +>60 : 60 +>requestNodeIndex : number +>this._NG_VALUE_ACCESSOR_60_4 : any[] +>this : this +>_NG_VALUE_ACCESSOR_60_4 : any[] + + if (((token === import47.FormControlName) && (60 === requestNodeIndex))) { return this._FormControlName_60_5; } +>((token === import47.FormControlName) && (60 === requestNodeIndex)) : boolean +>(token === import47.FormControlName) && (60 === requestNodeIndex) : boolean +>(token === import47.FormControlName) : boolean +>token === import47.FormControlName : boolean +>token : any +>import47.FormControlName : typeof import47.FormControlName +>import47 : typeof import47 +>FormControlName : typeof import47.FormControlName +>(60 === requestNodeIndex) : boolean +>60 === requestNodeIndex : boolean +>60 : 60 +>requestNodeIndex : number +>this._FormControlName_60_5 : import47.FormControlName +>this : this +>_FormControlName_60_5 : import47.FormControlName + + if (((token === import50.NgControl) && (60 === requestNodeIndex))) { return this._NgControl_60_6; } +>((token === import50.NgControl) && (60 === requestNodeIndex)) : boolean +>(token === import50.NgControl) && (60 === requestNodeIndex) : boolean +>(token === import50.NgControl) : boolean +>token === import50.NgControl : boolean +>token : any +>import50.NgControl : typeof import50.NgControl +>import50 : typeof import50 +>NgControl : typeof import50.NgControl +>(60 === requestNodeIndex) : boolean +>60 === requestNodeIndex : boolean +>60 : 60 +>requestNodeIndex : number +>this._NgControl_60_6 : any +>this : this +>_NgControl_60_6 : any + + if (((token === import45.NgControlStatus) && (60 === requestNodeIndex))) { return this._NgControlStatus_60_7; } +>((token === import45.NgControlStatus) && (60 === requestNodeIndex)) : boolean +>(token === import45.NgControlStatus) && (60 === requestNodeIndex) : boolean +>(token === import45.NgControlStatus) : boolean +>token === import45.NgControlStatus : boolean +>token : any +>import45.NgControlStatus : typeof import45.NgControlStatus +>import45 : typeof import45 +>NgControlStatus : typeof import45.NgControlStatus +>(60 === requestNodeIndex) : boolean +>60 === requestNodeIndex : boolean +>60 : 60 +>requestNodeIndex : number +>this._NgControlStatus_60_7 : import45.NgControlStatus +>this : this +>_NgControlStatus_60_7 : import45.NgControlStatus + + if (((token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._FormGroupDirective_1_3; } +>((token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62))) : boolean +>(token === import44.FormGroupDirective) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(token === import44.FormGroupDirective) : boolean +>token === import44.FormGroupDirective : boolean +>token : any +>import44.FormGroupDirective : typeof import44.FormGroupDirective +>import44 : typeof import44 +>FormGroupDirective : typeof import44.FormGroupDirective +>((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(1 <= requestNodeIndex) && (requestNodeIndex <= 62) : boolean +>(1 <= requestNodeIndex) : boolean +>1 <= requestNodeIndex : boolean +>1 : 1 +>requestNodeIndex : number +>(requestNodeIndex <= 62) : boolean +>requestNodeIndex <= 62 : boolean +>requestNodeIndex : number +>62 : 62 +>this._FormGroupDirective_1_3 : import44.FormGroupDirective +>this : this +>_FormGroupDirective_1_3 : import44.FormGroupDirective + + if (((token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._ControlContainer_1_4; } +>((token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62))) : boolean +>(token === import51.ControlContainer) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(token === import51.ControlContainer) : boolean +>token === import51.ControlContainer : boolean +>token : any +>import51.ControlContainer : typeof import51.ControlContainer +>import51 : typeof import51 +>ControlContainer : typeof import51.ControlContainer +>((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(1 <= requestNodeIndex) && (requestNodeIndex <= 62) : boolean +>(1 <= requestNodeIndex) : boolean +>1 <= requestNodeIndex : boolean +>1 : 1 +>requestNodeIndex : number +>(requestNodeIndex <= 62) : boolean +>requestNodeIndex <= 62 : boolean +>requestNodeIndex : number +>62 : 62 +>this._ControlContainer_1_4 : any +>this : this +>_ControlContainer_1_4 : any + + if (((token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)))) { return this._NgControlStatusGroup_1_5; } +>((token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62))) : boolean +>(token === import45.NgControlStatusGroup) && ((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(token === import45.NgControlStatusGroup) : boolean +>token === import45.NgControlStatusGroup : boolean +>token : any +>import45.NgControlStatusGroup : typeof import45.NgControlStatusGroup +>import45 : typeof import45 +>NgControlStatusGroup : typeof import45.NgControlStatusGroup +>((1 <= requestNodeIndex) && (requestNodeIndex <= 62)) : boolean +>(1 <= requestNodeIndex) && (requestNodeIndex <= 62) : boolean +>(1 <= requestNodeIndex) : boolean +>1 <= requestNodeIndex : boolean +>1 : 1 +>requestNodeIndex : number +>(requestNodeIndex <= 62) : boolean +>requestNodeIndex <= 62 : boolean +>requestNodeIndex : number +>62 : 62 +>this._NgControlStatusGroup_1_5 : import45.NgControlStatusGroup +>this : this +>_NgControlStatusGroup_1_5 : import45.NgControlStatusGroup + + return notFoundResult; +>notFoundResult : any + } +} +export function viewFactory_AppComponent0(viewUtils:any,parentInjector:any,declarationEl:any):any { +>viewFactory_AppComponent0 : (viewUtils: any, parentInjector: any, declarationEl: any) => any +>viewUtils : any +>parentInjector : any +>declarationEl : any + + return new _View_AppComponent0(viewUtils,parentInjector,declarationEl); +>new _View_AppComponent0(viewUtils,parentInjector,declarationEl) : _View_AppComponent0 +>_View_AppComponent0 : typeof _View_AppComponent0 +>viewUtils : any +>parentInjector : any +>declarationEl : any +} + diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types index e40422450b4..64eb0ddfdbb 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types @@ -1,8 +1,8 @@ === tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts === enum E { a, b } >E : E ->a : E ->b : E +>a : E.a +>b : E.b var a: any; >a : any @@ -26,24 +26,24 @@ x1 += b; x1 += true; >x1 += true : any >x1 : any ->true : boolean +>true : true x1 += 0; >x1 += 0 : any >x1 : any ->0 : number +>0 : 0 x1 += ''; >x1 += '' : string >x1 : any ->'' : string +>'' : "" x1 += E.a; >x1 += E.a : any >x1 : any ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a x1 += {}; >x1 += {} : any @@ -76,24 +76,24 @@ x2 += b; x2 += true; >x2 += true : string >x2 : string ->true : boolean +>true : true x2 += 0; >x2 += 0 : string >x2 : string ->0 : number +>0 : 0 x2 += ''; >x2 += '' : string >x2 : string ->'' : string +>'' : "" x2 += E.a; >x2 += E.a : string >x2 : string ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a x2 += {}; >x2 += {} : string @@ -121,14 +121,14 @@ x3 += a; x3 += 0; >x3 += 0 : number >x3 : number ->0 : number +>0 : 0 x3 += E.a; >x3 += E.a : number >x3 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a x3 += null; >x3 += null : number @@ -152,14 +152,14 @@ x4 += a; x4 += 0; >x4 += 0 : number >x4 : E ->0 : number +>0 : 0 x4 += E.a; >x4 += E.a : number >x4 : E ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a x4 += null; >x4 += null : number @@ -190,7 +190,7 @@ x6 += a; x6 += ''; >x6 += '' : string >x6 : {} ->'' : string +>'' : "" var x7: void; >x7 : void diff --git a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt index 45be0c3129f..cadc5c945d1 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt +++ b/tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt @@ -1,29 +1,29 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(6,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'void'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(7,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'boolean'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(8,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'number'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(9,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'E'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(7,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'true'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(8,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and '0'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(9,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'E.a'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(10,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(11,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'boolean'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(12,1): error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'boolean'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(15,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'void'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(16,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'boolean'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(17,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'number'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(18,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'E'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(16,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'true'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(17,1): error TS2365: Operator '+=' cannot be applied to types '{}' and '0'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(18,1): error TS2365: Operator '+=' cannot be applied to types '{}' and 'E.a'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(19,1): error TS2365: Operator '+=' cannot be applied to types '{}' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(20,1): error TS2365: Operator '+=' cannot be applied to types '{}' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(21,1): error TS2365: Operator '+=' cannot be applied to types '{}' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(24,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'void'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(25,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'boolean'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(26,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'number'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(27,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'E'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(25,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'true'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(26,1): error TS2365: Operator '+=' cannot be applied to types 'void' and '0'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(27,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'E.a'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(28,1): error TS2365: Operator '+=' cannot be applied to types 'void' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(29,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(30,1): error TS2365: Operator '+=' cannot be applied to types 'void' and 'void'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(33,1): error TS2365: Operator '+=' cannot be applied to types 'number' and 'void'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(34,1): error TS2365: Operator '+=' cannot be applied to types 'number' and 'boolean'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(34,1): error TS2365: Operator '+=' cannot be applied to types 'number' and 'true'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(35,1): error TS2365: Operator '+=' cannot be applied to types 'number' and '{}'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(38,1): error TS2365: Operator '+=' cannot be applied to types 'E' and 'void'. -tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(39,1): error TS2365: Operator '+=' cannot be applied to types 'E' and 'boolean'. +tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(39,1): error TS2365: Operator '+=' cannot be applied to types 'E' and 'true'. tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts(40,1): error TS2365: Operator '+=' cannot be applied to types 'E' and '{}'. @@ -38,13 +38,13 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmen !!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'void'. x1 += true; ~~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'boolean'. +!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'true'. x1 += 0; ~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and '0'. x1 += E.a; ~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'E'. +!!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and 'E.a'. x1 += {}; ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'boolean' and '{}'. @@ -61,13 +61,13 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmen !!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'void'. x2 += true; ~~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'boolean'. +!!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'true'. x2 += 0; ~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'number'. +!!! error TS2365: Operator '+=' cannot be applied to types '{}' and '0'. x2 += E.a; ~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'E'. +!!! error TS2365: Operator '+=' cannot be applied to types '{}' and 'E.a'. x2 += {}; ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types '{}' and '{}'. @@ -84,13 +84,13 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmen !!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'void'. x3 += true; ~~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'boolean'. +!!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'true'. x3 += 0; ~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'number'. +!!! error TS2365: Operator '+=' cannot be applied to types 'void' and '0'. x3 += E.a; ~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'E'. +!!! error TS2365: Operator '+=' cannot be applied to types 'void' and 'E.a'. x3 += {}; ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'void' and '{}'. @@ -107,7 +107,7 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmen !!! error TS2365: Operator '+=' cannot be applied to types 'number' and 'void'. x4 += true; ~~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'number' and 'boolean'. +!!! error TS2365: Operator '+=' cannot be applied to types 'number' and 'true'. x4 += {}; ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'number' and '{}'. @@ -118,7 +118,7 @@ tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmen !!! error TS2365: Operator '+=' cannot be applied to types 'E' and 'void'. x5 += true; ~~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'E' and 'boolean'. +!!! error TS2365: Operator '+=' cannot be applied to types 'E' and 'true'. x5 += {}; ~~~~~~~~ !!! error TS2365: Operator '+=' cannot be applied to types 'E' and '{}'. \ No newline at end of file diff --git a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types index 3b346bac53b..81fff36594e 100644 --- a/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types +++ b/tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.types @@ -1,9 +1,9 @@ === tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: any; >a : any diff --git a/tests/baselines/reference/compoundAssignmentLHSIsReference.types b/tests/baselines/reference/compoundAssignmentLHSIsReference.types index 12c601d377f..4816307f508 100644 --- a/tests/baselines/reference/compoundAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundAssignmentLHSIsReference.types @@ -54,14 +54,14 @@ x3['a'] *= value; >x3['a'] *= value : number >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any x3['a'] += value; >x3['a'] += value : any >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any // parentheses, the contained expression is reference @@ -115,7 +115,7 @@ function fn2(x4: number) { >(x3['a']) : number >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any (x3['a']) += value; @@ -123,6 +123,6 @@ function fn2(x4: number) { >(x3['a']) : number >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types index 060a231da1b..46f9d762ca3 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSCanBeAssigned1.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es7/exponentiationOperator/compoundExponentiationAssignmentLHSCanBeAssigned1.ts === enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a: any; >a : any diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.js b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.js index f41962cf9e1..dfee41fad81 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.js +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.js @@ -36,8 +36,8 @@ function fn1(x2) { } // property accesses var x3; -(_a = x3, _a.a = Math.pow(_a.a, value)); -(_b = x3, _b['a'] = Math.pow(_b['a'], value)); +(_a = x3).a = Math.pow(_a.a, value); +(_b = x3)[_c = 'a'] = Math.pow(_b[_c], value); // parentheses, the contained expression is reference (x1) = Math.pow((x1), value); function fn2(x4) { @@ -45,4 +45,4 @@ function fn2(x4) { } (x3.a) = Math.pow((x3.a), value); (x3['a']) = Math.pow((x3['a']), value); -var _a, _b; +var _a, _b, _c; diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types index 35f42f4fa77..55b90382d7b 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types @@ -37,7 +37,7 @@ x3['a'] **= value; >x3['a'] **= value : number >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any // parentheses, the contained expression is reference @@ -71,6 +71,6 @@ function fn2(x4: number) { >(x3['a']) : number >x3['a'] : number >x3 : { a: number; } ->'a' : string +>'a' : "a" >value : any diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsValue.js b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsValue.js index 70ebca89005..16500b823b8 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsValue.js +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsValue.js @@ -134,21 +134,21 @@ false = Math.pow(false, value); } value; // array literals -['', ''] = Math.pow(['', ''], value); +_a = Math.pow(['', ''], value), '' = _a[0], '' = _a[1]; // super var Derived = (function (_super) { __extends(Derived, _super); function Derived() { _super.call(this); - (_a = _super.prototype, _a. = Math.pow(_a., value)); + (_a = _super.prototype). = Math.pow(_a., value); var _a; } Derived.prototype.foo = function () { - (_a = _super.prototype, _a. = Math.pow(_a., value)); + (_a = _super.prototype). = Math.pow(_a., value); var _a; }; Derived.sfoo = function () { - (_a = _super, _a. = Math.pow(_a., value)); + (_a = _super). = Math.pow(_a., value); var _a; }; return Derived; @@ -175,3 +175,4 @@ foo() = Math.pow(foo(), value); ([]) = Math.pow(([]), value); (function baz1() { }) = Math.pow((function baz1() { }), value); (foo()) = Math.pow((foo()), value); +var _a; diff --git a/tests/baselines/reference/compoundVarDecl1.types b/tests/baselines/reference/compoundVarDecl1.types index 40f12ea52c0..08c1716760d 100644 --- a/tests/baselines/reference/compoundVarDecl1.types +++ b/tests/baselines/reference/compoundVarDecl1.types @@ -2,18 +2,18 @@ module Foo { var a = 1, b = 1; a = b + 2; } >Foo : typeof Foo >a : number ->1 : number +>1 : 1 >b : number ->1 : number +>1 : 1 >a = b + 2 : number >a : number >b + 2 : number >b : number ->2 : number +>2 : 2 var foo = 4, bar = 5; >foo : number ->4 : number +>4 : 4 >bar : number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1.errors.txt b/tests/baselines/reference/computedPropertiesInDestructuring1.errors.txt index dc536e544b2..283f1d439b8 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1.errors.txt +++ b/tests/baselines/reference/computedPropertiesInDestructuring1.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1.ts(20,8): error TS2349: Cannot invoke an expression whose type lacks a call signature. tests/cases/compiler/computedPropertiesInDestructuring1.ts(21,12): error TS2339: Property 'toExponential' does not exist on type 'string'. tests/cases/compiler/computedPropertiesInDestructuring1.ts(33,4): error TS2349: Cannot invoke an expression whose type lacks a call signature. -tests/cases/compiler/computedPropertiesInDestructuring1.ts(34,5): error TS2365: Operator '+' cannot be applied to types 'number' and '{}'. +tests/cases/compiler/computedPropertiesInDestructuring1.ts(34,5): error TS2365: Operator '+' cannot be applied to types '1' and '{}'. ==== tests/cases/compiler/computedPropertiesInDestructuring1.ts (4 errors) ==== @@ -46,7 +46,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1.ts(34,5): error TS2365: !!! error TS2349: Cannot invoke an expression whose type lacks a call signature. [{[(1 + {})]: bar4}] = [{bar: "bar"}]; ~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'number' and '{}'. +!!! error TS2365: Operator '+' cannot be applied to types '1' and '{}'. \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.errors.txt b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.errors.txt index 96ab892d1b9..0affcfebb0c 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(21,8): error TS2349: Cannot invoke an expression whose type lacks a call signature. tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(22,12): error TS2339: Property 'toExponential' does not exist on type 'string'. tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(34,4): error TS2349: Cannot invoke an expression whose type lacks a call signature. -tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(35,5): error TS2365: Operator '+' cannot be applied to types 'number' and '{}'. +tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(35,5): error TS2365: Operator '+' cannot be applied to types '1' and '{}'. ==== tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts (4 errors) ==== @@ -47,5 +47,5 @@ tests/cases/compiler/computedPropertiesInDestructuring1_ES6.ts(35,5): error TS23 !!! error TS2349: Cannot invoke an expression whose type lacks a call signature. [{[(1 + {})]: bar4}] = [{bar: "bar"}]; ~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'number' and '{}'. +!!! error TS2365: Operator '+' cannot be applied to types '1' and '{}'. \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertiesInDestructuring2.types b/tests/baselines/reference/computedPropertiesInDestructuring2.types index 0fa20662270..137a0793e6d 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring2.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring2.types @@ -2,7 +2,7 @@ let foo2 = () => "bar"; >foo2 : () => string >() => "bar" : () => string ->"bar" : string +>"bar" : "bar" let {[foo2()]: bar3} = {}; >foo2() : string diff --git a/tests/baselines/reference/computedPropertiesInDestructuring2_ES6.types b/tests/baselines/reference/computedPropertiesInDestructuring2_ES6.types index f0d8b1033c8..979689438d2 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring2_ES6.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring2_ES6.types @@ -3,7 +3,7 @@ let foo2 = () => "bar"; >foo2 : () => string >() => "bar" : () => string ->"bar" : string +>"bar" : "bar" let {[foo2()]: bar3} = {}; >foo2() : string diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js index 14d9235b12b..302f9355be8 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.js +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -32,6 +32,5 @@ var v = (_a = {}, _a[true] = function () { }, _a["hello bye"] = function () { }, _a["hello " + a + " bye"] = function () { }, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.types b/tests/baselines/reference/computedPropertyNames10_ES5.types index b9d999397ab..650890fb10e 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.types +++ b/tests/baselines/reference/computedPropertyNames10_ES5.types @@ -33,17 +33,17 @@ var v = { >s : string [""]() { }, ->"" : string +>"" : "" [0]() { }, ->0 : number +>0 : 0 [a]() { }, >a : any [true]() { }, >true : any ->true : boolean +>true : true [`hello bye`]() { }, >`hello bye` : string diff --git a/tests/baselines/reference/computedPropertyNames10_ES6.types b/tests/baselines/reference/computedPropertyNames10_ES6.types index 1883febb39b..2ff86ed9712 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES6.types +++ b/tests/baselines/reference/computedPropertyNames10_ES6.types @@ -33,17 +33,17 @@ var v = { >s : string [""]() { }, ->"" : string +>"" : "" [0]() { }, ->0 : number +>0 : 0 [a]() { }, >a : any [true]() { }, >true : any ->true : boolean +>true : true [`hello bye`]() { }, >`hello bye` : string diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.js b/tests/baselines/reference/computedPropertyNames11_ES5.js index 64c0b0bd67e..568cce441e1 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.js +++ b/tests/baselines/reference/computedPropertyNames11_ES5.js @@ -76,6 +76,5 @@ var v = (_a = {}, enumerable: true, configurable: true }), - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.types b/tests/baselines/reference/computedPropertyNames11_ES5.types index e15b46cc6c1..0787a889f40 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.types +++ b/tests/baselines/reference/computedPropertyNames11_ES5.types @@ -14,7 +14,7 @@ var v = { get [s]() { return 0; }, >s : string ->0 : number +>0 : 0 set [n](v) { }, >n : number @@ -24,7 +24,7 @@ var v = { >s + s : string >s : string >s : string ->0 : number +>0 : 0 set [s + n](v) { }, >s + n : string @@ -35,15 +35,15 @@ var v = { get [+s]() { return 0; }, >+s : number >s : string ->0 : number +>0 : 0 set [""](v) { }, ->"" : string +>"" : "" >v : any get [0]() { return 0; }, ->0 : number ->0 : number +>0 : 0 +>0 : 0 set [a](v) { }, >a : any @@ -51,8 +51,8 @@ var v = { get [true]() { return 0; }, >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 set [`hello bye`](v) { }, >`hello bye` : string @@ -61,5 +61,5 @@ var v = { get [`hello ${a} bye`]() { return 0; } >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames11_ES6.types b/tests/baselines/reference/computedPropertyNames11_ES6.types index eb5fc105a7a..4783d07a2af 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES6.types +++ b/tests/baselines/reference/computedPropertyNames11_ES6.types @@ -14,7 +14,7 @@ var v = { get [s]() { return 0; }, >s : string ->0 : number +>0 : 0 set [n](v) { }, >n : number @@ -24,7 +24,7 @@ var v = { >s + s : string >s : string >s : string ->0 : number +>0 : 0 set [s + n](v) { }, >s + n : string @@ -35,15 +35,15 @@ var v = { get [+s]() { return 0; }, >+s : number >s : string ->0 : number +>0 : 0 set [""](v) { }, ->"" : string +>"" : "" >v : any get [0]() { return 0; }, ->0 : number ->0 : number +>0 : 0 +>0 : 0 set [a](v) { }, >a : any @@ -51,8 +51,8 @@ var v = { get [true]() { return 0; }, >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 set [`hello bye`](v) { }, >`hello bye` : string @@ -61,5 +61,5 @@ var v = { get [`hello ${a} bye`]() { return 0; } >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames12_ES5.js b/tests/baselines/reference/computedPropertyNames12_ES5.js index 2aec8856286..10427b5dc13 100644 --- a/tests/baselines/reference/computedPropertyNames12_ES5.js +++ b/tests/baselines/reference/computedPropertyNames12_ES5.js @@ -26,6 +26,6 @@ var C = (function () { this[s + n] = 2; this["hello bye"] = 0; } - C["hello " + a + " bye"] = 0; return C; }()); +C["hello " + a + " bye"] = 0; diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.types b/tests/baselines/reference/computedPropertyNames13_ES5.types index 59694df32a7..2585fe15f94 100644 --- a/tests/baselines/reference/computedPropertyNames13_ES5.types +++ b/tests/baselines/reference/computedPropertyNames13_ES5.types @@ -32,17 +32,17 @@ class C { >s : string static [""]() { } ->"" : string +>"" : "" [0]() { } ->0 : number +>0 : 0 [a]() { } >a : any static [true]() { } >true : any ->true : boolean +>true : true [`hello bye`]() { } >`hello bye` : string diff --git a/tests/baselines/reference/computedPropertyNames13_ES6.types b/tests/baselines/reference/computedPropertyNames13_ES6.types index a2d0f14e72c..61e8cae265c 100644 --- a/tests/baselines/reference/computedPropertyNames13_ES6.types +++ b/tests/baselines/reference/computedPropertyNames13_ES6.types @@ -32,17 +32,17 @@ class C { >s : string static [""]() { } ->"" : string +>"" : "" [0]() { } ->0 : number +>0 : 0 [a]() { } >a : any static [true]() { } >true : any ->true : boolean +>true : true [`hello bye`]() { } >`hello bye` : string diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.types b/tests/baselines/reference/computedPropertyNames16_ES5.types index ab7ea23cffe..5c0fb34bc25 100644 --- a/tests/baselines/reference/computedPropertyNames16_ES5.types +++ b/tests/baselines/reference/computedPropertyNames16_ES5.types @@ -13,7 +13,7 @@ class C { get [s]() { return 0;} >s : string ->0 : number +>0 : 0 set [n](v) { } >n : number @@ -23,7 +23,7 @@ class C { >s + s : string >s : string >s : string ->0 : number +>0 : 0 set [s + n](v) { } >s + n : string @@ -34,15 +34,15 @@ class C { get [+s]() { return 0; } >+s : number >s : string ->0 : number +>0 : 0 static set [""](v) { } ->"" : string +>"" : "" >v : any get [0]() { return 0; } ->0 : number ->0 : number +>0 : 0 +>0 : 0 set [a](v) { } >a : any @@ -50,8 +50,8 @@ class C { static get [true]() { return 0; } >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 set [`hello bye`](v) { } >`hello bye` : string @@ -60,5 +60,5 @@ class C { get [`hello ${a} bye`]() { return 0; } >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames16_ES6.types b/tests/baselines/reference/computedPropertyNames16_ES6.types index c7286e6640e..7ebb2cd0060 100644 --- a/tests/baselines/reference/computedPropertyNames16_ES6.types +++ b/tests/baselines/reference/computedPropertyNames16_ES6.types @@ -13,7 +13,7 @@ class C { get [s]() { return 0;} >s : string ->0 : number +>0 : 0 set [n](v) { } >n : number @@ -23,7 +23,7 @@ class C { >s + s : string >s : string >s : string ->0 : number +>0 : 0 set [s + n](v) { } >s + n : string @@ -34,15 +34,15 @@ class C { get [+s]() { return 0; } >+s : number >s : string ->0 : number +>0 : 0 static set [""](v) { } ->"" : string +>"" : "" >v : any get [0]() { return 0; } ->0 : number ->0 : number +>0 : 0 +>0 : 0 set [a](v) { } >a : any @@ -50,8 +50,8 @@ class C { static get [true]() { return 0; } >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 set [`hello bye`](v) { } >`hello bye` : string @@ -60,5 +60,5 @@ class C { get [`hello ${a} bye`]() { return 0; } >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.js b/tests/baselines/reference/computedPropertyNames18_ES5.js index b65c7fd4f7d..a62af506531 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES5.js +++ b/tests/baselines/reference/computedPropertyNames18_ES5.js @@ -9,7 +9,6 @@ function foo() { function foo() { var obj = (_a = {}, _a[this.bar] = 0, - _a - ); + _a); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.types b/tests/baselines/reference/computedPropertyNames18_ES5.types index d6808a8edc0..e9de10f5ace 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES5.types +++ b/tests/baselines/reference/computedPropertyNames18_ES5.types @@ -10,6 +10,6 @@ function foo() { >this.bar : any >this : any >bar : any ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames18_ES6.types b/tests/baselines/reference/computedPropertyNames18_ES6.types index 11d58e48c69..1b376e9a1e3 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES6.types +++ b/tests/baselines/reference/computedPropertyNames18_ES6.types @@ -10,6 +10,6 @@ function foo() { >this.bar : any >this : any >bar : any ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.js b/tests/baselines/reference/computedPropertyNames19_ES5.js index 36f3e66c7c2..bda3e01bbed 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.js +++ b/tests/baselines/reference/computedPropertyNames19_ES5.js @@ -10,7 +10,6 @@ var M; (function (M) { var obj = (_a = {}, _a[this.bar] = 0, - _a - ); + _a); var _a; })(M || (M = {})); diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.js b/tests/baselines/reference/computedPropertyNames1_ES5.js index 4fdec28c7aa..75bbe909927 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.js +++ b/tests/baselines/reference/computedPropertyNames1_ES5.js @@ -17,6 +17,5 @@ var v = (_a = {}, enumerable: true, configurable: true }), - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.types b/tests/baselines/reference/computedPropertyNames1_ES5.types index bcff3b34177..d0c11e448bb 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.types +++ b/tests/baselines/reference/computedPropertyNames1_ES5.types @@ -1,17 +1,17 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts === var v = { ->v : { [x: number]: number | string; } ->{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : { [x: number]: number | string; } +>v : { [x: number]: string | number; } +>{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : { [x: number]: string | number; } get [0 + 1]() { return 0 }, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 set [0 + 1](v: string) { } //No error >0 + 1 : number ->0 : number ->1 : number +>0 : 0 +>1 : 1 >v : string } diff --git a/tests/baselines/reference/computedPropertyNames1_ES6.types b/tests/baselines/reference/computedPropertyNames1_ES6.types index df2237a463f..6fddad0067c 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES6.types +++ b/tests/baselines/reference/computedPropertyNames1_ES6.types @@ -1,17 +1,17 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES6.ts === var v = { ->v : { [x: number]: number | string; } ->{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : { [x: number]: number | string; } +>v : { [x: number]: string | number; } +>{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : { [x: number]: string | number; } get [0 + 1]() { return 0 }, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 set [0 + 1](v: string) { } //No error >0 + 1 : number ->0 : number ->1 : number +>0 : 0 +>1 : 1 >v : string } diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.js b/tests/baselines/reference/computedPropertyNames20_ES5.js index 65acd7fa08f..1eec0a7bcdb 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES5.js +++ b/tests/baselines/reference/computedPropertyNames20_ES5.js @@ -6,6 +6,5 @@ var obj = { //// [computedPropertyNames20_ES5.js] var obj = (_a = {}, _a[this.bar] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.types b/tests/baselines/reference/computedPropertyNames20_ES5.types index 65ee55be379..d685b52ef06 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES5.types +++ b/tests/baselines/reference/computedPropertyNames20_ES5.types @@ -7,5 +7,5 @@ var obj = { >this.bar : any >this : any >bar : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames20_ES6.types b/tests/baselines/reference/computedPropertyNames20_ES6.types index 91e5c8d7843..af475ee66e6 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES6.types +++ b/tests/baselines/reference/computedPropertyNames20_ES6.types @@ -7,5 +7,5 @@ var obj = { >this.bar : any >this : any >bar : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js index 5448f4dcf8d..721418ee930 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.js +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -15,8 +15,7 @@ var C = (function () { C.prototype.bar = function () { var obj = (_a = {}, _a[this.bar()] = function () { }, - _a - ); + _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.types b/tests/baselines/reference/computedPropertyNames22_ES5.types index eeec22d2e61..e244d4fb554 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.types +++ b/tests/baselines/reference/computedPropertyNames22_ES5.types @@ -17,6 +17,6 @@ class C { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames22_ES6.types b/tests/baselines/reference/computedPropertyNames22_ES6.types index af9ef9d3a31..06329679bfb 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES6.types +++ b/tests/baselines/reference/computedPropertyNames22_ES6.types @@ -17,6 +17,6 @@ class C { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js index f38ac0b2e0d..b03dd285ced 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.js +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -35,8 +35,7 @@ var C = (function (_super) { C.prototype.foo = function () { var obj = (_a = {}, _a[_super.prototype.bar.call(this)] = function () { }, - _a - ); + _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.types b/tests/baselines/reference/computedPropertyNames25_ES5.types index f1acc296709..aed42994255 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.types +++ b/tests/baselines/reference/computedPropertyNames25_ES5.types @@ -6,7 +6,7 @@ class Base { >bar : () => number return 0; ->0 : number +>0 : 0 } } class C extends Base { @@ -28,6 +28,6 @@ class C extends Base { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames25_ES6.types b/tests/baselines/reference/computedPropertyNames25_ES6.types index 26c38013906..73a4ca912f9 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES6.types +++ b/tests/baselines/reference/computedPropertyNames25_ES6.types @@ -6,7 +6,7 @@ class Base { >bar : () => number return 0; ->0 : number +>0 : 0 } } class C extends Base { @@ -28,6 +28,6 @@ class C extends Base { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js index b5b1fdf77aa..ed15bbf0145 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.js +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -27,8 +27,7 @@ var C = (function (_super) { _super.call(this); var obj = (_a = {}, _a[(_super.call(this), "prop")] = function () { }, - _a - ); + _a); var _a; } return C; diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.types b/tests/baselines/reference/computedPropertyNames28_ES5.types index 89a2a7ac017..0d816d980fe 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.types +++ b/tests/baselines/reference/computedPropertyNames28_ES5.types @@ -16,11 +16,11 @@ class C extends Base { >{ [(super(), "prop")]() { } } : { [x: string]: () => void; } [(super(), "prop")]() { } ->(super(), "prop") : string ->super(), "prop" : string +>(super(), "prop") : "prop" +>super(), "prop" : "prop" >super() : void >super : typeof Base ->"prop" : string +>"prop" : "prop" }; } diff --git a/tests/baselines/reference/computedPropertyNames28_ES6.types b/tests/baselines/reference/computedPropertyNames28_ES6.types index df020c9a5ff..7c803ec43af 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES6.types +++ b/tests/baselines/reference/computedPropertyNames28_ES6.types @@ -16,11 +16,11 @@ class C extends Base { >{ [(super(), "prop")]() { } } : { [x: string]: () => void; } [(super(), "prop")]() { } ->(super(), "prop") : string ->super(), "prop" : string +>(super(), "prop") : "prop" +>super(), "prop" : "prop" >super() : void >super : typeof Base ->"prop" : string +>"prop" : "prop" }; } diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js index 46ba529d7a5..966081ae035 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.js +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -18,9 +18,9 @@ var C = (function () { var _this = this; (function () { var obj = (_a = {}, - _a[_this.bar()] = function () { }, - _a - ); + _a[_this.bar()] = function () { } // needs capture + , + _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.types b/tests/baselines/reference/computedPropertyNames29_ES5.types index d2f89ef6b18..3f825c244e0 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.types +++ b/tests/baselines/reference/computedPropertyNames29_ES5.types @@ -21,6 +21,6 @@ class C { }; } return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames29_ES6.js b/tests/baselines/reference/computedPropertyNames29_ES6.js index 1aa479555d4..4ba5dd20dbe 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES6.js +++ b/tests/baselines/reference/computedPropertyNames29_ES6.js @@ -13,11 +13,11 @@ class C { //// [computedPropertyNames29_ES6.js] class C { bar() { - (() => { + () => { var obj = { [this.bar()]() { } // needs capture }; - }); + }; return 0; } } diff --git a/tests/baselines/reference/computedPropertyNames29_ES6.types b/tests/baselines/reference/computedPropertyNames29_ES6.types index bb324b2b382..a1375622271 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES6.types +++ b/tests/baselines/reference/computedPropertyNames29_ES6.types @@ -21,6 +21,6 @@ class C { }; } return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js index e787689d393..a900fd44c67 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.js +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -36,8 +36,7 @@ var C = (function (_super) { // illegal, and not capturing this is consistent with //treatment of other similar violations. _a[(_super.call(this), "prop")] = function () { }, - _a - ); + _a); var _a; }); } diff --git a/tests/baselines/reference/computedPropertyNames30_ES6.js b/tests/baselines/reference/computedPropertyNames30_ES6.js index 44a475fed92..0f993eab2ab 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES6.js +++ b/tests/baselines/reference/computedPropertyNames30_ES6.js @@ -21,13 +21,13 @@ class Base { class C extends Base { constructor() { super(); - (() => { + () => { var obj = { // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } }; - }); + }; } } diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js index 8417f103fb7..2e38e2a131f 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.js +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -38,9 +38,9 @@ var C = (function (_super) { var _this = this; (function () { var obj = (_a = {}, - _a[_super.prototype.bar.call(_this)] = function () { }, - _a - ); + _a[_super.prototype.bar.call(_this)] = function () { } // needs capture + , + _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.types b/tests/baselines/reference/computedPropertyNames31_ES5.types index 832b2bc067a..37661cbec11 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.types +++ b/tests/baselines/reference/computedPropertyNames31_ES5.types @@ -6,7 +6,7 @@ class Base { >bar : () => number return 0; ->0 : number +>0 : 0 } } class C extends Base { @@ -32,6 +32,6 @@ class C extends Base { }; } return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames31_ES6.js b/tests/baselines/reference/computedPropertyNames31_ES6.js index d17423223e3..e1ef58670c9 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES6.js +++ b/tests/baselines/reference/computedPropertyNames31_ES6.js @@ -23,11 +23,11 @@ class Base { } class C extends Base { foo() { - (() => { + () => { var obj = { [super.bar()]() { } // needs capture }; - }); + }; return 0; } } diff --git a/tests/baselines/reference/computedPropertyNames31_ES6.types b/tests/baselines/reference/computedPropertyNames31_ES6.types index 4f59b1e8c6d..dbb4f47662e 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES6.types +++ b/tests/baselines/reference/computedPropertyNames31_ES6.types @@ -6,7 +6,7 @@ class Base { >bar : () => number return 0; ->0 : number +>0 : 0 } } class C extends Base { @@ -32,6 +32,6 @@ class C extends Base { }; } return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js index 8db62818e22..e6d46b03c10 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.js +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -17,8 +17,7 @@ var C = (function () { C.prototype.bar = function () { var obj = (_a = {}, _a[foo()] = function () { }, - _a - ); + _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.types b/tests/baselines/reference/computedPropertyNames33_ES5.types index 7031981481f..046d4bf96a9 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.types +++ b/tests/baselines/reference/computedPropertyNames33_ES5.types @@ -2,7 +2,7 @@ function foo() { return '' } >foo : () => string >T : T ->'' : string +>'' : "" class C { >C : C @@ -22,6 +22,6 @@ class C { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames33_ES6.types b/tests/baselines/reference/computedPropertyNames33_ES6.types index 3c57daf2ace..07cf7c1639f 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES6.types +++ b/tests/baselines/reference/computedPropertyNames33_ES6.types @@ -2,7 +2,7 @@ function foo() { return '' } >foo : () => string >T : T ->'' : string +>'' : "" class C { >C : C @@ -22,6 +22,6 @@ class C { }; return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js index fa0af2897f7..3109c400422 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.js +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -17,8 +17,7 @@ var C = (function () { C.bar = function () { var obj = (_a = {}, _a[foo()] = function () { }, - _a - ); + _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.types b/tests/baselines/reference/computedPropertyNames37_ES5.types index 21b68c7c12c..b1ba3a4315e 100644 --- a/tests/baselines/reference/computedPropertyNames37_ES5.types +++ b/tests/baselines/reference/computedPropertyNames37_ES5.types @@ -17,12 +17,12 @@ class C { // Computed properties get ["get1"]() { return new Foo } ->"get1" : string +>"get1" : "get1" >new Foo : Foo >Foo : typeof Foo set ["set1"](p: Foo2) { } ->"set1" : string +>"set1" : "set1" >p : Foo2 >Foo2 : Foo2 } diff --git a/tests/baselines/reference/computedPropertyNames37_ES6.types b/tests/baselines/reference/computedPropertyNames37_ES6.types index e436a54172b..67c84380e8b 100644 --- a/tests/baselines/reference/computedPropertyNames37_ES6.types +++ b/tests/baselines/reference/computedPropertyNames37_ES6.types @@ -17,12 +17,12 @@ class C { // Computed properties get ["get1"]() { return new Foo } ->"get1" : string +>"get1" : "get1" >new Foo : Foo >Foo : typeof Foo set ["set1"](p: Foo2) { } ->"set1" : string +>"set1" : "set1" >p : Foo2 >Foo2 : Foo2 } diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.types b/tests/baselines/reference/computedPropertyNames41_ES5.types index 5aa7ae44404..0be69bec4a5 100644 --- a/tests/baselines/reference/computedPropertyNames41_ES5.types +++ b/tests/baselines/reference/computedPropertyNames41_ES5.types @@ -17,7 +17,7 @@ class C { // Computed properties static [""]() { return new Foo } ->"" : string +>"" : "" >new Foo : Foo >Foo : typeof Foo } diff --git a/tests/baselines/reference/computedPropertyNames41_ES6.types b/tests/baselines/reference/computedPropertyNames41_ES6.types index 70bfcf12a75..297a41eecec 100644 --- a/tests/baselines/reference/computedPropertyNames41_ES6.types +++ b/tests/baselines/reference/computedPropertyNames41_ES6.types @@ -17,7 +17,7 @@ class C { // Computed properties static [""]() { return new Foo } ->"" : string +>"" : "" >new Foo : Foo >Foo : typeof Foo } diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.js b/tests/baselines/reference/computedPropertyNames46_ES5.js index 307dadcbe91..815f5769f3b 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.js +++ b/tests/baselines/reference/computedPropertyNames46_ES5.js @@ -6,6 +6,5 @@ var o = { //// [computedPropertyNames46_ES5.js] var o = (_a = {}, _a["" || 0] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.types b/tests/baselines/reference/computedPropertyNames46_ES5.types index b8df0d56e13..7ea3ffda244 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.types +++ b/tests/baselines/reference/computedPropertyNames46_ES5.types @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts === var o = { ->o : { [x: string]: number; } ->{ ["" || 0]: 0} : { [x: string]: number; } +>o : { [x: number]: number; } +>{ ["" || 0]: 0} : { [x: number]: number; } ["" || 0]: 0 ->"" || 0 : string | number ->"" : string ->0 : number ->0 : number +>"" || 0 : 0 +>"" : "" +>0 : 0 +>0 : 0 }; diff --git a/tests/baselines/reference/computedPropertyNames46_ES6.types b/tests/baselines/reference/computedPropertyNames46_ES6.types index a786eca200c..3914f6facef 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES6.types +++ b/tests/baselines/reference/computedPropertyNames46_ES6.types @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES6.ts === var o = { ->o : { [x: string]: number; } ->{ ["" || 0]: 0} : { [x: string]: number; } +>o : { [x: number]: number; } +>{ ["" || 0]: 0} : { [x: number]: number; } ["" || 0]: 0 ->"" || 0 : string | number ->"" : string ->0 : number ->0 : number +>"" || 0 : 0 +>"" : "" +>0 : 0 +>0 : 0 }; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.js b/tests/baselines/reference/computedPropertyNames47_ES5.js index d03b614b29b..a2fff2110b4 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.js +++ b/tests/baselines/reference/computedPropertyNames47_ES5.js @@ -16,6 +16,5 @@ var E2; })(E2 || (E2 = {})); var o = (_a = {}, _a[E1.x || E2.x] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.types b/tests/baselines/reference/computedPropertyNames47_ES5.types index cdc2c3301f6..19811ae8ec2 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.types +++ b/tests/baselines/reference/computedPropertyNames47_ES5.types @@ -19,6 +19,6 @@ var o = { >E2.x : E2 >E2 : typeof E2 >x : E2 ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/computedPropertyNames47_ES6.types b/tests/baselines/reference/computedPropertyNames47_ES6.types index a923e934d66..46edecb450a 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES6.types +++ b/tests/baselines/reference/computedPropertyNames47_ES6.types @@ -19,6 +19,6 @@ var o = { >E2.x : E2 >E2 : typeof E2 >x : E2 ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.js b/tests/baselines/reference/computedPropertyNames48_ES5.js index 15123a98f30..55b08ef8301 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.js +++ b/tests/baselines/reference/computedPropertyNames48_ES5.js @@ -25,14 +25,11 @@ var E; var a; extractIndexer((_a = {}, _a[a] = "", - _a -)); // Should return string + _a)); // Should return string extractIndexer((_b = {}, _b[E.x] = "", - _b -)); // Should return string + _b)); // Should return string extractIndexer((_c = {}, _c["" || 0] = "", - _c -)); // Should return any (widened form of undefined) + _c)); // Should return any (widened form of undefined) var _a, _b, _c; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types index 12752d8abeb..545dc641434 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.types +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -21,7 +21,7 @@ extractIndexer({ [a]: "" >a : any ->"" : string +>"" : "" }); // Should return string @@ -34,19 +34,19 @@ extractIndexer({ >E.x : E >E : typeof E >x : E ->"" : string +>"" : "" }); // Should return string extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ ["" || 0]: ""} : { [x: string]: string; } +>{ ["" || 0]: ""} : { [x: number]: string; } ["" || 0]: "" ->"" || 0 : string | number ->"" : string ->0 : number ->"" : string +>"" || 0 : 0 +>"" : "" +>0 : 0 +>"" : "" }); // Should return any (widened form of undefined) diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.types b/tests/baselines/reference/computedPropertyNames48_ES6.types index 832bc3c7025..0f352b57d24 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES6.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -21,7 +21,7 @@ extractIndexer({ [a]: "" >a : any ->"" : string +>"" : "" }); // Should return string @@ -34,19 +34,19 @@ extractIndexer({ >E.x : E >E : typeof E >x : E ->"" : string +>"" : "" }); // Should return string extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ ["" || 0]: ""} : { [x: string]: string; } +>{ ["" || 0]: ""} : { [x: number]: string; } ["" || 0]: "" ->"" || 0 : string | number ->"" : string ->0 : number ->"" : string +>"" || 0 : 0 +>"" : "" +>0 : 0 +>"" : "" }); // Should return any (widened form of undefined) diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.js b/tests/baselines/reference/computedPropertyNames49_ES5.js index 3427ea665a0..d4eb26a08a5 100644 --- a/tests/baselines/reference/computedPropertyNames49_ES5.js +++ b/tests/baselines/reference/computedPropertyNames49_ES5.js @@ -60,8 +60,6 @@ var x = (_a = { enumerable: true, configurable: true }), - , _a.p2 = 20, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.js b/tests/baselines/reference/computedPropertyNames4_ES5.js index f91476c79c1..ac0fa8ec937 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.js +++ b/tests/baselines/reference/computedPropertyNames4_ES5.js @@ -32,6 +32,5 @@ var v = (_a = {}, _a[true] = 0, _a["hello bye"] = 0, _a["hello " + a + " bye"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.types b/tests/baselines/reference/computedPropertyNames4_ES5.types index 3c5f884640f..64ef5f6a611 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.types +++ b/tests/baselines/reference/computedPropertyNames4_ES5.types @@ -9,12 +9,12 @@ var a: any; >a : any var v = { ->v : { [x: string]: number | string; [x: number]: number | string; [0]: number; [""]: number; } ->{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: number | string; [x: number]: number | string; [0]: number; [""]: number; } +>v : { [x: string]: string | number; [x: number]: string | number; [0]: number; [""]: number; } +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; [0]: number; [""]: number; } [s]: 0, >s : string ->0 : number +>0 : 0 [n]: n, >n : number @@ -24,13 +24,13 @@ var v = { >s + s : string >s : string >s : string ->1 : number +>1 : 1 [s + n]: 2, >s + n : string >s : string >n : number ->2 : number +>2 : 2 [+s]: s, >+s : number @@ -38,28 +38,28 @@ var v = { >s : string [""]: 0, ->"" : string ->0 : number +>"" : "" +>0 : 0 [0]: 0, ->0 : number ->0 : number +>0 : 0 +>0 : 0 [a]: 1, >a : any ->1 : number +>1 : 1 [true]: 0, >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 [`hello bye`]: 0, >`hello bye` : string ->0 : number +>0 : 0 [`hello ${a} bye`]: 0 >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames4_ES6.types b/tests/baselines/reference/computedPropertyNames4_ES6.types index 335c2415bd0..0c608e21601 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES6.types +++ b/tests/baselines/reference/computedPropertyNames4_ES6.types @@ -9,12 +9,12 @@ var a: any; >a : any var v = { ->v : { [x: string]: number | string; [x: number]: number | string; [0]: number; [""]: number; } ->{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: number | string; [x: number]: number | string; [0]: number; [""]: number; } +>v : { [x: string]: string | number; [x: number]: string | number; [0]: number; [""]: number; } +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; [0]: number; [""]: number; } [s]: 0, >s : string ->0 : number +>0 : 0 [n]: n, >n : number @@ -24,13 +24,13 @@ var v = { >s + s : string >s : string >s : string ->1 : number +>1 : 1 [s + n]: 2, >s + n : string >s : string >n : number ->2 : number +>2 : 2 [+s]: s, >+s : number @@ -38,28 +38,28 @@ var v = { >s : string [""]: 0, ->"" : string ->0 : number +>"" : "" +>0 : 0 [0]: 0, ->0 : number ->0 : number +>0 : 0 +>0 : 0 [a]: 1, >a : any ->1 : number +>1 : 1 [true]: 0, >true : any ->true : boolean ->0 : number +>true : true +>0 : 0 [`hello bye`]: 0, >`hello bye` : string ->0 : number +>0 : 0 [`hello ${a} bye`]: 0 >`hello ${a} bye` : string >a : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.js b/tests/baselines/reference/computedPropertyNames50_ES5.js index a74561295be..0c6f1798c93 100644 --- a/tests/baselines/reference/computedPropertyNames50_ES5.js +++ b/tests/baselines/reference/computedPropertyNames50_ES5.js @@ -56,8 +56,6 @@ var x = (_a = { enumerable: true, configurable: true }), - , _a.p2 = 20, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js index 58c5af2efa3..3367faa2c20 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -18,6 +18,5 @@ var v = (_a = {}, _a[{}] = 0, _a[undefined] = undefined, _a[null] = null, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js index 7e9c6202940..29d035bfcbf 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.js +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -16,6 +16,5 @@ var v = (_a = {}, _a[p1] = 0, _a[p2] = 1, _a[p3] = 2, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.js b/tests/baselines/reference/computedPropertyNames7_ES5.js index 3311ec7e092..01cf2efc030 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.js +++ b/tests/baselines/reference/computedPropertyNames7_ES5.js @@ -13,6 +13,5 @@ var E; })(E || (E = {})); var v = (_a = {}, _a[E.member] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.types b/tests/baselines/reference/computedPropertyNames7_ES5.types index 3411198b590..fbc070e3951 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.types +++ b/tests/baselines/reference/computedPropertyNames7_ES5.types @@ -13,5 +13,5 @@ var v = { >E.member : E >E : typeof E >member : E ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames7_ES6.types b/tests/baselines/reference/computedPropertyNames7_ES6.types index eb72d546dbc..f8f1dd7f791 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES6.types +++ b/tests/baselines/reference/computedPropertyNames7_ES6.types @@ -13,5 +13,5 @@ var v = { >E.member : E >E : typeof E >member : E ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js index 6eceee81adb..82d262c7e4e 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.js +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -15,7 +15,6 @@ function f() { var v = (_a = {}, _a[t] = 0, _a[u] = 1, - _a - ); + _a); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.js b/tests/baselines/reference/computedPropertyNames9_ES5.js index 6c1d7bcb4d0..b1ac6c9e3b6 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.js +++ b/tests/baselines/reference/computedPropertyNames9_ES5.js @@ -16,6 +16,5 @@ var v = (_a = {}, _a[f("")] = 0, _a[f(0)] = 0, _a[f(true)] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt index 7fa95fe9426..f277df6f4c8 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(5,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(5,5): error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (1 errors) ==== @@ -11,10 +11,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [+"foo"]: "", [+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js index 1f7a3ae123e..d8a33951d4a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js @@ -12,6 +12,5 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt index 116cd1a2531..689ec135d3f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts(5,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts(5,5): error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts (1 errors) ==== @@ -11,10 +11,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [+"foo"]: "", [+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js index c4bfde03531..1ee88351154 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a["" + 0] = function (y) { return y.length; }, _a["" + 1] = function (y) { return y.length; }, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types index 09cad594624..05ae43cf69b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types @@ -18,8 +18,8 @@ var o: I = { ["" + 0](y) { return y.length; }, >"" + 0 : string ->"" : string ->0 : number +>"" : "" +>0 : 0 >y : string >y.length : number >y : string @@ -27,8 +27,8 @@ var o: I = { ["" + 1]: y => y.length >"" + 1 : string ->"" : string ->1 : number +>"" : "" +>1 : 1 >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types index d9e9970ebec..9caae76eeda 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types @@ -18,8 +18,8 @@ var o: I = { ["" + 0](y) { return y.length; }, >"" + 0 : string ->"" : string ->0 : number +>"" : "" +>0 : 0 >y : string >y.length : number >y : string @@ -27,8 +27,8 @@ var o: I = { ["" + 1]: y => y.length >"" + 1 : string ->"" : string ->1 : number +>"" : "" +>1 : 1 >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js index 945475f8533..6be09e4bef3 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = function (y) { return y.length; }, _a[+"bar"] = function (y) { return y.length; }, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types index 5a5c48f2536..a9ca7b5ac6c 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types @@ -18,7 +18,7 @@ var o: I = { [+"foo"](y) { return y.length; }, >+"foo" : number ->"foo" : string +>"foo" : "foo" >y : string >y.length : number >y : string @@ -26,7 +26,7 @@ var o: I = { [+"bar"]: y => y.length >+"bar" : number ->"bar" : string +>"bar" : "bar" >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types index 330351790ca..990b22b178f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types @@ -18,7 +18,7 @@ var o: I = { [+"foo"](y) { return y.length; }, >+"foo" : number ->"foo" : string +>"foo" : "foo" >y : string >y.length : number >y : string @@ -26,7 +26,7 @@ var o: I = { [+"bar"]: y => y.length >+"bar" : number ->"bar" : string +>"bar" : "bar" >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js index 98042f201e3..b510cda2916 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -12,6 +12,5 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = function (y) { return y.length; }, _a[+"bar"] = function (y) { return y.length; }, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types index faff27c9154..58c6c3c58f2 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types @@ -14,7 +14,7 @@ var o: I = { [+"foo"](y) { return y.length; }, >+"foo" : number ->"foo" : string +>"foo" : "foo" >y : string >y.length : number >y : string @@ -22,7 +22,7 @@ var o: I = { [+"bar"]: y => y.length >+"bar" : number ->"bar" : string +>"bar" : "bar" >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types index 18c32957944..89f62c9a02d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types @@ -14,7 +14,7 @@ var o: I = { [+"foo"](y) { return y.length; }, >+"foo" : number ->"foo" : string +>"foo" : "foo" >y : string >y.length : number >y : string @@ -22,7 +22,7 @@ var o: I = { [+"bar"]: y => y.length >+"bar" : number ->"bar" : string +>"bar" : "bar" >y => y.length : (y: string) => number >y : string >y.length : number diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js index b17f91be38b..0c319a526f4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types index 6f75f1a3633..1fe66e50ce5 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types @@ -16,13 +16,13 @@ var o: I = { [""+"foo"]: "", >""+"foo" : string ->"" : string ->"foo" : string ->"" : string +>"" : "" +>"foo" : "foo" +>"" : "" [""+"bar"]: 0 >""+"bar" : string ->"" : string ->"bar" : string ->0 : number +>"" : "" +>"bar" : "bar" +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types index 9ee84176237..0a74effe990 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types @@ -16,13 +16,13 @@ var o: I = { [""+"foo"]: "", >""+"foo" : string ->"" : string ->"foo" : string ->"" : string +>"" : "" +>"foo" : "foo" +>"" : "" [""+"bar"]: 0 >""+"bar" : string ->"" : string ->"bar" : string ->0 : number +>"" : "" +>"bar" : "bar" +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js index c7a728e5ef8..51d78be59d4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types index 38594f756ab..5721a1fcc86 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types @@ -16,11 +16,11 @@ var o: I = { [+"foo"]: "", >+"foo" : number ->"foo" : string ->"" : string +>"foo" : "foo" +>"" : "" [+"bar"]: 0 >+"bar" : number ->"bar" : string ->0 : number +>"bar" : "bar" +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types index a07b2e8cd95..a63da9b633d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types @@ -16,11 +16,11 @@ var o: I = { [+"foo"]: "", >+"foo" : number ->"foo" : string ->"" : string +>"foo" : "foo" +>"" : "" [+"bar"]: 0 >+"bar" : number ->"bar" : string ->0 : number +>"bar" : "bar" +>0 : 0 } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js index c97b7c5b1f8..c6ef45d7fab 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -21,6 +21,5 @@ foo((_a = { _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], - _a -)); + _a)); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types index b49724ccded..63651072644 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -17,33 +17,33 @@ declare function foo(obj: I): T >T : T foo({ ->foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | (() => void) | boolean | number | number[] +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] >foo : (obj: I) => T ->{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; p: string; } +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: true | "" | 0 | (() => void) | number[]; [x: number]: 0 | (() => void) | number[]; 0: () => void; p: ""; } p: "", >p : string ->"" : string +>"" : "" 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string ->"hi" : string ->"bye" : string ->true : boolean +>"hi" : "hi" +>"bye" : "bye" +>true : true [0 + 1]: 0, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 [+"hi"]: [0] >+"hi" : number ->"hi" : string +>"hi" : "hi" >[0] : number[] ->0 : number +>0 : 0 }); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types index e88959d7cdc..fa34f015a23 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types @@ -17,33 +17,33 @@ declare function foo(obj: I): T >T : T foo({ ->foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | (() => void) | boolean | number | number[] +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] >foo : (obj: I) => T ->{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; p: string; } +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: true | "" | 0 | (() => void) | number[]; [x: number]: 0 | (() => void) | number[]; 0: () => void; p: ""; } p: "", >p : string ->"" : string +>"" : "" 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string ->"hi" : string ->"bye" : string ->true : boolean +>"hi" : "hi" +>"bye" : "bye" +>true : true [0 + 1]: 0, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 [+"hi"]: [0] >+"hi" : number ->"hi" : string +>"hi" : "hi" >[0] : number[] ->0 : number +>0 : 0 }); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js index bc8966520f6..14165302d3b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -26,7 +26,6 @@ foo((_a = { _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], - _a -)); + _a)); g({ p: "" }); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types index 64367864881..b77a129a0b4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -33,30 +33,30 @@ declare function g(obj: J): T; >T : T foo({ ->foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : (() => void) | number | number[] +>foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] >foo : (obj: I) => T ->{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; } +>{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string ->"hi" : string ->"bye" : string ->true : boolean +>"hi" : "hi" +>"bye" : "bye" +>true : true [0 + 1]: 0, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 [+"hi"]: [0] >+"hi" : number ->"hi" : string +>"hi" : "hi" >[0] : number[] ->0 : number +>0 : 0 }); @@ -65,5 +65,5 @@ g({ p: "" }); >g : (obj: J) => T >{ p: "" } : { p: string; } >p : string ->"" : string +>"" : "" diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types index 07aeda807b0..f041b2b4eb4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types @@ -33,30 +33,30 @@ declare function g(obj: J): T; >T : T foo({ ->foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : (() => void) | number | number[] +>foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] >foo : (obj: I) => T ->{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; } +>{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } 0: () => { }, >() => { } : () => void ["hi" + "bye"]: true, >"hi" + "bye" : string ->"hi" : string ->"bye" : string ->true : boolean +>"hi" : "hi" +>"bye" : "bye" +>true : true [0 + 1]: 0, >0 + 1 : number ->0 : number ->1 : number ->0 : number +>0 : 0 +>1 : 1 +>0 : 0 [+"hi"]: [0] >+"hi" : number ->"hi" : string +>"hi" : "hi" >[0] : number[] ->0 : number +>0 : 0 }); @@ -65,5 +65,5 @@ g({ p: "" }); >g : (obj: J) => T >{ p: "" } : { p: string; } >p : string ->"" : string +>"" : "" diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt index ee36609095a..6bfc98ae6a8 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(6,5): error TS2322: Type '{ [x: string]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(6,5): error TS2322: Type '{ [x: string]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (1 errors) ==== @@ -12,10 +12,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: string]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: string]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [""+"foo"]: "", [""+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js index 419ea906550..24f6218864c 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt index 1048fd2e119..30f0b6f529e 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts(6,5): error TS2322: Type '{ [x: string]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts(6,5): error TS2322: Type '{ [x: string]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts (1 errors) ==== @@ -12,10 +12,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: string]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: string]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [""+"foo"]: "", [""+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt index e76b3a704dc..4f94dd3467f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(6,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(6,5): error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (1 errors) ==== @@ -12,10 +12,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [+"foo"]: "", [+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js index d3beb8b8deb..340802da2af 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js @@ -13,6 +13,5 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt index 468ad400c26..5eeccfe7293 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts(6,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts(6,5): error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. Index signatures are incompatible. - Type 'string | number' is not assignable to type 'boolean'. - Type 'string' is not assignable to type 'boolean'. + Type '"" | 0' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts (1 errors) ==== @@ -12,10 +12,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy var o: I = { ~ -!!! error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Type '{ [x: number]: "" | 0; }' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"" | 0' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. [+"foo"]: "", [+"bar"]: 0 } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types index a05d5556495..dd12b763441 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types @@ -4,18 +4,18 @@ class C { ["" + ""]() { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" get ["" + ""]() { return 0; } >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types index 8b635956dcd..2ee96225fb9 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types @@ -4,18 +4,18 @@ class C { ["" + ""]() { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" get ["" + ""]() { return 0; } >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types index c49010b2c09..30fc69390e5 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types @@ -4,18 +4,18 @@ class C { static ["" + ""]() { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" static get ["" + ""]() { return 0; } >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 static set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types index 0b0083b9a1a..181b935790c 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types @@ -4,18 +4,18 @@ class C { static ["" + ""]() { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" static get ["" + ""]() { return 0; } >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 static set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index f04ea61379d..bf589768b72 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -20,8 +20,7 @@ var v = (_a = {}, enumerable: true, configurable: true }), - _a -); + _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types index 0653059b535..fd5971fc849 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types @@ -5,24 +5,24 @@ var v = { ["" + ""]: 0, >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 ["" + ""]() { }, >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" get ["" + ""]() { return 0; }, >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types index 45d1e74f24a..886d93e061c 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types @@ -5,24 +5,24 @@ var v = { ["" + ""]: 0, >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 ["" + ""]() { }, >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" get ["" + ""]() { return 0; }, >"" + "" : string ->"" : string ->"" : string ->0 : number +>"" : "" +>"" : "" +>0 : 0 set ["" + ""](x) { } >"" + "" : string ->"" : string ->"" : string +>"" : "" +>"" : "" >x : any } diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map index e94da4e3f80..114df45af46 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap1_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap1_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES5.ts"],"names":[],"mappings":"AAAA;IAAA;IAOA,CAAC;IANG,YAAC,OAAO,CAAC,GAAT;QACI,QAAQ,CAAC;IACb,CAAC;IACD,sBAAI,aAAC,SAAU;aAAf;YACF,MAAM,CAAC,CAAC,CAAC;QACP,CAAC;;;OAAA;IACL,QAAC;AAAD,CAAC,AAPD,IAOC"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap1_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES5.ts"],"names":[],"mappings":"AAAA;IAAA;IAOA,CAAC;IANG,YAAC,OAAO,CAAC,GAAT;QACI,QAAQ,CAAC;IACb,CAAC;IACD,sBAAI,sBAAW;aAAf;YACF,MAAM,CAAC,CAAC,CAAC;QACP,CAAC;;;OAAA;IACL,QAAC;AAAD,CAAC,AAPD,IAOC"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt index 41484b97c66..fc571a3140e 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt @@ -78,17 +78,14 @@ sourceFile:computedPropertyNamesSourceMap1_ES5.ts >>> Object.defineProperty(C.prototype, "goodbye", { 1->^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^^^^^^^^ -4 > ^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 > get -3 > [ -4 > "goodbye"] +3 > ["goodbye"] 1->Emitted(7, 5) Source(5, 5) + SourceIndex(0) 2 >Emitted(7, 27) Source(5, 9) + SourceIndex(0) -3 >Emitted(7, 40) Source(5, 10) + SourceIndex(0) -4 >Emitted(7, 49) Source(5, 20) + SourceIndex(0) +3 >Emitted(7, 49) Source(5, 20) + SourceIndex(0) --- >>> get: function () { 1 >^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types index 528591441b0..555782bf6cf 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types @@ -3,14 +3,14 @@ class C { >C : C ["hello"]() { ->"hello" : string +>"hello" : "hello" debugger; } get ["goodbye"]() { ->"goodbye" : string +>"goodbye" : "goodbye" return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map index 0c9a609211f..64c3283f702 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap1_ES6.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap1_ES6.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES6.ts"],"names":[],"mappings":"AAAA;IACI,CAAC,OAAO,CAAC;QACL,QAAQ,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,SAAS,CAAC;QACd,MAAM,CAAC,CAAC,CAAC;IACV,CAAC;AACF,CAAC;AAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap1_ES6.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES6.ts"],"names":[],"mappings":"AAAA;IACI,CAAC,OAAO,CAAC;QACL,QAAQ,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,SAAS,CAAC;QACd,MAAM,CAAC,CAAC,CAAC;IACV,CAAC;CACD"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt index 87f6e0f46ce..2463a24e085 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt @@ -98,17 +98,10 @@ sourceFile:computedPropertyNamesSourceMap1_ES6.ts 2 >Emitted(7, 6) Source(7, 3) + SourceIndex(0) --- >>>} -1 > -2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > - > -2 >} -1 >Emitted(8, 1) Source(8, 1) + SourceIndex(0) -2 >Emitted(8, 2) Source(8, 2) + SourceIndex(0) + >} +1 >Emitted(8, 2) Source(8, 2) + SourceIndex(0) --- ->>>//# sourceMappingURL=computedPropertyNamesSourceMap1_ES6.js.map1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> -1->Emitted(9, 1) Source(8, 2) + SourceIndex(0) ---- \ No newline at end of file +>>>//# sourceMappingURL=computedPropertyNamesSourceMap1_ES6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types index cd7b75384b0..93ce203c0ef 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types @@ -3,14 +3,14 @@ class C { >C : C ["hello"]() { ->"hello" : string +>"hello" : "hello" debugger; } get ["goodbye"]() { ->"goodbye" : string +>"goodbye" : "goodbye" return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js index 62285665bd0..d214a1ef99d 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -20,7 +20,6 @@ var v = (_a = {}, enumerable: true, configurable: true }), - _a -); + _a); var _a; //# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map index 74c3e241086..36259a4c7cb 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap2_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG;IACJ,GAAC,OAAO,CAAC,GAAT;QACI,QAAQ,CAAC;IAChB,CAAC;IACE,0BAAK,SAAU;aAAf;YACF,MAAM,CAAC,CAAC,CAAC;QACV,CAAC;;;MAAA;;CACD,CAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC;IACD,GAAC,OAAO,IAAR;QACI,QAAQ,CAAC;IAChB,CAAC;0BACM,aAAW;aAAf;YACF,MAAM,CAAC,CAAC,CAAC;QACV,CAAC;;;;OACD,CAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt index 280cd68b0cd..aa20d1d7960 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -12,34 +12,28 @@ sourceFile:computedPropertyNamesSourceMap2_ES5.ts 1 > 2 >^^^^ 3 > ^ -4 > ^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >var 3 > v -4 > = 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) 3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) -4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) --- >>> _a["hello"] = function () { 1->^^^^ 2 > ^^^ 3 > ^^^^^^^ -4 > ^ -5 > ^^^ -1->{ +4 > ^^^^ +1-> = { > 2 > [ 3 > "hello" -4 > ] -5 > +4 > 1->Emitted(2, 5) Source(2, 5) + SourceIndex(0) 2 >Emitted(2, 8) Source(2, 6) + SourceIndex(0) 3 >Emitted(2, 15) Source(2, 13) + SourceIndex(0) -4 >Emitted(2, 16) Source(2, 14) + SourceIndex(0) -5 >Emitted(2, 19) Source(2, 5) + SourceIndex(0) +4 >Emitted(2, 19) Source(2, 5) + SourceIndex(0) --- >>> debugger; 1 >^^^^^^^^ @@ -64,16 +58,13 @@ sourceFile:computedPropertyNamesSourceMap2_ES5.ts 2 >Emitted(4, 6) Source(4, 3) + SourceIndex(0) --- >>> Object.defineProperty(_a, "goodbye", { -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^ 1->, - > -2 > get [ -3 > "goodbye"] -1->Emitted(5, 5) Source(5, 5) + SourceIndex(0) -2 >Emitted(5, 31) Source(5, 10) + SourceIndex(0) -3 >Emitted(5, 40) Source(5, 20) + SourceIndex(0) + > get +2 > ["goodbye"] +1->Emitted(5, 27) Source(5, 9) + SourceIndex(0) +2 >Emitted(5, 40) Source(5, 20) + SourceIndex(0) --- >>> get: function () { 1 >^^^^^^^^^^^^^ @@ -112,21 +103,14 @@ sourceFile:computedPropertyNamesSourceMap2_ES5.ts >>> enumerable: true, >>> configurable: true >>> }), -1->^^^^^^ -2 > ^-> -1-> -1->Emitted(11, 7) Source(7, 3) + SourceIndex(0) ---- ->>> _a ->>>); -1->^ -2 > ^ -3 > ^^^^^^-> +>>> _a); +1->^^^^^^^ +2 > ^ 1-> >} -2 > -1->Emitted(13, 2) Source(8, 2) + SourceIndex(0) -2 >Emitted(13, 3) Source(8, 2) + SourceIndex(0) +2 > +1->Emitted(12, 8) Source(8, 2) + SourceIndex(0) +2 >Emitted(12, 9) Source(8, 2) + SourceIndex(0) --- >>>var _a; >>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types index 29b64c990c2..bf2352f338d 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types @@ -4,14 +4,14 @@ var v = { >{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { ["hello"](): void; readonly ["goodbye"]: number; } ["hello"]() { ->"hello" : string +>"hello" : "hello" debugger; }, get ["goodbye"]() { ->"goodbye" : string +>"goodbye" : "goodbye" return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types index fea16b5de8d..ae4429d0437 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types @@ -4,14 +4,14 @@ var v = { >{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { ["hello"](): void; readonly ["goodbye"]: number; } ["hello"]() { ->"hello" : string +>"hello" : "hello" debugger; }, get ["goodbye"]() { ->"goodbye" : string +>"goodbye" : "goodbye" return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/computedPropertyNamesWithStaticProperty.types b/tests/baselines/reference/computedPropertyNamesWithStaticProperty.types index d003b6b32f1..9a99ae7605b 100644 --- a/tests/baselines/reference/computedPropertyNamesWithStaticProperty.types +++ b/tests/baselines/reference/computedPropertyNamesWithStaticProperty.types @@ -4,7 +4,7 @@ class C { static staticProp = 10; >staticProp : number ->10 : number +>10 : 10 get [C.staticProp]() { >C.staticProp : number @@ -12,7 +12,7 @@ class C { >staticProp : number return "hello"; ->"hello" : string +>"hello" : "hello" } set [C.staticProp](x: string) { >C.staticProp : number diff --git a/tests/baselines/reference/concatError.symbols b/tests/baselines/reference/concatError.symbols index 23cc55c85be..d4f04531fc7 100644 --- a/tests/baselines/reference/concatError.symbols +++ b/tests/baselines/reference/concatError.symbols @@ -14,15 +14,15 @@ var fa: number[]; fa = fa.concat([0]); >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) ->fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) fa = fa.concat(0); >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) ->fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>fa.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) diff --git a/tests/baselines/reference/concatError.types b/tests/baselines/reference/concatError.types index 21a5cc5d089..bb9a85a91b4 100644 --- a/tests/baselines/reference/concatError.types +++ b/tests/baselines/reference/concatError.types @@ -16,20 +16,20 @@ fa = fa.concat([0]); >fa = fa.concat([0]) : number[] >fa : number[] >fa.concat([0]) : number[] ->fa.concat : (...items: (number | number[])[]) => number[] +>fa.concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } >fa : number[] ->concat : (...items: (number | number[])[]) => number[] +>concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } >[0] : number[] ->0 : number +>0 : 0 fa = fa.concat(0); >fa = fa.concat(0) : number[] >fa : number[] >fa.concat(0) : number[] ->fa.concat : (...items: (number | number[])[]) => number[] +>fa.concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } >fa : number[] ->concat : (...items: (number | number[])[]) => number[] ->0 : number +>concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } +>0 : 0 diff --git a/tests/baselines/reference/concatTuples.js b/tests/baselines/reference/concatTuples.js new file mode 100644 index 00000000000..699c43f210e --- /dev/null +++ b/tests/baselines/reference/concatTuples.js @@ -0,0 +1,8 @@ +//// [concatTuples.ts] +let ijs: [number, number][] = [[1, 2]]; +ijs = ijs.concat([[3, 4], [5, 6]]); + + +//// [concatTuples.js] +var ijs = [[1, 2]]; +ijs = ijs.concat([[3, 4], [5, 6]]); diff --git a/tests/baselines/reference/concatTuples.symbols b/tests/baselines/reference/concatTuples.symbols new file mode 100644 index 00000000000..a6524f3e1ff --- /dev/null +++ b/tests/baselines/reference/concatTuples.symbols @@ -0,0 +1,10 @@ +=== tests/cases/compiler/concatTuples.ts === +let ijs: [number, number][] = [[1, 2]]; +>ijs : Symbol(ijs, Decl(concatTuples.ts, 0, 3)) + +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 : Symbol(ijs, Decl(concatTuples.ts, 0, 3)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/concatTuples.types b/tests/baselines/reference/concatTuples.types new file mode 100644 index 00000000000..fbb3ce96a57 --- /dev/null +++ b/tests/baselines/reference/concatTuples.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/concatTuples.ts === +let ijs: [number, number][] = [[1, 2]]; +>ijs : [number, number][] +>[[1, 2]] : [number, number][] +>[1, 2] : [number, number] +>1 : 1 +>2 : 2 + +ijs = ijs.concat([[3, 4], [5, 6]]); +>ijs = ijs.concat([[3, 4], [5, 6]]) : [number, number][] +>ijs : [number, number][] +>ijs.concat([[3, 4], [5, 6]]) : [number, number][] +>ijs.concat : { (...items: [number, number][][]): [number, number][]; (...items: ([number, number] | [number, number][])[]): [number, number][]; } +>ijs : [number, number][] +>concat : { (...items: [number, number][][]): [number, number][]; (...items: ([number, number] | [number, number][])[]): [number, number][]; } +>[[3, 4], [5, 6]] : [number, number][] +>[3, 4] : [number, number] +>3 : 3 +>4 : 4 +>[5, 6] : [number, number] +>5 : 5 +>6 : 6 + diff --git a/tests/baselines/reference/conditionalExpression1.errors.txt b/tests/baselines/reference/conditionalExpression1.errors.txt index 49ed2095353..66af5336808 100644 --- a/tests/baselines/reference/conditionalExpression1.errors.txt +++ b/tests/baselines/reference/conditionalExpression1.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/conditionalExpression1.ts(1,5): error TS2322: Type 'number | string' is not assignable to type 'boolean'. - Type 'number' is not assignable to type 'boolean'. +tests/cases/compiler/conditionalExpression1.ts(1,5): error TS2322: Type '"" | 1' is not assignable to type 'boolean'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/compiler/conditionalExpression1.ts (1 errors) ==== var x: boolean = (true ? 1 : ""); // should be an error ~ -!!! error TS2322: Type 'number | string' is not assignable to type 'boolean'. -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. \ No newline at end of file +!!! error TS2322: Type '"" | 1' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. \ No newline at end of file diff --git a/tests/baselines/reference/conditionalExpressions2.types b/tests/baselines/reference/conditionalExpressions2.types index 77714e664fb..0247b0f649d 100644 --- a/tests/baselines/reference/conditionalExpressions2.types +++ b/tests/baselines/reference/conditionalExpressions2.types @@ -2,53 +2,53 @@ var a = false ? 1 : null; >a : number ->false ? 1 : null : number ->false : boolean ->1 : number +>false ? 1 : null : 1 +>false : false +>1 : 1 >null : null var b = false ? undefined : 0; >b : number ->false ? undefined : 0 : number ->false : boolean +>false ? undefined : 0 : 0 +>false : false >undefined : undefined ->0 : number +>0 : 0 var c = false ? 1 : 0; >c : number ->false ? 1 : 0 : number ->false : boolean ->1 : number ->0 : number +>false ? 1 : 0 : 0 | 1 +>false : false +>1 : 1 +>0 : 0 var d = false ? false : true; >d : boolean >false ? false : true : boolean ->false : boolean ->false : boolean ->true : boolean +>false : false +>false : false +>true : true var e = false ? "foo" : "bar"; >e : string ->false ? "foo" : "bar" : string ->false : boolean ->"foo" : string ->"bar" : string +>false ? "foo" : "bar" : "foo" | "bar" +>false : false +>"foo" : "foo" +>"bar" : "bar" var f = false ? null : undefined; >f : any >false ? null : undefined : null ->false : boolean +>false : false >null : null >undefined : undefined var g = true ? {g:5} : null; >g : { g: number; } >true ? {g:5} : null : { g: number; } ->true : boolean +>true : true >{g:5} : { g: number; } >g : number ->5 : number +>5 : 5 >null : null var h = [{h:5}, null]; @@ -56,14 +56,14 @@ var h = [{h:5}, null]; >[{h:5}, null] : { h: number; }[] >{h:5} : { h: number; } >h : number ->5 : number +>5 : 5 >null : null function i() { if (true) { return { x: 5 }; } else { return null; } } >i : () => { x: number; } ->true : boolean +>true : true >{ x: 5 } : { x: number; } >x : number ->5 : number +>5 : 5 >null : null diff --git a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.errors.txt b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.errors.txt new file mode 100644 index 00000000000..25153c1ba15 --- /dev/null +++ b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.errors.txt @@ -0,0 +1,71 @@ +tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsBooleanType.ts(35,1): error TS2365: Operator '>' cannot be applied to types '2' and '1'. +tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsBooleanType.ts(58,23): error TS2365: Operator '>' cannot be applied to types '2' and '1'. + + +==== tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsBooleanType.ts (2 errors) ==== + //Cond ? Expr1 : Expr2, Cond is of boolean type, Expr1 and Expr2 have the same type + var condBoolean: boolean; + + var exprAny1: any; + var exprBoolean1: boolean; + var exprNumber1: number; + var exprString1: string; + var exprIsObject1: Object; + + var exprAny2: any; + var exprBoolean2: boolean; + var exprNumber2: number; + var exprString2: string; + var exprIsObject2: Object; + + //Cond is a boolean type variable + condBoolean ? exprAny1 : exprAny2; + condBoolean ? exprBoolean1 : exprBoolean2; + condBoolean ? exprNumber1 : exprNumber2; + condBoolean ? exprString1 : exprString2; + condBoolean ? exprIsObject1 : exprIsObject2; + condBoolean ? exprString1 : exprBoolean1; // union + + //Cond is a boolean type literal + true ? exprAny1 : exprAny2; + false ? exprBoolean1 : exprBoolean2; + true ? exprNumber1 : exprNumber2; + false ? exprString1 : exprString2; + true ? exprIsObject1 : exprIsObject2; + true ? exprString1 : exprBoolean1; // union + + //Cond is a boolean type expression + !true ? exprAny1 : exprAny2; + typeof "123" == "string" ? exprBoolean1 : exprBoolean2; + 2 > 1 ? exprNumber1 : exprNumber2; + ~~~~~ +!!! error TS2365: Operator '>' cannot be applied to types '2' and '1'. + null === undefined ? exprString1 : exprString2; + true || false ? exprIsObject1 : exprIsObject2; + null === undefined ? exprString1 : exprBoolean1; // union + + //Results shoud be same as Expr1 and Expr2 + var resultIsAny1 = condBoolean ? exprAny1 : exprAny2; + var resultIsBoolean1 = condBoolean ? exprBoolean1 : exprBoolean2; + var resultIsNumber1 = condBoolean ? exprNumber1 : exprNumber2; + var resultIsString1 = condBoolean ? exprString1 : exprString2; + var resultIsObject1 = condBoolean ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean1 = condBoolean ? exprString1 : exprBoolean1; // union + + var resultIsAny2 = true ? exprAny1 : exprAny2; + var resultIsBoolean2 = false ? exprBoolean1 : exprBoolean2; + var resultIsNumber2 = true ? exprNumber1 : exprNumber2; + var resultIsString2 = false ? exprString1 : exprString2; + var resultIsObject2 = true ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean2 = true ? exprString1 : exprBoolean1; // union + var resultIsStringOrBoolean3 = false ? exprString1 : exprBoolean1; // union + + var resultIsAny3 = !true ? exprAny1 : exprAny2; + var resultIsBoolean3 = typeof "123" == "string" ? exprBoolean1 : exprBoolean2; + var resultIsNumber3 = 2 > 1 ? exprNumber1 : exprNumber2; + ~~~~~ +!!! error TS2365: Operator '>' cannot be applied to types '2' and '1'. + var resultIsString3 = null === undefined ? exprString1 : exprString2; + var resultIsObject3 = true || false ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean4 = typeof "123" === "string" ? exprString1 : exprBoolean1; // union + \ No newline at end of file diff --git a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types index 4d28939b696..7733b80f69b 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types @@ -122,7 +122,7 @@ typeof "123" == "string" ? exprBoolean1 : exprBoolean2; >typeof "123" == "string" : boolean >typeof "123" : string >"123" : string ->"string" : string +>"string" : "string" >exprBoolean1 : boolean >exprBoolean2 : boolean @@ -146,7 +146,7 @@ true || false ? exprIsObject1 : exprIsObject2; >true || false ? exprIsObject1 : exprIsObject2 : Object >true || false : boolean >true : boolean ->false : boolean +>false : false >exprIsObject1 : Object >exprIsObject2 : Object @@ -264,7 +264,7 @@ var resultIsBoolean3 = typeof "123" == "string" ? exprBoolean1 : exprBoolean2; >typeof "123" == "string" : boolean >typeof "123" : string >"123" : string ->"string" : string +>"string" : "string" >exprBoolean1 : boolean >exprBoolean2 : boolean @@ -291,7 +291,7 @@ var resultIsObject3 = true || false ? exprIsObject1 : exprIsObject2; >true || false ? exprIsObject1 : exprIsObject2 : Object >true || false : boolean >true : boolean ->false : boolean +>false : false >exprIsObject1 : Object >exprIsObject2 : Object @@ -301,7 +301,7 @@ var resultIsStringOrBoolean4 = typeof "123" === "string" ? exprString1 : exprBoo >typeof "123" === "string" : boolean >typeof "123" : string >"123" : string ->"string" : string +>"string" : "string" >exprString1 : string >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types index 5951dc07350..f1d7e7bd369 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types @@ -75,73 +75,73 @@ condNumber ? exprString1 : exprBoolean1; // Union //Cond is a number type literal 1 ? exprAny1 : exprAny2; >1 ? exprAny1 : exprAny2 : any ->1 : number +>1 : 1 >exprAny1 : any >exprAny2 : any 0 ? exprBoolean1 : exprBoolean2; >0 ? exprBoolean1 : exprBoolean2 : boolean ->0 : number +>0 : 0 >exprBoolean1 : boolean >exprBoolean2 : boolean 0.123456789 ? exprNumber1 : exprNumber2; >0.123456789 ? exprNumber1 : exprNumber2 : number ->0.123456789 : number +>0.123456789 : 0.123456789 >exprNumber1 : number >exprNumber2 : number - 10000000000000 ? exprString1 : exprString2; >- 10000000000000 ? exprString1 : exprString2 : string ->- 10000000000000 : number ->10000000000000 : number +>- 10000000000000 : -10000000000000 +>10000000000000 : 10000000000000 >exprString1 : string >exprString2 : string 1000000000000 ? exprIsObject1 : exprIsObject2; >1000000000000 ? exprIsObject1 : exprIsObject2 : Object ->1000000000000 : number +>1000000000000 : 1000000000000 >exprIsObject1 : Object >exprIsObject2 : Object 10000 ? exprString1 : exprBoolean1; // Union >10000 ? exprString1 : exprBoolean1 : string | boolean ->10000 : number +>10000 : 10000 >exprString1 : string >exprBoolean1 : boolean //Cond is a number type expression function foo() { return 1 }; >foo : () => number ->1 : number +>1 : 1 var array = [1, 2, 3]; >array : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 * 0 ? exprAny1 : exprAny2; >1 * 0 ? exprAny1 : exprAny2 : any >1 * 0 : number ->1 : number ->0 : number +>1 : 1 +>0 : 0 >exprAny1 : any >exprAny2 : any 1 + 1 ? exprBoolean1 : exprBoolean2; >1 + 1 ? exprBoolean1 : exprBoolean2 : boolean >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 >exprBoolean1 : boolean >exprBoolean2 : boolean "string".length ? exprNumber1 : exprNumber2; >"string".length ? exprNumber1 : exprNumber2 : number >"string".length : number ->"string" : string +>"string" : "string" >length : number >exprNumber1 : number >exprNumber2 : number @@ -160,7 +160,7 @@ foo() / array[1] ? exprIsObject1 : exprIsObject2; >foo : () => number >array[1] : number >array : number[] ->1 : number +>1 : 1 >exprIsObject1 : Object >exprIsObject2 : Object @@ -217,43 +217,43 @@ var resultIsStringOrBoolean1 = condNumber ? exprString1 : exprBoolean1; // Union var resultIsAny2 = 1 ? exprAny1 : exprAny2; >resultIsAny2 : any >1 ? exprAny1 : exprAny2 : any ->1 : number +>1 : 1 >exprAny1 : any >exprAny2 : any var resultIsBoolean2 = 0 ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : boolean >0 ? exprBoolean1 : exprBoolean2 : boolean ->0 : number +>0 : 0 >exprBoolean1 : boolean >exprBoolean2 : boolean var resultIsNumber2 = 0.123456789 ? exprNumber1 : exprNumber2; >resultIsNumber2 : number >0.123456789 ? exprNumber1 : exprNumber2 : number ->0.123456789 : number +>0.123456789 : 0.123456789 >exprNumber1 : number >exprNumber2 : number var resultIsString2 = - 10000000000000 ? exprString1 : exprString2; >resultIsString2 : string >- 10000000000000 ? exprString1 : exprString2 : string ->- 10000000000000 : number ->10000000000000 : number +>- 10000000000000 : -10000000000000 +>10000000000000 : 10000000000000 >exprString1 : string >exprString2 : string var resultIsObject2 = 1000000000000 ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Object >1000000000000 ? exprIsObject1 : exprIsObject2 : Object ->1000000000000 : number +>1000000000000 : 1000000000000 >exprIsObject1 : Object >exprIsObject2 : Object var resultIsStringOrBoolean2 = 10000 ? exprString1 : exprBoolean1; // Union >resultIsStringOrBoolean2 : string | boolean >10000 ? exprString1 : exprBoolean1 : string | boolean ->10000 : number +>10000 : 10000 >exprString1 : string >exprBoolean1 : boolean @@ -261,8 +261,8 @@ var resultIsAny3 = 1 * 0 ? exprAny1 : exprAny2; >resultIsAny3 : any >1 * 0 ? exprAny1 : exprAny2 : any >1 * 0 : number ->1 : number ->0 : number +>1 : 1 +>0 : 0 >exprAny1 : any >exprAny2 : any @@ -270,8 +270,8 @@ var resultIsBoolean3 = 1 + 1 ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : boolean >1 + 1 ? exprBoolean1 : exprBoolean2 : boolean >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 >exprBoolean1 : boolean >exprBoolean2 : boolean @@ -279,7 +279,7 @@ var resultIsNumber3 = "string".length ? exprNumber1 : exprNumber2; >resultIsNumber3 : number >"string".length ? exprNumber1 : exprNumber2 : number >"string".length : number ->"string" : string +>"string" : "string" >length : number >exprNumber1 : number >exprNumber2 : number @@ -300,7 +300,7 @@ var resultIsObject3 = foo() / array[1] ? exprIsObject1 : exprIsObject2; >foo : () => number >array[1] : number >array : number[] ->1 : number +>1 : 1 >exprIsObject1 : Object >exprIsObject2 : Object @@ -312,7 +312,7 @@ var resultIsStringOrBoolean3 = foo() / array[1] ? exprString1 : exprBoolean1; // >foo : () => number >array[1] : number >array : number[] ->1 : number +>1 : 1 >exprString1 : string >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types index 14a0f375ead..34cfe67f602 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types @@ -115,9 +115,9 @@ condObject ? exprString1 : exprBoolean1; // union >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprString1 : string >exprString2 : string @@ -126,9 +126,9 @@ condObject ? exprString1 : exprBoolean1; // union >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprIsObject1 : Object >exprIsObject2 : Object @@ -137,9 +137,9 @@ condObject ? exprString1 : exprBoolean1; // union >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprString1 : string >exprBoolean1 : boolean @@ -271,9 +271,9 @@ var resultIsString2 = ({ a: 1, b: "s" }) ? exprString1 : exprString2; >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprString1 : string >exprString2 : string @@ -283,9 +283,9 @@ var resultIsObject2 = ({ a: 1, b: "s" }) ? exprIsObject1 : exprIsObject2; >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprIsObject1 : Object >exprIsObject2 : Object @@ -295,9 +295,9 @@ var resultIsStringOrBoolean2 = ({ a: 1, b: "s" }) ? exprString1 : exprBoolean1; >({ a: 1, b: "s" }) : { a: number; b: string; } >{ a: 1, b: "s" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"s" : string +>"s" : "s" >exprString1 : string >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types index d79e570ec42..5903a10d4e5 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types @@ -130,7 +130,7 @@ x("x") ? exprBoolean1 : exprBoolean2; >x("x") ? exprBoolean1 : exprBoolean2 : boolean >x("x") : any >x : any ->"x" : string +>"x" : "x" >exprBoolean1 : boolean >exprBoolean2 : boolean @@ -146,7 +146,7 @@ x("x") ? exprString1 : exprString2; >x("x") ? exprString1 : exprString2 : string >x("x") : any >x : any ->"x" : string +>"x" : "x" >exprString1 : string >exprString2 : string @@ -288,7 +288,7 @@ var resultIsBoolean3 = x("x") ? exprBoolean1 : exprBoolean2; >x("x") ? exprBoolean1 : exprBoolean2 : boolean >x("x") : any >x : any ->"x" : string +>"x" : "x" >exprBoolean1 : boolean >exprBoolean2 : boolean @@ -306,7 +306,7 @@ var resultIsString3 = x("x") ? exprString1 : exprString2; >x("x") ? exprString1 : exprString2 : string >x("x") : any >x : any ->"x" : string +>"x" : "x" >exprString1 : string >exprString2 : string diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types index af5abb25063..a6906d7024a 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types @@ -75,51 +75,51 @@ condString ? exprString1 : exprBoolean1; // union //Cond is a string type literal "" ? exprAny1 : exprAny2; >"" ? exprAny1 : exprAny2 : any ->"" : string +>"" : "" >exprAny1 : any >exprAny2 : any "string" ? exprBoolean1 : exprBoolean2; >"string" ? exprBoolean1 : exprBoolean2 : boolean ->"string" : string +>"string" : "string" >exprBoolean1 : boolean >exprBoolean2 : boolean 'c' ? exprNumber1 : exprNumber2; >'c' ? exprNumber1 : exprNumber2 : number ->'c' : string +>'c' : "c" >exprNumber1 : number >exprNumber2 : number 'string' ? exprString1 : exprString2; >'string' ? exprString1 : exprString2 : string ->'string' : string +>'string' : "string" >exprString1 : string >exprString2 : string " " ? exprIsObject1 : exprIsObject2; >" " ? exprIsObject1 : exprIsObject2 : Object ->" " : string +>" " : " " >exprIsObject1 : Object >exprIsObject2 : Object "hello " ? exprString1 : exprBoolean1; // union >"hello " ? exprString1 : exprBoolean1 : string | boolean ->"hello " : string +>"hello " : "hello " >exprString1 : string >exprBoolean1 : boolean //Cond is a string type expression function foo() { return "string" }; >foo : () => string ->"string" : string +>"string" : "string" var array = ["1", "2", "3"]; >array : string[] >["1", "2", "3"] : string[] ->"1" : string ->"2" : string ->"3" : string +>"1" : "1" +>"2" : "2" +>"3" : "3" typeof condString ? exprAny1 : exprAny2; >typeof condString ? exprAny1 : exprAny2 : any @@ -140,7 +140,7 @@ condString + "string" ? exprNumber1 : exprNumber2; >condString + "string" ? exprNumber1 : exprNumber2 : number >condString + "string" : string >condString : string ->"string" : string +>"string" : "string" >exprNumber1 : number >exprNumber2 : number @@ -155,7 +155,7 @@ array[1] ? exprIsObject1 : exprIsObject2; >array[1] ? exprIsObject1 : exprIsObject2 : Object >array[1] : string >array : string[] ->1 : number +>1 : 1 >exprIsObject1 : Object >exprIsObject2 : Object @@ -212,42 +212,42 @@ var resultIsStringOrBoolean1 = condString ? exprString1 : exprBoolean1; // union var resultIsAny2 = "" ? exprAny1 : exprAny2; >resultIsAny2 : any >"" ? exprAny1 : exprAny2 : any ->"" : string +>"" : "" >exprAny1 : any >exprAny2 : any var resultIsBoolean2 = "string" ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : boolean >"string" ? exprBoolean1 : exprBoolean2 : boolean ->"string" : string +>"string" : "string" >exprBoolean1 : boolean >exprBoolean2 : boolean var resultIsNumber2 = 'c' ? exprNumber1 : exprNumber2; >resultIsNumber2 : number >'c' ? exprNumber1 : exprNumber2 : number ->'c' : string +>'c' : "c" >exprNumber1 : number >exprNumber2 : number var resultIsString2 = 'string' ? exprString1 : exprString2; >resultIsString2 : string >'string' ? exprString1 : exprString2 : string ->'string' : string +>'string' : "string" >exprString1 : string >exprString2 : string var resultIsObject2 = " " ? exprIsObject1 : exprIsObject2; >resultIsObject2 : Object >" " ? exprIsObject1 : exprIsObject2 : Object ->" " : string +>" " : " " >exprIsObject1 : Object >exprIsObject2 : Object var resultIsStringOrBoolean2 = "hello" ? exprString1 : exprBoolean1; // union >resultIsStringOrBoolean2 : string | boolean >"hello" ? exprString1 : exprBoolean1 : string | boolean ->"hello" : string +>"hello" : "hello" >exprString1 : string >exprBoolean1 : boolean @@ -273,7 +273,7 @@ var resultIsNumber3 = condString + "string" ? exprNumber1 : exprNumber2; >condString + "string" ? exprNumber1 : exprNumber2 : number >condString + "string" : string >condString : string ->"string" : string +>"string" : "string" >exprNumber1 : number >exprNumber2 : number @@ -290,7 +290,7 @@ var resultIsObject3 = array[1] ? exprIsObject1 : exprIsObject2; >array[1] ? exprIsObject1 : exprIsObject2 : Object >array[1] : string >array : string[] ->1 : number +>1 : 1 >exprIsObject1 : Object >exprIsObject2 : Object diff --git a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types index 026c8f42272..3a655853163 100644 --- a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types +++ b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types @@ -32,62 +32,62 @@ var b: B; //Be Not contextually typed true ? x : a; >true ? x : a : X ->true : boolean +>true : true >x : X >a : A var result1 = true ? x : a; >result1 : X >true ? x : a : X ->true : boolean +>true : true >x : X >a : A //Expr1 and Expr2 are literals true ? {} : 1; >true ? {} : 1 : {} ->true : boolean +>true : true >{} : {} ->1 : number +>1 : 1 true ? { a: 1 } : { a: 2, b: 'string' }; >true ? { a: 1 } : { a: 2, b: 'string' } : { a: number; } | { a: number; b: string; } ->true : boolean +>true : true >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 >{ a: 2, b: 'string' } : { a: number; b: string; } >a : number ->2 : number +>2 : 2 >b : string ->'string' : string +>'string' : "string" var result2 = true ? {} : 1; >result2 : {} >true ? {} : 1 : {} ->true : boolean +>true : true >{} : {} ->1 : number +>1 : 1 var result3 = true ? { a: 1 } : { a: 2, b: 'string' }; >result3 : { a: number; } | { a: number; b: string; } >true ? { a: 1 } : { a: 2, b: 'string' } : { a: number; } | { a: number; b: string; } ->true : boolean +>true : true >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 >{ a: 2, b: 'string' } : { a: number; b: string; } >a : number ->2 : number +>2 : 2 >b : string ->'string' : string +>'string' : "string" //Contextually typed var resultIsX1: X = true ? x : a; >resultIsX1 : X >X : X >true ? x : a : X ->true : boolean +>true : true >x : X >a : A @@ -96,7 +96,7 @@ var result4: (t: A) => any = true ? (m) => m.propertyX : (n) => n.propertyA; >t : A >A : A >true ? (m) => m.propertyX : (n) => n.propertyA : (m: A) => any ->true : boolean +>true : true >(m) => m.propertyX : (m: A) => any >m : A >m.propertyX : any @@ -112,62 +112,62 @@ var result4: (t: A) => any = true ? (m) => m.propertyX : (n) => n.propertyA; //Be Not contextually typed true ? a : x; >true ? a : x : X ->true : boolean +>true : true >a : A >x : X var result5 = true ? a : x; >result5 : X >true ? a : x : X ->true : boolean +>true : true >a : A >x : X //Expr1 and Expr2 are literals true ? 1 : {}; >true ? 1 : {} : {} ->true : boolean ->1 : number +>true : true +>1 : 1 >{} : {} true ? { a: 2, b: 'string' } : { a: 1 }; >true ? { a: 2, b: 'string' } : { a: 1 } : { a: number; b: string; } | { a: number; } ->true : boolean +>true : true >{ a: 2, b: 'string' } : { a: number; b: string; } >a : number ->2 : number +>2 : 2 >b : string ->'string' : string +>'string' : "string" >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 var result6 = true ? 1 : {}; >result6 : {} >true ? 1 : {} : {} ->true : boolean ->1 : number +>true : true +>1 : 1 >{} : {} var result7 = true ? { a: 2, b: 'string' } : { a: 1 }; >result7 : { a: number; b: string; } | { a: number; } >true ? { a: 2, b: 'string' } : { a: 1 } : { a: number; b: string; } | { a: number; } ->true : boolean +>true : true >{ a: 2, b: 'string' } : { a: number; b: string; } >a : number ->2 : number +>2 : 2 >b : string ->'string' : string +>'string' : "string" >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 //Contextually typed var resultIsX2: X = true ? x : a; >resultIsX2 : X >X : X >true ? x : a : X ->true : boolean +>true : true >x : X >a : A @@ -176,7 +176,7 @@ var result8: (t: A) => any = true ? (m) => m.propertyA : (n) => n.propertyX; >t : A >A : A >true ? (m) => m.propertyA : (n) => n.propertyX : (n: A) => any ->true : boolean +>true : true >(m) => m.propertyA : (m: A) => number >m : A >m.propertyA : number @@ -194,7 +194,7 @@ var resultIsX3: X = true ? a : b; >resultIsX3 : X >X : X >true ? a : b : A | B ->true : boolean +>true : true >a : A >b : B @@ -203,7 +203,7 @@ var result10: (t: X) => any = true ? (m) => m.propertyX1 : (n) => n.propertyX2; >t : X >X : X >true ? (m) => m.propertyX1 : (n) => n.propertyX2 : ((m: X) => number) | ((n: X) => string) ->true : boolean +>true : true >(m) => m.propertyX1 : (m: X) => number >m : X >m.propertyX1 : number @@ -218,8 +218,8 @@ var result10: (t: X) => any = true ? (m) => m.propertyX1 : (n) => n.propertyX2; //Expr1 and Expr2 are literals var result11: any = true ? 1 : 'string'; >result11 : any ->true ? 1 : 'string' : number | string ->true : boolean ->1 : number ->'string' : string +>true ? 1 : 'string' : 1 | "string" +>true : true +>1 : 1 +>'string' : "string" diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration2.types b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration2.types index a5a7dd1d0cd..23e81800264 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration2.types +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration2.types @@ -5,14 +5,14 @@ function outer() { >outer : () => void const x = 0; ->x : number ->0 : number +>x : 0 +>0 : 0 function inner() { >inner : () => void var x = "inner"; >x : string ->"inner" : string +>"inner" : "inner" } } diff --git a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types index 1271d4ef869..919a9eb96f2 100644 --- a/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types +++ b/tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types @@ -8,11 +8,11 @@ class Rule { >RegExp : RegExp >new RegExp('') : RegExp >RegExp : RegExpConstructor ->'' : string +>'' : "" public name: string = ''; >name : string ->'' : string +>'' : "" constructor(name: string) { >name : string diff --git a/tests/baselines/reference/constDeclarations-access5.js b/tests/baselines/reference/constDeclarations-access5.js index 8ebd1716005..1da0cf40fcd 100644 --- a/tests/baselines/reference/constDeclarations-access5.js +++ b/tests/baselines/reference/constDeclarations-access5.js @@ -54,7 +54,7 @@ define(["require", "exports"], function (require, exports) { exports.x = 0; }); //// [constDeclarations_access_2.js] -define(["require", "exports", 'constDeclarations_access_1'], function (require, exports, m) { +define(["require", "exports", "constDeclarations_access_1"], function (require, exports, m) { "use strict"; // Errors m.x = 1; diff --git a/tests/baselines/reference/constDeclarations-errors.errors.txt b/tests/baselines/reference/constDeclarations-errors.errors.txt index 98b12b616f7..2c9c17cc102 100644 --- a/tests/baselines/reference/constDeclarations-errors.errors.txt +++ b/tests/baselines/reference/constDeclarations-errors.errors.txt @@ -4,12 +4,14 @@ tests/cases/compiler/constDeclarations-errors.ts(5,7): error TS1155: 'const' dec tests/cases/compiler/constDeclarations-errors.ts(5,11): error TS1155: 'const' declarations must be initialized tests/cases/compiler/constDeclarations-errors.ts(5,15): error TS1155: 'const' declarations must be initialized tests/cases/compiler/constDeclarations-errors.ts(5,27): error TS1155: 'const' declarations must be initialized +tests/cases/compiler/constDeclarations-errors.ts(10,19): error TS2365: Operator '<' cannot be applied to types '0' and '1'. tests/cases/compiler/constDeclarations-errors.ts(10,27): error TS2449: The operand of an increment or decrement operator cannot be a constant or a read-only property. tests/cases/compiler/constDeclarations-errors.ts(13,11): error TS1155: 'const' declarations must be initialized tests/cases/compiler/constDeclarations-errors.ts(16,20): error TS1155: 'const' declarations must be initialized +tests/cases/compiler/constDeclarations-errors.ts(16,25): error TS2365: Operator '<' cannot be applied to types '0' and '1'. -==== tests/cases/compiler/constDeclarations-errors.ts (9 errors) ==== +==== tests/cases/compiler/constDeclarations-errors.ts (11 errors) ==== // error, missing intialicer const c1; @@ -32,6 +34,8 @@ tests/cases/compiler/constDeclarations-errors.ts(16,20): error TS1155: 'const' d // error, assigning to a const for(const c8 = 0; c8 < 1; c8++) { } + ~~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. ~~ !!! error TS2449: The operand of an increment or decrement operator cannot be a constant or a read-only property. @@ -43,4 +47,6 @@ tests/cases/compiler/constDeclarations-errors.ts(16,20): error TS1155: 'const' d // error, can not be unintalized for(const c10 = 0, c11; c10 < 1;) { } ~~~ -!!! error TS1155: 'const' declarations must be initialized \ No newline at end of file +!!! error TS1155: 'const' declarations must be initialized + ~~~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '1'. \ No newline at end of file diff --git a/tests/baselines/reference/constDeclarations-es5.types b/tests/baselines/reference/constDeclarations-es5.types index a897c3f9cd0..e801607727e 100644 --- a/tests/baselines/reference/constDeclarations-es5.types +++ b/tests/baselines/reference/constDeclarations-es5.types @@ -1,18 +1,18 @@ === tests/cases/compiler/constDeclarations-es5.ts === const z7 = false; ->z7 : boolean ->false : boolean +>z7 : false +>false : false const z8: number = 23; >z8 : number ->23 : number +>23 : 23 const z9 = 0, z10 :string = "", z11 = null; ->z9 : number ->0 : number +>z9 : 0 +>0 : 0 >z10 : string ->"" : string +>"" : "" >z11 : any >null : null diff --git a/tests/baselines/reference/constDeclarations-scopes2.errors.txt b/tests/baselines/reference/constDeclarations-scopes2.errors.txt new file mode 100644 index 00000000000..b998f3a9980 --- /dev/null +++ b/tests/baselines/reference/constDeclarations-scopes2.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/constDeclarations-scopes2.ts(9,19): error TS2365: Operator '<' cannot be applied to types '0' and '10'. + + +==== tests/cases/compiler/constDeclarations-scopes2.ts (1 errors) ==== + + // global + const c = "string"; + + var n: number; + var b: boolean; + + // for scope + for (const c = 0; c < 10; n = c ) { + ~~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '10'. + // for block + const c = false; + b = c; + } + + \ No newline at end of file diff --git a/tests/baselines/reference/constDeclarations.errors.txt b/tests/baselines/reference/constDeclarations.errors.txt new file mode 100644 index 00000000000..1642610eec2 --- /dev/null +++ b/tests/baselines/reference/constDeclarations.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/constDeclarations.ts(8,19): error TS2365: Operator '<' cannot be applied to types '0' and '9'. + + +==== tests/cases/compiler/constDeclarations.ts (1 errors) ==== + + // No error + const c1 = false; + const c2: number = 23; + const c3 = 0, c4 :string = "", c5 = null; + + + for(const c4 = 0; c4 < 9; ) { break; } + ~~~~~~ +!!! error TS2365: Operator '<' cannot be applied to types '0' and '9'. + + + for(const c5 = 0, c6 = 0; c5 < c6; ) { break; } \ No newline at end of file diff --git a/tests/baselines/reference/constDeclarations.js b/tests/baselines/reference/constDeclarations.js index 060c0aba61c..7e5902ed5a1 100644 --- a/tests/baselines/reference/constDeclarations.js +++ b/tests/baselines/reference/constDeclarations.js @@ -25,6 +25,6 @@ for (const c5 = 0, c6 = 0; c5 < c6;) { //// [constDeclarations.d.ts] -declare const c1: boolean; +declare const c1: false; declare const c2: number; -declare const c3: number, c4: string, c5: any; +declare const c3: 0, c4: string, c5: any; diff --git a/tests/baselines/reference/constDeclarations2.js b/tests/baselines/reference/constDeclarations2.js index e4ee67ebdcd..ea7134d4664 100644 --- a/tests/baselines/reference/constDeclarations2.js +++ b/tests/baselines/reference/constDeclarations2.js @@ -20,7 +20,7 @@ var M; //// [constDeclarations2.d.ts] declare module M { - const c1: boolean; + const c1: false; const c2: number; - const c3: number, c4: string, c5: any; + const c3: 0, c4: string, c5: any; } diff --git a/tests/baselines/reference/constDeclarations2.types b/tests/baselines/reference/constDeclarations2.types index f8184b8f8e0..54a273dfb4d 100644 --- a/tests/baselines/reference/constDeclarations2.types +++ b/tests/baselines/reference/constDeclarations2.types @@ -5,18 +5,18 @@ module M { >M : typeof M export const c1 = false; ->c1 : boolean ->false : boolean +>c1 : false +>false : false export const c2: number = 23; >c2 : number ->23 : number +>23 : 23 export const c3 = 0, c4 :string = "", c5 = null; ->c3 : number ->0 : number +>c3 : 0 +>0 : 0 >c4 : string ->"" : string +>"" : "" >c5 : any >null : null } diff --git a/tests/baselines/reference/constEnum1.types b/tests/baselines/reference/constEnum1.types index 9ae95992847..17f6f5de278 100644 --- a/tests/baselines/reference/constEnum1.types +++ b/tests/baselines/reference/constEnum1.types @@ -9,7 +9,7 @@ const enum E { a = 10, >a : E ->10 : number +>10 : 10 b = a, >b : E @@ -20,7 +20,7 @@ const enum E { >(a+1) : number >a+1 : number >a : E ->1 : number +>1 : 1 e, >e : E @@ -35,16 +35,16 @@ const enum E { >a << 2 >> 1 : number >a << 2 : number >a : E ->2 : number ->1 : number +>2 : 2 +>1 : 1 g = a << 2 >>> 1, >g : E >a << 2 >>> 1 : number >a << 2 : number >a : E ->2 : number ->1 : number +>2 : 2 +>1 : 1 h = a | b >h : E diff --git a/tests/baselines/reference/constEnumDeclarations.types b/tests/baselines/reference/constEnumDeclarations.types index 481c2673660..1f86028b385 100644 --- a/tests/baselines/reference/constEnumDeclarations.types +++ b/tests/baselines/reference/constEnumDeclarations.types @@ -5,11 +5,11 @@ const enum E { A = 1, >A : E ->1 : number +>1 : 1 B = 2, >B : E ->2 : number +>2 : 2 C = A | B >C : E @@ -22,12 +22,12 @@ const enum E2 { >E2 : E2 A = 1, ->A : E2 ->1 : number +>A : E2.A +>1 : 1 B, ->B : E2 +>B : E2.B C ->C : E2 +>C : E2.C } diff --git a/tests/baselines/reference/constEnumExternalModule.types b/tests/baselines/reference/constEnumExternalModule.types index 5d03b77b1b7..2bd978a2caf 100644 --- a/tests/baselines/reference/constEnumExternalModule.types +++ b/tests/baselines/reference/constEnumExternalModule.types @@ -14,7 +14,7 @@ const enum E { V = 100 >V : E ->100 : number +>100 : 100 } export = E diff --git a/tests/baselines/reference/constEnumMergingWithValues4.types b/tests/baselines/reference/constEnumMergingWithValues4.types index 92d04fc10cc..8df07d3026d 100644 --- a/tests/baselines/reference/constEnumMergingWithValues4.types +++ b/tests/baselines/reference/constEnumMergingWithValues4.types @@ -13,7 +13,7 @@ module foo { var x = 1; >x : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/constEnumOnlyModuleMerging.types b/tests/baselines/reference/constEnumOnlyModuleMerging.types index 452c0f46add..ec78f39e055 100644 --- a/tests/baselines/reference/constEnumOnlyModuleMerging.types +++ b/tests/baselines/reference/constEnumOnlyModuleMerging.types @@ -4,7 +4,7 @@ module Outer { export var x = 1; >x : number ->1 : number +>1 : 1 } module Outer { diff --git a/tests/baselines/reference/constEnumPropertyAccess1.types b/tests/baselines/reference/constEnumPropertyAccess1.types index f0e00fe7717..869a31d5e1f 100644 --- a/tests/baselines/reference/constEnumPropertyAccess1.types +++ b/tests/baselines/reference/constEnumPropertyAccess1.types @@ -9,11 +9,11 @@ const enum G { A = 1, >A : G ->1 : number +>1 : 1 B = 2, >B : G ->2 : number +>2 : 2 C = A + B, >C : G @@ -25,7 +25,7 @@ const enum G { >D : G >A * 2 : number >A : G ->2 : number +>2 : 2 } var o: { @@ -35,10 +35,10 @@ var o: { >idx : number } = { ->{ 1: true } : { 1: boolean; } +>{ 1: true } : { 1: true; } 1: true ->true : boolean +>true : true }; @@ -52,7 +52,7 @@ var a1 = G["A"]; >a1 : G >G["A"] : G >G : typeof G ->"A" : string +>"A" : "A" var g = o[G.A]; >g : boolean @@ -76,7 +76,7 @@ class C { >B : G return true; ->true : boolean +>true : true } set [G.B](x: number) { } >G.B : G diff --git a/tests/baselines/reference/constEnumPropertyAccess2.errors.txt b/tests/baselines/reference/constEnumPropertyAccess2.errors.txt index a943ee00962..ef5dd331d32 100644 --- a/tests/baselines/reference/constEnumPropertyAccess2.errors.txt +++ b/tests/baselines/reference/constEnumPropertyAccess2.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(14,9): error TS2475: 'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment. tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(15,12): error TS2476: A const enum member can only be accessed using a string literal. -tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(17,1): error TS2322: Type 'string' is not assignable to type 'G'. +tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(17,1): error TS2322: Type '"string"' is not assignable to type 'G'. tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(19,1): error TS2450: Left-hand side of assignment expression cannot be a constant or a read-only property. @@ -27,7 +27,7 @@ tests/cases/conformance/constEnums/constEnumPropertyAccess2.ts(19,1): error TS24 var g: G; g = "string"; ~ -!!! error TS2322: Type 'string' is not assignable to type 'G'. +!!! error TS2322: Type '"string"' is not assignable to type 'G'. function foo(x: G) { } G.B = 3; ~~~ diff --git a/tests/baselines/reference/constEnumToStringNoComments.js b/tests/baselines/reference/constEnumToStringNoComments.js index a23be26033e..31b0549b99f 100644 --- a/tests/baselines/reference/constEnumToStringNoComments.js +++ b/tests/baselines/reference/constEnumToStringNoComments.js @@ -23,15 +23,15 @@ let c1 = Foo["C"].toString(); //// [constEnumToStringNoComments.js] -var x0 = 100 .toString(); -var x1 = 100 .toString(); +var x0 = 100..toString(); +var x1 = 100..toString(); var y0 = 0.5.toString(); var y1 = 0.5.toString(); -var z0 = 2 .toString(); -var z1 = 2 .toString(); -var a0 = -1 .toString(); -var a1 = -1 .toString(); +var z0 = 2..toString(); +var z1 = 2..toString(); +var a0 = -1..toString(); +var a1 = -1..toString(); var b0 = -1.5.toString(); var b1 = -1.5.toString(); -var c0 = -1 .toString(); -var c1 = -1 .toString(); +var c0 = -1..toString(); +var c1 = -1..toString(); diff --git a/tests/baselines/reference/constEnumToStringNoComments.types b/tests/baselines/reference/constEnumToStringNoComments.types index 21c4dc6c703..eef69de320d 100644 --- a/tests/baselines/reference/constEnumToStringNoComments.types +++ b/tests/baselines/reference/constEnumToStringNoComments.types @@ -3,138 +3,138 @@ const enum Foo { >Foo : Foo X = 100, ->X : Foo ->100 : number +>X : Foo.X +>100 : 100 Y = 0.5, ->Y : Foo ->0.5 : number +>Y : Foo.Y +>0.5 : 0.5 Z = 2., ->Z : Foo ->2. : number +>Z : Foo.Z +>2. : 2 A = -1, ->A : Foo ->-1 : number ->1 : number +>A : Foo.A +>-1 : -1 +>1 : 1 B = -1.5, ->B : Foo ->-1.5 : number ->1.5 : number +>B : Foo.B +>-1.5 : -1.5 +>1.5 : 1.5 C = -1. ->C : Foo ->-1. : number ->1. : number +>C : Foo.A +>-1. : -1 +>1. : 1 } let x0 = Foo.X.toString(); >x0 : string >Foo.X.toString() : string >Foo.X.toString : (radix?: number) => string ->Foo.X : Foo +>Foo.X : Foo.X >Foo : typeof Foo ->X : Foo +>X : Foo.X >toString : (radix?: number) => string let x1 = Foo["X"].toString(); >x1 : string >Foo["X"].toString() : string >Foo["X"].toString : (radix?: number) => string ->Foo["X"] : Foo +>Foo["X"] : Foo.X >Foo : typeof Foo ->"X" : string +>"X" : "X" >toString : (radix?: number) => string let y0 = Foo.Y.toString(); >y0 : string >Foo.Y.toString() : string >Foo.Y.toString : (radix?: number) => string ->Foo.Y : Foo +>Foo.Y : Foo.Y >Foo : typeof Foo ->Y : Foo +>Y : Foo.Y >toString : (radix?: number) => string let y1 = Foo["Y"].toString(); >y1 : string >Foo["Y"].toString() : string >Foo["Y"].toString : (radix?: number) => string ->Foo["Y"] : Foo +>Foo["Y"] : Foo.Y >Foo : typeof Foo ->"Y" : string +>"Y" : "Y" >toString : (radix?: number) => string let z0 = Foo.Z.toString(); >z0 : string >Foo.Z.toString() : string >Foo.Z.toString : (radix?: number) => string ->Foo.Z : Foo +>Foo.Z : Foo.Z >Foo : typeof Foo ->Z : Foo +>Z : Foo.Z >toString : (radix?: number) => string let z1 = Foo["Z"].toString(); >z1 : string >Foo["Z"].toString() : string >Foo["Z"].toString : (radix?: number) => string ->Foo["Z"] : Foo +>Foo["Z"] : Foo.Z >Foo : typeof Foo ->"Z" : string +>"Z" : "Z" >toString : (radix?: number) => string let a0 = Foo.A.toString(); >a0 : string >Foo.A.toString() : string >Foo.A.toString : (radix?: number) => string ->Foo.A : Foo +>Foo.A : Foo.A >Foo : typeof Foo ->A : Foo +>A : Foo.A >toString : (radix?: number) => string let a1 = Foo["A"].toString(); >a1 : string >Foo["A"].toString() : string >Foo["A"].toString : (radix?: number) => string ->Foo["A"] : Foo +>Foo["A"] : Foo.A >Foo : typeof Foo ->"A" : string +>"A" : "A" >toString : (radix?: number) => string let b0 = Foo.B.toString(); >b0 : string >Foo.B.toString() : string >Foo.B.toString : (radix?: number) => string ->Foo.B : Foo +>Foo.B : Foo.B >Foo : typeof Foo ->B : Foo +>B : Foo.B >toString : (radix?: number) => string let b1 = Foo["B"].toString(); >b1 : string >Foo["B"].toString() : string >Foo["B"].toString : (radix?: number) => string ->Foo["B"] : Foo +>Foo["B"] : Foo.B >Foo : typeof Foo ->"B" : string +>"B" : "B" >toString : (radix?: number) => string let c0 = Foo.C.toString(); >c0 : string >Foo.C.toString() : string >Foo.C.toString : (radix?: number) => string ->Foo.C : Foo +>Foo.C : Foo.A >Foo : typeof Foo ->C : Foo +>C : Foo.A >toString : (radix?: number) => string let c1 = Foo["C"].toString(); >c1 : string >Foo["C"].toString() : string >Foo["C"].toString : (radix?: number) => string ->Foo["C"] : Foo +>Foo["C"] : Foo.A >Foo : typeof Foo ->"C" : string +>"C" : "C" >toString : (radix?: number) => string diff --git a/tests/baselines/reference/constEnumToStringWithComments.js b/tests/baselines/reference/constEnumToStringWithComments.js index e70833c9b89..c01e75cb923 100644 --- a/tests/baselines/reference/constEnumToStringWithComments.js +++ b/tests/baselines/reference/constEnumToStringWithComments.js @@ -23,15 +23,15 @@ let c1 = Foo["C"].toString(); //// [constEnumToStringWithComments.js] -var x0 = 100 /* X */ .toString(); -var x1 = 100 /* "X" */ .toString(); +var x0 = 100 /* X */..toString(); +var x1 = 100 /* "X" */..toString(); var y0 = 0.5 /* Y */.toString(); var y1 = 0.5 /* "Y" */.toString(); -var z0 = 2 /* Z */ .toString(); -var z1 = 2 /* "Z" */ .toString(); -var a0 = -1 /* A */ .toString(); -var a1 = -1 /* "A" */ .toString(); +var z0 = 2 /* Z */..toString(); +var z1 = 2 /* "Z" */..toString(); +var a0 = -1 /* A */..toString(); +var a1 = -1 /* "A" */..toString(); var b0 = -1.5 /* B */.toString(); var b1 = -1.5 /* "B" */.toString(); -var c0 = -1 /* C */ .toString(); -var c1 = -1 /* "C" */ .toString(); +var c0 = -1 /* C */..toString(); +var c1 = -1 /* "C" */..toString(); diff --git a/tests/baselines/reference/constEnumToStringWithComments.types b/tests/baselines/reference/constEnumToStringWithComments.types index 72d7d367f5d..ff0e737ec86 100644 --- a/tests/baselines/reference/constEnumToStringWithComments.types +++ b/tests/baselines/reference/constEnumToStringWithComments.types @@ -3,138 +3,138 @@ const enum Foo { >Foo : Foo X = 100, ->X : Foo ->100 : number +>X : Foo.X +>100 : 100 Y = 0.5, ->Y : Foo ->0.5 : number +>Y : Foo.Y +>0.5 : 0.5 Z = 2., ->Z : Foo ->2. : number +>Z : Foo.Z +>2. : 2 A = -1, ->A : Foo ->-1 : number ->1 : number +>A : Foo.A +>-1 : -1 +>1 : 1 B = -1.5, ->B : Foo ->-1.5 : number ->1.5 : number +>B : Foo.B +>-1.5 : -1.5 +>1.5 : 1.5 C = -1. ->C : Foo ->-1. : number ->1. : number +>C : Foo.A +>-1. : -1 +>1. : 1 } let x0 = Foo.X.toString(); >x0 : string >Foo.X.toString() : string >Foo.X.toString : (radix?: number) => string ->Foo.X : Foo +>Foo.X : Foo.X >Foo : typeof Foo ->X : Foo +>X : Foo.X >toString : (radix?: number) => string let x1 = Foo["X"].toString(); >x1 : string >Foo["X"].toString() : string >Foo["X"].toString : (radix?: number) => string ->Foo["X"] : Foo +>Foo["X"] : Foo.X >Foo : typeof Foo ->"X" : string +>"X" : "X" >toString : (radix?: number) => string let y0 = Foo.Y.toString(); >y0 : string >Foo.Y.toString() : string >Foo.Y.toString : (radix?: number) => string ->Foo.Y : Foo +>Foo.Y : Foo.Y >Foo : typeof Foo ->Y : Foo +>Y : Foo.Y >toString : (radix?: number) => string let y1 = Foo["Y"].toString(); >y1 : string >Foo["Y"].toString() : string >Foo["Y"].toString : (radix?: number) => string ->Foo["Y"] : Foo +>Foo["Y"] : Foo.Y >Foo : typeof Foo ->"Y" : string +>"Y" : "Y" >toString : (radix?: number) => string let z0 = Foo.Z.toString(); >z0 : string >Foo.Z.toString() : string >Foo.Z.toString : (radix?: number) => string ->Foo.Z : Foo +>Foo.Z : Foo.Z >Foo : typeof Foo ->Z : Foo +>Z : Foo.Z >toString : (radix?: number) => string let z1 = Foo["Z"].toString(); >z1 : string >Foo["Z"].toString() : string >Foo["Z"].toString : (radix?: number) => string ->Foo["Z"] : Foo +>Foo["Z"] : Foo.Z >Foo : typeof Foo ->"Z" : string +>"Z" : "Z" >toString : (radix?: number) => string let a0 = Foo.A.toString(); >a0 : string >Foo.A.toString() : string >Foo.A.toString : (radix?: number) => string ->Foo.A : Foo +>Foo.A : Foo.A >Foo : typeof Foo ->A : Foo +>A : Foo.A >toString : (radix?: number) => string let a1 = Foo["A"].toString(); >a1 : string >Foo["A"].toString() : string >Foo["A"].toString : (radix?: number) => string ->Foo["A"] : Foo +>Foo["A"] : Foo.A >Foo : typeof Foo ->"A" : string +>"A" : "A" >toString : (radix?: number) => string let b0 = Foo.B.toString(); >b0 : string >Foo.B.toString() : string >Foo.B.toString : (radix?: number) => string ->Foo.B : Foo +>Foo.B : Foo.B >Foo : typeof Foo ->B : Foo +>B : Foo.B >toString : (radix?: number) => string let b1 = Foo["B"].toString(); >b1 : string >Foo["B"].toString() : string >Foo["B"].toString : (radix?: number) => string ->Foo["B"] : Foo +>Foo["B"] : Foo.B >Foo : typeof Foo ->"B" : string +>"B" : "B" >toString : (radix?: number) => string let c0 = Foo.C.toString(); >c0 : string >Foo.C.toString() : string >Foo.C.toString : (radix?: number) => string ->Foo.C : Foo +>Foo.C : Foo.A >Foo : typeof Foo ->C : Foo +>C : Foo.A >toString : (radix?: number) => string let c1 = Foo["C"].toString(); >c1 : string >Foo["C"].toString() : string >Foo["C"].toString : (radix?: number) => string ->Foo["C"] : Foo +>Foo["C"] : Foo.A >Foo : typeof Foo ->"C" : string +>"C" : "C" >toString : (radix?: number) => string diff --git a/tests/baselines/reference/constEnums.types b/tests/baselines/reference/constEnums.types index a59bd2d012a..c0bfef91434 100644 --- a/tests/baselines/reference/constEnums.types +++ b/tests/baselines/reference/constEnums.types @@ -4,7 +4,7 @@ const enum Enum1 { A0 = 100, >A0 : Enum1 ->100 : number +>100 : 100 } const enum Enum1 { @@ -19,7 +19,7 @@ const enum Enum1 { C = 10, >C : Enum1 ->10 : number +>10 : 10 D = A | B, >D : Enum1 @@ -31,20 +31,20 @@ const enum Enum1 { >E : Enum1 >A | 1 : number >A : Enum1 ->1 : number +>1 : 1 F = 1 | A, >F : Enum1 >1 | A : number ->1 : number +>1 : 1 >A : Enum1 G = (1 & 1), >G : Enum1 >(1 & 1) : number >1 & 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 H = ~(A | B), >H : Enum1 @@ -58,12 +58,12 @@ const enum Enum1 { >I : Enum1 >A >>> 1 : number >A : Enum1 ->1 : number +>1 : 1 J = 1 & A, >J : Enum1 >1 & A : number ->1 : number +>1 : 1 >A : Enum1 K = ~(1 | 5), @@ -71,8 +71,8 @@ const enum Enum1 { >~(1 | 5) : number >(1 | 5) : number >1 | 5 : number ->1 : number ->5 : number +>1 : 1 +>5 : 5 L = ~D, >L : Enum1 @@ -89,7 +89,7 @@ const enum Enum1 { >N : Enum1 >E << 1 : number >E : Enum1 ->1 : number +>1 : 1 O = E >> B, >O : Enum1 @@ -101,7 +101,7 @@ const enum Enum1 { >P : Enum1 >E >> 1 : number >E : Enum1 ->1 : number +>1 : 1 Q = -D, >Q : Enum1 @@ -112,12 +112,12 @@ const enum Enum1 { >R : Enum1 >C & 5 : number >C : Enum1 ->5 : number +>5 : 5 S = 5 & C, >S : Enum1 >5 & C : number ->5 : number +>5 : 5 >C : Enum1 T = C | D, @@ -130,12 +130,12 @@ const enum Enum1 { >U : Enum1 >C | 1 : number >C : Enum1 ->1 : number +>1 : 1 V = 10 | D, >V : Enum1 >10 | D : number ->10 : number +>10 : 10 >D : Enum1 W = Enum1.V, @@ -159,13 +159,13 @@ const enum Enum1 { >W3 : Enum1 >Enum1["A0"] : Enum1 >Enum1 : typeof Enum1 ->"A0" : string +>"A0" : "A0" W4 = Enum1["W"], >W4 : Enum1 >Enum1["W"] : Enum1 >Enum1 : typeof Enum1 ->"W" : string +>"W" : "W" } @@ -183,7 +183,7 @@ module A { V1 = 1, >V1 : E ->1 : number +>1 : 1 V2 = A.B.C.E.V1 | 100 >V2 : E @@ -197,7 +197,7 @@ module A { >C : typeof C >E : typeof E >V1 : E ->100 : number +>100 : 100 } } } @@ -226,8 +226,8 @@ module A { >B : typeof B >C : typeof C >E : typeof E ->"V2" : string ->200 : number +>"V2" : "V2" +>200 : 200 } } } @@ -246,12 +246,12 @@ module A1 { >E : E V1 = 10, ->V1 : E ->10 : number +>V1 : E.V1 +>10 : 10 V2 = 110, ->V2 : E ->110 : number +>V2 : E.V2 +>110 : 110 } } } @@ -270,12 +270,12 @@ module A2 { >E : E V1 = 10, ->V1 : E ->10 : number +>V1 : E.V1 +>10 : 10 V2 = 110, ->V2 : E ->110 : number +>V2 : E.V2 +>110 : 110 } } // module C will be classified as value @@ -284,7 +284,7 @@ module A2 { var x = 1 >x : number ->1 : number +>1 : 1 } } } @@ -337,24 +337,24 @@ function foo1(e: I1.C.E): void { if (e === I1.C.E.V1) { >e === I1.C.E.V1 : boolean >e : I1.C.E ->I1.C.E.V1 : I1.C.E +>I1.C.E.V1 : I1.C.E.V1 >I1.C.E : typeof I1.C.E >I1.C : typeof I1.C >I1 : typeof I1 >C : typeof I1.C >E : typeof I1.C.E ->V1 : I1.C.E +>V1 : I1.C.E.V1 } else if (e === I1.C.E.V2) { >e === I1.C.E.V2 : boolean ->e : I1.C.E ->I1.C.E.V2 : I1.C.E +>e : I1.C.E.V2 +>I1.C.E.V2 : I1.C.E.V2 >I1.C.E : typeof I1.C.E >I1.C : typeof I1.C >I1 : typeof I1 >C : typeof I1.C >E : typeof I1.C.E ->V2 : I1.C.E +>V2 : I1.C.E.V2 } } @@ -368,24 +368,24 @@ function foo2(e: I2.C.E): void { if (e === I2.C.E.V1) { >e === I2.C.E.V1 : boolean >e : I2.C.E ->I2.C.E.V1 : I2.C.E +>I2.C.E.V1 : I2.C.E.V1 >I2.C.E : typeof I2.C.E >I2.C : typeof I2.C >I2 : typeof I2 >C : typeof I2.C >E : typeof I2.C.E ->V1 : I2.C.E +>V1 : I2.C.E.V1 } else if (e === I2.C.E.V2) { >e === I2.C.E.V2 : boolean ->e : I2.C.E ->I2.C.E.V2 : I2.C.E +>e : I2.C.E.V2 +>I2.C.E.V2 : I2.C.E.V2 >I2.C.E : typeof I2.C.E >I2.C : typeof I2.C >I2 : typeof I2 >C : typeof I2.C >E : typeof I2.C.E ->V2 : I2.C.E +>V2 : I2.C.E.V2 } } @@ -496,7 +496,7 @@ function foo(x: Enum1) { case Enum1["T"]: >Enum1["T"] : Enum1 >Enum1 : typeof Enum1 ->"T" : string +>"T" : "T" case Enum1.U: >Enum1.U : Enum1 @@ -558,7 +558,7 @@ function bar(e: A.B.C.E): number { >C : typeof A.B.C >E : typeof I >V1 : I ->1 : number +>1 : 1 case A.B.C.E.V2: return 1; >A.B.C.E.V2 : I @@ -570,7 +570,7 @@ function bar(e: A.B.C.E): number { >C : typeof A.B.C >E : typeof I >V2 : I ->1 : number +>1 : 1 case A.B.C.E.V3: return 1; >A.B.C.E.V3 : I @@ -582,6 +582,6 @@ function bar(e: A.B.C.E): number { >C : typeof A.B.C >E : typeof I >V3 : I ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/constIndexedAccess.types b/tests/baselines/reference/constIndexedAccess.types index eb02c7bde2e..0740a6efc67 100644 --- a/tests/baselines/reference/constIndexedAccess.types +++ b/tests/baselines/reference/constIndexedAccess.types @@ -4,10 +4,10 @@ const enum numbers { >numbers : numbers zero, ->zero : numbers +>zero : numbers.zero one ->one : numbers +>one : numbers.one } interface indexAccess { @@ -25,69 +25,69 @@ let s = test[0]; >s : string >test[0] : string >test : indexAccess ->0 : number +>0 : 0 let n = test[1]; >n : number >test[1] : number >test : indexAccess ->1 : number +>1 : 1 let s1 = test[numbers.zero]; >s1 : string >test[numbers.zero] : string >test : indexAccess ->numbers.zero : numbers +>numbers.zero : numbers.zero >numbers : typeof numbers ->zero : numbers +>zero : numbers.zero let n1 = test[numbers.one]; >n1 : number >test[numbers.one] : number >test : indexAccess ->numbers.one : numbers +>numbers.one : numbers.one >numbers : typeof numbers ->one : numbers +>one : numbers.one let s2 = test[numbers["zero"]]; >s2 : string >test[numbers["zero"]] : string >test : indexAccess ->numbers["zero"] : numbers +>numbers["zero"] : numbers.zero >numbers : typeof numbers ->"zero" : string +>"zero" : "zero" let n2 = test[numbers["one"]]; >n2 : number >test[numbers["one"]] : number >test : indexAccess ->numbers["one"] : numbers +>numbers["one"] : numbers.one >numbers : typeof numbers ->"one" : string +>"one" : "one" enum numbersNotConst { >numbersNotConst : numbersNotConst zero, ->zero : numbersNotConst +>zero : numbersNotConst.zero one ->one : numbersNotConst +>one : numbersNotConst.one } let s3 = test[numbersNotConst.zero]; >s3 : any >test[numbersNotConst.zero] : any >test : indexAccess ->numbersNotConst.zero : numbersNotConst +>numbersNotConst.zero : numbersNotConst.zero >numbersNotConst : typeof numbersNotConst ->zero : numbersNotConst +>zero : numbersNotConst.zero let n3 = test[numbersNotConst.one]; >n3 : any >test[numbersNotConst.one] : any >test : indexAccess ->numbersNotConst.one : numbersNotConst +>numbersNotConst.one : numbersNotConst.one >numbersNotConst : typeof numbersNotConst ->one : numbersNotConst +>one : numbersNotConst.one diff --git a/tests/baselines/reference/constLocalsInFunctionExpressions.types b/tests/baselines/reference/constLocalsInFunctionExpressions.types index e9f0086f6b1..db1da04e0ca 100644 --- a/tests/baselines/reference/constLocalsInFunctionExpressions.types +++ b/tests/baselines/reference/constLocalsInFunctionExpressions.types @@ -14,7 +14,7 @@ function f1() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" const f = () => x.length; >f : () => number @@ -37,7 +37,7 @@ function f2() { >typeof x !== "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" return; } @@ -61,7 +61,7 @@ function f3() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" const f = function() { return x.length; }; >f : () => number @@ -84,7 +84,7 @@ function f4() { >typeof x !== "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" return; } @@ -108,7 +108,7 @@ function f5() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" const f = () => () => x.length; >f : () => () => number diff --git a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types index ca2cb6fefb7..8ea80c02d19 100644 --- a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types @@ -20,8 +20,8 @@ var r1 = new C(1, ''); >r1 : C >new C(1, '') : C >C : typeof C ->1 : number ->'' : string +>1 : 1 +>'' : "" class C2 { >C2 : C2 @@ -46,8 +46,8 @@ var r2 = new C2(1, ''); >r2 : C2 >new C2(1, '') : C2 >C2 : typeof C2 ->1 : number ->'' : string +>1 : 1 +>'' : "" interface I { >I : I @@ -71,8 +71,8 @@ var r3 = new i(1, ''); >r3 : C >new i(1, '') : C >i : I ->1 : number ->'' : string +>1 : 1 +>'' : "" interface I2 { >I2 : I2 @@ -117,8 +117,8 @@ var r4 = new i2(1, ''); >r4 : C2 >new i2(1, '') : C2 >i2 : I2 ->1 : number ->'' : string +>1 : 1 +>'' : "" var a: { >a : { new (x: number, y: string): C; new (x: number, y: string): C; } @@ -138,8 +138,8 @@ var r5 = new a(1, ''); >r5 : C >new a(1, '') : C >a : { new (x: number, y: string): C; new (x: number, y: string): C; } ->1 : number ->'' : string +>1 : 1 +>'' : "" var b: { >b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } @@ -165,6 +165,6 @@ var r6 = new b(1, ''); >r6 : C2 >new b(1, '') : C2 >b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } ->1 : number ->'' : string +>1 : 1 +>'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloads.types b/tests/baselines/reference/constructSignaturesWithOverloads.types index 8ff678c5de8..775006e24e0 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithOverloads.types @@ -20,8 +20,8 @@ var r1 = new C(1, ''); >r1 : C >new C(1, '') : C >C : typeof C ->1 : number ->'' : string +>1 : 1 +>'' : "" class C2 { >C2 : C2 @@ -46,8 +46,8 @@ var r2 = new C2(1, ''); >r2 : C2 >new C2(1, '') : C2 >C2 : typeof C2 ->1 : number ->'' : string +>1 : 1 +>'' : "" interface I { >I : I @@ -71,8 +71,8 @@ var r3 = new i(1, ''); >r3 : C >new i(1, '') : C >i : I ->1 : number ->'' : string +>1 : 1 +>'' : "" interface I2 { >I2 : I2 @@ -118,8 +118,8 @@ var r4 = new i2(1, ''); >r4 : C2 >new i2(1, '') : C2 >i2 : I2 ->1 : number ->'' : string +>1 : 1 +>'' : "" var a: { >a : { new (x: number, y?: string): C; new (x: number, y: string): C; } @@ -139,8 +139,8 @@ var r5 = new a(1, ''); >r5 : C >new a(1, '') : C >a : { new (x: number, y?: string): C; new (x: number, y: string): C; } ->1 : number ->'' : string +>1 : 1 +>'' : "" var b: { >b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } @@ -166,6 +166,6 @@ var r6 = new b(1, ''); >r6 : C2 >new b(1, '') : C2 >b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } ->1 : number ->'' : string +>1 : 1 +>'' : "" diff --git a/tests/baselines/reference/constructableDecoratorOnClass01.errors.txt b/tests/baselines/reference/constructableDecoratorOnClass01.errors.txt new file mode 100644 index 00000000000..f390aaf8550 --- /dev/null +++ b/tests/baselines/reference/constructableDecoratorOnClass01.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts(4,1): error TS1238: Unable to resolve signature of class decorator when called as an expression. + Cannot invoke an expression whose type lacks a call signature. + + +==== tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts (1 errors) ==== + + class CtorDtor {} + + @CtorDtor + ~~~~~~~~~ +!!! error TS1238: Unable to resolve signature of class decorator when called as an expression. +!!! error TS1238: Cannot invoke an expression whose type lacks a call signature. + class C { + + } + \ No newline at end of file diff --git a/tests/baselines/reference/constructableDecoratorOnClass01.js b/tests/baselines/reference/constructableDecoratorOnClass01.js new file mode 100644 index 00000000000..290c36bb830 --- /dev/null +++ b/tests/baselines/reference/constructableDecoratorOnClass01.js @@ -0,0 +1,30 @@ +//// [constructableDecoratorOnClass01.ts] + +class CtorDtor {} + +@CtorDtor +class C { + +} + + +//// [constructableDecoratorOnClass01.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var CtorDtor = (function () { + function CtorDtor() { + } + return CtorDtor; +}()); +var C = (function () { + function C() { + } + return C; +}()); +C = __decorate([ + CtorDtor +], C); diff --git a/tests/baselines/reference/constructableDecoratorOnClass01.symbols b/tests/baselines/reference/constructableDecoratorOnClass01.symbols new file mode 100644 index 00000000000..46de420b826 --- /dev/null +++ b/tests/baselines/reference/constructableDecoratorOnClass01.symbols @@ -0,0 +1,13 @@ +=== tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts === + +class CtorDtor {} +>CtorDtor : Symbol(CtorDtor, Decl(constructableDecoratorOnClass01.ts, 0, 0)) + +@CtorDtor +>CtorDtor : Symbol(CtorDtor, Decl(constructableDecoratorOnClass01.ts, 0, 0)) + +class C { +>C : Symbol(C, Decl(constructableDecoratorOnClass01.ts, 1, 17)) + +} + diff --git a/tests/baselines/reference/constructableDecoratorOnClass01.types b/tests/baselines/reference/constructableDecoratorOnClass01.types new file mode 100644 index 00000000000..d66778a27e6 --- /dev/null +++ b/tests/baselines/reference/constructableDecoratorOnClass01.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/decorators/class/constructableDecoratorOnClass01.ts === + +class CtorDtor {} +>CtorDtor : CtorDtor + +@CtorDtor +>CtorDtor : typeof CtorDtor + +class C { +>C : C + +} + diff --git a/tests/baselines/reference/constructorArgsErrors1.js b/tests/baselines/reference/constructorArgsErrors1.js index bb0725ab8b9..15c5e64952b 100644 --- a/tests/baselines/reference/constructorArgsErrors1.js +++ b/tests/baselines/reference/constructorArgsErrors1.js @@ -6,7 +6,7 @@ class foo { //// [constructorArgsErrors1.js] var foo = (function () { - function foo(a) { + function foo(static a) { } return foo; }()); diff --git a/tests/baselines/reference/constructorArgsErrors5.js b/tests/baselines/reference/constructorArgsErrors5.js index c481d6f323c..6ba68cb88b4 100644 --- a/tests/baselines/reference/constructorArgsErrors5.js +++ b/tests/baselines/reference/constructorArgsErrors5.js @@ -7,7 +7,7 @@ class foo { //// [constructorArgsErrors5.js] var foo = (function () { - function foo(a) { + function foo(export a) { } return foo; }()); diff --git a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types index e0e86df4a26..6bfac199b2b 100644 --- a/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types +++ b/tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.types @@ -60,6 +60,6 @@ class Derived2 extends Base { >x : any return 1; ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/constructorImplementationWithDefaultValues.types b/tests/baselines/reference/constructorImplementationWithDefaultValues.types index fa99cc17fe0..fbb78bcb2a9 100644 --- a/tests/baselines/reference/constructorImplementationWithDefaultValues.types +++ b/tests/baselines/reference/constructorImplementationWithDefaultValues.types @@ -7,7 +7,7 @@ class C { constructor(x = 1) { >x : number ->1 : number +>1 : 1 var y = x; >y : number diff --git a/tests/baselines/reference/constructorImplementationWithDefaultValues2.errors.txt b/tests/baselines/reference/constructorImplementationWithDefaultValues2.errors.txt index 2fb24c0d5d8..9cad967dd77 100644 --- a/tests/baselines/reference/constructorImplementationWithDefaultValues2.errors.txt +++ b/tests/baselines/reference/constructorImplementationWithDefaultValues2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(3,17): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(10,17): error TS2322: Type 'number' is not assignable to type 'T'. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(3,17): error TS2322: Type '1' is not assignable to type 'string'. +tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(10,17): error TS2322: Type '1' is not assignable to type 'T'. tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(10,27): error TS2322: Type 'T' is not assignable to type 'U'. tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts(17,17): error TS2322: Type 'Date' is not assignable to type 'T'. @@ -9,7 +9,7 @@ tests/cases/conformance/classes/constructorDeclarations/constructorParameters/co constructor(x); constructor(public x: string = 1) { // error ~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '1' is not assignable to type 'string'. var y = x; } } @@ -18,7 +18,7 @@ tests/cases/conformance/classes/constructorDeclarations/constructorParameters/co constructor(x: T, y: U); constructor(x: T = 1, public y: U = x) { // error ~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'T'. +!!! error TS2322: Type '1' is not assignable to type 'T'. ~~~~~~~~~~~~~~~ !!! error TS2322: Type 'T' is not assignable to type 'U'. var z = x; diff --git a/tests/baselines/reference/constructorOverloads2.types b/tests/baselines/reference/constructorOverloads2.types index dde032c0fd2..1b75c54c87f 100644 --- a/tests/baselines/reference/constructorOverloads2.types +++ b/tests/baselines/reference/constructorOverloads2.types @@ -45,13 +45,13 @@ var f1 = new Foo("hey"); >f1 : Foo >new Foo("hey") : Foo >Foo : typeof Foo ->"hey" : string +>"hey" : "hey" var f2 = new Foo(0); >f2 : Foo >new Foo(0) : Foo >Foo : typeof Foo ->0 : number +>0 : 0 var f3 = new Foo(f1); >f3 : Foo diff --git a/tests/baselines/reference/constructorParameterShadowsOuterScopes.errors.txt b/tests/baselines/reference/constructorParameterShadowsOuterScopes.errors.txt index 87af1b85f2d..978681dc5b3 100644 --- a/tests/baselines/reference/constructorParameterShadowsOuterScopes.errors.txt +++ b/tests/baselines/reference/constructorParameterShadowsOuterScopes.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterShadowsOuterScopes.ts(8,9): error TS2301: Initializer of instance member variable 'b' cannot reference identifier 'x' declared in the constructor. -tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterShadowsOuterScopes.ts(10,9): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterShadowsOuterScopes.ts(10,9): error TS2322: Type '2' is not assignable to type 'string'. tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterShadowsOuterScopes.ts(16,9): error TS2301: Initializer of instance member variable 'b' cannot reference identifier 'y' declared in the constructor. @@ -17,7 +17,7 @@ tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterS constructor(x: string) { x = 2; // error, x is string ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '2' is not assignable to type 'string'. } } diff --git a/tests/baselines/reference/constructorReturningAPrimitive.types b/tests/baselines/reference/constructorReturningAPrimitive.types index 4b431cfb36b..d3732d3b789 100644 --- a/tests/baselines/reference/constructorReturningAPrimitive.types +++ b/tests/baselines/reference/constructorReturningAPrimitive.types @@ -7,7 +7,7 @@ class A { constructor() { return 1; ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/constructorReturnsInvalidType.errors.txt b/tests/baselines/reference/constructorReturnsInvalidType.errors.txt index 3b9a84fea98..a1a5c5e75b9 100644 --- a/tests/baselines/reference/constructorReturnsInvalidType.errors.txt +++ b/tests/baselines/reference/constructorReturnsInvalidType.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/constructorReturnsInvalidType.ts(3,16): error TS2322: Type 'number' is not assignable to type 'X'. +tests/cases/compiler/constructorReturnsInvalidType.ts(3,16): error TS2322: Type '1' is not assignable to type 'X'. tests/cases/compiler/constructorReturnsInvalidType.ts(3,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class @@ -7,7 +7,7 @@ tests/cases/compiler/constructorReturnsInvalidType.ts(3,16): error TS2409: Retur constructor() { return 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'X'. +!!! error TS2322: Type '1' is not assignable to type 'X'. ~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class } diff --git a/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt b/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt index 421e629c113..77c63a217e7 100644 --- a/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt +++ b/tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(12,16): error TS2322: Type 'number' is not assignable to type 'D'. +tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(12,16): error TS2322: Type '1' is not assignable to type 'D'. tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(12,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts(26,16): error TS2322: Type '{ x: number; }' is not assignable to type 'F'. Types of property 'x' are incompatible. @@ -20,7 +20,7 @@ tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignabl constructor() { return 1; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'D'. +!!! error TS2322: Type '1' is not assignable to type 'D'. ~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class } diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt index b9804b1b6db..49d3e378855 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt @@ -12,12 +12,12 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(32,18): error TS tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(35,17): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(35,26): error TS1005: ';' expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(35,28): error TS2304: Cannot find name 'bfs'. -tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(36,21): error TS2365: Operator '!=' cannot be applied to types 'boolean' and 'number'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(36,21): error TS2365: Operator '!=' cannot be applied to types 'boolean' and '0'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(39,17): error TS1109: Expression expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(41,28): error TS2304: Cannot find name 'bfs'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(41,41): error TS1005: ';' expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(41,45): error TS1002: Unterminated string literal. -tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(42,21): error TS2365: Operator '!=' cannot be applied to types 'boolean' and 'number'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(42,21): error TS2365: Operator '!=' cannot be applied to types 'boolean' and '0'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(48,17): error TS2304: Cannot find name 'console'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(50,13): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(54,13): error TS2304: Cannot find name 'console'. @@ -38,6 +38,10 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(160,30): error T tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(160,31): error TS2304: Cannot find name 'Property'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(167,13): error TS2365: Operator '+=' cannot be applied to types 'number' and 'void'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(181,40): error TS2447: The '^' operator is not allowed for boolean types. Consider using '!==' instead. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(182,13): error TS2322: Type 'boolean' is not assignable to type 'number'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(184,13): error TS2322: Type 'boolean' is not assignable to type 'number'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(188,13): error TS2322: Type 'true' is not assignable to type 'number'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(192,13): error TS2322: Type 'boolean' is not assignable to type 'number'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(206,28): error TS1109: Expression expected. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(214,16): error TS2304: Cannot find name 'bool'. tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(219,10): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. @@ -83,7 +87,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(260,55): error T tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(262,1): error TS1128: Declaration or statement expected. -==== tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts (83 errors) ==== +==== tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts (87 errors) ==== declare module "fs" { export class File { @@ -152,7 +156,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(262,1): error TS !!! error TS2304: Cannot find name 'bfs'. if (retValue != 0) { ~~~~~~~~~~~~~ -!!! error TS2365: Operator '!=' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '!=' cannot be applied to types 'boolean' and '0'. return 1 && } @@ -168,7 +172,7 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(262,1): error TS !!! error TS1002: Unterminated string literal. if (retValue != 0) { ~~~~~~~~~~~~~ -!!! error TS2365: Operator '!=' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '!=' cannot be applied to types 'boolean' and '0'. return 1; } @@ -349,16 +353,24 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(262,1): error TS ~~~~~~~~~~~~ !!! error TS2447: The '^' operator is not allowed for boolean types. Consider using '!==' instead. b = !b;/*!*/ + ~ +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. i = ~i;/*~i*/ b = i < (i - 1) && (i + 1) > i;/*< && >*/ + ~ +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. var f = true ? 1 : 0;/*? :*/ // YES : i++;/*++*/ i--;/*--*/ b = true && false || true;/*&& ||*/ + ~ +!!! error TS2322: Type 'true' is not assignable to type 'number'. i = i << 5;/*<<*/ i = i >> 5;/*>>*/ var j = i; b = i == j && i != j && i <= j && i >= j;/*= == && != <= >=*/ + ~ +!!! error TS2322: Type 'boolean' is not assignable to type 'number'. i += 5.0;/*+=*/ i -= i;/*-=*/ i *= i;/**=*/ diff --git a/tests/baselines/reference/contextualSignatureInstantiation.types b/tests/baselines/reference/contextualSignatureInstantiation.types index dd88a00ae3a..6fd318e5ec6 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.types +++ b/tests/baselines/reference/contextualSignatureInstantiation.types @@ -74,49 +74,49 @@ var a = bar(1, 1, g); // Should be number >a : number >bar(1, 1, g) : number >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V ->1 : number ->1 : number +>1 : 1 +>1 : 1 >g : (x: T, y: T) => T var a = baz(1, 1, g); // Should be number >a : number >baz(1, 1, g) : number >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U ->1 : number ->1 : number +>1 : 1 +>1 : 1 >g : (x: T, y: T) => T var b: number | string; ->b : number | string +>b : string | number var b = foo(g); // Should be number | string ->b : number | string ->foo(g) : number | string +>b : string | number +>foo(g) : string | number >foo : (cb: (x: number, y: string) => T) => T >g : (x: T, y: T) => T var b = bar(1, "one", g); // Should be number | string ->b : number | string ->bar(1, "one", g) : number | string +>b : string | number +>bar(1, "one", g) : string | number >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V ->1 : number ->"one" : string +>1 : 1 +>"one" : "one" >g : (x: T, y: T) => T var b = bar("one", 1, g); // Should be number | string ->b : number | string +>b : string | number >bar("one", 1, g) : string | number >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V ->"one" : string ->1 : number +>"one" : "one" +>1 : 1 >g : (x: T, y: T) => T var b = baz(b, b, g); // Should be number | string ->b : number | string ->baz(b, b, g) : number | string +>b : string | number +>baz(b, b, g) : string | number >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U ->b : number | string ->b : number | string +>b : string | number +>b : string | number >g : (x: T, y: T) => T var d: number[] | string[]; @@ -132,16 +132,16 @@ var d = bar(1, "one", h); // Should be number[] | string[] >d : number[] | string[] >bar(1, "one", h) : number[] | string[] >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V ->1 : number ->"one" : string +>1 : 1 +>"one" : "one" >h : (x: T, y: U) => T[] | U[] var d = bar("one", 1, h); // Should be number[] | string[] >d : number[] | string[] ->bar("one", 1, h) : string[] | number[] +>bar("one", 1, h) : number[] | string[] >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V ->"one" : string ->1 : number +>"one" : "one" +>1 : 1 >h : (x: T, y: U) => T[] | U[] var d = baz(d, d, g); // Should be number[] | string[] diff --git a/tests/baselines/reference/contextualSignatureInstantiation3.types b/tests/baselines/reference/contextualSignatureInstantiation3.types index d01b2b1f8e4..945a4374ad1 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation3.types +++ b/tests/baselines/reference/contextualSignatureInstantiation3.types @@ -43,9 +43,9 @@ function singleton(x: T) { var xs = [1, 2, 3]; >xs : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 // Have compiler check that we get the correct types var v1: number[]; diff --git a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types index d0a6d49487b..ac2ece4c039 100644 --- a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types @@ -31,7 +31,7 @@ var x = h("", f()); // Call should succeed and x should be string. All t >x : string >h("", f()) : string >h : (v: V, func: (v: V) => W) => W ->"" : string +>"" : "" >f() : (u: U) => U >f : () => (u: U) => U diff --git a/tests/baselines/reference/contextualTypeWithTuple.errors.txt b/tests/baselines/reference/contextualTypeWithTuple.errors.txt index a2d3b224ddc..a488d8c7648 100644 --- a/tests/baselines/reference/contextualTypeWithTuple.errors.txt +++ b/tests/baselines/reference/contextualTypeWithTuple.errors.txt @@ -1,13 +1,12 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(3,5): error TS2322: Type '[number, string, boolean]' is not assignable to type '[number, string]'. Types of property 'pop' are incompatible. - Type '() => number | string | boolean' is not assignable to type '() => number | string'. - Type 'number | string | boolean' is not assignable to type 'number | string'. - Type 'boolean' is not assignable to type 'number | string'. + Type '() => string | number | boolean' is not assignable to type '() => string | number'. + Type 'string | number | boolean' is not assignable to type 'string | number'. + Type 'true' is not assignable to type 'string | number'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(15,1): error TS2322: Type '[number, string, boolean]' is not assignable to type '[number, string]'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(18,1): error TS2322: Type '[{}, number]' is not assignable to type '[{ a: string; }, number]'. - Types of property '0' are incompatible. - Type '{}' is not assignable to type '{ a: string; }'. - Property 'a' is missing in type '{}'. + Type '{}' is not assignable to type '{ a: string; }'. + Property 'a' is missing in type '{}'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(19,1): error TS2322: Type '[number, string]' is not assignable to type '[number, string, boolean]'. Property '2' is missing in type '[number, string]'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(20,5): error TS2322: Type '[string, string, number]' is not assignable to type '[string, string]'. @@ -18,9 +17,8 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(20,5): error TS23 tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(24,1): error TS2322: Type '[C, string | number]' is not assignable to type '[C, string | number, D]'. Property '2' is missing in type '[C, string | number]'. tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(25,1): error TS2322: Type '[number, string | number]' is not assignable to type '[number, string]'. - Types of property '1' are incompatible. - Type 'string | number' is not assignable to type 'string'. - Type 'number' is not assignable to type 'string'. + Type 'string | number' is not assignable to type 'string'. + Type 'number' is not assignable to type 'string'. ==== tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts (7 errors) ==== @@ -30,9 +28,9 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(25,1): error TS23 ~~~~~~~~~~~~ !!! error TS2322: Type '[number, string, boolean]' is not assignable to type '[number, string]'. !!! error TS2322: Types of property 'pop' are incompatible. -!!! error TS2322: Type '() => number | string | boolean' is not assignable to type '() => number | string'. -!!! error TS2322: Type 'number | string | boolean' is not assignable to type 'number | string'. -!!! error TS2322: Type 'boolean' is not assignable to type 'number | string'. +!!! error TS2322: Type '() => string | number | boolean' is not assignable to type '() => string | number'. +!!! error TS2322: Type 'string | number | boolean' is not assignable to type 'string | number'. +!!! error TS2322: Type 'true' is not assignable to type 'string | number'. var numStrBoolTuple: [number, string, boolean] = [5, "foo", true]; var objNumTuple: [{ a: string }, number] = [{ a: "world" }, 5]; var strTupleTuple: [string, [number, {}]] = ["bar", [5, { x: 1, y: 1 }]]; @@ -52,9 +50,8 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(25,1): error TS23 objNumTuple = [ {}, 5]; ~~~~~~~~~~~ !!! error TS2322: Type '[{}, number]' is not assignable to type '[{ a: string; }, number]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type '{}' is not assignable to type '{ a: string; }'. -!!! error TS2322: Property 'a' is missing in type '{}'. +!!! error TS2322: Type '{}' is not assignable to type '{ a: string; }'. +!!! error TS2322: Property 'a' is missing in type '{}'. numStrBoolTuple = numStrTuple; ~~~~~~~~~~~~~~~ !!! error TS2322: Type '[number, string]' is not assignable to type '[number, string, boolean]'. @@ -76,6 +73,5 @@ tests/cases/conformance/types/tuple/contextualTypeWithTuple.ts(25,1): error TS23 numStrTuple = unionTuple3; ~~~~~~~~~~~ !!! error TS2322: Type '[number, string | number]' is not assignable to type '[number, string]'. -!!! error TS2322: Types of property '1' are incompatible. -!!! error TS2322: Type 'string | number' is not assignable to type 'string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.js b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.js index e29d4720cbc..bbe190f65b9 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.js +++ b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.js @@ -45,6 +45,6 @@ var x = function (a) { return a.toString(); }; var x2 = function (a) { return a.toString(); }; // Like iWithCallSignatures var x2 = function (a) { return a; }; // Like iWithCallSignatures2 // With call signatures of mismatching parameter type -var x3 = function (a) { return a.toString(); }; +var x3 = function (a) { /*here a should be any*/ return a.toString(); }; // With call signature count mismatch -var x4 = function (a) { return a.toString(); }; +var x4 = function (a) { /*here a should be any*/ return a.toString(); }; diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types index 965e4d21d99..97c5f0fdf90 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types @@ -91,7 +91,7 @@ var x: IWithNoStringIndexSignature | IWithStringIndexSignature1 = { foo: "hello" >IWithStringIndexSignature1 : IWithStringIndexSignature1 >{ foo: "hello" } : { foo: string; } >foo : string ->"hello" : string +>"hello" : "hello" var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a.toString() }; // a should be number >x2 : IWithStringIndexSignature1 | IWithStringIndexSignature2 @@ -143,7 +143,7 @@ var x3: IWithNoNumberIndexSignature | IWithNumberIndexSignature1 = { 0: "hello" >IWithNoNumberIndexSignature : IWithNoNumberIndexSignature >IWithNumberIndexSignature1 : IWithNumberIndexSignature1 >{ 0: "hello" } : { 0: string; } ->"hello" : string +>"hello" : "hello" var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a.toString() }; // a should be number >x4 : IWithNumberIndexSignature1 | IWithNumberIndexSignature2 diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types index 8f2abf37e0e..3d13b94bc59 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types @@ -80,7 +80,7 @@ var i1Ori2: I1 | I2 = { // Like i1 commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -102,7 +102,7 @@ var i1Ori2: I1 | I2 = { // Like i1 propertyOnlyInI1: "Hello", >propertyOnlyInI1 : string ->"Hello" : string +>"Hello" : "Hello" }; var i1Ori2: I1 | I2 = { // Like i2 @@ -113,7 +113,7 @@ var i1Ori2: I1 | I2 = { // Like i2 commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -135,7 +135,7 @@ var i1Ori2: I1 | I2 = { // Like i2 propertyOnlyInI2: "Hello", >propertyOnlyInI2 : string ->"Hello" : string +>"Hello" : "Hello" }; var i1Ori2: I1 | I2 = { // Like i1 and i2 both @@ -146,7 +146,7 @@ var i1Ori2: I1 | I2 = { // Like i1 and i2 both commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -168,7 +168,7 @@ var i1Ori2: I1 | I2 = { // Like i1 and i2 both propertyOnlyInI1: "Hello", >propertyOnlyInI1 : string ->"Hello" : string +>"Hello" : "Hello" methodOnlyInI2: a => a, >methodOnlyInI2 : (a: string) => string @@ -178,7 +178,7 @@ var i1Ori2: I1 | I2 = { // Like i1 and i2 both propertyOnlyInI2: "Hello", >propertyOnlyInI2 : string ->"Hello" : string +>"Hello" : "Hello" }; @@ -194,7 +194,7 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -216,7 +216,7 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 propertyOnlyInI1: "Hello", >propertyOnlyInI1 : string ->"Hello" : string +>"Hello" : "Hello" }, { // Like i2 @@ -224,7 +224,7 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -246,14 +246,14 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 propertyOnlyInI2: "Hello", >propertyOnlyInI2 : string ->"Hello" : string +>"Hello" : "Hello" }, { // Like i1 and i2 both >{ // Like i1 and i2 both commonPropertyType: "hello", commonMethodType: a=> a, commonMethodWithTypeParameter: a => a, methodOnlyInI1: a => a, propertyOnlyInI1: "Hello", methodOnlyInI2: a => a, propertyOnlyInI2: "Hello", } : { commonPropertyType: string; commonMethodType: (a: string) => string; commonMethodWithTypeParameter: (a: number) => number; methodOnlyInI1: (a: string) => string; propertyOnlyInI1: string; methodOnlyInI2: (a: string) => string; propertyOnlyInI2: string; } commonPropertyType: "hello", >commonPropertyType : string ->"hello" : string +>"hello" : "hello" commonMethodType: a=> a, >commonMethodType : (a: string) => string @@ -275,7 +275,7 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 propertyOnlyInI1: "Hello", >propertyOnlyInI1 : string ->"Hello" : string +>"Hello" : "Hello" methodOnlyInI2: a => a, >methodOnlyInI2 : (a: string) => string @@ -285,7 +285,7 @@ var arrayI1OrI2: Array | I2> = [i1, i2, { // Like i1 propertyOnlyInI2: "Hello", >propertyOnlyInI2 : string ->"Hello" : string +>"Hello" : "Hello" }]; @@ -358,7 +358,7 @@ var i11Ori21: I11 | I21 = { }, commonPropertyDifferentType: "hello", >commonPropertyDifferentType : string ->"hello" : string +>"hello" : "hello" }; var i11Ori21: I11 | I21 = { @@ -388,7 +388,7 @@ var i11Ori21: I11 | I21 = { }, commonPropertyDifferentType: 10, >commonPropertyDifferentType : number ->10 : number +>10 : 10 }; var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { @@ -425,7 +425,7 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { }, commonPropertyDifferentType: "hello", >commonPropertyDifferentType : string ->"hello" : string +>"hello" : "hello" }, { >{ // Like i2 commonMethodDifferentReturnType: (a, b) => { var z = a.charCodeAt(b); return z; }, commonPropertyDifferentType: 10, } : { commonMethodDifferentReturnType: (a: string, b: number) => number; commonPropertyDifferentType: number; } @@ -451,6 +451,6 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { }, commonPropertyDifferentType: 10, >commonPropertyDifferentType : number ->10 : number +>10 : 10 }]; diff --git a/tests/baselines/reference/contextualTyping.js.map b/tests/baselines/reference/contextualTyping.js.map index 247469aeb2d..24a38dc407d 100644 --- a/tests/baselines/reference/contextualTyping.js.map +++ b/tests/baselines/reference/contextualTyping.js.map @@ -1,2 +1,2 @@ //// [contextualTyping.js.map] -{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC;IAAA;QACI,QAAG,GAAqC,UAAS,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IAAD,WAAC;AAAD,CAAC,AAJD,IAIC;AAED,uCAAuC;AACvC,IAAO,IAAI,CAIV;AAJD,WAAO,IAAI,EAAC,CAAC;IACE,QAAG,GAAqC,UAAS,CAAC;QACzD,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EAJM,IAAI,KAAJ,IAAI,QAIV;AAED,gCAAgC;AAChC,IAAI,IAAI,GAA0B,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,qCAAqC;AACrC;IAEI;QACI,IAAI,CAAC,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IACL,WAAC;AAAD,CAAC,AAPD,IAOC;AAED,sCAAsC;AACtC,IAAO,IAAI,CAKV;AALD,WAAO,IAAI,EAAC,CAAC;IAET,QAAG,GAAG,UAAS,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EALM,IAAI,KAAJ,IAAI,QAKV;AAED,+BAA+B;AAC/B,IAAI,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAE9D,kCAAkC;AAClC,IAAI,IAAY,CAAC;AACjB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AACF,yBAAyB;AACzB,cAAc,CAAsB,IAAG,CAAC;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,MAAM,CAAO,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,IAAI,KAAK,GAA8B,cAAa,MAAM,CAAC,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE/F,0BAA0B;AAC1B;IAAc,eAAY,CAAsB;IAAI,CAAC;IAAC,YAAC;AAAD,CAAC,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAErD,qCAAqC;AACrC,IAAI,KAAK,GAA2B,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,aAAa,CAAC,EAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,eAAe,CAAC,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,CAAC,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} \ No newline at end of file +{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC;IAAA;QACI,QAAG,GAAqC,UAAS,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IAAD,WAAC;AAAD,CAAC,AAJD,IAIC;AAED,uCAAuC;AACvC,IAAO,IAAI,CAIV;AAJD,WAAO,IAAI;IACI,QAAG,GAAqC,UAAS,CAAC;QACzD,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EAJM,IAAI,KAAJ,IAAI,QAIV;AAED,gCAAgC;AAChC,IAAI,IAAI,GAA0B,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,qCAAqC;AACrC;IAEI;QACI,IAAI,CAAC,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAA;IACL,CAAC;IACL,WAAC;AAAD,CAAC,AAPD,IAOC;AAED,sCAAsC;AACtC,IAAO,IAAI,CAKV;AALD,WAAO,IAAI;IAEP,KAAA,GAAG,GAAG,UAAS,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAA;AACL,CAAC,EALM,IAAI,KAAJ,IAAI,QAKV;AAED,+BAA+B;AAC/B,IAAI,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAE9D,kCAAkC;AAClC,IAAI,IAAY,CAAC;AACjB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AACF,yBAAyB;AACzB,cAAc,CAAsB,IAAG,CAAC;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,MAAM,CAAO,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,IAAI,KAAK,GAA8B,cAAa,MAAM,CAAC,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAE/F,0BAA0B;AAC1B;IAAc,eAAY,CAAsB;IAAI,CAAC;IAAC,YAAC;AAAD,CAAC,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAErD,qCAAqC;AACrC,IAAI,KAAK,GAA2B,CAAC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB,cAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ,IAAI,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,aAAa,CAAC,EAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,eAAe,CAAC,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,CAAC,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping.sourcemap.txt b/tests/baselines/reference/contextualTyping.sourcemap.txt index 3557299d96a..fa7352f47c6 100644 --- a/tests/baselines/reference/contextualTyping.sourcemap.txt +++ b/tests/baselines/reference/contextualTyping.sourcemap.txt @@ -160,19 +160,13 @@ sourceFile:contextualTyping.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^-> 1-> 2 >module 3 > C2T5 -4 > -5 > { 1->Emitted(12, 1) Source(21, 1) + SourceIndex(0) 2 >Emitted(12, 12) Source(21, 8) + SourceIndex(0) 3 >Emitted(12, 16) Source(21, 12) + SourceIndex(0) -4 >Emitted(12, 18) Source(21, 13) + SourceIndex(0) -5 >Emitted(12, 19) Source(21, 14) + SourceIndex(0) --- >>> C2T5.foo = function (i) { 1->^^^^ @@ -180,7 +174,7 @@ sourceFile:contextualTyping.ts 3 > ^^^ 4 > ^^^^^^^^^^ 5 > ^ -1-> +1-> { > export var 2 > foo 3 > : (i: number, s: string) => number = @@ -1100,44 +1094,41 @@ sourceFile:contextualTyping.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^-> 1-> 2 >module 3 > C5T5 -4 > -5 > { 1->Emitted(51, 1) Source(66, 1) + SourceIndex(0) 2 >Emitted(51, 12) Source(66, 8) + SourceIndex(0) 3 >Emitted(51, 16) Source(66, 12) + SourceIndex(0) -4 >Emitted(51, 18) Source(66, 13) + SourceIndex(0) -5 >Emitted(51, 19) Source(66, 14) + SourceIndex(0) --- >>> C5T5.foo = function (i, s) { 1->^^^^ -2 > ^^^^^^^^ -3 > ^^^ -4 > ^^^^^^^^^^ -5 > ^ -6 > ^^ -7 > ^ -1-> +2 > ^^^^^ +3 > ^^^ +4 > ^^^ +5 > ^^^^^^^^^^ +6 > ^ +7 > ^^ +8 > ^ +1-> { > export var foo: (i: number, s: string) => string; > -2 > foo -3 > = -4 > function( -5 > i -6 > , -7 > s +2 > +3 > foo +4 > = +5 > function( +6 > i +7 > , +8 > s 1->Emitted(52, 5) Source(68, 5) + SourceIndex(0) -2 >Emitted(52, 13) Source(68, 8) + SourceIndex(0) -3 >Emitted(52, 16) Source(68, 11) + SourceIndex(0) -4 >Emitted(52, 26) Source(68, 20) + SourceIndex(0) -5 >Emitted(52, 27) Source(68, 21) + SourceIndex(0) -6 >Emitted(52, 29) Source(68, 23) + SourceIndex(0) -7 >Emitted(52, 30) Source(68, 24) + SourceIndex(0) +2 >Emitted(52, 10) Source(68, 5) + SourceIndex(0) +3 >Emitted(52, 13) Source(68, 8) + SourceIndex(0) +4 >Emitted(52, 16) Source(68, 11) + SourceIndex(0) +5 >Emitted(52, 26) Source(68, 20) + SourceIndex(0) +6 >Emitted(52, 27) Source(68, 21) + SourceIndex(0) +7 >Emitted(52, 29) Source(68, 23) + SourceIndex(0) +8 >Emitted(52, 30) Source(68, 24) + SourceIndex(0) --- >>> return s; 1 >^^^^^^^^ diff --git a/tests/baselines/reference/contextualTyping1.types b/tests/baselines/reference/contextualTyping1.types index 6b2a794f987..1f300311e94 100644 --- a/tests/baselines/reference/contextualTyping1.types +++ b/tests/baselines/reference/contextualTyping1.types @@ -4,5 +4,5 @@ var foo: {id:number;} = {id:4}; >id : number >{id:4} : { id: number; } >id : number ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/contextualTyping10.types b/tests/baselines/reference/contextualTyping10.types index 938f2731a30..6379d6f82aa 100644 --- a/tests/baselines/reference/contextualTyping10.types +++ b/tests/baselines/reference/contextualTyping10.types @@ -6,8 +6,8 @@ class foo { public bar:{id:number;}[] = [{id:1}, {id:2}]; } >[{id:1}, {id:2}] : { id: number; }[] >{id:1} : { id: number; } >id : number ->1 : number +>1 : 1 >{id:2} : { id: number; } >id : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/contextualTyping15.types b/tests/baselines/reference/contextualTyping15.types index ed4fdad3bfc..6d726c70642 100644 --- a/tests/baselines/reference/contextualTyping15.types +++ b/tests/baselines/reference/contextualTyping15.types @@ -4,5 +4,5 @@ class foo { public bar: { (): number; (i: number): number; } = function() { retu >bar : { (): number; (i: number): number; } >i : number >function() { return 1 } : () => number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/contextualTyping16.types b/tests/baselines/reference/contextualTyping16.types index 63f93649208..6eded1712c1 100644 --- a/tests/baselines/reference/contextualTyping16.types +++ b/tests/baselines/reference/contextualTyping16.types @@ -4,10 +4,10 @@ var foo: {id:number;} = {id:4}; foo = {id:5}; >id : number >{id:4} : { id: number; } >id : number ->4 : number +>4 : 4 >foo = {id:5} : { id: number; } >foo : { id: number; } >{id:5} : { id: number; } >id : number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/contextualTyping18.types b/tests/baselines/reference/contextualTyping18.types index 0bef546022d..3d5ee402828 100644 --- a/tests/baselines/reference/contextualTyping18.types +++ b/tests/baselines/reference/contextualTyping18.types @@ -10,5 +10,5 @@ var foo: {id:number;} = <{id:number;}>({ }); foo = {id: 5}; >foo : { id: number; } >{id: 5} : { id: number; } >id : number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/contextualTyping19.types b/tests/baselines/reference/contextualTyping19.types index d384a68749a..c5ad59fa61b 100644 --- a/tests/baselines/reference/contextualTyping19.types +++ b/tests/baselines/reference/contextualTyping19.types @@ -5,14 +5,14 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, {id:2}]; >[{id:1}] : { id: number; }[] >{id:1} : { id: number; } >id : number ->1 : number +>1 : 1 >foo = [{id:1}, {id:2}] : { id: number; }[] >foo : { id: number; }[] >[{id:1}, {id:2}] : { id: number; }[] >{id:1} : { id: number; } >id : number ->1 : number +>1 : 1 >{id:2} : { id: number; } >id : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/contextualTyping21.errors.txt b/tests/baselines/reference/contextualTyping21.errors.txt index db6ecd32b97..0bac30d5b44 100644 --- a/tests/baselines/reference/contextualTyping21.errors.txt +++ b/tests/baselines/reference/contextualTyping21.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/contextualTyping21.ts(1,36): error TS2322: Type '({ id: number; } | number)[]' is not assignable to type '{ id: number; }[]'. - Type '{ id: number; } | number' is not assignable to type '{ id: number; }'. +tests/cases/compiler/contextualTyping21.ts(1,36): error TS2322: Type '(number | { id: number; })[]' is not assignable to type '{ id: number; }[]'. + Type 'number | { id: number; }' is not assignable to type '{ id: number; }'. Type 'number' is not assignable to type '{ id: number; }'. ==== tests/cases/compiler/contextualTyping21.ts (1 errors) ==== var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, 1]; ~~~ -!!! error TS2322: Type '({ id: number; } | number)[]' is not assignable to type '{ id: number; }[]'. -!!! error TS2322: Type '{ id: number; } | number' is not assignable to type '{ id: number; }'. +!!! error TS2322: Type '(number | { id: number; })[]' is not assignable to type '{ id: number; }[]'. +!!! error TS2322: Type 'number | { id: number; }' is not assignable to type '{ id: number; }'. !!! error TS2322: Type 'number' is not assignable to type '{ id: number; }'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping23.types b/tests/baselines/reference/contextualTyping23.types index 0bb8b7a58e7..351ee51c28d 100644 --- a/tests/baselines/reference/contextualTyping23.types +++ b/tests/baselines/reference/contextualTyping23.types @@ -7,5 +7,5 @@ var foo:(a:{():number; (i:number):number; })=>number; foo = function(a){return 5 >foo : (a: { (): number; (i: number): number; }) => number >function(a){return 5} : (a: { (): number; (i: number): number; }) => number >a : { (): number; (i: number): number; } ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/contextualTyping28.types b/tests/baselines/reference/contextualTyping28.types index e4833fd8838..bf246ce5b72 100644 --- a/tests/baselines/reference/contextualTyping28.types +++ b/tests/baselines/reference/contextualTyping28.types @@ -5,5 +5,5 @@ function foo(param:number[]){}; foo([1]); >foo([1]) : void >foo : (param: number[]) => void >[1] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/contextualTyping29.types b/tests/baselines/reference/contextualTyping29.types index 96695a6d0ba..ba96d77393c 100644 --- a/tests/baselines/reference/contextualTyping29.types +++ b/tests/baselines/reference/contextualTyping29.types @@ -5,6 +5,6 @@ function foo(param:number[]){}; foo([1, 3]); >foo([1, 3]) : void >foo : (param: number[]) => void >[1, 3] : number[] ->1 : number ->3 : number +>1 : 1 +>3 : 3 diff --git a/tests/baselines/reference/contextualTyping3.types b/tests/baselines/reference/contextualTyping3.types index 81c201ee572..c582cc0eb07 100644 --- a/tests/baselines/reference/contextualTyping3.types +++ b/tests/baselines/reference/contextualTyping3.types @@ -5,5 +5,5 @@ class foo { public bar:{id:number;} = {id:5}; } >id : number >{id:5} : { id: number; } >id : number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/contextualTyping30.errors.txt b/tests/baselines/reference/contextualTyping30.errors.txt index bce19c50896..eda30769ac8 100644 --- a/tests/baselines/reference/contextualTyping30.errors.txt +++ b/tests/baselines/reference/contextualTyping30.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/contextualTyping30.ts(1,37): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. - Type 'number | string' is not assignable to type 'number'. +tests/cases/compiler/contextualTyping30.ts(1,37): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. ==== tests/cases/compiler/contextualTyping30.ts (1 errors) ==== function foo(param:number[]){}; foo([1, "a"]); ~~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'number'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'number'. !!! error TS2345: Type 'string' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping31.types b/tests/baselines/reference/contextualTyping31.types index 22a8f08cf90..3b9da8bd434 100644 --- a/tests/baselines/reference/contextualTyping31.types +++ b/tests/baselines/reference/contextualTyping31.types @@ -5,5 +5,5 @@ function foo(param:number[]){}; foo([1]); >foo([1]) : void >foo : (param: number[]) => void >[1] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/contextualTyping32.types b/tests/baselines/reference/contextualTyping32.types index 59f6040cf7f..e6c6a72f546 100644 --- a/tests/baselines/reference/contextualTyping32.types +++ b/tests/baselines/reference/contextualTyping32.types @@ -7,7 +7,7 @@ function foo(param: {():number; (i:number):number; }[]) { }; foo([function(){ret >foo : (param: { (): number; (i: number): number; }[]) => void >[function(){return 1;}, function(){return 4}] : (() => number)[] >function(){return 1;} : () => number ->1 : number +>1 : 1 >function(){return 4} : () => number ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/contextualTyping34.types b/tests/baselines/reference/contextualTyping34.types index 6bc6b622fc8..48dd3e41a66 100644 --- a/tests/baselines/reference/contextualTyping34.types +++ b/tests/baselines/reference/contextualTyping34.types @@ -6,5 +6,5 @@ var foo = <{ id: number;}> ({id:4}); >({id:4}) : { id: number; } >{id:4} : { id: number; } >id : number ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/contextualTyping35.types b/tests/baselines/reference/contextualTyping35.types index 08bb6b27b8e..4465e0ca1a9 100644 --- a/tests/baselines/reference/contextualTyping35.types +++ b/tests/baselines/reference/contextualTyping35.types @@ -5,7 +5,7 @@ var foo = <{ id: number;}> {id:4, name: "as"}; >id : number >{id:4, name: "as"} : { id: number; name: string; } >id : number ->4 : number +>4 : 4 >name : string ->"as" : string +>"as" : "as" diff --git a/tests/baselines/reference/contextualTyping36.types b/tests/baselines/reference/contextualTyping36.types index 6c93ed30a9f..2cd07e33ee6 100644 --- a/tests/baselines/reference/contextualTyping36.types +++ b/tests/baselines/reference/contextualTyping36.types @@ -6,7 +6,7 @@ var foo = <{ id: number; }[]>[{ id: 4 }, <{ id: number; }>({ })]; >[{ id: 4 }, <{ id: number; }>({ })] : { id: number; }[] >{ id: 4 } : { id: number; } >id : number ->4 : number +>4 : 4 ><{ id: number; }>({ }) : { id: number; } >id : number >({ }) : {} diff --git a/tests/baselines/reference/contextualTyping37.types b/tests/baselines/reference/contextualTyping37.types index 8acd4aedf04..2f61262c9d1 100644 --- a/tests/baselines/reference/contextualTyping37.types +++ b/tests/baselines/reference/contextualTyping37.types @@ -6,6 +6,6 @@ var foo = <{ id: number; }[]>[{ foo: "s" }, { }]; >[{ foo: "s" }, { }] : ({ foo: string; } | {})[] >{ foo: "s" } : { foo: string; } >foo : string ->"s" : string +>"s" : "s" >{ } : {} diff --git a/tests/baselines/reference/contextualTyping40.types b/tests/baselines/reference/contextualTyping40.types index 1889d79f139..44e0c0f0a63 100644 --- a/tests/baselines/reference/contextualTyping40.types +++ b/tests/baselines/reference/contextualTyping40.types @@ -4,5 +4,5 @@ var foo = <{():number; (i:number):number; }> function(){return 1;}; ><{():number; (i:number):number; }> function(){return 1;} : { (): number; (i: number): number; } >i : number >function(){return 1;} : () => number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/contextualTyping6.types b/tests/baselines/reference/contextualTyping6.types index b79811a948a..222212bdbf4 100644 --- a/tests/baselines/reference/contextualTyping6.types +++ b/tests/baselines/reference/contextualTyping6.types @@ -5,8 +5,8 @@ var foo:{id:number;}[] = [{id:1}, {id:2}]; >[{id:1}, {id:2}] : { id: number; }[] >{id:1} : { id: number; } >id : number ->1 : number +>1 : 1 >{id:2} : { id: number; } >id : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt b/tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt index 698a8e789f0..be73de51f13 100644 --- a/tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt +++ b/tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/contextualTypingOfArrayLiterals1.ts(5,5): error TS2322: Type '(Date | number)[]' is not assignable to type 'I'. +tests/cases/compiler/contextualTypingOfArrayLiterals1.ts(5,5): error TS2322: Type '(number | Date)[]' is not assignable to type 'I'. Index signatures are incompatible. - Type 'Date | number' is not assignable to type 'Date'. + Type 'number | Date' is not assignable to type 'Date'. Type 'number' is not assignable to type 'Date'. @@ -11,9 +11,9 @@ tests/cases/compiler/contextualTypingOfArrayLiterals1.ts(5,5): error TS2322: Typ var x3: I = [new Date(), 1]; ~~ -!!! error TS2322: Type '(Date | number)[]' is not assignable to type 'I'. +!!! error TS2322: Type '(number | Date)[]' is not assignable to type 'I'. !!! error TS2322: Index signatures are incompatible. -!!! error TS2322: Type 'Date | number' is not assignable to type 'Date'. +!!! error TS2322: Type 'number | Date' is not assignable to type 'Date'. !!! error TS2322: Type 'number' is not assignable to type 'Date'. var r2 = x3[1]; r2.getDate(); diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression.types b/tests/baselines/reference/contextualTypingOfConditionalExpression.types index a2e29a0e66b..5712e7d581e 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression.types +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression.types @@ -3,7 +3,7 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >x : (a: number) => void >a : number >true ? (a) => a.toExponential() : (b) => b.toFixed() : (a: number) => string ->true : boolean +>true : true >(a) => a.toExponential() : (a: number) => string >a : number >a.toExponential() : string @@ -43,7 +43,7 @@ var x2: (a: A) => void = true ? (a) => a.foo : (b) => b.foo; >a : A >A : A >true ? (a) => a.foo : (b) => b.foo : (a: A) => number ->true : boolean +>true : true >(a) => a.foo : (a: A) => number >a : A >a.foo : number diff --git a/tests/baselines/reference/contextualTypingOfObjectLiterals.types b/tests/baselines/reference/contextualTypingOfObjectLiterals.types index a99fb2f39af..19189e32245 100644 --- a/tests/baselines/reference/contextualTypingOfObjectLiterals.types +++ b/tests/baselines/reference/contextualTypingOfObjectLiterals.types @@ -7,7 +7,7 @@ var obj2 = {x: ""}; >obj2 : { x: string; } >{x: ""} : { x: string; } >x : string ->"" : string +>"" : "" obj1 = {}; // Ok >obj1 = {} : {} diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt index 251a3a1bde3..95b3c66c264 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts(2,22): error TS2339: Property 'foo' does not exist on type 'string'. tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts(3,32): error TS2339: Property 'foo' does not exist on type 'string'. -tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts(3,38): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts(3,38): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts (3 errors) ==== @@ -12,4 +12,4 @@ tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts(3,38): error TS ~~~ !!! error TS2339: Property 'foo' does not exist on type 'string'. ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator01.types b/tests/baselines/reference/contextuallyTypeCommaOperator01.types index c3b7b700d64..05516949210 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator01.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator01.types @@ -9,7 +9,7 @@ x = (100, a => a); >x : (a: string) => string >(100, a => a) : (a: string) => string >100, a => a : (a: string) => string ->100 : number +>100 : 100 >a => a : (a: string) => string >a : string >a : string diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types index a405888c8a9..e55e1e4b511 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types @@ -6,13 +6,13 @@ let x: (a: string) => string; let y = true; >y : boolean ->true : boolean +>true : true x = y && (a => a); >x = y && (a => a) : (a: string) => string >x : (a: string) => string >y && (a => a) : (a: string) => string ->y : boolean +>y : true >(a => a) : (a: string) => string >a => a : (a: string) => string >a : string diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types index 0d4dfcdd5d9..e9624b156c7 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -30,7 +30,7 @@ function f2({ "show": showRename = v => v.toString() }: Show) {} function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >f3 : ({["show"]: showRename}: Show) => void ->"show" : string +>"show" : "show" >showRename : (x: number) => string >v => v.toString() : (v: number) => string >v : number @@ -70,8 +70,8 @@ function g({ prop = ["hello", 1234] }: Tuples) {} >g : ({prop}: Tuples) => void >prop : [string, number] >["hello", 1234] : [string, number] ->"hello" : string ->1234 : number +>"hello" : "hello" +>1234 : 1234 >Tuples : Tuples interface StringUnion { diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt deleted file mode 100644 index 42d617887e0..00000000000 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.errors.txt +++ /dev/null @@ -1,69 +0,0 @@ -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(4,20): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(5,23): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(6,25): error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(11,23): error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. - Types of property 'show' are incompatible. - Type '(v: number) => number' is not assignable to type '(x: number) => string'. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(16,23): error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(21,14): error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. - Types of property '0' are incompatible. - Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts(26,14): error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. - - -==== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts (7 errors) ==== - interface Show { - show: (x: number) => string; - } - function f({ show: showRename = v => v }: Show) {} - ~~~~~~~~~~ -!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - function f2({ "show": showRename = v => v }: Show) {} - ~~~~~~~~~~ -!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - function f3({ ["show"]: showRename = v => v }: Show) {} - ~~~~~~~~~~ -!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - - interface Nested { - nested: Show - } - function ff({ nested: nestedRename = { show: v => v } }: Nested) {} - ~~~~~~~~~~~~ -!!! error TS2322: Type '{ show: (v: number) => number; }' is not assignable to type 'Show'. -!!! error TS2322: Types of property 'show' are incompatible. -!!! error TS2322: Type '(v: number) => number' is not assignable to type '(x: number) => string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - - interface StringIdentity { - stringIdentity(s: string): string; - } - let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; - ~~ -!!! error TS2322: Type '(arg: string) => number' is not assignable to type '(s: string) => string'. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - - interface Tuples { - prop: [string, number]; - } - function g({ prop = [101, 1234] }: Tuples) {} - ~~~~ -!!! error TS2322: Type '[number, number]' is not assignable to type '[string, number]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. - - interface StringUnion { - prop: "foo" | "bar"; - } - function h({ prop = "baz" }: StringUnion) {} - ~~~~ -!!! error TS2322: Type '"baz"' is not assignable to type '"foo" | "bar"'. - \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols new file mode 100644 index 00000000000..a9013e7f98e --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.symbols @@ -0,0 +1,88 @@ +=== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts === +interface Show { +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 0)) + + show: (x: number) => string; +>show : Symbol(Show.show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 16)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializerNegative.ts, 1, 11)) +} +function f({ show: showRename = v => v }: Show) {} +>f : Symbol(f, Decl(contextuallyTypedBindingInitializerNegative.ts, 2, 1)) +>show : Symbol(Show.show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 16)) +>showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializerNegative.ts, 3, 12)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 3, 31)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 3, 31)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 0)) + +function f2({ "show": showRename = v => v }: Show) {} +>f2 : Symbol(f2, Decl(contextuallyTypedBindingInitializerNegative.ts, 3, 50)) +>showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializerNegative.ts, 4, 13)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 4, 34)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 4, 34)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 0)) + +function f3({ ["show"]: showRename = v => v }: Show) {} +>f3 : Symbol(f3, Decl(contextuallyTypedBindingInitializerNegative.ts, 4, 53)) +>"show" : Symbol(showRename, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 13)) +>showRename : Symbol(showRename, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 13)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 36)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 36)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 0)) + +interface Nested { +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 55)) + + nested: Show +>nested : Symbol(Nested.nested, Decl(contextuallyTypedBindingInitializerNegative.ts, 7, 18)) +>Show : Symbol(Show, Decl(contextuallyTypedBindingInitializerNegative.ts, 0, 0)) +} +function ff({ nested: nestedRename = { show: v => v } }: Nested) {} +>ff : Symbol(ff, Decl(contextuallyTypedBindingInitializerNegative.ts, 9, 1)) +>nested : Symbol(Nested.nested, Decl(contextuallyTypedBindingInitializerNegative.ts, 7, 18)) +>nestedRename : Symbol(nestedRename, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 13)) +>show : Symbol(show, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 38)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 44)) +>v : Symbol(v, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 44)) +>Nested : Symbol(Nested, Decl(contextuallyTypedBindingInitializerNegative.ts, 5, 55)) + +interface StringIdentity { +>StringIdentity : Symbol(StringIdentity, Decl(contextuallyTypedBindingInitializerNegative.ts, 10, 67)) + + stringIdentity(s: string): string; +>stringIdentity : Symbol(StringIdentity.stringIdentity, Decl(contextuallyTypedBindingInitializerNegative.ts, 12, 26)) +>s : Symbol(s, Decl(contextuallyTypedBindingInitializerNegative.ts, 13, 19)) +} +let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; +>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 : Symbol(arg, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 26)) +>length : Symbol(String.length, Decl(lib.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)) +>x : Symbol(x, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 82)) + +interface Tuples { +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 91)) + + prop: [string, number]; +>prop : Symbol(Tuples.prop, Decl(contextuallyTypedBindingInitializerNegative.ts, 17, 18)) +} +function g({ prop = [101, 1234] }: Tuples) {} +>g : Symbol(g, Decl(contextuallyTypedBindingInitializerNegative.ts, 19, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializerNegative.ts, 20, 12)) +>Tuples : Symbol(Tuples, Decl(contextuallyTypedBindingInitializerNegative.ts, 15, 91)) + +interface StringUnion { +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializerNegative.ts, 20, 45)) + + prop: "foo" | "bar"; +>prop : Symbol(StringUnion.prop, Decl(contextuallyTypedBindingInitializerNegative.ts, 22, 23)) +} +function h({ prop = "baz" }: StringUnion) {} +>h : Symbol(h, Decl(contextuallyTypedBindingInitializerNegative.ts, 24, 1)) +>prop : Symbol(prop, Decl(contextuallyTypedBindingInitializerNegative.ts, 25, 12)) +>StringUnion : Symbol(StringUnion, Decl(contextuallyTypedBindingInitializerNegative.ts, 20, 45)) + diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types new file mode 100644 index 00000000000..5adc82c3e62 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types @@ -0,0 +1,100 @@ +=== tests/cases/conformance/types/contextualTypes/methodDeclarations/contextuallyTypedBindingInitializerNegative.ts === +interface Show { +>Show : Show + + show: (x: number) => string; +>show : (x: number) => string +>x : number +} +function f({ show: showRename = v => v }: Show) {} +>f : ({show: showRename}: Show) => void +>show : any +>showRename : ((x: number) => string) | ((v: number) => number) +>v => v : (v: number) => number +>v : number +>v : number +>Show : Show + +function f2({ "show": showRename = v => v }: Show) {} +>f2 : ({"show": showRename}: Show) => void +>showRename : ((x: number) => string) | ((v: number) => number) +>v => v : (v: number) => number +>v : number +>v : number +>Show : Show + +function f3({ ["show"]: showRename = v => v }: Show) {} +>f3 : ({["show"]: showRename}: Show) => void +>"show" : "show" +>showRename : ((x: number) => string) | ((v: number) => number) +>v => v : (v: number) => number +>v : number +>v : number +>Show : Show + +interface Nested { +>Nested : Nested + + nested: Show +>nested : Show +>Show : Show +} +function ff({ nested: nestedRename = { show: v => v } }: Nested) {} +>ff : ({nested: nestedRename}: Nested) => void +>nested : any +>nestedRename : Show | { show: (v: number) => number; } +>{ show: v => v } : { show: (v: number) => number; } +>show : (v: number) => number +>v => v : (v: number) => number +>v : number +>v : number +>Nested : Nested + +interface StringIdentity { +>StringIdentity : StringIdentity + + stringIdentity(s: string): string; +>stringIdentity : (s: string) => string +>s : string +} +let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentity: x => x}; +>stringIdentity : any +>id : ((s: string) => string) | ((arg: string) => number) +>arg => arg.length : (arg: string) => number +>arg : string +>arg.length : number +>arg : string +>length : number +>StringIdentity : StringIdentity +>{ stringIdentity: x => x} : { stringIdentity: (x: string) => string; } +>stringIdentity : (x: string) => string +>x => x : (x: string) => string +>x : string +>x : string + +interface Tuples { +>Tuples : Tuples + + prop: [string, number]; +>prop : [string, number] +} +function g({ prop = [101, 1234] }: Tuples) {} +>g : ({prop}: Tuples) => void +>prop : [string, number] | [number, number] +>[101, 1234] : [number, number] +>101 : 101 +>1234 : 1234 +>Tuples : Tuples + +interface StringUnion { +>StringUnion : StringUnion + + prop: "foo" | "bar"; +>prop : "foo" | "bar" +} +function h({ prop = "baz" }: StringUnion) {} +>h : ({prop}: StringUnion) => void +>prop : "foo" | "bar" | "baz" +>"baz" : "baz" +>StringUnion : StringUnion + diff --git a/tests/baselines/reference/contextuallyTypedClassExpressionMethodDeclaration01.js b/tests/baselines/reference/contextuallyTypedClassExpressionMethodDeclaration01.js index 11081be4fb3..a6eaa048093 100644 --- a/tests/baselines/reference/contextuallyTypedClassExpressionMethodDeclaration01.js +++ b/tests/baselines/reference/contextuallyTypedClassExpressionMethodDeclaration01.js @@ -61,28 +61,32 @@ function getFoo1() { }()); } function getFoo2() { - return (function () { - function class_2() { - } - class_2.method1 = function (arg) { + return _a = (function () { + function class_2() { + } + return class_2; + }()), + _a.method1 = function (arg) { arg.numProp = 10; - }; - class_2.method2 = function (arg) { + }, + _a.method2 = function (arg) { arg.strProp = "hello"; - }; - return class_2; - }()); + }, + _a; + var _a; } function getFoo3() { - return (function () { - function class_3() { - } - class_3.method1 = function (arg) { + return _a = (function () { + function class_3() { + } + return class_3; + }()), + _a.method1 = function (arg) { arg.numProp = 10; - }; - class_3.method2 = function (arg) { + }, + _a.method2 = function (arg) { arg.strProp = "hello"; - }; - return class_3; - }()); + }, + _a; + var _a; } diff --git a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types index 94b184f65da..7fc2f88f326 100644 --- a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types +++ b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types @@ -19,7 +19,7 @@ foo((y): (y2: number) => void => { >y.charAt : (pos: number) => string >y : string >charAt : (pos: number) => string ->0 : number +>0 : 0 return null; >null : null @@ -44,7 +44,7 @@ foo((y: string) => { >toFixed : (fractionDigits?: number) => string return 0; ->0 : number +>0 : 0 }; }); diff --git a/tests/baselines/reference/contextuallyTypedIife.types b/tests/baselines/reference/contextuallyTypedIife.types index 0f2092ef7c3..ca0f7f2a508 100644 --- a/tests/baselines/reference/contextuallyTypedIife.types +++ b/tests/baselines/reference/contextuallyTypedIife.types @@ -5,7 +5,7 @@ >(jake => { }) : (jake: string) => void >jake => { } : (jake: string) => void >jake : string ->"build" : string +>"build" : "build" // function expression (function (cats) { })("lol"); @@ -13,7 +13,7 @@ >(function (cats) { }) : (cats: string) => void >function (cats) { } : (cats: string) => void >cats : string ->"lol" : string +>"lol" : "lol" // Lots of Irritating Superfluous Parentheses (function (x) { } ("!")); @@ -21,7 +21,7 @@ >function (x) { } ("!") : void >function (x) { } : (x: string) => void >x : string ->"!" : string +>"!" : "!" ((((function (y) { }))))("-"); >((((function (y) { }))))("-") : void @@ -31,7 +31,7 @@ >(function (y) { }) : (y: string) => void >function (y) { } : (y: string) => void >y : string ->"-" : string +>"-" : "-" // multiple arguments ((a, b, c) => { })("foo", 101, false); @@ -41,9 +41,9 @@ >a : string >b : number >c : boolean ->"foo" : string ->101 : number ->false : boolean +>"foo" : "foo" +>101 : 101 +>false : false // default parameters ((m = 10) => m + 1)(12); @@ -51,21 +51,21 @@ >((m = 10) => m + 1) : (m?: number) => number >(m = 10) => m + 1 : (m?: number) => number >m : number ->10 : number +>10 : 10 >m + 1 : number >m : number ->1 : number ->12 : number +>1 : 1 +>12 : 12 ((n = 10) => n + 1)(); >((n = 10) => n + 1)() : number >((n = 10) => n + 1) : (n?: number) => number >(n = 10) => n + 1 : (n?: number) => number >n : number ->10 : number +>10 : 10 >n + 1 : number >n : number ->1 : number +>1 : 1 // optional parameters ((j?) => j + 1)(12); @@ -75,8 +75,8 @@ >j : number >j + 1 : number >j : number ->1 : number ->12 : number +>1 : 1 +>12 : 12 ((k?) => k + 1)(); >((k?) => k + 1)() : any @@ -85,7 +85,7 @@ >k : any >k + 1 : any >k : any ->1 : number +>1 : 1 ((l, o?) => l + o)(12); // o should be any >((l, o?) => l + o)(12) : any @@ -96,7 +96,7 @@ >l + o : any >l : number >o : any ->12 : number +>12 : 12 // rest parameters ((...numbers) => numbers.every(n => n > 0))(5,6,7); @@ -112,28 +112,28 @@ >n : number >n > 0 : boolean >n : number ->0 : number ->5 : number ->6 : number ->7 : number +>0 : 0 +>5 : 5 +>6 : 6 +>7 : 7 ((...mixed) => mixed.every(n => !!n))(5,'oops','oh no'); >((...mixed) => mixed.every(n => !!n))(5,'oops','oh no') : boolean ->((...mixed) => mixed.every(n => !!n)) : (...mixed: (number | string)[]) => boolean ->(...mixed) => mixed.every(n => !!n) : (...mixed: (number | string)[]) => boolean ->mixed : (number | string)[] +>((...mixed) => mixed.every(n => !!n)) : (...mixed: (string | number)[]) => boolean +>(...mixed) => mixed.every(n => !!n) : (...mixed: (string | number)[]) => boolean +>mixed : (string | number)[] >mixed.every(n => !!n) : boolean ->mixed.every : (callbackfn: (value: number | string, index: number, array: (number | string)[]) => boolean, thisArg?: any) => boolean ->mixed : (number | string)[] ->every : (callbackfn: (value: number | string, index: number, array: (number | string)[]) => boolean, thisArg?: any) => boolean ->n => !!n : (n: number | string) => boolean ->n : number | string +>mixed.every : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => boolean, thisArg?: any) => boolean +>mixed : (string | number)[] +>every : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => boolean, thisArg?: any) => boolean +>n => !!n : (n: string | number) => boolean +>n : string | number >!!n : boolean >!n : boolean ->n : number | string ->5 : number ->'oops' : string ->'oh no' : string +>n : string | number +>5 : 5 +>'oops' : "oops" +>'oh no' : "oh no" ((...noNumbers) => noNumbers.some(n => n > 0))(); >((...noNumbers) => noNumbers.some(n => n > 0))() : boolean @@ -148,7 +148,7 @@ >n : any >n > 0 : boolean >n : any ->0 : number +>0 : 0 ((first, ...rest) => first ? [] : rest.map(n => n > 0))(8,9,10); >((first, ...rest) => first ? [] : rest.map(n => n > 0))(8,9,10) : boolean[] @@ -167,10 +167,10 @@ >n : number >n > 0 : boolean >n : number ->0 : number ->8 : number ->9 : number ->10 : number +>0 : 0 +>8 : 8 +>9 : 9 +>10 : 10 // destructuring parameters (with defaults too!) (({ q }) => q)({ q : 13 }); @@ -181,42 +181,42 @@ >q : number >{ q : 13 } : { q: number; } >q : number ->13 : number +>13 : 13 (({ p = 14 }) => p)({ p : 15 }); >(({ p = 14 }) => p)({ p : 15 }) : number >(({ p = 14 }) => p) : ({p}: { p: number; }) => number >({ p = 14 }) => p : ({p}: { p: number; }) => number >p : number ->14 : number +>14 : 14 >p : number >{ p : 15 } : { p: number; } >p : number ->15 : number +>15 : 15 (({ r = 17 } = { r: 18 }) => r)({r : 19}); >(({ r = 17 } = { r: 18 }) => r)({r : 19}) : number >(({ r = 17 } = { r: 18 }) => r) : ({r}?: { r: number; }) => number >({ r = 17 } = { r: 18 }) => r : ({r}?: { r: number; }) => number >r : number ->17 : number +>17 : 17 >{ r: 18 } : { r: number; } >r : number ->18 : number +>18 : 18 >r : number >{r : 19} : { r: number; } >r : number ->19 : number +>19 : 19 (({ u = 22 } = { u: 23 }) => u)(); >(({ u = 22 } = { u: 23 }) => u)() : number >(({ u = 22 } = { u: 23 }) => u) : ({u}?: { u?: number; }) => number >({ u = 22 } = { u: 23 }) => u : ({u}?: { u?: number; }) => number >u : number ->22 : number +>22 : 22 >{ u: 23 } : { u?: number; } >u : number ->23 : number +>23 : 23 >u : number // contextually typed parameters. @@ -228,7 +228,7 @@ let twelve = (f => f(12))(i => i); >f : (i: any) => any >f(12) : any >f : (i: any) => any ->12 : number +>12 : 12 >i => i : (i: any) => any >i : any >i : any @@ -243,7 +243,7 @@ let eleven = (o => o.a(11))({ a: function(n) { return n; } }); >o.a : (n: any) => any >o : { a: (n: any) => any; } >a : (n: any) => any ->11 : number +>11 : 11 >{ a: function(n) { return n; } } : { a: (n: any) => any; } >a : (n: any) => any >function(n) { return n; } : (n: any) => any diff --git a/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.types b/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.types index dcb25792fe0..5335cc4f81f 100644 --- a/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.types +++ b/tests/baselines/reference/contextuallyTypedObjectLiteralMethodDeclaration01.types @@ -40,11 +40,11 @@ function getFoo1(): Foo { >arg : A arg.numProp = 10; ->arg.numProp = 10 : number +>arg.numProp = 10 : 10 >arg.numProp : number >arg : A >numProp : number ->10 : number +>10 : 10 }, method2(arg) { @@ -52,11 +52,11 @@ function getFoo1(): Foo { >arg : B arg.strProp = "hello"; ->arg.strProp = "hello" : string +>arg.strProp = "hello" : "hello" >arg.strProp : string >arg : B >strProp : string ->"hello" : string +>"hello" : "hello" } } } @@ -74,11 +74,11 @@ function getFoo2(): Foo { >arg : A arg.numProp = 10; ->arg.numProp = 10 : number +>arg.numProp = 10 : 10 >arg.numProp : number >arg : A >numProp : number ->10 : number +>10 : 10 }, method2: (arg) => { @@ -87,11 +87,11 @@ function getFoo2(): Foo { >arg : B arg.strProp = "hello"; ->arg.strProp = "hello" : string +>arg.strProp = "hello" : "hello" >arg.strProp : string >arg : B >strProp : string ->"hello" : string +>"hello" : "hello" } } } @@ -109,11 +109,11 @@ function getFoo3(): Foo { >arg : A arg.numProp = 10; ->arg.numProp = 10 : number +>arg.numProp = 10 : 10 >arg.numProp : number >arg : A >numProp : number ->10 : number +>10 : 10 }, method2: function (arg) { @@ -122,11 +122,11 @@ function getFoo3(): Foo { >arg : B arg.strProp = "hello"; ->arg.strProp = "hello" : string +>arg.strProp = "hello" : "hello" >arg.strProp : string >arg : B >strProp : string ->"hello" : string +>"hello" : "hello" } } } diff --git a/tests/baselines/reference/contextuallyTypingOrOperator.types b/tests/baselines/reference/contextuallyTypingOrOperator.types index 676ad04bfa9..3ca4ff4ee8f 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator.types +++ b/tests/baselines/reference/contextuallyTypingOrOperator.types @@ -15,7 +15,7 @@ var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; >a : (s: string) => number >s => 1 : (s: string) => number >s : string ->1 : number +>1 : 1 var v2 = (s: string) => s.length || function (s) { s.length }; >v2 : (s: string) => number | ((s: any) => void) @@ -41,14 +41,14 @@ var v3 = (s: string) => s.length || function (s: number) { return 1 }; >length : number >function (s: number) { return 1 } : (s: number) => number >s : number ->1 : number +>1 : 1 var v4 = (s: number) => 1 || function (s: string) { return s.length }; ->v4 : (s: number) => number | ((s: string) => number) ->(s: number) => 1 || function (s: string) { return s.length } : (s: number) => number | ((s: string) => number) +>v4 : (s: number) => 1 | ((s: string) => number) +>(s: number) => 1 || function (s: string) { return s.length } : (s: number) => 1 | ((s: string) => number) >s : number ->1 || function (s: string) { return s.length } : number | ((s: string) => number) ->1 : number +>1 || function (s: string) { return s.length } : 1 | ((s: string) => number) +>1 : 1 >function (s: string) { return s.length } : (s: string) => number >s : string >s.length : number diff --git a/tests/baselines/reference/contextuallyTypingOrOperator2.types b/tests/baselines/reference/contextuallyTypingOrOperator2.types index 2a73ccc9c9d..f72e6f3e92e 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator2.types +++ b/tests/baselines/reference/contextuallyTypingOrOperator2.types @@ -15,7 +15,7 @@ var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; >a : (s: string) => number >s => 1 : (s: string) => number >s : string ->1 : number +>1 : 1 var v2 = (s: string) => s.length || function (s) { s.aaa }; >v2 : (s: string) => number | ((s: any) => void) diff --git a/tests/baselines/reference/continueInIterationStatement1.types b/tests/baselines/reference/continueInIterationStatement1.types index 4fcf3794844..a61ec004fba 100644 --- a/tests/baselines/reference/continueInIterationStatement1.types +++ b/tests/baselines/reference/continueInIterationStatement1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/continueInIterationStatement1.ts === while (true) { ->true : boolean +>true : true continue; } diff --git a/tests/baselines/reference/continueInIterationStatement2.types b/tests/baselines/reference/continueInIterationStatement2.types index 4a3d50c7501..59d7b88cc59 100644 --- a/tests/baselines/reference/continueInIterationStatement2.types +++ b/tests/baselines/reference/continueInIterationStatement2.types @@ -3,5 +3,5 @@ do { continue; } while (true); ->true : boolean +>true : true diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js index 431bdee6c88..774869310ab 100644 --- a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.js @@ -14,7 +14,7 @@ function foo() { //// [continueInLoopsWithCapturedBlockScopedBindings1.js] function foo() { - var _loop_1 = function(i) { + var _loop_1 = function (i) { if (i === 0) { return "continue"; } diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types index 2aeb286d604..4ccf96ad624 100644 --- a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types @@ -5,13 +5,13 @@ function foo() { for (const i of [0, 1]) { >i : number >[0, 1] : number[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 if (i === 0) { >i === 0 : boolean >i : number ->0 : number +>0 : 0 continue; } diff --git a/tests/baselines/reference/continueLabel.types b/tests/baselines/reference/continueLabel.types index a25f3311607..788133b337b 100644 --- a/tests/baselines/reference/continueLabel.types +++ b/tests/baselines/reference/continueLabel.types @@ -2,10 +2,10 @@ label1: for(var i = 0; i < 1; i++) { >label1 : any >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/continueTarget2.types b/tests/baselines/reference/continueTarget2.types index 1e9a2325642..5b8fc5a01d2 100644 --- a/tests/baselines/reference/continueTarget2.types +++ b/tests/baselines/reference/continueTarget2.types @@ -3,7 +3,7 @@ target: >target : any while (true) { ->true : boolean +>true : true continue target; >target : any diff --git a/tests/baselines/reference/continueTarget3.types b/tests/baselines/reference/continueTarget3.types index d55f1c3f6d2..502c406b05f 100644 --- a/tests/baselines/reference/continueTarget3.types +++ b/tests/baselines/reference/continueTarget3.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true continue target1; >target1 : any diff --git a/tests/baselines/reference/continueTarget4.types b/tests/baselines/reference/continueTarget4.types index e3e3ae82dfe..e07208ccc10 100644 --- a/tests/baselines/reference/continueTarget4.types +++ b/tests/baselines/reference/continueTarget4.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true continue target2; >target2 : any diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.types b/tests/baselines/reference/controlFlowAssignmentExpression.types index 24355fd8c4a..4cc2c52cc1b 100644 --- a/tests/baselines/reference/controlFlowAssignmentExpression.types +++ b/tests/baselines/reference/controlFlowAssignmentExpression.types @@ -1,18 +1,18 @@ === tests/cases/conformance/controlFlow/controlFlowAssignmentExpression.ts === let x: string | boolean | number; ->x : string | boolean | number +>x : string | number | boolean let obj: any; >obj : any x = ""; ->x = "" : string ->x : string | boolean | number ->"" : string +>x = "" : "" +>x : string | number | boolean +>"" : "" x = x.length; >x = x.length : number ->x : string | boolean | number +>x : string | number | boolean >x.length : number >x : string >length : number @@ -21,23 +21,23 @@ x; // number >x : number x = true; ->x = true : boolean ->x : string | boolean | number ->true : boolean +>x = true : true +>x : string | number | boolean +>true : true (x = "", obj).foo = (x = x.length); >(x = "", obj).foo = (x = x.length) : number >(x = "", obj).foo : any >(x = "", obj) : any >x = "", obj : any ->x = "" : string ->x : string | boolean | number ->"" : string +>x = "" : "" +>x : string | number | boolean +>"" : "" >obj : any >foo : any >(x = x.length) : number >x = x.length : number ->x : string | boolean | number +>x : string | number | boolean >x.length : number >x : string >length : number diff --git a/tests/baselines/reference/controlFlowBinaryAndExpression.types b/tests/baselines/reference/controlFlowBinaryAndExpression.types index 8a1924c42eb..1e7f4e44848 100644 --- a/tests/baselines/reference/controlFlowBinaryAndExpression.types +++ b/tests/baselines/reference/controlFlowBinaryAndExpression.types @@ -6,31 +6,31 @@ let cond: boolean; >cond : boolean (x = "") && (x = 0); ->(x = "") && (x = 0) : number ->(x = "") : string ->x = "" : string +>(x = "") && (x = 0) : "" +>(x = "") : "" +>x = "" : "" >x : string | number | boolean ->"" : string ->(x = 0) : number ->x = 0 : number +>"" : "" +>(x = 0) : 0 +>x = 0 : 0 >x : string | number | boolean ->0 : number +>0 : 0 x; // string | number >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" cond && (x = 0); ->cond && (x = 0) : number +>cond && (x = 0) : 0 >cond : boolean ->(x = 0) : number ->x = 0 : number +>(x = 0) : 0 +>x = 0 : 0 >x : string | number | boolean ->0 : number +>0 : 0 x; // string | number >x : string | number diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.symbols b/tests/baselines/reference/controlFlowBinaryOrExpression.symbols index e47bdb19d34..217e11dc95d 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.symbols +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.symbols @@ -64,9 +64,9 @@ if (isNodeList(sourceObj)) { >sourceObj : Symbol(sourceObj, Decl(controlFlowBinaryOrExpression.ts, 23, 3)) sourceObj.length; ->sourceObj.length : Symbol(HTMLCollection.length, Decl(controlFlowBinaryOrExpression.ts, 14, 33)) +>sourceObj.length : Symbol(NodeList.length, Decl(controlFlowBinaryOrExpression.ts, 10, 27)) >sourceObj : Symbol(sourceObj, Decl(controlFlowBinaryOrExpression.ts, 23, 3)) ->length : Symbol(HTMLCollection.length, Decl(controlFlowBinaryOrExpression.ts, 14, 33)) +>length : Symbol(NodeList.length, Decl(controlFlowBinaryOrExpression.ts, 10, 27)) } if (isHTMLCollection(sourceObj)) { @@ -86,8 +86,8 @@ if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { >sourceObj : Symbol(sourceObj, Decl(controlFlowBinaryOrExpression.ts, 23, 3)) sourceObj.length; ->sourceObj.length : Symbol(HTMLCollection.length, Decl(controlFlowBinaryOrExpression.ts, 14, 33)) +>sourceObj.length : Symbol(length, Decl(controlFlowBinaryOrExpression.ts, 10, 27), Decl(controlFlowBinaryOrExpression.ts, 14, 33)) >sourceObj : Symbol(sourceObj, Decl(controlFlowBinaryOrExpression.ts, 23, 3)) ->length : Symbol(HTMLCollection.length, Decl(controlFlowBinaryOrExpression.ts, 14, 33)) +>length : Symbol(length, Decl(controlFlowBinaryOrExpression.ts, 10, 27), Decl(controlFlowBinaryOrExpression.ts, 14, 33)) } diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.types b/tests/baselines/reference/controlFlowBinaryOrExpression.types index 8c1cd32d8d9..166718b9266 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.types +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types @@ -6,31 +6,31 @@ let cond: boolean; >cond : boolean (x = "") || (x = 0); ->(x = "") || (x = 0) : string | number ->(x = "") : string ->x = "" : string +>(x = "") || (x = 0) : 0 +>(x = "") : "" +>x = "" : "" >x : string | number | boolean ->"" : string ->(x = 0) : number ->x = 0 : number +>"" : "" +>(x = 0) : 0 +>x = 0 : 0 >x : string | number | boolean ->0 : number +>0 : 0 x; // string | number >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" cond || (x = 0); ->cond || (x = 0) : boolean | number +>cond || (x = 0) : true | 0 >cond : boolean ->(x = 0) : number ->x = 0 : number +>(x = 0) : 0 +>x = 0 : 0 >x : string | number | boolean ->0 : number +>0 : 0 x; // string | number >x : string | number @@ -62,32 +62,32 @@ declare function isHTMLCollection(sourceObj: any): sourceObj is HTMLCollection; >HTMLCollection : HTMLCollection type EventTargetLike = {a: string} | HTMLCollection | NodeList; ->EventTargetLike : { a: string; } | HTMLCollection | NodeList +>EventTargetLike : EventTargetLike >a : string >HTMLCollection : HTMLCollection >NodeList : NodeList var sourceObj: EventTargetLike = undefined; ->sourceObj : { a: string; } | HTMLCollection | NodeList ->EventTargetLike : { a: string; } | HTMLCollection | NodeList +>sourceObj : EventTargetLike +>EventTargetLike : EventTargetLike >undefined : any >undefined : undefined if (isNodeList(sourceObj)) { >isNodeList(sourceObj) : boolean >isNodeList : (sourceObj: any) => sourceObj is NodeList ->sourceObj : { a: string; } | HTMLCollection +>sourceObj : EventTargetLike sourceObj.length; >sourceObj.length : number ->sourceObj : HTMLCollection +>sourceObj : NodeList >length : number } if (isHTMLCollection(sourceObj)) { >isHTMLCollection(sourceObj) : boolean >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection ->sourceObj : HTMLCollection | { a: string; } +>sourceObj : EventTargetLike sourceObj.length; >sourceObj.length : number @@ -99,14 +99,14 @@ if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { >isNodeList(sourceObj) || isHTMLCollection(sourceObj) : boolean >isNodeList(sourceObj) : boolean >isNodeList : (sourceObj: any) => sourceObj is NodeList ->sourceObj : HTMLCollection | { a: string; } +>sourceObj : EventTargetLike >isHTMLCollection(sourceObj) : boolean >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection ->sourceObj : { a: string; } +>sourceObj : HTMLCollection | { a: string; } sourceObj.length; >sourceObj.length : number ->sourceObj : HTMLCollection +>sourceObj : NodeList | HTMLCollection >length : number } diff --git a/tests/baselines/reference/controlFlowCaching.types b/tests/baselines/reference/controlFlowCaching.types index cd603b274d1..4b7df020c94 100644 --- a/tests/baselines/reference/controlFlowCaching.types +++ b/tests/baselines/reference/controlFlowCaching.types @@ -43,20 +43,20 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >leftBottom : boolean >position !== "rightOrTop" : boolean >position : any ->"rightOrTop" : string +>"rightOrTop" : "rightOrTop" >rotation : number >o.rotation % 360 : number >o.rotation : any >o : any >rotation : any ->360 : number +>360 : 360 start, stop, titlePos, titleRotation = 0, titleOffset, axisVector, tickVector, anchorOffset, labelOffset, labelAlign, >start : any >stop : any >titlePos : any >titleRotation : number ->0 : number +>0 : 0 >titleOffset : any >axisVector : any >tickVector : any @@ -151,7 +151,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >ta : any >tick : any >fontColor : any ->"black" : string +>"black" : "black" taTitleFontColor = o.titleFontColor || (ta.title && ta.title.fontColor) || "black", >taTitleFontColor : any @@ -170,7 +170,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >ta : any >title : any >fontColor : any ->"black" : string +>"black" : "black" taTitleGap = (o.titleGap == 0) ? 0 : o.titleGap || (ta.title && ta.title.gap) || 15, >taTitleGap : any @@ -180,8 +180,8 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >o.titleGap : any >o : any >titleGap : any ->0 : number ->0 : number +>0 : 0 +>0 : 0 >o.titleGap || (ta.title && ta.title.gap) || 15 : any >o.titleGap || (ta.title && ta.title.gap) : any >o.titleGap : any @@ -197,7 +197,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >ta : any >title : any >gap : any ->15 : number +>15 : 15 taTitleOrientation = o.titleOrientation || (ta.title && ta.title.orientation) || "axis", >taTitleOrientation : any @@ -216,7 +216,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >ta : any >title : any >orientation : any ->"axis" : string +>"axis" : "axis" taMajorTick = this.chart.theme.getTick("major", o), >taMajorTick : any @@ -228,7 +228,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >chart : any >theme : any >getTick : any ->"major" : string +>"major" : "major" >o : any taMinorTick = this.chart.theme.getTick("minor", o), @@ -241,7 +241,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >chart : any >theme : any >getTick : any ->"minor" : string +>"minor" : "minor" >o : any taMicroTick = this.chart.theme.getTick("micro", o), @@ -254,14 +254,14 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >chart : any >theme : any >getTick : any ->"micro" : string +>"micro" : "micro" >o : any taStroke = "stroke" in o ? o.stroke : ta.stroke, >taStroke : any >"stroke" in o ? o.stroke : ta.stroke : any >"stroke" in o : boolean ->"stroke" : string +>"stroke" : "stroke" >o : any >o.stroke : any >o : any @@ -285,7 +285,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >splitFontString : any >taFont : any >size : any ->0 : number +>0 : 0 cosr = Math.abs(Math.cos(rotation * Math.PI / 180)), >cosr : number @@ -303,7 +303,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.PI : number >Math : Math >PI : number ->180 : number +>180 : 180 sinr = Math.abs(Math.sin(rotation * Math.PI / 180)), >sinr : number @@ -321,7 +321,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.PI : number >Math : Math >PI : number ->180 : number +>180 : 180 tsize = taTitleFont ? g.normalizedLength(g.splitFontString(taTitleFont).size) : 0; >tsize : any @@ -338,17 +338,17 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >splitFontString : any >taTitleFont : any >size : any ->0 : number +>0 : 0 if (rotation < 0) { >rotation < 0 : boolean >rotation : number ->0 : number +>0 : 0 rotation += 360; >rotation += 360 : number >rotation : number ->360 : number +>360 : 360 } var cachedLabelW = this._getMaxLabelSize(); >cachedLabelW : any @@ -381,7 +381,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >(cachedLabelW || 0) : any >cachedLabelW || 0 : any >cachedLabelW : any ->0 : number +>0 : 0 >sinr : number >labelGap : any >Math.max(taMajorTick.length > 0 ? taMajorTick.length : 0, taMinorTick.length > 0 ? taMinorTick.length : 0) : number @@ -393,11 +393,11 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >taMajorTick.length : any >taMajorTick : any >length : any ->0 : number +>0 : 0 >taMajorTick.length : any >taMajorTick : any >length : any ->0 : number +>0 : 0 taMinorTick.length > 0 ? taMinorTick.length : 0) + >taMinorTick.length > 0 ? taMinorTick.length : 0 : any @@ -405,11 +405,11 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >taMinorTick.length : any >taMinorTick : any >length : any ->0 : number +>0 : 0 >taMinorTick.length : any >taMinorTick : any >length : any ->0 : number +>0 : 0 tsize + taTitleGap; >tsize : any @@ -420,13 +420,13 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >axisVector : any >{ x: isRtl ? -1 : 1, y: 0 } : { x: number; y: number; } >x : number ->isRtl ? -1 : 1 : number +>isRtl ? -1 : 1 : 1 | -1 >isRtl : any ->-1 : number ->1 : number ->1 : number +>-1 : -1 +>1 : 1 +>1 : 1 >y : number ->0 : number +>0 : 0 switch (rotation) { >rotation : number @@ -437,7 +437,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >rotation : number >(90 - centerAnchorLimit) : number >90 - centerAnchorLimit : number ->90 : number +>90 : 90 >centerAnchorLimit : any labelOffset.y = leftBottom ? size : 0; @@ -448,14 +448,14 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >leftBottom ? size : 0 : any >leftBottom : boolean >size : any ->0 : number +>0 : 0 } else if (rotation < (90 + centerAnchorLimit)) { >rotation < (90 + centerAnchorLimit) : boolean >rotation : number >(90 + centerAnchorLimit) : any >90 + centerAnchorLimit : any ->90 : number +>90 : 90 >centerAnchorLimit : any labelOffset.x = -size * 0.4; @@ -466,12 +466,12 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >-size * 0.4 : number >-size : number >size : any ->0.4 : number +>0.4 : 0.4 } else if (rotation < 180) { >rotation < 180 : boolean >rotation : number ->180 : number +>180 : 180 labelOffset.y = leftBottom ? 0 : -size; >labelOffset.y = leftBottom ? 0 : -size : number @@ -480,7 +480,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >y : any >leftBottom ? 0 : -size : number >leftBottom : boolean ->0 : number +>0 : 0 >-size : number >size : any @@ -489,7 +489,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >rotation : number >(270 - centerAnchorLimit) : number >270 - centerAnchorLimit : number ->270 : number +>270 : 270 >centerAnchorLimit : any labelOffset.y = leftBottom ? 0 : -size; @@ -499,7 +499,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >y : any >leftBottom ? 0 : -size : number >leftBottom : boolean ->0 : number +>0 : 0 >-size : number >size : any @@ -508,7 +508,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >rotation : number >(270 + centerAnchorLimit) : any >270 + centerAnchorLimit : any ->270 : number +>270 : 270 >centerAnchorLimit : any labelOffset.y = leftBottom ? size * 0.4 : 0; @@ -520,8 +520,8 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >leftBottom : boolean >size * 0.4 : number >size : any ->0.4 : number ->0 : number +>0.4 : 0.4 +>0 : 0 } else { labelOffset.y = leftBottom ? size : 0; @@ -532,22 +532,22 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >leftBottom ? size : 0 : any >leftBottom : boolean >size : any ->0 : number +>0 : 0 } } titleRotation = (taTitleOrientation && taTitleOrientation == "away") ? 180 : 0; ->titleRotation = (taTitleOrientation && taTitleOrientation == "away") ? 180 : 0 : number +>titleRotation = (taTitleOrientation && taTitleOrientation == "away") ? 180 : 0 : 0 | 180 >titleRotation : number ->(taTitleOrientation && taTitleOrientation == "away") ? 180 : 0 : number +>(taTitleOrientation && taTitleOrientation == "away") ? 180 : 0 : 0 | 180 >(taTitleOrientation && taTitleOrientation == "away") : boolean >taTitleOrientation && taTitleOrientation == "away" : boolean >taTitleOrientation : any >taTitleOrientation == "away" : boolean >taTitleOrientation : any ->"away" : string ->180 : number ->0 : number +>"away" : "away" +>180 : 180 +>0 : 0 titlePos.y = offsets.t - titleOffset + (titleRotation ? 0 : tsize); >titlePos.y = offsets.t - titleOffset + (titleRotation ? 0 : tsize) : any @@ -563,32 +563,32 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >(titleRotation ? 0 : tsize) : any >titleRotation ? 0 : tsize : any >titleRotation : number ->0 : number +>0 : 0 >tsize : any switch (labelAlign) { >labelAlign : any case "start": ->"start" : string +>"start" : "start" labelAlign = "end"; ->labelAlign = "end" : string +>labelAlign = "end" : "end" >labelAlign : any ->"end" : string +>"end" : "end" break; case "end": ->"end" : string +>"end" : "end" labelAlign = "start"; ->labelAlign = "start" : string +>labelAlign = "start" : "start" >labelAlign : any ->"start" : string +>"start" : "start" break; case "middle": ->"middle" : string +>"middle" : "middle" labelOffset.y -= size; >labelOffset.y -= size : number diff --git a/tests/baselines/reference/controlFlowCommaOperator.types b/tests/baselines/reference/controlFlowCommaOperator.types index 53014ceafa7..52fd3d7b87d 100644 --- a/tests/baselines/reference/controlFlowCommaOperator.types +++ b/tests/baselines/reference/controlFlowCommaOperator.types @@ -5,21 +5,21 @@ function f(x: string | number | boolean) { let y: string | number | boolean = false; >y : string | number | boolean ->false : boolean +>false : false let z: string | number | boolean = false; >z : string | number | boolean ->false : boolean +>false : false if (y = "", typeof x === "string") { >y = "", typeof x === "string" : boolean ->y = "" : string +>y = "" : "" >y : string | number | boolean ->"" : string +>"" : "" >typeof x === "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" x; // string >x : string @@ -28,17 +28,17 @@ function f(x: string | number | boolean) { >y : string z; // boolean ->z : boolean +>z : false } else if (z = 1, typeof x === "number") { >z = 1, typeof x === "number" : boolean ->z = 1 : number +>z = 1 : 1 >z : string | number | boolean ->1 : number +>1 : 1 >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" x; // number >x : number @@ -66,6 +66,6 @@ function f(x: string | number | boolean) { >y : string z; // number | boolean ->z : boolean | number +>z : number | false } diff --git a/tests/baselines/reference/controlFlowConditionalExpression.types b/tests/baselines/reference/controlFlowConditionalExpression.types index c6084e052b1..a648b86e835 100644 --- a/tests/baselines/reference/controlFlowConditionalExpression.types +++ b/tests/baselines/reference/controlFlowConditionalExpression.types @@ -6,14 +6,14 @@ let cond: boolean; >cond : boolean cond ? x = "" : x = 3; ->cond ? x = "" : x = 3 : string | number +>cond ? x = "" : x = 3 : "" | 3 >cond : boolean ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string ->x = 3 : number +>"" : "" +>x = 3 : 3 >x : string | number | boolean ->3 : number +>3 : 3 x; // string | number >x : string | number diff --git a/tests/baselines/reference/controlFlowDeleteOperator.types b/tests/baselines/reference/controlFlowDeleteOperator.types index 365174db058..5715cfc4043 100644 --- a/tests/baselines/reference/controlFlowDeleteOperator.types +++ b/tests/baselines/reference/controlFlowDeleteOperator.types @@ -4,76 +4,76 @@ function f() { >f : () => void let x: { a?: number | string, b: number | string } = { b: 1 }; ->x : { a?: number | string | undefined; b: number | string; } ->a : number | string | undefined ->b : number | string +>x : { a?: string | number | undefined; b: string | number; } +>a : string | number | undefined +>b : string | number >{ b: 1 } : { b: number; } >b : number ->1 : number +>1 : 1 x.a; ->x.a : number | string | undefined ->x : { a?: number | string | undefined; b: number | string; } ->a : number | string | undefined +>x.a : string | number | undefined +>x : { a?: string | number | undefined; b: string | number; } +>a : string | number | undefined x.b; ->x.b : number | string ->x : { a?: number | string | undefined; b: number | string; } ->b : number | string +>x.b : string | number +>x : { a?: string | number | undefined; b: string | number; } +>b : string | number x.a = 1; ->x.a = 1 : number ->x.a : number | string | undefined ->x : { a?: number | string | undefined; b: number | string; } ->a : number | string | undefined ->1 : number +>x.a = 1 : 1 +>x.a : string | number | undefined +>x : { a?: string | number | undefined; b: string | number; } +>a : string | number | undefined +>1 : 1 x.b = 1; ->x.b = 1 : number ->x.b : number | string ->x : { a?: number | string | undefined; b: number | string; } ->b : number | string ->1 : number +>x.b = 1 : 1 +>x.b : string | number +>x : { a?: string | number | undefined; b: string | number; } +>b : string | number +>1 : 1 x.a; >x.a : number ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } >a : number x.b; >x.b : number ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } >b : number delete x.a; >delete x.a : boolean >x.a : number ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } >a : number delete x.b; >delete x.b : boolean >x.b : number ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } >b : number x.a; >x.a : undefined ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } >a : undefined x.b; ->x.b : number | string ->x : { a?: number | string | undefined; b: number | string; } ->b : number | string +>x.b : string | number +>x : { a?: string | number | undefined; b: string | number; } +>b : string | number x; ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } delete x; // No effect >delete x : boolean ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } x; ->x : { a?: number | string | undefined; b: number | string; } +>x : { a?: string | number | undefined; b: string | number; } } diff --git a/tests/baselines/reference/controlFlowDestructuringDeclaration.types b/tests/baselines/reference/controlFlowDestructuringDeclaration.types index 2e3b1f5647e..d50b743b746 100644 --- a/tests/baselines/reference/controlFlowDestructuringDeclaration.types +++ b/tests/baselines/reference/controlFlowDestructuringDeclaration.types @@ -5,14 +5,14 @@ function f1() { let x: string | number = 1; >x : string | number ->1 : number +>1 : 1 x; >x : number let y: string | undefined = ""; >y : string | undefined ->"" : string +>"" : "" y; >y : string @@ -24,7 +24,7 @@ function f2() { let [x]: [string | number] = [1]; >x : string | number >[1] : [number] ->1 : number +>1 : 1 x; >x : number @@ -32,14 +32,14 @@ function f2() { let [y]: [string | undefined] = [""]; >y : string | undefined >[""] : [string] ->"" : string +>"" : "" y; >y : string let [z = ""]: [string | undefined] = [undefined]; >z : string ->"" : string +>"" : "" >[undefined] : [undefined] >undefined : undefined @@ -53,7 +53,7 @@ function f3() { let [x]: (string | number)[] = [1]; >x : string | number >[1] : number[] ->1 : number +>1 : 1 x; >x : number @@ -61,14 +61,14 @@ function f3() { let [y]: (string | undefined)[] = [""]; >y : string | undefined >[""] : string[] ->"" : string +>"" : "" y; >y : string let [z = ""]: (string | undefined)[] = [undefined]; >z : string ->"" : string +>"" : "" >[undefined] : undefined[] >undefined : undefined @@ -84,7 +84,7 @@ function f4() { >x : string | number >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 x; >x : number @@ -94,14 +94,14 @@ function f4() { >y : string | undefined >{ y: "" } : { y: string; } >y : string ->"" : string +>"" : "" y; >y : string let { z = "" }: { z: string | undefined } = { z: undefined }; >z : string ->"" : string +>"" : "" >z : string | undefined >{ z: undefined } : { z: undefined; } >z : undefined @@ -119,7 +119,7 @@ function f5() { >x : string | number | undefined >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 x; >x : number @@ -129,14 +129,14 @@ function f5() { >y : string | undefined >{ y: "" } : { y: string; } >y : string ->"" : string +>"" : "" y; >y : string let { z = "" }: { z?: string | undefined } = { z: undefined }; >z : string ->"" : string +>"" : "" >z : string | undefined >{ z: undefined } : { z: undefined; } >z : undefined @@ -167,7 +167,7 @@ function f6() { let { z = "" }: { z?: string | undefined } = {}; >z : string ->"" : string +>"" : "" >z : string | undefined >{} : {} @@ -183,7 +183,7 @@ function f7() { >x : string >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 let { x }: { [x: string]: string | number } = o; >x : string | number diff --git a/tests/baselines/reference/controlFlowDestructuringParameters.types b/tests/baselines/reference/controlFlowDestructuringParameters.types index 396852bf37a..d0729e6d7d5 100644 --- a/tests/baselines/reference/controlFlowDestructuringParameters.types +++ b/tests/baselines/reference/controlFlowDestructuringParameters.types @@ -8,7 +8,7 @@ >[{ x: 1 }] : { x: number; }[] >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 >map : (callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any) => U[] ({ x }) => x diff --git a/tests/baselines/reference/controlFlowDoWhileStatement.types b/tests/baselines/reference/controlFlowDoWhileStatement.types index a82ae1b716e..24f3e92b144 100644 --- a/tests/baselines/reference/controlFlowDoWhileStatement.types +++ b/tests/baselines/reference/controlFlowDoWhileStatement.types @@ -9,9 +9,9 @@ function a() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" do { x; // string @@ -27,18 +27,18 @@ function b() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" do { x; // string >x : string x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 break; } while (cond) @@ -51,9 +51,9 @@ function c() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" do { x; // string @@ -68,7 +68,7 @@ function c() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" break; } while (cond) @@ -81,18 +81,18 @@ function d() { >x : string | number x = 1000; ->x = 1000 : number +>x = 1000 : 1000 >x : string | number ->1000 : number +>1000 : 1000 do { x; // number >x : number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" } while (x = x.length) >x = x.length : number @@ -111,15 +111,15 @@ function e() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" do { x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 } while (cond) >cond : boolean @@ -131,23 +131,23 @@ function f() { >f : () => void let x: string | number | boolean | RegExp | Function; ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >RegExp : RegExp >Function : Function x = ""; ->x = "" : string ->x : string | number | boolean | RegExp | Function ->"" : string +>x = "" : "" +>x : string | number | boolean | Function | RegExp +>"" : "" do { if (cond) { >cond : boolean x = 42; ->x = 42 : number ->x : string | number | boolean | RegExp | Function ->42 : number +>x = 42 : 42 +>x : string | number | boolean | Function | RegExp +>42 : 42 break; } @@ -155,44 +155,44 @@ function f() { >cond : boolean x = true; ->x = true : boolean ->x : string | number | boolean | RegExp | Function ->true : boolean +>x = true : true +>x : string | number | boolean | Function | RegExp +>true : true continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } while (cond) >cond : boolean x; // number | boolean | RegExp ->x : number | boolean | RegExp +>x : number | true | RegExp } function g() { >g : () => void let x: string | number | boolean | RegExp | Function; ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >RegExp : RegExp >Function : Function x = ""; ->x = "" : string ->x : string | number | boolean | RegExp | Function ->"" : string +>x = "" : "" +>x : string | number | boolean | Function | RegExp +>"" : "" do { if (cond) { >cond : boolean x = 42; ->x = 42 : number ->x : string | number | boolean | RegExp | Function ->42 : number +>x = 42 : 42 +>x : string | number | boolean | Function | RegExp +>42 : 42 break; } @@ -200,19 +200,19 @@ function g() { >cond : boolean x = true; ->x = true : boolean ->x : string | number | boolean | RegExp | Function ->true : boolean +>x = true : true +>x : string | number | boolean | Function | RegExp +>true : true continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } while (true) ->true : boolean +>true : true x; // number >x : number diff --git a/tests/baselines/reference/controlFlowForInStatement.types b/tests/baselines/reference/controlFlowForInStatement.types index e46db37bb16..e3a4407bff3 100644 --- a/tests/baselines/reference/controlFlowForInStatement.types +++ b/tests/baselines/reference/controlFlowForInStatement.types @@ -1,6 +1,6 @@ === tests/cases/conformance/controlFlow/controlFlowForInStatement.ts === let x: string | number | boolean | RegExp | Function; ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >RegExp : RegExp >Function : Function @@ -12,7 +12,7 @@ let cond: boolean; x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp for (let y in obj) { @@ -21,16 +21,16 @@ for (let y in obj) { x = y; >x = y : string ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >y : string if (cond) { >cond : boolean x = 42; ->x = 42 : number ->x : string | number | boolean | RegExp | Function ->42 : number +>x = 42 : 42 +>x : string | number | boolean | Function | RegExp +>42 : 42 continue; } @@ -38,13 +38,13 @@ for (let y in obj) { >cond : boolean x = true; ->x = true : boolean ->x : string | number | boolean | RegExp | Function ->true : boolean +>x = true : true +>x : string | number | boolean | Function | RegExp +>true : true break; } } x; // RegExp | string | number | boolean ->x : RegExp | number | string | boolean +>x : string | number | true | RegExp diff --git a/tests/baselines/reference/controlFlowForOfStatement.types b/tests/baselines/reference/controlFlowForOfStatement.types index 437576e51b6..91e0d0a5758 100644 --- a/tests/baselines/reference/controlFlowForOfStatement.types +++ b/tests/baselines/reference/controlFlowForOfStatement.types @@ -10,9 +10,9 @@ function a() { >a : () => void x = true; ->x = true : boolean +>x = true : true >x : string | number | boolean | RegExp ->true : boolean +>true : true for (x of obj) { >x : string | number | boolean | RegExp @@ -27,6 +27,6 @@ function a() { >toExponential : (fractionDigits?: number) => string } x; // string | boolean ->x : boolean | string +>x : string | true } diff --git a/tests/baselines/reference/controlFlowForStatement.types b/tests/baselines/reference/controlFlowForStatement.types index cdf049b32d6..d227e87ea1d 100644 --- a/tests/baselines/reference/controlFlowForStatement.types +++ b/tests/baselines/reference/controlFlowForStatement.types @@ -9,13 +9,13 @@ function a() { >x : string | number | boolean for (x = ""; cond; x = 5) { ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" >cond : boolean ->x = 5 : number +>x = 5 : 5 >x : string | number | boolean ->5 : number +>5 : 5 x; // string | number >x : string | number @@ -28,9 +28,9 @@ function b() { >x : string | number | boolean for (x = 5; cond; x = x.length) { ->x = 5 : number +>x = 5 : 5 >x : string | number | boolean ->5 : number +>5 : 5 >cond : boolean >x = x.length : number >x : string | number | boolean @@ -42,9 +42,9 @@ function b() { >x : number x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" } } function c() { @@ -54,18 +54,18 @@ function c() { >x : string | number | boolean for (x = 5; x = x.toExponential(); x = 5) { ->x = 5 : number +>x = 5 : 5 >x : string | number | boolean ->5 : number +>5 : 5 >x = x.toExponential() : string >x : string | number | boolean >x.toExponential() : string >x.toExponential : (fractionDigits?: number) => string >x : number >toExponential : (fractionDigits?: number) => string ->x = 5 : number +>x = 5 : 5 >x : string | number | boolean ->5 : number +>5 : 5 x; // string >x : string @@ -78,16 +78,16 @@ function d() { >x : string | number | boolean for (x = ""; typeof x === "string"; x = 5) { ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string ->x = 5 : number +>"string" : "string" +>x = 5 : 5 >x : string | number | boolean ->5 : number +>5 : 5 x; // string >x : string @@ -101,23 +101,23 @@ function e() { >RegExp : RegExp for (x = "" || 0; typeof x !== "string"; x = "" || true) { ->x = "" || 0 : string | number +>x = "" || 0 : 0 >x : string | number | boolean | RegExp ->"" || 0 : string | number ->"" : string ->0 : number +>"" || 0 : 0 +>"" : "" +>0 : 0 >typeof x !== "string" : boolean >typeof x : string ->x : string | number | boolean ->"string" : string ->x = "" || true : string | boolean +>x : number | true +>"string" : "string" +>x = "" || true : true >x : string | number | boolean | RegExp ->"" || true : string | boolean ->"" : string ->true : boolean +>"" || true : true +>"" : "" +>true : true x; // number | boolean ->x : number | boolean +>x : number | true } } function f() { @@ -130,7 +130,7 @@ function f() { >typeof x !== "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" x; // number | boolean >x : number | boolean @@ -139,7 +139,7 @@ function f() { >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" x = undefined; >x = undefined : undefined diff --git a/tests/baselines/reference/controlFlowIIFE.types b/tests/baselines/reference/controlFlowIIFE.types index c041de04bc7..6173e79dbbb 100644 --- a/tests/baselines/reference/controlFlowIIFE.types +++ b/tests/baselines/reference/controlFlowIIFE.types @@ -15,7 +15,7 @@ function f1() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" let n = function() { >n : number @@ -43,7 +43,7 @@ function f2() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" let n = (function() { >n : number @@ -75,7 +75,7 @@ function f3() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" let n = (z => x.length + y + z)(y = 1); >n : number @@ -90,9 +90,9 @@ function f3() { >length : number >y : number >z : number ->y = 1 : number +>y = 1 : 1 >y : number ->1 : number +>1 : 1 } } @@ -107,9 +107,9 @@ let maybeNumber: number | undefined; >function () { maybeNumber = 1;} : () => void maybeNumber = 1; ->maybeNumber = 1 : number +>maybeNumber = 1 : 1 >maybeNumber : number | undefined ->1 : number +>1 : 1 })(); maybeNumber++; @@ -118,7 +118,7 @@ maybeNumber++; if (maybeNumber !== undefined) { >maybeNumber !== undefined : boolean ->maybeNumber : number +>maybeNumber : number | undefined >undefined : undefined maybeNumber++; @@ -136,7 +136,7 @@ if (!test) { throw new Error('Test is not defined'); >new Error('Test is not defined') : Error >Error : ErrorConstructor ->'Test is not defined' : string +>'Test is not defined' : "Test is not defined" } (() => { >(() => { test.slice(1); // No error})() : void @@ -148,6 +148,6 @@ if (!test) { >test.slice : (start?: number | undefined, end?: number | undefined) => string >test : string >slice : (start?: number | undefined, end?: number | undefined) => string ->1 : number +>1 : 1 })(); diff --git a/tests/baselines/reference/controlFlowIfStatement.js b/tests/baselines/reference/controlFlowIfStatement.js index a70c07d38dc..e40b831552f 100644 --- a/tests/baselines/reference/controlFlowIfStatement.js +++ b/tests/baselines/reference/controlFlowIfStatement.js @@ -35,6 +35,22 @@ function b() { } x; // string } +function c(data: string | T): T { + if (typeof data === 'string') { + return JSON.parse(data); + } + else { + return data; + } +} +function d(data: string | T): never { + if (typeof data === 'string') { + throw new Error('will always happen'); + } + else { + return data; + } +} //// [controlFlowIfStatement.js] @@ -72,3 +88,19 @@ function b() { } x; // string } +function c(data) { + if (typeof data === 'string') { + return JSON.parse(data); + } + else { + return data; + } +} +function d(data) { + if (typeof data === 'string') { + throw new Error('will always happen'); + } + else { + return data; + } +} diff --git a/tests/baselines/reference/controlFlowIfStatement.symbols b/tests/baselines/reference/controlFlowIfStatement.symbols index 1d85b31c998..e4d2bb9f184 100644 --- a/tests/baselines/reference/controlFlowIfStatement.symbols +++ b/tests/baselines/reference/controlFlowIfStatement.symbols @@ -71,4 +71,42 @@ function b() { x; // string >x : Symbol(x, Decl(controlFlowIfStatement.ts, 26, 7)) } +function c(data: string | T): T { +>c : Symbol(c, Decl(controlFlowIfStatement.ts, 35, 1)) +>T : Symbol(T, Decl(controlFlowIfStatement.ts, 36, 11)) +>data : Symbol(data, Decl(controlFlowIfStatement.ts, 36, 14)) +>T : Symbol(T, Decl(controlFlowIfStatement.ts, 36, 11)) +>T : Symbol(T, Decl(controlFlowIfStatement.ts, 36, 11)) + + if (typeof data === 'string') { +>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, --, --)) +>data : Symbol(data, Decl(controlFlowIfStatement.ts, 36, 14)) + } + else { + return data; +>data : Symbol(data, Decl(controlFlowIfStatement.ts, 36, 14)) + } +} +function d(data: string | T): never { +>d : Symbol(d, Decl(controlFlowIfStatement.ts, 43, 1)) +>T : Symbol(T, Decl(controlFlowIfStatement.ts, 44, 11)) +>data : Symbol(data, Decl(controlFlowIfStatement.ts, 44, 29)) +>T : Symbol(T, Decl(controlFlowIfStatement.ts, 44, 11)) + + if (typeof data === 'string') { +>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, --, --)) + } + else { + return data; +>data : Symbol(data, Decl(controlFlowIfStatement.ts, 44, 29)) + } +} diff --git a/tests/baselines/reference/controlFlowIfStatement.types b/tests/baselines/reference/controlFlowIfStatement.types index dc07e23275f..0507b82e60a 100644 --- a/tests/baselines/reference/controlFlowIfStatement.types +++ b/tests/baselines/reference/controlFlowIfStatement.types @@ -12,29 +12,29 @@ x = /a/; >/a/ : RegExp if (x /* RegExp */, (x = true)) { ->x /* RegExp */, (x = true) : boolean +>x /* RegExp */, (x = true) : true >x : RegExp ->(x = true) : boolean ->x = true : boolean +>(x = true) : true +>x = true : true >x : string | number | boolean | RegExp ->true : boolean +>true : true x; // boolean ->x : boolean +>x : true x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean | RegExp ->"" : string +>"" : "" } else { x; // boolean ->x : boolean +>x : true x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number | boolean | RegExp ->42 : number +>42 : 42 } x; // string | number >x : string | number @@ -49,15 +49,15 @@ function a() { >cond : boolean x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 } else { x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" return; } @@ -74,20 +74,67 @@ function b() { >cond : boolean x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 throw ""; ->"" : string +>"" : "" } else { x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" } x; // string >x : string } +function c(data: string | T): T { +>c : (data: string | T) => T +>T : T +>data : string | T +>T : T +>T : T + + if (typeof data === 'string') { +>typeof data === 'string' : boolean +>typeof data : string +>data : string | T +>'string' : "string" + + return JSON.parse(data); +>JSON.parse(data) : any +>JSON.parse : (text: string, reviver?: (key: any, value: any) => any) => any +>JSON : JSON +>parse : (text: string, reviver?: (key: any, value: any) => any) => any +>data : string + } + else { + return data; +>data : T + } +} +function d(data: string | T): never { +>d : (data: string | T) => never +>T : T +>data : string | T +>T : T + + if (typeof data === 'string') { +>typeof data === 'string' : boolean +>typeof data : string +>data : string | T +>'string' : "string" + + throw new Error('will always happen'); +>new Error('will always happen') : Error +>Error : ErrorConstructor +>'will always happen' : "will always happen" + } + else { + return data; +>data : never + } +} diff --git a/tests/baselines/reference/controlFlowInstanceof.js b/tests/baselines/reference/controlFlowInstanceof.js new file mode 100644 index 00000000000..3f2287b4628 --- /dev/null +++ b/tests/baselines/reference/controlFlowInstanceof.js @@ -0,0 +1,184 @@ +//// [controlFlowInstanceof.ts] + +// Repros from #10167 + +function f1(s: Set | Set) { + s = new Set(); + s; // Set + if (s instanceof Set) { + s; // Set + } + s; // Set + s.add(42); +} + +function f2(s: Set | Set) { + s = new Set(); + s; // Set + if (s instanceof Promise) { + s; // Set & Promise + } + s; // Set + s.add(42); +} + +function f3(s: Set | Set) { + s; // Set | Set + if (s instanceof Set) { + s; // Set | Set + } + else { + s; // never + } +} + +function f4(s: Set | Set) { + s = new Set(); + s; // Set + if (s instanceof Set) { + s; // Set + } + else { + s; // never + } +} + +// More tests + +class A { a: string } +class B extends A { b: string } +class C extends A { c: string } + +function foo(x: A | undefined) { + x; // A | undefined + if (x instanceof B || x instanceof C) { + x; // B | C + } + x; // A | undefined + if (x instanceof B && x instanceof C) { + x; // B & C + } + x; // A | undefined + if (!x) { + return; + } + x; // A + if (x instanceof B) { + x; // B + if (x instanceof C) { + x; // B & C + } + else { + x; // B + } + x; // B + } + else { + x; // A + } + x; // A +} + +// X is neither assignable to Y nor a subtype of Y +// Y is assignable to X, but not a subtype of X + +interface X { + x?: string; +} + +class Y { + y: string; +} + +function goo(x: X) { + x; + if (x instanceof Y) { + x.y; + } + x; +} + +//// [controlFlowInstanceof.js] +// Repros from #10167 +function f1(s) { + s = new Set(); + s; // Set + if (s instanceof Set) { + s; // Set + } + s; // Set + s.add(42); +} +function f2(s) { + s = new Set(); + s; // Set + if (s instanceof Promise) { + s; // Set & Promise + } + s; // Set + s.add(42); +} +function f3(s) { + s; // Set | Set + if (s instanceof Set) { + s; // Set | Set + } + else { + s; // never + } +} +function f4(s) { + s = new Set(); + s; // Set + if (s instanceof Set) { + s; // Set + } + else { + s; // never + } +} +// More tests +class A { +} +class B extends A { +} +class C extends A { +} +function foo(x) { + x; // A | undefined + if (x instanceof B || x instanceof C) { + x; // B | C + } + x; // A | undefined + if (x instanceof B && x instanceof C) { + x; // B & C + } + x; // A | undefined + if (!x) { + return; + } + x; // A + if (x instanceof B) { + x; // B + if (x instanceof C) { + x; // B & C + } + else { + x; // B + } + x; // B + } + else { + x; // A + } + x; // A +} +class Y { +} +function goo(x) { + x; + if (x instanceof Y) { + x.y; + } + x; +} diff --git a/tests/baselines/reference/controlFlowInstanceof.symbols b/tests/baselines/reference/controlFlowInstanceof.symbols new file mode 100644 index 00000000000..31894827990 --- /dev/null +++ b/tests/baselines/reference/controlFlowInstanceof.symbols @@ -0,0 +1,232 @@ +=== tests/cases/compiler/controlFlowInstanceof.ts === + +// Repros from #10167 + +function f1(s: Set | Set) { +>f1 : Symbol(f1, Decl(controlFlowInstanceof.ts, 0, 0)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) +>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, --, --)) + + s = new Set(); +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) +>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, --, --)) + + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) + + if (s instanceof Set) { +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) +>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, --, --)) + + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) + } + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) + + s.add(42); +>s.add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 3, 12)) +>add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) +} + +function f2(s: Set | Set) { +>f2 : Symbol(f2, Decl(controlFlowInstanceof.ts, 11, 1)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) +>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, --, --)) + + s = new Set(); +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) +>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, --, --)) + + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) + + if (s instanceof Promise) { +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) +>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + + s; // Set & Promise +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) + } + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) + + s.add(42); +>s.add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 13, 12)) +>add : Symbol(Set.add, Decl(lib.es2015.collection.d.ts, --, --)) +} + +function f3(s: Set | Set) { +>f3 : Symbol(f3, Decl(controlFlowInstanceof.ts, 21, 1)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 23, 12)) +>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, --, --)) + + s; // Set | Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 23, 12)) + + if (s instanceof Set) { +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 23, 12)) +>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, --, --)) + + s; // Set | Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 23, 12)) + } + else { + s; // never +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 23, 12)) + } +} + +function f4(s: Set | Set) { +>f4 : Symbol(f4, Decl(controlFlowInstanceof.ts, 31, 1)) +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) +>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, --, --)) + + s = new Set(); +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) +>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, --, --)) + + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) + + if (s instanceof Set) { +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) +>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, --, --)) + + s; // Set +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) + } + else { + s; // never +>s : Symbol(s, Decl(controlFlowInstanceof.ts, 33, 12)) + } +} + +// More tests + +class A { a: string } +>A : Symbol(A, Decl(controlFlowInstanceof.ts, 42, 1)) +>a : Symbol(A.a, Decl(controlFlowInstanceof.ts, 46, 9)) + +class B extends A { b: string } +>B : Symbol(B, Decl(controlFlowInstanceof.ts, 46, 21)) +>A : Symbol(A, Decl(controlFlowInstanceof.ts, 42, 1)) +>b : Symbol(B.b, Decl(controlFlowInstanceof.ts, 47, 19)) + +class C extends A { c: string } +>C : Symbol(C, Decl(controlFlowInstanceof.ts, 47, 31)) +>A : Symbol(A, Decl(controlFlowInstanceof.ts, 42, 1)) +>c : Symbol(C.c, Decl(controlFlowInstanceof.ts, 48, 19)) + +function foo(x: A | undefined) { +>foo : Symbol(foo, Decl(controlFlowInstanceof.ts, 48, 31)) +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>A : Symbol(A, Decl(controlFlowInstanceof.ts, 42, 1)) + + x; // A | undefined +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + if (x instanceof B || x instanceof C) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>B : Symbol(B, Decl(controlFlowInstanceof.ts, 46, 21)) +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>C : Symbol(C, Decl(controlFlowInstanceof.ts, 47, 31)) + + x; // B | C +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + x; // A | undefined +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + if (x instanceof B && x instanceof C) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>B : Symbol(B, Decl(controlFlowInstanceof.ts, 46, 21)) +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>C : Symbol(C, Decl(controlFlowInstanceof.ts, 47, 31)) + + x; // B & C +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + x; // A | undefined +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + if (!x) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + return; + } + x; // A +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + if (x instanceof B) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>B : Symbol(B, Decl(controlFlowInstanceof.ts, 46, 21)) + + x; // B +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + + if (x instanceof C) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +>C : Symbol(C, Decl(controlFlowInstanceof.ts, 47, 31)) + + x; // B & C +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + else { + x; // B +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + x; // B +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + else { + x; // A +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) + } + x; // A +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 50, 13)) +} + +// X is neither assignable to Y nor a subtype of Y +// Y is assignable to X, but not a subtype of X + +interface X { +>X : Symbol(X, Decl(controlFlowInstanceof.ts, 78, 1)) + + x?: string; +>x : Symbol(X.x, Decl(controlFlowInstanceof.ts, 83, 13)) +} + +class Y { +>Y : Symbol(Y, Decl(controlFlowInstanceof.ts, 85, 1)) + + y: string; +>y : Symbol(Y.y, Decl(controlFlowInstanceof.ts, 87, 9)) +} + +function goo(x: X) { +>goo : Symbol(goo, Decl(controlFlowInstanceof.ts, 89, 1)) +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 91, 13)) +>X : Symbol(X, Decl(controlFlowInstanceof.ts, 78, 1)) + + x; +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 91, 13)) + + if (x instanceof Y) { +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 91, 13)) +>Y : Symbol(Y, Decl(controlFlowInstanceof.ts, 85, 1)) + + x.y; +>x.y : Symbol(Y.y, Decl(controlFlowInstanceof.ts, 87, 9)) +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 91, 13)) +>y : Symbol(Y.y, Decl(controlFlowInstanceof.ts, 87, 9)) + } + x; +>x : Symbol(x, Decl(controlFlowInstanceof.ts, 91, 13)) +} diff --git a/tests/baselines/reference/controlFlowInstanceof.types b/tests/baselines/reference/controlFlowInstanceof.types new file mode 100644 index 00000000000..3dc9fff8b04 --- /dev/null +++ b/tests/baselines/reference/controlFlowInstanceof.types @@ -0,0 +1,256 @@ +=== tests/cases/compiler/controlFlowInstanceof.ts === + +// Repros from #10167 + +function f1(s: Set | Set) { +>f1 : (s: Set | Set) => void +>s : Set | Set +>Set : Set +>Set : Set + + s = new Set(); +>s = new Set() : Set +>s : Set | Set +>new Set() : Set +>Set : SetConstructor + + s; // Set +>s : Set + + if (s instanceof Set) { +>s instanceof Set : boolean +>s : Set +>Set : SetConstructor + + s; // Set +>s : Set + } + s; // Set +>s : Set + + s.add(42); +>s.add(42) : Set +>s.add : (value: number) => Set +>s : Set +>add : (value: number) => Set +>42 : 42 +} + +function f2(s: Set | Set) { +>f2 : (s: Set | Set) => void +>s : Set | Set +>Set : Set +>Set : Set + + s = new Set(); +>s = new Set() : Set +>s : Set | Set +>new Set() : Set +>Set : SetConstructor + + s; // Set +>s : Set + + if (s instanceof Promise) { +>s instanceof Promise : boolean +>s : Set +>Promise : PromiseConstructor + + s; // Set & Promise +>s : Set & Promise + } + s; // Set +>s : Set + + s.add(42); +>s.add(42) : Set +>s.add : (value: number) => Set +>s : Set +>add : (value: number) => Set +>42 : 42 +} + +function f3(s: Set | Set) { +>f3 : (s: Set | Set) => void +>s : Set | Set +>Set : Set +>Set : Set + + s; // Set | Set +>s : Set | Set + + if (s instanceof Set) { +>s instanceof Set : boolean +>s : Set | Set +>Set : SetConstructor + + s; // Set | Set +>s : Set | Set + } + else { + s; // never +>s : never + } +} + +function f4(s: Set | Set) { +>f4 : (s: Set | Set) => void +>s : Set | Set +>Set : Set +>Set : Set + + s = new Set(); +>s = new Set() : Set +>s : Set | Set +>new Set() : Set +>Set : SetConstructor + + s; // Set +>s : Set + + if (s instanceof Set) { +>s instanceof Set : boolean +>s : Set +>Set : SetConstructor + + s; // Set +>s : Set + } + else { + s; // never +>s : never + } +} + +// More tests + +class A { a: string } +>A : A +>a : string + +class B extends A { b: string } +>B : B +>A : A +>b : string + +class C extends A { c: string } +>C : C +>A : A +>c : string + +function foo(x: A | undefined) { +>foo : (x: A) => void +>x : A +>A : A + + x; // A | undefined +>x : A + + if (x instanceof B || x instanceof C) { +>x instanceof B || x instanceof C : boolean +>x instanceof B : boolean +>x : A +>B : typeof B +>x instanceof C : boolean +>x : A +>C : typeof C + + x; // B | C +>x : B | C + } + x; // A | undefined +>x : A + + if (x instanceof B && x instanceof C) { +>x instanceof B && x instanceof C : boolean +>x instanceof B : boolean +>x : A +>B : typeof B +>x instanceof C : boolean +>x : B +>C : typeof C + + x; // B & C +>x : B & C + } + x; // A | undefined +>x : A + + if (!x) { +>!x : boolean +>x : A + + return; + } + x; // A +>x : A + + if (x instanceof B) { +>x instanceof B : boolean +>x : A +>B : typeof B + + x; // B +>x : B + + if (x instanceof C) { +>x instanceof C : boolean +>x : B +>C : typeof C + + x; // B & C +>x : B & C + } + else { + x; // B +>x : B + } + x; // B +>x : B + } + else { + x; // A +>x : A + } + x; // A +>x : A +} + +// X is neither assignable to Y nor a subtype of Y +// Y is assignable to X, but not a subtype of X + +interface X { +>X : X + + x?: string; +>x : string +} + +class Y { +>Y : Y + + y: string; +>y : string +} + +function goo(x: X) { +>goo : (x: X) => void +>x : X +>X : X + + x; +>x : X + + if (x instanceof Y) { +>x instanceof Y : boolean +>x : X +>Y : typeof Y + + x.y; +>x.y : string +>x : Y +>y : string + } + x; +>x : X +} diff --git a/tests/baselines/reference/controlFlowIteration.types b/tests/baselines/reference/controlFlowIteration.types index 52be501d68e..a8c05b9732f 100644 --- a/tests/baselines/reference/controlFlowIteration.types +++ b/tests/baselines/reference/controlFlowIteration.types @@ -10,15 +10,15 @@ function ff() { >x : string | undefined while (true) { ->true : boolean +>true : true if (cond) { >cond : boolean x = ""; ->x = "" : string +>x = "" : "" >x : string | undefined ->"" : string +>"" : "" } else { if (x) { diff --git a/tests/baselines/reference/controlFlowIterationErrors.errors.txt b/tests/baselines/reference/controlFlowIterationErrors.errors.txt index 737a9e9557b..1f090ccd35f 100644 --- a/tests/baselines/reference/controlFlowIterationErrors.errors.txt +++ b/tests/baselines/reference/controlFlowIterationErrors.errors.txt @@ -8,10 +8,10 @@ tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(46,17): error Type 'string' is not assignable to type 'number'. tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(77,13): error TS7022: 'y' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(77,26): error TS2345: Argument of type 'string | number | boolean' is not assignable to parameter of type 'string | number'. - Type 'boolean' is not assignable to type 'string | number'. + Type 'true' is not assignable to type 'string | number'. tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(88,13): error TS7022: 'y' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(88,26): error TS2345: Argument of type 'string | number | boolean' is not assignable to parameter of type 'string | number'. - Type 'boolean' is not assignable to type 'string | number'. + Type 'true' is not assignable to type 'string | number'. ==== tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts (8 errors) ==== @@ -108,7 +108,7 @@ tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(88,26): error !!! error TS7022: 'y' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. ~ !!! error TS2345: Argument of type 'string | number | boolean' is not assignable to parameter of type 'string | number'. -!!! error TS2345: Type 'boolean' is not assignable to type 'string | number'. +!!! error TS2345: Type 'true' is not assignable to type 'string | number'. x = y + 1; x; } @@ -124,7 +124,7 @@ tests/cases/conformance/controlFlow/controlFlowIterationErrors.ts(88,26): error !!! error TS7022: 'y' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. ~ !!! error TS2345: Argument of type 'string | number | boolean' is not assignable to parameter of type 'string | number'. -!!! error TS2345: Type 'boolean' is not assignable to type 'string | number'. +!!! error TS2345: Type 'true' is not assignable to type 'string | number'. x = y + 1; x; } diff --git a/tests/baselines/reference/controlFlowOuterVariable.js b/tests/baselines/reference/controlFlowOuterVariable.js new file mode 100644 index 00000000000..1925d75eb31 --- /dev/null +++ b/tests/baselines/reference/controlFlowOuterVariable.js @@ -0,0 +1,26 @@ +//// [controlFlowOuterVariable.ts] + +// Repros from #10641 + +const CONFIG = { + foo: '', + setFoo: function(foo: string) { + CONFIG.foo = foo; + } +}; + +const helper = function(t: T[]) { + helper(t.slice(1)); +} + +//// [controlFlowOuterVariable.js] +// Repros from #10641 +var CONFIG = { + foo: '', + setFoo: function (foo) { + CONFIG.foo = foo; + } +}; +var helper = function (t) { + helper(t.slice(1)); +}; diff --git a/tests/baselines/reference/controlFlowOuterVariable.symbols b/tests/baselines/reference/controlFlowOuterVariable.symbols new file mode 100644 index 00000000000..35974f28a86 --- /dev/null +++ b/tests/baselines/reference/controlFlowOuterVariable.symbols @@ -0,0 +1,34 @@ +=== tests/cases/compiler/controlFlowOuterVariable.ts === + +// Repros from #10641 + +const CONFIG = { +>CONFIG : Symbol(CONFIG, Decl(controlFlowOuterVariable.ts, 3, 5)) + + foo: '', +>foo : Symbol(foo, Decl(controlFlowOuterVariable.ts, 3, 16)) + + setFoo: function(foo: string) { +>setFoo : Symbol(setFoo, Decl(controlFlowOuterVariable.ts, 4, 12)) +>foo : Symbol(foo, Decl(controlFlowOuterVariable.ts, 5, 21)) + + CONFIG.foo = foo; +>CONFIG.foo : Symbol(foo, Decl(controlFlowOuterVariable.ts, 3, 16)) +>CONFIG : Symbol(CONFIG, Decl(controlFlowOuterVariable.ts, 3, 5)) +>foo : Symbol(foo, Decl(controlFlowOuterVariable.ts, 3, 16)) +>foo : Symbol(foo, Decl(controlFlowOuterVariable.ts, 5, 21)) + } +}; + +const helper = function(t: T[]) { +>helper : Symbol(helper, Decl(controlFlowOuterVariable.ts, 10, 5)) +>T : Symbol(T, Decl(controlFlowOuterVariable.ts, 10, 24)) +>t : Symbol(t, Decl(controlFlowOuterVariable.ts, 10, 27)) +>T : Symbol(T, Decl(controlFlowOuterVariable.ts, 10, 24)) + + helper(t.slice(1)); +>helper : Symbol(helper, Decl(controlFlowOuterVariable.ts, 10, 5)) +>t.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>t : Symbol(t, Decl(controlFlowOuterVariable.ts, 10, 27)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +} diff --git a/tests/baselines/reference/controlFlowOuterVariable.types b/tests/baselines/reference/controlFlowOuterVariable.types new file mode 100644 index 00000000000..859542e70e1 --- /dev/null +++ b/tests/baselines/reference/controlFlowOuterVariable.types @@ -0,0 +1,42 @@ +=== tests/cases/compiler/controlFlowOuterVariable.ts === + +// Repros from #10641 + +const CONFIG = { +>CONFIG : { foo: string; setFoo: (foo: string) => void; } +>{ foo: '', setFoo: function(foo: string) { CONFIG.foo = foo; }} : { foo: string; setFoo: (foo: string) => void; } + + foo: '', +>foo : string +>'' : "" + + setFoo: function(foo: string) { +>setFoo : (foo: string) => void +>function(foo: string) { CONFIG.foo = foo; } : (foo: string) => void +>foo : string + + CONFIG.foo = foo; +>CONFIG.foo = foo : string +>CONFIG.foo : string +>CONFIG : { foo: string; setFoo: (foo: string) => void; } +>foo : string +>foo : string + } +}; + +const helper = function(t: T[]) { +>helper : (t: T[]) => void +>function(t: T[]) { helper(t.slice(1));} : (t: T[]) => void +>T : T +>t : T[] +>T : T + + helper(t.slice(1)); +>helper(t.slice(1)) : void +>helper : (t: T[]) => void +>t.slice(1) : T[] +>t.slice : (start?: number | undefined, end?: number | undefined) => T[] +>t : T[] +>slice : (start?: number | undefined, end?: number | undefined) => T[] +>1 : 1 +} diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.types b/tests/baselines/reference/controlFlowPropertyDeclarations.types index 81c86e8625d..fae5ed27da2 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.types +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.types @@ -8,7 +8,7 @@ var HTMLDOMPropertyConfig = require('react/lib/HTMLDOMPropertyConfig'); >HTMLDOMPropertyConfig : any >require('react/lib/HTMLDOMPropertyConfig') : any >require : any ->'react/lib/HTMLDOMPropertyConfig' : string +>'react/lib/HTMLDOMPropertyConfig' : "react/lib/HTMLDOMPropertyConfig" // Populate property map with ReactJS's attribute and property mappings // TODO handle/use .Properties value eg: MUST_USE_PROPERTY is not HTML attr @@ -62,7 +62,7 @@ function repeatString(string, times) { if (times === 1) { >times === 1 : boolean >times : any ->1 : number +>1 : 1 return string; >string : any @@ -70,13 +70,13 @@ function repeatString(string, times) { if (times < 0) { throw new Error(); } >times < 0 : boolean >times : any ->0 : number +>0 : 0 >new Error() : Error >Error : ErrorConstructor var repeated = ''; >repeated : string ->'' : string +>'' : "" while (times) { >times : any @@ -84,7 +84,7 @@ function repeatString(string, times) { if (times & 1) { >times & 1 : number >times : any ->1 : number +>1 : 1 repeated += string; >repeated += string : string @@ -94,7 +94,7 @@ function repeatString(string, times) { if (times >>= 1) { >times >>= 1 : number >times : any ->1 : number +>1 : 1 string += string; >string += string : any @@ -156,7 +156,7 @@ function trimEnd(haystack, needle) { >haystack.slice : any >haystack : any >slice : any ->0 : number +>0 : 0 >-needle.length : number >needle.length : any >needle : any @@ -269,10 +269,10 @@ export class HTMLtoJSX { >parentTag === 'textarea' || parentTag === 'style' : boolean >parentTag === 'textarea' : boolean >parentTag : any ->'textarea' : string +>'textarea' : "textarea" >parentTag === 'style' : boolean >parentTag : any ->'style' : string +>'style' : "style" // Ignore text content of textareas and styles, as it will have already been moved // to a "defaultValue" attribute and "dangerouslySetInnerHTML" attribute respectively. @@ -281,7 +281,7 @@ export class HTMLtoJSX { var text = '' >text : string ->'' : string +>'' : "" if (this._inPreTag) { >this._inPreTag : boolean @@ -303,7 +303,7 @@ export class HTMLtoJSX { .replace(/\r/g, '') >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } >/\r/g : RegExp ->'' : string +>'' : "" .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } @@ -314,13 +314,13 @@ export class HTMLtoJSX { return '{' + JSON.stringify(whitespace) + '}'; >'{' + JSON.stringify(whitespace) + '}' : string >'{' + JSON.stringify(whitespace) : string ->'{' : string +>'{' : "{" >JSON.stringify(whitespace) : string ->JSON.stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } +>stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } >whitespace : string ->'}' : string +>'}' : "}" }); } else { @@ -331,9 +331,9 @@ export class HTMLtoJSX { >text.indexOf : (searchString: string, position?: number) => number >text : string >indexOf : (searchString: string, position?: number) => number ->'\n' : string ->-1 : number ->1 : number +>'\n' : "\n" +>-1 : -1 +>1 : 1 } } this.output += text; diff --git a/tests/baselines/reference/controlFlowPropertyInitializer.types b/tests/baselines/reference/controlFlowPropertyInitializer.types index d35a4c13698..7da8fefe958 100644 --- a/tests/baselines/reference/controlFlowPropertyInitializer.types +++ b/tests/baselines/reference/controlFlowPropertyInitializer.types @@ -3,13 +3,13 @@ // Repro from #8967 const LANG = "Turbo Pascal" ->LANG : string ->"Turbo Pascal" : string +>LANG : "Turbo Pascal" +>"Turbo Pascal" : "Turbo Pascal" class BestLanguage { >BestLanguage : BestLanguage name = LANG; >name : string ->LANG : string +>LANG : "Turbo Pascal" } diff --git a/tests/baselines/reference/controlFlowWhileStatement.types b/tests/baselines/reference/controlFlowWhileStatement.types index a17c084228b..19f7fc49d02 100644 --- a/tests/baselines/reference/controlFlowWhileStatement.types +++ b/tests/baselines/reference/controlFlowWhileStatement.types @@ -9,9 +9,9 @@ function a() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" while (cond) { >cond : boolean @@ -27,9 +27,9 @@ function b() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" while (cond) { >cond : boolean @@ -38,9 +38,9 @@ function b() { >x : string x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 break; } @@ -52,9 +52,9 @@ function c() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" while (cond) { >cond : boolean @@ -71,7 +71,7 @@ function c() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" break; } @@ -83,9 +83,9 @@ function d() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" while (x = x.length) { >x = x.length : number @@ -98,9 +98,9 @@ function d() { >x : number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" } } function e() { @@ -110,9 +110,9 @@ function e() { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" while (cond) { >cond : boolean @@ -121,9 +121,9 @@ function e() { >x : string | number x = 42; ->x = 42 : number +>x = 42 : 42 >x : string | number ->42 : number +>42 : 42 x; // number >x : number @@ -135,69 +135,69 @@ function f() { >f : () => void let x: string | number | boolean | RegExp | Function; ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >RegExp : RegExp >Function : Function x = ""; ->x = "" : string ->x : string | number | boolean | RegExp | Function ->"" : string +>x = "" : "" +>x : string | number | boolean | Function | RegExp +>"" : "" while (cond) { >cond : boolean if (cond) { ->cond : boolean +>cond : true x = 42; ->x = 42 : number ->x : string | number | boolean | RegExp | Function ->42 : number +>x = 42 : 42 +>x : string | number | boolean | Function | RegExp +>42 : 42 break; } if (cond) { ->cond : boolean +>cond : true x = true; ->x = true : boolean ->x : string | number | boolean | RegExp | Function ->true : boolean +>x = true : true +>x : string | number | boolean | Function | RegExp +>true : true continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } x; // string | number | boolean | RegExp ->x : string | boolean | RegExp | number +>x : string | number | true | RegExp } function g() { >g : () => void let x: string | number | boolean | RegExp | Function; ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >RegExp : RegExp >Function : Function x = ""; ->x = "" : string ->x : string | number | boolean | RegExp | Function ->"" : string +>x = "" : "" +>x : string | number | boolean | Function | RegExp +>"" : "" while (true) { ->true : boolean +>true : true if (cond) { >cond : boolean x = 42; ->x = 42 : number ->x : string | number | boolean | RegExp | Function ->42 : number +>x = 42 : 42 +>x : string | number | boolean | Function | RegExp +>42 : 42 break; } @@ -205,15 +205,15 @@ function g() { >cond : boolean x = true; ->x = true : boolean ->x : string | number | boolean | RegExp | Function ->true : boolean +>x = true : true +>x : string | number | boolean | Function | RegExp +>true : true continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } x; // number @@ -226,22 +226,22 @@ function h1() { >x : string | number | boolean x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" while (x > 1) { >x > 1 : boolean >x : string | number ->1 : number +>1 : 1 x; // string | number >x : string | number x = 1; ->x = 1 : number +>x = 1 : 1 >x : string | number | boolean ->1 : number +>1 : 1 x; // number >x : number @@ -260,9 +260,9 @@ function h2() { >x : string | number | boolean x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" while (cond) { >cond : boolean @@ -287,9 +287,9 @@ function h3() { >x : string | number | boolean x = ""; ->x = "" : string +>x = "" : "" >x : string | number | boolean ->"" : string +>"" : "" while (cond) { >cond : boolean diff --git a/tests/baselines/reference/declFileAccessors.types b/tests/baselines/reference/declFileAccessors.types index 00b10f7bf40..a038c66b271 100644 --- a/tests/baselines/reference/declFileAccessors.types +++ b/tests/baselines/reference/declFileAccessors.types @@ -9,7 +9,7 @@ export class c1 { >p3 : number return 10; ->10 : number +>10 : 10 } /** setter property*/ public set p3(/** this is value*/value: number) { @@ -21,7 +21,7 @@ export class c1 { >pp3 : number return 10; ->10 : number +>10 : 10 } /** private setter property*/ private set pp3(/** this is value*/value: number) { @@ -33,7 +33,7 @@ export class c1 { >s3 : number return 10; ->10 : number +>10 : 10 } /** setter property*/ static set s3( /** this is value*/value: number) { @@ -44,7 +44,7 @@ export class c1 { >nc_p3 : number return 10; ->10 : number +>10 : 10 } public set nc_p3(value: number) { >nc_p3 : number @@ -54,7 +54,7 @@ export class c1 { >nc_pp3 : number return 10; ->10 : number +>10 : 10 } private set nc_pp3(value: number) { >nc_pp3 : number @@ -64,7 +64,7 @@ export class c1 { >nc_s3 : string return ""; ->"" : string +>"" : "" } static set nc_s3(value: string) { >nc_s3 : string @@ -76,7 +76,7 @@ export class c1 { >onlyGetter : number return 10; ->10 : number +>10 : 10 } // Only setter property @@ -96,7 +96,7 @@ class c2 { >p3 : number return 10; ->10 : number +>10 : 10 } /** setter property*/ public set p3(/** this is value*/value: number) { @@ -108,7 +108,7 @@ class c2 { >pp3 : number return 10; ->10 : number +>10 : 10 } /** private setter property*/ private set pp3(/** this is value*/value: number) { @@ -120,7 +120,7 @@ class c2 { >s3 : number return 10; ->10 : number +>10 : 10 } /** setter property*/ static set s3( /** this is value*/value: number) { @@ -131,7 +131,7 @@ class c2 { >nc_p3 : number return 10; ->10 : number +>10 : 10 } public set nc_p3(value: number) { >nc_p3 : number @@ -141,7 +141,7 @@ class c2 { >nc_pp3 : number return 10; ->10 : number +>10 : 10 } private set nc_pp3(value: number) { >nc_pp3 : number @@ -151,7 +151,7 @@ class c2 { >nc_s3 : string return ""; ->"" : string +>"" : "" } static set nc_s3(value: string) { >nc_s3 : string @@ -163,7 +163,7 @@ class c2 { >onlyGetter : number return 10; ->10 : number +>10 : 10 } // Only setter property diff --git a/tests/baselines/reference/declFileConstructors.js b/tests/baselines/reference/declFileConstructors.js index 8e92b1a36ae..44e816712fb 100644 --- a/tests/baselines/reference/declFileConstructors.js +++ b/tests/baselines/reference/declFileConstructors.js @@ -247,7 +247,7 @@ export declare class ConstructorWithPrivateParameterProperty { constructor(x: string); } export declare class ConstructorWithOptionalParameterProperty { - x?: string; + x: string; constructor(x?: string); } export declare class ConstructorWithParameterInitializer { @@ -281,7 +281,7 @@ declare class GlobalConstructorWithPrivateParameterProperty { constructor(x: string); } declare class GlobalConstructorWithOptionalParameterProperty { - x?: string; + x: string; constructor(x?: string); } declare class GlobalConstructorWithParameterInitializer { diff --git a/tests/baselines/reference/declFileConstructors.types b/tests/baselines/reference/declFileConstructors.types index 68782eb3617..733a624e776 100644 --- a/tests/baselines/reference/declFileConstructors.types +++ b/tests/baselines/reference/declFileConstructors.types @@ -38,7 +38,7 @@ export class ConstructorWithRestParamters { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } } @@ -85,7 +85,7 @@ export class ConstructorWithParameterInitializer { constructor(public x = "hello") { >x : string ->"hello" : string +>"hello" : "hello" } } @@ -128,7 +128,7 @@ class GlobalConstructorWithRestParamters { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } } @@ -175,6 +175,6 @@ class GlobalConstructorWithParameterInitializer { constructor(public x = "hello") { >x : string ->"hello" : string +>"hello" : "hello" } } diff --git a/tests/baselines/reference/declFileEnumUsedAsValue.types b/tests/baselines/reference/declFileEnumUsedAsValue.types index 19aa3de4331..fe323095922 100644 --- a/tests/baselines/reference/declFileEnumUsedAsValue.types +++ b/tests/baselines/reference/declFileEnumUsedAsValue.types @@ -4,13 +4,13 @@ enum e { >e : e a, ->a : e +>a : e.a b, ->b : e +>b : e.b c ->c : e +>c : e.c } var x = e; >x : typeof e diff --git a/tests/baselines/reference/declFileEnums.types b/tests/baselines/reference/declFileEnums.types index 5fb0d0736be..5b0bfff5bed 100644 --- a/tests/baselines/reference/declFileEnums.types +++ b/tests/baselines/reference/declFileEnums.types @@ -4,13 +4,13 @@ enum e1 { >e1 : e1 a, ->a : e1 +>a : e1.a b, ->b : e1 +>b : e1.b c ->c : e1 +>c : e1.c } enum e2 { @@ -18,17 +18,17 @@ enum e2 { a = 10, >a : e2 ->10 : number +>10 : 10 b = a + 2, >b : e2 >a + 2 : number >a : e2 ->2 : number +>2 : 2 c = 10, >c : e2 ->10 : number +>10 : 10 } enum e3 { @@ -36,7 +36,7 @@ enum e3 { a = 10, >a : e3 ->10 : number +>10 : 10 b = Math.PI, >b : e3 @@ -48,27 +48,27 @@ enum e3 { >c : e3 >a + 3 : number >a : e3 ->3 : number +>3 : 3 } enum e4 { >e4 : e4 a, ->a : e4 +>a : e4.a b, ->b : e4 +>b : e4.b c, ->c : e4 +>c : e4.c d = 10, ->d : e4 ->10 : number +>d : e4.d +>10 : 10 e ->e : e4 +>e : e4.e } enum e5 { diff --git a/tests/baselines/reference/declFileForExportedImport.js b/tests/baselines/reference/declFileForExportedImport.js index 266e030128e..6870e16f941 100644 --- a/tests/baselines/reference/declFileForExportedImport.js +++ b/tests/baselines/reference/declFileForExportedImport.js @@ -16,7 +16,7 @@ var z = b.x; //// [declFileForExportedImport_1.js] "use strict"; /// -exports.a = require('./declFileForExportedImport_0'); +exports.a = require("./declFileForExportedImport_0"); var y = exports.a.x; exports.b = exports.a; var z = exports.b.x; diff --git a/tests/baselines/reference/declFileForVarList.types b/tests/baselines/reference/declFileForVarList.types index 5e55104666b..d4c401d2383 100644 --- a/tests/baselines/reference/declFileForVarList.types +++ b/tests/baselines/reference/declFileForVarList.types @@ -4,13 +4,13 @@ var x, y, z = 1; >x : any >y : any >z : number ->1 : number +>1 : 1 var x1 = 1, y2 = 2, z2 = 3; >x1 : number ->1 : number +>1 : 1 >y2 : number ->2 : number +>2 : 2 >z2 : number ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/declFileFunctions.types b/tests/baselines/reference/declFileFunctions.types index 9ad974463b7..ee35577ce3e 100644 --- a/tests/baselines/reference/declFileFunctions.types +++ b/tests/baselines/reference/declFileFunctions.types @@ -29,7 +29,7 @@ export function fooWithRestParameters(a: string, ...rests: string[]) { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } export function fooWithOverloads(a: string): string; @@ -66,7 +66,7 @@ export function fooWithTypePredicate(a: any): a is number { >a : any return true; ->true : boolean +>true : true } export function fooWithTypePredicateAndMulitpleParams(a: any, b: any, c: any): a is number { >fooWithTypePredicateAndMulitpleParams : (a: any, b: any, c: any) => a is number @@ -76,7 +76,7 @@ export function fooWithTypePredicateAndMulitpleParams(a: any, b: any, c: any): a >a : any return true; ->true : boolean +>true : true } export function fooWithTypeTypePredicateAndGeneric(a: any): a is T { >fooWithTypeTypePredicateAndGeneric : (a: any) => a is T @@ -86,7 +86,7 @@ export function fooWithTypeTypePredicateAndGeneric(a: any): a is T { >T : T return true; ->true : boolean +>true : true } export function fooWithTypeTypePredicateAndRestParam(a: any, ...rest): a is number { >fooWithTypeTypePredicateAndRestParam : (a: any, ...rest: any[]) => a is number @@ -95,7 +95,7 @@ export function fooWithTypeTypePredicateAndRestParam(a: any, ...rest): a is numb >a : any return true; ->true : boolean +>true : true } /** This comment should appear for nonExportedFoo*/ @@ -127,7 +127,7 @@ function nonExportedFooWithRestParameters(a: string, ...rests: string[]) { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } function nonExportedFooWithOverloads(a: string): string; @@ -176,7 +176,7 @@ function globalfooWithRestParameters(a: string, ...rests: string[]) { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } function globalfooWithOverloads(a: string): string; >globalfooWithOverloads : { (a: string): string; (a: number): number; } diff --git a/tests/baselines/reference/declFileMethods.types b/tests/baselines/reference/declFileMethods.types index ecd7b8e0cff..44c08117e93 100644 --- a/tests/baselines/reference/declFileMethods.types +++ b/tests/baselines/reference/declFileMethods.types @@ -32,7 +32,7 @@ export class c1 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } public fooWithOverloads(a: string): string; @@ -81,7 +81,7 @@ export class c1 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } @@ -129,7 +129,7 @@ export class c1 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } @@ -177,7 +177,7 @@ export class c1 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } @@ -259,7 +259,7 @@ class c2 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } public fooWithOverloads(a: string): string; @@ -308,7 +308,7 @@ class c2 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } @@ -356,7 +356,7 @@ class c2 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } @@ -404,7 +404,7 @@ class c2 { >rests.join : (separator?: string) => string >rests : string[] >join : (separator?: string) => string ->"" : string +>"" : "" } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } diff --git a/tests/baselines/reference/declFileObjectLiteralWithAccessors.types b/tests/baselines/reference/declFileObjectLiteralWithAccessors.types index f7bb57b0e1e..389b88de565 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithAccessors.types +++ b/tests/baselines/reference/declFileObjectLiteralWithAccessors.types @@ -9,7 +9,7 @@ function /*1*/makePoint(x: number) { b: 10, >b : number ->10 : number +>10 : 10 get x() { return x; }, >x : number @@ -30,7 +30,7 @@ var /*4*/point = makePoint(2); >point : { b: number; x: number; } >makePoint(2) : { b: number; x: number; } >makePoint : (x: number) => { b: number; x: number; } ->2 : number +>2 : 2 var /*2*/x = point.x; >x : number @@ -39,9 +39,9 @@ var /*2*/x = point.x; >x : number point./*3*/x = 30; ->point./*3*/x = 30 : number +>point./*3*/x = 30 : 30 >point./*3*/x : number >point : { b: number; x: number; } >x : number ->30 : number +>30 : 30 diff --git a/tests/baselines/reference/declFileObjectLiteralWithOnlyGetter.types b/tests/baselines/reference/declFileObjectLiteralWithOnlyGetter.types index dd3cbe20983..c4e563f5a03 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithOnlyGetter.types +++ b/tests/baselines/reference/declFileObjectLiteralWithOnlyGetter.types @@ -17,7 +17,7 @@ var /*4*/point = makePoint(2); >point : { readonly x: number; } >makePoint(2) : { readonly x: number; } >makePoint : (x: number) => { readonly x: number; } ->2 : number +>2 : 2 var /*2*/x = point./*3*/x; >x : number diff --git a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types index 2b9b98a8963..2f15818e0f2 100644 --- a/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types +++ b/tests/baselines/reference/declFileObjectLiteralWithOnlySetter.types @@ -9,7 +9,7 @@ function /*1*/makePoint(x: number) { b: 10, >b : number ->10 : number +>10 : 10 set x(a: number) { this.b = a; } >x : number @@ -26,12 +26,12 @@ var /*3*/point = makePoint(2); >point : { b: number; x: number; } >makePoint(2) : { b: number; x: number; } >makePoint : (x: number) => { b: number; x: number; } ->2 : number +>2 : 2 point./*2*/x = 30; ->point./*2*/x = 30 : number +>point./*2*/x = 30 : 30 >point./*2*/x : number >point : { b: number; x: number; } >x : number ->30 : number +>30 : 30 diff --git a/tests/baselines/reference/declFilePrivateStatic.js b/tests/baselines/reference/declFilePrivateStatic.js index 30cd85444cf..fb24bea7660 100644 --- a/tests/baselines/reference/declFilePrivateStatic.js +++ b/tests/baselines/reference/declFilePrivateStatic.js @@ -40,10 +40,10 @@ var C = (function () { enumerable: true, configurable: true }); - C.x = 1; - C.y = 1; return C; }()); +C.x = 1; +C.y = 1; //// [declFilePrivateStatic.d.ts] diff --git a/tests/baselines/reference/declFilePrivateStatic.types b/tests/baselines/reference/declFilePrivateStatic.types index 35aaa3acdeb..29f8f1a9aab 100644 --- a/tests/baselines/reference/declFilePrivateStatic.types +++ b/tests/baselines/reference/declFilePrivateStatic.types @@ -5,11 +5,11 @@ class C { private static x = 1; >x : number ->1 : number +>1 : 1 static y = 1; >y : number ->1 : number +>1 : 1 private static a() { } >a : () => void @@ -19,11 +19,11 @@ class C { private static get c() { return 1; } >c : number ->1 : number +>1 : 1 static get d() { return 1; } >d : number ->1 : number +>1 : 1 private static set e(v) { } >e : any diff --git a/tests/baselines/reference/declFileRegressionTests.types b/tests/baselines/reference/declFileRegressionTests.types index 7b8933e1def..721f5b1e70a 100644 --- a/tests/baselines/reference/declFileRegressionTests.types +++ b/tests/baselines/reference/declFileRegressionTests.types @@ -7,10 +7,10 @@ var n = { w: null, x: '', y: () => { }, z: 32 }; >w : null >null : null >x : string ->'' : string +>'' : "" >y : () => void >() => { } : () => void >z : number ->32 : number +>32 : 32 diff --git a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types index 0bfa5b6312c..8e0cdd8d409 100644 --- a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types +++ b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types @@ -29,7 +29,7 @@ var f6 = () => { return [10]; } >() => { return [10]; } : () => any[] >[10] : any[] >10 : any ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/declFileTypeAnnotationBuiltInType.types b/tests/baselines/reference/declFileTypeAnnotationBuiltInType.types index a1b2d9edd43..87776b3b417 100644 --- a/tests/baselines/reference/declFileTypeAnnotationBuiltInType.types +++ b/tests/baselines/reference/declFileTypeAnnotationBuiltInType.types @@ -5,13 +5,13 @@ function foo(): string { >foo : () => string return ""; ->"" : string +>"" : "" } function foo2() { >foo2 : () => string return ""; ->"" : string +>"" : "" } // number @@ -19,13 +19,13 @@ function foo3(): number { >foo3 : () => number return 10; ->10 : number +>10 : 10 } function foo4() { >foo4 : () => number return 10; ->10 : number +>10 : 10 } // boolean @@ -33,13 +33,13 @@ function foo5(): boolean { >foo5 : () => boolean return true; ->true : boolean +>true : true } function foo6() { >foo6 : () => boolean return false; ->false : boolean +>false : false } // void diff --git a/tests/baselines/reference/declFileTypeAnnotationParenType.js b/tests/baselines/reference/declFileTypeAnnotationParenType.js index 4afe07cc9d8..4707007cd1b 100644 --- a/tests/baselines/reference/declFileTypeAnnotationParenType.js +++ b/tests/baselines/reference/declFileTypeAnnotationParenType.js @@ -29,4 +29,4 @@ declare class c { declare var x: (() => c)[]; declare var y: (() => c)[]; declare var k: (() => c) | string; -declare var l: (() => c) | string; +declare var l: string | (() => c); diff --git a/tests/baselines/reference/declFileTypeAnnotationParenType.types b/tests/baselines/reference/declFileTypeAnnotationParenType.types index 6776a0f492f..f3c8db5533a 100644 --- a/tests/baselines/reference/declFileTypeAnnotationParenType.types +++ b/tests/baselines/reference/declFileTypeAnnotationParenType.types @@ -23,21 +23,21 @@ var y = [() => new c()]; >c : typeof c var k: (() => c) | string = (() => new c()) || ""; ->k : (() => c) | string +>k : string | (() => c) >c : c ->(() => new c()) || "" : (() => c) | string +>(() => new c()) || "" : "" | (() => c) >(() => new c()) : () => c >() => new c() : () => c >new c() : c >c : typeof c ->"" : string +>"" : "" var l = (() => new c()) || ""; ->l : (() => c) | string ->(() => new c()) || "" : (() => c) | string +>l : string | (() => c) +>(() => new c()) || "" : "" | (() => c) >(() => new c()) : () => c >() => new c() : () => c >new c() : c >c : typeof c ->"" : string +>"" : "" diff --git a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types index 3041b92cf6d..6d9c17b4ab9 100644 --- a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types +++ b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types @@ -19,7 +19,7 @@ function foo(a: string): string | number { if (a === "hello") { >a === "hello" : boolean >a : string ->"hello" : string +>"hello" : "hello" return a.length; >a.length : number diff --git a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types index e93f86dbde7..53db7a54d0d 100644 --- a/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types +++ b/tests/baselines/reference/declFileTypeAnnotationTypeAlias.types @@ -4,11 +4,11 @@ module M { >M : typeof M export type Value = string | number | boolean; ->Value : string | number | boolean +>Value : Value export var x: Value; ->x : string | number | boolean ->Value : string | number | boolean +>x : Value +>Value : Value export class c { >c : c @@ -32,7 +32,7 @@ module M { >c : m.c export type fc = () => c; ->fc : () => c +>fc : fc >c : c } @@ -47,7 +47,7 @@ module M { >M : typeof M export type W = Window | string; ->W : Window | string +>W : W >Window : Window export module N { @@ -57,7 +57,7 @@ module M { >Window : Window export var p: W; ->p : Window | string ->W : Window | string +>p : W +>W : W } } diff --git a/tests/baselines/reference/declFileTypeofEnum.types b/tests/baselines/reference/declFileTypeofEnum.types index 1c900a453b7..1d69d0594c8 100644 --- a/tests/baselines/reference/declFileTypeofEnum.types +++ b/tests/baselines/reference/declFileTypeofEnum.types @@ -4,32 +4,32 @@ enum days { >days : days monday, ->monday : days +>monday : days.monday tuesday, ->tuesday : days +>tuesday : days.tuesday wednesday, ->wednesday : days +>wednesday : days.wednesday thursday, ->thursday : days +>thursday : days.thursday friday, ->friday : days +>friday : days.friday saturday, ->saturday : days +>saturday : days.saturday sunday ->sunday : days +>sunday : days.sunday } var weekendDay = days.saturday; >weekendDay : days ->days.saturday : days +>days.saturday : days.saturday >days : typeof days ->saturday : days +>saturday : days.saturday var daysOfMonth = days; >daysOfMonth : typeof days diff --git a/tests/baselines/reference/declFileTypeofInAnonymousType.types b/tests/baselines/reference/declFileTypeofInAnonymousType.types index fa9d0bcbd17..2ab5e673fb2 100644 --- a/tests/baselines/reference/declFileTypeofInAnonymousType.types +++ b/tests/baselines/reference/declFileTypeofInAnonymousType.types @@ -10,13 +10,13 @@ module m1 { >e : e weekday, ->weekday : e +>weekday : e.weekday weekend, ->weekend : e +>weekend : e.weekend holiday ->holiday : e +>holiday : e.holiday } } var a: { c: m1.c; }; @@ -74,10 +74,10 @@ var d = { mh: m1.e.holiday >mh : m1.e ->m1.e.holiday : m1.e +>m1.e.holiday : m1.e.holiday >m1.e : typeof m1.e >m1 : typeof m1 >e : typeof m1.e ->holiday : m1.e +>holiday : m1.e.holiday }; diff --git a/tests/baselines/reference/declInput.types b/tests/baselines/reference/declInput.types index e59e3811fdf..edca1b9a943 100644 --- a/tests/baselines/reference/declInput.types +++ b/tests/baselines/reference/declInput.types @@ -9,7 +9,7 @@ class bar { public f() { return ''; } >f : () => string ->'' : string +>'' : "" public g() { return {a: null, b: undefined, c: void 4 }; } >g : () => { a: bar; b: any; c: any; } @@ -22,16 +22,16 @@ class bar { >undefined : undefined >c : undefined >void 4 : undefined ->4 : number +>4 : 4 public h(x = 4, y = null, z = '') { x++; } >h : (x?: number, y?: any, z?: string) => void >x : number ->4 : number +>4 : 4 >y : any >null : null >z : string ->'' : string +>'' : "" >x++ : number >x : number } diff --git a/tests/baselines/reference/declInput3.types b/tests/baselines/reference/declInput3.types index 0dcbc6bd3cd..aaa947cdca9 100644 --- a/tests/baselines/reference/declInput3.types +++ b/tests/baselines/reference/declInput3.types @@ -9,7 +9,7 @@ class bar { public f() { return ''; } >f : () => string ->'' : string +>'' : "" public g() { return {a: null, b: undefined, c: void 4 }; } >g : () => { a: bar; b: any; c: any; } @@ -22,16 +22,16 @@ class bar { >undefined : undefined >c : undefined >void 4 : undefined ->4 : number +>4 : 4 public h(x = 4, y = null, z = '') { x++; } >h : (x?: number, y?: any, z?: string) => void >x : number ->4 : number +>4 : 4 >y : any >null : null >z : string ->'' : string +>'' : "" >x++ : number >x : number } diff --git a/tests/baselines/reference/declarationEmitDefaultExport3.types b/tests/baselines/reference/declarationEmitDefaultExport3.types index 91ee71f61ac..2717e248784 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport3.types +++ b/tests/baselines/reference/declarationEmitDefaultExport3.types @@ -3,5 +3,5 @@ export default function foo() { >foo : () => string return "" ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/declarationEmitDefaultExport4.types b/tests/baselines/reference/declarationEmitDefaultExport4.types index ab97484176d..db47735b1ed 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport4.types +++ b/tests/baselines/reference/declarationEmitDefaultExport4.types @@ -1,5 +1,5 @@ === tests/cases/compiler/declarationEmitDefaultExport4.ts === export default function () { return 1; ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/declarationEmitDefaultExport5.types b/tests/baselines/reference/declarationEmitDefaultExport5.types index d2b177cc084..71f0cbde697 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport5.types +++ b/tests/baselines/reference/declarationEmitDefaultExport5.types @@ -1,6 +1,6 @@ === tests/cases/compiler/declarationEmitDefaultExport5.ts === export default 1 + 2; >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/declarationEmitDefaultExport8.types b/tests/baselines/reference/declarationEmitDefaultExport8.types index bd99ee14530..ed66a0fcb6f 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport8.types +++ b/tests/baselines/reference/declarationEmitDefaultExport8.types @@ -2,7 +2,7 @@ var _default = 1; >_default : number ->1 : number +>1 : 1 export {_default as d} >_default : number @@ -10,6 +10,6 @@ export {_default as d} export default 1 + 2; >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js index a0c8ab59b97..44e0560132f 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.js @@ -2,18 +2,18 @@ export default 3.14159; //// [pi.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { - exports_1("default",3.14159); + setters: [], + execute: function () { + exports_1("default", 3.14159); } - } + }; }); //// [pi.d.ts] -declare var _default: number; +declare var _default: 3.14159; export default _default; diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js index adb081dc2a3..6b16d06cb84 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.js @@ -3,20 +3,20 @@ export default 3.14159; //// [app.js] -System.register("pi", [], function(exports_1, context_1) { +System.register("pi", [], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { - exports_1("default",3.14159); + setters: [], + execute: function () { + exports_1("default", 3.14159); } - } + }; }); //// [app.d.ts] declare module "pi" { - var _default: number; + var _default: 3.14159; export default _default; } diff --git a/tests/baselines/reference/declarationEmitDestructuring3.js b/tests/baselines/reference/declarationEmitDestructuring3.js index 81cb1d96fd8..b21c63203c8 100644 --- a/tests/baselines/reference/declarationEmitDestructuring3.js +++ b/tests/baselines/reference/declarationEmitDestructuring3.js @@ -15,4 +15,4 @@ function foo(_a) { //// [declarationEmitDestructuring3.d.ts] declare function bar([x, z, ...w]: any[]): void; -declare function foo([x, ...y]?: (number | string | boolean)[]): void; +declare function foo([x, ...y]?: (string | number | boolean)[]): void; diff --git a/tests/baselines/reference/declarationEmitDestructuring3.types b/tests/baselines/reference/declarationEmitDestructuring3.types index 737bb39e078..8e15071c979 100644 --- a/tests/baselines/reference/declarationEmitDestructuring3.types +++ b/tests/baselines/reference/declarationEmitDestructuring3.types @@ -6,12 +6,12 @@ function bar([x, z, ...w]) { } >w : any[] function foo([x, ...y] = [1, "string", true]) { } ->foo : ([x, ...y]?: (number | string | boolean)[]) => void ->x : number | string | boolean ->y : (number | string | boolean)[] ->[1, "string", true] : (number | string | boolean)[] ->1 : number ->"string" : string ->true : boolean +>foo : ([x, ...y]?: (string | number | boolean)[]) => void +>x : string | number | boolean +>y : (string | number | boolean)[] +>[1, "string", true] : (string | number | boolean)[] +>1 : 1 +>"string" : "string" +>true : true diff --git a/tests/baselines/reference/declarationEmitDestructuring4.js b/tests/baselines/reference/declarationEmitDestructuring4.js index 16e6b49a4cf..2639aff0430 100644 --- a/tests/baselines/reference/declarationEmitDestructuring4.js +++ b/tests/baselines/reference/declarationEmitDestructuring4.js @@ -17,14 +17,14 @@ function baz4({} = { x: 10 }) { } // the similar binding pattern users' have written function baz(_a) { } function baz1(_a) { - var _a = [1, 2, 3]; + _a = [1, 2, 3]; } function baz2(_a) { var _b = (_a === void 0 ? [[1, 2, 3]] : _a)[0]; } function baz3(_a) { } function baz4(_a) { - var _a = { x: 10 }; + _a = { x: 10 }; } diff --git a/tests/baselines/reference/declarationEmitDestructuring5.types b/tests/baselines/reference/declarationEmitDestructuring5.types index 961dea62bcb..c0223a0f061 100644 --- a/tests/baselines/reference/declarationEmitDestructuring5.types +++ b/tests/baselines/reference/declarationEmitDestructuring5.types @@ -22,11 +22,11 @@ function bar1([z, , , ] = [1, 3, 4, 6, 7]) { } > : undefined > : undefined >[1, 3, 4, 6, 7] : [number, number, number, number, number] ->1 : number ->3 : number ->4 : number ->6 : number ->7 : number +>1 : 1 +>3 : 3 +>4 : 4 +>6 : 6 +>7 : 7 function bar2([,,z, , , ]) { } >bar2 : ([, , z, , ,]: [any, any, any, any, any]) => void diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js index 28330d94f77..9a9be8c69da 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js @@ -23,6 +23,6 @@ var x3 = a[0], y3 = a[1], z3 = a[2]; // emit x3, y3, z3 declare var x: number; declare var x1: number, y1: string; declare var z1: number; -declare var a: (number | string)[]; -declare var x2: number | string; -declare var x3: number | string, y3: number | string, z3: number | string; +declare var a: (string | number)[]; +declare var x2: string | number; +declare var x3: string | number, y3: string | number, z3: string | number; diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types index 9629324b9f9..640062c0785 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types @@ -1,45 +1,45 @@ === tests/cases/compiler/declarationEmitDestructuringArrayPattern1.ts === var [] = [1, "hello"]; // Dont emit anything ->[1, "hello"] : (number | string)[] ->1 : number ->"hello" : string +>[1, "hello"] : (string | number)[] +>1 : 1 +>"hello" : "hello" var [x] = [1, "hello"]; // emit x: number >x : number >[1, "hello"] : [number, string] ->1 : number ->"hello" : string +>1 : 1 +>"hello" : "hello" var [x1, y1] = [1, "hello"]; // emit x1: number, y1: string >x1 : number >y1 : string >[1, "hello"] : [number, string] ->1 : number ->"hello" : string +>1 : 1 +>"hello" : "hello" var [, , z1] = [0, 1, 2]; // emit z1: number > : undefined > : undefined >z1 : number >[0, 1, 2] : [number, number, number] ->0 : number ->1 : number ->2 : number +>0 : 0 +>1 : 1 +>2 : 2 var a = [1, "hello"]; ->a : (number | string)[] ->[1, "hello"] : (number | string)[] ->1 : number ->"hello" : string +>a : (string | number)[] +>[1, "hello"] : (string | number)[] +>1 : 1 +>"hello" : "hello" var [x2] = a; // emit x2: number | string ->x2 : number | string ->a : (number | string)[] +>x2 : string | number +>a : (string | number)[] var [x3, y3, z3] = a; // emit x3, y3, z3 ->x3 : number | string ->y3 : number | string ->z3 : number | string ->a : (number | string)[] +>x3 : string | number +>y3 : string | number +>z3 : string | number +>a : (string | number)[] diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern2.js b/tests/baselines/reference/declarationEmitDestructuringArrayPattern2.js index 662b4625ec8..818b3a6f7a9 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern2.js +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern2.js @@ -25,7 +25,7 @@ declare var x11: number, y11: string; declare var a11: any, b11: any, c11: any; declare var a2: number, b2: string, x12: number, c2: boolean; declare var x13: number, y13: string; -declare var a3: (number | string)[], b3: { +declare var a3: (string | number)[], b3: { x: number; y: string; }; diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern3.types b/tests/baselines/reference/declarationEmitDestructuringArrayPattern3.types index 406494aa13b..3bd324a1c26 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern3.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern3.types @@ -6,6 +6,6 @@ module M { >a : number >b : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 } diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.js b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.js index d83c1b721d8..1bd07e7b974 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.js +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.js @@ -25,7 +25,7 @@ declare var a5: number[]; declare var x14: number, a6: number[]; declare var x15: number, y15: number, a7: number[]; declare var x16: number, y16: number, z16: number, a8: number[]; -declare var a9: (number | string | boolean)[]; -declare var x17: number | string | boolean, a10: (number | string | boolean)[]; -declare var x18: number | string | boolean, y18: number | string | boolean, a12: (number | string | boolean)[]; -declare var x19: number | string | boolean, y19: number | string | boolean, z19: number | string | boolean, a13: (number | string | boolean)[]; +declare var a9: (string | number | boolean)[]; +declare var x17: string | number | boolean, a10: (string | number | boolean)[]; +declare var x18: string | number | boolean, y18: string | number | boolean, a12: (string | number | boolean)[]; +declare var x19: string | number | boolean, y19: string | number | boolean, z19: string | number | boolean, a13: (string | number | boolean)[]; diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types index 1e8701eedb5..0141b3f79e7 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types @@ -2,26 +2,26 @@ var [...a5] = [1, 2, 3]; >a5 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [x14, ...a6] = [1, 2, 3]; >x14 : number >a6 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [x15, y15, ...a7] = [1, 2, 3]; >x15 : number >y15 : number >a7 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [x16, y16, z16, ...a8] = [1, 2, 3]; >x16 : number @@ -29,41 +29,41 @@ var [x16, y16, z16, ...a8] = [1, 2, 3]; >z16 : number >a8 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [...a9] = [1, "hello", true]; ->a9 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] ->1 : number ->"hello" : string ->true : boolean +>a9 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] +>1 : 1 +>"hello" : "hello" +>true : true var [x17, ...a10] = [1, "hello", true]; ->x17 : number | string | boolean ->a10 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] ->1 : number ->"hello" : string ->true : boolean +>x17 : string | number | boolean +>a10 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] +>1 : 1 +>"hello" : "hello" +>true : true var [x18, y18, ...a12] = [1, "hello", true]; ->x18 : number | string | boolean ->y18 : number | string | boolean ->a12 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] ->1 : number ->"hello" : string ->true : boolean +>x18 : string | number | boolean +>y18 : string | number | boolean +>a12 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] +>1 : 1 +>"hello" : "hello" +>true : true var [x19, y19, z19, ...a13] = [1, "hello", true]; ->x19 : number | string | boolean ->y19 : number | string | boolean ->z19 : number | string | boolean ->a13 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] ->1 : number ->"hello" : string ->true : boolean +>x19 : string | number | boolean +>y19 : string | number | boolean +>z19 : string | number | boolean +>a13 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] +>1 : 1 +>"hello" : "hello" +>true : true diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern5.types b/tests/baselines/reference/declarationEmitDestructuringArrayPattern5.types index fa5720f4da7..41f4660bf29 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern5.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern5.types @@ -4,18 +4,18 @@ var [, , z] = [1, 2, 4]; > : undefined >z : number >[1, 2, 4] : [number, number, number] ->1 : number ->2 : number ->4 : number +>1 : 1 +>2 : 2 +>4 : 4 var [, a, , ] = [3, 4, 5]; > : undefined >a : number > : undefined >[3, 4, 5] : [number, number, number] ->3 : number ->4 : number ->5 : number +>3 : 3 +>4 : 4 +>5 : 5 var [, , [, b, ]] = [3,5,[0, 1]]; > : undefined @@ -23,9 +23,9 @@ var [, , [, b, ]] = [3,5,[0, 1]]; > : undefined >b : number >[3,5,[0, 1]] : [number, number, [number, number]] ->3 : number ->5 : number +>3 : 3 +>5 : 5 >[0, 1] : [number, number] ->0 : number ->1 : number +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/declarationEmitDestructuringObjectLiteralPattern2.types b/tests/baselines/reference/declarationEmitDestructuringObjectLiteralPattern2.types index 49d4e2e837c..f8f9a6a319c 100644 --- a/tests/baselines/reference/declarationEmitDestructuringObjectLiteralPattern2.types +++ b/tests/baselines/reference/declarationEmitDestructuringObjectLiteralPattern2.types @@ -11,36 +11,36 @@ var { a: x11, b: { a: y11, b: { a: z11 }}} = { a: 1, b: { a: "hello", b: { a: tr >z11 : boolean >{ a: 1, b: { a: "hello", b: { a: true } } } : { a: number; b: { a: string; b: { a: boolean; }; }; } >a : number ->1 : number +>1 : 1 >b : { a: string; b: { a: boolean; }; } >{ a: "hello", b: { a: true } } : { a: string; b: { a: boolean; }; } >a : string ->"hello" : string +>"hello" : "hello" >b : { a: boolean; } >{ a: true } : { a: boolean; } >a : boolean ->true : boolean +>true : true function f15() { >f15 : () => { a4: string; b4: number; c4: boolean; } var a4 = "hello"; >a4 : string ->"hello" : string +>"hello" : "hello" var b4 = 1; >b4 : number ->1 : number +>1 : 1 var c4 = true; >c4 : boolean ->true : boolean +>true : true return { a4, b4, c4 }; >{ a4, b4, c4 } : { a4: string; b4: number; c4: boolean; } >a4 : string >b4 : number ->c4 : boolean +>c4 : true } var { a4, b4, c4 } = f15(); >a4 : string diff --git a/tests/baselines/reference/declarationEmitDestructuringParameterProperties.js b/tests/baselines/reference/declarationEmitDestructuringParameterProperties.js index 16756fe0afe..22868b0ae00 100644 --- a/tests/baselines/reference/declarationEmitDestructuringParameterProperties.js +++ b/tests/baselines/reference/declarationEmitDestructuringParameterProperties.js @@ -20,21 +20,18 @@ class C3 { var C1 = (function () { function C1(_a) { var x = _a[0], y = _a[1], z = _a[2]; - this.[x, y, z] = [x, y, z]; } return C1; }()); var C2 = (function () { function C2(_a) { var x = _a[0], y = _a[1], z = _a[2]; - this.[x, y, z] = [x, y, z]; } return C2; }()); var C3 = (function () { function C3(_a) { var x = _a.x, y = _a.y, z = _a.z; - this.{ x, y, z } = { x, y, z }; } return C3; }()); diff --git a/tests/baselines/reference/declarationEmitIdentifierPredicates01.types b/tests/baselines/reference/declarationEmitIdentifierPredicates01.types index 7d8a5668265..1129012a80a 100644 --- a/tests/baselines/reference/declarationEmitIdentifierPredicates01.types +++ b/tests/baselines/reference/declarationEmitIdentifierPredicates01.types @@ -9,5 +9,5 @@ export function f(x: any): x is number { >typeof x === "number" : boolean >typeof x : string >x : any ->"number" : string +>"number" : "number" } diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.js b/tests/baselines/reference/declarationEmit_bindingPatterns.js index c2063ead215..8cc52af53b8 100644 --- a/tests/baselines/reference/declarationEmit_bindingPatterns.js +++ b/tests/baselines/reference/declarationEmit_bindingPatterns.js @@ -12,8 +12,8 @@ var k = function (_a) { }; var a; function f(_a, _b, _c) { - var _a = a; - var _b = a; + _a = a; + _b = a; var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; } diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.types b/tests/baselines/reference/declarationEmit_bindingPatterns.types index eff2d4bd4a3..b3da24a2b95 100644 --- a/tests/baselines/reference/declarationEmit_bindingPatterns.types +++ b/tests/baselines/reference/declarationEmit_bindingPatterns.types @@ -5,7 +5,7 @@ const k = ({x: z = 'y'}) => { } >({x: z = 'y'}) => { } : ({x: z}: { x?: string; }) => void >x : any >z : string ->'y' : string +>'y' : "y" var a; >a : any diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.types b/tests/baselines/reference/declarationEmit_classMemberNameConflict.types index c76072413e5..66bc493b2ee 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict.types +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict.types @@ -41,7 +41,7 @@ export class C3 { get C3() { return 0; } // has to be the same as the class name >C3 : number ->0 : number +>0 : 0 bar() { >bar : () => (t: typeof C3) => void diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js index 03dc5cdbafd..d3ebddc8d17 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js @@ -45,7 +45,7 @@ var Foo = (function () { //// [declarationEmit_classMemberNameConflict2.d.ts] -declare const Bar: string; +declare const Bar: "bar"; declare enum Hello { World = 0, } diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types index 9f8ddd8a2d5..dd184f7ba34 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types +++ b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types @@ -1,8 +1,8 @@ === tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts === const Bar = 'bar'; ->Bar : string ->'bar' : string +>Bar : "bar" +>'bar' : "bar" enum Hello { >Hello : Hello @@ -24,7 +24,7 @@ class Foo { // Same names + string => OK Bar = Bar; >Bar : string ->Bar : string +>Bar : "bar" // Same names + enum => OK Hello = Hello; diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.types b/tests/baselines/reference/declarationEmit_expressionInExtends2.types index 77a1539267d..3f2b8964a2d 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends2.types +++ b/tests/baselines/reference/declarationEmit_expressionInExtends2.types @@ -28,5 +28,5 @@ class MyClass extends getClass(2) { >MyClass : MyClass >getClass(2) : C >getClass : (c: T) => typeof C ->2 : number +>2 : 2 } diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js index ee80738a269..4fa998f86b8 100644 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js +++ b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.js @@ -10,6 +10,7 @@ export default { //// [declarationEmit_inferedDefaultExportType.js] "use strict"; exports.__esModule = true; +// test.ts exports["default"] = { foo: [], bar: undefined, diff --git a/tests/baselines/reference/declarationEmit_invalidExport.js b/tests/baselines/reference/declarationEmit_invalidExport.js index 61682ca5642..74b5bfd8019 100644 --- a/tests/baselines/reference/declarationEmit_invalidExport.js +++ b/tests/baselines/reference/declarationEmit_invalidExport.js @@ -10,5 +10,5 @@ export type MyClass = typeof myClass; //// [declarationEmit_invalidExport.js] "use strict"; if (false) { - exports.myClass = 0; + export var myClass = 0; } diff --git a/tests/baselines/reference/declarationEmit_invalidReference.types b/tests/baselines/reference/declarationEmit_invalidReference.types index 35d623c3c05..942f2088fc0 100644 --- a/tests/baselines/reference/declarationEmit_invalidReference.types +++ b/tests/baselines/reference/declarationEmit_invalidReference.types @@ -2,5 +2,5 @@ /// var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmit_nameConflicts.js index 5004ded4837..957a0da472a 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts.js @@ -63,7 +63,7 @@ var f; module.exports = f; //// [declarationEmit_nameConflicts_0.js] "use strict"; -var im = require('./declarationEmit_nameConflicts_1'); +var im = require("./declarationEmit_nameConflicts_1"); var M; (function (M) { function f() { } diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.symbols b/tests/baselines/reference/declarationEmit_nameConflicts3.symbols index 051ffe59365..e72c4ec9cee 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.symbols +++ b/tests/baselines/reference/declarationEmit_nameConflicts3.symbols @@ -52,11 +52,11 @@ module M.P { export var w = M.D.f; // error, should be typeof M.D.f >w : Symbol(w, Decl(declarationEmit_nameConflicts3.ts, 22, 14)) ->M.D.f : Symbol(D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) +>M.D.f : Symbol(M.D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) >M.D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) >M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) >D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) ->f : Symbol(D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) +>f : Symbol(M.D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) export var x = M.C.f; // error, should be typeof M.C.f >x : Symbol(x, Decl(declarationEmit_nameConflicts3.ts, 23, 14), Decl(declarationEmit_nameConflicts3.ts, 24, 14)) diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.types b/tests/baselines/reference/declarationEmit_protectedMembers.types index d541e1d14d2..dd2f0012bf9 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.types +++ b/tests/baselines/reference/declarationEmit_protectedMembers.types @@ -22,7 +22,7 @@ class C1 { protected get accessor() { return 0; } >accessor : number ->0 : number +>0 : 0 protected static sx: number; >sx : number @@ -42,7 +42,7 @@ class C1 { protected static get staticGetter() { return 0; } >staticGetter : number ->0 : number +>0 : 0 } // Derived class overriding protected members @@ -110,7 +110,7 @@ class C3 extends C2 { static get staticGetter() { return 1; } >staticGetter : number ->1 : number +>1 : 1 } // Protected properties in constructors diff --git a/tests/baselines/reference/declarationsAndAssignments.errors.txt b/tests/baselines/reference/declarationsAndAssignments.errors.txt index 517eaafe4ab..64bd8d7e578 100644 --- a/tests/baselines/reference/declarationsAndAssignments.errors.txt +++ b/tests/baselines/reference/declarationsAndAssignments.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(23,25): tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(24,19): error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: any; }'. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(28,28): error TS2353: Object literal may only specify known properties, and 'y' does not exist in type '{ x: any; }'. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(29,22): error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: any; }'. -tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(56,17): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(58,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string | 1', but here has type 'string'. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(62,10): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(62,13): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(62,16): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. @@ -17,12 +17,10 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(73,11): tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(73,14): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(74,11): error TS2459: Type 'undefined[]' has no property 'a' and no string index signature. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(74,14): error TS2459: Type 'undefined[]' has no property 'b' and no string index signature. -tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(106,5): error TS2345: Argument of type '[number, [string, { y: boolean; }]]' is not assignable to parameter of type '[number, [string, { x: any; y?: boolean; }]]'. - Types of property '1' are incompatible. - Type '[string, { y: boolean; }]' is not assignable to type '[string, { x: any; y?: boolean; }]'. - Types of property '1' are incompatible. - Type '{ y: boolean; }' is not assignable to type '{ x: any; y?: boolean; }'. - Property 'x' is missing in type '{ y: boolean; }'. +tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(106,5): error TS2345: Argument of type '[number, [string, { y: false; }]]' is not assignable to parameter of type '[number, [string, { x: any; y?: boolean; }]]'. + Type '[string, { y: false; }]' is not assignable to type '[string, { x: any; y?: boolean; }]'. + Type '{ y: false; }' is not assignable to type '{ x: any; y?: boolean; }'. + Property 'x' is missing in type '{ y: false; }'. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,6): error TS2322: Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assignable to type 'string'. @@ -98,10 +96,10 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9): function f7() { var [x = 0, y = 1] = [1, "hello"]; // Error, initializer for y must be string - ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. var x: number; var y: string; + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string | 1', but here has type 'string'. } function f8() { @@ -173,12 +171,10 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9): f14([2, ["abc", { x: 0 }]]); f14([2, ["abc", { y: false }]]); // Error, no x ~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '[number, [string, { y: boolean; }]]' is not assignable to parameter of type '[number, [string, { x: any; y?: boolean; }]]'. -!!! error TS2345: Types of property '1' are incompatible. -!!! error TS2345: Type '[string, { y: boolean; }]' is not assignable to type '[string, { x: any; y?: boolean; }]'. -!!! error TS2345: Types of property '1' are incompatible. -!!! error TS2345: Type '{ y: boolean; }' is not assignable to type '{ x: any; y?: boolean; }'. -!!! error TS2345: Property 'x' is missing in type '{ y: boolean; }'. +!!! error TS2345: Argument of type '[number, [string, { y: false; }]]' is not assignable to parameter of type '[number, [string, { x: any; y?: boolean; }]]'. +!!! error TS2345: Type '[string, { y: false; }]' is not assignable to type '[string, { x: any; y?: boolean; }]'. +!!! error TS2345: Type '{ y: false; }' is not assignable to type '{ x: any; y?: boolean; }'. +!!! error TS2345: Property 'x' is missing in type '{ y: false; }'. module M { export var [a, b] = [1, 2]; diff --git a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types index c33ed5219a8..db7096752c5 100644 --- a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types +++ b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types @@ -28,7 +28,7 @@ module m2 { var x = 10, m2: { >x : number ->10 : number +>10 : 10 >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } (): m2.connectExport; diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS1.js b/tests/baselines/reference/decoratedClassExportsCommonJS1.js index 4a04d724f0c..9674d7853d5 100644 --- a/tests/baselines/reference/decoratedClassExportsCommonJS1.js +++ b/tests/baselines/reference/decoratedClassExportsCommonJS1.js @@ -20,9 +20,9 @@ var __metadata = (this && this.__metadata) || function (k, v) { let Testing123_1 = class Testing123 { }; let Testing123 = Testing123_1; -Testing123.prop1 = Testing123.prop0; +Testing123.prop1 = Testing123_1.prop0; Testing123 = Testing123_1 = __decorate([ - Something({ v: () => Testing123 }), - __metadata('design:paramtypes', []) + Something({ v: () => Testing123_1 }), + __metadata("design:paramtypes", []) ], Testing123); exports.Testing123 = Testing123; diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS2.js b/tests/baselines/reference/decoratedClassExportsCommonJS2.js index c5e8eb9aa29..3ca6fa2d70e 100644 --- a/tests/baselines/reference/decoratedClassExportsCommonJS2.js +++ b/tests/baselines/reference/decoratedClassExportsCommonJS2.js @@ -20,7 +20,7 @@ let Testing123_1 = class Testing123 { }; let Testing123 = Testing123_1; Testing123 = Testing123_1 = __decorate([ - Something({ v: () => Testing123 }), - __metadata('design:paramtypes', []) + Something({ v: () => Testing123_1 }), + __metadata("design:paramtypes", []) ], Testing123); exports.Testing123 = Testing123; diff --git a/tests/baselines/reference/decoratedClassExportsSystem1.js b/tests/baselines/reference/decoratedClassExportsSystem1.js index 1730ba4460f..43a4421642e 100644 --- a/tests/baselines/reference/decoratedClassExportsSystem1.js +++ b/tests/baselines/reference/decoratedClassExportsSystem1.js @@ -9,9 +9,8 @@ export class Testing123 { } //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -21,19 +20,20 @@ System.register([], function(exports_1, context_1) { var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; - var Testing123; + var __moduleName = context_1 && context_1.id; + var Testing123_1, Testing123; return { - setters:[], - execute: function() { - let Testing123_1 = class Testing123 { + setters: [], + execute: function () { + Testing123_1 = class Testing123 { }; - let Testing123 = Testing123_1; - Testing123.prop1 = Testing123.prop0; + Testing123 = Testing123_1; + Testing123.prop1 = Testing123_1.prop0; Testing123 = Testing123_1 = __decorate([ - Something({ v: () => Testing123 }), - __metadata('design:paramtypes', []) + Something({ v: () => Testing123_1 }), + __metadata("design:paramtypes", []) ], Testing123); exports_1("Testing123", Testing123); } - } + }; }); diff --git a/tests/baselines/reference/decoratedClassExportsSystem2.js b/tests/baselines/reference/decoratedClassExportsSystem2.js index b4d34de2958..cbb592539cf 100644 --- a/tests/baselines/reference/decoratedClassExportsSystem2.js +++ b/tests/baselines/reference/decoratedClassExportsSystem2.js @@ -6,9 +6,8 @@ declare var Something: any; export class Testing123 { } //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -18,18 +17,19 @@ System.register([], function(exports_1, context_1) { var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; - var Testing123; + var __moduleName = context_1 && context_1.id; + var Testing123_1, Testing123; return { - setters:[], - execute: function() { - let Testing123_1 = class Testing123 { + setters: [], + execute: function () { + Testing123_1 = class Testing123 { }; - let Testing123 = Testing123_1; + Testing123 = Testing123_1; Testing123 = Testing123_1 = __decorate([ - Something({ v: () => Testing123 }), - __metadata('design:paramtypes', []) + Something({ v: () => Testing123_1 }), + __metadata("design:paramtypes", []) ], Testing123); exports_1("Testing123", Testing123); } - } + }; }); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types index 16dc655cc2f..1bac7896d05 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types @@ -1,21 +1,21 @@ === tests/cases/conformance/es6/moduleExportsAmd/a.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class Foo {} >Foo : Foo === tests/cases/conformance/es6/moduleExportsAmd/b.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class {} diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types index 01aaf5c0dbe..304bf75cd5c 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types @@ -1,21 +1,21 @@ === tests/cases/conformance/es6/moduleExportsCommonjs/a.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class Foo {} >Foo : Foo === tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class {} diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js index d5cd115edc0..4628fc5e81c 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js @@ -13,19 +13,19 @@ var decorator: ClassDecorator; export default class {} //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; + var __moduleName = context_1 && context_1.id; var decorator, Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = class Foo { }; Foo = __decorate([ @@ -33,22 +33,22 @@ System.register([], function(exports_1, context_1) { ], Foo); exports_1("default", Foo); } - } + }; }); //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; + var __moduleName = context_1 && context_1.id; var decorator, default_1; return { - setters:[], - execute: function() { + setters: [], + execute: function () { default_1 = class { }; default_1 = __decorate([ @@ -56,5 +56,5 @@ System.register([], function(exports_1, context_1) { ], default_1); exports_1("default", default_1); } - } + }; }); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types index ae36b442665..ee77e08dd67 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types @@ -1,20 +1,20 @@ === tests/cases/conformance/es6/moduleExportsSystem/a.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class Foo {} >Foo : Foo === tests/cases/conformance/es6/moduleExportsSystem/b.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class {} diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js index c7b59d01469..c32e18ec008 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js @@ -20,14 +20,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var decorator; let Foo = class Foo { @@ -45,14 +45,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var decorator; let default_1 = class { diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types index 68212835a6f..c47f7960f65 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types @@ -1,21 +1,21 @@ === tests/cases/conformance/es6/moduleExportsUmd/a.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class Foo {} >Foo : Foo === tests/cases/conformance/es6/moduleExportsUmd/b.ts === var decorator: ClassDecorator; ->decorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator +>ClassDecorator : ClassDecorator @decorator ->decorator : (target: TFunction) => TFunction | void +>decorator : ClassDecorator export default class {} diff --git a/tests/baselines/reference/decoratorCallGeneric.js b/tests/baselines/reference/decoratorCallGeneric.js index acc9c48297d..a1d470b7063 100644 --- a/tests/baselines/reference/decoratorCallGeneric.js +++ b/tests/baselines/reference/decoratorCallGeneric.js @@ -24,8 +24,8 @@ var C = (function () { function C() { } C.m = function () { }; - C = __decorate([ - dec - ], C); return C; }()); +C = __decorate([ + dec +], C); diff --git a/tests/baselines/reference/decoratorChecksFunctionBodies.js b/tests/baselines/reference/decoratorChecksFunctionBodies.js index d70c4a33460..68dbe6bd1ef 100644 --- a/tests/baselines/reference/decoratorChecksFunctionBodies.js +++ b/tests/baselines/reference/decoratorChecksFunctionBodies.js @@ -30,12 +30,12 @@ var A = (function () { } A.prototype.m = function () { }; - __decorate([ - (function (x, p) { - var a = 3; - func(a); - return x; - }) - ], A.prototype, "m", null); return A; }()); +__decorate([ + (function (x, p) { + var a = 3; + func(a); + return x; + }) +], A.prototype, "m", null); diff --git a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js index 92dcc1f836c..fc8dc1c5515 100644 --- a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js +++ b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.js @@ -33,7 +33,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -var a_1 = require('./a'); +var a_1 = require("./a"); function filter(handler) { return function (target, propertyKey) { // ... @@ -45,8 +45,8 @@ var Wat = (function () { Wat.whatever = function () { // ... }; - __decorate([ - filter(function () { return a_1.test == 'abc'; }) - ], Wat, "whatever", null); return Wat; }()); +__decorate([ + filter(function () { return a_1.test == 'abc'; }) +], Wat, "whatever", null); diff --git a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types index d0f930b7ad4..d768f3c6c7a 100644 --- a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types +++ b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types @@ -3,7 +3,7 @@ // from #3108 export var test = 'abc'; >test : string ->'abc' : string +>'abc' : "abc" === tests/cases/conformance/decorators/class/b.ts === import { test } from './a'; @@ -31,7 +31,7 @@ class Wat { >() => test == 'abc' : () => boolean >test == 'abc' : boolean >test : string ->'abc' : string +>'abc' : "abc" static whatever() { >whatever : () => void diff --git a/tests/baselines/reference/decoratorMetadata.js b/tests/baselines/reference/decoratorMetadata.js index 2f360df0618..cb253d43c16 100644 --- a/tests/baselines/reference/decoratorMetadata.js +++ b/tests/baselines/reference/decoratorMetadata.js @@ -45,15 +45,15 @@ var MyComponent = (function () { } MyComponent.prototype.method = function (x) { }; - __decorate([ - decorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], MyComponent.prototype, "method", null); - MyComponent = __decorate([ - decorator, - __metadata('design:paramtypes', [service_1.default]) - ], MyComponent); return MyComponent; }()); +__decorate([ + decorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) +], MyComponent.prototype, "method", null); +MyComponent = __decorate([ + decorator, + __metadata("design:paramtypes", [service_1.default]) +], MyComponent); diff --git a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js index f5048ead631..970447efae0 100644 --- a/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js +++ b/tests/baselines/reference/decoratorMetadataForMethodWithNoReturnTypeAnnotation01.js @@ -20,11 +20,11 @@ var MyClass = (function () { } MyClass.prototype.doSomething = function () { }; - __decorate([ - decorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', void 0) - ], MyClass.prototype, "doSomething", null); return MyClass; }()); +__decorate([ + decorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], MyClass.prototype, "doSomething", null); diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.js b/tests/baselines/reference/decoratorMetadataOnInferredType.js index 5a39a6ce42c..0c63bcf49da 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.js +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.js @@ -31,10 +31,10 @@ var B = (function () { function B() { this.x = new A(); } - __decorate([ - decorator, - __metadata('design:type', Object) - ], B.prototype, "x", void 0); return B; }()); exports.B = B; +__decorate([ + decorator, + __metadata("design:type", Object) +], B.prototype, "x", void 0); diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.types b/tests/baselines/reference/decoratorMetadataOnInferredType.types index 41c9334244f..41ac7f060d2 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.types +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.types @@ -17,7 +17,7 @@ class A { >console.log : (msg: string) => void >console : { log(msg: string): void; } >log : (msg: string) => void ->'new A' : string +>'new A' : "new A" } function decorator(target: Object, propertyKey: string) { diff --git a/tests/baselines/reference/decoratorMetadataPromise.js b/tests/baselines/reference/decoratorMetadataPromise.js index 3ed8942033d..56a66216dea 100644 --- a/tests/baselines/reference/decoratorMetadataPromise.js +++ b/tests/baselines/reference/decoratorMetadataPromise.js @@ -40,20 +40,20 @@ class A { baz(n) { return n; } } __decorate([ - decorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', Promise) + decorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", Promise) ], A.prototype, "foo", null); __decorate([ - decorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', []), - __metadata('design:returntype', Promise) + decorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", Promise) ], A.prototype, "bar", null); __decorate([ - decorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', [Promise]), - __metadata('design:returntype', Promise) + decorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Promise]), + __metadata("design:returntype", Promise) ], A.prototype, "baz", null); diff --git a/tests/baselines/reference/decoratorMetadataPromise.types b/tests/baselines/reference/decoratorMetadataPromise.types index 900e751e841..eff5fe92c12 100644 --- a/tests/baselines/reference/decoratorMetadataPromise.types +++ b/tests/baselines/reference/decoratorMetadataPromise.types @@ -1,28 +1,28 @@ === tests/cases/compiler/decoratorMetadataPromise.ts === declare const decorator: MethodDecorator; ->decorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void ->MethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>decorator : MethodDecorator +>MethodDecorator : MethodDecorator class A { >A : A @decorator ->decorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>decorator : MethodDecorator async foo() {} >foo : () => Promise @decorator ->decorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>decorator : MethodDecorator async bar(): Promise { return 0; } >bar : () => Promise >Promise : Promise ->0 : number +>0 : 0 @decorator ->decorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>decorator : MethodDecorator baz(n: Promise): Promise { return n; } >baz : (n: Promise) => Promise diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.js b/tests/baselines/reference/decoratorMetadataWithConstructorType.js index 39e8d1811aa..49b72e39a09 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.js +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.js @@ -31,10 +31,10 @@ var B = (function () { function B() { this.x = new A(); } - __decorate([ - decorator, - __metadata('design:type', A) - ], B.prototype, "x", void 0); return B; }()); exports.B = B; +__decorate([ + decorator, + __metadata("design:type", A) +], B.prototype, "x", void 0); diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.types b/tests/baselines/reference/decoratorMetadataWithConstructorType.types index ad83706f4f9..4ca404c8116 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.types +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.types @@ -17,7 +17,7 @@ class A { >console.log : (msg: string) => void >console : { log(msg: string): void; } >log : (msg: string) => void ->'new A' : string +>'new A' : "new A" } function decorator(target: Object, propertyKey: string) { diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.js index b549d28c7f1..258635a5f3a 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision.js @@ -35,7 +35,7 @@ var db = (function () { exports.db = db; //// [service.js] "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -44,10 +44,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [db_1.db]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [db_1.db]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.js index acd86e78d76..104e449bc0c 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision2.js @@ -35,7 +35,7 @@ var db = (function () { exports.db = db; //// [service.js] "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -44,10 +44,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [db_1.db]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [db_1.db]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.js index 2acd829c107..2925cad6afe 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision3.js @@ -35,7 +35,7 @@ var db = (function () { exports.db = db; //// [service.js] "use strict"; -var db = require('./db'); +var db = require("./db"); function someDecorator(target) { return target; } @@ -44,10 +44,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [db.db]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [db.db]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision4.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision4.js index a057b496b25..33eb93f380f 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision4.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision4.js @@ -35,7 +35,7 @@ var db = (function () { exports.db = db; //// [service.js] "use strict"; -var db_1 = require('./db'); // error no default export +var db_1 = require("./db"); // error no default export function someDecorator(target) { return target; } @@ -44,11 +44,11 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [(typeof (_a = typeof db_1.default !== 'undefined' && db_1.default.db) === 'function' && _a) || Object]) - ], MyClass); return MyClass; - var _a; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [typeof (_a = (typeof db_1.default !== "undefined" && db_1.default).db) === "function" && _a || Object]) +], MyClass); exports.MyClass = MyClass; +var _a; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.js index f1537e3b447..b99621fd7e2 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision5.js @@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = db; //// [service.js] "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -45,10 +45,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [db_1.default]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [db_1.default]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.js index 7ef2c288810..4970dca3201 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision6.js @@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = db; //// [service.js] "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -45,10 +45,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [db_1.default]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [db_1.default]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision7.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision7.js index f8469cdd6a4..28d403044bb 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision7.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision7.js @@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = db; //// [service.js] "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -45,10 +45,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [Object]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [Object]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.js b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.js index f1885ccfaec..dd5cee66f8b 100644 --- a/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.js +++ b/tests/baselines/reference/decoratorMetadataWithImportDeclarationNameCollision8.js @@ -35,7 +35,7 @@ var db = (function () { exports.db = db; //// [service.js] "use strict"; -var database = require('./db'); +var database = require("./db"); function someDecorator(target) { return target; } @@ -44,10 +44,10 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [database.db]) - ], MyClass); return MyClass; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [database.db]) +], MyClass); exports.MyClass = MyClass; diff --git a/tests/baselines/reference/decoratorOnClass1.js b/tests/baselines/reference/decoratorOnClass1.js index 7ea46b4698f..5cff4c2649c 100644 --- a/tests/baselines/reference/decoratorOnClass1.js +++ b/tests/baselines/reference/decoratorOnClass1.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec - ], C); return C; }()); +C = __decorate([ + dec +], C); diff --git a/tests/baselines/reference/decoratorOnClass2.es6.js b/tests/baselines/reference/decoratorOnClass2.es6.js index 872f241bc9c..d1258af98b9 100644 --- a/tests/baselines/reference/decoratorOnClass2.es6.js +++ b/tests/baselines/reference/decoratorOnClass2.es6.js @@ -14,9 +14,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -export let C = class C { +let C = class C { }; C = __decorate([ dec ], C); +export { C }; let c = new C(); diff --git a/tests/baselines/reference/decoratorOnClass2.js b/tests/baselines/reference/decoratorOnClass2.js index 3f24c7ae55b..4d9c2007ad0 100644 --- a/tests/baselines/reference/decoratorOnClass2.js +++ b/tests/baselines/reference/decoratorOnClass2.js @@ -16,9 +16,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec - ], C); return C; }()); +C = __decorate([ + dec +], C); exports.C = C; diff --git a/tests/baselines/reference/decoratorOnClass3.js b/tests/baselines/reference/decoratorOnClass3.js index 5a3601fc1f3..fd09a6d8de5 100644 --- a/tests/baselines/reference/decoratorOnClass3.js +++ b/tests/baselines/reference/decoratorOnClass3.js @@ -16,8 +16,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec - ], C); return C; }()); +C = __decorate([ + dec +], C); diff --git a/tests/baselines/reference/decoratorOnClass4.js b/tests/baselines/reference/decoratorOnClass4.js index adbe30db662..daf19e20327 100644 --- a/tests/baselines/reference/decoratorOnClass4.js +++ b/tests/baselines/reference/decoratorOnClass4.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec() - ], C); return C; }()); +C = __decorate([ + dec() +], C); diff --git a/tests/baselines/reference/decoratorOnClass5.es6.types b/tests/baselines/reference/decoratorOnClass5.es6.types index 5532c50fe52..891126c9ba6 100644 --- a/tests/baselines/reference/decoratorOnClass5.es6.types +++ b/tests/baselines/reference/decoratorOnClass5.es6.types @@ -20,7 +20,7 @@ class C { static y = 1; >y : number ->1 : number +>1 : 1 } let c = new C(); diff --git a/tests/baselines/reference/decoratorOnClass5.js b/tests/baselines/reference/decoratorOnClass5.js index 6741b26373b..70fc5515140 100644 --- a/tests/baselines/reference/decoratorOnClass5.js +++ b/tests/baselines/reference/decoratorOnClass5.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec() - ], C); return C; }()); +C = __decorate([ + dec() +], C); diff --git a/tests/baselines/reference/decoratorOnClass6.es6.js b/tests/baselines/reference/decoratorOnClass6.es6.js index 0861774bfc0..fff39d85916 100644 --- a/tests/baselines/reference/decoratorOnClass6.es6.js +++ b/tests/baselines/reference/decoratorOnClass6.es6.js @@ -19,9 +19,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, let C_1 = class C { static x() { return C_1.y; } }; -export let C = C_1; +let C = C_1; C.y = 1; C = C_1 = __decorate([ dec ], C); +export { C }; let c = new C(); diff --git a/tests/baselines/reference/decoratorOnClass6.es6.types b/tests/baselines/reference/decoratorOnClass6.es6.types index 0b335558400..89c4ebfc101 100644 --- a/tests/baselines/reference/decoratorOnClass6.es6.types +++ b/tests/baselines/reference/decoratorOnClass6.es6.types @@ -20,7 +20,7 @@ export class C { static y = 1; >y : number ->1 : number +>1 : 1 } let c = new C(); diff --git a/tests/baselines/reference/decoratorOnClass7.es6.types b/tests/baselines/reference/decoratorOnClass7.es6.types index af7ae0516e3..d2d54175bf9 100644 --- a/tests/baselines/reference/decoratorOnClass7.es6.types +++ b/tests/baselines/reference/decoratorOnClass7.es6.types @@ -20,7 +20,7 @@ export default class C { static y = 1; >y : number ->1 : number +>1 : 1 } let c = new C(); diff --git a/tests/baselines/reference/decoratorOnClass8.es6.js b/tests/baselines/reference/decoratorOnClass8.es6.js index 7104098a5f5..88dd41e7b60 100644 --- a/tests/baselines/reference/decoratorOnClass8.es6.js +++ b/tests/baselines/reference/decoratorOnClass8.es6.js @@ -13,7 +13,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -let default_1 = class { +let default_1 = class default_1 { }; default_1.y = 1; default_1 = __decorate([ diff --git a/tests/baselines/reference/decoratorOnClass8.es6.types b/tests/baselines/reference/decoratorOnClass8.es6.types index 045b036e335..4116a8b20d6 100644 --- a/tests/baselines/reference/decoratorOnClass8.es6.types +++ b/tests/baselines/reference/decoratorOnClass8.es6.types @@ -12,5 +12,5 @@ declare function dec(target: T): T; export default class { static y = 1; >y : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/decoratorOnClass8.js b/tests/baselines/reference/decoratorOnClass8.js index e5cd8812ea7..ae50ab75ab8 100644 --- a/tests/baselines/reference/decoratorOnClass8.js +++ b/tests/baselines/reference/decoratorOnClass8.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - C = __decorate([ - dec() - ], C); return C; }()); +C = __decorate([ + dec() +], C); diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.js b/tests/baselines/reference/decoratorOnClassAccessor1.js index cf989705b79..27966350fae 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.js +++ b/tests/baselines/reference/decoratorOnClassAccessor1.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.types b/tests/baselines/reference/decoratorOnClassAccessor1.types index e5ba5149d7a..8d46fad586f 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.types +++ b/tests/baselines/reference/decoratorOnClassAccessor1.types @@ -16,5 +16,5 @@ class C { @dec get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor >accessor : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.js b/tests/baselines/reference/decoratorOnClassAccessor2.js index 9e9455b4380..57cb3b50461 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.js +++ b/tests/baselines/reference/decoratorOnClassAccessor2.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.types b/tests/baselines/reference/decoratorOnClassAccessor2.types index 32902ce7ca0..b71e5943e0f 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.types +++ b/tests/baselines/reference/decoratorOnClassAccessor2.types @@ -16,5 +16,5 @@ class C { @dec public get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor >accessor : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/decoratorOnClassAccessor3.js b/tests/baselines/reference/decoratorOnClassAccessor3.js index 8a27914e0c8..c02f984e70a 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor3.js +++ b/tests/baselines/reference/decoratorOnClassAccessor3.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.js b/tests/baselines/reference/decoratorOnClassAccessor4.js index 85b35e95cef..0e0af58f526 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor4.js +++ b/tests/baselines/reference/decoratorOnClassAccessor4.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.js b/tests/baselines/reference/decoratorOnClassAccessor5.js index 12ec7a08adc..c7d5d109cc0 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor5.js +++ b/tests/baselines/reference/decoratorOnClassAccessor5.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassAccessor6.js b/tests/baselines/reference/decoratorOnClassAccessor6.js index d5477deb5af..8ac40e72299 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor6.js +++ b/tests/baselines/reference/decoratorOnClassAccessor6.js @@ -20,8 +20,8 @@ var C = (function () { enumerable: true, configurable: true }); - __decorate([ - dec - ], C.prototype, "accessor", null); return C; }()); +__decorate([ + dec +], C.prototype, "accessor", null); diff --git a/tests/baselines/reference/decoratorOnClassConstructor2.errors.txt b/tests/baselines/reference/decoratorOnClassConstructor2.errors.txt new file mode 100644 index 00000000000..c4585b8301f --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor2.errors.txt @@ -0,0 +1,21 @@ +tests/cases/conformance/decorators/class/constructor/2.ts(1,20): error TS2691: An import path cannot end with a '.ts' extension. Consider importing './0' instead. +tests/cases/conformance/decorators/class/constructor/2.ts(2,19): error TS2691: An import path cannot end with a '.ts' extension. Consider importing './0' instead. + + +==== tests/cases/conformance/decorators/class/constructor/0.ts (0 errors) ==== + + export class base { } + export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } + +==== tests/cases/conformance/decorators/class/constructor/2.ts (2 errors) ==== + import {base} from "./0.ts" + ~~~~~~~~ +!!! error TS2691: An import path cannot end with a '.ts' extension. Consider importing './0' instead. + import {foo} from "./0.ts" + ~~~~~~~~ +!!! error TS2691: An import path cannot end with a '.ts' extension. Consider importing './0' instead. + export class C extends base{ + constructor(@foo prop: any) { + super(); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/decoratorOnClassConstructor2.js b/tests/baselines/reference/decoratorOnClassConstructor2.js new file mode 100644 index 00000000000..5fc5501c329 --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor2.js @@ -0,0 +1,55 @@ +//// [tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor2.ts] //// + +//// [0.ts] + +export class base { } +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } + +//// [2.ts] +import {base} from "./0.ts" +import {foo} from "./0.ts" +export class C extends base{ + constructor(@foo prop: any) { + super(); + } +} + +//// [0.js] +"use strict"; +var base = (function () { + function base() { + } + return base; +}()); +exports.base = base; +function foo(target, propertyKey, parameterIndex) { } +exports.foo = foo; +//// [2.js] +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _0_ts_1 = require("./0.ts"); +var _0_ts_2 = require("./0.ts"); +var C = (function (_super) { + __extends(C, _super); + function C(prop) { + _super.call(this); + } + return C; +}(_0_ts_1.base)); +C = __decorate([ + __param(0, _0_ts_2.foo) +], C); +exports.C = C; diff --git a/tests/baselines/reference/decoratorOnClassConstructor2.symbols b/tests/baselines/reference/decoratorOnClassConstructor2.symbols new file mode 100644 index 00000000000..2135ddd866a --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor2.symbols @@ -0,0 +1,31 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : Symbol(base, Decl(0.ts, 0, 0)) + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : Symbol(foo, Decl(0.ts, 1, 21)) +>target : Symbol(target, Decl(0.ts, 2, 20)) +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>propertyKey : Symbol(propertyKey, Decl(0.ts, 2, 35)) +>parameterIndex : Symbol(parameterIndex, Decl(0.ts, 2, 65)) + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0.ts" +>base : Symbol(base, Decl(2.ts, 0, 8)) + +import {foo} from "./0.ts" +>foo : Symbol(foo, Decl(2.ts, 1, 8)) + +export class C extends base{ +>C : Symbol(C, Decl(2.ts, 1, 26)) +>base : Symbol(base, Decl(2.ts, 0, 8)) + + constructor(@foo prop: any) { +>foo : Symbol(foo, Decl(2.ts, 1, 8)) +>prop : Symbol(prop, Decl(2.ts, 3, 16)) + + super(); +>super : Symbol(base, Decl(0.ts, 0, 0)) + } +} diff --git a/tests/baselines/reference/decoratorOnClassConstructor2.types b/tests/baselines/reference/decoratorOnClassConstructor2.types new file mode 100644 index 00000000000..c2e7a08499a --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor2.types @@ -0,0 +1,32 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : base + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>target : Object +>Object : Object +>propertyKey : string | symbol +>parameterIndex : number + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0.ts" +>base : typeof base + +import {foo} from "./0.ts" +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void + +export class C extends base{ +>C : C +>base : base + + constructor(@foo prop: any) { +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>prop : any + + super(); +>super() : void +>super : typeof base + } +} diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.js b/tests/baselines/reference/decoratorOnClassConstructor3.js new file mode 100644 index 00000000000..66946fab8bd --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.js @@ -0,0 +1,58 @@ +//// [tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts] //// + +//// [0.ts] + +export class base { } +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } + +//// [2.ts] +import {base} from "./0" +import {foo} from "./0" + +/* Comment on the Class Declaration */ +export class C extends base{ + constructor(@foo prop: any) { + super(); + } +} + +//// [0.js] +"use strict"; +var base = (function () { + function base() { + } + return base; +}()); +exports.base = base; +function foo(target, propertyKey, parameterIndex) { } +exports.foo = foo; +//// [2.js] +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _0_1 = require("./0"); +var _0_2 = require("./0"); +/* Comment on the Class Declaration */ +var C = (function (_super) { + __extends(C, _super); + function C(prop) { + _super.call(this); + } + return C; +}(_0_1.base)); +C = __decorate([ + __param(0, _0_2.foo) +], C); +exports.C = C; diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.symbols b/tests/baselines/reference/decoratorOnClassConstructor3.symbols new file mode 100644 index 00000000000..12c20c9a8cc --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.symbols @@ -0,0 +1,32 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : Symbol(base, Decl(0.ts, 0, 0)) + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : Symbol(foo, Decl(0.ts, 1, 21)) +>target : Symbol(target, Decl(0.ts, 2, 20)) +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>propertyKey : Symbol(propertyKey, Decl(0.ts, 2, 35)) +>parameterIndex : Symbol(parameterIndex, Decl(0.ts, 2, 65)) + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0" +>base : Symbol(base, Decl(2.ts, 0, 8)) + +import {foo} from "./0" +>foo : Symbol(foo, Decl(2.ts, 1, 8)) + +/* Comment on the Class Declaration */ +export class C extends base{ +>C : Symbol(C, Decl(2.ts, 1, 23)) +>base : Symbol(base, Decl(2.ts, 0, 8)) + + constructor(@foo prop: any) { +>foo : Symbol(foo, Decl(2.ts, 1, 8)) +>prop : Symbol(prop, Decl(2.ts, 5, 16)) + + super(); +>super : Symbol(base, Decl(0.ts, 0, 0)) + } +} diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.types b/tests/baselines/reference/decoratorOnClassConstructor3.types new file mode 100644 index 00000000000..dc1e22c1688 --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : base + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>target : Object +>Object : Object +>propertyKey : string | symbol +>parameterIndex : number + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0" +>base : typeof base + +import {foo} from "./0" +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void + +/* Comment on the Class Declaration */ +export class C extends base{ +>C : C +>base : base + + constructor(@foo prop: any) { +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>prop : any + + super(); +>super() : void +>super : typeof base + } +} diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter1.js b/tests/baselines/reference/decoratorOnClassConstructorParameter1.js index fe04f569e30..176e2309ae0 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter1.js +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter1.js @@ -18,8 +18,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) { var C = (function () { function C(p) { } - C = __decorate([ - __param(0, dec) - ], C); return C; }()); +C = __decorate([ + __param(0, dec) +], C); diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter4.js b/tests/baselines/reference/decoratorOnClassConstructorParameter4.js index 8d02bd467d6..e14f0358808 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter4.js +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter4.js @@ -18,8 +18,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) { var C = (function () { function C(public, p) { } - C = __decorate([ - __param(1, dec) - ], C); return C; }()); +C = __decorate([ + __param(1, dec) +], C); diff --git a/tests/baselines/reference/decoratorOnClassMethod1.js b/tests/baselines/reference/decoratorOnClassMethod1.js index ef029b84543..b93d7f88771 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.js +++ b/tests/baselines/reference/decoratorOnClassMethod1.js @@ -16,8 +16,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethod10.js b/tests/baselines/reference/decoratorOnClassMethod10.js index f90251d6196..bfa57f0aeb7 100644 --- a/tests/baselines/reference/decoratorOnClassMethod10.js +++ b/tests/baselines/reference/decoratorOnClassMethod10.js @@ -16,8 +16,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethod11.js b/tests/baselines/reference/decoratorOnClassMethod11.js index f1589a39286..c703459b88d 100644 --- a/tests/baselines/reference/decoratorOnClassMethod11.js +++ b/tests/baselines/reference/decoratorOnClassMethod11.js @@ -22,9 +22,9 @@ var M; } C.prototype.decorator = function (target, key) { }; C.prototype.method = function () { }; - __decorate([ - this.decorator - ], C.prototype, "method", null); return C; }()); + __decorate([ + this.decorator + ], C.prototype, "method", null); })(M || (M = {})); diff --git a/tests/baselines/reference/decoratorOnClassMethod12.js b/tests/baselines/reference/decoratorOnClassMethod12.js index 0650f1d00ee..6e9b9763a3a 100644 --- a/tests/baselines/reference/decoratorOnClassMethod12.js +++ b/tests/baselines/reference/decoratorOnClassMethod12.js @@ -35,9 +35,9 @@ var M; _super.apply(this, arguments); } C.prototype.method = function () { }; - __decorate([ - _super.decorator - ], C.prototype, "method", null); return C; }(S)); + __decorate([ + _super.decorator + ], C.prototype, "method", null); })(M || (M = {})); diff --git a/tests/baselines/reference/decoratorOnClassMethod13.types b/tests/baselines/reference/decoratorOnClassMethod13.types index 5fdbe071828..eba738d5ef5 100644 --- a/tests/baselines/reference/decoratorOnClassMethod13.types +++ b/tests/baselines/reference/decoratorOnClassMethod13.types @@ -15,9 +15,9 @@ class C { @dec ["1"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor ->"1" : string +>"1" : "1" @dec ["b"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor ->"b" : string +>"b" : "b" } diff --git a/tests/baselines/reference/decoratorOnClassMethod2.js b/tests/baselines/reference/decoratorOnClassMethod2.js index 5db2922ed71..98ad8ad43ad 100644 --- a/tests/baselines/reference/decoratorOnClassMethod2.js +++ b/tests/baselines/reference/decoratorOnClassMethod2.js @@ -16,8 +16,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethod3.js b/tests/baselines/reference/decoratorOnClassMethod3.js index 30f527368f2..4a5943681d4 100644 --- a/tests/baselines/reference/decoratorOnClassMethod3.js +++ b/tests/baselines/reference/decoratorOnClassMethod3.js @@ -16,8 +16,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethod4.types b/tests/baselines/reference/decoratorOnClassMethod4.types index 026508257a5..5c47dc8a4ca 100644 --- a/tests/baselines/reference/decoratorOnClassMethod4.types +++ b/tests/baselines/reference/decoratorOnClassMethod4.types @@ -15,5 +15,5 @@ class C { @dec ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor ->"method" : string +>"method" : "method" } diff --git a/tests/baselines/reference/decoratorOnClassMethod5.types b/tests/baselines/reference/decoratorOnClassMethod5.types index d55ddd832b9..749eb6b3b9c 100644 --- a/tests/baselines/reference/decoratorOnClassMethod5.types +++ b/tests/baselines/reference/decoratorOnClassMethod5.types @@ -16,5 +16,5 @@ class C { @dec() ["method"]() {} >dec() : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor >dec : () => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor ->"method" : string +>"method" : "method" } diff --git a/tests/baselines/reference/decoratorOnClassMethod7.types b/tests/baselines/reference/decoratorOnClassMethod7.types index 8a72e24bd5b..c8d21157fe9 100644 --- a/tests/baselines/reference/decoratorOnClassMethod7.types +++ b/tests/baselines/reference/decoratorOnClassMethod7.types @@ -15,5 +15,5 @@ class C { @dec public ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor ->"method" : string +>"method" : "method" } diff --git a/tests/baselines/reference/decoratorOnClassMethod8.js b/tests/baselines/reference/decoratorOnClassMethod8.js index bf8c06d9b90..c1ad826cab0 100644 --- a/tests/baselines/reference/decoratorOnClassMethod8.js +++ b/tests/baselines/reference/decoratorOnClassMethod8.js @@ -16,8 +16,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload2.js b/tests/baselines/reference/decoratorOnClassMethodOverload2.js index eafa5da7110..db077dd7b51 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload2.js +++ b/tests/baselines/reference/decoratorOnClassMethodOverload2.js @@ -18,8 +18,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.js b/tests/baselines/reference/decoratorOnClassMethodParameter1.js index efb1e4abff2..d5d8599d7a8 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.js +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.js @@ -19,8 +19,8 @@ var C = (function () { function C() { } C.prototype.method = function (p) { }; - __decorate([ - __param(0, dec) - ], C.prototype, "method", null); return C; }()); +__decorate([ + __param(0, dec) +], C.prototype, "method", null); diff --git a/tests/baselines/reference/decoratorOnClassProperty1.js b/tests/baselines/reference/decoratorOnClassProperty1.js index 65a399332f1..6547e0bdb18 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.js +++ b/tests/baselines/reference/decoratorOnClassProperty1.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty10.js b/tests/baselines/reference/decoratorOnClassProperty10.js index 9df40eaf83a..174f26a315a 100644 --- a/tests/baselines/reference/decoratorOnClassProperty10.js +++ b/tests/baselines/reference/decoratorOnClassProperty10.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec() - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec() +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty11.js b/tests/baselines/reference/decoratorOnClassProperty11.js index 8b771caf8b5..c901637402d 100644 --- a/tests/baselines/reference/decoratorOnClassProperty11.js +++ b/tests/baselines/reference/decoratorOnClassProperty11.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty2.js b/tests/baselines/reference/decoratorOnClassProperty2.js index 3ab2b515e3c..ceaf43caa59 100644 --- a/tests/baselines/reference/decoratorOnClassProperty2.js +++ b/tests/baselines/reference/decoratorOnClassProperty2.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty3.js b/tests/baselines/reference/decoratorOnClassProperty3.js index 9c0d3f90e42..8436be93968 100644 --- a/tests/baselines/reference/decoratorOnClassProperty3.js +++ b/tests/baselines/reference/decoratorOnClassProperty3.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty6.js b/tests/baselines/reference/decoratorOnClassProperty6.js index 823a652af24..c7f5490c648 100644 --- a/tests/baselines/reference/decoratorOnClassProperty6.js +++ b/tests/baselines/reference/decoratorOnClassProperty6.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorOnClassProperty7.js b/tests/baselines/reference/decoratorOnClassProperty7.js index 134f35022e0..828d548ff6b 100644 --- a/tests/baselines/reference/decoratorOnClassProperty7.js +++ b/tests/baselines/reference/decoratorOnClassProperty7.js @@ -15,8 +15,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var C = (function () { function C() { } - __decorate([ - dec - ], C.prototype, "prop", void 0); return C; }()); +__decorate([ + dec +], C.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherType.types b/tests/baselines/reference/decrementOperatorWithAnyOtherType.types index 65eea6d1a71..c8b8852e4d2 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherType.types @@ -10,14 +10,14 @@ var ANY1; var ANY2: any[] = ["", ""]; >ANY2 : any[] >["", ""] : string[] ->"" : string ->"" : string +>"" : "" +>"" : "" var obj = {x:1,y:null}; >obj : { x: number; y: any; } >{x:1,y:null} : { x: number; y: null; } >x : number ->1 : number +>1 : 1 >y : null >null : null @@ -65,7 +65,7 @@ var ResultIsNumber5 = --ANY2[0]; >--ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 var ResultIsNumber6 = --obj.x; >ResultIsNumber6 : number @@ -100,7 +100,7 @@ var ResultIsNumber9 = ANY2[0]--; >ANY2[0]-- : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 var ResultIsNumber10 = obj.x--; >ResultIsNumber10 : number @@ -143,7 +143,7 @@ var ResultIsNumber13 = M.n--; >--ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 --ANY, --ANY1; >--ANY, --ANY1 : number @@ -176,7 +176,7 @@ ANY2[0]--; >ANY2[0]-- : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 ANY--, ANY1--; >ANY--, ANY1-- : number diff --git a/tests/baselines/reference/decrementOperatorWithNumberType.types b/tests/baselines/reference/decrementOperatorWithNumberType.types index f990ad18fc7..c81dc0660ec 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberType.types +++ b/tests/baselines/reference/decrementOperatorWithNumberType.types @@ -6,8 +6,8 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 class A { >A : A @@ -72,7 +72,7 @@ var ResultIsNumber7 = NUMBER1[0]--; >NUMBER1[0]-- : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 // miss assignment operators --NUMBER; @@ -83,7 +83,7 @@ var ResultIsNumber7 = NUMBER1[0]--; >--NUMBER1[0] : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 --objA.a; >--objA.a : number @@ -115,7 +115,7 @@ NUMBER1[0]--; >NUMBER1[0]-- : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 objA.a--; >objA.a-- : number diff --git a/tests/baselines/reference/deduplicateImportsInSystem.js b/tests/baselines/reference/deduplicateImportsInSystem.js index accc4954e65..f0ac7c83ed8 100644 --- a/tests/baselines/reference/deduplicateImportsInSystem.js +++ b/tests/baselines/reference/deduplicateImportsInSystem.js @@ -9,12 +9,12 @@ import {F} from 'f1'; console.log(A + B + C + D + E + F) //// [deduplicateImportsInSystem.js] -System.register(["f1", "f2", "f3"], function(exports_1, context_1) { +System.register(["f1", "f2", "f3"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var f1_1, f2_1, f3_1, f2_2, f2_3, f1_2; return { - setters:[ + setters: [ function (f1_1_1) { f1_1 = f1_1_1; f1_2 = f1_1_1; @@ -26,9 +26,10 @@ System.register(["f1", "f2", "f3"], function(exports_1, context_1) { }, function (f3_1_1) { f3_1 = f3_1_1; - }], - execute: function() { + } + ], + execute: function () { console.log(f1_1.A + f2_1.B + f3_1.C + f2_2.D + f2_3.E + f1_2.F); } - } + }; }); diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt index 60a9e92bc95..b0b0f876be4 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(5,1): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type '3' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(11,1): error TS2322: Type 'string' is not assignable to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(14,51): error TS2352: Type 'string' cannot be converted to type 'number'. -tests/cases/compiler/defaultArgsInFunctionExpressions.ts(17,41): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(17,41): error TS2322: Type '""' is not assignable to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2352: Type 'string' cannot be converted to type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: Cannot find name 'T'. @@ -14,7 +14,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C n = f(); var s: string = f(''); ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. s = f(); ~ !!! error TS2322: Type 'number' is not assignable to type 'string'. @@ -22,7 +22,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Type check the default argument with the type annotation var f2 = function (a: string = 3) { return a; }; // Should error, but be of type (a: string) => string; ~~~~~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '3' is not assignable to type 'string'. s = f2(''); s = f2(); n = f2(); @@ -37,7 +37,7 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2304: C // Type check using the function's contextual type var f4: (a: number) => void = function (a = "") { }; ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. // Contextually type the default arg using the function's contextual type var f5: (a: (s: string) => any) => void = function (a = s => s) { }; diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt index 5000ae05cc3..3b81fe0864e 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(2,6): error TS2339: Property 'length' does not exist on type '{}'. tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(5,6): error TS2339: Property 'length' does not exist on type 'Object'. tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(8,14): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. ==== tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts (3 errors) ==== @@ -19,7 +19,7 @@ tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(8,14): error TS2453: The var result = concat(1, ""); // error ~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. var elementCount = result.length; function concat2(x: T, y: U) { return null; } diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.js b/tests/baselines/reference/defaultExportInAwaitExpression01.js index afd4dfa7a56..b57b6237d7a 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.js +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.js @@ -13,14 +13,14 @@ import x from './a'; //// [a.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; const x = new Promise((resolve, reject) => { resolve({}); }); Object.defineProperty(exports, "__esModule", { value: true }); @@ -35,16 +35,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments)).next()); }); }; -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports", './a'], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports", "./a"], function (require, exports) { "use strict"; - const a_1 = require('./a'); + const a_1 = require("./a"); (function () { return __awaiter(this, void 0, void 0, function* () { const value = yield a_1.default; diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.js b/tests/baselines/reference/defaultExportInAwaitExpression02.js index 70a9ce6c2d3..db2150c66f1 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.js +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.js @@ -27,7 +27,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments)).next()); }); }; -const a_1 = require('./a'); +const a_1 = require("./a"); (function () { return __awaiter(this, void 0, void 0, function* () { const value = yield a_1.default; diff --git a/tests/baselines/reference/defaultExportsCannotMerge02.js b/tests/baselines/reference/defaultExportsCannotMerge02.js index f327c62e571..ae5701b86bc 100644 --- a/tests/baselines/reference/defaultExportsCannotMerge02.js +++ b/tests/baselines/reference/defaultExportsCannotMerge02.js @@ -33,7 +33,7 @@ var Decl = (function () { return Decl; }()); Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = Decl; +exports.default = exports.Decl; //// [m2.js] "use strict"; var m1_1 = require("m1"); diff --git a/tests/baselines/reference/defaultExportsCannotMerge04.js b/tests/baselines/reference/defaultExportsCannotMerge04.js index 7c9bd88bc16..ef8d6853d98 100644 --- a/tests/baselines/reference/defaultExportsCannotMerge04.js +++ b/tests/baselines/reference/defaultExportsCannotMerge04.js @@ -18,7 +18,7 @@ export interface Foo { function Foo() { } Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = Foo; +exports.default = exports.Foo; var Foo; (function (Foo) { -})(Foo || (Foo = {})); +})(exports.Foo || (exports.Foo = {})); diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.js b/tests/baselines/reference/defaultExportsGetExportedSystem.js index eaf6d323f09..089551195ae 100644 --- a/tests/baselines/reference/defaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.js @@ -8,28 +8,28 @@ export default function foo() {} //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = class Foo { }; exports_1("default", Foo); } - } + }; }); //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("default", foo); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/defaultExportsGetExportedUmd.js b/tests/baselines/reference/defaultExportsGetExportedUmd.js index 754c5b00ac8..79d88222806 100644 --- a/tests/baselines/reference/defaultExportsGetExportedUmd.js +++ b/tests/baselines/reference/defaultExportsGetExportedUmd.js @@ -8,14 +8,14 @@ export default function foo() {} //// [a.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; class Foo { } @@ -23,14 +23,14 @@ export default function foo() {} exports.default = Foo; }); //// [b.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; function foo() { } Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/defaultIndexProps1.types b/tests/baselines/reference/defaultIndexProps1.types index 0b188a40c20..d79685da387 100644 --- a/tests/baselines/reference/defaultIndexProps1.types +++ b/tests/baselines/reference/defaultIndexProps1.types @@ -4,7 +4,7 @@ class Foo { public v = "Yo"; >v : string ->"Yo" : string +>"Yo" : "Yo" } var f = new Foo(); @@ -16,17 +16,17 @@ var q = f["v"]; >q : string >f["v"] : string >f : Foo ->"v" : string +>"v" : "v" var o = {v:"Yo2"}; >o : { v: string; } >{v:"Yo2"} : { v: string; } >v : string ->"Yo2" : string +>"Yo2" : "Yo2" var q2 = o["v"]; >q2 : string >o["v"] : string >o : { v: string; } ->"v" : string +>"v" : "v" diff --git a/tests/baselines/reference/defaultIndexProps2.types b/tests/baselines/reference/defaultIndexProps2.types index 3b0d8278966..a50e4af450e 100644 --- a/tests/baselines/reference/defaultIndexProps2.types +++ b/tests/baselines/reference/defaultIndexProps2.types @@ -4,7 +4,7 @@ class Foo { public v = "Yo"; >v : string ->"Yo" : string +>"Yo" : "Yo" } var f = new Foo(); @@ -18,18 +18,18 @@ var o = {v:"Yo2"}; >o : { v: string; } >{v:"Yo2"} : { v: string; } >v : string ->"Yo2" : string +>"Yo2" : "Yo2" // WScript.Echo(o[0]); 1[0]; >1[0] : any ->1 : number ->0 : number +>1 : 1 +>0 : 0 var q = "s"[0]; >q : string >"s"[0] : string ->"s" : string ->0 : number +>"s" : "s" +>0 : 0 diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.types b/tests/baselines/reference/deleteOperatorWithBooleanType.types index 068c67031ef..664a2530f33 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.types +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.types @@ -5,7 +5,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -15,7 +15,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -39,16 +39,16 @@ var ResultIsBoolean1 = delete BOOLEAN; var ResultIsBoolean2 = delete true; >ResultIsBoolean2 : boolean >delete true : boolean ->true : boolean +>true : true var ResultIsBoolean3 = delete { x: true, y: false }; >ResultIsBoolean3 : boolean >delete { x: true, y: false } : boolean >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsBoolean4 = delete objA.a; @@ -89,7 +89,7 @@ var ResultIsBoolean8 = delete delete BOOLEAN; // miss assignment operators delete true; >delete true : boolean ->true : boolean +>true : true delete BOOLEAN; >delete BOOLEAN : boolean @@ -101,10 +101,10 @@ delete foo(); >foo : () => boolean delete true, false; ->delete true, false : boolean +>delete true, false : false >delete true : boolean ->true : boolean ->false : boolean +>true : true +>false : false delete objA.a; >delete objA.a : boolean diff --git a/tests/baselines/reference/deleteOperatorWithEnumType.types b/tests/baselines/reference/deleteOperatorWithEnumType.types index d3266a6aa6c..5248ef6d46e 100644 --- a/tests/baselines/reference/deleteOperatorWithEnumType.types +++ b/tests/baselines/reference/deleteOperatorWithEnumType.types @@ -6,8 +6,8 @@ enum ENUM { }; enum ENUM1 { A, B, "" }; >ENUM1 : ENUM1 ->A : ENUM1 ->B : ENUM1 +>A : ENUM1.A +>B : ENUM1.B // enum type var var ResultIsBoolean1 = delete ENUM; @@ -24,9 +24,9 @@ var ResultIsBoolean2 = delete ENUM1; var ResultIsBoolean3 = delete ENUM1["A"]; >ResultIsBoolean3 : boolean >delete ENUM1["A"] : boolean ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string +>"A" : "A" var ResultIsBoolean4 = delete (ENUM[0] + ENUM1["B"]); >ResultIsBoolean4 : boolean @@ -35,10 +35,10 @@ var ResultIsBoolean4 = delete (ENUM[0] + ENUM1["B"]); >ENUM[0] + ENUM1["B"] : string >ENUM[0] : string >ENUM : typeof ENUM ->0 : number ->ENUM1["B"] : ENUM1 +>0 : 0 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" // multiple delete operators var ResultIsBoolean5 = delete delete ENUM; @@ -56,10 +56,10 @@ var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]); >ENUM[0] + ENUM1["B"] : string >ENUM[0] : string >ENUM : typeof ENUM ->0 : number ->ENUM1["B"] : ENUM1 +>0 : 0 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" // miss assignment operators delete ENUM; @@ -72,9 +72,9 @@ delete ENUM1; delete ENUM1.B; >delete ENUM1.B : boolean ->ENUM1.B : ENUM1 +>ENUM1.B : ENUM1.B >ENUM1 : typeof ENUM1 ->B : ENUM1 +>B : ENUM1.B delete ENUM, ENUM1; >delete ENUM, ENUM1 : typeof ENUM1 diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.types b/tests/baselines/reference/deleteOperatorWithNumberType.types index e631745d089..e3a26b618e1 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.types +++ b/tests/baselines/reference/deleteOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsBoolean2 = delete NUMBER1; var ResultIsBoolean3 = delete 1; >ResultIsBoolean3 : boolean >delete 1 : boolean ->1 : number +>1 : 1 var ResultIsBoolean4 = delete { x: 1, y: 2}; >ResultIsBoolean4 : boolean >delete { x: 1, y: 2} : boolean >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsBoolean5 = delete { x: 1, y: (n: number) => { return n; } }; >ResultIsBoolean5 : boolean >delete { x: 1, y: (n: number) => { return n; } } : boolean >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsBoolean8 = delete NUMBER1[0]; >delete NUMBER1[0] : boolean >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsBoolean9 = delete foo(); >ResultIsBoolean9 : boolean @@ -136,7 +136,7 @@ var ResultIsBoolean13 = delete delete delete (NUMBER + NUMBER); // miss assignment operators delete 1; >delete 1 : boolean ->1 : number +>1 : 1 delete NUMBER; >delete NUMBER : boolean diff --git a/tests/baselines/reference/deleteOperatorWithStringType.types b/tests/baselines/reference/deleteOperatorWithStringType.types index 0492aeff176..842ad281ef7 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.types +++ b/tests/baselines/reference/deleteOperatorWithStringType.types @@ -6,12 +6,12 @@ var STRING: string; var STRING1: string[] = ["", "abc"]; >STRING1 : string[] >["", "abc"] : string[] ->"" : string ->"abc" : string +>"" : "" +>"abc" : "abc" function foo(): string { return "abc"; } >foo : () => string ->"abc" : string +>"abc" : "abc" class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return ""; } >foo : () => string ->"" : string +>"" : "" } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsBoolean2 = delete STRING1; var ResultIsBoolean3 = delete ""; >ResultIsBoolean3 : boolean >delete "" : boolean ->"" : string +>"" : "" var ResultIsBoolean4 = delete { x: "", y: "" }; >ResultIsBoolean4 : boolean >delete { x: "", y: "" } : boolean >{ x: "", y: "" } : { x: string; y: string; } >x : string ->"" : string +>"" : "" >y : string ->"" : string +>"" : "" var ResultIsBoolean5 = delete { x: "", y: (s: string) => { return s; } }; >ResultIsBoolean5 : boolean >delete { x: "", y: (s: string) => { return s; } } : boolean >{ x: "", y: (s: string) => { return s; } } : { x: string; y: (s: string) => string; } >x : string ->"" : string +>"" : "" >y : (s: string) => string >(s: string) => { return s; } : (s: string) => string >s : string @@ -92,7 +92,7 @@ var ResultIsBoolean8 = delete STRING1[0]; >delete STRING1[0] : boolean >STRING1[0] : string >STRING1 : string[] ->0 : number +>0 : 0 var ResultIsBoolean9 = delete foo(); >ResultIsBoolean9 : boolean @@ -123,7 +123,7 @@ var ResultIsBoolean12 = delete STRING.charAt(0); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 // multiple delete operator var ResultIsBoolean13 = delete delete STRING; @@ -145,7 +145,7 @@ var ResultIsBoolean14 = delete delete delete (STRING + STRING); // miss assignment operators delete ""; >delete "" : boolean ->"" : string +>"" : "" delete STRING; >delete STRING : boolean diff --git a/tests/baselines/reference/dependencyViaImportAlias.js b/tests/baselines/reference/dependencyViaImportAlias.js index fad51e2ee1f..8e12bb9bd2c 100644 --- a/tests/baselines/reference/dependencyViaImportAlias.js +++ b/tests/baselines/reference/dependencyViaImportAlias.js @@ -21,7 +21,7 @@ define(["require", "exports"], function (require, exports) { exports.A = A; }); //// [B.js] -define(["require", "exports", 'A'], function (require, exports, a) { +define(["require", "exports", "A"], function (require, exports, a) { "use strict"; var A = a.A; return A; diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types index 2799555a3a2..5d981250698 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types @@ -227,12 +227,12 @@ var r7 = d2['']; >r7 : { foo: string; } >d2[''] : { foo: string; } >d2 : Derived2 ->'' : string +>'' : "" var r8 = d2[1]; >r8 : { foo: string; bar: string; } >d2[1] : { foo: string; bar: string; } >d2 : Derived2 ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/derivedClassSuperCallsInNonConstructorMembers.js b/tests/baselines/reference/derivedClassSuperCallsInNonConstructorMembers.js index e043ee8a5c5..50408d3bee7 100644 --- a/tests/baselines/reference/derivedClassSuperCallsInNonConstructorMembers.js +++ b/tests/baselines/reference/derivedClassSuperCallsInNonConstructorMembers.js @@ -77,6 +77,6 @@ var Derived = (function (_super) { enumerable: true, configurable: true }); - Derived.a = _super.call(this); return Derived; }(Base)); +Derived.a = _super.call(this); diff --git a/tests/baselines/reference/derivedClasses.errors.txt b/tests/baselines/reference/derivedClasses.errors.txt new file mode 100644 index 00000000000..fdd38d8c060 --- /dev/null +++ b/tests/baselines/reference/derivedClasses.errors.txt @@ -0,0 +1,36 @@ +tests/cases/compiler/derivedClasses.ts(1,19): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/derivedClasses.ts (1 errors) ==== + class Red extends Color { + ~~~~~ +!!! error TS2690: A class must be declared after its base class. + public shade() { + var getHue = () => { return this.hue(); }; + return getHue() + " red"; + } + } + + class Color { + public shade() { return "some shade"; } + public hue() { return "some hue"; } + } + + class Blue extends Color { + + public shade() { + var getHue = () => { return this.hue(); }; + return getHue() + " blue"; + } + } + + var r = new Red(); + var b = new Blue(); + + r.shade(); + r.hue(); + b.shade(); + b.hue(); + + + \ No newline at end of file diff --git a/tests/baselines/reference/derivedClasses.symbols b/tests/baselines/reference/derivedClasses.symbols deleted file mode 100644 index 61f4d7b81dc..00000000000 --- a/tests/baselines/reference/derivedClasses.symbols +++ /dev/null @@ -1,77 +0,0 @@ -=== tests/cases/compiler/derivedClasses.ts === -class Red extends Color { ->Red : Symbol(Red, Decl(derivedClasses.ts, 0, 0)) ->Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) - - public shade() { ->shade : Symbol(Red.shade, Decl(derivedClasses.ts, 0, 25)) - - var getHue = () => { return this.hue(); }; ->getHue : Symbol(getHue, Decl(derivedClasses.ts, 2, 8)) ->this.hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) ->this : Symbol(Red, Decl(derivedClasses.ts, 0, 0)) ->hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) - - return getHue() + " red"; ->getHue : Symbol(getHue, Decl(derivedClasses.ts, 2, 8)) - } -} - -class Color { ->Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) - - public shade() { return "some shade"; } ->shade : Symbol(Color.shade, Decl(derivedClasses.ts, 7, 13)) - - public hue() { return "some hue"; } ->hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) -} - -class Blue extends Color { ->Blue : Symbol(Blue, Decl(derivedClasses.ts, 10, 1)) ->Color : Symbol(Color, Decl(derivedClasses.ts, 5, 1)) - - public shade() { ->shade : Symbol(Blue.shade, Decl(derivedClasses.ts, 12, 26)) - - var getHue = () => { return this.hue(); }; ->getHue : Symbol(getHue, Decl(derivedClasses.ts, 15, 8)) ->this.hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) ->this : Symbol(Blue, Decl(derivedClasses.ts, 10, 1)) ->hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) - - return getHue() + " blue"; ->getHue : Symbol(getHue, Decl(derivedClasses.ts, 15, 8)) - } -} - -var r = new Red(); ->r : Symbol(r, Decl(derivedClasses.ts, 20, 3)) ->Red : Symbol(Red, Decl(derivedClasses.ts, 0, 0)) - -var b = new Blue(); ->b : Symbol(b, Decl(derivedClasses.ts, 21, 3)) ->Blue : Symbol(Blue, Decl(derivedClasses.ts, 10, 1)) - -r.shade(); ->r.shade : Symbol(Red.shade, Decl(derivedClasses.ts, 0, 25)) ->r : Symbol(r, Decl(derivedClasses.ts, 20, 3)) ->shade : Symbol(Red.shade, Decl(derivedClasses.ts, 0, 25)) - -r.hue(); ->r.hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) ->r : Symbol(r, Decl(derivedClasses.ts, 20, 3)) ->hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) - -b.shade(); ->b.shade : Symbol(Blue.shade, Decl(derivedClasses.ts, 12, 26)) ->b : Symbol(b, Decl(derivedClasses.ts, 21, 3)) ->shade : Symbol(Blue.shade, Decl(derivedClasses.ts, 12, 26)) - -b.hue(); ->b.hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) ->b : Symbol(b, Decl(derivedClasses.ts, 21, 3)) ->hue : Symbol(Color.hue, Decl(derivedClasses.ts, 8, 43)) - - - diff --git a/tests/baselines/reference/derivedClasses.types b/tests/baselines/reference/derivedClasses.types deleted file mode 100644 index 7fc585e29ce..00000000000 --- a/tests/baselines/reference/derivedClasses.types +++ /dev/null @@ -1,95 +0,0 @@ -=== tests/cases/compiler/derivedClasses.ts === -class Red extends Color { ->Red : Red ->Color : Color - - public shade() { ->shade : () => string - - var getHue = () => { return this.hue(); }; ->getHue : () => string ->() => { return this.hue(); } : () => string ->this.hue() : string ->this.hue : () => string ->this : this ->hue : () => string - - return getHue() + " red"; ->getHue() + " red" : string ->getHue() : string ->getHue : () => string ->" red" : string - } -} - -class Color { ->Color : Color - - public shade() { return "some shade"; } ->shade : () => string ->"some shade" : string - - public hue() { return "some hue"; } ->hue : () => string ->"some hue" : string -} - -class Blue extends Color { ->Blue : Blue ->Color : Color - - public shade() { ->shade : () => string - - var getHue = () => { return this.hue(); }; ->getHue : () => string ->() => { return this.hue(); } : () => string ->this.hue() : string ->this.hue : () => string ->this : this ->hue : () => string - - return getHue() + " blue"; ->getHue() + " blue" : string ->getHue() : string ->getHue : () => string ->" blue" : string - } -} - -var r = new Red(); ->r : Red ->new Red() : Red ->Red : typeof Red - -var b = new Blue(); ->b : Blue ->new Blue() : Blue ->Blue : typeof Blue - -r.shade(); ->r.shade() : string ->r.shade : () => string ->r : Red ->shade : () => string - -r.hue(); ->r.hue() : string ->r.hue : () => string ->r : Red ->hue : () => string - -b.shade(); ->b.shade() : string ->b.shade : () => string ->b : Blue ->shade : () => string - -b.hue(); ->b.hue() : string ->b.hue : () => string ->b : Blue ->hue : () => string - - - diff --git a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt index ab28ccc9c8d..81e43f7d8fe 100644 --- a/tests/baselines/reference/derivedGenericClassWithAny.errors.txt +++ b/tests/baselines/reference/derivedGenericClassWithAny.errors.txt @@ -2,8 +2,8 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericC tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(11,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(19,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(30,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(30,25): error TS2322: Type 'string' is not assignable to type 'T'. -tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(32,16): error TS2322: Type 'string' is not assignable to type 'T'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(30,25): error TS2322: Type '""' is not assignable to type 'T'. +tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(32,16): error TS2322: Type '""' is not assignable to type 'T'. tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts(41,1): error TS2322: Type 'E' is not assignable to type 'C'. Types of property 'x' are incompatible. Type 'string' is not assignable to type 'number'. @@ -49,11 +49,11 @@ tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericC ~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~ -!!! error TS2322: Type 'string' is not assignable to type 'T'. +!!! error TS2322: Type '""' is not assignable to type 'T'. foo(): T { return ''; // error ~~ -!!! error TS2322: Type 'string' is not assignable to type 'T'. +!!! error TS2322: Type '""' is not assignable to type 'T'. } } diff --git a/tests/baselines/reference/destructureOptionalParameter.types b/tests/baselines/reference/destructureOptionalParameter.types index 2e569dee0a0..a72b03f5939 100644 --- a/tests/baselines/reference/destructureOptionalParameter.types +++ b/tests/baselines/reference/destructureOptionalParameter.types @@ -15,9 +15,9 @@ function f2({ a, b }: { a: number, b: number } = { a: 0, b: 0 }) { >b : number >{ a: 0, b: 0 } : { a: number; b: number; } >a : number ->0 : number +>0 : 0 >b : number ->0 : number +>0 : 0 a; >a : number @@ -40,7 +40,7 @@ interface QueryMetadataFactory { >QueryMetadataFactory : QueryMetadataFactory (selector: Type | string, {descendants, read}?: { ->selector : Type | string +>selector : string | Type >Type : Type >descendants : boolean | undefined >read : any @@ -52,10 +52,10 @@ interface QueryMetadataFactory { >read : any }): ParameterDecorator; ->ParameterDecorator : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>ParameterDecorator : ParameterDecorator new (selector: Type | string, {descendants, read}?: { ->selector : Type | string +>selector : string | Type >Type : Type >descendants : boolean | undefined >read : any diff --git a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.errors.txt b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.errors.txt index 3348effe822..7fba74522e2 100644 --- a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.errors.txt +++ b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.errors.txt @@ -1,10 +1,8 @@ tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(3,6): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(3,12): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(4,5): error TS2461: Type 'undefined' is not an array type. -tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(9,5): error TS2322: Type '[number, number, string]' is not assignable to type '[number, boolean, string]'. - Types of property '1' are incompatible. - Type 'number' is not assignable to type 'boolean'. -tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(17,6): error TS2322: Type 'string' is not assignable to type 'Number'. +tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(9,5): error TS2322: Type '[number, 2, string]' is not assignable to type '[number, boolean, string]'. + Type '2' is not assignable to type 'boolean'. tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(22,5): error TS2322: Type 'number[]' is not assignable to type '[number, number]'. Property '0' is missing in type 'number[]'. tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(23,5): error TS2322: Type 'number[]' is not assignable to type '[string, string]'. @@ -12,7 +10,7 @@ tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAss tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts(34,5): error TS2461: Type 'F' is not an array type. -==== tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts (8 errors) ==== +==== tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAssignment2.ts (7 errors) ==== // V is an array assignment pattern, S is the type Any or an array-like type (section 3.3.2), and, for each assignment element E in V, // S is the type Any, or var [[a0], [[a1]]] = [] // Error @@ -29,9 +27,8 @@ tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAss // where N is the numeric index of E in the array assignment pattern, or var [b0, b1, b2]: [number, boolean, string] = [1, 2, "string"]; // Error ~~~~~~~~~~~~ -!!! error TS2322: Type '[number, number, string]' is not assignable to type '[number, boolean, string]'. -!!! error TS2322: Types of property '1' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. +!!! error TS2322: Type '[number, 2, string]' is not assignable to type '[number, boolean, string]'. +!!! error TS2322: Type '2' is not assignable to type 'boolean'. interface J extends Array { 2: number; } @@ -40,8 +37,6 @@ tests/cases/conformance/es6/destructuring/destructuringArrayBindingPatternAndAss return <[number, number, number]>[1, 2, 3]; } var [b3 = "string", b4, b5] = bar(); // Error - ~~ -!!! error TS2322: Type 'string' is not assignable to type 'Number'. // V is an array assignment pattern, S is the type Any or an array-like type (section 3.3.2), and, for each assignment element E in V, // S is not a tuple- like type and the numeric index signature type of S is assignable to the target given in E. diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault.types b/tests/baselines/reference/destructuringAssignmentWithDefault.types index 1dc1fe23533..658816a36e4 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault.types @@ -6,7 +6,7 @@ const a: { x?: number } = { }; let x = 0; >x : number ->0 : number +>0 : 0 ({x = 1} = a); >({x = 1} = a) : { x?: number | undefined; } diff --git a/tests/baselines/reference/destructuringInFunctionType.types b/tests/baselines/reference/destructuringInFunctionType.types index 0cf057e06a3..3f635d44568 100644 --- a/tests/baselines/reference/destructuringInFunctionType.types +++ b/tests/baselines/reference/destructuringInFunctionType.types @@ -19,7 +19,7 @@ type T1 = ([a, b, c]); >c : c type F1 = ([a, b, c]) => void; ->F1 : ([a, b, c]: [any, any, any]) => void +>F1 : F1 >a : any >b : any >c : any @@ -29,7 +29,7 @@ type T2 = ({ a }); >a : any type F2 = ({ a }) => void; ->F2 : ({a}: { a: any; }) => void +>F2 : F2 >a : any type T3 = ([{ a: b }, { b: a }]); @@ -40,7 +40,7 @@ type T3 = ([{ a: b }, { b: a }]); >a : a type F3 = ([{ a: b }, { b: a }]) => void; ->F3 : ([{a: b}, {b: a}]: [{ a: any; }, { b: any; }]) => void +>F3 : F3 >a : any >b : any >b : any @@ -53,13 +53,13 @@ type T4 = ([{ a: [b, c] }]); >c : c type F4 = ([{ a: [b, c] }]) => void; ->F4 : ([{a: [b, c]}]: [{ a: [any, any]; }]) => void +>F4 : F4 >a : any >b : any >c : any type C1 = new ([{ a: [b, c] }]) => void; ->C1 : new ([{a: [b, c]}]: [{ a: [any, any]; }]) => void +>C1 : C1 >a : any >b : any >c : any @@ -70,7 +70,7 @@ var v1 = ([a, b, c]) => "hello"; >a : any >b : any >c : any ->"hello" : string +>"hello" : "hello" var v2: ([a, b, c]) => string; >v2 : ([a, b, c]: [any, any, any]) => string diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.types b/tests/baselines/reference/destructuringInVariableDeclarations1.types index 84a60c844a3..4da295f5dd0 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations1.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.types @@ -1,10 +1,10 @@ === tests/cases/compiler/destructuringInVariableDeclarations1.ts === export let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.types b/tests/baselines/reference/destructuringInVariableDeclarations2.types index b7456d30285..7bda9c52ef2 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations2.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.types @@ -1,11 +1,11 @@ === tests/cases/compiler/destructuringInVariableDeclarations2.ts === let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } export {}; diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.types b/tests/baselines/reference/destructuringInVariableDeclarations3.types index 970d6deb1ed..222d4c76130 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations3.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.types @@ -1,10 +1,10 @@ === tests/cases/compiler/destructuringInVariableDeclarations3.ts === export let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.types b/tests/baselines/reference/destructuringInVariableDeclarations4.types index 628fe7a9562..7714b78eeec 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations4.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.types @@ -1,11 +1,11 @@ === tests/cases/compiler/destructuringInVariableDeclarations4.ts === let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } export {}; diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.js b/tests/baselines/reference/destructuringInVariableDeclarations5.js index 8938757adc2..48053fdbc4f 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations5.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.js @@ -6,14 +6,14 @@ export let { toString } = 1; //// [destructuringInVariableDeclarations5.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; exports.toString = (1).toString; { diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.types b/tests/baselines/reference/destructuringInVariableDeclarations5.types index 9a890916d17..d6c4b3dee7a 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations5.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.types @@ -1,10 +1,10 @@ === tests/cases/compiler/destructuringInVariableDeclarations5.ts === export let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.js b/tests/baselines/reference/destructuringInVariableDeclarations6.js index b9dddb673cf..479d4ee34af 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations6.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.js @@ -7,14 +7,14 @@ export {}; //// [destructuringInVariableDeclarations6.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; let { toString } = 1; { diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.types b/tests/baselines/reference/destructuringInVariableDeclarations6.types index cf1105b575a..d4f94ffcd03 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations6.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.types @@ -1,11 +1,11 @@ === tests/cases/compiler/destructuringInVariableDeclarations6.ts === let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } export {}; diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.js b/tests/baselines/reference/destructuringInVariableDeclarations7.js index 129a9db8d15..e7e4f803b77 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations7.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.js @@ -6,17 +6,17 @@ export let { toString } = 1; //// [destructuringInVariableDeclarations7.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var toString; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("toString", toString = (1).toString); { let { toFixed } = 1; } } - } + }; }); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.types b/tests/baselines/reference/destructuringInVariableDeclarations7.types index c0c1b571215..e4f4603567b 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations7.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.types @@ -1,10 +1,10 @@ === tests/cases/compiler/destructuringInVariableDeclarations7.ts === export let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.js b/tests/baselines/reference/destructuringInVariableDeclarations8.js index bc19fa118f6..12340433bf4 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations8.js +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.js @@ -7,17 +7,17 @@ export {}; //// [destructuringInVariableDeclarations8.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var toString; return { - setters:[], - execute: function() { - ({ toString } = 1); + setters: [], + execute: function () { + toString = (1).toString; { let { toFixed } = 1; } } - } + }; }); diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.types b/tests/baselines/reference/destructuringInVariableDeclarations8.types index ef376563551..c79650d5724 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations8.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.types @@ -1,11 +1,11 @@ === tests/cases/compiler/destructuringInVariableDeclarations8.ts === let { toString } = 1; >toString : (radix?: number) => string ->1 : number +>1 : 1 { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string ->1 : number +>1 : 1 } export {}; diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types index cb6052d93fd..e0aedcbb167 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types @@ -19,31 +19,31 @@ var { b1, } = { b1:1, }; >b1 : number >{ b1:1, } : { b1: number; } >b1 : number ->1 : number +>1 : 1 var { b2: { b21 } = { b21: "string" } } = { b2: { b21: "world" } }; >b2 : any >b21 : string >{ b21: "string" } : { b21: string; } >b21 : string ->"string" : string +>"string" : "string" >{ b2: { b21: "world" } } : { b2?: { b21: string; }; } >b2 : { b21: string; } >{ b21: "world" } : { b21: string; } >b21 : string ->"world" : string +>"world" : "world" var {1: b3} = { 1: "string" }; >b3 : string >{ 1: "string" } : { 1: string; } ->"string" : string +>"string" : "string" var {b4 = 1}: any = { b4: 100000 }; >b4 : number ->1 : number +>1 : 1 >{ b4: 100000 } : { b4: number; } >b4 : number ->100000 : number +>100000 : 100000 var {b5: { b52 } } = { b5: { b52 } }; >b5 : any @@ -69,10 +69,10 @@ function foo(): F { >F : F return { ->{ 1: true } : { 1: boolean; } +>{ 1: true } : { 1: true; } 1: true ->true : boolean +>true : true }; } @@ -82,10 +82,10 @@ function bar(): F { >F : F return { ->{ 2: true } : { 2: boolean; } +>{ 2: true } : { 2: true; } 2: true ->true : boolean +>true : true }; } @@ -117,7 +117,7 @@ function foo1(): F1 { >{ "prop1": 2 } : { "prop1": number; } "prop1": 2 ->2 : number +>2 : 2 } } diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types index 2d77c20f65b..7d68d32ac51 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types @@ -19,31 +19,31 @@ var { b1, } = { b1:1, }; >b1 : number >{ b1:1, } : { b1: number; } >b1 : number ->1 : number +>1 : 1 var { b2: { b21 } = { b21: "string" } } = { b2: { b21: "world" } }; >b2 : any >b21 : string >{ b21: "string" } : { b21: string; } >b21 : string ->"string" : string +>"string" : "string" >{ b2: { b21: "world" } } : { b2?: { b21: string; }; } >b2 : { b21: string; } >{ b21: "world" } : { b21: string; } >b21 : string ->"world" : string +>"world" : "world" var {1: b3} = { 1: "string" }; >b3 : string >{ 1: "string" } : { 1: string; } ->"string" : string +>"string" : "string" var {b4 = 1}: any = { b4: 100000 }; >b4 : number ->1 : number +>1 : 1 >{ b4: 100000 } : { b4: number; } >b4 : number ->100000 : number +>100000 : 100000 var {b5: { b52 } } = { b5: { b52 } }; >b5 : any @@ -69,10 +69,10 @@ function foo(): F { >F : F return { ->{ 1: true } : { 1: boolean; } +>{ 1: true } : { 1: true; } 1: true ->true : boolean +>true : true }; } @@ -82,10 +82,10 @@ function bar(): F { >F : F return { ->{ 2: true } : { 2: boolean; } +>{ 2: true } : { 2: true; } 2: true ->true : boolean +>true : true }; } @@ -117,7 +117,7 @@ function foo1(): F1 { >{ "prop1": 2 } : { "prop1": number; } "prop1": 2 ->2 : number +>2 : 2 } } diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES6.js b/tests/baselines/reference/destructuringParameterDeclaration1ES6.js index f5c79c5fe88..3a155b14fd5 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES6.js +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES6.js @@ -145,8 +145,7 @@ c3({ b: 1 }); // Implied type is { b: number|string }. c5([1, 2, [["string"]]]); // Implied type is is [any, any, [[any]]] c5([1, 2, [["string"]], false, true]); // Implied type is is [any, any, [[any]]] class C2 { - constructor() { - } + constructor() { } d3() { } d4() { } e0([a, b, c]) { } diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt index d68220c8308..d76a4efe5f1 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt @@ -1,11 +1,10 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(7,4): error TS2345: Argument of type '[number, string, string[][]]' is not assignable to parameter of type '[number, number, string[][]]'. - Types of property '1' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(7,29): error TS1005: ',' expected. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(8,4): error TS2345: Argument of type '[number, number, string[][], string]' is not assignable to parameter of type '[number, number, string[][]]'. Types of property 'pop' are incompatible. - Type '() => number | string[][] | string' is not assignable to type '() => number | string[][]'. - Type 'number | string[][] | string' is not assignable to type 'number | string[][]'. + Type '() => string | number | string[][]' is not assignable to type '() => number | string[][]'. + Type 'string | number | string[][]' is not assignable to type 'number | string[][]'. Type 'string' is not assignable to type 'number | string[][]'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(16,8): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(16,16): error TS2371: A parameter initializer is only allowed in a function or constructor implementation. @@ -25,19 +24,16 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(37,4): error TS2345: Argument of type '{ z: boolean; }' is not assignable to parameter of type '{ z?: number; }'. Types of property 'z' are incompatible. Type 'boolean' is not assignable to type 'number'. -tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(38,4): error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: number | string; }'. +tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(38,4): error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: string | number; }'. Types of property 'b' are incompatible. - Type 'boolean' is not assignable to type 'number | string'. + Type 'boolean' is not assignable to type 'string | number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(39,4): error TS2345: Argument of type '[number, number, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. Types of property '2' are incompatible. Type 'boolean' is not assignable to type '[[any]]'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(40,4): error TS2345: Argument of type '[number, number, [[string]]]' is not assignable to parameter of type '[any, any, [[number]]]'. - Types of property '2' are incompatible. - Type '[[string]]' is not assignable to type '[[number]]'. - Types of property '0' are incompatible. - Type '[string]' is not assignable to type '[number]'. - Types of property '0' are incompatible. - Type 'string' is not assignable to type 'number'. + Type '[[string]]' is not assignable to type '[[number]]'. + Type '[string]' is not assignable to type '[number]'. + Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(46,13): error TS2463: A binding pattern parameter cannot be optional in an implementation signature. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(47,13): error TS2463: A binding pattern parameter cannot be optional in an implementation signature. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts(55,7): error TS2420: Class 'C4' incorrectly implements interface 'F2'. @@ -62,16 +58,15 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( a0([1, "string", [["world"]]); // Error ~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[number, string, string[][]]' is not assignable to parameter of type '[number, number, string[][]]'. -!!! error TS2345: Types of property '1' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. ~ !!! error TS1005: ',' expected. a0([1, 2, [["world"]], "string"]); // Error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[number, number, string[][], string]' is not assignable to parameter of type '[number, number, string[][]]'. !!! error TS2345: Types of property 'pop' are incompatible. -!!! error TS2345: Type '() => number | string[][] | string' is not assignable to type '() => number | string[][]'. -!!! error TS2345: Type 'number | string[][] | string' is not assignable to type 'number | string[][]'. +!!! error TS2345: Type '() => string | number | string[][]' is not assignable to type '() => number | string[][]'. +!!! error TS2345: Type 'string | number | string[][]' is not assignable to type 'number | string[][]'. !!! error TS2345: Type 'string' is not assignable to type 'number | string[][]'. @@ -131,9 +126,9 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( !!! error TS2345: Type 'boolean' is not assignable to type 'number'. c3({ b: true }); // Error, implied type is { b: number|string }. ~~~~~~~~~~~ -!!! error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: number | string; }'. +!!! error TS2345: Argument of type '{ b: boolean; }' is not assignable to parameter of type '{ b: string | number; }'. !!! error TS2345: Types of property 'b' are incompatible. -!!! error TS2345: Type 'boolean' is not assignable to type 'number | string'. +!!! error TS2345: Type 'boolean' is not assignable to type 'string | number'. c5([1, 2, false, true]); // Error, implied type is [any, any, [[any]]] ~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[number, number, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. @@ -142,12 +137,9 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( c6([1, 2, [["string"]]]); // Error, implied type is [any, any, [[number]]] // Use initializer ~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[number, number, [[string]]]' is not assignable to parameter of type '[any, any, [[number]]]'. -!!! error TS2345: Types of property '2' are incompatible. -!!! error TS2345: Type '[[string]]' is not assignable to type '[[number]]'. -!!! error TS2345: Types of property '0' are incompatible. -!!! error TS2345: Type '[string]' is not assignable to type '[number]'. -!!! error TS2345: Types of property '0' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'number'. +!!! error TS2345: Type '[[string]]' is not assignable to type '[[number]]'. +!!! error TS2345: Type '[string]' is not assignable to type '[number]'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. // A parameter can be marked optional by following its name or binding pattern with a question mark (?) // or by including an initializer. Initializers (including binding property or element initializers) are diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types index b8d48dcb9d4..7d4662100ed 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types @@ -12,7 +12,7 @@ type arrayString = Array >String : String type someArray = Array | number[]; ->someArray : String[] | number[] +>someArray : someArray >Array : T[] >String : String @@ -23,8 +23,8 @@ type stringOrNumArray = Array; >Number : Number function a1(...x: (number|string)[]) { } ->a1 : (...x: (number | string)[]) => void ->x : (number | string)[] +>a1 : (...x: (string | number)[]) => void +>x : (string | number)[] function a2(...a) { } >a2 : (...a: any[]) => void @@ -70,16 +70,16 @@ function a11([a, b, c, ...x]: number[]) { } var array = [1, 2, 3]; >array : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var array2 = [true, false, "hello"]; ->array2 : (boolean | string)[] ->[true, false, "hello"] : (boolean | string)[] ->true : boolean ->false : boolean ->"hello" : string +>array2 : (string | boolean)[] +>[true, false, "hello"] : (string | boolean)[] +>true : true +>false : false +>"hello" : "hello" a2([...array]); >a2([...array]) : void @@ -90,7 +90,7 @@ a2([...array]); a1(...array); >a1(...array) : void ->a1 : (...x: (number | string)[]) => void +>a1 : (...x: (string | number)[]) => void >...array : number >array : number[] @@ -98,49 +98,49 @@ a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]] >a9([1, 2, [["string"]], false, true]) : void >a9 : ([a, b, [[c]]]: [any, any, [[any]]]) => void >[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >[["string"]] : [[string]] >["string"] : [string] ->"string" : string ->false : boolean ->true : boolean +>"string" : "string" +>false : false +>true : true a10([1, 2, [["string"]], false, true]); // Parameter type is any[] >a10([1, 2, [["string"]], false, true]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void ->[1, 2, [["string"]], false, true] : (number | string[][] | boolean)[] ->1 : number ->2 : number +>[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>1 : 1 +>2 : 2 >[["string"]] : string[][] >["string"] : string[] ->"string" : string ->false : boolean ->true : boolean +>"string" : "string" +>false : false +>true : true a10([1, 2, 3, false, true]); // Parameter type is any[] >a10([1, 2, 3, false, true]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void >[1, 2, 3, false, true] : (number | boolean)[] ->1 : number ->2 : number ->3 : number ->false : boolean ->true : boolean +>1 : 1 +>2 : 2 +>3 : 3 +>false : false +>true : true a10([1, 2]); // Parameter type is any[] >a10([1, 2]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 a11([1, 2]); // Parameter type is number[] >a11([1, 2]) : void >a11 : ([a, b, c, ...x]: number[]) => void >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 // Rest parameter with generic function foo(...a: T[]) { } @@ -152,25 +152,25 @@ function foo(...a: T[]) { } foo("hello", 1, 2); >foo("hello", 1, 2) : void >foo : (...a: T[]) => void ->"hello" : string ->1 : number ->2 : number +>"hello" : "hello" +>1 : 1 +>2 : 2 foo("hello", "world"); >foo("hello", "world") : void >foo : (...a: T[]) => void ->"hello" : string ->"world" : string +>"hello" : "hello" +>"world" : "world" enum E { a, b } >E : E ->a : E ->b : E +>a : E.a +>b : E.b const enum E1 { a, b } >E1 : E1 ->a : E1 ->b : E1 +>a : E1.a +>b : E1.b function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void @@ -182,25 +182,25 @@ function foo1(...a: T[]) { } foo1(1, 2, 3, E.a); >foo1(1, 2, 3, E.a) : void >foo1 : (...a: T[]) => void ->1 : number ->2 : number ->3 : number ->E.a : E +>1 : 1 +>2 : 2 +>3 : 3 +>E.a : E.a >E : typeof E ->a : E +>a : E.a foo1(1, 2, 3, E1.a, E.b); >foo1(1, 2, 3, E1.a, E.b) : void >foo1 : (...a: T[]) => void ->1 : number ->2 : number ->3 : number ->E1.a : E1 +>1 : 1 +>2 : 2 +>3 : 3 +>E1.a : E1.a >E1 : typeof E1 ->a : E1 ->E.b : E +>a : E1.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types index b439c4134ba..8ec0a27850b 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types @@ -12,7 +12,7 @@ type arrayString = Array >String : String type someArray = Array | number[]; ->someArray : String[] | number[] +>someArray : someArray >Array : T[] >String : String @@ -23,8 +23,8 @@ type stringOrNumArray = Array; >Number : Number function a1(...x: (number|string)[]) { } ->a1 : (...x: (number | string)[]) => void ->x : (number | string)[] +>a1 : (...x: (string | number)[]) => void +>x : (string | number)[] function a2(...a) { } >a2 : (...a: any[]) => void @@ -70,16 +70,16 @@ function a11([a, b, c, ...x]: number[]) { } var array = [1, 2, 3]; >array : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var array2 = [true, false, "hello"]; ->array2 : (boolean | string)[] ->[true, false, "hello"] : (boolean | string)[] ->true : boolean ->false : boolean ->"hello" : string +>array2 : (string | boolean)[] +>[true, false, "hello"] : (string | boolean)[] +>true : true +>false : false +>"hello" : "hello" a2([...array]); >a2([...array]) : void @@ -90,7 +90,7 @@ a2([...array]); a1(...array); >a1(...array) : void ->a1 : (...x: (number | string)[]) => void +>a1 : (...x: (string | number)[]) => void >...array : number >array : number[] @@ -98,49 +98,49 @@ a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]] >a9([1, 2, [["string"]], false, true]) : void >a9 : ([a, b, [[c]]]: [any, any, [[any]]]) => void >[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >[["string"]] : [[string]] >["string"] : [string] ->"string" : string ->false : boolean ->true : boolean +>"string" : "string" +>false : false +>true : true a10([1, 2, [["string"]], false, true]); // Parameter type is any[] >a10([1, 2, [["string"]], false, true]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void ->[1, 2, [["string"]], false, true] : (number | string[][] | boolean)[] ->1 : number ->2 : number +>[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>1 : 1 +>2 : 2 >[["string"]] : string[][] >["string"] : string[] ->"string" : string ->false : boolean ->true : boolean +>"string" : "string" +>false : false +>true : true a10([1, 2, 3, false, true]); // Parameter type is any[] >a10([1, 2, 3, false, true]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void >[1, 2, 3, false, true] : (number | boolean)[] ->1 : number ->2 : number ->3 : number ->false : boolean ->true : boolean +>1 : 1 +>2 : 2 +>3 : 3 +>false : false +>true : true a10([1, 2]); // Parameter type is any[] >a10([1, 2]) : void >a10 : ([a, b, [[c]], ...x]: Iterable) => void >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 a11([1, 2]); // Parameter type is number[] >a11([1, 2]) : void >a11 : ([a, b, c, ...x]: number[]) => void >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 // Rest parameter with generic function foo(...a: T[]) { } @@ -152,25 +152,25 @@ function foo(...a: T[]) { } foo("hello", 1, 2); >foo("hello", 1, 2) : void >foo : (...a: T[]) => void ->"hello" : string ->1 : number ->2 : number +>"hello" : "hello" +>1 : 1 +>2 : 2 foo("hello", "world"); >foo("hello", "world") : void >foo : (...a: T[]) => void ->"hello" : string ->"world" : string +>"hello" : "hello" +>"world" : "world" enum E { a, b } >E : E ->a : E ->b : E +>a : E.a +>b : E.b const enum E1 { a, b } >E1 : E1 ->a : E1 ->b : E1 +>a : E1.a +>b : E1.b function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void @@ -182,25 +182,25 @@ function foo1(...a: T[]) { } foo1(1, 2, 3, E.a); >foo1(1, 2, 3, E.a) : void >foo1 : (...a: T[]) => void ->1 : number ->2 : number ->3 : number ->E.a : E +>1 : 1 +>2 : 2 +>3 : 3 +>E.a : E.a >E : typeof E ->a : E +>a : E.a foo1(1, 2, 3, E1.a, E.b); >foo1(1, 2, 3, E1.a, E.b) : void >foo1 : (...a: T[]) => void ->1 : number ->2 : number ->3 : number ->E1.a : E1 +>1 : 1 +>2 : 2 +>3 : 3 +>E1.a : E1.a >E1 : typeof E1 ->a : E1 ->E.b : E +>a : E1.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt index 89c771139ce..8db71591f47 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt @@ -2,15 +2,15 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts( tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(13,13): error TS2370: A rest parameter must be of an array type. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(14,17): error TS1047: A rest parameter cannot be optional. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(15,16): error TS1048: A rest parameter cannot have an initializer. -tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(20,19): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number | string'. +tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(20,19): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string | number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(21,7): error TS2304: Cannot find name 'array2'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(22,4): error TS2345: Argument of type '[number, number, string, boolean, boolean]' is not assignable to parameter of type '[any, any, [[any]]]'. Types of property '2' are incompatible. Type 'string' is not assignable to type '[[any]]'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(23,4): error TS2345: Argument of type '[number, number]' is not assignable to parameter of type '[any, any, [[any]]]'. Property '2' is missing in type '[number, number]'. -tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(24,4): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. - Type 'number | string' is not assignable to type 'number'. +tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(24,4): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(29,17): error TS1317: A parameter property cannot be declared using a rest parameter. tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts(34,22): error TS2304: Cannot find name 'E1'. @@ -47,7 +47,7 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts( a1(1, 2, "hello", true); // Error, parameter type is (number|string)[] ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number | string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string | number'. a1(...array2); // Error parameter type is (number|string)[] ~~~~~~ !!! error TS2304: Cannot find name 'array2'. @@ -62,8 +62,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts( !!! error TS2345: Property '2' is missing in type '[number, number]'. a6([1, 2, "string"]); // Error, parameter type is number[] ~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'number'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'number'. !!! error TS2345: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/destructuringParameterDeclaration6.js b/tests/baselines/reference/destructuringParameterDeclaration6.js index f34f2d695ce..ad86b2983b3 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration6.js +++ b/tests/baselines/reference/destructuringParameterDeclaration6.js @@ -32,10 +32,17 @@ function a(_a) { function a1(_a) { var public = _a.public; } +function a4(_a) { } while (, ) for (, public; ; ) ; { } +function a5() { + var = []; + for (var _i = 0; _i < arguments.length; _i++) { + [_i - 0] = arguments[_i]; + } +} while () { } function a6() { var public = []; diff --git a/tests/baselines/reference/destructuringParameterProperties1.js b/tests/baselines/reference/destructuringParameterProperties1.js index 55d62d6720e..cfe16d642d3 100644 --- a/tests/baselines/reference/destructuringParameterProperties1.js +++ b/tests/baselines/reference/destructuringParameterProperties1.js @@ -33,21 +33,18 @@ var [c3_x, c3_y, c3_z] = [c3.x, c3.y, c3.z]; var C1 = (function () { function C1(_a) { var x = _a[0], y = _a[1], z = _a[2]; - this.[x, y, z] = [x, y, z]; } return C1; }()); var C2 = (function () { function C2(_a) { var x = _a[0], y = _a[1], z = _a[2]; - this.[x, y, z] = [x, y, z]; } return C2; }()); var C3 = (function () { function C3(_a) { var x = _a.x, y = _a.y, z = _a.z; - this.{ x, y, z } = { x, y, z }; } return C3; }()); diff --git a/tests/baselines/reference/destructuringParameterProperties2.errors.txt b/tests/baselines/reference/destructuringParameterProperties2.errors.txt index ec0f400631f..d47e50db853 100644 --- a/tests/baselines/reference/destructuringParameterProperties2.errors.txt +++ b/tests/baselines/reference/destructuringParameterProperties2.errors.txt @@ -5,9 +5,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(4 tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(9,21): error TS2339: Property 'a' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(13,21): error TS2339: Property 'b' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(17,21): error TS2339: Property 'c' does not exist on type 'C1'. -tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(21,27): error TS2345: Argument of type '[number, undefined, string]' is not assignable to parameter of type '[number, string, boolean]'. - Types of property '2' are incompatible. - Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(21,27): error TS2345: Argument of type '[number, undefined, ""]' is not assignable to parameter of type '[number, string, boolean]'. + Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts (8 errors) ==== @@ -47,9 +46,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(2 var x = new C1(undefined, [0, undefined, ""]); ~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '[number, undefined, string]' is not assignable to parameter of type '[number, string, boolean]'. -!!! error TS2345: Types of property '2' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'boolean'. +!!! error TS2345: Argument of type '[number, undefined, ""]' is not assignable to parameter of type '[number, string, boolean]'. +!!! error TS2345: Type '""' is not assignable to type 'boolean'. var [x_a, x_b, x_c] = [x.getA(), x.getB(), x.getC()]; var y = new C1(10, [0, "", true]); diff --git a/tests/baselines/reference/destructuringParameterProperties2.js b/tests/baselines/reference/destructuringParameterProperties2.js index 086585fac8e..4dd12bdc317 100644 --- a/tests/baselines/reference/destructuringParameterProperties2.js +++ b/tests/baselines/reference/destructuringParameterProperties2.js @@ -34,7 +34,6 @@ var C1 = (function () { function C1(k, _a) { var a = _a[0], b = _a[1], c = _a[2]; this.k = k; - this.[a, b, c] = [a, b, c]; if ((b === undefined && c === undefined) || (this.b === undefined && this.c === undefined)) { this.a = a || k; } diff --git a/tests/baselines/reference/destructuringParameterProperties3.js b/tests/baselines/reference/destructuringParameterProperties3.js index 71992019015..d9b0c5aebf6 100644 --- a/tests/baselines/reference/destructuringParameterProperties3.js +++ b/tests/baselines/reference/destructuringParameterProperties3.js @@ -37,7 +37,6 @@ var C1 = (function () { function C1(k, _a) { var a = _a[0], b = _a[1], c = _a[2]; this.k = k; - this.[a, b, c] = [a, b, c]; if ((b === undefined && c === undefined) || (this.b === undefined && this.c === undefined)) { this.a = a || k; } diff --git a/tests/baselines/reference/destructuringParameterProperties4.js b/tests/baselines/reference/destructuringParameterProperties4.js index cd6334c8568..aa8087cfde6 100644 --- a/tests/baselines/reference/destructuringParameterProperties4.js +++ b/tests/baselines/reference/destructuringParameterProperties4.js @@ -31,7 +31,6 @@ class C2 extends C1 { class C1 { constructor(k, [a, b, c]) { this.k = k; - this.[a, b, c] = [a, b, c]; if ((b === undefined && c === undefined) || (this.b === undefined && this.c === undefined)) { this.a = a || k; } diff --git a/tests/baselines/reference/destructuringParameterProperties5.errors.txt b/tests/baselines/reference/destructuringParameterProperties5.errors.txt index 6f5801b7898..8eff6ad0feb 100644 --- a/tests/baselines/reference/destructuringParameterProperties5.errors.txt +++ b/tests/baselines/reference/destructuringParameterProperties5.errors.txt @@ -8,9 +8,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7 tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,62): error TS2339: Property 'y' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(7,72): error TS2339: Property 'z' does not exist on type 'C1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,19): error TS2345: Argument of type '[{ x1: number; x2: string; x3: boolean; }, string, boolean]' is not assignable to parameter of type '[{ x: number; y: string; z: boolean; }, number, string]'. - Types of property '0' are incompatible. - Type '{ x1: number; x2: string; x3: boolean; }' is not assignable to type '{ x: number; y: string; z: boolean; }'. - Object literal may only specify known properties, and 'x1' does not exist in type '{ x: number; y: string; z: boolean; }'. + Type '{ x1: number; x2: string; x3: boolean; }' is not assignable to type '{ x: number; y: string; z: boolean; }'. + Object literal may only specify known properties, and 'x1' does not exist in type '{ x: number; y: string; z: boolean; }'. ==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts (10 errors) ==== @@ -45,7 +44,6 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(1 var a = new C1([{ x1: 10, x2: "", x3: true }, "", false]); ~~~~~~ !!! error TS2345: Argument of type '[{ x1: number; x2: string; x3: boolean; }, string, boolean]' is not assignable to parameter of type '[{ x: number; y: string; z: boolean; }, number, string]'. -!!! error TS2345: Types of property '0' are incompatible. -!!! error TS2345: Type '{ x1: number; x2: string; x3: boolean; }' is not assignable to type '{ x: number; y: string; z: boolean; }'. -!!! error TS2345: Object literal may only specify known properties, and 'x1' does not exist in type '{ x: number; y: string; z: boolean; }'. +!!! error TS2345: Type '{ x1: number; x2: string; x3: boolean; }' is not assignable to type '{ x: number; y: string; z: boolean; }'. +!!! error TS2345: Object literal may only specify known properties, and 'x1' does not exist in type '{ x: number; y: string; z: boolean; }'. var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; \ No newline at end of file diff --git a/tests/baselines/reference/destructuringParameterProperties5.js b/tests/baselines/reference/destructuringParameterProperties5.js index d857ea040a8..f07f6e9f5a5 100644 --- a/tests/baselines/reference/destructuringParameterProperties5.js +++ b/tests/baselines/reference/destructuringParameterProperties5.js @@ -16,7 +16,6 @@ var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; var C1 = (function () { function C1(_a) { var _b = _a[0], x1 = _b.x1, x2 = _b.x2, x3 = _b.x3, y = _a[1], z = _a[2]; - this.[{ x1, x2, x3 }, y, z] = [{ x1, x2, x3 }, y, z]; var foo = x1 || x2 || x3 || y || z; var bar = this.x1 || this.x2 || this.x3 || this.y || this.z; } diff --git a/tests/baselines/reference/destructuringTypeAssertionsES5_5.types b/tests/baselines/reference/destructuringTypeAssertionsES5_5.types index a7111cc4361..87c38ef7108 100644 --- a/tests/baselines/reference/destructuringTypeAssertionsES5_5.types +++ b/tests/baselines/reference/destructuringTypeAssertionsES5_5.types @@ -2,5 +2,5 @@ var { x } = 0; >x : any >0 : any ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types index f8188147a79..6f95b198434 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types @@ -8,20 +8,20 @@ var {a1, a2}: { a1: number, a2: string } = { a1: 10, a2: "world" } >a2 : string >{ a1: 10, a2: "world" } : { a1: number; a2: string; } >a1 : number ->10 : number +>10 : 10 >a2 : string ->"world" : string +>"world" : "world" var [a3, [[a4]], a5]: [number, [[string]], boolean] = [1, [["hello"]], true]; >a3 : number >a4 : string >a5 : boolean ->[1, [["hello"]], true] : [number, [[string]], boolean] ->1 : number +>[1, [["hello"]], true] : [number, [[string]], true] +>1 : 1 >[["hello"]] : [[string]] >["hello"] : [string] ->"hello" : string ->true : boolean +>"hello" : "hello" +>true : true // The type T associated with a destructuring variable declaration is determined as follows: // Otherwise, if the declaration includes an initializer expression, T is the type of that initializer expression. @@ -30,43 +30,43 @@ var { b1: { b11 } = { b11: "string" } } = { b1: { b11: "world" } }; >b11 : string >{ b11: "string" } : { b11: string; } >b11 : string ->"string" : string +>"string" : "string" >{ b1: { b11: "world" } } : { b1?: { b11: string; }; } >b1 : { b11: string; } >{ b11: "world" } : { b11: string; } >b11 : string ->"world" : string +>"world" : "world" var temp = { t1: true, t2: "false" }; >temp : { t1: boolean; t2: string; } >{ t1: true, t2: "false" } : { t1: boolean; t2: string; } >t1 : boolean ->true : boolean +>true : true >t2 : string ->"false" : string +>"false" : "false" var [b2 = 3, b3 = true, b4 = temp] = [3, false, { t1: false, t2: "hello" }]; >b2 : number ->3 : number +>3 : 3 >b3 : boolean ->true : boolean +>true : true >b4 : { t1: boolean; t2: string; } >temp : { t1: boolean; t2: string; } ->[3, false, { t1: false, t2: "hello" }] : [number, boolean, { t1: boolean; t2: string; }] ->3 : number ->false : boolean ->{ t1: false, t2: "hello" } : { t1: boolean; t2: string; } +>[3, false, { t1: false, t2: "hello" }] : [number, false, { t1: false; t2: string; }] +>3 : 3 +>false : false +>{ t1: false, t2: "hello" } : { t1: false; t2: string; } >t1 : boolean ->false : boolean +>false : false >t2 : string ->"hello" : string +>"hello" : "hello" var [b5 = 3, b6 = true, b7 = temp] = [undefined, undefined, undefined]; ->b5 : any ->3 : number ->b6 : any ->true : boolean ->b7 : any +>b5 : 3 +>3 : 3 +>b6 : true +>true : true +>b7 : { t1: boolean; t2: string; } >temp : { t1: boolean; t2: string; } >[undefined, undefined, undefined] : [undefined, undefined, undefined] >undefined : undefined @@ -79,17 +79,17 @@ var [b5 = 3, b6 = true, b7 = temp] = [undefined, undefined, undefined]; var [...c1] = [1,2,3]; >c1 : number[] >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [...c2] = [1,2,3, "string"]; ->c2 : (number | string)[] ->[1,2,3, "string"] : (number | string)[] ->1 : number ->2 : number ->3 : number ->"string" : string +>c2 : (string | number)[] +>[1,2,3, "string"] : (string | number)[] +>1 : 1 +>2 : 2 +>3 : 3 +>"string" : "string" // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): @@ -99,8 +99,8 @@ var [d1,d2] = [1,"string"] >d1 : number >d2 : string >[1,"string"] : [number, string] ->1 : number ->"string" : string +>1 : 1 +>"string" : "string" // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): @@ -108,16 +108,16 @@ var [d1,d2] = [1,"string"] var temp1 = [true, false, true] >temp1 : boolean[] >[true, false, true] : boolean[] ->true : boolean ->false : boolean ->true : boolean +>true : true +>false : false +>true : true var [d3, d4] = [1, "string", ...temp1]; ->d3 : number | string | boolean ->d4 : number | string | boolean ->[1, "string", ...temp1] : (number | string | boolean)[] ->1 : number ->"string" : string +>d3 : string | number | boolean +>d4 : string | number | boolean +>[1, "string", ...temp1] : (string | number | boolean)[] +>1 : 1 +>"string" : "string" >...temp1 : boolean >temp1 : boolean[] @@ -129,19 +129,19 @@ var {e: [e1, e2, e3 = { b1: 1000, b4: 200 }]} = { e: [1, 2, { b1: 4, b4: 0 }] }; >e3 : { b1: number; b4: number; } >{ b1: 1000, b4: 200 } : { b1: number; b4: number; } >b1 : number ->1000 : number +>1000 : 1000 >b4 : number ->200 : number +>200 : 200 >{ e: [1, 2, { b1: 4, b4: 0 }] } : { e: [number, number, { b1: number; b4: number; }]; } >e : [number, number, { b1: number; b4: number; }] >[1, 2, { b1: 4, b4: 0 }] : [number, number, { b1: number; b4: number; }] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >{ b1: 4, b4: 0 } : { b1: number; b4: number; } >b1 : number ->4 : number +>4 : 4 >b4 : number ->0 : number +>0 : 0 var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; >f : any @@ -154,13 +154,13 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; >{ f: [1, 2, { f3: 4, f5: 0 }] } : { f: [number, number, { f3: number; f5: number; }, any]; } >f : [number, number, { f3: number; f5: number; }, any] >[1, 2, { f3: 4, f5: 0 }] : [number, number, { f3: number; f5: number; }, any] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >{ f3: 4, f5: 0 } : { f3: number; f5: number; } >f3 : number ->4 : number +>4 : 4 >f5 : number ->0 : number +>0 : 0 // When a destructuring variable declaration, binding property, or binding element specifies // an initializer expression, the type of the initializer expression is required to be assignable @@ -178,8 +178,8 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >{ g1: [1, 2] } : { g1: number[]; } >g1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any @@ -194,7 +194,7 @@ var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } >{ h1: [1, 2] } : { h1: number[]; } >h1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types index 7b4fe5409db..d01326991c0 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types @@ -8,20 +8,20 @@ var {a1, a2}: { a1: number, a2: string } = { a1: 10, a2: "world" } >a2 : string >{ a1: 10, a2: "world" } : { a1: number; a2: string; } >a1 : number ->10 : number +>10 : 10 >a2 : string ->"world" : string +>"world" : "world" var [a3, [[a4]], a5]: [number, [[string]], boolean] = [1, [["hello"]], true]; >a3 : number >a4 : string >a5 : boolean ->[1, [["hello"]], true] : [number, [[string]], boolean] ->1 : number +>[1, [["hello"]], true] : [number, [[string]], true] +>1 : 1 >[["hello"]] : [[string]] >["hello"] : [string] ->"hello" : string ->true : boolean +>"hello" : "hello" +>true : true // The type T associated with a destructuring variable declaration is determined as follows: // Otherwise, if the declaration includes an initializer expression, T is the type of that initializer expression. @@ -30,43 +30,43 @@ var { b1: { b11 } = { b11: "string" } } = { b1: { b11: "world" } }; >b11 : string >{ b11: "string" } : { b11: string; } >b11 : string ->"string" : string +>"string" : "string" >{ b1: { b11: "world" } } : { b1?: { b11: string; }; } >b1 : { b11: string; } >{ b11: "world" } : { b11: string; } >b11 : string ->"world" : string +>"world" : "world" var temp = { t1: true, t2: "false" }; >temp : { t1: boolean; t2: string; } >{ t1: true, t2: "false" } : { t1: boolean; t2: string; } >t1 : boolean ->true : boolean +>true : true >t2 : string ->"false" : string +>"false" : "false" var [b2 = 3, b3 = true, b4 = temp] = [3, false, { t1: false, t2: "hello" }]; >b2 : number ->3 : number +>3 : 3 >b3 : boolean ->true : boolean +>true : true >b4 : { t1: boolean; t2: string; } >temp : { t1: boolean; t2: string; } ->[3, false, { t1: false, t2: "hello" }] : [number, boolean, { t1: boolean; t2: string; }] ->3 : number ->false : boolean ->{ t1: false, t2: "hello" } : { t1: boolean; t2: string; } +>[3, false, { t1: false, t2: "hello" }] : [number, false, { t1: false; t2: string; }] +>3 : 3 +>false : false +>{ t1: false, t2: "hello" } : { t1: false; t2: string; } >t1 : boolean ->false : boolean +>false : false >t2 : string ->"hello" : string +>"hello" : "hello" var [b5 = 3, b6 = true, b7 = temp] = [undefined, undefined, undefined]; ->b5 : any ->3 : number ->b6 : any ->true : boolean ->b7 : any +>b5 : 3 +>3 : 3 +>b6 : true +>true : true +>b7 : { t1: boolean; t2: string; } >temp : { t1: boolean; t2: string; } >[undefined, undefined, undefined] : [undefined, undefined, undefined] >undefined : undefined @@ -79,17 +79,17 @@ var [b5 = 3, b6 = true, b7 = temp] = [undefined, undefined, undefined]; var [...c1] = [1,2,3]; >c1 : number[] >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var [...c2] = [1,2,3, "string"]; ->c2 : (number | string)[] ->[1,2,3, "string"] : (number | string)[] ->1 : number ->2 : number ->3 : number ->"string" : string +>c2 : (string | number)[] +>[1,2,3, "string"] : (string | number)[] +>1 : 1 +>2 : 2 +>3 : 3 +>"string" : "string" // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): @@ -99,8 +99,8 @@ var [d1,d2] = [1,"string"] >d1 : number >d2 : string >[1,"string"] : [number, string] ->1 : number ->"string" : string +>1 : 1 +>"string" : "string" // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): @@ -108,16 +108,16 @@ var [d1,d2] = [1,"string"] var temp1 = [true, false, true] >temp1 : boolean[] >[true, false, true] : boolean[] ->true : boolean ->false : boolean ->true : boolean +>true : true +>false : false +>true : true var [d3, d4] = [1, "string", ...temp1]; ->d3 : number | string | boolean ->d4 : number | string | boolean ->[1, "string", ...temp1] : (number | string | boolean)[] ->1 : number ->"string" : string +>d3 : string | number | boolean +>d4 : string | number | boolean +>[1, "string", ...temp1] : (string | number | boolean)[] +>1 : 1 +>"string" : "string" >...temp1 : boolean >temp1 : boolean[] @@ -129,19 +129,19 @@ var {e: [e1, e2, e3 = { b1: 1000, b4: 200 }]} = { e: [1, 2, { b1: 4, b4: 0 }] }; >e3 : { b1: number; b4: number; } >{ b1: 1000, b4: 200 } : { b1: number; b4: number; } >b1 : number ->1000 : number +>1000 : 1000 >b4 : number ->200 : number +>200 : 200 >{ e: [1, 2, { b1: 4, b4: 0 }] } : { e: [number, number, { b1: number; b4: number; }]; } >e : [number, number, { b1: number; b4: number; }] >[1, 2, { b1: 4, b4: 0 }] : [number, number, { b1: number; b4: number; }] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >{ b1: 4, b4: 0 } : { b1: number; b4: number; } >b1 : number ->4 : number +>4 : 4 >b4 : number ->0 : number +>0 : 0 var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; >f : any @@ -154,13 +154,13 @@ var {f: [f1, f2, { f3: f4, f5 }, , ]} = { f: [1, 2, { f3: 4, f5: 0 }] }; >{ f: [1, 2, { f3: 4, f5: 0 }] } : { f: [number, number, { f3: number; f5: number; }, any]; } >f : [number, number, { f3: number; f5: number; }, any] >[1, 2, { f3: 4, f5: 0 }] : [number, number, { f3: number; f5: number; }, any] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >{ f3: 4, f5: 0 } : { f3: number; f5: number; } >f3 : number ->4 : number +>4 : 4 >f5 : number ->0 : number +>0 : 0 // When a destructuring variable declaration, binding property, or binding element specifies // an initializer expression, the type of the initializer expression is required to be assignable @@ -178,8 +178,8 @@ var {g: {g1 = [undefined, null]}}: { g: { g1: any[] } } = { g: { g1: [1, 2] } }; >{ g1: [1, 2] } : { g1: number[]; } >g1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } }; >h : any @@ -194,7 +194,7 @@ var {h: {h1 = [undefined, null]}}: { h: { h1: number[] } } = { h: { h1: [1, 2] } >{ h1: [1, 2] } : { h1: number[]; } >h1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/destructuringVariableDeclaration2.errors.txt b/tests/baselines/reference/destructuringVariableDeclaration2.errors.txt index 1a655837743..c831b10a467 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration2.errors.txt +++ b/tests/baselines/reference/destructuringVariableDeclaration2.errors.txt @@ -1,23 +1,15 @@ tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(3,5): error TS2322: Type '{ a1: boolean; a2: number; }' is not assignable to type '{ a1: number; a2: string; }'. Types of property 'a1' are incompatible. Type 'boolean' is not assignable to type 'number'. -tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(4,5): error TS2322: Type '[number, [[boolean]], boolean]' is not assignable to type '[number, [[string]], boolean]'. - Types of property '1' are incompatible. - Type '[[boolean]]' is not assignable to type '[[string]]'. - Types of property '0' are incompatible. - Type '[boolean]' is not assignable to type '[string]'. - Types of property '0' are incompatible. - Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(9,25): error TS2322: Type '{ t1: boolean; t2: string; }' is not assignable to type '{ t1: boolean; t2: number; }'. - Types of property 't2' are incompatible. - Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(4,5): error TS2322: Type '[number, [[boolean]], true]' is not assignable to type '[number, [[string]], boolean]'. + Type '[[boolean]]' is not assignable to type '[[string]]'. + Type '[boolean]' is not assignable to type '[string]'. + Type 'boolean' is not assignable to type 'string'. tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(14,16): error TS2459: Type 'number | { c3: number; c5: number; }' has no property 'c3' and no string index signature. tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(14,24): error TS2459: Type 'number | { c3: number; c5: number; }' has no property 'c5' and no string index signature. -tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(19,10): error TS2322: Type 'string[]' is not assignable to type 'number[]'. - Type 'string' is not assignable to type 'number'. -==== tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts (6 errors) ==== +==== tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts (4 errors) ==== // The type T associated with a destructuring variable declaration is determined as follows: // If the declaration includes a type annotation, T is that type. var {a1, a2}: { a1: number, a2: string } = { a1: true, a2: 1 } // Error @@ -27,22 +19,15 @@ tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(1 !!! error TS2322: Type 'boolean' is not assignable to type 'number'. var [a3, [[a4]], a5]: [number, [[string]], boolean] = [1, [[false]], true]; // Error ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type '[number, [[boolean]], boolean]' is not assignable to type '[number, [[string]], boolean]'. -!!! error TS2322: Types of property '1' are incompatible. -!!! error TS2322: Type '[[boolean]]' is not assignable to type '[[string]]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type '[boolean]' is not assignable to type '[string]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2322: Type '[number, [[boolean]], true]' is not assignable to type '[number, [[string]], boolean]'. +!!! error TS2322: Type '[[boolean]]' is not assignable to type '[[string]]'. +!!! error TS2322: Type '[boolean]' is not assignable to type '[string]'. +!!! error TS2322: Type 'boolean' is not assignable to type 'string'. // The type T associated with a destructuring variable declaration is determined as follows: // Otherwise, if the declaration includes an initializer expression, T is the type of that initializer expression. var temp = { t1: true, t2: "false" }; var [b0 = 3, b1 = true, b2 = temp] = [3, false, { t1: false, t2: 5}]; // Error - ~~ -!!! error TS2322: Type '{ t1: boolean; t2: string; }' is not assignable to type '{ t1: boolean; t2: number; }'. -!!! error TS2322: Types of property 't2' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. // The type T associated with a binding element is determined as follows: // If the binding element is a rest element, T is an array type with @@ -56,7 +41,4 @@ tests/cases/conformance/es6/destructuring/destructuringVariableDeclaration2.ts(1 // When a destructuring variable declaration, binding property, or binding element specifies // an initializer expression, the type of the initializer expression is required to be assignable // to the widened form of the type associated with the destructuring variable declaration, binding property, or binding element. - var {d: {d1 = ["string", null]}}: { d: { d1: number[] } } = { d: { d1: [1, 2] } }; // Error - ~~ -!!! error TS2322: Type 'string[]' is not assignable to type 'number[]'. -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file + var {d: {d1 = ["string", null]}}: { d: { d1: number[] } } = { d: { d1: [1, 2] } }; // Error \ No newline at end of file diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.types b/tests/baselines/reference/destructuringWithLiteralInitializers.types index 9b970679f74..43391515014 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.types +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.types @@ -10,40 +10,40 @@ f1({ x: 1, y: 1 }); >f1 : ({x, y}: { x: any; y: any; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg: { x: any, y?: number }) => void function f2({ x, y = 0 }) { } >f2 : ({x, y}: { x: any; y?: number; }) => void >x : any >y : number ->0 : number +>0 : 0 f2({ x: 1 }); >f2({ x: 1 }) : void >f2 : ({x, y}: { x: any; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 f2({ x: 1, y: 1 }); >f2({ x: 1, y: 1 }) : void >f2 : ({x, y}: { x: any; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg: { x?: number, y?: number }) => void function f3({ x = 0, y = 0 }) { } >f3 : ({x, y}: { x?: number; y?: number; }) => void >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 f3({}); >f3({}) : void @@ -55,23 +55,23 @@ f3({ x: 1 }); >f3 : ({x, y}: { x?: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 f3({ y: 1 }); >f3({ y: 1 }) : void >f3 : ({x, y}: { x?: number; y?: number; }) => void >{ y: 1 } : { y: number; } >y : number ->1 : number +>1 : 1 f3({ x: 1, y: 1 }); >f3({ x: 1, y: 1 }) : void >f3 : ({x, y}: { x?: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg?: { x: number, y: number }) => void function f4({ x, y } = { x: 0, y: 0 }) { } @@ -80,9 +80,9 @@ function f4({ x, y } = { x: 0, y: 0 }) { } >y : number >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 f4(); >f4() : void @@ -93,19 +93,19 @@ f4({ x: 1, y: 1 }); >f4 : ({x, y}?: { x: number; y: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg?: { x: number, y?: number }) => void function f5({ x, y = 0 } = { x: 0 }) { } >f5 : ({x, y}?: { x: number; y?: number; }) => void >x : number >y : number ->0 : number +>0 : 0 >{ x: 0 } : { x: number; y?: number; } >x : number ->0 : number +>0 : 0 f5(); >f5() : void @@ -116,24 +116,24 @@ f5({ x: 1 }); >f5 : ({x, y}?: { x: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 f5({ x: 1, y: 1 }); >f5({ x: 1, y: 1 }) : void >f5 : ({x, y}?: { x: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg?: { x?: number, y?: number }) => void function f6({ x = 0, y = 0 } = {}) { } >f6 : ({x, y}?: { x?: number; y?: number; }) => void >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >{} : { x?: number; y?: number; } f6(); @@ -150,32 +150,32 @@ f6({ x: 1 }); >f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 f6({ y: 1 }); >f6({ y: 1 }) : void >f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ y: 1 } : { y: number; } >y : number ->1 : number +>1 : 1 f6({ x: 1, y: 1 }); >f6({ x: 1, y: 1 }) : void >f6 : ({x, y}?: { x?: number; y?: number; }) => void >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg?: { a: { x?: number, y?: number } }) => void function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } >f7 : ({a: {x, y}}?: { a: { x?: number; y?: number; }; }) => void >a : any >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >{ a: {} } : { a: { x?: number; y?: number; }; } >a : { x?: number; y?: number; } >{} : { x?: number; y?: number; } @@ -198,7 +198,7 @@ f7({ a: { x: 1 } }); >a : { x: number; } >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 f7({ a: { y: 1 } }); >f7({ a: { y: 1 } }) : void @@ -207,7 +207,7 @@ f7({ a: { y: 1 } }); >a : { y: number; } >{ y: 1 } : { y: number; } >y : number ->1 : number +>1 : 1 f7({ a: { x: 1, y: 1 } }); >f7({ a: { x: 1, y: 1 } }) : void @@ -216,9 +216,9 @@ f7({ a: { x: 1, y: 1 } }); >a : { x: number; y: number; } >{ x: 1, y: 1 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->1 : number +>1 : 1 // (arg: [any, any]) => void function g1([x, y]) { } @@ -230,23 +230,23 @@ g1([1, 1]); >g1([1, 1]) : void >g1 : ([x, y]: [any, any]) => void >[1, 1] : [number, number] ->1 : number ->1 : number +>1 : 1 +>1 : 1 // (arg: [number, number]) => void function g2([x = 0, y = 0]) { } >g2 : ([x, y]: [number, number]) => void >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 g2([1, 1]); >g2([1, 1]) : void >g2 : ([x, y]: [number, number]) => void >[1, 1] : [number, number] ->1 : number ->1 : number +>1 : 1 +>1 : 1 // (arg?: [number, number]) => void function g3([x, y] = [0, 0]) { } @@ -254,8 +254,8 @@ function g3([x, y] = [0, 0]) { } >x : number >y : number >[0, 0] : [number, number] ->0 : number ->0 : number +>0 : 0 +>0 : 0 g3(); >g3() : void @@ -265,17 +265,17 @@ g3([1, 1]); >g3([1, 1]) : void >g3 : ([x, y]?: [number, number]) => void >[1, 1] : [number, number] ->1 : number ->1 : number +>1 : 1 +>1 : 1 // (arg?: [number, number]) => void function g4([x, y = 0] = [0]) { } >g4 : ([x, y]?: [number, number]) => void >x : number >y : number ->0 : number +>0 : 0 >[0] : [number, number] ->0 : number +>0 : 0 g4(); >g4() : void @@ -285,16 +285,16 @@ g4([1, 1]); >g4([1, 1]) : void >g4 : ([x, y]?: [number, number]) => void >[1, 1] : [number, number] ->1 : number ->1 : number +>1 : 1 +>1 : 1 // (arg?: [number, number]) => void function g5([x = 0, y = 0] = []) { } >g5 : ([x, y]?: [number, number]) => void >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 >[] : [number, number] g5(); @@ -305,6 +305,6 @@ g5([1, 1]); >g5([1, 1]) : void >g5 : ([x, y]?: [number, number]) => void >[1, 1] : [number, number] ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/destructuringWithNewExpression.types b/tests/baselines/reference/destructuringWithNewExpression.types index 1d36746a44d..2803dfd802f 100644 --- a/tests/baselines/reference/destructuringWithNewExpression.types +++ b/tests/baselines/reference/destructuringWithNewExpression.types @@ -4,7 +4,7 @@ class C { x = 0; >x : number ->0 : number +>0 : 0 } var { x } = new C; diff --git a/tests/baselines/reference/destructuringWithNumberLiteral.types b/tests/baselines/reference/destructuringWithNumberLiteral.types index 7fe902c622e..226c3fd4923 100644 --- a/tests/baselines/reference/destructuringWithNumberLiteral.types +++ b/tests/baselines/reference/destructuringWithNumberLiteral.types @@ -1,5 +1,5 @@ === tests/cases/compiler/destructuringWithNumberLiteral.ts === var { toExponential } = 0; >toExponential : (fractionDigits?: number) => string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/disallowAsyncModifierInES5.errors.txt b/tests/baselines/reference/disallowAsyncModifierInES5.errors.txt deleted file mode 100644 index eb3cc8218d1..00000000000 --- a/tests/baselines/reference/disallowAsyncModifierInES5.errors.txt +++ /dev/null @@ -1,27 +0,0 @@ -error TS2318: Cannot find global type 'Promise'. -tests/cases/compiler/disallowAsyncModifierInES5.ts(2,1): error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. -tests/cases/compiler/disallowAsyncModifierInES5.ts(2,16): error TS1057: An async function or method must have a valid awaitable return type. -tests/cases/compiler/disallowAsyncModifierInES5.ts(3,11): error TS1057: An async function or method must have a valid awaitable return type. -tests/cases/compiler/disallowAsyncModifierInES5.ts(3,11): error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. -tests/cases/compiler/disallowAsyncModifierInES5.ts(4,11): error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. -tests/cases/compiler/disallowAsyncModifierInES5.ts(4,11): error TS1057: An async function or method must have a valid awaitable return type. - - -!!! error TS2318: Cannot find global type 'Promise'. -==== tests/cases/compiler/disallowAsyncModifierInES5.ts (6 errors) ==== - - async function foo() { return 42; } // ERROR: Async functions are only available in ES6+ - ~~~~~ -!!! error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. - ~~~ -!!! error TS1057: An async function or method must have a valid awaitable return type. - let bar = async function () { return 42; } // OK, but should be an error - ~~~~~ -!!! error TS1057: An async function or method must have a valid awaitable return type. - ~~~~~ -!!! error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. - let baz = async () => 42; // OK, but should be an error - ~~~~~ -!!! error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher. - ~~~~~~~~~~~~~~ -!!! error TS1057: An async function or method must have a valid awaitable return type. \ No newline at end of file diff --git a/tests/baselines/reference/disallowAsyncModifierInES5.js b/tests/baselines/reference/disallowAsyncModifierInES5.js deleted file mode 100644 index 8216e5fd0e6..00000000000 --- a/tests/baselines/reference/disallowAsyncModifierInES5.js +++ /dev/null @@ -1,22 +0,0 @@ -//// [disallowAsyncModifierInES5.ts] - -async function foo() { return 42; } // ERROR: Async functions are only available in ES6+ -let bar = async function () { return 42; } // OK, but should be an error -let baz = async () => 42; // OK, but should be an error - -//// [disallowAsyncModifierInES5.js] -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); - }); -}; -function foo() { - return __awaiter(this, void 0, void 0, function* () { return 42; }); -} // ERROR: Async functions are only available in ES6+ -var bar = function () { - return __awaiter(this, void 0, void 0, function* () { return 42; }); -}; // OK, but should be an error -var baz = function () __awaiter(this, void 0, void 0, function* () { return 42; }); // OK, but should be an error diff --git a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.js b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.js index b6a4eb9783e..1044146ccd0 100644 --- a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.js +++ b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.js @@ -107,30 +107,16 @@ var f7 = function (x, y, z) { var f8 = function (x, y, z) { if (z === void 0) { z = 10; } }; -var f9 = function (a) { - return a; -}; -var f10 = function (a) { - return a; -}; -var f11 = function (a) { - return a; -}; -var f12 = function (a) { - return a; -}; +var f9 = function (a) { return a; }; +var f10 = function (a) { return a; }; +var f11 = function (a) { return a; }; +var f12 = function (a) { return a; }; // Should be valid. -var f11 = function (a) { - return a; -}; +var f11 = function (a) { return a; }; // Should be valid. -var f12 = function (a) { - return a; -}; +var f12 = function (a) { return a; }; // Should be valid. -var f13 = function (a) { - return a; -}; +var f13 = function (a) { return a; }; // Should be valid. var f14 = function () { }; // Should be valid. @@ -141,30 +127,20 @@ var f16 = function (a, b) { return a + b; }; function foo(func) { } -foo(function () { - return true; -}); +foo(function () { return true; }); foo(function () { return false; }); var m; (function (m) { var City = (function () { function City(x, thing) { - if (thing === void 0) { thing = function () { - return 100; - }; } - this.m = function () { - return 2 * 2 * 2; - }; + if (thing === void 0) { thing = function () { return 100; }; } + this.m = function () { return 2 * 2 * 2; }; } return City; }()); (function (Enum) { - Enum[Enum["claw"] = (function () { - return 10; - })()] = "claw"; + Enum[Enum["claw"] = (function () { return 10; })()] = "claw"; })(m.Enum || (m.Enum = {})); var Enum = m.Enum; - m.v = function (x) { - return new City(Enum.claw); - }; + m.v = function (x) { return new City(Enum.claw); }; })(m || (m = {})); diff --git a/tests/baselines/reference/discriminantPropertyCheck.errors.txt b/tests/baselines/reference/discriminantPropertyCheck.errors.txt new file mode 100644 index 00000000000..41593c4b224 --- /dev/null +++ b/tests/baselines/reference/discriminantPropertyCheck.errors.txt @@ -0,0 +1,77 @@ +tests/cases/compiler/discriminantPropertyCheck.ts(30,9): error TS2532: Object is possibly 'undefined'. +tests/cases/compiler/discriminantPropertyCheck.ts(66,9): error TS2532: Object is possibly 'undefined'. + + +==== tests/cases/compiler/discriminantPropertyCheck.ts (2 errors) ==== + + type Item = Item1 | Item2; + + interface Base { + bar: boolean; + } + + interface Item1 extends Base { + kind: "A"; + foo: string | undefined; + baz: boolean; + qux: true; + } + + interface Item2 extends Base { + kind: "B"; + foo: string | undefined; + baz: boolean; + qux: false; + } + + function goo1(x: Item) { + if (x.kind === "A" && x.foo !== undefined) { + x.foo.length; + } + } + + function goo2(x: Item) { + if (x.foo !== undefined && x.kind === "A") { + x.foo.length; // Error, intervening discriminant guard + ~~~~~ +!!! error TS2532: Object is possibly 'undefined'. + } + } + + function foo1(x: Item) { + if (x.bar && x.foo !== undefined) { + x.foo.length; + } + } + + function foo2(x: Item) { + if (x.foo !== undefined && x.bar) { + x.foo.length; + } + } + + function foo3(x: Item) { + if (x.baz && x.foo !== undefined) { + x.foo.length; + } + } + + function foo4(x: Item) { + if (x.foo !== undefined && x.baz) { + x.foo.length; + } + } + + function foo5(x: Item) { + if (x.qux && x.foo !== undefined) { + x.foo.length; + } + } + + function foo6(x: Item) { + if (x.foo !== undefined && x.qux) { + x.foo.length; // Error, intervening discriminant guard + ~~~~~ +!!! error TS2532: Object is possibly 'undefined'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/discriminantPropertyCheck.js b/tests/baselines/reference/discriminantPropertyCheck.js new file mode 100644 index 00000000000..b75a6277735 --- /dev/null +++ b/tests/baselines/reference/discriminantPropertyCheck.js @@ -0,0 +1,111 @@ +//// [discriminantPropertyCheck.ts] + +type Item = Item1 | Item2; + +interface Base { + bar: boolean; +} + +interface Item1 extends Base { + kind: "A"; + foo: string | undefined; + baz: boolean; + qux: true; +} + +interface Item2 extends Base { + kind: "B"; + foo: string | undefined; + baz: boolean; + qux: false; +} + +function goo1(x: Item) { + if (x.kind === "A" && x.foo !== undefined) { + x.foo.length; + } +} + +function goo2(x: Item) { + if (x.foo !== undefined && x.kind === "A") { + x.foo.length; // Error, intervening discriminant guard + } +} + +function foo1(x: Item) { + if (x.bar && x.foo !== undefined) { + x.foo.length; + } +} + +function foo2(x: Item) { + if (x.foo !== undefined && x.bar) { + x.foo.length; + } +} + +function foo3(x: Item) { + if (x.baz && x.foo !== undefined) { + x.foo.length; + } +} + +function foo4(x: Item) { + if (x.foo !== undefined && x.baz) { + x.foo.length; + } +} + +function foo5(x: Item) { + if (x.qux && x.foo !== undefined) { + x.foo.length; + } +} + +function foo6(x: Item) { + if (x.foo !== undefined && x.qux) { + x.foo.length; // Error, intervening discriminant guard + } +} + +//// [discriminantPropertyCheck.js] +function goo1(x) { + if (x.kind === "A" && x.foo !== undefined) { + x.foo.length; + } +} +function goo2(x) { + if (x.foo !== undefined && x.kind === "A") { + x.foo.length; // Error, intervening discriminant guard + } +} +function foo1(x) { + if (x.bar && x.foo !== undefined) { + x.foo.length; + } +} +function foo2(x) { + if (x.foo !== undefined && x.bar) { + x.foo.length; + } +} +function foo3(x) { + if (x.baz && x.foo !== undefined) { + x.foo.length; + } +} +function foo4(x) { + if (x.foo !== undefined && x.baz) { + x.foo.length; + } +} +function foo5(x) { + if (x.qux && x.foo !== undefined) { + x.foo.length; + } +} +function foo6(x) { + if (x.foo !== undefined && x.qux) { + x.foo.length; // Error, intervening discriminant guard + } +} diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.js b/tests/baselines/reference/discriminantsAndNullOrUndefined.js new file mode 100644 index 00000000000..153950f8ab5 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.js @@ -0,0 +1,44 @@ +//// [discriminantsAndNullOrUndefined.ts] + +// Repro from #10228 + +interface A { kind: 'A'; } +interface B { kind: 'B'; } + +type C = A | B | undefined; + +function never(_: never): never { + throw new Error(); +} + +function useA(_: A): void { } +function useB(_: B): void { } + +declare var c: C; + +if (c !== undefined) { + switch (c.kind) { + case 'A': useA(c); break; + case 'B': useB(c); break; + default: never(c); + } +} + +//// [discriminantsAndNullOrUndefined.js] +// Repro from #10228 +function never(_) { + throw new Error(); +} +function useA(_) { } +function useB(_) { } +if (c !== undefined) { + switch (c.kind) { + case 'A': + useA(c); + break; + case 'B': + useB(c); + break; + default: never(c); + } +} diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols b/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols new file mode 100644 index 00000000000..3f95fcf3a3f --- /dev/null +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.symbols @@ -0,0 +1,61 @@ +=== tests/cases/compiler/discriminantsAndNullOrUndefined.ts === + +// Repro from #10228 + +interface A { kind: 'A'; } +>A : Symbol(A, Decl(discriminantsAndNullOrUndefined.ts, 0, 0)) +>kind : Symbol(A.kind, Decl(discriminantsAndNullOrUndefined.ts, 3, 13)) + +interface B { kind: 'B'; } +>B : Symbol(B, Decl(discriminantsAndNullOrUndefined.ts, 3, 26)) +>kind : Symbol(B.kind, Decl(discriminantsAndNullOrUndefined.ts, 4, 13)) + +type C = A | B | undefined; +>C : Symbol(C, Decl(discriminantsAndNullOrUndefined.ts, 4, 26)) +>A : Symbol(A, Decl(discriminantsAndNullOrUndefined.ts, 0, 0)) +>B : Symbol(B, Decl(discriminantsAndNullOrUndefined.ts, 3, 26)) + +function never(_: never): never { +>never : Symbol(never, Decl(discriminantsAndNullOrUndefined.ts, 6, 27)) +>_ : Symbol(_, Decl(discriminantsAndNullOrUndefined.ts, 8, 15)) + + throw new Error(); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function useA(_: A): void { } +>useA : Symbol(useA, Decl(discriminantsAndNullOrUndefined.ts, 10, 1)) +>_ : Symbol(_, Decl(discriminantsAndNullOrUndefined.ts, 12, 14)) +>A : Symbol(A, Decl(discriminantsAndNullOrUndefined.ts, 0, 0)) + +function useB(_: B): void { } +>useB : Symbol(useB, Decl(discriminantsAndNullOrUndefined.ts, 12, 29)) +>_ : Symbol(_, Decl(discriminantsAndNullOrUndefined.ts, 13, 14)) +>B : Symbol(B, Decl(discriminantsAndNullOrUndefined.ts, 3, 26)) + +declare var c: C; +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) +>C : Symbol(C, Decl(discriminantsAndNullOrUndefined.ts, 4, 26)) + +if (c !== undefined) { +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) +>undefined : Symbol(undefined) + + switch (c.kind) { +>c.kind : Symbol(kind, Decl(discriminantsAndNullOrUndefined.ts, 3, 13), Decl(discriminantsAndNullOrUndefined.ts, 4, 13)) +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) +>kind : Symbol(kind, Decl(discriminantsAndNullOrUndefined.ts, 3, 13), Decl(discriminantsAndNullOrUndefined.ts, 4, 13)) + + case 'A': useA(c); break; +>useA : Symbol(useA, Decl(discriminantsAndNullOrUndefined.ts, 10, 1)) +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) + + case 'B': useB(c); break; +>useB : Symbol(useB, Decl(discriminantsAndNullOrUndefined.ts, 12, 29)) +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) + + default: never(c); +>never : Symbol(never, Decl(discriminantsAndNullOrUndefined.ts, 6, 27)) +>c : Symbol(c, Decl(discriminantsAndNullOrUndefined.ts, 15, 11)) + } +} diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.types b/tests/baselines/reference/discriminantsAndNullOrUndefined.types new file mode 100644 index 00000000000..7a2918ab83b --- /dev/null +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.types @@ -0,0 +1,68 @@ +=== tests/cases/compiler/discriminantsAndNullOrUndefined.ts === + +// Repro from #10228 + +interface A { kind: 'A'; } +>A : A +>kind : "A" + +interface B { kind: 'B'; } +>B : B +>kind : "B" + +type C = A | B | undefined; +>C : C +>A : A +>B : B + +function never(_: never): never { +>never : (_: never) => never +>_ : never + + throw new Error(); +>new Error() : Error +>Error : ErrorConstructor +} + +function useA(_: A): void { } +>useA : (_: A) => void +>_ : A +>A : A + +function useB(_: B): void { } +>useB : (_: B) => void +>_ : B +>B : B + +declare var c: C; +>c : C +>C : C + +if (c !== undefined) { +>c !== undefined : boolean +>c : C +>undefined : undefined + + switch (c.kind) { +>c.kind : "A" | "B" +>c : A | B +>kind : "A" | "B" + + case 'A': useA(c); break; +>'A' : "A" +>useA(c) : void +>useA : (_: A) => void +>c : A + + case 'B': useB(c); break; +>'B' : "B" +>useB(c) : void +>useB : (_: B) => void +>c : B + + default: never(c); +>never(c) : never +>never : (_: never) => never +>c : never + } +} diff --git a/tests/baselines/reference/discriminantsAndPrimitives.js b/tests/baselines/reference/discriminantsAndPrimitives.js new file mode 100644 index 00000000000..1d11781a707 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndPrimitives.js @@ -0,0 +1,84 @@ +//// [discriminantsAndPrimitives.ts] + +// Repro from #10257 plus other tests + +interface Foo { + kind: "foo"; + name: string; +} + +interface Bar { + kind: "bar"; + length: string; +} + +function f1(x: Foo | Bar | string) { + if (typeof x !== 'string') { + switch(x.kind) { + case 'foo': + x.name; + } + } +} + +function f2(x: Foo | Bar | string | undefined) { + if (typeof x === "object") { + switch(x.kind) { + case 'foo': + x.name; + } + } +} + +function f3(x: Foo | Bar | string | null) { + if (x && typeof x !== "string") { + switch(x.kind) { + case 'foo': + x.name; + } + } +} + +function f4(x: Foo | Bar | string | number | null) { + if (x && typeof x === "object") { + switch(x.kind) { + case 'foo': + x.name; + } + } +} + +//// [discriminantsAndPrimitives.js] +// Repro from #10257 plus other tests +function f1(x) { + if (typeof x !== 'string') { + switch (x.kind) { + case 'foo': + x.name; + } + } +} +function f2(x) { + if (typeof x === "object") { + switch (x.kind) { + case 'foo': + x.name; + } + } +} +function f3(x) { + if (x && typeof x !== "string") { + switch (x.kind) { + case 'foo': + x.name; + } + } +} +function f4(x) { + if (x && typeof x === "object") { + switch (x.kind) { + case 'foo': + x.name; + } + } +} diff --git a/tests/baselines/reference/discriminantsAndPrimitives.symbols b/tests/baselines/reference/discriminantsAndPrimitives.symbols new file mode 100644 index 00000000000..c84f32cd990 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndPrimitives.symbols @@ -0,0 +1,117 @@ +=== tests/cases/compiler/discriminantsAndPrimitives.ts === + +// Repro from #10257 plus other tests + +interface Foo { +>Foo : Symbol(Foo, Decl(discriminantsAndPrimitives.ts, 0, 0)) + + kind: "foo"; +>kind : Symbol(Foo.kind, Decl(discriminantsAndPrimitives.ts, 3, 15)) + + name: string; +>name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) +} + +interface Bar { +>Bar : Symbol(Bar, Decl(discriminantsAndPrimitives.ts, 6, 1)) + + kind: "bar"; +>kind : Symbol(Bar.kind, Decl(discriminantsAndPrimitives.ts, 8, 15)) + + length: string; +>length : Symbol(Bar.length, Decl(discriminantsAndPrimitives.ts, 9, 16)) +} + +function f1(x: Foo | Bar | string) { +>f1 : Symbol(f1, Decl(discriminantsAndPrimitives.ts, 11, 1)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 13, 12)) +>Foo : Symbol(Foo, Decl(discriminantsAndPrimitives.ts, 0, 0)) +>Bar : Symbol(Bar, Decl(discriminantsAndPrimitives.ts, 6, 1)) + + if (typeof x !== 'string') { +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 13, 12)) + + switch(x.kind) { +>x.kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 13, 12)) +>kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) + + case 'foo': + x.name; +>x.name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 13, 12)) +>name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) + } + } +} + +function f2(x: Foo | Bar | string | undefined) { +>f2 : Symbol(f2, Decl(discriminantsAndPrimitives.ts, 20, 1)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 22, 12)) +>Foo : Symbol(Foo, Decl(discriminantsAndPrimitives.ts, 0, 0)) +>Bar : Symbol(Bar, Decl(discriminantsAndPrimitives.ts, 6, 1)) + + if (typeof x === "object") { +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 22, 12)) + + switch(x.kind) { +>x.kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 22, 12)) +>kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) + + case 'foo': + x.name; +>x.name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 22, 12)) +>name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) + } + } +} + +function f3(x: Foo | Bar | string | null) { +>f3 : Symbol(f3, Decl(discriminantsAndPrimitives.ts, 29, 1)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 31, 12)) +>Foo : Symbol(Foo, Decl(discriminantsAndPrimitives.ts, 0, 0)) +>Bar : Symbol(Bar, Decl(discriminantsAndPrimitives.ts, 6, 1)) + + if (x && typeof x !== "string") { +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 31, 12)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 31, 12)) + + switch(x.kind) { +>x.kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 31, 12)) +>kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) + + case 'foo': + x.name; +>x.name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 31, 12)) +>name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) + } + } +} + +function f4(x: Foo | Bar | string | number | null) { +>f4 : Symbol(f4, Decl(discriminantsAndPrimitives.ts, 38, 1)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 40, 12)) +>Foo : Symbol(Foo, Decl(discriminantsAndPrimitives.ts, 0, 0)) +>Bar : Symbol(Bar, Decl(discriminantsAndPrimitives.ts, 6, 1)) + + if (x && typeof x === "object") { +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 40, 12)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 40, 12)) + + switch(x.kind) { +>x.kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 40, 12)) +>kind : Symbol(kind, Decl(discriminantsAndPrimitives.ts, 3, 15), Decl(discriminantsAndPrimitives.ts, 8, 15)) + + case 'foo': + x.name; +>x.name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) +>x : Symbol(x, Decl(discriminantsAndPrimitives.ts, 40, 12)) +>name : Symbol(Foo.name, Decl(discriminantsAndPrimitives.ts, 4, 16)) + } + } +} diff --git a/tests/baselines/reference/discriminantsAndPrimitives.types b/tests/baselines/reference/discriminantsAndPrimitives.types new file mode 100644 index 00000000000..d3e1b70e599 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndPrimitives.types @@ -0,0 +1,141 @@ +=== tests/cases/compiler/discriminantsAndPrimitives.ts === + +// Repro from #10257 plus other tests + +interface Foo { +>Foo : Foo + + kind: "foo"; +>kind : "foo" + + name: string; +>name : string +} + +interface Bar { +>Bar : Bar + + kind: "bar"; +>kind : "bar" + + length: string; +>length : string +} + +function f1(x: Foo | Bar | string) { +>f1 : (x: string | Foo | Bar) => void +>x : string | Foo | Bar +>Foo : Foo +>Bar : Bar + + if (typeof x !== 'string') { +>typeof x !== 'string' : boolean +>typeof x : string +>x : string | Foo | Bar +>'string' : "string" + + switch(x.kind) { +>x.kind : "foo" | "bar" +>x : Foo | Bar +>kind : "foo" | "bar" + + case 'foo': +>'foo' : "foo" + + x.name; +>x.name : string +>x : Foo +>name : string + } + } +} + +function f2(x: Foo | Bar | string | undefined) { +>f2 : (x: string | Foo | Bar | undefined) => void +>x : string | Foo | Bar | undefined +>Foo : Foo +>Bar : Bar + + if (typeof x === "object") { +>typeof x === "object" : boolean +>typeof x : string +>x : string | Foo | Bar | undefined +>"object" : "object" + + switch(x.kind) { +>x.kind : "foo" | "bar" +>x : Foo | Bar +>kind : "foo" | "bar" + + case 'foo': +>'foo' : "foo" + + x.name; +>x.name : string +>x : Foo +>name : string + } + } +} + +function f3(x: Foo | Bar | string | null) { +>f3 : (x: string | Foo | Bar | null) => void +>x : string | Foo | Bar | null +>Foo : Foo +>Bar : Bar +>null : null + + if (x && typeof x !== "string") { +>x && typeof x !== "string" : boolean | "" | null +>x : string | Foo | Bar | null +>typeof x !== "string" : boolean +>typeof x : string +>x : string | Foo | Bar +>"string" : "string" + + switch(x.kind) { +>x.kind : "foo" | "bar" +>x : Foo | Bar +>kind : "foo" | "bar" + + case 'foo': +>'foo' : "foo" + + x.name; +>x.name : string +>x : Foo +>name : string + } + } +} + +function f4(x: Foo | Bar | string | number | null) { +>f4 : (x: string | number | Foo | Bar | null) => void +>x : string | number | Foo | Bar | null +>Foo : Foo +>Bar : Bar +>null : null + + if (x && typeof x === "object") { +>x && typeof x === "object" : boolean | "" | 0 | null +>x : string | number | Foo | Bar | null +>typeof x === "object" : boolean +>typeof x : string +>x : string | number | Foo | Bar +>"object" : "object" + + switch(x.kind) { +>x.kind : "foo" | "bar" +>x : Foo | Bar +>kind : "foo" | "bar" + + case 'foo': +>'foo' : "foo" + + x.name; +>x.name : string +>x : Foo +>name : string + } + } +} diff --git a/tests/baselines/reference/discriminantsAndTypePredicates.js b/tests/baselines/reference/discriminantsAndTypePredicates.js new file mode 100644 index 00000000000..66cfe056ab7 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndTypePredicates.js @@ -0,0 +1,59 @@ +//// [discriminantsAndTypePredicates.ts] +// Repro from #10145 + +interface A { type: 'A' } +interface B { type: 'B' } + +function isA(x: A | B): x is A { return x.type === 'A'; } +function isB(x: A | B): x is B { return x.type === 'B'; } + +function foo1(x: A | B): any { + x; // A | B + if (isA(x)) { + return x; // A + } + x; // B + if (isB(x)) { + return x; // B + } + x; // never +} + +function foo2(x: A | B): any { + x; // A | B + if (x.type === 'A') { + return x; // A + } + x; // B + if (x.type === 'B') { + return x; // B + } + x; // never +} + +//// [discriminantsAndTypePredicates.js] +// Repro from #10145 +function isA(x) { return x.type === 'A'; } +function isB(x) { return x.type === 'B'; } +function foo1(x) { + x; // A | B + if (isA(x)) { + return x; // A + } + x; // B + if (isB(x)) { + return x; // B + } + x; // never +} +function foo2(x) { + x; // A | B + if (x.type === 'A') { + return x; // A + } + x; // B + if (x.type === 'B') { + return x; // B + } + x; // never +} diff --git a/tests/baselines/reference/discriminantsAndTypePredicates.symbols b/tests/baselines/reference/discriminantsAndTypePredicates.symbols new file mode 100644 index 00000000000..4f412823936 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndTypePredicates.symbols @@ -0,0 +1,94 @@ +=== tests/cases/compiler/discriminantsAndTypePredicates.ts === +// Repro from #10145 + +interface A { type: 'A' } +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>type : Symbol(A.type, Decl(discriminantsAndTypePredicates.ts, 2, 13)) + +interface B { type: 'B' } +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) +>type : Symbol(B.type, Decl(discriminantsAndTypePredicates.ts, 3, 13)) + +function isA(x: A | B): x is A { return x.type === 'A'; } +>isA : Symbol(isA, Decl(discriminantsAndTypePredicates.ts, 3, 25)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 5, 13)) +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 5, 13)) +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>x.type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 5, 13)) +>type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) + +function isB(x: A | B): x is B { return x.type === 'B'; } +>isB : Symbol(isB, Decl(discriminantsAndTypePredicates.ts, 5, 57)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 6, 13)) +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 6, 13)) +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) +>x.type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 6, 13)) +>type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) + +function foo1(x: A | B): any { +>foo1 : Symbol(foo1, Decl(discriminantsAndTypePredicates.ts, 6, 57)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) + + x; // A | B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + + if (isA(x)) { +>isA : Symbol(isA, Decl(discriminantsAndTypePredicates.ts, 3, 25)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + + return x; // A +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + } + x; // B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + + if (isB(x)) { +>isB : Symbol(isB, Decl(discriminantsAndTypePredicates.ts, 5, 57)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + + return x; // B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) + } + x; // never +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 8, 14)) +} + +function foo2(x: A | B): any { +>foo2 : Symbol(foo2, Decl(discriminantsAndTypePredicates.ts, 18, 1)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) +>A : Symbol(A, Decl(discriminantsAndTypePredicates.ts, 0, 0)) +>B : Symbol(B, Decl(discriminantsAndTypePredicates.ts, 2, 25)) + + x; // A | B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) + + if (x.type === 'A') { +>x.type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) +>type : Symbol(type, Decl(discriminantsAndTypePredicates.ts, 2, 13), Decl(discriminantsAndTypePredicates.ts, 3, 13)) + + return x; // A +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) + } + x; // B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) + + if (x.type === 'B') { +>x.type : Symbol(B.type, Decl(discriminantsAndTypePredicates.ts, 3, 13)) +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) +>type : Symbol(B.type, Decl(discriminantsAndTypePredicates.ts, 3, 13)) + + return x; // B +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) + } + x; // never +>x : Symbol(x, Decl(discriminantsAndTypePredicates.ts, 20, 14)) +} diff --git a/tests/baselines/reference/discriminantsAndTypePredicates.types b/tests/baselines/reference/discriminantsAndTypePredicates.types new file mode 100644 index 00000000000..f7675b14756 --- /dev/null +++ b/tests/baselines/reference/discriminantsAndTypePredicates.types @@ -0,0 +1,104 @@ +=== tests/cases/compiler/discriminantsAndTypePredicates.ts === +// Repro from #10145 + +interface A { type: 'A' } +>A : A +>type : "A" + +interface B { type: 'B' } +>B : B +>type : "B" + +function isA(x: A | B): x is A { return x.type === 'A'; } +>isA : (x: A | B) => x is A +>x : A | B +>A : A +>B : B +>x : any +>A : A +>x.type === 'A' : boolean +>x.type : "A" | "B" +>x : A | B +>type : "A" | "B" +>'A' : "A" + +function isB(x: A | B): x is B { return x.type === 'B'; } +>isB : (x: A | B) => x is B +>x : A | B +>A : A +>B : B +>x : any +>B : B +>x.type === 'B' : boolean +>x.type : "A" | "B" +>x : A | B +>type : "A" | "B" +>'B' : "B" + +function foo1(x: A | B): any { +>foo1 : (x: A | B) => any +>x : A | B +>A : A +>B : B + + x; // A | B +>x : A | B + + if (isA(x)) { +>isA(x) : boolean +>isA : (x: A | B) => x is A +>x : A | B + + return x; // A +>x : A + } + x; // B +>x : B + + if (isB(x)) { +>isB(x) : boolean +>isB : (x: A | B) => x is B +>x : B + + return x; // B +>x : B + } + x; // never +>x : never +} + +function foo2(x: A | B): any { +>foo2 : (x: A | B) => any +>x : A | B +>A : A +>B : B + + x; // A | B +>x : A | B + + if (x.type === 'A') { +>x.type === 'A' : boolean +>x.type : "A" | "B" +>x : A | B +>type : "A" | "B" +>'A' : "A" + + return x; // A +>x : A + } + x; // B +>x : B + + if (x.type === 'B') { +>x.type === 'B' : boolean +>x.type : "B" +>x : B +>type : "B" +>'B' : "B" + + return x; // B +>x : B + } + x; // never +>x : never +} diff --git a/tests/baselines/reference/discriminatedUnionTypes1.errors.txt b/tests/baselines/reference/discriminatedUnionTypes1.errors.txt new file mode 100644 index 00000000000..ac2bd4d3b19 --- /dev/null +++ b/tests/baselines/reference/discriminatedUnionTypes1.errors.txt @@ -0,0 +1,148 @@ +tests/cases/conformance/types/union/discriminatedUnionTypes1.ts(89,9): error TS2365: Operator '===' cannot be applied to types '"A" | "B" | "C" | "D"' and '"X"'. + + +==== tests/cases/conformance/types/union/discriminatedUnionTypes1.ts (1 errors) ==== + interface Square { + kind: "square"; + size: number; + } + + interface Rectangle { + kind: "rectangle"; + width: number; + height: number; + } + + interface Circle { + kind: "circle"; + radius: number; + } + + type Shape = Square | Rectangle | Circle; + + function area1(s: Shape) { + if (s.kind === "square") { + return s.size * s.size; + } + else if (s.kind === "circle") { + return Math.PI * s.radius * s.radius; + } + else if (s.kind === "rectangle") { + return s.width * s.height; + } + else { + return 0; + } + } + + function area2(s: Shape) { + switch (s.kind) { + case "square": return s.size * s.size; + case "rectangle": return s.width * s.height; + case "circle": return Math.PI * s.radius * s.radius; + } + } + + function assertNever(x: never): never { + throw new Error("Unexpected object: " + x); + } + + function area3(s: Shape) { + switch (s.kind) { + case "square": return s.size * s.size; + case "rectangle": return s.width * s.height; + case "circle": return Math.PI * s.radius * s.radius; + default: return assertNever(s); + } + } + + function area4(s: Shape) { + switch (s.kind) { + case "square": return s.size * s.size; + case "rectangle": return s.width * s.height; + case "circle": return Math.PI * s.radius * s.radius; + } + return assertNever(s); + } + + type Message = + { kind: "A", x: string } | + { kind: "B" | "C", y: number } | + { kind: "D" }; + + function f1(m: Message) { + if (m.kind === "A") { + m; // { kind: "A", x: string } + } + else if (m.kind === "D") { + m; // { kind: "D" } + } + else { + m; // { kind: "B" | "C", y: number } + } + } + + function f2(m: Message) { + if (m.kind === "A") { + return; + } + m; // { kind: "B" | "C", y: number } | { kind: "D" } + } + + function f3(m: Message) { + if (m.kind === "X") { + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"A" | "B" | "C" | "D"' and '"X"'. + m; // never + } + } + + function f4(m: Message, x: "A" | "D") { + if (m.kind == x) { + m; // { kind: "A", x: string } | { kind: "D" } + } + } + + function f5(m: Message) { + switch (m.kind) { + case "A": + m; // { kind: "A", x: string } + break; + case "D": + m; // { kind: "D" } + break; + default: + m; // { kind: "B" | "C", y: number } + } + } + + function f6(m: Message) { + switch (m.kind) { + case "A": + m; // { kind: "A", x: string } + case "D": + m; // { kind: "A", x: string } | { kind: "D" } + break; + default: + m; // { kind: "B" | "C", y: number } + } + } + + function f7(m: Message) { + switch (m.kind) { + case "A": + case "B": + return; + } + m; // { kind: "B" | "C", y: number } | { kind: "D" } + } + + function f8(m: Message) { + switch (m.kind) { + case "A": + return; + case "D": + throw new Error(); + } + m; // { kind: "B" | "C", y: number } + } \ No newline at end of file diff --git a/tests/baselines/reference/discriminatedUnionTypes1.symbols b/tests/baselines/reference/discriminatedUnionTypes1.symbols deleted file mode 100644 index 38069447423..00000000000 --- a/tests/baselines/reference/discriminatedUnionTypes1.symbols +++ /dev/null @@ -1,402 +0,0 @@ -=== tests/cases/conformance/types/union/discriminatedUnionTypes1.ts === -interface Square { ->Square : Symbol(Square, Decl(discriminatedUnionTypes1.ts, 0, 0)) - - kind: "square"; ->kind : Symbol(Square.kind, Decl(discriminatedUnionTypes1.ts, 0, 18)) - - size: number; ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) -} - -interface Rectangle { ->Rectangle : Symbol(Rectangle, Decl(discriminatedUnionTypes1.ts, 3, 1)) - - kind: "rectangle"; ->kind : Symbol(Rectangle.kind, Decl(discriminatedUnionTypes1.ts, 5, 21)) - - width: number; ->width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) - - height: number; ->height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) -} - -interface Circle { ->Circle : Symbol(Circle, Decl(discriminatedUnionTypes1.ts, 9, 1)) - - kind: "circle"; ->kind : Symbol(Circle.kind, Decl(discriminatedUnionTypes1.ts, 11, 18)) - - radius: number; ->radius : Symbol(Circle.radius, Decl(discriminatedUnionTypes1.ts, 12, 19)) -} - -type Shape = Square | Rectangle | Circle; ->Shape : Symbol(Shape, Decl(discriminatedUnionTypes1.ts, 14, 1)) ->Square : Symbol(Square, Decl(discriminatedUnionTypes1.ts, 0, 0)) ->Rectangle : Symbol(Rectangle, Decl(discriminatedUnionTypes1.ts, 3, 1)) ->Circle : Symbol(Circle, Decl(discriminatedUnionTypes1.ts, 9, 1)) - -function area1(s: Shape) { ->area1 : Symbol(area1, Decl(discriminatedUnionTypes1.ts, 16, 41)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->Shape : Symbol(Shape, Decl(discriminatedUnionTypes1.ts, 14, 1)) - - if (s.kind === "square") { ->s.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) - - return s.size * s.size; ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) - } - else if (s.kind === "circle") { ->s.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->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, --, --)) ->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)) ->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)) - } - else if (s.kind === "rectangle") { ->s.kind : Symbol(Rectangle.kind, Decl(discriminatedUnionTypes1.ts, 5, 21)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->kind : Symbol(Rectangle.kind, Decl(discriminatedUnionTypes1.ts, 5, 21)) - - return s.width * s.height; ->s.width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s.height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 18, 15)) ->height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) - } - else { - return 0; - } -} - -function area2(s: Shape) { ->area2 : Symbol(area2, Decl(discriminatedUnionTypes1.ts, 31, 1)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->Shape : Symbol(Shape, Decl(discriminatedUnionTypes1.ts, 14, 1)) - - switch (s.kind) { ->s.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) - - case "square": return s.size * s.size; ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) - - case "rectangle": return s.width * s.height; ->s.width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s.height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 33, 15)) ->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, --, --)) ->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)) ->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)) - } -} - -function assertNever(x: never): never { ->assertNever : Symbol(assertNever, Decl(discriminatedUnionTypes1.ts, 39, 1)) ->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, --, --)) ->x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 41, 21)) -} - -function area3(s: Shape) { ->area3 : Symbol(area3, Decl(discriminatedUnionTypes1.ts, 43, 1)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->Shape : Symbol(Shape, Decl(discriminatedUnionTypes1.ts, 14, 1)) - - switch (s.kind) { ->s.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) - - case "square": return s.size * s.size; ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) - - case "rectangle": return s.width * s.height; ->s.width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s.height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) ->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, --, --)) ->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)) ->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)) - - default: return assertNever(s); ->assertNever : Symbol(assertNever, Decl(discriminatedUnionTypes1.ts, 39, 1)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 45, 15)) - } -} - -function area4(s: Shape) { ->area4 : Symbol(area4, Decl(discriminatedUnionTypes1.ts, 52, 1)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->Shape : Symbol(Shape, Decl(discriminatedUnionTypes1.ts, 14, 1)) - - switch (s.kind) { ->s.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 0, 18), Decl(discriminatedUnionTypes1.ts, 5, 21), Decl(discriminatedUnionTypes1.ts, 11, 18)) - - case "square": return s.size * s.size; ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s.size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->size : Symbol(Square.size, Decl(discriminatedUnionTypes1.ts, 1, 19)) - - case "rectangle": return s.width * s.height; ->s.width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->width : Symbol(Rectangle.width, Decl(discriminatedUnionTypes1.ts, 6, 22)) ->s.height : Symbol(Rectangle.height, Decl(discriminatedUnionTypes1.ts, 7, 18)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) ->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, --, --)) ->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)) ->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)) - } - return assertNever(s); ->assertNever : Symbol(assertNever, Decl(discriminatedUnionTypes1.ts, 39, 1)) ->s : Symbol(s, Decl(discriminatedUnionTypes1.ts, 54, 15)) -} - -type Message = ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - { kind: "A", x: string } | ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5)) ->x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 64, 16)) - - { kind: "B" | "C", y: number } | ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 65, 5)) ->y : Symbol(y, Decl(discriminatedUnionTypes1.ts, 65, 22)) - - { kind: "D" }; ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 66, 5)) - -function f1(m: Message) { ->f1 : Symbol(f1, Decl(discriminatedUnionTypes1.ts, 66, 18)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - if (m.kind === "A") { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - m; // { kind: "A", x: string } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) - } - else if (m.kind === "D") { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - m; // { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) - } - else { - m; // { kind: "B" | "C", y: number } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 68, 12)) - } -} - -function f2(m: Message) { ->f2 : Symbol(f2, Decl(discriminatedUnionTypes1.ts, 78, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 80, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - if (m.kind === "A") { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 80, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - return; - } - m; // { kind: "B" | "C", y: number } | { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 80, 12)) -} - -function f3(m: Message) { ->f3 : Symbol(f3, Decl(discriminatedUnionTypes1.ts, 85, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 87, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - if (m.kind === "X") { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 87, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - m; // never ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 87, 12)) - } -} - -function f4(m: Message, x: "A" | "D") { ->f4 : Symbol(f4, Decl(discriminatedUnionTypes1.ts, 91, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 93, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) ->x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 93, 23)) - - if (m.kind == x) { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 93, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->x : Symbol(x, Decl(discriminatedUnionTypes1.ts, 93, 23)) - - m; // { kind: "A", x: string } | { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 93, 12)) - } -} - -function f5(m: Message) { ->f5 : Symbol(f5, Decl(discriminatedUnionTypes1.ts, 97, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 99, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - switch (m.kind) { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 99, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - case "A": - m; // { kind: "A", x: string } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 99, 12)) - - break; - case "D": - m; // { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 99, 12)) - - break; - default: - m; // { kind: "B" | "C", y: number } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 99, 12)) - } -} - -function f6(m: Message) { ->f6 : Symbol(f6, Decl(discriminatedUnionTypes1.ts, 110, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 112, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - switch (m.kind) { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 112, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - case "A": - m; // { kind: "A", x: string } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 112, 12)) - - case "D": - m; // { kind: "A", x: string } | { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 112, 12)) - - break; - default: - m; // { kind: "B" | "C", y: number } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 112, 12)) - } -} - -function f7(m: Message) { ->f7 : Symbol(f7, Decl(discriminatedUnionTypes1.ts, 122, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 124, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - switch (m.kind) { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 124, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - case "A": - case "B": - return; - } - m; // { kind: "B" | "C", y: number } | { kind: "D" } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 124, 12)) -} - -function f8(m: Message) { ->f8 : Symbol(f8, Decl(discriminatedUnionTypes1.ts, 131, 1)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 133, 12)) ->Message : Symbol(Message, Decl(discriminatedUnionTypes1.ts, 61, 1)) - - switch (m.kind) { ->m.kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 133, 12)) ->kind : Symbol(kind, Decl(discriminatedUnionTypes1.ts, 64, 5), Decl(discriminatedUnionTypes1.ts, 65, 5), Decl(discriminatedUnionTypes1.ts, 66, 5)) - - case "A": - return; - case "D": - throw new Error(); ->Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) - } - m; // { kind: "B" | "C", y: number } ->m : Symbol(m, Decl(discriminatedUnionTypes1.ts, 133, 12)) -} diff --git a/tests/baselines/reference/discriminatedUnionTypes1.types b/tests/baselines/reference/discriminatedUnionTypes1.types deleted file mode 100644 index 234de28eaba..00000000000 --- a/tests/baselines/reference/discriminatedUnionTypes1.types +++ /dev/null @@ -1,465 +0,0 @@ -=== tests/cases/conformance/types/union/discriminatedUnionTypes1.ts === -interface Square { ->Square : Square - - kind: "square"; ->kind : "square" - - size: number; ->size : number -} - -interface Rectangle { ->Rectangle : Rectangle - - kind: "rectangle"; ->kind : "rectangle" - - width: number; ->width : number - - height: number; ->height : number -} - -interface Circle { ->Circle : Circle - - kind: "circle"; ->kind : "circle" - - radius: number; ->radius : number -} - -type Shape = Square | Rectangle | Circle; ->Shape : Square | Rectangle | Circle ->Square : Square ->Rectangle : Rectangle ->Circle : Circle - -function area1(s: Shape) { ->area1 : (s: Square | Rectangle | Circle) => number ->s : Square | Rectangle | Circle ->Shape : Square | Rectangle | Circle - - if (s.kind === "square") { ->s.kind === "square" : boolean ->s.kind : "square" | "rectangle" | "circle" ->s : Square | Rectangle | Circle ->kind : "square" | "rectangle" | "circle" ->"square" : string - - return s.size * s.size; ->s.size * s.size : number ->s.size : number ->s : Square ->size : number ->s.size : number ->s : Square ->size : number - } - else if (s.kind === "circle") { ->s.kind === "circle" : boolean ->s.kind : "rectangle" | "circle" ->s : Rectangle | Circle ->kind : "rectangle" | "circle" ->"circle" : string - - return Math.PI * s.radius * s.radius; ->Math.PI * s.radius * s.radius : number ->Math.PI * s.radius : number ->Math.PI : number ->Math : Math ->PI : number ->s.radius : number ->s : Circle ->radius : number ->s.radius : number ->s : Circle ->radius : number - } - else if (s.kind === "rectangle") { ->s.kind === "rectangle" : boolean ->s.kind : "rectangle" ->s : Rectangle ->kind : "rectangle" ->"rectangle" : string - - return s.width * s.height; ->s.width * s.height : number ->s.width : number ->s : Rectangle ->width : number ->s.height : number ->s : Rectangle ->height : number - } - else { - return 0; ->0 : number - } -} - -function area2(s: Shape) { ->area2 : (s: Square | Rectangle | Circle) => number ->s : Square | Rectangle | Circle ->Shape : Square | Rectangle | Circle - - switch (s.kind) { ->s.kind : "square" | "rectangle" | "circle" ->s : Square | Rectangle | Circle ->kind : "square" | "rectangle" | "circle" - - case "square": return s.size * s.size; ->"square" : string ->s.size * s.size : number ->s.size : number ->s : Square ->size : number ->s.size : number ->s : Square ->size : number - - case "rectangle": return s.width * s.height; ->"rectangle" : string ->s.width * s.height : number ->s.width : number ->s : Rectangle ->width : number ->s.height : number ->s : Rectangle ->height : number - - case "circle": return Math.PI * s.radius * s.radius; ->"circle" : string ->Math.PI * s.radius * s.radius : number ->Math.PI * s.radius : number ->Math.PI : number ->Math : Math ->PI : number ->s.radius : number ->s : Circle ->radius : number ->s.radius : number ->s : Circle ->radius : number - } -} - -function assertNever(x: never): never { ->assertNever : (x: never) => never ->x : never - - throw new Error("Unexpected object: " + x); ->new Error("Unexpected object: " + x) : Error ->Error : ErrorConstructor ->"Unexpected object: " + x : string ->"Unexpected object: " : string ->x : never -} - -function area3(s: Shape) { ->area3 : (s: Square | Rectangle | Circle) => number ->s : Square | Rectangle | Circle ->Shape : Square | Rectangle | Circle - - switch (s.kind) { ->s.kind : "square" | "rectangle" | "circle" ->s : Square | Rectangle | Circle ->kind : "square" | "rectangle" | "circle" - - case "square": return s.size * s.size; ->"square" : string ->s.size * s.size : number ->s.size : number ->s : Square ->size : number ->s.size : number ->s : Square ->size : number - - case "rectangle": return s.width * s.height; ->"rectangle" : string ->s.width * s.height : number ->s.width : number ->s : Rectangle ->width : number ->s.height : number ->s : Rectangle ->height : number - - case "circle": return Math.PI * s.radius * s.radius; ->"circle" : string ->Math.PI * s.radius * s.radius : number ->Math.PI * s.radius : number ->Math.PI : number ->Math : Math ->PI : number ->s.radius : number ->s : Circle ->radius : number ->s.radius : number ->s : Circle ->radius : number - - default: return assertNever(s); ->assertNever(s) : never ->assertNever : (x: never) => never ->s : never - } -} - -function area4(s: Shape) { ->area4 : (s: Square | Rectangle | Circle) => number ->s : Square | Rectangle | Circle ->Shape : Square | Rectangle | Circle - - switch (s.kind) { ->s.kind : "square" | "rectangle" | "circle" ->s : Square | Rectangle | Circle ->kind : "square" | "rectangle" | "circle" - - case "square": return s.size * s.size; ->"square" : string ->s.size * s.size : number ->s.size : number ->s : Square ->size : number ->s.size : number ->s : Square ->size : number - - case "rectangle": return s.width * s.height; ->"rectangle" : string ->s.width * s.height : number ->s.width : number ->s : Rectangle ->width : number ->s.height : number ->s : Rectangle ->height : number - - case "circle": return Math.PI * s.radius * s.radius; ->"circle" : string ->Math.PI * s.radius * s.radius : number ->Math.PI * s.radius : number ->Math.PI : number ->Math : Math ->PI : number ->s.radius : number ->s : Circle ->radius : number ->s.radius : number ->s : Circle ->radius : number - } - return assertNever(s); ->assertNever(s) : never ->assertNever : (x: never) => never ->s : never -} - -type Message = ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - { kind: "A", x: string } | ->kind : "A" ->x : string - - { kind: "B" | "C", y: number } | ->kind : "B" | "C" ->y : number - - { kind: "D" }; ->kind : "D" - -function f1(m: Message) { ->f1 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - if (m.kind === "A") { ->m.kind === "A" : boolean ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" ->"A" : string - - m; // { kind: "A", x: string } ->m : { kind: "A"; x: string; } - } - else if (m.kind === "D") { ->m.kind === "D" : boolean ->m.kind : "B" | "C" | "D" ->m : { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "B" | "C" | "D" ->"D" : string - - m; // { kind: "D" } ->m : { kind: "D"; } - } - else { - m; // { kind: "B" | "C", y: number } ->m : { kind: "B" | "C"; y: number; } - } -} - -function f2(m: Message) { ->f2 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - if (m.kind === "A") { ->m.kind === "A" : boolean ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" ->"A" : string - - return; - } - m; // { kind: "B" | "C", y: number } | { kind: "D" } ->m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -} - -function f3(m: Message) { ->f3 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - if (m.kind === "X") { ->m.kind === "X" : boolean ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" ->"X" : string - - m; // never ->m : never - } -} - -function f4(m: Message, x: "A" | "D") { ->f4 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }, x: "A" | "D") => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->x : "A" | "D" - - if (m.kind == x) { ->m.kind == x : boolean ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" ->x : "A" | "D" - - m; // { kind: "A", x: string } | { kind: "D" } ->m : { kind: "A"; x: string; } | { kind: "D"; } - } -} - -function f5(m: Message) { ->f5 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - switch (m.kind) { ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" - - case "A": ->"A" : string - - m; // { kind: "A", x: string } ->m : { kind: "A"; x: string; } - - break; - case "D": ->"D" : string - - m; // { kind: "D" } ->m : { kind: "D"; } - - break; - default: - m; // { kind: "B" | "C", y: number } ->m : { kind: "B" | "C"; y: number; } - } -} - -function f6(m: Message) { ->f6 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - switch (m.kind) { ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" - - case "A": ->"A" : string - - m; // { kind: "A", x: string } ->m : { kind: "A"; x: string; } - - case "D": ->"D" : string - - m; // { kind: "A", x: string } | { kind: "D" } ->m : { kind: "D"; } | { kind: "A"; x: string; } - - break; - default: - m; // { kind: "B" | "C", y: number } ->m : { kind: "B" | "C"; y: number; } - } -} - -function f7(m: Message) { ->f7 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - switch (m.kind) { ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" - - case "A": ->"A" : string - - case "B": ->"B" : string - - return; - } - m; // { kind: "B" | "C", y: number } | { kind: "D" } ->m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -} - -function f8(m: Message) { ->f8 : (m: { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; }) => void ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->Message : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } - - switch (m.kind) { ->m.kind : "A" | "B" | "C" | "D" ->m : { kind: "A"; x: string; } | { kind: "B" | "C"; y: number; } | { kind: "D"; } ->kind : "A" | "B" | "C" | "D" - - case "A": ->"A" : string - - return; - case "D": ->"D" : string - - throw new Error(); ->new Error() : Error ->Error : ErrorConstructor - } - m; // { kind: "B" | "C", y: number } ->m : { kind: "B" | "C"; y: number; } -} diff --git a/tests/baselines/reference/doNotEmitDetachedComments.types b/tests/baselines/reference/doNotEmitDetachedComments.types index d9b5f0634c2..ee361223560 100644 --- a/tests/baselines/reference/doNotEmitDetachedComments.types +++ b/tests/baselines/reference/doNotEmitDetachedComments.types @@ -7,7 +7,7 @@ var x = 10; >x : number ->10 : number +>10 : 10 // Single Line comment diff --git a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfConstructor.types b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfConstructor.types index c316c6403c0..b8879c4236e 100644 --- a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfConstructor.types +++ b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfConstructor.types @@ -7,7 +7,7 @@ class A { var x = 10; >x : number ->10 : number +>10 : 10 } } @@ -21,7 +21,7 @@ class B { var y = 10; >y : number ->10 : number +>10 : 10 } } @@ -34,7 +34,7 @@ class C { var x = 10; >x : number ->10 : number +>10 : 10 } } @@ -49,6 +49,6 @@ class D { var y = 10; >y : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfFunctionBody.types b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfFunctionBody.types index 3b4814bbbb2..78c3d946f1d 100644 --- a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfFunctionBody.types +++ b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfFunctionBody.types @@ -5,7 +5,7 @@ function foo1() { // Single line comment return 42; ->42 : number +>42 : 42 } function foo2() { @@ -18,7 +18,7 @@ function foo2() { */ return 42; ->42 : number +>42 : 42 } function foo3() { @@ -28,7 +28,7 @@ function foo3() { return 42; ->42 : number +>42 : 42 } function foo4() { @@ -40,7 +40,7 @@ function foo4() { */ return 42; ->42 : number +>42 : 42 } diff --git a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.types b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.types index d90e93d84c5..cca2ff86469 100644 --- a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.types +++ b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.types @@ -5,7 +5,7 @@ // Single line comment return 0; ->0 : number +>0 : 0 } () => { @@ -16,7 +16,7 @@ */ return 0; ->0 : number +>0 : 0 } () => { @@ -26,7 +26,7 @@ return 0; ->0 : number +>0 : 0 } () => { @@ -38,6 +38,6 @@ return 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/doNotEmitPinnedCommentNotOnTopOfFile.types b/tests/baselines/reference/doNotEmitPinnedCommentNotOnTopOfFile.types index 3426c70dfb9..e76d9e6b8e1 100644 --- a/tests/baselines/reference/doNotEmitPinnedCommentNotOnTopOfFile.types +++ b/tests/baselines/reference/doNotEmitPinnedCommentNotOnTopOfFile.types @@ -1,7 +1,7 @@ === tests/cases/compiler/doNotEmitPinnedCommentNotOnTopOfFile.ts === var x = 10; >x : number ->10 : number +>10 : 10 /*! @@ -11,5 +11,5 @@ var x = 10; var x = 10; >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.types b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.types index 49fb8e378ba..491ccdbd0d0 100644 --- a/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.types +++ b/tests/baselines/reference/doNotEmitPinnedCommentOnNotEmittedNode.types @@ -17,7 +17,7 @@ class C { var x = 10; >x : number ->10 : number +>10 : 10 /*! remove pinned comment anywhere else */ declare var OData: any; diff --git a/tests/baselines/reference/doNotEmitPinnedDetachedComments.types b/tests/baselines/reference/doNotEmitPinnedDetachedComments.types index d9e78e2f980..f953b81a713 100644 --- a/tests/baselines/reference/doNotEmitPinnedDetachedComments.types +++ b/tests/baselines/reference/doNotEmitPinnedDetachedComments.types @@ -1,7 +1,7 @@ === tests/cases/compiler/doNotEmitPinnedDetachedComments.ts === var x = 10; >x : number ->10 : number +>10 : 10 /*! Single Line comment */ @@ -33,7 +33,7 @@ function foo() { /*! Remove this */ return 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.types b/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.types index f151b5841c0..d61bd343c64 100644 --- a/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.types +++ b/tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.types @@ -26,7 +26,7 @@ var test: IIntervalTreeNode[] = [{ interval: { begin: 0 }, children: null }]; // >interval : { begin: number; } >{ begin: 0 } : { begin: number; } >begin : number ->0 : number +>0 : 0 >children : null >null : null diff --git a/tests/baselines/reference/doNotemitTripleSlashComments.types b/tests/baselines/reference/doNotemitTripleSlashComments.types index edebe5687f6..8bad6e601de 100644 --- a/tests/baselines/reference/doNotemitTripleSlashComments.types +++ b/tests/baselines/reference/doNotemitTripleSlashComments.types @@ -17,12 +17,12 @@ function bar() { } /// var x = 10; >x : number ->10 : number +>10 : 10 /// var y = "hello"; >y : string ->"hello" : string +>"hello" : "hello" /// @@ -39,5 +39,5 @@ function foo() { } var z = "world"; >z : string ->"world" : string +>"world" : "world" diff --git a/tests/baselines/reference/doWhileBreakStatements.types b/tests/baselines/reference/doWhileBreakStatements.types index f143cb17d08..bc5102dc330 100644 --- a/tests/baselines/reference/doWhileBreakStatements.types +++ b/tests/baselines/reference/doWhileBreakStatements.types @@ -3,7 +3,7 @@ do { break; } while(true) ->true : boolean +>true : true ONE: >ONE : any @@ -13,7 +13,7 @@ do { >ONE : any } while (true) ->true : boolean +>true : true TWO: >TWO : any @@ -26,7 +26,7 @@ do { >THREE : any }while (true) ->true : boolean +>true : true FOUR: >FOUR : any @@ -40,10 +40,10 @@ do { >FOUR : any }while (true) ->true : boolean +>true : true }while (true) ->true : boolean +>true : true do { SIX: @@ -51,19 +51,19 @@ do { do break SIX; while(true) >SIX : any ->true : boolean +>true : true }while (true) ->true : boolean +>true : true SEVEN: >SEVEN : any do do do break SEVEN; while (true) while (true) while (true) >SEVEN : any ->true : boolean ->true : boolean ->true : boolean +>true : true +>true : true +>true : true EIGHT: >EIGHT : any @@ -77,5 +77,5 @@ do{ >EIGHT : any }while(true) ->true : boolean +>true : true diff --git a/tests/baselines/reference/doWhileContinueStatements.types b/tests/baselines/reference/doWhileContinueStatements.types index e4d3191d040..66ff052a3cd 100644 --- a/tests/baselines/reference/doWhileContinueStatements.types +++ b/tests/baselines/reference/doWhileContinueStatements.types @@ -3,7 +3,7 @@ do { continue; } while(true) ->true : boolean +>true : true ONE: >ONE : any @@ -13,7 +13,7 @@ do { >ONE : any } while (true) ->true : boolean +>true : true TWO: >TWO : any @@ -26,7 +26,7 @@ do { >THREE : any }while (true) ->true : boolean +>true : true FOUR: >FOUR : any @@ -40,10 +40,10 @@ do { >FOUR : any }while (true) ->true : boolean +>true : true }while (true) ->true : boolean +>true : true do { SIX: @@ -51,19 +51,19 @@ do { do continue SIX; while(true) >SIX : any ->true : boolean +>true : true }while (true) ->true : boolean +>true : true SEVEN: >SEVEN : any do do do continue SEVEN; while (true) while (true) while (true) >SEVEN : any ->true : boolean ->true : boolean ->true : boolean +>true : true +>true : true +>true : true EIGHT: >EIGHT : any @@ -77,5 +77,5 @@ do{ >EIGHT : any }while(true) ->true : boolean +>true : true diff --git a/tests/baselines/reference/doWhileLoop.types b/tests/baselines/reference/doWhileLoop.types index 9d1767b45aa..24d24ae4dca 100644 --- a/tests/baselines/reference/doWhileLoop.types +++ b/tests/baselines/reference/doWhileLoop.types @@ -1,6 +1,6 @@ === tests/cases/compiler/doWhileLoop.ts === do { } while (false); ->false : boolean +>false : false var n; >n : any diff --git a/tests/baselines/reference/dottedModuleName2.types b/tests/baselines/reference/dottedModuleName2.types index 869bbfb4cfc..6e58412481d 100644 --- a/tests/baselines/reference/dottedModuleName2.types +++ b/tests/baselines/reference/dottedModuleName2.types @@ -5,7 +5,7 @@ module A.B { export var x = 1; >x : number ->1 : number +>1 : 1 } @@ -17,7 +17,7 @@ module AA { export module B { export var x = 1; >x : number ->1 : number +>1 : 1 } } @@ -49,7 +49,7 @@ module A.B.C export var x = 1; >x : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/dottedNamesInSystem.js b/tests/baselines/reference/dottedNamesInSystem.js index 4f1814f393d..c4bb44f03cf 100644 --- a/tests/baselines/reference/dottedNamesInSystem.js +++ b/tests/baselines/reference/dottedNamesInSystem.js @@ -8,17 +8,17 @@ export function bar() { } //// [dottedNamesInSystem.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var A; function bar() { return A.B.C.foo(); } + var A; exports_1("bar", bar); return { - setters:[], - execute: function() { + setters: [], + execute: function () { (function (A) { var B; (function (B) { @@ -31,5 +31,5 @@ System.register([], function(exports_1, context_1) { })(A = A || (A = {})); exports_1("A", A); } - } + }; }); diff --git a/tests/baselines/reference/dottedSymbolResolution1.types b/tests/baselines/reference/dottedSymbolResolution1.types index cf5a5e3ba9d..3cc8e0db513 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.types +++ b/tests/baselines/reference/dottedSymbolResolution1.types @@ -68,7 +68,7 @@ function _setBarAndText(): void { >x.find : (selector: string) => JQuery >x : JQuery >find : (selector: string) => JQuery ->" " : string +>" " : " " >function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } : () => void var $this: JQuery = $(''), @@ -76,7 +76,7 @@ function _setBarAndText(): void { >JQuery : JQuery >$('') : JQuery >$ : JQueryStatic ->'' : string +>'' : "" thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here >thisBar : JQuery @@ -84,7 +84,7 @@ function _setBarAndText(): void { >$this.find : (selector: string) => JQuery >$this : JQuery >find : (selector: string) => JQuery ->".fx-usagebars-calloutbar-this" : string +>".fx-usagebars-calloutbar-this" : ".fx-usagebars-calloutbar-this" } ); } diff --git a/tests/baselines/reference/downlevelLetConst10.types b/tests/baselines/reference/downlevelLetConst10.types index 3d700b0694d..e94ed7e1178 100644 --- a/tests/baselines/reference/downlevelLetConst10.types +++ b/tests/baselines/reference/downlevelLetConst10.types @@ -1,5 +1,5 @@ === tests/cases/compiler/downlevelLetConst10.ts === let a: number = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/downlevelLetConst13.types b/tests/baselines/reference/downlevelLetConst13.types index 0453d3a6ad3..92bb3226f94 100644 --- a/tests/baselines/reference/downlevelLetConst13.types +++ b/tests/baselines/reference/downlevelLetConst13.types @@ -1,74 +1,74 @@ === tests/cases/compiler/downlevelLetConst13.ts === 'use strict' ->'use strict' : string +>'use strict' : "use strict" // exported let\const bindings should not be renamed export let foo = 10; >foo : number ->10 : number +>10 : 10 export const bar = "123" ->bar : string ->"123" : string +>bar : "123" +>"123" : "123" export let [bar1] = [1]; >bar1 : number >[1] : [number] ->1 : number +>1 : 1 export const [bar2] = [2]; >bar2 : number >[2] : [number] ->2 : number +>2 : 2 export let {a: bar3} = { a: 1 }; >a : any >bar3 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 export const {a: bar4} = { a: 1 }; >a : any >bar4 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 export module M { >M : typeof M export let baz = 100; >baz : number ->100 : number +>100 : 100 export const baz2 = true; ->baz2 : boolean ->true : boolean +>baz2 : true +>true : true export let [bar5] = [1]; >bar5 : number >[1] : [number] ->1 : number +>1 : 1 export const [bar6] = [2]; >bar6 : number >[2] : [number] ->2 : number +>2 : 2 export let {a: bar7} = { a: 1 }; >a : any >bar7 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 export const {a: bar8} = { a: 1 }; >a : any >bar8 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/downlevelLetConst14.types b/tests/baselines/reference/downlevelLetConst14.types index ea6aadfe2a8..29c87e76cce 100644 --- a/tests/baselines/reference/downlevelLetConst14.types +++ b/tests/baselines/reference/downlevelLetConst14.types @@ -1,6 +1,6 @@ === tests/cases/compiler/downlevelLetConst14.ts === 'use strict' ->'use strict' : string +>'use strict' : "use strict" declare function use(a: any); >use : (a: any) => any @@ -8,7 +8,7 @@ declare function use(a: any); var x = 10; >x : number ->10 : number +>10 : 10 var z0, z1, z2, z3; >z0 : any @@ -18,7 +18,7 @@ var z0, z1, z2, z3; { let x = 20; >x : number ->20 : number +>20 : 20 use(x); >use(x) : any @@ -28,7 +28,7 @@ var z0, z1, z2, z3; let [z0] = [1]; >z0 : number >[1] : [number] ->1 : number +>1 : 1 use(z0); >use(z0) : any @@ -38,7 +38,7 @@ var z0, z1, z2, z3; let [z1] = [1] >z1 : number >[1] : [number] ->1 : number +>1 : 1 use(z1); >use(z1) : any @@ -50,7 +50,7 @@ var z0, z1, z2, z3; >z2 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 use(z2); >use(z2) : any @@ -62,7 +62,7 @@ var z0, z1, z2, z3; >z3 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 use(z3); >use(z3) : any @@ -99,27 +99,27 @@ var z6; var y = true; >y : boolean ->true : boolean +>true : true { let y = ""; >y : string ->"" : string +>"" : "" let [z6] = [true] >z6 : boolean >[true] : [boolean] ->true : boolean +>true : true { let y = 1; >y : number ->1 : number +>1 : 1 let {a: z6} = {a: 1} >a : any >z6 : number >{a: 1} : { a: number; } >a : number ->1 : number +>1 : 1 use(y); >use(y) : any @@ -144,7 +144,7 @@ var y = true; use(y); >use(y) : any >use : (a: any) => any ->y : boolean +>y : true use(z6); >use(z6) : any @@ -153,31 +153,31 @@ use(z6); var z = false; >z : boolean ->false : boolean +>false : false var z5 = 1; >z5 : number ->1 : number +>1 : 1 { let z = ""; >z : string ->"" : string +>"" : "" let [z5] = [5]; >z5 : number >[5] : [number] ->5 : number +>5 : 5 { let _z = 1; >_z : number ->1 : number +>1 : 1 let {a: _z5} = { a: 1 }; >a : any >_z5 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 // try to step on generated name use(_z); @@ -193,5 +193,5 @@ var z5 = 1; use(y); >use(y) : any >use : (a: any) => any ->y : boolean +>y : true diff --git a/tests/baselines/reference/downlevelLetConst15.types b/tests/baselines/reference/downlevelLetConst15.types index 72b29e3fe66..9e58c648821 100644 --- a/tests/baselines/reference/downlevelLetConst15.types +++ b/tests/baselines/reference/downlevelLetConst15.types @@ -1,6 +1,6 @@ === tests/cases/compiler/downlevelLetConst15.ts === 'use strict' ->'use strict' : string +>'use strict' : "use strict" declare function use(a: any); >use : (a: any) => any @@ -8,7 +8,7 @@ declare function use(a: any); var x = 10; >x : number ->10 : number +>10 : 10 var z0, z1, z2, z3; >z0 : any @@ -17,18 +17,18 @@ var z0, z1, z2, z3; >z3 : any { const x = 20; ->x : number ->20 : number +>x : 20 +>20 : 20 use(x); >use(x) : any >use : (a: any) => any ->x : number +>x : 20 const [z0] = [1]; >z0 : number >[1] : [number] ->1 : number +>1 : 1 use(z0); >use(z0) : any @@ -41,7 +41,7 @@ var z0, z1, z2, z3; >[{a: 1}] : [{ a: number; }] >{a: 1} : { a: number; } >a : number ->1 : number +>1 : 1 use(z1); >use(z1) : any @@ -53,7 +53,7 @@ var z0, z1, z2, z3; >z2 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 use(z2); >use(z2) : any @@ -68,7 +68,7 @@ var z0, z1, z2, z3; >a : { b: number; } >{b: 1} : { b: number; } >b : number ->1 : number +>1 : 1 use(z3); >use(z3) : any @@ -105,32 +105,32 @@ var z6; var y = true; >y : boolean ->true : boolean +>true : true { const y = ""; ->y : string ->"" : string +>y : "" +>"" : "" const [z6] = [true] >z6 : boolean >[true] : [boolean] ->true : boolean +>true : true { const y = 1; ->y : number ->1 : number +>y : 1 +>1 : 1 const {a: z6} = { a: 1 } >a : any >z6 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 use(y); >use(y) : any >use : (a: any) => any ->y : number +>y : 1 use(z6); >use(z6) : any @@ -140,7 +140,7 @@ var y = true; use(y); >use(y) : any >use : (a: any) => any ->y : string +>y : "" use(z6); >use(z6) : any @@ -150,7 +150,7 @@ var y = true; use(y); >use(y) : any >use : (a: any) => any ->y : boolean +>y : true use(z6); >use(z6) : any @@ -159,45 +159,45 @@ use(z6); var z = false; >z : boolean ->false : boolean +>false : false var z5 = 1; >z5 : number ->1 : number +>1 : 1 { const z = ""; ->z : string ->"" : string +>z : "" +>"" : "" const [z5] = [5]; >z5 : number >[5] : [number] ->5 : number +>5 : 5 { const _z = 1; ->_z : number ->1 : number +>_z : 1 +>1 : 1 const {a: _z5} = { a: 1 }; >a : any >_z5 : number >{ a: 1 } : { a: number; } >a : number ->1 : number +>1 : 1 // try to step on generated name use(_z); >use(_z) : any >use : (a: any) => any ->_z : number +>_z : 1 } use(z); >use(z) : any >use : (a: any) => any ->z : string +>z : "" } use(y); >use(y) : any >use : (a: any) => any ->y : boolean +>y : true diff --git a/tests/baselines/reference/downlevelLetConst17.types b/tests/baselines/reference/downlevelLetConst17.types index 4f539835ada..56e9356556e 100644 --- a/tests/baselines/reference/downlevelLetConst17.types +++ b/tests/baselines/reference/downlevelLetConst17.types @@ -1,6 +1,6 @@ === tests/cases/compiler/downlevelLetConst17.ts === 'use strict' ->'use strict' : string +>'use strict' : "use strict" declare function use(a: any); >use : (a: any) => any @@ -11,7 +11,7 @@ var x; for (let x = 10; ;) { >x : number ->10 : number +>10 : 10 use(x); >use(x) : any @@ -24,19 +24,19 @@ use(x); >x : any for (const x = 10; ;) { ->x : number ->10 : number +>x : 10 +>10 : 10 use(x); >use(x) : any >use : (a: any) => any ->x : number +>x : 10 } for (; ;) { let x = 10; >x : number ->10 : number +>10 : 10 use(x); >use(x) : any @@ -44,20 +44,20 @@ for (; ;) { >x : number x = 1; ->x = 1 : number +>x = 1 : 1 >x : number ->1 : number +>1 : 1 } for (; ;) { const x = 10; ->x : number ->10 : number +>x : 10 +>10 : 10 use(x); >use(x) : any >use : (a: any) => any ->x : number +>x : 10 } for (let x; ;) { @@ -69,9 +69,9 @@ for (let x; ;) { >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 } for (; ;) { @@ -84,13 +84,13 @@ for (; ;) { >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 } while (true) { ->true : boolean +>true : true let x; >x : any @@ -102,16 +102,16 @@ while (true) { } while (true) { ->true : boolean +>true : true const x = true; ->x : boolean ->true : boolean +>x : true +>true : true use(x); >use(x) : any >use : (a: any) => any ->x : boolean +>x : true } do { @@ -124,7 +124,7 @@ do { >x : any } while (true); ->true : boolean +>true : true do { let x; @@ -136,7 +136,7 @@ do { >x : any } while (true); ->true : boolean +>true : true for (let x in []) { >x : string diff --git a/tests/baselines/reference/downlevelLetConst18.js b/tests/baselines/reference/downlevelLetConst18.js index cc11c1eef3a..7dcd563f759 100644 --- a/tests/baselines/reference/downlevelLetConst18.js +++ b/tests/baselines/reference/downlevelLetConst18.js @@ -33,45 +33,45 @@ for (let x; ;) { //// [downlevelLetConst18.js] 'use strict'; -var _loop_1 = function(x) { +var _loop_1 = function (x) { function foo() { x; } ; }; for (var x = void 0;;) { _loop_1(x); } -var _loop_2 = function(x) { +var _loop_2 = function (x) { function foo1() { x; } ; }; for (var x = void 0;;) { _loop_2(x); } -var _loop_3 = function(x) { +var _loop_3 = function (x) { (function () { x; })(); }; for (var x = void 0;;) { _loop_3(x); } -var _loop_4 = function(x) { +var _loop_4 = function (x) { (function () { x; })(); }; for (var x = 1;;) { _loop_4(x); } -var _loop_5 = function(x) { +var _loop_5 = function (x) { ({ foo: function () { x; } }); }; for (var x = void 0;;) { _loop_5(x); } -var _loop_6 = function(x) { +var _loop_6 = function (x) { ({ get foo() { return x; } }); }; for (var x = void 0;;) { _loop_6(x); } -var _loop_7 = function(x) { +var _loop_7 = function (x) { ({ set foo(v) { x; } }); }; for (var x = void 0;;) { diff --git a/tests/baselines/reference/downlevelLetConst3.types b/tests/baselines/reference/downlevelLetConst3.types index cf8def45e3c..7be4e55849d 100644 --- a/tests/baselines/reference/downlevelLetConst3.types +++ b/tests/baselines/reference/downlevelLetConst3.types @@ -1,5 +1,5 @@ === tests/cases/compiler/downlevelLetConst3.ts === const a = 1 ->a : number ->1 : number +>a : 1 +>1 : 1 diff --git a/tests/baselines/reference/downlevelLetConst5.types b/tests/baselines/reference/downlevelLetConst5.types index 2cdf6ff53cc..ebb36072415 100644 --- a/tests/baselines/reference/downlevelLetConst5.types +++ b/tests/baselines/reference/downlevelLetConst5.types @@ -1,5 +1,5 @@ === tests/cases/compiler/downlevelLetConst5.ts === const a: number = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/downlevelLetConst8.types b/tests/baselines/reference/downlevelLetConst8.types index c941d673503..01acafd1785 100644 --- a/tests/baselines/reference/downlevelLetConst8.types +++ b/tests/baselines/reference/downlevelLetConst8.types @@ -1,5 +1,5 @@ === tests/cases/compiler/downlevelLetConst8.ts === let a = 1 >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/duplicateAnonymousInners1.js b/tests/baselines/reference/duplicateAnonymousInners1.js index 5bb73bf68ed..24f79566d56 100644 --- a/tests/baselines/reference/duplicateAnonymousInners1.js +++ b/tests/baselines/reference/duplicateAnonymousInners1.js @@ -49,4 +49,6 @@ var Foo; } return Helper; }()); + // Inner should not show up in intellisense + // Outer should show up in intellisense })(Foo || (Foo = {})); diff --git a/tests/baselines/reference/duplicateAnonymousInners1.types b/tests/baselines/reference/duplicateAnonymousInners1.types index 6840e5a14f6..01c2f7984cc 100644 --- a/tests/baselines/reference/duplicateAnonymousInners1.types +++ b/tests/baselines/reference/duplicateAnonymousInners1.types @@ -14,7 +14,7 @@ module Foo { export var Outer=0; >Outer : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js b/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js index 21733e2cebf..eae9e9e4de1 100644 --- a/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js +++ b/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js @@ -73,8 +73,8 @@ var M; function f() { } return f; - }()); - M.f = f; // error + }()); // error + M.f = f; })(M || (M = {})); var M; (function (M) { @@ -86,8 +86,8 @@ var M; function g() { } return g; - }()); - M.g = g; // no error + }()); // no error + M.g = g; })(M || (M = {})); var M; (function (M) { diff --git a/tests/baselines/reference/duplicateLabel3.types b/tests/baselines/reference/duplicateLabel3.types index 920a077aa9e..56af6f24088 100644 --- a/tests/baselines/reference/duplicateLabel3.types +++ b/tests/baselines/reference/duplicateLabel3.types @@ -4,7 +4,7 @@ target: >target : any while (true) { ->true : boolean +>true : true function f() { >f : () => void @@ -13,7 +13,7 @@ while (true) { >target : any while (true) { ->true : boolean +>true : true } } } diff --git a/tests/baselines/reference/duplicateLabel4.types b/tests/baselines/reference/duplicateLabel4.types index a10a06fe7a2..2f5890ae9a4 100644 --- a/tests/baselines/reference/duplicateLabel4.types +++ b/tests/baselines/reference/duplicateLabel4.types @@ -4,12 +4,12 @@ target: >target : any while (true) { ->true : boolean +>true : true } target: >target : any while (true) { ->true : boolean +>true : true } diff --git a/tests/baselines/reference/duplicateLocalVariable1.errors.txt b/tests/baselines/reference/duplicateLocalVariable1.errors.txt index b264574ea09..87bcc71cdfc 100644 --- a/tests/baselines/reference/duplicateLocalVariable1.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable1.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/duplicateLocalVariable1.ts(2,4): error TS1005: ';' expected tests/cases/compiler/duplicateLocalVariable1.ts(2,11): error TS1146: Declaration expected. tests/cases/compiler/duplicateLocalVariable1.ts(2,13): error TS2304: Cannot find name 'commonjs'. tests/cases/compiler/duplicateLocalVariable1.ts(187,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. -tests/cases/compiler/duplicateLocalVariable1.ts(187,29): error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. +tests/cases/compiler/duplicateLocalVariable1.ts(187,29): error TS2365: Operator '<' cannot be applied to types 'string' and '14'. tests/cases/compiler/duplicateLocalVariable1.ts(187,37): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. @@ -203,7 +203,7 @@ tests/cases/compiler/duplicateLocalVariable1.ts(187,37): error TS2356: An arithm ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. ~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. +!!! error TS2365: Operator '<' cannot be applied to types 'string' and '14'. ~ !!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. bytes.push(fb.readByte()); diff --git a/tests/baselines/reference/duplicateLocalVariable2.errors.txt b/tests/baselines/reference/duplicateLocalVariable2.errors.txt index 5e89cc422cc..466e145d28d 100644 --- a/tests/baselines/reference/duplicateLocalVariable2.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable2.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/duplicateLocalVariable2.ts(27,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. -tests/cases/compiler/duplicateLocalVariable2.ts(27,29): error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. +tests/cases/compiler/duplicateLocalVariable2.ts(27,29): error TS2365: Operator '<' cannot be applied to types 'string' and '14'. tests/cases/compiler/duplicateLocalVariable2.ts(27,37): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. @@ -34,7 +34,7 @@ tests/cases/compiler/duplicateLocalVariable2.ts(27,37): error TS2356: An arithme ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. ~~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. +!!! error TS2365: Operator '<' cannot be applied to types 'string' and '14'. ~ !!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. bytes.push(fb.readByte()); diff --git a/tests/baselines/reference/duplicateSymbolsExportMatching.js b/tests/baselines/reference/duplicateSymbolsExportMatching.js index d37d1efb3bb..bb04e3c72a4 100644 --- a/tests/baselines/reference/duplicateSymbolsExportMatching.js +++ b/tests/baselines/reference/duplicateSymbolsExportMatching.js @@ -92,8 +92,8 @@ define(["require", "exports"], function (require, exports) { (function (F) { var t; })(F || (F = {})); - function F() { } - M.F = F; // Only one error for duplicate identifier (don't consider visibility) + function F() { } // Only one error for duplicate identifier (don't consider visibility) + M.F = F; })(M || (M = {})); var M; (function (M) { diff --git a/tests/baselines/reference/duplicateVariablesByScope.types b/tests/baselines/reference/duplicateVariablesByScope.types index 30e68d921ca..4eec3a2054f 100644 --- a/tests/baselines/reference/duplicateVariablesByScope.types +++ b/tests/baselines/reference/duplicateVariablesByScope.types @@ -7,20 +7,20 @@ module M { for (var j = 0; j < 10; j++) { >j : number ->0 : number +>0 : 0 >j < 10 : boolean >j : number ->10 : number +>10 : 10 >j++ : number >j : number } for (var j = 0; j < 10; j++) { >j : number ->0 : number +>0 : 0 >j < 10 : boolean >j : number ->10 : number +>10 : 10 >j++ : number >j : number } @@ -31,23 +31,23 @@ function foo() { var x = 2; >x : number ->2 : number +>2 : 2 var x = 1; >x : number ->1 : number +>1 : 1 if (true) { ->true : boolean +>true : true var result = 1; >result : number ->1 : number +>1 : 1 } else { var result = 2; >result : number ->2 : number +>2 : 2 } } @@ -60,14 +60,14 @@ class C { try { var x = 1; >x : number ->1 : number +>1 : 1 } catch (e) { >e : any var x = 2; >x : number ->2 : number +>2 : 2 } } } diff --git a/tests/baselines/reference/dynamicModuleTypecheckError.types b/tests/baselines/reference/dynamicModuleTypecheckError.types index e50107f328b..d2dbc1a71d9 100644 --- a/tests/baselines/reference/dynamicModuleTypecheckError.types +++ b/tests/baselines/reference/dynamicModuleTypecheckError.types @@ -1,14 +1,14 @@ === tests/cases/compiler/dynamicModuleTypecheckError.ts === export var x = 1; >x : number ->1 : number +>1 : 1 for(var i = 0; i < 30; i++) { >i : number ->0 : number +>0 : 0 >i < 30 : boolean >i : number ->30 : number +>30 : 30 >i++ : number >i : number @@ -17,7 +17,7 @@ for(var i = 0; i < 30; i++) { >x : number >i * 1000 : number >i : number ->1000 : number +>1000 : 1000 } diff --git a/tests/baselines/reference/dynamicRequire.types b/tests/baselines/reference/dynamicRequire.types index 43eea88a05b..9b7a6c359d5 100644 --- a/tests/baselines/reference/dynamicRequire.types +++ b/tests/baselines/reference/dynamicRequire.types @@ -9,6 +9,6 @@ function foo(name) { >require("t/" + name) : any >require : any >"t/" + name : string ->"t/" : string +>"t/" : "t/" >name : any } diff --git a/tests/baselines/reference/elidingImportNames.js b/tests/baselines/reference/elidingImportNames.js index 573c86425dc..94fa1f7e852 100644 --- a/tests/baselines/reference/elidingImportNames.js +++ b/tests/baselines/reference/elidingImportNames.js @@ -23,8 +23,8 @@ exports.main = 10; exports.main = 10; //// [elidingImportNames_test.js] "use strict"; -var a = require('./elidingImportNames_main'); // alias used in typeof +var a = require("./elidingImportNames_main"); // alias used in typeof var b = a; var x; -var a2 = require('./elidingImportNames_main1'); // alias not used in typeof +var a2 = require("./elidingImportNames_main1"); // alias not used in typeof var b2 = a2; diff --git a/tests/baselines/reference/elidingImportNames.types b/tests/baselines/reference/elidingImportNames.types index 947cd38f6d4..8dd6b315137 100644 --- a/tests/baselines/reference/elidingImportNames.types +++ b/tests/baselines/reference/elidingImportNames.types @@ -22,10 +22,10 @@ var b2 = a2; === tests/cases/compiler/elidingImportNames_main.ts === export var main = 10; >main : number ->10 : number +>10 : 10 === tests/cases/compiler/elidingImportNames_main1.ts === export var main = 10; >main : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/emitArrowFunction.types b/tests/baselines/reference/emitArrowFunction.types index 2ac9ef07af4..aa0627632c8 100644 --- a/tests/baselines/reference/emitArrowFunction.types +++ b/tests/baselines/reference/emitArrowFunction.types @@ -22,7 +22,7 @@ var f4 = (x: string, y: number, z = 10) => { } >x : string >y : number >z : number ->10 : number +>10 : 10 function foo(func: () => boolean) { } >foo : (func: () => boolean) => void @@ -31,12 +31,12 @@ function foo(func: () => boolean) { } foo(() => true); >foo(() => true) : void >foo : (func: () => boolean) => void ->() => true : () => boolean ->true : boolean +>() => true : () => true +>true : true foo(() => { return false; }); >foo(() => { return false; }) : void >foo : (func: () => boolean) => void ->() => { return false; } : () => boolean ->false : boolean +>() => { return false; } : () => false +>false : false diff --git a/tests/baselines/reference/emitArrowFunctionES6.types b/tests/baselines/reference/emitArrowFunctionES6.types index d37c08f855c..c434e4b285a 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.types +++ b/tests/baselines/reference/emitArrowFunctionES6.types @@ -22,7 +22,7 @@ var f4 = (x: string, y: number, z=10) => { } >x : string >y : number >z : number ->10 : number +>10 : 10 function foo(func: () => boolean) { } >foo : (func: () => boolean) => void @@ -31,14 +31,14 @@ function foo(func: () => boolean) { } foo(() => true); >foo(() => true) : void >foo : (func: () => boolean) => void ->() => true : () => boolean ->true : boolean +>() => true : () => true +>true : true foo(() => { return false; }); >foo(() => { return false; }) : void >foo : (func: () => boolean) => void ->() => { return false; } : () => boolean ->false : boolean +>() => { return false; } : () => false +>false : false // Binding patterns in arrow functions var p1 = ([a]) => { }; @@ -67,7 +67,7 @@ var p5 = ([a = 1]) => { }; >p5 : ([a]: [number]) => void >([a = 1]) => { } : ([a]: [number]) => void >a : number ->1 : number +>1 : 1 var p6 = ({ a }) => { }; >p6 : ({a}: { a: any; }) => void @@ -84,17 +84,17 @@ var p8 = ({ a = 1 }) => { }; >p8 : ({a}: { a?: number; }) => void >({ a = 1 }) => { } : ({a}: { a?: number; }) => void >a : number ->1 : number +>1 : 1 var p9 = ({ a: { b = 1 } = { b: 1 } }) => { }; >p9 : ({a: {b}}: { a?: { b?: number; }; }) => void >({ a: { b = 1 } = { b: 1 } }) => { } : ({a: {b}}: { a?: { b?: number; }; }) => void >a : any >b : number ->1 : number +>1 : 1 >{ b: 1 } : { b?: number; } >b : number ->1 : number +>1 : 1 var p10 = ([{ value, done }]) => { }; >p10 : ([{value, done}]: [{ value: any; done: any; }]) => void diff --git a/tests/baselines/reference/emitArrowFunctionThisCapturing.types b/tests/baselines/reference/emitArrowFunctionThisCapturing.types index 2cfe06579af..0ef27791d17 100644 --- a/tests/baselines/reference/emitArrowFunctionThisCapturing.types +++ b/tests/baselines/reference/emitArrowFunctionThisCapturing.types @@ -4,11 +4,11 @@ var f1 = () => { >() => { this.age = 10} : () => void this.age = 10 ->this.age = 10 : number +>this.age = 10 : 10 >this.age : any >this : any >age : any ->10 : number +>10 : 10 }; @@ -32,17 +32,17 @@ function foo(func: () => boolean) { } foo(() => { >foo(() => { this.age = 100; return true;}) : void >foo : (func: () => boolean) => void ->() => { this.age = 100; return true;} : () => boolean +>() => { this.age = 100; return true;} : () => true this.age = 100; ->this.age = 100 : number +>this.age = 100 : 100 >this.age : any >this : any >age : any ->100 : number +>100 : 100 return true; ->true : boolean +>true : true }); diff --git a/tests/baselines/reference/emitArrowFunctionThisCapturingES6.types b/tests/baselines/reference/emitArrowFunctionThisCapturingES6.types index cc5405cebb4..3c20bfd195c 100644 --- a/tests/baselines/reference/emitArrowFunctionThisCapturingES6.types +++ b/tests/baselines/reference/emitArrowFunctionThisCapturingES6.types @@ -4,11 +4,11 @@ var f1 = () => { >() => { this.age = 10} : () => void this.age = 10 ->this.age = 10 : number +>this.age = 10 : 10 >this.age : any >this : any >age : any ->10 : number +>10 : 10 }; @@ -32,17 +32,17 @@ function foo(func: () => boolean){ } foo(() => { >foo(() => { this.age = 100; return true;}) : void >foo : (func: () => boolean) => void ->() => { this.age = 100; return true;} : () => boolean +>() => { this.age = 100; return true;} : () => true this.age = 100; ->this.age = 100 : number +>this.age = 100 : 100 >this.age : any >this : any >age : any ->100 : number +>100 : 100 return true; ->true : boolean +>true : true }); diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.js b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.js index 6641e28b867..8434d0a5251 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.js +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.js @@ -41,9 +41,9 @@ var b = function () { }; }; function baz() { - (() => { + () => { var arg = arguments[0]; - }); + }; } function foo(inputFunc) { } foo(() => { @@ -52,8 +52,8 @@ foo(() => { function bar() { var arg = arguments[0]; // no error } -(() => { +() => { function foo() { var arg = arguments[0]; // no error } -}); +}; diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.types index 669bf411e63..6da6a224a6c 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments01_ES6.types @@ -7,7 +7,7 @@ var a = () => { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } var b = function () { @@ -22,7 +22,7 @@ var b = function () { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } } @@ -36,7 +36,7 @@ function baz() { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } } @@ -53,7 +53,7 @@ foo(() => { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 }); @@ -64,7 +64,7 @@ function bar() { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } @@ -78,6 +78,6 @@ function bar() { >arg : any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments10_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments10_ES6.types index dd567d3bdca..cca81995253 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments10_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments10_ES6.types @@ -5,7 +5,7 @@ function f() { var _arguments = 10; >_arguments : number ->10 : number +>10 : 10 var a = () => () => arguments; >a : () => () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types index b977a77010c..5dddd8fba7a 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types @@ -6,7 +6,7 @@ function f(arguments) { var _arguments = 10; >_arguments : number ->10 : number +>10 : 10 var a = () => () => arguments; >a : () => () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types index 6e5a7555315..82a027d2dc8 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types @@ -5,7 +5,7 @@ function f() { var _arguments = 10; >_arguments : number ->10 : number +>10 : 10 var a = (arguments) => () => _arguments; >a : (arguments: any) => () => number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types index 294f5c692e4..59b39a444e1 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types @@ -5,7 +5,7 @@ function f() { var _arguments = 10; >_arguments : number ->10 : number +>10 : 10 var a = (arguments) => () => _arguments; >a : (arguments: any) => () => number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types index 29989ea0f9c..df47ed17890 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types @@ -11,7 +11,7 @@ function f() { let arguments = 100; >arguments : number ->100 : number +>100 : 100 return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types index 0bb34b22eef..558aada2826 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types @@ -5,7 +5,7 @@ function f() { var arguments = "hello"; >arguments : string ->"hello" : string +>"hello" : "hello" if (Math.random()) { >Math.random() : number @@ -14,8 +14,8 @@ function f() { >random : () => number const arguments = 100; ->arguments : number ->100 : number +>arguments : 100 +>100 : 100 return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types index 41c6b87fb42..bedbe3dc8b6 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types @@ -5,7 +5,7 @@ function f() { var arguments = "hello"; >arguments : string ->"hello" : string +>"hello" : "hello" if (Math.random()) { >Math.random() : number @@ -17,9 +17,9 @@ function f() { >() => arguments[0] : () => any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } var arguments = "world"; >arguments : string ->"world" : string +>"world" : "world" } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types index f62a2dce84c..223663bdb1b 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types @@ -7,7 +7,7 @@ function f() { >arguments : string >{ arguments: "hello" } : { arguments: string; } >arguments : string ->"hello" : string +>"hello" : "hello" if (Math.random()) { >Math.random() : number @@ -19,9 +19,9 @@ function f() { >() => arguments[0] : () => any >arguments[0] : any >arguments : IArguments ->0 : number +>0 : 0 } var arguments = "world"; >arguments : string ->"world" : string +>"world" : "world" } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments19_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments19_ES6.types index a672389720a..48d6f2e2935 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments19_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments19_ES6.types @@ -8,7 +8,7 @@ function f() { var _arguments = 10; // No capture in 'g', so no conflict. >_arguments : number ->10 : number +>10 : 10 function h() { >h : () => void @@ -30,6 +30,6 @@ function f() { >x : any return 100; ->100 : number +>100 : 100 } } diff --git a/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.errors.txt b/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.errors.txt new file mode 100644 index 00000000000..d0f11d056ca --- /dev/null +++ b/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts(3,17): error TS2493: Tuple type '[any]' with length '1' cannot be assigned to tuple with length '3'. +tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts(3,29): error TS2493: Tuple type '[any]' with length '1' cannot be assigned to tuple with length '3'. + + +==== tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts (2 errors) ==== + declare function wrapper(x: any); + wrapper((array: [any]) => { + [this.test, this.test1, this.test2] = array; // even though there is a compiler error, we should still emit lexical capture for "this" + ~~~~~~~~~~ +!!! error TS2493: Tuple type '[any]' with length '1' cannot be assigned to tuple with length '3'. + ~~~~~~~~~~ +!!! error TS2493: Tuple type '[any]' with length '1' cannot be assigned to tuple with length '3'. + }); \ No newline at end of file diff --git a/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.js b/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.js new file mode 100644 index 00000000000..9dd7453ba4f --- /dev/null +++ b/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.js @@ -0,0 +1,11 @@ +//// [emitCapturingThisInTupleDestructuring1.ts] +declare function wrapper(x: any); +wrapper((array: [any]) => { + [this.test, this.test1, this.test2] = array; // even though there is a compiler error, we should still emit lexical capture for "this" +}); + +//// [emitCapturingThisInTupleDestructuring1.js] +var _this = this; +wrapper(function (array) { + _this.test = array[0], _this.test1 = array[1], _this.test2 = array[2]; // even though there is a compiler error, we should still emit lexical capture for "this" +}); diff --git a/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.errors.txt b/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.errors.txt new file mode 100644 index 00000000000..25207e28c79 --- /dev/null +++ b/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/emitCapturingThisInTupleDestructuring2.ts(8,39): error TS2493: Tuple type '[number, number]' with length '2' cannot be assigned to tuple with length '3'. + + +==== tests/cases/compiler/emitCapturingThisInTupleDestructuring2.ts (1 errors) ==== + var array1: [number, number] = [1, 2]; + + class B { + test: number; + test1: any; + test2: any; + method() { + () => [this.test, this.test1, this.test2] = array1; // even though there is a compiler error, we should still emit lexical capture for "this" + ~~~~~~~~~~ +!!! error TS2493: Tuple type '[number, number]' with length '2' cannot be assigned to tuple with length '3'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.js b/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.js new file mode 100644 index 00000000000..890b9d4c9b8 --- /dev/null +++ b/tests/baselines/reference/emitCapturingThisInTupleDestructuring2.js @@ -0,0 +1,23 @@ +//// [emitCapturingThisInTupleDestructuring2.ts] +var array1: [number, number] = [1, 2]; + +class B { + test: number; + test1: any; + test2: any; + method() { + () => [this.test, this.test1, this.test2] = array1; // even though there is a compiler error, we should still emit lexical capture for "this" + } +} + +//// [emitCapturingThisInTupleDestructuring2.js] +var array1 = [1, 2]; +var B = (function () { + function B() { + } + B.prototype.method = function () { + var _this = this; + (function () { return _this.test = array1[0], _this.test1 = array1[1], _this.test2 = array1[2], array1; }); // even though there is a compiler error, we should still emit lexical capture for "this" + }; + return B; +}()); diff --git a/tests/baselines/reference/emitClassDeclarationOverloadInES6.js b/tests/baselines/reference/emitClassDeclarationOverloadInES6.js index 4cf96778f3f..e4bc2768fc0 100644 --- a/tests/baselines/reference/emitClassDeclarationOverloadInES6.js +++ b/tests/baselines/reference/emitClassDeclarationOverloadInES6.js @@ -16,6 +16,5 @@ class C { } } class D { - constructor(x, z = "hello") { - } + constructor(x, z = "hello") { } } diff --git a/tests/baselines/reference/emitClassDeclarationOverloadInES6.types b/tests/baselines/reference/emitClassDeclarationOverloadInES6.types index 94cc2c88ddc..1b5397eaf63 100644 --- a/tests/baselines/reference/emitClassDeclarationOverloadInES6.types +++ b/tests/baselines/reference/emitClassDeclarationOverloadInES6.types @@ -19,5 +19,5 @@ class D { constructor(x: number, z="hello") {} >x : number >z : string ->"hello" : string +>"hello" : "hello" } diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types index 3bdf5af2ba5..f244efc274d 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types @@ -24,7 +24,7 @@ class B { x: string = "hello"; >x : string ->"hello" : string +>"hello" : "hello" _bar: string; >_bar : string @@ -32,15 +32,15 @@ class B { constructor(x: number, z = "hello", ...args) { >x : number >z : string ->"hello" : string +>"hello" : "hello" >args : any[] this.y = 10; ->this.y = 10 : number +>this.y = 10 : 10 >this.y : number >this : this >y : number ->10 : number +>10 : 10 } baz(...args): string; >baz : (...args: any[]) => string diff --git a/tests/baselines/reference/emitClassDeclarationWithExtensionAndTypeArgumentInES6.js b/tests/baselines/reference/emitClassDeclarationWithExtensionAndTypeArgumentInES6.js index cd217af6a81..62b540776d1 100644 --- a/tests/baselines/reference/emitClassDeclarationWithExtensionAndTypeArgumentInES6.js +++ b/tests/baselines/reference/emitClassDeclarationWithExtensionAndTypeArgumentInES6.js @@ -12,8 +12,7 @@ class D extends B { //// [emitClassDeclarationWithExtensionAndTypeArgumentInES6.js] class B { - constructor(a) { - } + constructor(a) { } } class C extends B { } diff --git a/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.types b/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.types index 7267af2fde0..7c95ac9b40e 100644 --- a/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithExtensionInES6.types @@ -6,7 +6,7 @@ class B { >baz : (a: string, y?: number) => void >a : string >y : number ->10 : number +>10 : 10 } class C extends B { >C : C @@ -57,8 +57,8 @@ class D extends C { >super.baz : (a: string, y: number) => void >super : C >baz : (a: string, y: number) => void ->"hello" : string ->10 : number +>"hello" : "hello" +>10 : 10 } } diff --git a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types index e4f7d6c00b4..f251429937d 100644 --- a/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithGetterSetterInES6.types @@ -17,33 +17,33 @@ class C { >name2 : string return "BYE"; ->"BYE" : string +>"BYE" : "BYE" } static get ["computedname"]() { ->"computedname" : string +>"computedname" : "computedname" return ""; ->"" : string +>"" : "" } get ["computedname1"]() { ->"computedname1" : string +>"computedname1" : "computedname1" return ""; ->"" : string +>"" : "" } get ["computedname2"]() { ->"computedname2" : string +>"computedname2" : "computedname2" return ""; ->"" : string +>"" : "" } set ["computedname3"](x: any) { ->"computedname3" : string +>"computedname3" : "computedname3" >x : any } set ["computedname4"](y: string) { ->"computedname4" : string +>"computedname4" : "computedname4" >y : string } @@ -56,6 +56,6 @@ class C { >b : number static set ["computedname"](b: string) { } ->"computedname" : string +>"computedname" : "computedname" >b : string } diff --git a/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.types b/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.types index d4bc18539dd..203d5071a15 100644 --- a/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithLiteralPropertyNameInES6.types @@ -3,16 +3,16 @@ class B { >B : B "hello" = 10; ->10 : number +>10 : 10 0b110 = "world"; ->"world" : string +>"world" : "world" 0o23534 = "WORLD"; ->"WORLD" : string +>"WORLD" : "WORLD" 20 = "twenty"; ->"twenty" : string +>"twenty" : "twenty" "foo"() { } 0b1110() {} @@ -21,14 +21,14 @@ class B { >interface : () => void static "hi" = 10000; ->10000 : number +>10000 : 10000 static 22 = "twenty-two"; ->"twenty-two" : string +>"twenty-two" : "twenty-two" static 0b101 = "binary"; ->"binary" : string +>"binary" : "binary" static 0o3235 = "octal"; ->"octal" : string +>"octal" : "octal" } diff --git a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types index 02a90729486..10f0d4d2eef 100644 --- a/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithMethodInES6.types @@ -9,16 +9,16 @@ class D { >foo : () => void ["computedName1"]() { } ->"computedName1" : string +>"computedName1" : "computedName1" ["computedName2"](a: string) { } ->"computedName2" : string +>"computedName2" : "computedName2" >a : string ["computedName3"](a: string): number { return 1; } ->"computedName3" : string +>"computedName3" : "computedName3" >a : string ->1 : number +>1 : 1 bar(): string { >bar : () => string @@ -34,19 +34,19 @@ class D { >x : string return "HELLO"; ->"HELLO" : string +>"HELLO" : "HELLO" } static ["computedname4"]() { } ->"computedname4" : string +>"computedname4" : "computedname4" static ["computedname5"](a: string) { } ->"computedname5" : string +>"computedname5" : "computedname5" >a : string static ["computedname6"](a: string): boolean { return true; } ->"computedname6" : string +>"computedname6" : "computedname6" >a : string ->true : boolean +>true : true static staticMethod() { >staticMethod : () => number @@ -54,8 +54,8 @@ class D { var x = 1 + 2; >x : number >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 return x >x : number @@ -67,5 +67,5 @@ class D { static bar(a: string): number { return 1; } >bar : (a: string) => number >a : string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.js b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.js index 03fb45b806e..91e6c506c2b 100644 --- a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.js +++ b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.js @@ -37,8 +37,8 @@ class D { } } class E extends D { - constructor(...args) { - super(...args); + constructor() { + super(...arguments); this.z = true; } } diff --git a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types index ccf4ca3ca9d..3455e3e5c5d 100644 --- a/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithPropertyAssignmentInES6.types @@ -4,7 +4,7 @@ class C { x: string = "Hello world"; >x : string ->"Hello world" : string +>"Hello world" : "Hello world" } class D { @@ -12,18 +12,18 @@ class D { x: string = "Hello world"; >x : string ->"Hello world" : string +>"Hello world" : "Hello world" y: number; >y : number constructor() { this.y = 10; ->this.y = 10 : number +>this.y = 10 : 10 >this.y : number >this : this >y : number ->10 : number +>10 : 10 } } @@ -33,7 +33,7 @@ class E extends D{ z: boolean = true; >z : boolean ->true : boolean +>true : true } class F extends D{ @@ -42,7 +42,7 @@ class F extends D{ z: boolean = true; >z : boolean ->true : boolean +>true : true j: string; >j : string @@ -53,10 +53,10 @@ class F extends D{ >super : typeof D this.j = "HI"; ->this.j = "HI" : string +>this.j = "HI" : "HI" >this.j : string >this : this >j : string ->"HI" : string +>"HI" : "HI" } } diff --git a/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.types b/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.types index 58d328e3e5d..cd287119909 100644 --- a/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithStaticPropertyAssignmentInES6.types @@ -4,7 +4,7 @@ class C { static z: string = "Foo"; >z : string ->"Foo" : string +>"Foo" : "Foo" } class D { @@ -12,10 +12,10 @@ class D { x = 20000; >x : number ->20000 : number +>20000 : 20000 static b = true; >b : boolean ->true : boolean +>true : true } diff --git a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types index 7c0159fbd63..bdf57efcb0f 100644 --- a/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithThisKeywordInES6.types @@ -4,15 +4,15 @@ class B { x = 10; >x : number ->10 : number +>10 : 10 constructor() { this.x = 10; ->this.x = 10 : number +>this.x = 10 : 10 >this.x : number >this : this >x : number ->10 : number +>10 : 10 } static log(a: number) { } >log : (a: number) => void diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.js b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.js index 8dc5b6cddaa..5cea85d0129 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.js +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentAndOverloadInES6.js @@ -24,9 +24,7 @@ class B { //// [emitClassDeclarationWithTypeArgumentAndOverloadInES6.js] class B { - constructor(a) { - this.B = a; - } + constructor(a) { this.B = a; } foo() { return this.x; } diff --git a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.js b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.js index 4e2872b4f06..b53e291f0e5 100644 --- a/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.js +++ b/tests/baselines/reference/emitClassDeclarationWithTypeArgumentInES6.js @@ -16,9 +16,7 @@ class B { //// [emitClassDeclarationWithTypeArgumentInES6.js] class B { - constructor(a) { - this.B = a; - } + constructor(a) { this.B = a; } foo() { return this.x; } diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.js b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.js index 3b9db4c6998..d94104a1c4b 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.js +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.js @@ -19,14 +19,14 @@ array3[j0++] **= array3[j1++] **= array3[j0++] **= 1; //// [emitCompoundExponentiationAssignmentWithIndexingOnLHS1.js] var array0 = [1, 2, 3]; var i0 = 0; -(_a = array0, _i = ++i0, _a[_i] = Math.pow(_a[_i], 2)); +(_a = array0)[_b = ++i0] = Math.pow(_a[_b], 2); var array1 = [1, 2, 3]; var i1 = 0; -(_b = array1, _c = ++i1, _b[_c] = Math.pow(_b[_c], (_d = array1, _e = ++i1, _d[_e] = Math.pow(_d[_e], 2)))); +(_c = array1)[_d = ++i1] = Math.pow(_c[_d], (_e = array1)[_f = ++i1] = Math.pow(_e[_f], 2)); var array2 = [1, 2, 3]; var i2 = 0; -(_f = array2, _g = ++i2, _f[_g] = Math.pow(_f[_g], Math.pow(array2[++i2], 2))); +(_g = array2)[_h = ++i2] = Math.pow(_g[_h], Math.pow(array2[++i2], 2)); var array3 = [2, 2, 3]; var j0 = 0, j1 = 1; -(_h = array3, _j = j0++, _h[_j] = Math.pow(_h[_j], (_k = array3, _l = j1++, _k[_l] = Math.pow(_k[_l], (_m = array3, _o = j0++, _m[_o] = Math.pow(_m[_o], 1)))))); -var _a, _i, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; +(_j = array3)[_k = j0++] = Math.pow(_j[_k], (_l = array3)[_m = j1++] = Math.pow(_l[_m], (_o = array3)[_p = j0++] = Math.pow(_o[_p], 1))); +var _a, _b, _e, _f, _c, _d, _g, _h, _o, _p, _l, _m, _j, _k; diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.types index 393499a931f..ddb10cc9447 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS1.types @@ -3,13 +3,13 @@ var array0 = [1, 2, 3] >array0 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var i0 = 0; >i0 : number ->0 : number +>0 : 0 array0[++i0] **= 2; >array0[++i0] **= 2 : number @@ -17,18 +17,18 @@ array0[++i0] **= 2; >array0 : number[] >++i0 : number >i0 : number ->2 : number +>2 : 2 var array1 = [1, 2, 3] >array1 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var i1 = 0; >i1 : number ->0 : number +>0 : 0 array1[++i1] **= array1[++i1] **= 2; >array1[++i1] **= array1[++i1] **= 2 : number @@ -41,18 +41,18 @@ array1[++i1] **= array1[++i1] **= 2; >array1 : number[] >++i1 : number >i1 : number ->2 : number +>2 : 2 var array2 = [1, 2, 3] >array2 : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 var i2 = 0; >i2 : number ->0 : number +>0 : 0 array2[++i2] **= array2[++i2] ** 2; >array2[++i2] **= array2[++i2] ** 2 : number @@ -65,20 +65,20 @@ array2[++i2] **= array2[++i2] ** 2; >array2 : number[] >++i2 : number >i2 : number ->2 : number +>2 : 2 var array3 = [2, 2, 3]; >array3 : number[] >[2, 2, 3] : number[] ->2 : number ->2 : number ->3 : number +>2 : 2 +>2 : 2 +>3 : 3 var j0 = 0, j1 = 1; >j0 : number ->0 : number +>0 : 0 >j1 : number ->1 : number +>1 : 1 array3[j0++] **= array3[j1++] **= array3[j0++] **= 1; >array3[j0++] **= array3[j1++] **= array3[j0++] **= 1 : number @@ -96,5 +96,5 @@ array3[j0++] **= array3[j1++] **= array3[j0++] **= 1; >array3 : number[] >j0++ : number >j0 : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.js b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.js index 83e0b2473e8..54ef77b0467 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.js +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.js @@ -17,10 +17,10 @@ function foo() { globalCounter += 1; return { 0: 2 }; } -(_a = foo(), _a[0] = Math.pow(_a[0], foo()[0])); -var result_foo1 = (_b = foo(), _b[0] = Math.pow(_b[0], foo()[0])); -(_c = foo(), _c[0] = Math.pow(_c[0], (_d = foo(), _d[0] = Math.pow(_d[0], 2)))); -var result_foo2 = (_e = foo(), _e[0] = Math.pow(_e[0], (_f = foo(), _f[0] = Math.pow(_f[0], 2)))); -(_g = foo(), _g[0] = Math.pow(_g[0], Math.pow(foo()[0], 2))); -var result_foo3 = (_h = foo(), _h[0] = Math.pow(_h[0], Math.pow(foo()[0], 2))); -var _a, _b, _c, _d, _e, _f, _g, _h; +(_a = foo())[_b = 0] = Math.pow(_a[_b], foo()[0]); +var result_foo1 = (_c = foo())[_d = 0] = Math.pow(_c[_d], foo()[0]); +(_e = foo())[_f = 0] = Math.pow(_e[_f], (_g = foo())[_h = 0] = Math.pow(_g[_h], 2)); +var result_foo2 = (_j = foo())[_k = 0] = Math.pow(_j[_k], (_l = foo())[_m = 0] = Math.pow(_l[_m], 2)); +(_o = foo())[_p = 0] = Math.pow(_o[_p], Math.pow(foo()[0], 2)); +var result_foo3 = (_q = foo())[_r = 0] = Math.pow(_q[_r], Math.pow(foo()[0], 2)); +var _a, _b, _c, _d, _g, _h, _e, _f, _l, _m, _j, _k, _o, _p, _q, _r; diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.types index c47f539baf2..cd057d31390 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es7/exponentiationOperator/emitCompoundExponentiationAssignmentWithIndexingOnLHS2.ts === var globalCounter = 0; >globalCounter : number ->0 : number +>0 : 0 function foo() { >foo : () => { 0: number; } @@ -9,22 +9,22 @@ function foo() { globalCounter += 1; >globalCounter += 1 : number >globalCounter : number ->1 : number +>1 : 1 return { 0: 2 }; >{ 0: 2 } : { 0: number; } ->2 : number +>2 : 2 } foo()[0] **= foo()[0]; >foo()[0] **= foo()[0] : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 var result_foo1 = foo()[0] **= foo()[0]; >result_foo1 : number @@ -32,24 +32,24 @@ var result_foo1 = foo()[0] **= foo()[0]; >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 foo()[0] **= foo()[0] **= 2; >foo()[0] **= foo()[0] **= 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] **= 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 var result_foo2 = foo()[0] **= foo()[0] **= 2; >result_foo2 : number @@ -57,26 +57,26 @@ var result_foo2 = foo()[0] **= foo()[0] **= 2; >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] **= 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 foo()[0] **= foo()[0] ** 2; >foo()[0] **= foo()[0] ** 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] ** 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 var result_foo3 = foo()[0] **= foo()[0] ** 2; >result_foo3 : number @@ -84,11 +84,11 @@ var result_foo3 = foo()[0] **= foo()[0] ** 2; >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number +>0 : 0 >foo()[0] ** 2 : number >foo()[0] : number >foo() : { 0: number; } >foo : () => { 0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.js b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.js index 797ccccc331..66b9a7018fc 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.js +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.js @@ -23,7 +23,7 @@ var object = { this._0 = x; }, }; -(_a = object, _a[0] = Math.pow(_a[0], object[0])); -(_b = object, _b[0] = Math.pow(_b[0], (_c = object, _c[0] = Math.pow(_c[0], 2)))); -(_d = object, _d[0] = Math.pow(_d[0], Math.pow(object[0], 2))); -var _a, _b, _c, _d; +(_a = object)[_b = 0] = Math.pow(_a[_b], object[0]); +(_c = object)[_d = 0] = Math.pow(_c[_d], (_e = object)[_f = 0] = Math.pow(_e[_f], 2)); +(_g = object)[_h = 0] = Math.pow(_g[_h], Math.pow(object[0], 2)); +var _a, _b, _e, _f, _c, _d, _g, _h; diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types index 1877f391207..94a5f2173aa 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS3.types @@ -6,7 +6,7 @@ var object = { _0: 2, >_0 : number ->2 : number +>2 : 2 get 0() { return this._0; @@ -31,30 +31,30 @@ object[0] **= object[0]; >object[0] **= object[0] : number >object[0] : number >object : { 0: number; _0: number; } ->0 : number +>0 : 0 >object[0] : number >object : { 0: number; _0: number; } ->0 : number +>0 : 0 object[0] **= object[0] **= 2; >object[0] **= object[0] **= 2 : number >object[0] : number >object : { 0: number; _0: number; } ->0 : number +>0 : 0 >object[0] **= 2 : number >object[0] : number >object : { 0: number; _0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 object[0] **= object[0] ** 2; >object[0] **= object[0] ** 2 : number >object[0] : number >object : { 0: number; _0: number; } ->0 : number +>0 : 0 >object[0] ** 2 : number >object[0] : number >object : { 0: number; _0: number; } ->0 : number ->2 : number +>0 : 0 +>2 : 2 diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.js b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.js index f61693f192c..d16e20c4cac 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.js +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.js @@ -23,7 +23,7 @@ function incrementIdx(max) { return idx; } var array1 = [1, 2, 3, 4, 5]; -(_a = array1, _i = incrementIdx(array1.length), _a[_i] = Math.pow(_a[_i], 3)); -(_b = array1, _c = incrementIdx(array1.length), _b[_c] = Math.pow(_b[_c], (_d = array1, _e = incrementIdx(array1.length), _d[_e] = Math.pow(_d[_e], 2)))); -(_f = array1, _g = incrementIdx(array1.length), _f[_g] = Math.pow(_f[_g], Math.pow(array1[incrementIdx(array1.length)], 2))); -var _a, _i, _b, _c, _d, _e, _f, _g; +(_a = array1)[_b = incrementIdx(array1.length)] = Math.pow(_a[_b], 3); +(_c = array1)[_d = incrementIdx(array1.length)] = Math.pow(_c[_d], (_e = array1)[_f = incrementIdx(array1.length)] = Math.pow(_e[_f], 2)); +(_g = array1)[_h = incrementIdx(array1.length)] = Math.pow(_g[_h], Math.pow(array1[incrementIdx(array1.length)], 2)); +var _a, _b, _e, _f, _c, _d, _g, _h; diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types index abfc69d7ca6..fec095dc696 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types @@ -2,7 +2,7 @@ var globalCounter = 0; >globalCounter : number ->0 : number +>0 : 0 function incrementIdx(max: number) { >incrementIdx : (max: number) => number @@ -11,7 +11,7 @@ function incrementIdx(max: number) { globalCounter += 1; >globalCounter += 1 : number >globalCounter : number ->1 : number +>1 : 1 let idx = Math.floor(Math.random() * max); >idx : number @@ -33,11 +33,11 @@ function incrementIdx(max: number) { var array1 = [1, 2, 3, 4, 5]; >array1 : number[] >[1, 2, 3, 4, 5] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 array1[incrementIdx(array1.length)] **= 3; >array1[incrementIdx(array1.length)] **= 3 : number @@ -48,7 +48,7 @@ array1[incrementIdx(array1.length)] **= 3; >array1.length : number >array1 : number[] >length : number ->3 : number +>3 : 3 array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] **= 2; >array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] **= 2 : number @@ -67,7 +67,7 @@ array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] **= >array1.length : number >array1 : number[] >length : number ->2 : number +>2 : 2 array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] ** 2; >array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] ** 2 : number @@ -86,5 +86,5 @@ array1[incrementIdx(array1.length)] **= array1[incrementIdx(array1.length)] ** 2 >array1.length : number >array1 : number[] >length : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.js b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.js index 99204e6362c..c6244161b19 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.js +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.js @@ -18,10 +18,10 @@ function foo() { globalCounter += 1; return { prop: 2 }; } -(_a = foo(), _a.prop = Math.pow(_a.prop, 2)); -var result0 = (_b = foo(), _b.prop = Math.pow(_b.prop, 2)); -(_c = foo(), _c.prop = Math.pow(_c.prop, (_d = foo(), _d.prop = Math.pow(_d.prop, 2)))); -var result1 = (_e = foo(), _e.prop = Math.pow(_e.prop, (_f = foo(), _f.prop = Math.pow(_f.prop, 2)))); -(_g = foo(), _g.prop = Math.pow(_g.prop, Math.pow(foo().prop, 2))); -var result2 = (_h = foo(), _h.prop = Math.pow(_h.prop, Math.pow(foo().prop, 2))); -var _a, _b, _c, _d, _e, _f, _g, _h; +(_a = foo()).prop = Math.pow(_a.prop, 2); +var result0 = (_b = foo()).prop = Math.pow(_b.prop, 2); +(_c = foo()).prop = Math.pow(_c.prop, (_d = foo()).prop = Math.pow(_d.prop, 2)); +var result1 = (_e = foo()).prop = Math.pow(_e.prop, (_f = foo()).prop = Math.pow(_f.prop, 2)); +(_g = foo()).prop = Math.pow(_g.prop, Math.pow(foo().prop, 2)); +var result2 = (_h = foo()).prop = Math.pow(_h.prop, Math.pow(foo().prop, 2)); +var _a, _b, _d, _c, _f, _e, _g, _h; diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.types index b57878e9443..1a8a29bae9b 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithPropertyAccessingOnLHS1.types @@ -2,7 +2,7 @@ var globalCounter = 0; >globalCounter : number ->0 : number +>0 : 0 function foo() { >foo : () => { prop: number; } @@ -10,12 +10,12 @@ function foo() { globalCounter += 1; >globalCounter += 1 : number >globalCounter : number ->1 : number +>1 : 1 return { prop: 2 }; >{ prop: 2 } : { prop: number; } >prop : number ->2 : number +>2 : 2 } foo().prop **= 2; >foo().prop **= 2 : number @@ -23,7 +23,7 @@ foo().prop **= 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 var result0 = foo().prop **= 2; >result0 : number @@ -32,7 +32,7 @@ var result0 = foo().prop **= 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 foo().prop **= foo().prop **= 2; >foo().prop **= foo().prop **= 2 : number @@ -45,7 +45,7 @@ foo().prop **= foo().prop **= 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 var result1 = foo().prop **= foo().prop **= 2; >result1 : number @@ -59,7 +59,7 @@ var result1 = foo().prop **= foo().prop **= 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 foo().prop **= foo().prop ** 2; >foo().prop **= foo().prop ** 2 : number @@ -72,7 +72,7 @@ foo().prop **= foo().prop ** 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 var result2 = foo().prop **= foo().prop ** 2; >result2 : number @@ -86,5 +86,5 @@ var result2 = foo().prop **= foo().prop ** 2; >foo() : { prop: number; } >foo : () => { prop: number; } >prop : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/emitCompoundExponentiationOperator1.types b/tests/baselines/reference/emitCompoundExponentiationOperator1.types index a1c986dbb78..6a4a5b5bab9 100644 --- a/tests/baselines/reference/emitCompoundExponentiationOperator1.types +++ b/tests/baselines/reference/emitCompoundExponentiationOperator1.types @@ -6,7 +6,7 @@ var comp: number; comp **= 1; >comp **= 1 : number >comp : number ->1 : number +>1 : 1 comp **= comp ** comp; >comp **= comp ** comp : number @@ -22,7 +22,7 @@ comp **= comp ** comp ** 2; >comp : number >comp ** 2 : number >comp : number ->2 : number +>2 : 2 comp **= comp ** comp + 2; >comp **= comp ** comp + 2 : number @@ -31,7 +31,7 @@ comp **= comp ** comp + 2; >comp ** comp : number >comp : number >comp : number ->2 : number +>2 : 2 comp **= comp ** comp - 2; >comp **= comp ** comp - 2 : number @@ -40,7 +40,7 @@ comp **= comp ** comp - 2; >comp ** comp : number >comp : number >comp : number ->2 : number +>2 : 2 comp **= comp ** comp * 2; >comp **= comp ** comp * 2 : number @@ -49,7 +49,7 @@ comp **= comp ** comp * 2; >comp ** comp : number >comp : number >comp : number ->2 : number +>2 : 2 comp **= comp ** comp / 2; >comp **= comp ** comp / 2 : number @@ -58,7 +58,7 @@ comp **= comp ** comp / 2; >comp ** comp : number >comp : number >comp : number ->2 : number +>2 : 2 comp **= comp ** comp % 2; >comp **= comp ** comp % 2 : number @@ -67,7 +67,7 @@ comp **= comp ** comp % 2; >comp ** comp : number >comp : number >comp : number ->2 : number +>2 : 2 comp **= (comp - 2) ** 5; >comp **= (comp - 2) ** 5 : number @@ -76,8 +76,8 @@ comp **= (comp - 2) ** 5; >(comp - 2) : number >comp - 2 : number >comp : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= (comp + 2) ** 5; >comp **= (comp + 2) ** 5 : number @@ -86,8 +86,8 @@ comp **= (comp + 2) ** 5; >(comp + 2) : number >comp + 2 : number >comp : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= (comp * 2) ** 5; >comp **= (comp * 2) ** 5 : number @@ -96,8 +96,8 @@ comp **= (comp * 2) ** 5; >(comp * 2) : number >comp * 2 : number >comp : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= (comp / 2) ** 5; >comp **= (comp / 2) ** 5 : number @@ -106,8 +106,8 @@ comp **= (comp / 2) ** 5; >(comp / 2) : number >comp / 2 : number >comp : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= (comp % 2) ** 5; >comp **= (comp % 2) ** 5 : number @@ -116,8 +116,8 @@ comp **= (comp % 2) ** 5; >(comp % 2) : number >comp % 2 : number >comp : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= comp ** (5 + 2); >comp **= comp ** (5 + 2) : number @@ -126,8 +126,8 @@ comp **= comp ** (5 + 2); >comp : number >(5 + 2) : number >5 + 2 : number ->5 : number ->2 : number +>5 : 5 +>2 : 2 comp **= comp ** (5 - 2); >comp **= comp ** (5 - 2) : number @@ -136,8 +136,8 @@ comp **= comp ** (5 - 2); >comp : number >(5 - 2) : number >5 - 2 : number ->5 : number ->2 : number +>5 : 5 +>2 : 2 comp **= comp ** (5 * 2); >comp **= comp ** (5 * 2) : number @@ -146,8 +146,8 @@ comp **= comp ** (5 * 2); >comp : number >(5 * 2) : number >5 * 2 : number ->5 : number ->2 : number +>5 : 5 +>2 : 2 comp **= comp ** (5 / 2); >comp **= comp ** (5 / 2) : number @@ -156,8 +156,8 @@ comp **= comp ** (5 / 2); >comp : number >(5 / 2) : number >5 / 2 : number ->5 : number ->2 : number +>5 : 5 +>2 : 2 comp **= comp ** (5 % 2); >comp **= comp ** (5 % 2) : number @@ -166,6 +166,6 @@ comp **= comp ** (5 % 2); >comp : number >(5 % 2) : number >5 % 2 : number ->5 : number ->2 : number +>5 : 5 +>2 : 2 diff --git a/tests/baselines/reference/emitCompoundExponentiationOperator2.types b/tests/baselines/reference/emitCompoundExponentiationOperator2.types index 03ca9b06626..f715a9593f2 100644 --- a/tests/baselines/reference/emitCompoundExponentiationOperator2.types +++ b/tests/baselines/reference/emitCompoundExponentiationOperator2.types @@ -6,14 +6,14 @@ var comp: number; comp **= 1; >comp **= 1 : number >comp : number ->1 : number +>1 : 1 comp **= comp **= 1; >comp **= comp **= 1 : number >comp : number >comp **= 1 : number >comp : number ->1 : number +>1 : 1 comp **= comp **= 1 + 2; >comp **= comp **= 1 + 2 : number @@ -21,8 +21,8 @@ comp **= comp **= 1 + 2; >comp **= 1 + 2 : number >comp : number >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= 1 - 2; >comp **= comp **= 1 - 2 : number @@ -30,8 +30,8 @@ comp **= comp **= 1 - 2; >comp **= 1 - 2 : number >comp : number >1 - 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= 1 * 2; >comp **= comp **= 1 * 2 : number @@ -39,8 +39,8 @@ comp **= comp **= 1 * 2; >comp **= 1 * 2 : number >comp : number >1 * 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= 1 / 2; >comp **= comp **= 1 / 2 : number @@ -48,8 +48,8 @@ comp **= comp **= 1 / 2; >comp **= 1 / 2 : number >comp : number >1 / 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= (1 + 2); >comp **= comp **= (1 + 2) : number @@ -58,8 +58,8 @@ comp **= comp **= (1 + 2); >comp : number >(1 + 2) : number >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= (1 - 2); >comp **= comp **= (1 - 2) : number @@ -68,8 +68,8 @@ comp **= comp **= (1 - 2); >comp : number >(1 - 2) : number >1 - 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= (1 * 2); >comp **= comp **= (1 * 2) : number @@ -78,8 +78,8 @@ comp **= comp **= (1 * 2); >comp : number >(1 * 2) : number >1 * 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= (1 / 2); >comp **= comp **= (1 / 2) : number @@ -88,8 +88,8 @@ comp **= comp **= (1 / 2); >comp : number >(1 / 2) : number >1 / 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 comp **= comp **= 1 + 2 ** 3; >comp **= comp **= 1 + 2 ** 3 : number @@ -97,10 +97,10 @@ comp **= comp **= 1 + 2 ** 3; >comp **= 1 + 2 ** 3 : number >comp : number >1 + 2 ** 3 : number ->1 : number +>1 : 1 >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 comp **= comp **= 1 - 2 ** 4; >comp **= comp **= 1 - 2 ** 4 : number @@ -108,10 +108,10 @@ comp **= comp **= 1 - 2 ** 4; >comp **= 1 - 2 ** 4 : number >comp : number >1 - 2 ** 4 : number ->1 : number +>1 : 1 >2 ** 4 : number ->2 : number ->4 : number +>2 : 2 +>4 : 4 comp **= comp **= 1 * 2 ** 5; >comp **= comp **= 1 * 2 ** 5 : number @@ -119,10 +119,10 @@ comp **= comp **= 1 * 2 ** 5; >comp **= 1 * 2 ** 5 : number >comp : number >1 * 2 ** 5 : number ->1 : number +>1 : 1 >2 ** 5 : number ->2 : number ->5 : number +>2 : 2 +>5 : 5 comp **= comp **= 1 / 2 ** 6; >comp **= comp **= 1 / 2 ** 6 : number @@ -130,10 +130,10 @@ comp **= comp **= 1 / 2 ** 6; >comp **= 1 / 2 ** 6 : number >comp : number >1 / 2 ** 6 : number ->1 : number +>1 : 1 >2 ** 6 : number ->2 : number ->6 : number +>2 : 2 +>6 : 6 comp **= comp **= (1 + 2) ** 3; >comp **= comp **= (1 + 2) ** 3 : number @@ -143,9 +143,9 @@ comp **= comp **= (1 + 2) ** 3; >(1 + 2) ** 3 : number >(1 + 2) : number >1 + 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 comp **= comp **= (1 - 2) ** 4; >comp **= comp **= (1 - 2) ** 4 : number @@ -155,9 +155,9 @@ comp **= comp **= (1 - 2) ** 4; >(1 - 2) ** 4 : number >(1 - 2) : number >1 - 2 : number ->1 : number ->2 : number ->4 : number +>1 : 1 +>2 : 2 +>4 : 4 comp **= comp **= (1 * 2) ** 5; >comp **= comp **= (1 * 2) ** 5 : number @@ -167,9 +167,9 @@ comp **= comp **= (1 * 2) ** 5; >(1 * 2) ** 5 : number >(1 * 2) : number >1 * 2 : number ->1 : number ->2 : number ->5 : number +>1 : 1 +>2 : 2 +>5 : 5 comp **= comp **= (1 / 2) ** 6; >comp **= comp **= (1 / 2) ** 6 : number @@ -179,7 +179,7 @@ comp **= comp **= (1 / 2) ** 6; >(1 / 2) ** 6 : number >(1 / 2) : number >1 / 2 : number ->1 : number ->2 : number ->6 : number +>1 : 1 +>2 : 2 +>6 : 6 diff --git a/tests/baselines/reference/emitDecoratorMetadata_restArgs.js b/tests/baselines/reference/emitDecoratorMetadata_restArgs.js index 6ca7e40d413..ec8240b2642 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_restArgs.js +++ b/tests/baselines/reference/emitDecoratorMetadata_restArgs.js @@ -41,18 +41,18 @@ var A = (function () { args[_i - 0] = arguments[_i]; } }; - __decorate([ - MyMethodDecorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', [Object]), - __metadata('design:returntype', void 0) - ], A.prototype, "method", null); - A = __decorate([ - MyClassDecorator, - __metadata('design:paramtypes', [Object]) - ], A); return A; }()); +__decorate([ + MyMethodDecorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", void 0) +], A.prototype, "method", null); +A = __decorate([ + MyClassDecorator, + __metadata("design:paramtypes", [Object]) +], A); var B = (function () { function B() { var args = []; @@ -66,15 +66,15 @@ var B = (function () { args[_i - 0] = arguments[_i]; } }; - __decorate([ - MyMethodDecorator, - __metadata('design:type', Function), - __metadata('design:paramtypes', [String]), - __metadata('design:returntype', void 0) - ], B.prototype, "method", null); - B = __decorate([ - MyClassDecorator, - __metadata('design:paramtypes', [Number]) - ], B); return B; }()); +__decorate([ + MyMethodDecorator, + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], B.prototype, "method", null); +B = __decorate([ + MyClassDecorator, + __metadata("design:paramtypes", [Number]) +], B); diff --git a/tests/baselines/reference/emitDecoratorMetadata_restArgs.types b/tests/baselines/reference/emitDecoratorMetadata_restArgs.types index e08261e4503..8161634a092 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_restArgs.types +++ b/tests/baselines/reference/emitDecoratorMetadata_restArgs.types @@ -1,15 +1,15 @@ === tests/cases/compiler/emitDecoratorMetadata_restArgs.ts === declare const MyClassDecorator: ClassDecorator; ->MyClassDecorator : (target: TFunction) => TFunction | void ->ClassDecorator : (target: TFunction) => TFunction | void +>MyClassDecorator : ClassDecorator +>ClassDecorator : ClassDecorator declare const MyMethodDecorator: MethodDecorator; ->MyMethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void ->MethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>MyMethodDecorator : MethodDecorator +>MethodDecorator : MethodDecorator @MyClassDecorator ->MyClassDecorator : (target: TFunction) => TFunction | void +>MyClassDecorator : ClassDecorator class A { >A : A @@ -18,7 +18,7 @@ class A { >args : any[] @MyMethodDecorator ->MyMethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>MyMethodDecorator : MethodDecorator method(...args) {} >method : (...args: any[]) => void @@ -26,7 +26,7 @@ class A { } @MyClassDecorator ->MyClassDecorator : (target: TFunction) => TFunction | void +>MyClassDecorator : ClassDecorator class B { >B : B @@ -35,7 +35,7 @@ class B { >args : number[] @MyMethodDecorator ->MyMethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>MyMethodDecorator : MethodDecorator method(this: this, ...args: string[]) {} >method : (this: this, ...args: string[]) => void diff --git a/tests/baselines/reference/emitDefaultParametersFunction.types b/tests/baselines/reference/emitDefaultParametersFunction.types index 5c27d3ddf3d..d043a6c2b2f 100644 --- a/tests/baselines/reference/emitDefaultParametersFunction.types +++ b/tests/baselines/reference/emitDefaultParametersFunction.types @@ -3,23 +3,23 @@ function foo(x: string, y = 10) { } >foo : (x: string, y?: number) => void >x : string >y : number ->10 : number +>10 : 10 function baz(x: string, y = 5, ...rest) { } >baz : (x: string, y?: number, ...rest: any[]) => void >x : string >y : number ->5 : number +>5 : 5 >rest : any[] function bar(y = 10) { } >bar : (y?: number) => void >y : number ->10 : number +>10 : 10 function bar1(y = 10, ...rest) { } >bar1 : (y?: number, ...rest: any[]) => void >y : number ->10 : number +>10 : 10 >rest : any[] diff --git a/tests/baselines/reference/emitDefaultParametersFunctionES6.types b/tests/baselines/reference/emitDefaultParametersFunctionES6.types index e3124c75333..c5a3b8d2d3f 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionES6.types +++ b/tests/baselines/reference/emitDefaultParametersFunctionES6.types @@ -3,23 +3,23 @@ function foo(x: string, y = 10) { } >foo : (x: string, y?: number) => void >x : string >y : number ->10 : number +>10 : 10 function baz(x: string, y = 5, ...rest) { } >baz : (x: string, y?: number, ...rest: any[]) => void >x : string >y : number ->5 : number +>5 : 5 >rest : any[] function bar(y = 10) { } >bar : (y?: number) => void >y : number ->10 : number +>10 : 10 function bar1(y = 10, ...rest) { } >bar1 : (y?: number, ...rest: any[]) => void >y : number ->10 : number +>10 : 10 >rest : any[] diff --git a/tests/baselines/reference/emitDefaultParametersFunctionExpression.types b/tests/baselines/reference/emitDefaultParametersFunctionExpression.types index 61ba3200e36..7546bda0d41 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionExpression.types +++ b/tests/baselines/reference/emitDefaultParametersFunctionExpression.types @@ -3,35 +3,35 @@ var lambda1 = (y = "hello") => { } >lambda1 : (y?: string) => void >(y = "hello") => { } : (y?: string) => void >y : string ->"hello" : string +>"hello" : "hello" var lambda2 = (x: number, y = "hello") => { } >lambda2 : (x: number, y?: string) => void >(x: number, y = "hello") => { } : (x: number, y?: string) => void >x : number >y : string ->"hello" : string +>"hello" : "hello" var lambda3 = (x: number, y = "hello", ...rest) => { } >lambda3 : (x: number, y?: string, ...rest: any[]) => void >(x: number, y = "hello", ...rest) => { } : (x: number, y?: string, ...rest: any[]) => void >x : number >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] var lambda4 = (y = "hello", ...rest) => { } >lambda4 : (y?: string, ...rest: any[]) => void >(y = "hello", ...rest) => { } : (y?: string, ...rest: any[]) => void >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] var x = function (str = "hello", ...rest) { } >x : (str?: string, ...rest: any[]) => void >function (str = "hello", ...rest) { } : (str?: string, ...rest: any[]) => void >str : string ->"hello" : string +>"hello" : "hello" >rest : any[] var y = (function (num = 10, boo = false, ...rest) { })() @@ -40,9 +40,9 @@ var y = (function (num = 10, boo = false, ...rest) { })() >(function (num = 10, boo = false, ...rest) { }) : (num?: number, boo?: boolean, ...rest: any[]) => void >function (num = 10, boo = false, ...rest) { } : (num?: number, boo?: boolean, ...rest: any[]) => void >num : number ->10 : number +>10 : 10 >boo : boolean ->false : boolean +>false : false >rest : any[] var z = (function (num: number, boo = false, ...rest) { })(10) @@ -52,7 +52,7 @@ var z = (function (num: number, boo = false, ...rest) { })(10) >function (num: number, boo = false, ...rest) { } : (num: number, boo?: boolean, ...rest: any[]) => void >num : number >boo : boolean ->false : boolean +>false : false >rest : any[] ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.types b/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.types index 76f2c863a26..99ab6a48137 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.types +++ b/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.types @@ -3,35 +3,35 @@ var lambda1 = (y = "hello") => { } >lambda1 : (y?: string) => void >(y = "hello") => { } : (y?: string) => void >y : string ->"hello" : string +>"hello" : "hello" var lambda2 = (x: number, y = "hello") => { } >lambda2 : (x: number, y?: string) => void >(x: number, y = "hello") => { } : (x: number, y?: string) => void >x : number >y : string ->"hello" : string +>"hello" : "hello" var lambda3 = (x: number, y = "hello", ...rest) => { } >lambda3 : (x: number, y?: string, ...rest: any[]) => void >(x: number, y = "hello", ...rest) => { } : (x: number, y?: string, ...rest: any[]) => void >x : number >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] var lambda4 = (y = "hello", ...rest) => { } >lambda4 : (y?: string, ...rest: any[]) => void >(y = "hello", ...rest) => { } : (y?: string, ...rest: any[]) => void >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] var x = function (str = "hello", ...rest) { } >x : (str?: string, ...rest: any[]) => void >function (str = "hello", ...rest) { } : (str?: string, ...rest: any[]) => void >str : string ->"hello" : string +>"hello" : "hello" >rest : any[] var y = (function (num = 10, boo = false, ...rest) { })() @@ -40,9 +40,9 @@ var y = (function (num = 10, boo = false, ...rest) { })() >(function (num = 10, boo = false, ...rest) { }) : (num?: number, boo?: boolean, ...rest: any[]) => void >function (num = 10, boo = false, ...rest) { } : (num?: number, boo?: boolean, ...rest: any[]) => void >num : number ->10 : number +>10 : 10 >boo : boolean ->false : boolean +>false : false >rest : any[] var z = (function (num: number, boo = false, ...rest) { })(10) @@ -52,7 +52,7 @@ var z = (function (num: number, boo = false, ...rest) { })(10) >function (num: number, boo = false, ...rest) { } : (num: number, boo?: boolean, ...rest: any[]) => void >num : number >boo : boolean ->false : boolean +>false : false >rest : any[] ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/emitDefaultParametersFunctionProperty.types b/tests/baselines/reference/emitDefaultParametersFunctionProperty.types index 8a703fd114f..d26281d8eb6 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionProperty.types +++ b/tests/baselines/reference/emitDefaultParametersFunctionProperty.types @@ -6,27 +6,27 @@ var obj2 = { func1(y = 10, ...rest) { }, >func1 : (y?: number, ...rest: any[]) => void >y : number ->10 : number +>10 : 10 >rest : any[] func2(x = "hello") { }, >func2 : (x?: string) => void >x : string ->"hello" : string +>"hello" : "hello" func3(x: string, z: number, y = "hello") { }, >func3 : (x: string, z: number, y?: string) => void >x : string >z : number >y : string ->"hello" : string +>"hello" : "hello" func4(x: string, z: number, y = "hello", ...rest) { }, >func4 : (x: string, z: number, y?: string, ...rest: any[]) => void >x : string >z : number >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] } diff --git a/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.types b/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.types index 1edd505c0b5..5f693b65ac5 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.types +++ b/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.types @@ -6,26 +6,26 @@ var obj2 = { func1(y = 10, ...rest) { }, >func1 : (y?: number, ...rest: any[]) => void >y : number ->10 : number +>10 : 10 >rest : any[] func2(x = "hello") { }, >func2 : (x?: string) => void >x : string ->"hello" : string +>"hello" : "hello" func3(x: string, z: number, y = "hello") { }, >func3 : (x: string, z: number, y?: string) => void >x : string >z : number >y : string ->"hello" : string +>"hello" : "hello" func4(x: string, z: number, y = "hello", ...rest) { }, >func4 : (x: string, z: number, y?: string, ...rest: any[]) => void >x : string >z : number >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] } diff --git a/tests/baselines/reference/emitDefaultParametersMethod.types b/tests/baselines/reference/emitDefaultParametersMethod.types index ce7dd2542fa..03193baa528 100644 --- a/tests/baselines/reference/emitDefaultParametersMethod.types +++ b/tests/baselines/reference/emitDefaultParametersMethod.types @@ -7,30 +7,30 @@ class C { >z : string >x : number >y : string ->"hello" : string +>"hello" : "hello" public foo(x: string, t = false) { } >foo : (x: string, t?: boolean) => void >x : string >t : boolean ->false : boolean +>false : false public foo1(x: string, t = false, ...rest) { } >foo1 : (x: string, t?: boolean, ...rest: any[]) => void >x : string >t : boolean ->false : boolean +>false : false >rest : any[] public bar(t = false) { } >bar : (t?: boolean) => void >t : boolean ->false : boolean +>false : false public boo(t = false, ...rest) { } >boo : (t?: boolean, ...rest: any[]) => void >t : boolean ->false : boolean +>false : false >rest : any[] } @@ -39,7 +39,7 @@ class D { constructor(y = "hello") { } >y : string ->"hello" : string +>"hello" : "hello" } class E { @@ -47,7 +47,7 @@ class E { constructor(y = "hello", ...rest) { } >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] } diff --git a/tests/baselines/reference/emitDefaultParametersMethodES6.js b/tests/baselines/reference/emitDefaultParametersMethodES6.js index 2b97e3e1632..bd7fcd16a7d 100644 --- a/tests/baselines/reference/emitDefaultParametersMethodES6.js +++ b/tests/baselines/reference/emitDefaultParametersMethodES6.js @@ -18,18 +18,15 @@ class E { //// [emitDefaultParametersMethodES6.js] class C { - constructor(t, z, x, y = "hello") { - } + constructor(t, z, x, y = "hello") { } foo(x, t = false) { } foo1(x, t = false, ...rest) { } bar(t = false) { } boo(t = false, ...rest) { } } class D { - constructor(y = "hello") { - } + constructor(y = "hello") { } } class E { - constructor(y = "hello", ...rest) { - } + constructor(y = "hello", ...rest) { } } diff --git a/tests/baselines/reference/emitDefaultParametersMethodES6.types b/tests/baselines/reference/emitDefaultParametersMethodES6.types index 09096d153bf..be54cd9b27c 100644 --- a/tests/baselines/reference/emitDefaultParametersMethodES6.types +++ b/tests/baselines/reference/emitDefaultParametersMethodES6.types @@ -7,30 +7,30 @@ class C { >z : string >x : number >y : string ->"hello" : string +>"hello" : "hello" public foo(x: string, t = false) { } >foo : (x: string, t?: boolean) => void >x : string >t : boolean ->false : boolean +>false : false public foo1(x: string, t = false, ...rest) { } >foo1 : (x: string, t?: boolean, ...rest: any[]) => void >x : string >t : boolean ->false : boolean +>false : false >rest : any[] public bar(t = false) { } >bar : (t?: boolean) => void >t : boolean ->false : boolean +>false : false public boo(t = false, ...rest) { } >boo : (t?: boolean, ...rest: any[]) => void >t : boolean ->false : boolean +>false : false >rest : any[] } @@ -39,7 +39,7 @@ class D { constructor(y = "hello") { } >y : string ->"hello" : string +>"hello" : "hello" } class E { @@ -47,6 +47,6 @@ class E { constructor(y = "hello", ...rest) { } >y : string ->"hello" : string +>"hello" : "hello" >rest : any[] } diff --git a/tests/baselines/reference/emitExponentiationOperator1.types b/tests/baselines/reference/emitExponentiationOperator1.types index a2dc4f16901..9db01d34f22 100644 --- a/tests/baselines/reference/emitExponentiationOperator1.types +++ b/tests/baselines/reference/emitExponentiationOperator1.types @@ -2,45 +2,45 @@ 1 ** -2; >1 ** -2 : number ->1 : number ->-2 : number ->2 : number +>1 : 1 +>-2 : -2 +>2 : 2 1 ** 2; >1 ** 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 (-1) ** 2 >(-1) ** 2 : number ->(-1) : number ->-1 : number ->1 : number ->2 : number +>(-1) : -1 +>-1 : -1 +>1 : 1 +>2 : 2 1 ** 2 ** 3; >1 ** 2 ** 3 : number ->1 : number +>1 : 1 >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 1 ** 2 ** -3; >1 ** 2 ** -3 : number ->1 : number +>1 : 1 >2 ** -3 : number ->2 : number ->-3 : number ->3 : number +>2 : 2 +>-3 : -3 +>3 : 3 1 ** -(2 ** 3); >1 ** -(2 ** 3) : number ->1 : number +>1 : 1 >-(2 ** 3) : number >(2 ** 3) : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 (-(1 ** 2)) ** 3; >(-(1 ** 2)) ** 3 : number @@ -48,9 +48,9 @@ >-(1 ** 2) : number >(1 ** 2) : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 (-(1 ** 2)) ** -3; >(-(1 ** 2)) ** -3 : number @@ -58,150 +58,150 @@ >-(1 ** 2) : number >(1 ** 2) : number >1 ** 2 : number ->1 : number ->2 : number ->-3 : number ->3 : number +>1 : 1 +>2 : 2 +>-3 : -3 +>3 : 3 1 ** 2 + 3; >1 ** 2 + 3 : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 ** 2 - 3; >1 ** 2 - 3 : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 ** 2 * 3; >1 ** 2 * 3 : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 ** 2 / 3; >1 ** 2 / 3 : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 ** 2 % 3; >1 ** 2 % 3 : number >1 ** 2 : number ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 1 ** -2 + 3; >1 ** -2 + 3 : number >1 ** -2 : number ->1 : number ->-2 : number ->2 : number ->3 : number +>1 : 1 +>-2 : -2 +>2 : 2 +>3 : 3 1 ** -2 - 3; >1 ** -2 - 3 : number >1 ** -2 : number ->1 : number ->-2 : number ->2 : number ->3 : number +>1 : 1 +>-2 : -2 +>2 : 2 +>3 : 3 1 ** -2 * 3; >1 ** -2 * 3 : number >1 ** -2 : number ->1 : number ->-2 : number ->2 : number ->3 : number +>1 : 1 +>-2 : -2 +>2 : 2 +>3 : 3 1 ** -2 / 3; >1 ** -2 / 3 : number >1 ** -2 : number ->1 : number ->-2 : number ->2 : number ->3 : number +>1 : 1 +>-2 : -2 +>2 : 2 +>3 : 3 1 ** -2 % 3; >1 ** -2 % 3 : number >1 ** -2 : number ->1 : number ->-2 : number ->2 : number ->3 : number +>1 : 1 +>-2 : -2 +>2 : 2 +>3 : 3 2 + 3 ** 3; >2 + 3 ** 3 : number ->2 : number +>2 : 2 >3 ** 3 : number ->3 : number ->3 : number +>3 : 3 +>3 : 3 2 - 3 ** 3; >2 - 3 ** 3 : number ->2 : number +>2 : 2 >3 ** 3 : number ->3 : number ->3 : number +>3 : 3 +>3 : 3 2 * 3 ** 3; >2 * 3 ** 3 : number ->2 : number +>2 : 2 >3 ** 3 : number ->3 : number ->3 : number +>3 : 3 +>3 : 3 2 / 3 ** 3; >2 / 3 ** 3 : number ->2 : number +>2 : 2 >3 ** 3 : number ->3 : number ->3 : number +>3 : 3 +>3 : 3 2 % 3 ** 3; >2 % 3 ** 3 : number ->2 : number +>2 : 2 >3 ** 3 : number ->3 : number ->3 : number +>3 : 3 +>3 : 3 (2 + 3) ** 4; >(2 + 3) ** 4 : number >(2 + 3) : number >2 + 3 : number ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 (2 - 3) ** 4; >(2 - 3) ** 4 : number >(2 - 3) : number >2 - 3 : number ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 (2 * 3) ** 4; >(2 * 3) ** 4 : number >(2 * 3) : number >2 * 3 : number ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 (2 / 3) ** 4; >(2 / 3) ** 4 : number >(2 / 3) : number >2 / 3 : number ->2 : number ->3 : number ->4 : number +>2 : 2 +>3 : 3 +>4 : 4 diff --git a/tests/baselines/reference/emitExponentiationOperator2.types b/tests/baselines/reference/emitExponentiationOperator2.types index cd8773624a7..b2936f6acef 100644 --- a/tests/baselines/reference/emitExponentiationOperator2.types +++ b/tests/baselines/reference/emitExponentiationOperator2.types @@ -2,31 +2,31 @@ var temp = 10; >temp : number ->10 : number +>10 : 10 ++temp ** 3; >++temp ** 3 : number >++temp : number >temp : number ->3 : number +>3 : 3 --temp ** 3; >--temp ** 3 : number >--temp : number >temp : number ->3 : number +>3 : 3 temp++ ** 3; >temp++ ** 3 : number >temp++ : number >temp : number ->3 : number +>3 : 3 temp-- ** 3; >temp-- ** 3 : number >temp-- : number >temp : number ->3 : number +>3 : 3 --temp + temp ** 3; >--temp + temp ** 3 : number @@ -34,7 +34,7 @@ temp-- ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 --temp - temp ** 3; >--temp - temp ** 3 : number @@ -42,7 +42,7 @@ temp-- ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 --temp * temp ** 3; >--temp * temp ** 3 : number @@ -50,7 +50,7 @@ temp-- ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 --temp / temp ** 3; >--temp / temp ** 3 : number @@ -58,7 +58,7 @@ temp-- ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 --temp % temp ** 3; >--temp % temp ** 3 : number @@ -66,19 +66,19 @@ temp-- ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 temp-- ** 3; >temp-- ** 3 : number >temp-- : number >temp : number ->3 : number +>3 : 3 temp++ ** 3; >temp++ ** 3 : number >temp++ : number >temp : number ->3 : number +>3 : 3 temp-- ** -temp; >temp-- ** -temp : number @@ -100,7 +100,7 @@ temp-- + temp ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 temp-- - temp ** 3; >temp-- - temp ** 3 : number @@ -108,7 +108,7 @@ temp-- - temp ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 temp-- * temp ** 3; >temp-- * temp ** 3 : number @@ -116,7 +116,7 @@ temp-- * temp ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 temp-- / temp ** 3; >temp-- / temp ** 3 : number @@ -124,7 +124,7 @@ temp-- / temp ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 temp-- % temp ** 3; >temp-- % temp ** 3 : number @@ -132,213 +132,213 @@ temp-- % temp ** 3; >temp : number >temp ** 3 : number >temp : number ->3 : number +>3 : 3 --temp + 2 ** 3; >--temp + 2 ** 3 : number >--temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 --temp - 2 ** 3; >--temp - 2 ** 3 : number >--temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 --temp * 2 ** 3; >--temp * 2 ** 3 : number >--temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 --temp / 2 ** 3; >--temp / 2 ** 3 : number >--temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 --temp % 2 ** 3; >--temp % 2 ** 3 : number >--temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 ++temp + 2 ** 3; >++temp + 2 ** 3 : number >++temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 ++temp - 2 ** 3; >++temp - 2 ** 3 : number >++temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 ++temp * 2 ** 3; >++temp * 2 ** 3 : number >++temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 ++temp / 2 ** 3; >++temp / 2 ** 3 : number >++temp : number >temp : number >2 ** 3 : number ->2 : number ->3 : number +>2 : 2 +>3 : 3 3 ** ++temp; >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number 3 ** --temp; >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number 3 ** temp++; >3 ** temp++ : number ->3 : number +>3 : 3 >temp++ : number >temp : number 3 ** temp--; >3 ** temp-- : number ->3 : number +>3 : 3 >temp-- : number >temp : number 3 ** ++temp ** 2; >3 ** ++temp ** 2 : number ->3 : number +>3 : 3 >++temp ** 2 : number >++temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp ** 2; >3 ** --temp ** 2 : number ->3 : number +>3 : 3 >--temp ** 2 : number >--temp : number >temp : number ->2 : number +>2 : 2 3 ** temp++ ** 2; >3 ** temp++ ** 2 : number ->3 : number +>3 : 3 >temp++ ** 2 : number >temp++ : number >temp : number ->2 : number +>2 : 2 3 ** temp-- ** 2; >3 ** temp-- ** 2 : number ->3 : number +>3 : 3 >temp-- ** 2 : number >temp-- : number >temp : number ->2 : number +>2 : 2 3 ** ++temp + 2; >3 ** ++temp + 2 : number >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number ->2 : number +>2 : 2 3 ** ++temp - 2; >3 ** ++temp - 2 : number >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number ->2 : number +>2 : 2 3 ** ++temp * 2; >3 ** ++temp * 2 : number >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number ->2 : number +>2 : 2 3 ** ++temp / 2; >3 ** ++temp / 2 : number >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number ->2 : number +>2 : 2 3 ** ++temp % 2; >3 ** ++temp % 2 : number >3 ** ++temp : number ->3 : number +>3 : 3 >++temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp + 2; >3 ** --temp + 2 : number >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp - 2; >3 ** --temp - 2 : number >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp * 2; >3 ** --temp * 2 : number >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp / 2; >3 ** --temp / 2 : number >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number ->2 : number +>2 : 2 3 ** --temp % 2; >3 ** --temp % 2 : number >3 ** --temp : number ->3 : number +>3 : 3 >--temp : number >temp : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/emitExponentiationOperator3.types b/tests/baselines/reference/emitExponentiationOperator3.types index cc4c5374d05..38bb5a0895c 100644 --- a/tests/baselines/reference/emitExponentiationOperator3.types +++ b/tests/baselines/reference/emitExponentiationOperator3.types @@ -2,7 +2,7 @@ var temp = 10; >temp : number ->10 : number +>10 : 10 (-++temp) ** 3; >(-++temp) ** 3 : number @@ -10,7 +10,7 @@ var temp = 10; >-++temp : number >++temp : number >temp : number ->3 : number +>3 : 3 (+--temp) ** 3; >(+--temp) ** 3 : number @@ -18,7 +18,7 @@ var temp = 10; >+--temp : number >--temp : number >temp : number ->3 : number +>3 : 3 (-temp++) ** 3; >(-temp++) ** 3 : number @@ -26,7 +26,7 @@ var temp = 10; >-temp++ : number >temp++ : number >temp : number ->3 : number +>3 : 3 (+temp--) ** 3; >(+temp--) ** 3 : number @@ -34,7 +34,7 @@ var temp = 10; >+temp-- : number >temp-- : number >temp : number ->3 : number +>3 : 3 (-(1 ** ++temp)) ** 3; >(-(1 ** ++temp)) ** 3 : number @@ -42,10 +42,10 @@ var temp = 10; >-(1 ** ++temp) : number >(1 ** ++temp) : number >1 ** ++temp : number ->1 : number +>1 : 1 >++temp : number >temp : number ->3 : number +>3 : 3 (-(1 ** --temp)) ** 3; >(-(1 ** --temp)) ** 3 : number @@ -53,10 +53,10 @@ var temp = 10; >-(1 ** --temp) : number >(1 ** --temp) : number >1 ** --temp : number ->1 : number +>1 : 1 >--temp : number >temp : number ->3 : number +>3 : 3 (-(1 ** temp++)) ** 3; >(-(1 ** temp++)) ** 3 : number @@ -64,10 +64,10 @@ var temp = 10; >-(1 ** temp++) : number >(1 ** temp++) : number >1 ** temp++ : number ->1 : number +>1 : 1 >temp++ : number >temp : number ->3 : number +>3 : 3 (-(1 ** temp--)) ** 3; >(-(1 ** temp--)) ** 3 : number @@ -75,40 +75,40 @@ var temp = 10; >-(1 ** temp--) : number >(1 ** temp--) : number >1 ** temp-- : number ->1 : number +>1 : 1 >temp-- : number >temp : number ->3 : number +>3 : 3 (-3) ** temp++; >(-3) ** temp++ : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >temp++ : number >temp : number (-3) ** temp--; >(-3) ** temp-- : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >temp-- : number >temp : number (-3) ** ++temp; >(-3) ** ++temp : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >++temp : number >temp : number (-3) ** --temp; >(-3) ** --temp : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >--temp : number >temp : number @@ -116,7 +116,7 @@ var temp = 10; >(+3) ** temp++ : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >temp++ : number >temp : number @@ -124,7 +124,7 @@ var temp = 10; >(+3) ** temp-- : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >temp-- : number >temp : number @@ -132,7 +132,7 @@ var temp = 10; >(+3) ** ++temp : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >++temp : number >temp : number @@ -140,175 +140,175 @@ var temp = 10; >(+3) ** --temp : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >--temp : number >temp : number (-3) ** temp++ ** 2; >(-3) ** temp++ ** 2 : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >temp++ ** 2 : number >temp++ : number >temp : number ->2 : number +>2 : 2 (-3) ** temp-- ** 2; >(-3) ** temp-- ** 2 : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >temp-- ** 2 : number >temp-- : number >temp : number ->2 : number +>2 : 2 (-3) ** ++temp ** 2; >(-3) ** ++temp ** 2 : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >++temp ** 2 : number >++temp : number >temp : number ->2 : number +>2 : 2 (-3) ** --temp ** 2; >(-3) ** --temp ** 2 : number ->(-3) : number ->-3 : number ->3 : number +>(-3) : -3 +>-3 : -3 +>3 : 3 >--temp ** 2 : number >--temp : number >temp : number ->2 : number +>2 : 2 (+3) ** temp++ ** 2; >(+3) ** temp++ ** 2 : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >temp++ ** 2 : number >temp++ : number >temp : number ->2 : number +>2 : 2 (+3) ** temp-- ** 2; >(+3) ** temp-- ** 2 : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >temp-- ** 2 : number >temp-- : number >temp : number ->2 : number +>2 : 2 (+3) ** ++temp ** 2; >(+3) ** ++temp ** 2 : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >++temp ** 2 : number >++temp : number >temp : number ->2 : number +>2 : 2 (+3) ** --temp ** 2; >(+3) ** --temp ** 2 : number >(+3) : number >+3 : number ->3 : number +>3 : 3 >--temp ** 2 : number >--temp : number >temp : number ->2 : number +>2 : 2 3 ** -temp++; >3 ** -temp++ : number ->3 : number +>3 : 3 >-temp++ : number >temp++ : number >temp : number 3 ** -temp--; >3 ** -temp-- : number ->3 : number +>3 : 3 >-temp-- : number >temp-- : number >temp : number 3 ** -++temp; >3 ** -++temp : number ->3 : number +>3 : 3 >-++temp : number >++temp : number >temp : number 3 ** +--temp; >3 ** +--temp : number ->3 : number +>3 : 3 >+--temp : number >--temp : number >temp : number 3 ** (-temp++) ** 2; >3 ** (-temp++) ** 2 : number ->3 : number +>3 : 3 >(-temp++) ** 2 : number >(-temp++) : number >-temp++ : number >temp++ : number >temp : number ->2 : number +>2 : 2 3 ** (-temp--) ** 2; >3 ** (-temp--) ** 2 : number ->3 : number +>3 : 3 >(-temp--) ** 2 : number >(-temp--) : number >-temp-- : number >temp-- : number >temp : number ->2 : number +>2 : 2 3 ** (+temp++) ** 2; >3 ** (+temp++) ** 2 : number ->3 : number +>3 : 3 >(+temp++) ** 2 : number >(+temp++) : number >+temp++ : number >temp++ : number >temp : number ->2 : number +>2 : 2 3 ** (+temp--) ** 2; >3 ** (+temp--) ** 2 : number ->3 : number +>3 : 3 >(+temp--) ** 2 : number >(+temp--) : number >+temp-- : number >temp-- : number >temp : number ->2 : number +>2 : 2 3 ** (-++temp) ** 2; >3 ** (-++temp) ** 2 : number ->3 : number +>3 : 3 >(-++temp) ** 2 : number >(-++temp) : number >-++temp : number >++temp : number >temp : number ->2 : number +>2 : 2 3 ** (+--temp) ** 2; >3 ** (+--temp) ** 2 : number ->3 : number +>3 : 3 >(+--temp) ** 2 : number >(+--temp) : number >+--temp : number >--temp : number >temp : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/emitExponentiationOperator4.js b/tests/baselines/reference/emitExponentiationOperator4.js index 7bed614b664..3ba8aae44e4 100644 --- a/tests/baselines/reference/emitExponentiationOperator4.js +++ b/tests/baselines/reference/emitExponentiationOperator4.js @@ -40,14 +40,14 @@ var temp: any; //// [emitExponentiationOperator4.js] var temp; Math.pow(temp, 3); -Math.pow((--temp), 3); -Math.pow((++temp), 3); -Math.pow((temp--), 3); -Math.pow((temp++), 3); -Math.pow(1, Math.pow((--temp), 3)); -Math.pow(1, Math.pow((++temp), 3)); -Math.pow(1, Math.pow((temp--), 3)); -Math.pow(1, Math.pow((temp++), 3)); +Math.pow(--temp, 3); +Math.pow(++temp, 3); +Math.pow(temp--, 3); +Math.pow(temp++, 3); +Math.pow(1, Math.pow(--temp, 3)); +Math.pow(1, Math.pow(++temp, 3)); +Math.pow(1, Math.pow(temp--, 3)); +Math.pow(1, Math.pow(temp++, 3)); Math.pow((void --temp), 3); Math.pow((void temp--), 3); Math.pow((void 3), 4); diff --git a/tests/baselines/reference/emitExponentiationOperator4.types b/tests/baselines/reference/emitExponentiationOperator4.types index 36da1c32b4c..0049671228e 100644 --- a/tests/baselines/reference/emitExponentiationOperator4.types +++ b/tests/baselines/reference/emitExponentiationOperator4.types @@ -7,7 +7,7 @@ var temp: any; >(temp) : number >temp : number >temp : any ->3 : number +>3 : 3 (--temp) ** 3; >(--temp) ** 3 : number @@ -15,7 +15,7 @@ var temp: any; >--temp : number >--temp : number >temp : any ->3 : number +>3 : 3 (++temp) ** 3; >(++temp) ** 3 : number @@ -23,7 +23,7 @@ var temp: any; >++temp : number >++temp : number >temp : any ->3 : number +>3 : 3 (temp--) ** 3; >(temp--) ** 3 : number @@ -31,7 +31,7 @@ var temp: any; >temp-- : number >temp-- : number >temp : any ->3 : number +>3 : 3 (temp++) ** 3; >(temp++) ** 3 : number @@ -39,47 +39,47 @@ var temp: any; >temp++ : number >temp++ : number >temp : any ->3 : number +>3 : 3 1 ** (--temp) ** 3; >1 ** (--temp) ** 3 : number ->1 : number +>1 : 1 >(--temp) ** 3 : number >(--temp) : number >--temp : number >--temp : number >temp : any ->3 : number +>3 : 3 1 ** (++temp) ** 3; >1 ** (++temp) ** 3 : number ->1 : number +>1 : 1 >(++temp) ** 3 : number >(++temp) : number >++temp : number >++temp : number >temp : any ->3 : number +>3 : 3 1 ** (temp--) ** 3; >1 ** (temp--) ** 3 : number ->1 : number +>1 : 1 >(temp--) ** 3 : number >(temp--) : number >temp-- : number >temp-- : number >temp : any ->3 : number +>3 : 3 1 ** (temp++) ** 3; >1 ** (temp++) ** 3 : number ->1 : number +>1 : 1 >(temp++) ** 3 : number >(temp++) : number >temp++ : number >temp++ : number >temp : any ->3 : number +>3 : 3 (void --temp) ** 3; >(void --temp) ** 3 : number @@ -87,7 +87,7 @@ var temp: any; >void --temp : undefined >--temp : number >temp : any ->3 : number +>3 : 3 (void temp--) ** 3; >(void temp--) ** 3 : number @@ -95,14 +95,14 @@ var temp: any; >void temp-- : undefined >temp-- : number >temp : any ->3 : number +>3 : 3 (void 3) ** 4; >(void 3) ** 4 : number >(void 3) : undefined >void 3 : undefined ->3 : number ->4 : number +>3 : 3 +>4 : 4 (void temp++) ** 4; >(void temp++) ** 4 : number @@ -110,7 +110,7 @@ var temp: any; >void temp++ : undefined >temp++ : number >temp : any ->4 : number +>4 : 4 (void temp--) ** 4; >(void temp--) ** 4 : number @@ -118,57 +118,57 @@ var temp: any; >void temp-- : undefined >temp-- : number >temp : any ->4 : number +>4 : 4 1 ** (void --temp) ** 3; >1 ** (void --temp) ** 3 : number ->1 : number +>1 : 1 >(void --temp) ** 3 : number >(void --temp) : undefined >void --temp : undefined >--temp : number >temp : any ->3 : number +>3 : 3 1 ** (void temp--) ** 3; >1 ** (void temp--) ** 3 : number ->1 : number +>1 : 1 >(void temp--) ** 3 : number >(void temp--) : undefined >void temp-- : undefined >temp-- : number >temp : any ->3 : number +>3 : 3 1 ** (void 3) ** 4; >1 ** (void 3) ** 4 : number ->1 : number +>1 : 1 >(void 3) ** 4 : number >(void 3) : undefined >void 3 : undefined ->3 : number ->4 : number +>3 : 3 +>4 : 4 1 ** (void temp++) ** 4; >1 ** (void temp++) ** 4 : number ->1 : number +>1 : 1 >(void temp++) ** 4 : number >(void temp++) : undefined >void temp++ : undefined >temp++ : number >temp : any ->4 : number +>4 : 4 1 ** (void temp--) ** 4; >1 ** (void temp--) ** 4 : number ->1 : number +>1 : 1 >(void temp--) ** 4 : number >(void temp--) : undefined >void temp-- : undefined >temp-- : number >temp : any ->4 : number +>4 : 4 (~ --temp) ** 3; >(~ --temp) ** 3 : number @@ -176,7 +176,7 @@ var temp: any; >~ --temp : number >--temp : number >temp : any ->3 : number +>3 : 3 (~ temp--) ** 3; >(~ temp--) ** 3 : number @@ -184,14 +184,14 @@ var temp: any; >~ temp-- : number >temp-- : number >temp : any ->3 : number +>3 : 3 (~ 3) ** 4; >(~ 3) ** 4 : number >(~ 3) : number >~ 3 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 (~ temp++) ** 4; >(~ temp++) ** 4 : number @@ -199,7 +199,7 @@ var temp: any; >~ temp++ : number >temp++ : number >temp : any ->4 : number +>4 : 4 (~ temp--) ** 4; >(~ temp--) ** 4 : number @@ -207,54 +207,54 @@ var temp: any; >~ temp-- : number >temp-- : number >temp : any ->4 : number +>4 : 4 1 ** (~ --temp) ** 3; >1 ** (~ --temp) ** 3 : number ->1 : number +>1 : 1 >(~ --temp) ** 3 : number >(~ --temp) : number >~ --temp : number >--temp : number >temp : any ->3 : number +>3 : 3 1 ** (~ temp--) ** 3; >1 ** (~ temp--) ** 3 : number ->1 : number +>1 : 1 >(~ temp--) ** 3 : number >(~ temp--) : number >~ temp-- : number >temp-- : number >temp : any ->3 : number +>3 : 3 1 ** (~ 3) ** 4; >1 ** (~ 3) ** 4 : number ->1 : number +>1 : 1 >(~ 3) ** 4 : number >(~ 3) : number >~ 3 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 1 ** (~ temp++) ** 4; >1 ** (~ temp++) ** 4 : number ->1 : number +>1 : 1 >(~ temp++) ** 4 : number >(~ temp++) : number >~ temp++ : number >temp++ : number >temp : any ->4 : number +>4 : 4 1 ** (~ temp--) ** 4; >1 ** (~ temp--) ** 4 : number ->1 : number +>1 : 1 >(~ temp--) ** 4 : number >(~ temp--) : number >~ temp-- : number >temp-- : number >temp : any ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.js b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.js index 433cd764726..c3c589e6a61 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.js +++ b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.js @@ -32,22 +32,22 @@ var t1 = 10; var t2 = 10; var s; // With TemplateTail -(Math.pow(t1, -t2)) + " world"; -(Math.pow((-t1), t2) - t1) + " world"; -(Math.pow((-++t1), t2) - t1) + " world"; -(Math.pow((-t1++), t2) - t1) + " world"; -(Math.pow((~t1), Math.pow(t2, --t1))) + " world"; +Math.pow(t1, -t2) + " world"; +Math.pow((-t1), t2) - t1 + " world"; +Math.pow((-++t1), t2) - t1 + " world"; +Math.pow((-t1++), t2) - t1 + " world"; +Math.pow((~t1), Math.pow(t2, --t1)) + " world"; typeof (Math.pow(t1, Math.pow(t2, t1))) + " world"; // TempateHead & TemplateTail are empt -(Math.pow(t1, -t2)) + " hello world " + (Math.pow(t1, -t2)); -(Math.pow((-t1), t2) - t1) + " hello world " + (Math.pow((-t1), t2) - t1); -(Math.pow((-++t1), t2) - t1) + " hello world " + (Math.pow(t1, Math.pow((-++t1), -t1))); -(Math.pow((-t1++), t2) - t1) + " hello world " + (Math.pow(t2, Math.pow((-t1++), -t1))); -(Math.pow((~t1), Math.pow(t2, --t1))) + " hello world " + (Math.pow((~t1), Math.pow(t2, --t1))); +Math.pow(t1, -t2) + " hello world " + Math.pow(t1, -t2); +Math.pow((-t1), t2) - t1 + " hello world " + (Math.pow((-t1), t2) - t1); +Math.pow((-++t1), t2) - t1 + " hello world " + Math.pow(t1, Math.pow((-++t1), -t1)); +Math.pow((-t1++), t2) - t1 + " hello world " + Math.pow(t2, Math.pow((-t1++), -t1)); +Math.pow((~t1), Math.pow(t2, --t1)) + " hello world " + Math.pow((~t1), Math.pow(t2, --t1)); typeof (Math.pow(t1, Math.pow(t2, t1))) + " hello world " + typeof (Math.pow(t1, Math.pow(t2, t1))); // With templateHead "hello " + (Math.pow((-t1), t2) - t1); "hello " + (Math.pow((-++t1), t2) - t1); "hello " + (Math.pow((-t1++), t2) - t1); -"hello " + (Math.pow((~t1), Math.pow(t2, --t1))); +"hello " + Math.pow((~t1), Math.pow(t2, --t1)); "hello " + typeof (Math.pow(t1, Math.pow(t2, t1))); diff --git a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.types b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.types index b4d1aebd4f6..7991ef224f0 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any diff --git a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4ES6.types b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4ES6.types index ed2f4b522e9..981829dd42b 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTempalteString4ES6.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTempalteString4ES6.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.js b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.js index eb879cce6a5..cd9ac32bbd2 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.js +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.js @@ -32,22 +32,22 @@ var t1 = 10; var t2 = 10; var s; // TempateHead & TemplateTail are empty -"" + (Math.pow(t1, t2)); -"" + (Math.pow(t1, Math.pow(t2, t1))); +"" + Math.pow(t1, t2); +"" + Math.pow(t1, Math.pow(t2, t1)); "" + (t1 + Math.pow(t2, t1)); "" + (Math.pow(t1, t2) + t1); "" + (t1 + Math.pow(t2, t2) + t1); "" + typeof (Math.pow(t1, Math.pow(t2, t1))); "" + (1 + typeof (Math.pow(t1, Math.pow(t2, t1)))); -"" + (Math.pow(t1, t2)) + (Math.pow(t1, t2)); -"" + (Math.pow(t1, Math.pow(t2, t1))) + (Math.pow(t1, Math.pow(t2, t1))); +"" + Math.pow(t1, t2) + Math.pow(t1, t2); +"" + Math.pow(t1, Math.pow(t2, t1)) + Math.pow(t1, Math.pow(t2, t1)); "" + (t1 + Math.pow(t2, t1)) + (t1 + Math.pow(t2, t1)); "" + (Math.pow(t1, t2) + t1) + (Math.pow(t1, t2) + t1); "" + (t1 + Math.pow(t2, t2) + t1) + (t1 + Math.pow(t2, t2) + t1); "" + typeof (Math.pow(t1, Math.pow(t2, t1))) + typeof (Math.pow(t1, Math.pow(t2, t1))); -(Math.pow(t1, t2)) + " hello world " + (Math.pow(t1, t2)); -(Math.pow(t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(t1, Math.pow(t2, t1))); -(t1 + Math.pow(t2, t1)) + " hello world " + (t1 + Math.pow(t2, t1)); -(Math.pow(t1, t2) + t1) + " hello world " + (Math.pow(t1, t2) + t1); -(t1 + Math.pow(t2, t2) + t1) + " hello world " + (t1 + Math.pow(t2, t2) + t1); +Math.pow(t1, t2) + " hello world " + Math.pow(t1, t2); +Math.pow(t1, Math.pow(t2, t1)) + " hello world " + Math.pow(t1, Math.pow(t2, t1)); +t1 + Math.pow(t2, t1) + " hello world " + (t1 + Math.pow(t2, t1)); +Math.pow(t1, t2) + t1 + " hello world " + (Math.pow(t1, t2) + t1); +t1 + Math.pow(t2, t2) + t1 + " hello world " + (t1 + Math.pow(t2, t2) + t1); typeof (Math.pow(t1, Math.pow(t2, t1))) + " hello world " + typeof (Math.pow(t1, Math.pow(t2, t1))); diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.types index 02ae523c168..bbfb5b88e04 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `${1 + typeof (t1 ** t2 ** t1) }`; >`${1 + typeof (t1 ** t2 ** t1) }` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1ES6.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1ES6.types index c2ee01ff23f..a005dd07463 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString1ES6.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString1ES6.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `${1 + typeof (t1 ** t2 ** t1) }`; >`${1 + typeof (t1 ** t2 ** t1) }` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.js b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.js index 73384762706..cd73e04327f 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.js +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.js @@ -32,21 +32,21 @@ var t1 = 10; var t2 = 10; var s; // With templateHead -"hello " + (Math.pow(t1, t2)); -"hello " + (Math.pow(t1, Math.pow(t2, t1))); +"hello " + Math.pow(t1, t2); +"hello " + Math.pow(t1, Math.pow(t2, t1)); "hello " + (t1 + Math.pow(t2, t1)); "hello " + (Math.pow(t1, t2) + t1); "hello " + (t1 + Math.pow(t2, t2) + t1); "hello " + typeof (Math.pow(t1, Math.pow(t2, t1))); "hello " + (1 + typeof (Math.pow(t1, Math.pow(t2, t1)))); -"hello " + (Math.pow(t1, t2)) + (Math.pow(t1, t2)); -"hello " + (Math.pow(t1, Math.pow(t2, t1))) + (Math.pow(t1, Math.pow(t2, t1))); +"hello " + Math.pow(t1, t2) + Math.pow(t1, t2); +"hello " + Math.pow(t1, Math.pow(t2, t1)) + Math.pow(t1, Math.pow(t2, t1)); "hello " + (t1 + Math.pow(t2, t1)) + (t1 + Math.pow(t2, t1)); "hello " + (Math.pow(t1, t2) + t1) + (Math.pow(t1, t2) + t1); "hello " + (t1 + Math.pow(t2, t2) + t1) + (t1 + Math.pow(t2, t2) + t1); "hello " + typeof (Math.pow(t1, Math.pow(t2, t1))) + typeof (Math.pow(t1, Math.pow(t2, t1))); -"hello " + (Math.pow(t1, t2)) + " hello world " + (Math.pow(t1, t2)); -"hello " + (Math.pow(t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(t1, Math.pow(t2, t1))); +"hello " + Math.pow(t1, t2) + " hello world " + Math.pow(t1, t2); +"hello " + Math.pow(t1, Math.pow(t2, t1)) + " hello world " + Math.pow(t1, Math.pow(t2, t1)); "hello " + (t1 + Math.pow(t2, t1)) + " hello world " + (t1 + Math.pow(t2, t1)); "hello " + (Math.pow(t1, t2) + t1) + " hello world " + (Math.pow(t1, t2) + t1); "hello " + (t1 + Math.pow(t2, t2) + t1) + " hello world " + (t1 + Math.pow(t2, t2) + t1); diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.types index 05816e94c6c..156851b60b9 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `hello ${1 + typeof (t1 ** t2 ** t1) }`; >`hello ${1 + typeof (t1 ** t2 ** t1) }` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2ES6.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2ES6.types index b77e38587c2..dbeee05554e 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString2ES6.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString2ES6.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `hello ${1 + typeof (t1 ** t2 ** t1) }`; >`hello ${1 + typeof (t1 ** t2 ** t1) }` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.js b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.js index 9c3b937d94b..966464b8220 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.js +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.js @@ -33,22 +33,22 @@ var t1 = 10; var t2 = 10; var s; // With TemplateTail -(Math.pow(t1, t2)) + " world"; -(Math.pow(t1, Math.pow(t2, t1))) + " world"; -(t1 + Math.pow(t2, t1)) + " world"; -(Math.pow(t1, t2) + t1) + " world"; -(t1 + Math.pow(t2, t2) + t1) + " world"; +Math.pow(t1, t2) + " world"; +Math.pow(t1, Math.pow(t2, t1)) + " world"; +t1 + Math.pow(t2, t1) + " world"; +Math.pow(t1, t2) + t1 + " world"; +t1 + Math.pow(t2, t2) + t1 + " world"; typeof (Math.pow(t1, Math.pow(t2, t1))) + " world"; -(1 + typeof (Math.pow(t1, Math.pow(t2, t1)))) + " world"; -"" + (Math.pow(t1, t2)) + (Math.pow(t1, t2)) + " world"; -"" + (Math.pow(t1, Math.pow(t2, t1))) + (Math.pow(t1, Math.pow(t2, t1))) + " world"; +1 + typeof (Math.pow(t1, Math.pow(t2, t1))) + " world"; +"" + Math.pow(t1, t2) + Math.pow(t1, t2) + " world"; +"" + Math.pow(t1, Math.pow(t2, t1)) + Math.pow(t1, Math.pow(t2, t1)) + " world"; "" + (t1 + Math.pow(t2, t1)) + (t1 + Math.pow(t2, t1)) + " world"; "" + (Math.pow(t1, t2) + t1) + (Math.pow(t1, t2) + t1) + " world"; "" + (t1 + Math.pow(t2, t2) + t1) + (t1 + Math.pow(t2, t2) + t1) + " world"; "" + typeof (Math.pow(t1, Math.pow(t2, t1))) + typeof (Math.pow(t1, Math.pow(t2, t1))) + " world"; -(Math.pow(t1, t2)) + " hello world " + (Math.pow(t1, t2)) + " !!"; -(Math.pow(t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(t1, Math.pow(t2, t1))) + " !!"; -(t1 + Math.pow(t2, t1)) + " hello world " + (t1 + Math.pow(t2, t1)) + " !!"; -(Math.pow(t1, t2) + t1) + " hello world " + (Math.pow(t1, t2) + t1) + " !!"; -(t1 + Math.pow(t2, t2) + t1) + " hello world " + (t1 + Math.pow(t2, t2) + t1) + " !!"; +Math.pow(t1, t2) + " hello world " + Math.pow(t1, t2) + " !!"; +Math.pow(t1, Math.pow(t2, t1)) + " hello world " + Math.pow(t1, Math.pow(t2, t1)) + " !!"; +t1 + Math.pow(t2, t1) + " hello world " + (t1 + Math.pow(t2, t1)) + " !!"; +Math.pow(t1, t2) + t1 + " hello world " + (Math.pow(t1, t2) + t1) + " !!"; +t1 + Math.pow(t2, t2) + t1 + " hello world " + (t1 + Math.pow(t2, t2) + t1) + " !!"; typeof (Math.pow(t1, Math.pow(t2, t1))) + " hello world " + typeof (Math.pow(t1, Math.pow(t2, t1))) + " !!"; diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.types index 88c23ee8a0b..d3472beac12 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `${1 + typeof (t1 ** t2 ** t1) } world`; >`${1 + typeof (t1 ** t2 ** t1) } world` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3ES6.types b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3ES6.types index e0d59cc1319..239ef02a529 100644 --- a/tests/baselines/reference/emitExponentiationOperatorInTemplateString3ES6.types +++ b/tests/baselines/reference/emitExponentiationOperatorInTemplateString3ES6.types @@ -2,11 +2,11 @@ var t1 = 10; >t1 : number ->10 : number +>10 : 10 var t2 = 10; >t2 : number ->10 : number +>10 : 10 var s; >s : any @@ -65,7 +65,7 @@ var s; `${1 + typeof (t1 ** t2 ** t1) } world`; >`${1 + typeof (t1 ** t2 ** t1) } world` : string >1 + typeof (t1 ** t2 ** t1) : string ->1 : number +>1 : 1 >typeof (t1 ** t2 ** t1) : string >(t1 ** t2 ** t1) : number >t1 ** t2 ** t1 : number diff --git a/tests/baselines/reference/emitMemberAccessExpression.types b/tests/baselines/reference/emitMemberAccessExpression.types index 7a32e452aec..c3f93e98df9 100644 --- a/tests/baselines/reference/emitMemberAccessExpression.types +++ b/tests/baselines/reference/emitMemberAccessExpression.types @@ -16,12 +16,12 @@ module Microsoft.PeopleAtWork.Model { === tests/cases/compiler/emitMemberAccessExpression_file1.ts === /// "use strict"; ->"use strict" : string +>"use strict" : "use strict" === tests/cases/compiler/emitMemberAccessExpression_file2.ts === /// "use strict"; ->"use strict" : string +>"use strict" : "use strict" module Microsoft.PeopleAtWork.Model { >Microsoft : typeof Microsoft diff --git a/tests/baselines/reference/emitPinnedCommentsOnTopOfFile.types b/tests/baselines/reference/emitPinnedCommentsOnTopOfFile.types index 0ada89e2802..5ca6aa0ead0 100644 --- a/tests/baselines/reference/emitPinnedCommentsOnTopOfFile.types +++ b/tests/baselines/reference/emitPinnedCommentsOnTopOfFile.types @@ -7,5 +7,5 @@ var x = 10; >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/emitPostComments.types b/tests/baselines/reference/emitPostComments.types index 5b5a05931d4..dd73d852423 100644 --- a/tests/baselines/reference/emitPostComments.types +++ b/tests/baselines/reference/emitPostComments.types @@ -2,7 +2,7 @@ var y = 10; >y : number ->10 : number +>10 : 10 /** * @name Foo diff --git a/tests/baselines/reference/emitPreComments.types b/tests/baselines/reference/emitPreComments.types index c0378350de3..5ba8e45f721 100644 --- a/tests/baselines/reference/emitPreComments.types +++ b/tests/baselines/reference/emitPreComments.types @@ -3,7 +3,7 @@ // This is pre comment var y = 10; >y : number ->10 : number +>10 : 10 /** * @name Foo diff --git a/tests/baselines/reference/emitRestParametersMethodES6.js b/tests/baselines/reference/emitRestParametersMethodES6.js index 930cd109b6e..b7c98ac9d19 100644 --- a/tests/baselines/reference/emitRestParametersMethodES6.js +++ b/tests/baselines/reference/emitRestParametersMethodES6.js @@ -16,14 +16,12 @@ class D { //// [emitRestParametersMethodES6.js] class C { - constructor(name, ...rest) { - } + constructor(name, ...rest) { } bar(...rest) { } foo(x, ...rest) { } } class D { - constructor(...rest) { - } + constructor(...rest) { } bar(...rest) { } foo(x, ...rest) { } } diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols index 4f1e2bc1aec..04a699a322d 100644 --- a/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols @@ -15,9 +15,9 @@ function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any >fn : Symbol(fn, Decl(emitSkipsThisWithRestParameter.ts, 0, 16)) >apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) >this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) ->[ this ].concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>[ this ].concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 1, 30)) }; diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.types b/tests/baselines/reference/emitSkipsThisWithRestParameter.types index 97276fa117d..ff6f1e6f73a 100644 --- a/tests/baselines/reference/emitSkipsThisWithRestParameter.types +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.types @@ -18,10 +18,10 @@ function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any >apply : (this: Function, thisArg: any, argArray?: any) => any >this : any >[ this ].concat(args) : any[] ->[ this ].concat : (...items: any[]) => any[] +>[ this ].concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >[ this ] : any[] >this : any ->concat : (...items: any[]) => any[] +>concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >args : any[] }; diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.types b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.types index cfdf0af0300..c8459efaa7c 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -16,10 +16,10 @@ class B extends A { >x : number "use strict"; ->"use strict" : string +>"use strict" : "use strict" 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.types b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.types index 4424042c241..5d27896c940 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -16,10 +16,10 @@ class B extends A { >x : number "use strict"; ->"use strict" : string +>"use strict" : "use strict" 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.types b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.types index 2d16fed121d..c96fd01740e 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -14,14 +14,14 @@ class B extends A { blub = 12; >blub : number ->12 : number +>12 : 12 constructor() { "use strict"; ->"use strict" : string +>"use strict" : "use strict" 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.types b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.types index 39e8f885777..28b8c2d210a 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclaration1ES6.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -14,11 +14,11 @@ class B extends A { blub = 12; >blub : number ->12 : number +>12 : 12 constructor() { 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.types b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.types index acb5703581a..8604f5d94bb 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -14,16 +14,16 @@ class B extends A { blah = 2; >blah : number ->2 : number +>2 : 2 constructor(public x: number) { >x : number "use strict"; ->"use strict" : string +>"use strict" : "use strict" 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.types b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.types index 96fc1fc2dc3..585ba8a9df9 100644 --- a/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.types +++ b/tests/baselines/reference/emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.types @@ -4,7 +4,7 @@ class A { blub = 6; >blub : number ->6 : number +>6 : 6 } @@ -14,16 +14,16 @@ class B extends A { blah = 2; >blah : number ->2 : number +>2 : 2 constructor(public x: number) { >x : number "use strict"; ->"use strict" : string +>"use strict" : "use strict" 'someStringForEgngInject'; ->'someStringForEgngInject' : string +>'someStringForEgngInject' : "someStringForEgngInject" super() >super() : void diff --git a/tests/baselines/reference/emitThisInSuperMethodCall.js b/tests/baselines/reference/emitThisInSuperMethodCall.js index ba648b12d86..1350ed9d4c8 100644 --- a/tests/baselines/reference/emitThisInSuperMethodCall.js +++ b/tests/baselines/reference/emitThisInSuperMethodCall.js @@ -54,8 +54,9 @@ var RegisteredUser = (function (_super) { }; RegisteredUser.prototype.g = function () { function inner() { + var _this = this; (function () { - _super.sayHello.call(this); + _super.sayHello.call(_this); }); } }; diff --git a/tests/baselines/reference/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.types b/tests/baselines/reference/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.types index 637196fdc22..b5c1cd2b346 100644 --- a/tests/baselines/reference/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.types +++ b/tests/baselines/reference/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.types @@ -13,5 +13,5 @@ interface F { } var x = 10 >x : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter04.js b/tests/baselines/reference/emptyArrayBindingPatternParameter04.js index c9819c88f40..69266916935 100644 --- a/tests/baselines/reference/emptyArrayBindingPatternParameter04.js +++ b/tests/baselines/reference/emptyArrayBindingPatternParameter04.js @@ -6,7 +6,7 @@ function f([] = [1,2,3,4]) { //// [emptyArrayBindingPatternParameter04.js] function f(_a) { - var _a = [1, 2, 3, 4]; + _a = [1, 2, 3, 4]; var x, y, z; } diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter04.types b/tests/baselines/reference/emptyArrayBindingPatternParameter04.types index 834eb41b34d..f6035a6ba94 100644 --- a/tests/baselines/reference/emptyArrayBindingPatternParameter04.types +++ b/tests/baselines/reference/emptyArrayBindingPatternParameter04.types @@ -3,10 +3,10 @@ function f([] = [1,2,3,4]) { >f : ([]?: number[]) => void >[1,2,3,4] : number[] ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 var x, y, z; >x : any diff --git a/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js b/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js index 27a0b5f9b61..370e019104f 100644 --- a/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js +++ b/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js @@ -9,8 +9,8 @@ let x, y, z, a1, a2, a3; //// [emptyAssignmentPatterns02_ES5.js] var a; var x, y, z, a1, a2, a3; -((x = a.x, y = a.y, z = a.z, a)); -((a1 = a[0], a2 = a[1], a3 = a[2], a)); +(x = a.x, y = a.y, z = a.z, a); +(a1 = a[0], a2 = a[1], a3 = a[2], a); //// [emptyAssignmentPatterns02_ES5.d.ts] diff --git a/tests/baselines/reference/emptyIndexer.types b/tests/baselines/reference/emptyIndexer.types index 5361ed4d7f4..7c7fb160b98 100644 --- a/tests/baselines/reference/emptyIndexer.types +++ b/tests/baselines/reference/emptyIndexer.types @@ -25,6 +25,6 @@ var n = x[''].m(); // should not crash compiler >x[''].m : () => number >x[''] : I1 >x : I2 ->'' : string +>'' : "" >m : () => number diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter04.js b/tests/baselines/reference/emptyObjectBindingPatternParameter04.js index 8c128bb806e..8d91e8f34c3 100644 --- a/tests/baselines/reference/emptyObjectBindingPatternParameter04.js +++ b/tests/baselines/reference/emptyObjectBindingPatternParameter04.js @@ -6,7 +6,7 @@ function f({} = {a: 1, b: "2", c: true}) { //// [emptyObjectBindingPatternParameter04.js] function f(_a) { - var _a = { a: 1, b: "2", c: true }; + _a = { a: 1, b: "2", c: true }; var x, y, z; } diff --git a/tests/baselines/reference/emptyThenWithoutWarning.types b/tests/baselines/reference/emptyThenWithoutWarning.types index 2dca4059669..0632001736b 100644 --- a/tests/baselines/reference/emptyThenWithoutWarning.types +++ b/tests/baselines/reference/emptyThenWithoutWarning.types @@ -1,23 +1,23 @@ === tests/cases/compiler/emptyThenWithoutWarning.ts === let a = 4; >a : number ->4 : number +>4 : 4 if(a === 1 || a === 2 || a === 3) { >a === 1 || a === 2 || a === 3 : boolean >a === 1 || a === 2 : boolean >a === 1 : boolean >a : number ->1 : number +>1 : 1 >a === 2 : boolean >a : number ->2 : number +>2 : 2 >a === 3 : boolean >a : number ->3 : number +>3 : 3 } else { let message = "Ooops"; >message : string ->"Ooops" : string +>"Ooops" : "Ooops" } diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js index 52207ceda96..655a9f073a2 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js @@ -67,12 +67,12 @@ for (var _u = {}, _v = {}; false; void 0) { } function f(_a, _b, _c) { - var _a = a; - var _b = a; + _a = a; + _b = a; var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; return function (_a, _b, _c) { - var _a = a; - var _b = a; + _a = a; + _b = a; var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; return a; }; diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types index 3640d468a59..9b6112365fd 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types @@ -56,9 +56,9 @@ for (var {} = {}, {} = {}; false; void 0) { >{} : {} >{} : {} ->false : boolean +>false : false >void 0 : undefined ->0 : number +>0 : 0 } function f({} = a, [] = a, { p: {} = a} = a) { diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js index 1303ab1e3d0..98661c440c6 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js @@ -52,31 +52,31 @@ //// [emptyVariableDeclarationBindingPatterns01_ES6.js] (function () { var a; - var { } = a; - let { } = a; - const { } = a; + var {} = a; + let {} = a; + const {} = a; var [] = a; let [] = a; const [] = a; - var { } = a, [] = a; - let { } = a, [] = a; - const { } = a, [] = a; - var { p1: { }, p2: [] } = a; - let { p1: { }, p2: [] } = a; - const { p1: { }, p2: [] } = a; - for (var { } = {}, { } = {}; false; void 0) { + var {} = a, [] = a; + let {} = a, [] = a; + const {} = a, [] = a; + var { p1: {}, p2: [] } = a; + let { p1: {}, p2: [] } = a; + const { p1: {}, p2: [] } = a; + for (var {} = {}, {} = {}; false; void 0) { } - function f({ } = a, [] = a, { p: { } = a } = a) { - return ({ } = a, [] = a, { p: { } = a } = a) => a; + function f({} = a, [] = a, { p: {} = a } = a) { + return ({} = a, [] = a, { p: {} = a } = a) => a; } })(); (function () { const ns = []; - for (var { } of ns) { + for (var {} of ns) { } - for (let { } of ns) { + for (let {} of ns) { } - for (const { } of ns) { + for (const {} of ns) { } for (var [] of ns) { } diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types index 20b7d5ec2b6..ac79fe0b1b7 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types @@ -56,9 +56,9 @@ for (var {} = {}, {} = {}; false; void 0) { >{} : {} >{} : {} ->false : boolean +>false : false >void 0 : undefined ->0 : number +>0 : 0 } function f({} = a, [] = a, { p: {} = a} = a) { diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js index 8b2df68ed70..9b78828cc49 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js @@ -12,9 +12,9 @@ //// [emptyVariableDeclarationBindingPatterns02_ES6.js] (function () { - var { }; - let { }; - const { }; + var {}; + let {}; + const {}; var []; let []; const []; diff --git a/tests/baselines/reference/enumAssignmentCompat.errors.txt b/tests/baselines/reference/enumAssignmentCompat.errors.txt index f1a01247146..11f2d026261 100644 --- a/tests/baselines/reference/enumAssignmentCompat.errors.txt +++ b/tests/baselines/reference/enumAssignmentCompat.errors.txt @@ -1,11 +1,12 @@ tests/cases/compiler/enumAssignmentCompat.ts(26,5): error TS2322: Type 'typeof W' is not assignable to type 'number'. -tests/cases/compiler/enumAssignmentCompat.ts(28,5): error TS2322: Type 'W' is not assignable to type 'typeof W'. -tests/cases/compiler/enumAssignmentCompat.ts(30,5): error TS2322: Type 'number' is not assignable to type 'typeof W'. -tests/cases/compiler/enumAssignmentCompat.ts(32,5): error TS2322: Type 'W' is not assignable to type 'WStatic'. -tests/cases/compiler/enumAssignmentCompat.ts(33,5): error TS2322: Type 'number' is not assignable to type 'WStatic'. +tests/cases/compiler/enumAssignmentCompat.ts(28,5): error TS2322: Type 'W.a' is not assignable to type 'typeof W'. +tests/cases/compiler/enumAssignmentCompat.ts(30,5): error TS2322: Type '3' is not assignable to type 'typeof W'. +tests/cases/compiler/enumAssignmentCompat.ts(31,5): error TS2322: Type '4' is not assignable to type 'W.a'. +tests/cases/compiler/enumAssignmentCompat.ts(32,5): error TS2322: Type 'W.a' is not assignable to type 'WStatic'. +tests/cases/compiler/enumAssignmentCompat.ts(33,5): error TS2322: Type '5' is not assignable to type 'WStatic'. -==== tests/cases/compiler/enumAssignmentCompat.ts (5 errors) ==== +==== tests/cases/compiler/enumAssignmentCompat.ts (6 errors) ==== module W { export class D { } } @@ -37,18 +38,20 @@ tests/cases/compiler/enumAssignmentCompat.ts(33,5): error TS2322: Type 'number' var a: number = W.a; var b: typeof W = W.a; // error ~ -!!! error TS2322: Type 'W' is not assignable to type 'typeof W'. +!!! error TS2322: Type 'W.a' is not assignable to type 'typeof W'. var c: typeof W.a = W.a; var d: typeof W = 3; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'typeof W'. +!!! error TS2322: Type '3' is not assignable to type 'typeof W'. var e: typeof W.a = 4; + ~ +!!! error TS2322: Type '4' is not assignable to type 'W.a'. var f: WStatic = W.a; // error ~ -!!! error TS2322: Type 'W' is not assignable to type 'WStatic'. +!!! error TS2322: Type 'W.a' is not assignable to type 'WStatic'. var g: WStatic = 5; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'WStatic'. +!!! error TS2322: Type '5' is not assignable to type 'WStatic'. var h: W = 3; var i: W = W.a; i = W.a; diff --git a/tests/baselines/reference/enumAssignmentCompat2.errors.txt b/tests/baselines/reference/enumAssignmentCompat2.errors.txt index 4e0660eaae3..9cda6325434 100644 --- a/tests/baselines/reference/enumAssignmentCompat2.errors.txt +++ b/tests/baselines/reference/enumAssignmentCompat2.errors.txt @@ -1,11 +1,12 @@ tests/cases/compiler/enumAssignmentCompat2.ts(25,5): error TS2322: Type 'typeof W' is not assignable to type 'number'. -tests/cases/compiler/enumAssignmentCompat2.ts(27,5): error TS2322: Type 'W' is not assignable to type 'typeof W'. -tests/cases/compiler/enumAssignmentCompat2.ts(29,5): error TS2322: Type 'number' is not assignable to type 'typeof W'. -tests/cases/compiler/enumAssignmentCompat2.ts(31,5): error TS2322: Type 'W' is not assignable to type 'WStatic'. -tests/cases/compiler/enumAssignmentCompat2.ts(32,5): error TS2322: Type 'number' is not assignable to type 'WStatic'. +tests/cases/compiler/enumAssignmentCompat2.ts(27,5): error TS2322: Type 'W.a' is not assignable to type 'typeof W'. +tests/cases/compiler/enumAssignmentCompat2.ts(29,5): error TS2322: Type '3' is not assignable to type 'typeof W'. +tests/cases/compiler/enumAssignmentCompat2.ts(30,5): error TS2322: Type '4' is not assignable to type 'W.a'. +tests/cases/compiler/enumAssignmentCompat2.ts(31,5): error TS2322: Type 'W.a' is not assignable to type 'WStatic'. +tests/cases/compiler/enumAssignmentCompat2.ts(32,5): error TS2322: Type '5' is not assignable to type 'WStatic'. -==== tests/cases/compiler/enumAssignmentCompat2.ts (5 errors) ==== +==== tests/cases/compiler/enumAssignmentCompat2.ts (6 errors) ==== enum W { a, b, c, @@ -36,18 +37,20 @@ tests/cases/compiler/enumAssignmentCompat2.ts(32,5): error TS2322: Type 'number' var a: number = W.a; var b: typeof W = W.a; // error ~ -!!! error TS2322: Type 'W' is not assignable to type 'typeof W'. +!!! error TS2322: Type 'W.a' is not assignable to type 'typeof W'. var c: typeof W.a = W.a; var d: typeof W = 3; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'typeof W'. +!!! error TS2322: Type '3' is not assignable to type 'typeof W'. var e: typeof W.a = 4; + ~ +!!! error TS2322: Type '4' is not assignable to type 'W.a'. var f: WStatic = W.a; // error ~ -!!! error TS2322: Type 'W' is not assignable to type 'WStatic'. +!!! error TS2322: Type 'W.a' is not assignable to type 'WStatic'. var g: WStatic = 5; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'WStatic'. +!!! error TS2322: Type '5' is not assignable to type 'WStatic'. var h: W = 3; var i: W = W.a; i = W.a; diff --git a/tests/baselines/reference/enumAssignmentCompat4.types b/tests/baselines/reference/enumAssignmentCompat4.types index db7f5ce8ba2..8d960245862 100644 --- a/tests/baselines/reference/enumAssignmentCompat4.types +++ b/tests/baselines/reference/enumAssignmentCompat4.types @@ -45,8 +45,8 @@ namespace N { } let broken = [ ->broken : ({ foo: N.MyEnum; } | { foo: M.MyEnum; })[] ->[ N.object1, M.object2] : ({ foo: N.MyEnum; } | { foo: M.MyEnum; })[] +>broken : ({ foo: M.MyEnum; } | { foo: N.MyEnum; })[] +>[ N.object1, M.object2] : ({ foo: M.MyEnum; } | { foo: N.MyEnum; })[] N.object1, >N.object1 : { foo: N.MyEnum; } diff --git a/tests/baselines/reference/enumBasics.errors.txt b/tests/baselines/reference/enumBasics.errors.txt new file mode 100644 index 00000000000..4d82402b8ee --- /dev/null +++ b/tests/baselines/reference/enumBasics.errors.txt @@ -0,0 +1,86 @@ +tests/cases/conformance/enums/enumBasics.ts(13,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'e' must be of type 'typeof E1', but here has type '{ readonly [n: number]: string; readonly A: E1; readonly B: E1; readonly C: E1; }'. + + +==== tests/cases/conformance/enums/enumBasics.ts (1 errors) ==== + // Enum without initializers have first member = 0 and successive members = N + 1 + enum E1 { + A, + B, + C + } + + // Enum type is a subtype of Number + var x: number = E1.A; + + // Enum object type is anonymous with properties of the enum type and numeric indexer + var e = E1; + var e: { + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'e' must be of type 'typeof E1', but here has type '{ readonly [n: number]: string; readonly A: E1; readonly B: E1; readonly C: E1; }'. + readonly A: E1; + readonly B: E1; + readonly C: E1; + readonly [n: number]: string; + }; + var e: typeof E1; + + // Reverse mapping of enum returns string name of property + var s = E1[e.A]; + var s: string; + + + // Enum with only constant members + enum E2 { + A = 1, B = 2, C = 3 + } + + // Enum with only computed members + enum E3 { + X = 'foo'.length, Y = 4 + 3, Z = +'foo' + } + + // Enum with constant members followed by computed members + enum E4 { + X = 0, Y, Z = 'foo'.length + } + + // Enum with > 2 constant members with no initializer for first member, non zero initializer for second element + enum E5 { + A, + B = 3, + C // 4 + } + + enum E6 { + A, + B = 0, + C // 1 + } + + // Enum with computed member initializer of type 'any' + enum E7 { + A = 'foo'['foo'] + } + + // Enum with computed member initializer of type number + enum E8 { + B = 'foo'['foo'] + } + + //Enum with computed member intializer of same enum type + enum E9 { + A, + B = A + } + + // (refer to .js to validate) + // Enum constant members are propagated + var doNotPropagate = [ + E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z + ]; + // Enum computed members are not propagated + var doPropagate = [ + E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C + ]; + + \ No newline at end of file diff --git a/tests/baselines/reference/enumBasics.types b/tests/baselines/reference/enumBasics.types index cecd8f51136..9e68b06bc3e 100644 --- a/tests/baselines/reference/enumBasics.types +++ b/tests/baselines/reference/enumBasics.types @@ -172,8 +172,8 @@ enum E9 { // (refer to .js to validate) // Enum constant members are propagated var doNotPropagate = [ ->doNotPropagate : (E8 | E7 | E4 | E3)[] ->[ E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z] : (E8 | E7 | E4 | E3)[] +>doNotPropagate : (E3 | E4 | E7 | E8)[] +>[ E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z] : (E3 | E4 | E7 | E8)[] E8.B, E7.A, E4.Z, E3.X, E3.Y, E3.Z >E8.B : E8 @@ -198,8 +198,8 @@ var doNotPropagate = [ ]; // Enum computed members are not propagated var doPropagate = [ ->doPropagate : (E9 | E6 | E5)[] ->[ E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C] : (E9 | E6 | E5)[] +>doPropagate : (E5 | E6 | E9)[] +>[ E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C] : (E5 | E6 | E9)[] E9.A, E9.B, E6.B, E6.C, E6.A, E5.A, E5.B, E5.C >E9.A : E9 diff --git a/tests/baselines/reference/enumBasics1.errors.txt b/tests/baselines/reference/enumBasics1.errors.txt index fddca60bd99..352303def5b 100644 --- a/tests/baselines/reference/enumBasics1.errors.txt +++ b/tests/baselines/reference/enumBasics1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/enumBasics1.ts(26,5): error TS2339: Property 'A' does not exist on type 'E'. +tests/cases/compiler/enumBasics1.ts(26,5): error TS2339: Property 'A' does not exist on type 'E.A'. tests/cases/compiler/enumBasics1.ts(35,2): error TS2432: In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element. @@ -30,7 +30,7 @@ tests/cases/compiler/enumBasics1.ts(35,2): error TS2432: In an enum with multipl */ E.A.A; // should error ~ -!!! error TS2339: Property 'A' does not exist on type 'E'. +!!! error TS2339: Property 'A' does not exist on type 'E.A'. enum E2 { diff --git a/tests/baselines/reference/enumCodeGenNewLines1.types b/tests/baselines/reference/enumCodeGenNewLines1.types index 6321511ef2d..ec4f610df11 100644 --- a/tests/baselines/reference/enumCodeGenNewLines1.types +++ b/tests/baselines/reference/enumCodeGenNewLines1.types @@ -3,15 +3,15 @@ enum foo { >foo : foo b = 1, ->b : foo ->1 : number +>b : foo.b +>1 : 1 c = 2, ->c : foo ->2 : number +>c : foo.c +>2 : 2 d = 3 ->d : foo ->3 : number +>d : foo.d +>3 : 3 } diff --git a/tests/baselines/reference/enumConstantMembers.types b/tests/baselines/reference/enumConstantMembers.types index c99b5eeb62f..bfbf71a6c17 100644 --- a/tests/baselines/reference/enumConstantMembers.types +++ b/tests/baselines/reference/enumConstantMembers.types @@ -4,47 +4,47 @@ enum E1 { >E1 : E1 a = 1, ->a : E1 ->1 : number +>a : E1.a +>1 : 1 b ->b : E1 +>b : E1.b } enum E2 { >E2 : E2 a = - 1, ->a : E2 ->- 1 : number ->1 : number +>a : E2.a +>- 1 : -1 +>1 : 1 b ->b : E2 +>b : E2.b } enum E3 { >E3 : E3 a = 0.1, ->a : E3 ->0.1 : number +>a : E3.a +>0.1 : 0.1 b // Error because 0.1 is not a constant ->b : E3 +>b : E3.b } declare enum E4 { >E4 : E4 a = 1, ->a : E4 ->1 : number +>a : E4.a +>1 : 1 b = -1, ->b : E4 ->-1 : number ->1 : number +>b : E4.b +>-1 : -1 +>1 : 1 c = 0.1 // Not a constant ->c : E4 ->0.1 : number +>c : E4.c +>0.1 : 0.1 } diff --git a/tests/baselines/reference/enumErrors.errors.txt b/tests/baselines/reference/enumErrors.errors.txt index 14cad3cb53b..f0978df709c 100644 --- a/tests/baselines/reference/enumErrors.errors.txt +++ b/tests/baselines/reference/enumErrors.errors.txt @@ -3,7 +3,7 @@ tests/cases/conformance/enums/enumErrors.ts(3,6): error TS2431: Enum name cannot tests/cases/conformance/enums/enumErrors.ts(4,6): error TS2431: Enum name cannot be 'string' tests/cases/conformance/enums/enumErrors.ts(5,6): error TS2431: Enum name cannot be 'boolean' tests/cases/conformance/enums/enumErrors.ts(9,9): error TS2322: Type 'Number' is not assignable to type 'E5'. -tests/cases/conformance/enums/enumErrors.ts(26,9): error TS2322: Type 'string' is not assignable to type 'E11'. +tests/cases/conformance/enums/enumErrors.ts(26,9): error TS2322: Type '""' is not assignable to type 'E11'. tests/cases/conformance/enums/enumErrors.ts(27,9): error TS2322: Type 'Date' is not assignable to type 'E11'. tests/cases/conformance/enums/enumErrors.ts(28,9): error TS2304: Cannot find name 'window'. tests/cases/conformance/enums/enumErrors.ts(29,9): error TS2322: Type '{}' is not assignable to type 'E11'. @@ -47,7 +47,7 @@ tests/cases/conformance/enums/enumErrors.ts(29,9): error TS2322: Type '{}' is no enum E11 { A = '', ~~ -!!! error TS2322: Type 'string' is not assignable to type 'E11'. +!!! error TS2322: Type '""' is not assignable to type 'E11'. B = new Date(), ~~~~~~~~~~ !!! error TS2322: Type 'Date' is not assignable to type 'E11'. diff --git a/tests/baselines/reference/enumExportMergingES6.types b/tests/baselines/reference/enumExportMergingES6.types index da2fc22cb8a..6ede07d92a0 100644 --- a/tests/baselines/reference/enumExportMergingES6.types +++ b/tests/baselines/reference/enumExportMergingES6.types @@ -4,14 +4,14 @@ export enum Animals { Cat = 1 >Cat : Animals ->1 : number +>1 : 1 } export enum Animals { >Animals : Animals Dog = 2 >Dog : Animals ->2 : number +>2 : 2 } export enum Animals { >Animals : Animals diff --git a/tests/baselines/reference/enumFromExternalModule.js b/tests/baselines/reference/enumFromExternalModule.js index 5561517341d..77f0e643969 100644 --- a/tests/baselines/reference/enumFromExternalModule.js +++ b/tests/baselines/reference/enumFromExternalModule.js @@ -19,5 +19,5 @@ var Mode = exports.Mode; //// [enumFromExternalModule_1.js] "use strict"; /// -var f = require('./enumFromExternalModule_0'); +var f = require("./enumFromExternalModule_0"); var x = f.Mode.Open; diff --git a/tests/baselines/reference/enumIdentifierLiterals.js b/tests/baselines/reference/enumIdentifierLiterals.js index 72a8a56570c..5f132b965f2 100644 --- a/tests/baselines/reference/enumIdentifierLiterals.js +++ b/tests/baselines/reference/enumIdentifierLiterals.js @@ -10,9 +10,9 @@ enum Nums { //// [enumIdentifierLiterals.js] var Nums; (function (Nums) { - Nums[Nums["1"] = 0] = "1"; - Nums[Nums["1.1"] = 1] = "1.1"; - Nums[Nums["1.2"] = 2] = "1.2"; + Nums[Nums[1] = 0] = 1; + Nums[Nums[1.1] = 1] = 1.1; + Nums[Nums[1.2] = 2] = 1.2; Nums[Nums["13e-1"] = 3] = "13e-1"; - Nums[Nums["61453"] = 4] = "61453"; + Nums[Nums[61453] = 4] = 61453; })(Nums || (Nums = {})); diff --git a/tests/baselines/reference/enumIndexer.types b/tests/baselines/reference/enumIndexer.types index cbc43176b01..6c6e50822b5 100644 --- a/tests/baselines/reference/enumIndexer.types +++ b/tests/baselines/reference/enumIndexer.types @@ -3,24 +3,24 @@ enum MyEnumType { >MyEnumType : MyEnumType foo, bar ->foo : MyEnumType ->bar : MyEnumType +>foo : MyEnumType.foo +>bar : MyEnumType.bar } var _arr = [{ key: 'foo' }, { key: 'bar' }] >_arr : { key: string; }[] >[{ key: 'foo' }, { key: 'bar' }] : { key: string; }[] >{ key: 'foo' } : { key: string; } >key : string ->'foo' : string +>'foo' : "foo" >{ key: 'bar' } : { key: string; } >key : string ->'bar' : string +>'bar' : "bar" var enumValue = MyEnumType.foo; >enumValue : MyEnumType ->MyEnumType.foo : MyEnumType +>MyEnumType.foo : MyEnumType.foo >MyEnumType : typeof MyEnumType ->foo : MyEnumType +>foo : MyEnumType.foo var x = _arr.map(o => MyEnumType[o.key] === enumValue); // these are not same type >x : boolean[] diff --git a/tests/baselines/reference/enumInitializersWithExponents.types b/tests/baselines/reference/enumInitializersWithExponents.types index 8da208e5f87..25a36ffc5e3 100644 --- a/tests/baselines/reference/enumInitializersWithExponents.types +++ b/tests/baselines/reference/enumInitializersWithExponents.types @@ -4,26 +4,26 @@ declare enum E { >E : E a = 1e3, // ok ->a : E ->1e3 : number +>a : E.a +>1e3 : 1000 b = 1e25, // ok ->b : E ->1e25 : number +>b : E.b +>1e25 : 1e+25 c = 1e-3, // error ->c : E ->1e-3 : number +>c : E.c +>1e-3 : 0.001 d = 1e-9, // error ->d : E ->1e-9 : number +>d : E.d +>1e-9 : 1e-9 e = 1e0, // ok ->e : E ->1e0 : number +>e : E.e +>1e0 : 1 f = 1e+25 // ok ->f : E ->1e+25 : number +>f : E.b +>1e+25 : 1e+25 } diff --git a/tests/baselines/reference/enumLiteralTypes1.js b/tests/baselines/reference/enumLiteralTypes1.js new file mode 100644 index 00000000000..714227f4d60 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes1.js @@ -0,0 +1,205 @@ +//// [enumLiteralTypes1.ts] +const enum Choice { Unknown, Yes, No }; + +type YesNo = Choice.Yes | Choice.No; +type NoYes = Choice.No | Choice.Yes; +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; + +function f1() { + var a: YesNo; + var a: NoYes; + var a: Choice.Yes | Choice.No; + var a: Choice.No | Choice.Yes; +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { + b = a; + c = a; + c = b; +} + +function f3(a: Choice.Yes, b: YesNo) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} + +function f4(a: Choice.Yes, b: YesNo) { + a++; + b++; +} + +declare function g(x: Choice.Yes): string; +declare function g(x: Choice.No): boolean; +declare function g(x: Choice): number; + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { + var z1 = g(Choice.Yes); + var z2 = g(Choice.No); + var z3 = g(a); + var z4 = g(b); + var z5 = g(c); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +function f10(x: YesNo) { + switch (x) { + case Choice.Yes: return "true"; + case Choice.No: return "false"; + } +} + +function f11(x: YesNo) { + switch (x) { + case Choice.Yes: return "true"; + case Choice.No: return "false"; + } + return assertNever(x); +} + +function f12(x: UnknownYesNo) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: UnknownYesNo) { + if (x === Choice.Yes) { + x; + } + else { + x; + } +} + +type Item = + { kind: Choice.Yes, a: string } | + { kind: Choice.No, b: string }; + +function f20(x: Item) { + switch (x.kind) { + case Choice.Yes: return x.a; + case Choice.No: return x.b; + } +} + +function f21(x: Item) { + switch (x.kind) { + case Choice.Yes: return x.a; + case Choice.No: return x.b; + } + return assertNever(x); +} + +//// [enumLiteralTypes1.js] +; +function f1() { + var a; + var a; + var a; + var a; +} +function f2(a, b, c) { + b = a; + c = a; + c = b; +} +function f3(a, b) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} +function f4(a, b) { + a++; + b++; +} +function f5(a, b, c) { + var z1 = g(1 /* Yes */); + var z2 = g(2 /* No */); + var z3 = g(a); + var z4 = g(b); + var z5 = g(c); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case 1 /* Yes */: return "true"; + case 2 /* No */: return "false"; + } +} +function f11(x) { + switch (x) { + case 1 /* Yes */: return "true"; + case 2 /* No */: return "false"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === 1 /* Yes */) { + x; + } + else { + x; + } +} +function f20(x) { + switch (x.kind) { + case 1 /* Yes */: return x.a; + case 2 /* No */: return x.b; + } +} +function f21(x) { + switch (x.kind) { + case 1 /* Yes */: return x.a; + case 2 /* No */: return x.b; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/enumLiteralTypes1.symbols b/tests/baselines/reference/enumLiteralTypes1.symbols new file mode 100644 index 00000000000..0919f99330d --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes1.symbols @@ -0,0 +1,411 @@ +=== tests/cases/conformance/types/literal/enumLiteralTypes1.ts === +const enum Choice { Unknown, Yes, No }; +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Unknown : Symbol(Choice.Unknown, Decl(enumLiteralTypes1.ts, 0, 19)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + +type YesNo = Choice.Yes | Choice.No; +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + +type NoYes = Choice.No | Choice.Yes; +>NoYes : Symbol(NoYes, Decl(enumLiteralTypes1.ts, 2, 36)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes1.ts, 3, 36)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Unknown : Symbol(Choice.Unknown, Decl(enumLiteralTypes1.ts, 0, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + +function f1() { +>f1 : Symbol(f1, Decl(enumLiteralTypes1.ts, 4, 60)) + + var a: YesNo; +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 7, 7), Decl(enumLiteralTypes1.ts, 8, 7), Decl(enumLiteralTypes1.ts, 9, 7), Decl(enumLiteralTypes1.ts, 10, 7)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) + + var a: NoYes; +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 7, 7), Decl(enumLiteralTypes1.ts, 8, 7), Decl(enumLiteralTypes1.ts, 9, 7), Decl(enumLiteralTypes1.ts, 10, 7)) +>NoYes : Symbol(NoYes, Decl(enumLiteralTypes1.ts, 2, 36)) + + var a: Choice.Yes | Choice.No; +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 7, 7), Decl(enumLiteralTypes1.ts, 8, 7), Decl(enumLiteralTypes1.ts, 9, 7), Decl(enumLiteralTypes1.ts, 10, 7)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + + var a: Choice.No | Choice.Yes; +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 7, 7), Decl(enumLiteralTypes1.ts, 8, 7), Decl(enumLiteralTypes1.ts, 9, 7), Decl(enumLiteralTypes1.ts, 10, 7)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { +>f2 : Symbol(f2, Decl(enumLiteralTypes1.ts, 11, 1)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 13, 12)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 13, 21)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes1.ts, 3, 36)) +>c : Symbol(c, Decl(enumLiteralTypes1.ts, 13, 38)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) + + b = a; +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 13, 21)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 13, 12)) + + c = a; +>c : Symbol(c, Decl(enumLiteralTypes1.ts, 13, 38)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 13, 12)) + + c = b; +>c : Symbol(c, Decl(enumLiteralTypes1.ts, 13, 38)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 13, 21)) +} + +function f3(a: Choice.Yes, b: YesNo) { +>f3 : Symbol(f3, Decl(enumLiteralTypes1.ts, 17, 1)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) + + var x = a + b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a - b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a * b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a / b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a % b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a | b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a & b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = a ^ b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = -b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var x = ~b; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 20, 7), Decl(enumLiteralTypes1.ts, 21, 7), Decl(enumLiteralTypes1.ts, 22, 7), Decl(enumLiteralTypes1.ts, 23, 7), Decl(enumLiteralTypes1.ts, 24, 7), Decl(enumLiteralTypes1.ts, 25, 7), Decl(enumLiteralTypes1.ts, 26, 7), Decl(enumLiteralTypes1.ts, 27, 7), Decl(enumLiteralTypes1.ts, 28, 7), Decl(enumLiteralTypes1.ts, 29, 7)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a == b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a != b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a === b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a !== b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a > b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a < b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a >= b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = a <= b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 19, 12)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) + + var y = !b; +>y : Symbol(y, Decl(enumLiteralTypes1.ts, 30, 7), Decl(enumLiteralTypes1.ts, 31, 7), Decl(enumLiteralTypes1.ts, 32, 7), Decl(enumLiteralTypes1.ts, 33, 7), Decl(enumLiteralTypes1.ts, 34, 7), Decl(enumLiteralTypes1.ts, 35, 7), Decl(enumLiteralTypes1.ts, 36, 7), Decl(enumLiteralTypes1.ts, 37, 7), Decl(enumLiteralTypes1.ts, 38, 7)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 19, 26)) +} + +function f4(a: Choice.Yes, b: YesNo) { +>f4 : Symbol(f4, Decl(enumLiteralTypes1.ts, 39, 1)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 41, 12)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 41, 26)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) + + a++; +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 41, 12)) + + b++; +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 41, 26)) +} + +declare function g(x: Choice.Yes): string; +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 46, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + +declare function g(x: Choice.No): boolean; +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 47, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + +declare function g(x: Choice): number; +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 48, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { +>f5 : Symbol(f5, Decl(enumLiteralTypes1.ts, 48, 38)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 50, 12)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 50, 21)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes1.ts, 3, 36)) +>c : Symbol(c, Decl(enumLiteralTypes1.ts, 50, 38)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) + + var z1 = g(Choice.Yes); +>z1 : Symbol(z1, Decl(enumLiteralTypes1.ts, 51, 7)) +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + + var z2 = g(Choice.No); +>z2 : Symbol(z2, Decl(enumLiteralTypes1.ts, 52, 7)) +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + + var z3 = g(a); +>z3 : Symbol(z3, Decl(enumLiteralTypes1.ts, 53, 7)) +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 50, 12)) + + var z4 = g(b); +>z4 : Symbol(z4, Decl(enumLiteralTypes1.ts, 54, 7)) +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 50, 21)) + + var z5 = g(c); +>z5 : Symbol(z5, Decl(enumLiteralTypes1.ts, 55, 7)) +>g : Symbol(g, Decl(enumLiteralTypes1.ts, 44, 1), Decl(enumLiteralTypes1.ts, 46, 42), Decl(enumLiteralTypes1.ts, 47, 42)) +>c : Symbol(c, Decl(enumLiteralTypes1.ts, 50, 38)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes1.ts, 56, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 58, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function f10(x: YesNo) { +>f10 : Symbol(f10, Decl(enumLiteralTypes1.ts, 60, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 62, 13)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) + + switch (x) { +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 62, 13)) + + case Choice.Yes: return "true"; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + + case Choice.No: return "false"; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + } +} + +function f11(x: YesNo) { +>f11 : Symbol(f11, Decl(enumLiteralTypes1.ts, 67, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 69, 13)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes1.ts, 0, 39)) + + switch (x) { +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 69, 13)) + + case Choice.Yes: return "true"; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + + case Choice.No: return "false"; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes1.ts, 56, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 69, 13)) +} + +function f12(x: UnknownYesNo) { +>f12 : Symbol(f12, Decl(enumLiteralTypes1.ts, 75, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 77, 13)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes1.ts, 3, 36)) + + if (x) { +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 77, 13)) + + x; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 77, 13)) + } + else { + x; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 77, 13)) + } +} + +function f13(x: UnknownYesNo) { +>f13 : Symbol(f13, Decl(enumLiteralTypes1.ts, 84, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 86, 13)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes1.ts, 3, 36)) + + if (x === Choice.Yes) { +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 86, 13)) +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) + + x; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 86, 13)) + } + else { + x; +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 86, 13)) + } +} + +type Item = +>Item : Symbol(Item, Decl(enumLiteralTypes1.ts, 93, 1)) + + { kind: Choice.Yes, a: string } | +>kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 96, 5)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 96, 23)) + + { kind: Choice.No, b: string }; +>kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 97, 5)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 97, 22)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(enumLiteralTypes1.ts, 97, 35)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 99, 13)) +>Item : Symbol(Item, Decl(enumLiteralTypes1.ts, 93, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 96, 5), Decl(enumLiteralTypes1.ts, 97, 5)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 99, 13)) +>kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 96, 5), Decl(enumLiteralTypes1.ts, 97, 5)) + + case Choice.Yes: return x.a; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>x.a : Symbol(a, Decl(enumLiteralTypes1.ts, 96, 23)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 99, 13)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 96, 23)) + + case Choice.No: return x.b; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>x.b : Symbol(b, Decl(enumLiteralTypes1.ts, 97, 22)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 99, 13)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 97, 22)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(enumLiteralTypes1.ts, 104, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 106, 13)) +>Item : Symbol(Item, Decl(enumLiteralTypes1.ts, 93, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 96, 5), Decl(enumLiteralTypes1.ts, 97, 5)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 106, 13)) +>kind : Symbol(kind, Decl(enumLiteralTypes1.ts, 96, 5), Decl(enumLiteralTypes1.ts, 97, 5)) + + case Choice.Yes: return x.a; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes1.ts, 0, 28)) +>x.a : Symbol(a, Decl(enumLiteralTypes1.ts, 96, 23)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 106, 13)) +>a : Symbol(a, Decl(enumLiteralTypes1.ts, 96, 23)) + + case Choice.No: return x.b; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes1.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes1.ts, 0, 33)) +>x.b : Symbol(b, Decl(enumLiteralTypes1.ts, 97, 22)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 106, 13)) +>b : Symbol(b, Decl(enumLiteralTypes1.ts, 97, 22)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes1.ts, 56, 1)) +>x : Symbol(x, Decl(enumLiteralTypes1.ts, 106, 13)) +} diff --git a/tests/baselines/reference/enumLiteralTypes1.types b/tests/baselines/reference/enumLiteralTypes1.types new file mode 100644 index 00000000000..754574f547c --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes1.types @@ -0,0 +1,449 @@ +=== tests/cases/conformance/types/literal/enumLiteralTypes1.ts === +const enum Choice { Unknown, Yes, No }; +>Choice : Choice +>Unknown : Choice.Unknown +>Yes : Choice.Yes +>No : Choice.No + +type YesNo = Choice.Yes | Choice.No; +>YesNo : YesNo +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + +type NoYes = Choice.No | Choice.Yes; +>NoYes : YesNo +>Choice : any +>No : Choice.No +>Choice : any +>Yes : Choice.Yes + +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; +>UnknownYesNo : Choice +>Choice : any +>Unknown : Choice.Unknown +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + +function f1() { +>f1 : () => void + + var a: YesNo; +>a : YesNo +>YesNo : YesNo + + var a: NoYes; +>a : YesNo +>NoYes : YesNo + + var a: Choice.Yes | Choice.No; +>a : YesNo +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + + var a: Choice.No | Choice.Yes; +>a : YesNo +>Choice : any +>No : Choice.No +>Choice : any +>Yes : Choice.Yes +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { +>f2 : (a: YesNo, b: Choice, c: Choice) => void +>a : YesNo +>YesNo : YesNo +>b : Choice +>UnknownYesNo : Choice +>c : Choice +>Choice : Choice + + b = a; +>b = a : YesNo +>b : Choice +>a : YesNo + + c = a; +>c = a : YesNo +>c : Choice +>a : YesNo + + c = b; +>c = b : YesNo +>c : Choice +>b : YesNo +} + +function f3(a: Choice.Yes, b: YesNo) { +>f3 : (a: Choice.Yes, b: YesNo) => void +>a : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>b : YesNo +>YesNo : YesNo + + var x = a + b; +>x : number +>a + b : number +>a : Choice.Yes +>b : YesNo + + var x = a - b; +>x : number +>a - b : number +>a : Choice.Yes +>b : YesNo + + var x = a * b; +>x : number +>a * b : number +>a : Choice.Yes +>b : YesNo + + var x = a / b; +>x : number +>a / b : number +>a : Choice.Yes +>b : YesNo + + var x = a % b; +>x : number +>a % b : number +>a : Choice.Yes +>b : YesNo + + var x = a | b; +>x : number +>a | b : number +>a : Choice.Yes +>b : YesNo + + var x = a & b; +>x : number +>a & b : number +>a : Choice.Yes +>b : YesNo + + var x = a ^ b; +>x : number +>a ^ b : number +>a : Choice.Yes +>b : YesNo + + var x = -b; +>x : number +>-b : number +>b : YesNo + + var x = ~b; +>x : number +>~b : number +>b : YesNo + + var y = a == b; +>y : boolean +>a == b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a != b; +>y : boolean +>a != b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a === b; +>y : boolean +>a === b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a !== b; +>y : boolean +>a !== b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a > b; +>y : boolean +>a > b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a < b; +>y : boolean +>a < b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a >= b; +>y : boolean +>a >= b : boolean +>a : Choice.Yes +>b : YesNo + + var y = a <= b; +>y : boolean +>a <= b : boolean +>a : Choice.Yes +>b : YesNo + + var y = !b; +>y : boolean +>!b : boolean +>b : YesNo +} + +function f4(a: Choice.Yes, b: YesNo) { +>f4 : (a: Choice.Yes, b: YesNo) => void +>a : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>b : YesNo +>YesNo : YesNo + + a++; +>a++ : number +>a : Choice.Yes + + b++; +>b++ : number +>b : YesNo +} + +declare function g(x: Choice.Yes): string; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice.Yes +>Choice : any +>Yes : Choice.Yes + +declare function g(x: Choice.No): boolean; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice.No +>Choice : any +>No : Choice.No + +declare function g(x: Choice): number; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice +>Choice : Choice + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { +>f5 : (a: YesNo, b: Choice, c: Choice) => void +>a : YesNo +>YesNo : YesNo +>b : Choice +>UnknownYesNo : Choice +>c : Choice +>Choice : Choice + + var z1 = g(Choice.Yes); +>z1 : string +>g(Choice.Yes) : string +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes + + var z2 = g(Choice.No); +>z2 : boolean +>g(Choice.No) : boolean +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No + + var z3 = g(a); +>z3 : number +>g(a) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>a : YesNo + + var z4 = g(b); +>z4 : number +>g(b) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>b : Choice + + var z5 = g(c); +>z5 : number +>g(c) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>c : Choice +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +function f10(x: YesNo) { +>f10 : (x: YesNo) => "true" | "false" +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : "true" + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : "false" + } +} + +function f11(x: YesNo) { +>f11 : (x: YesNo) => "true" | "false" +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : "true" + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : "false" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: UnknownYesNo) { +>f12 : (x: Choice) => void +>x : Choice +>UnknownYesNo : Choice + + if (x) { +>x : Choice + + x; +>x : YesNo + } + else { + x; +>x : Choice + } +} + +function f13(x: UnknownYesNo) { +>f13 : (x: Choice) => void +>x : Choice +>UnknownYesNo : Choice + + if (x === Choice.Yes) { +>x === Choice.Yes : boolean +>x : Choice +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes + + x; +>x : Choice.Yes + } + else { + x; +>x : Choice.Unknown | Choice.No + } +} + +type Item = +>Item : Item + + { kind: Choice.Yes, a: string } | +>kind : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>a : string + + { kind: Choice.No, b: string }; +>kind : Choice.No +>Choice : any +>No : Choice.No +>b : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : YesNo +>x : Item +>kind : YesNo + + case Choice.Yes: return x.a; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>x.a : string +>x : { kind: Choice.Yes; a: string; } +>a : string + + case Choice.No: return x.b; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>x.b : string +>x : { kind: Choice.No; b: string; } +>b : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : YesNo +>x : Item +>kind : YesNo + + case Choice.Yes: return x.a; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>x.a : string +>x : { kind: Choice.Yes; a: string; } +>a : string + + case Choice.No: return x.b; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>x.b : string +>x : { kind: Choice.No; b: string; } +>b : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/enumLiteralTypes2.js b/tests/baselines/reference/enumLiteralTypes2.js new file mode 100644 index 00000000000..0b2b6d35c53 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes2.js @@ -0,0 +1,206 @@ +//// [enumLiteralTypes2.ts] + +const enum Choice { Unknown, Yes, No }; + +type YesNo = Choice.Yes | Choice.No; +type NoYes = Choice.No | Choice.Yes; +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; + +function f1() { + var a: YesNo; + var a: NoYes; + var a: Choice.Yes | Choice.No; + var a: Choice.No | Choice.Yes; +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { + b = a; + c = a; + c = b; +} + +function f3(a: Choice.Yes, b: UnknownYesNo) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} + +function f4(a: Choice.Yes, b: UnknownYesNo) { + a++; + b++; +} + +declare function g(x: Choice.Yes): string; +declare function g(x: Choice.No): boolean; +declare function g(x: Choice): number; + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { + var z1 = g(Choice.Yes); + var z2 = g(Choice.No); + var z3 = g(a); + var z4 = g(b); + var z5 = g(c); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +function f10(x: YesNo) { + switch (x) { + case Choice.Yes: return "true"; + case Choice.No: return "false"; + } +} + +function f11(x: YesNo) { + switch (x) { + case Choice.Yes: return "true"; + case Choice.No: return "false"; + } + return assertNever(x); +} + +function f12(x: UnknownYesNo) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: UnknownYesNo) { + if (x === Choice.Yes) { + x; + } + else { + x; + } +} + +type Item = + { kind: Choice.Yes, a: string } | + { kind: Choice.No, b: string }; + +function f20(x: Item) { + switch (x.kind) { + case Choice.Yes: return x.a; + case Choice.No: return x.b; + } +} + +function f21(x: Item) { + switch (x.kind) { + case Choice.Yes: return x.a; + case Choice.No: return x.b; + } + return assertNever(x); +} + +//// [enumLiteralTypes2.js] +; +function f1() { + var a; + var a; + var a; + var a; +} +function f2(a, b, c) { + b = a; + c = a; + c = b; +} +function f3(a, b) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} +function f4(a, b) { + a++; + b++; +} +function f5(a, b, c) { + var z1 = g(1 /* Yes */); + var z2 = g(2 /* No */); + var z3 = g(a); + var z4 = g(b); + var z5 = g(c); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case 1 /* Yes */: return "true"; + case 2 /* No */: return "false"; + } +} +function f11(x) { + switch (x) { + case 1 /* Yes */: return "true"; + case 2 /* No */: return "false"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === 1 /* Yes */) { + x; + } + else { + x; + } +} +function f20(x) { + switch (x.kind) { + case 1 /* Yes */: return x.a; + case 2 /* No */: return x.b; + } +} +function f21(x) { + switch (x.kind) { + case 1 /* Yes */: return x.a; + case 2 /* No */: return x.b; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/enumLiteralTypes2.symbols b/tests/baselines/reference/enumLiteralTypes2.symbols new file mode 100644 index 00000000000..3bd937c3706 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes2.symbols @@ -0,0 +1,412 @@ +=== tests/cases/conformance/types/literal/enumLiteralTypes2.ts === + +const enum Choice { Unknown, Yes, No }; +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Unknown : Symbol(Choice.Unknown, Decl(enumLiteralTypes2.ts, 1, 19)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + +type YesNo = Choice.Yes | Choice.No; +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + +type NoYes = Choice.No | Choice.Yes; +>NoYes : Symbol(NoYes, Decl(enumLiteralTypes2.ts, 3, 36)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Unknown : Symbol(Choice.Unknown, Decl(enumLiteralTypes2.ts, 1, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + +function f1() { +>f1 : Symbol(f1, Decl(enumLiteralTypes2.ts, 5, 60)) + + var a: YesNo; +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 8, 7), Decl(enumLiteralTypes2.ts, 9, 7), Decl(enumLiteralTypes2.ts, 10, 7), Decl(enumLiteralTypes2.ts, 11, 7)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) + + var a: NoYes; +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 8, 7), Decl(enumLiteralTypes2.ts, 9, 7), Decl(enumLiteralTypes2.ts, 10, 7), Decl(enumLiteralTypes2.ts, 11, 7)) +>NoYes : Symbol(NoYes, Decl(enumLiteralTypes2.ts, 3, 36)) + + var a: Choice.Yes | Choice.No; +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 8, 7), Decl(enumLiteralTypes2.ts, 9, 7), Decl(enumLiteralTypes2.ts, 10, 7), Decl(enumLiteralTypes2.ts, 11, 7)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + + var a: Choice.No | Choice.Yes; +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 8, 7), Decl(enumLiteralTypes2.ts, 9, 7), Decl(enumLiteralTypes2.ts, 10, 7), Decl(enumLiteralTypes2.ts, 11, 7)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { +>f2 : Symbol(f2, Decl(enumLiteralTypes2.ts, 12, 1)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 14, 12)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 14, 21)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) +>c : Symbol(c, Decl(enumLiteralTypes2.ts, 14, 38)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) + + b = a; +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 14, 21)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 14, 12)) + + c = a; +>c : Symbol(c, Decl(enumLiteralTypes2.ts, 14, 38)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 14, 12)) + + c = b; +>c : Symbol(c, Decl(enumLiteralTypes2.ts, 14, 38)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 14, 21)) +} + +function f3(a: Choice.Yes, b: UnknownYesNo) { +>f3 : Symbol(f3, Decl(enumLiteralTypes2.ts, 18, 1)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) + + var x = a + b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a - b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a * b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a / b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a % b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a | b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a & b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = a ^ b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = -b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var x = ~b; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 21, 7), Decl(enumLiteralTypes2.ts, 22, 7), Decl(enumLiteralTypes2.ts, 23, 7), Decl(enumLiteralTypes2.ts, 24, 7), Decl(enumLiteralTypes2.ts, 25, 7), Decl(enumLiteralTypes2.ts, 26, 7), Decl(enumLiteralTypes2.ts, 27, 7), Decl(enumLiteralTypes2.ts, 28, 7), Decl(enumLiteralTypes2.ts, 29, 7), Decl(enumLiteralTypes2.ts, 30, 7)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a == b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a != b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a === b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a !== b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a > b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a < b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a >= b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = a <= b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 20, 12)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) + + var y = !b; +>y : Symbol(y, Decl(enumLiteralTypes2.ts, 31, 7), Decl(enumLiteralTypes2.ts, 32, 7), Decl(enumLiteralTypes2.ts, 33, 7), Decl(enumLiteralTypes2.ts, 34, 7), Decl(enumLiteralTypes2.ts, 35, 7), Decl(enumLiteralTypes2.ts, 36, 7), Decl(enumLiteralTypes2.ts, 37, 7), Decl(enumLiteralTypes2.ts, 38, 7), Decl(enumLiteralTypes2.ts, 39, 7)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 20, 26)) +} + +function f4(a: Choice.Yes, b: UnknownYesNo) { +>f4 : Symbol(f4, Decl(enumLiteralTypes2.ts, 40, 1)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 42, 12)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 42, 26)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) + + a++; +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 42, 12)) + + b++; +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 42, 26)) +} + +declare function g(x: Choice.Yes): string; +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 47, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + +declare function g(x: Choice.No): boolean; +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 48, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + +declare function g(x: Choice): number; +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 49, 19)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { +>f5 : Symbol(f5, Decl(enumLiteralTypes2.ts, 49, 38)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 51, 12)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 51, 21)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) +>c : Symbol(c, Decl(enumLiteralTypes2.ts, 51, 38)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) + + var z1 = g(Choice.Yes); +>z1 : Symbol(z1, Decl(enumLiteralTypes2.ts, 52, 7)) +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + + var z2 = g(Choice.No); +>z2 : Symbol(z2, Decl(enumLiteralTypes2.ts, 53, 7)) +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + + var z3 = g(a); +>z3 : Symbol(z3, Decl(enumLiteralTypes2.ts, 54, 7)) +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 51, 12)) + + var z4 = g(b); +>z4 : Symbol(z4, Decl(enumLiteralTypes2.ts, 55, 7)) +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 51, 21)) + + var z5 = g(c); +>z5 : Symbol(z5, Decl(enumLiteralTypes2.ts, 56, 7)) +>g : Symbol(g, Decl(enumLiteralTypes2.ts, 45, 1), Decl(enumLiteralTypes2.ts, 47, 42), Decl(enumLiteralTypes2.ts, 48, 42)) +>c : Symbol(c, Decl(enumLiteralTypes2.ts, 51, 38)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes2.ts, 57, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 59, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function f10(x: YesNo) { +>f10 : Symbol(f10, Decl(enumLiteralTypes2.ts, 61, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 63, 13)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) + + switch (x) { +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 63, 13)) + + case Choice.Yes: return "true"; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + + case Choice.No: return "false"; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + } +} + +function f11(x: YesNo) { +>f11 : Symbol(f11, Decl(enumLiteralTypes2.ts, 68, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 70, 13)) +>YesNo : Symbol(YesNo, Decl(enumLiteralTypes2.ts, 1, 39)) + + switch (x) { +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 70, 13)) + + case Choice.Yes: return "true"; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + + case Choice.No: return "false"; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes2.ts, 57, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 70, 13)) +} + +function f12(x: UnknownYesNo) { +>f12 : Symbol(f12, Decl(enumLiteralTypes2.ts, 76, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 78, 13)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) + + if (x) { +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 78, 13)) + + x; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 78, 13)) + } + else { + x; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 78, 13)) + } +} + +function f13(x: UnknownYesNo) { +>f13 : Symbol(f13, Decl(enumLiteralTypes2.ts, 85, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 87, 13)) +>UnknownYesNo : Symbol(UnknownYesNo, Decl(enumLiteralTypes2.ts, 4, 36)) + + if (x === Choice.Yes) { +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 87, 13)) +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) + + x; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 87, 13)) + } + else { + x; +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 87, 13)) + } +} + +type Item = +>Item : Symbol(Item, Decl(enumLiteralTypes2.ts, 94, 1)) + + { kind: Choice.Yes, a: string } | +>kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 97, 5)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 97, 23)) + + { kind: Choice.No, b: string }; +>kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 98, 5)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 98, 22)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(enumLiteralTypes2.ts, 98, 35)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 100, 13)) +>Item : Symbol(Item, Decl(enumLiteralTypes2.ts, 94, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 97, 5), Decl(enumLiteralTypes2.ts, 98, 5)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 100, 13)) +>kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 97, 5), Decl(enumLiteralTypes2.ts, 98, 5)) + + case Choice.Yes: return x.a; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>x.a : Symbol(a, Decl(enumLiteralTypes2.ts, 97, 23)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 100, 13)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 97, 23)) + + case Choice.No: return x.b; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>x.b : Symbol(b, Decl(enumLiteralTypes2.ts, 98, 22)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 100, 13)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 98, 22)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(enumLiteralTypes2.ts, 105, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 107, 13)) +>Item : Symbol(Item, Decl(enumLiteralTypes2.ts, 94, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 97, 5), Decl(enumLiteralTypes2.ts, 98, 5)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 107, 13)) +>kind : Symbol(kind, Decl(enumLiteralTypes2.ts, 97, 5), Decl(enumLiteralTypes2.ts, 98, 5)) + + case Choice.Yes: return x.a; +>Choice.Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>Yes : Symbol(Choice.Yes, Decl(enumLiteralTypes2.ts, 1, 28)) +>x.a : Symbol(a, Decl(enumLiteralTypes2.ts, 97, 23)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 107, 13)) +>a : Symbol(a, Decl(enumLiteralTypes2.ts, 97, 23)) + + case Choice.No: return x.b; +>Choice.No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>Choice : Symbol(Choice, Decl(enumLiteralTypes2.ts, 0, 0)) +>No : Symbol(Choice.No, Decl(enumLiteralTypes2.ts, 1, 33)) +>x.b : Symbol(b, Decl(enumLiteralTypes2.ts, 98, 22)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 107, 13)) +>b : Symbol(b, Decl(enumLiteralTypes2.ts, 98, 22)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(enumLiteralTypes2.ts, 57, 1)) +>x : Symbol(x, Decl(enumLiteralTypes2.ts, 107, 13)) +} diff --git a/tests/baselines/reference/enumLiteralTypes2.types b/tests/baselines/reference/enumLiteralTypes2.types new file mode 100644 index 00000000000..e27410a4dc7 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes2.types @@ -0,0 +1,450 @@ +=== tests/cases/conformance/types/literal/enumLiteralTypes2.ts === + +const enum Choice { Unknown, Yes, No }; +>Choice : Choice +>Unknown : Choice.Unknown +>Yes : Choice.Yes +>No : Choice.No + +type YesNo = Choice.Yes | Choice.No; +>YesNo : YesNo +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + +type NoYes = Choice.No | Choice.Yes; +>NoYes : YesNo +>Choice : any +>No : Choice.No +>Choice : any +>Yes : Choice.Yes + +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; +>UnknownYesNo : Choice +>Choice : any +>Unknown : Choice.Unknown +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + +function f1() { +>f1 : () => void + + var a: YesNo; +>a : YesNo +>YesNo : YesNo + + var a: NoYes; +>a : YesNo +>NoYes : YesNo + + var a: Choice.Yes | Choice.No; +>a : YesNo +>Choice : any +>Yes : Choice.Yes +>Choice : any +>No : Choice.No + + var a: Choice.No | Choice.Yes; +>a : YesNo +>Choice : any +>No : Choice.No +>Choice : any +>Yes : Choice.Yes +} + +function f2(a: YesNo, b: UnknownYesNo, c: Choice) { +>f2 : (a: YesNo, b: Choice, c: Choice) => void +>a : YesNo +>YesNo : YesNo +>b : Choice +>UnknownYesNo : Choice +>c : Choice +>Choice : Choice + + b = a; +>b = a : YesNo +>b : Choice +>a : YesNo + + c = a; +>c = a : YesNo +>c : Choice +>a : YesNo + + c = b; +>c = b : YesNo +>c : Choice +>b : YesNo +} + +function f3(a: Choice.Yes, b: UnknownYesNo) { +>f3 : (a: Choice.Yes, b: Choice) => void +>a : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>b : Choice +>UnknownYesNo : Choice + + var x = a + b; +>x : number +>a + b : number +>a : Choice.Yes +>b : Choice + + var x = a - b; +>x : number +>a - b : number +>a : Choice.Yes +>b : Choice + + var x = a * b; +>x : number +>a * b : number +>a : Choice.Yes +>b : Choice + + var x = a / b; +>x : number +>a / b : number +>a : Choice.Yes +>b : Choice + + var x = a % b; +>x : number +>a % b : number +>a : Choice.Yes +>b : Choice + + var x = a | b; +>x : number +>a | b : number +>a : Choice.Yes +>b : Choice + + var x = a & b; +>x : number +>a & b : number +>a : Choice.Yes +>b : Choice + + var x = a ^ b; +>x : number +>a ^ b : number +>a : Choice.Yes +>b : Choice + + var x = -b; +>x : number +>-b : number +>b : Choice + + var x = ~b; +>x : number +>~b : number +>b : Choice + + var y = a == b; +>y : boolean +>a == b : boolean +>a : Choice.Yes +>b : Choice + + var y = a != b; +>y : boolean +>a != b : boolean +>a : Choice.Yes +>b : Choice + + var y = a === b; +>y : boolean +>a === b : boolean +>a : Choice.Yes +>b : Choice + + var y = a !== b; +>y : boolean +>a !== b : boolean +>a : Choice.Yes +>b : Choice + + var y = a > b; +>y : boolean +>a > b : boolean +>a : Choice.Yes +>b : Choice + + var y = a < b; +>y : boolean +>a < b : boolean +>a : Choice.Yes +>b : Choice + + var y = a >= b; +>y : boolean +>a >= b : boolean +>a : Choice.Yes +>b : Choice + + var y = a <= b; +>y : boolean +>a <= b : boolean +>a : Choice.Yes +>b : Choice + + var y = !b; +>y : boolean +>!b : boolean +>b : Choice +} + +function f4(a: Choice.Yes, b: UnknownYesNo) { +>f4 : (a: Choice.Yes, b: Choice) => void +>a : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>b : Choice +>UnknownYesNo : Choice + + a++; +>a++ : number +>a : Choice.Yes + + b++; +>b++ : number +>b : Choice +} + +declare function g(x: Choice.Yes): string; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice.Yes +>Choice : any +>Yes : Choice.Yes + +declare function g(x: Choice.No): boolean; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice.No +>Choice : any +>No : Choice.No + +declare function g(x: Choice): number; +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>x : Choice +>Choice : Choice + +function f5(a: YesNo, b: UnknownYesNo, c: Choice) { +>f5 : (a: YesNo, b: Choice, c: Choice) => void +>a : YesNo +>YesNo : YesNo +>b : Choice +>UnknownYesNo : Choice +>c : Choice +>Choice : Choice + + var z1 = g(Choice.Yes); +>z1 : string +>g(Choice.Yes) : string +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes + + var z2 = g(Choice.No); +>z2 : boolean +>g(Choice.No) : boolean +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No + + var z3 = g(a); +>z3 : number +>g(a) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>a : YesNo + + var z4 = g(b); +>z4 : number +>g(b) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>b : Choice + + var z5 = g(c); +>z5 : number +>g(c) : number +>g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } +>c : Choice +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +function f10(x: YesNo) { +>f10 : (x: YesNo) => "true" | "false" +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : "true" + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : "false" + } +} + +function f11(x: YesNo) { +>f11 : (x: YesNo) => "true" | "false" +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : "true" + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : "false" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: UnknownYesNo) { +>f12 : (x: Choice) => void +>x : Choice +>UnknownYesNo : Choice + + if (x) { +>x : Choice + + x; +>x : YesNo + } + else { + x; +>x : Choice.Unknown + } +} + +function f13(x: UnknownYesNo) { +>f13 : (x: Choice) => void +>x : Choice +>UnknownYesNo : Choice + + if (x === Choice.Yes) { +>x === Choice.Yes : boolean +>x : Choice +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes + + x; +>x : Choice.Yes + } + else { + x; +>x : Choice.Unknown | Choice.No + } +} + +type Item = +>Item : Item + + { kind: Choice.Yes, a: string } | +>kind : Choice.Yes +>Choice : any +>Yes : Choice.Yes +>a : string + + { kind: Choice.No, b: string }; +>kind : Choice.No +>Choice : any +>No : Choice.No +>b : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : YesNo +>x : Item +>kind : YesNo + + case Choice.Yes: return x.a; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>x.a : string +>x : { kind: Choice.Yes; a: string; } +>a : string + + case Choice.No: return x.b; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>x.b : string +>x : { kind: Choice.No; b: string; } +>b : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : YesNo +>x : Item +>kind : YesNo + + case Choice.Yes: return x.a; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>x.a : string +>x : { kind: Choice.Yes; a: string; } +>a : string + + case Choice.No: return x.b; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>x.b : string +>x : { kind: Choice.No; b: string; } +>b : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/enumLiteralTypes3.errors.txt b/tests/baselines/reference/enumLiteralTypes3.errors.txt new file mode 100644 index 00000000000..62cb4644c72 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes3.errors.txt @@ -0,0 +1,166 @@ +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(10,5): error TS2322: Type 'YesNo' is not assignable to type 'Choice.Yes'. + Type 'Choice.No' is not assignable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(11,5): error TS2322: Type 'Choice' is not assignable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(12,5): error TS2322: Type 'Choice' is not assignable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(18,5): error TS2322: Type 'Choice' is not assignable to type 'YesNo'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(19,5): error TS2322: Type 'Choice' is not assignable to type 'YesNo'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(37,5): error TS2322: Type 'Choice.Unknown' is not assignable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(39,5): error TS2322: Type 'Choice.No' is not assignable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(40,5): error TS2322: Type 'Choice.Unknown' is not assignable to type 'YesNo'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(52,5): error TS2365: Operator '===' cannot be applied to types 'Choice.Yes' and 'Choice.Unknown'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(54,5): error TS2365: Operator '===' cannot be applied to types 'Choice.Yes' and 'Choice.No'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(55,5): error TS2365: Operator '===' cannot be applied to types 'YesNo' and 'Choice.Unknown'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(87,14): error TS2678: Type 'Choice.Unknown' is not comparable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(89,14): error TS2678: Type 'Choice.No' is not comparable to type 'Choice.Yes'. +tests/cases/conformance/types/literal/enumLiteralTypes3.ts(96,14): error TS2678: Type 'Choice.Unknown' is not comparable to type 'YesNo'. + + +==== tests/cases/conformance/types/literal/enumLiteralTypes3.ts (14 errors) ==== + const enum Choice { Unknown, Yes, No }; + + type Yes = Choice.Yes; + type YesNo = Choice.Yes | Choice.No; + type NoYes = Choice.No | Choice.Yes; + type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; + + function f1(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a = a; + a = b; + ~ +!!! error TS2322: Type 'YesNo' is not assignable to type 'Choice.Yes'. +!!! error TS2322: Type 'Choice.No' is not assignable to type 'Choice.Yes'. + a = c; + ~ +!!! error TS2322: Type 'Choice' is not assignable to type 'Choice.Yes'. + a = d; + ~ +!!! error TS2322: Type 'Choice' is not assignable to type 'Choice.Yes'. + } + + function f2(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + b = a; + b = b; + b = c; + ~ +!!! error TS2322: Type 'Choice' is not assignable to type 'YesNo'. + b = d; + ~ +!!! error TS2322: Type 'Choice' is not assignable to type 'YesNo'. + } + + function f3(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + c = a; + c = b; + c = c; + c = d; + } + + function f4(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + d = a; + d = b; + d = c; + d = d; + } + + function f5(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a = Choice.Unknown; + ~ +!!! error TS2322: Type 'Choice.Unknown' is not assignable to type 'Choice.Yes'. + a = Choice.Yes; + a = Choice.No; + ~ +!!! error TS2322: Type 'Choice.No' is not assignable to type 'Choice.Yes'. + b = Choice.Unknown; + ~ +!!! error TS2322: Type 'Choice.Unknown' is not assignable to type 'YesNo'. + b = Choice.Yes; + b = Choice.No; + c = Choice.Unknown; + c = Choice.Yes; + c = Choice.No; + d = Choice.Unknown; + d = Choice.Yes; + d = Choice.No; + } + + function f6(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a === Choice.Unknown; + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'Choice.Yes' and 'Choice.Unknown'. + a === Choice.Yes; + a === Choice.No; + ~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'Choice.Yes' and 'Choice.No'. + b === Choice.Unknown; + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'YesNo' and 'Choice.Unknown'. + b === Choice.Yes; + b === Choice.No; + c === Choice.Unknown; + c === Choice.Yes; + c === Choice.No; + d === Choice.Unknown; + d === Choice.Yes; + d === Choice.No; + } + + function f7(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a === a; + a === b; + a === c; + a === d; + b === a; + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; + } + + function f10(x: Yes): Yes { + switch (x) { + case Choice.Unknown: return x; + ~~~~~~~~~~~~~~ +!!! error TS2678: Type 'Choice.Unknown' is not comparable to type 'Choice.Yes'. + case Choice.Yes: return x; + case Choice.No: return x; + ~~~~~~~~~ +!!! error TS2678: Type 'Choice.No' is not comparable to type 'Choice.Yes'. + } + return x; + } + + function f11(x: YesNo): YesNo { + switch (x) { + case Choice.Unknown: return x; + ~~~~~~~~~~~~~~ +!!! error TS2678: Type 'Choice.Unknown' is not comparable to type 'YesNo'. + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; + } + + function f12(x: UnknownYesNo): UnknownYesNo { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; + } + + function f13(x: Choice): Choice { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; + } \ No newline at end of file diff --git a/tests/baselines/reference/enumLiteralTypes3.js b/tests/baselines/reference/enumLiteralTypes3.js new file mode 100644 index 00000000000..7eb3d0a1705 --- /dev/null +++ b/tests/baselines/reference/enumLiteralTypes3.js @@ -0,0 +1,225 @@ +//// [enumLiteralTypes3.ts] +const enum Choice { Unknown, Yes, No }; + +type Yes = Choice.Yes; +type YesNo = Choice.Yes | Choice.No; +type NoYes = Choice.No | Choice.Yes; +type UnknownYesNo = Choice.Unknown | Choice.Yes | Choice.No; + +function f1(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a = a; + a = b; + a = c; + a = d; +} + +function f2(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + b = a; + b = b; + b = c; + b = d; +} + +function f3(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + c = a; + c = b; + c = c; + c = d; +} + +function f4(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + d = a; + d = b; + d = c; + d = d; +} + +function f5(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a = Choice.Unknown; + a = Choice.Yes; + a = Choice.No; + b = Choice.Unknown; + b = Choice.Yes; + b = Choice.No; + c = Choice.Unknown; + c = Choice.Yes; + c = Choice.No; + d = Choice.Unknown; + d = Choice.Yes; + d = Choice.No; +} + +function f6(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a === Choice.Unknown; + a === Choice.Yes; + a === Choice.No; + b === Choice.Unknown; + b === Choice.Yes; + b === Choice.No; + c === Choice.Unknown; + c === Choice.Yes; + c === Choice.No; + d === Choice.Unknown; + d === Choice.Yes; + d === Choice.No; +} + +function f7(a: Yes, b: YesNo, c: UnknownYesNo, d: Choice) { + a === a; + a === b; + a === c; + a === d; + b === a; + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; +} + +function f10(x: Yes): Yes { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; +} + +function f11(x: YesNo): YesNo { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; +} + +function f12(x: UnknownYesNo): UnknownYesNo { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; +} + +function f13(x: Choice): Choice { + switch (x) { + case Choice.Unknown: return x; + case Choice.Yes: return x; + case Choice.No: return x; + } + return x; +} + +//// [enumLiteralTypes3.js] +; +function f1(a, b, c, d) { + a = a; + a = b; + a = c; + a = d; +} +function f2(a, b, c, d) { + b = a; + b = b; + b = c; + b = d; +} +function f3(a, b, c, d) { + c = a; + c = b; + c = c; + c = d; +} +function f4(a, b, c, d) { + d = a; + d = b; + d = c; + d = d; +} +function f5(a, b, c, d) { + a = 0 /* Unknown */; + a = 1 /* Yes */; + a = 2 /* No */; + b = 0 /* Unknown */; + b = 1 /* Yes */; + b = 2 /* No */; + c = 0 /* Unknown */; + c = 1 /* Yes */; + c = 2 /* No */; + d = 0 /* Unknown */; + d = 1 /* Yes */; + d = 2 /* No */; +} +function f6(a, b, c, d) { + a === 0 /* Unknown */; + a === 1 /* Yes */; + a === 2 /* No */; + b === 0 /* Unknown */; + b === 1 /* Yes */; + b === 2 /* No */; + c === 0 /* Unknown */; + c === 1 /* Yes */; + c === 2 /* No */; + d === 0 /* Unknown */; + d === 1 /* Yes */; + d === 2 /* No */; +} +function f7(a, b, c, d) { + a === a; + a === b; + a === c; + a === d; + b === a; + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; +} +function f10(x) { + switch (x) { + case 0 /* Unknown */: return x; + case 1 /* Yes */: return x; + case 2 /* No */: return x; + } + return x; +} +function f11(x) { + switch (x) { + case 0 /* Unknown */: return x; + case 1 /* Yes */: return x; + case 2 /* No */: return x; + } + return x; +} +function f12(x) { + switch (x) { + case 0 /* Unknown */: return x; + case 1 /* Yes */: return x; + case 2 /* No */: return x; + } + return x; +} +function f13(x) { + switch (x) { + case 0 /* Unknown */: return x; + case 1 /* Yes */: return x; + case 2 /* No */: return x; + } + return x; +} diff --git a/tests/baselines/reference/enumMapBackIntoItself.types b/tests/baselines/reference/enumMapBackIntoItself.types index ab26094512b..964f97061a1 100644 --- a/tests/baselines/reference/enumMapBackIntoItself.types +++ b/tests/baselines/reference/enumMapBackIntoItself.types @@ -3,29 +3,29 @@ enum TShirtSize { >TShirtSize : TShirtSize Small, ->Small : TShirtSize +>Small : TShirtSize.Small Medium, ->Medium : TShirtSize +>Medium : TShirtSize.Medium Large ->Large : TShirtSize +>Large : TShirtSize.Large } var mySize = TShirtSize.Large; >mySize : TShirtSize ->TShirtSize.Large : TShirtSize +>TShirtSize.Large : TShirtSize.Large >TShirtSize : typeof TShirtSize ->Large : TShirtSize +>Large : TShirtSize.Large var test = TShirtSize[mySize]; >test : string >TShirtSize[mySize] : string >TShirtSize : typeof TShirtSize ->mySize : TShirtSize +>mySize : TShirtSize.Large // specifically checking output here, bug was that test used to be undefined at runtime test + '' >test + '' : string >test : string ->'' : string +>'' : "" diff --git a/tests/baselines/reference/enumMerging.types b/tests/baselines/reference/enumMerging.types index 85eb360249f..a70284c80ea 100644 --- a/tests/baselines/reference/enumMerging.types +++ b/tests/baselines/reference/enumMerging.types @@ -8,66 +8,66 @@ module M1 { >EImpl1 : EImpl1 A, B, C ->A : EImpl1 ->B : EImpl1 ->C : EImpl1 +>A : EImpl1.A +>B : EImpl1.B +>C : EImpl1.C } enum EImpl1 { >EImpl1 : EImpl1 D = 1, E, F ->D : EImpl1 ->1 : number ->E : EImpl1 ->F : EImpl1 +>D : EImpl1.B +>1 : 1 +>E : EImpl1.C +>F : EImpl1.F } export enum EConst1 { >EConst1 : EConst1 A = 3, B = 2, C = 1 ->A : EConst1 ->3 : number ->B : EConst1 ->2 : number ->C : EConst1 ->1 : number +>A : EConst1.A +>3 : 3 +>B : EConst1.B +>2 : 2 +>C : EConst1.C +>1 : 1 } export enum EConst1 { >EConst1 : EConst1 D = 7, E = 9, F = 8 ->D : EConst1 ->7 : number ->E : EConst1 ->9 : number ->F : EConst1 ->8 : number +>D : EConst1.D +>7 : 7 +>E : EConst1.E +>9 : 9 +>F : EConst1.F +>8 : 8 } var x = [EConst1.A, EConst1.B, EConst1.C, EConst1.D, EConst1.E, EConst1.F]; >x : EConst1[] >[EConst1.A, EConst1.B, EConst1.C, EConst1.D, EConst1.E, EConst1.F] : EConst1[] ->EConst1.A : EConst1 +>EConst1.A : EConst1.A >EConst1 : typeof EConst1 ->A : EConst1 ->EConst1.B : EConst1 +>A : EConst1.A +>EConst1.B : EConst1.B >EConst1 : typeof EConst1 ->B : EConst1 ->EConst1.C : EConst1 +>B : EConst1.B +>EConst1.C : EConst1.C >EConst1 : typeof EConst1 ->C : EConst1 ->EConst1.D : EConst1 +>C : EConst1.C +>EConst1.D : EConst1.D >EConst1 : typeof EConst1 ->D : EConst1 ->EConst1.E : EConst1 +>D : EConst1.D +>EConst1.E : EConst1.E >EConst1 : typeof EConst1 ->E : EConst1 ->EConst1.F : EConst1 +>E : EConst1.E +>EConst1.F : EConst1.F >EConst1 : typeof EConst1 ->F : EConst1 +>F : EConst1.F } // Enum with only computed members across 2 declarations with the same root module @@ -80,15 +80,15 @@ module M2 { A = 'foo'.length, B = 'foo'.length, C = 'foo'.length >A : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number >B : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number >C : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number } @@ -98,15 +98,15 @@ module M2 { D = 'foo'.length, E = 'foo'.length, F = 'foo'.length >D : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number >E : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number >F : EComp2 >'foo'.length : number ->'foo' : string +>'foo' : "foo" >length : number } @@ -141,20 +141,20 @@ module M3 { >EInit : EInit A, ->A : EInit +>A : EInit.A B ->B : EInit +>B : EInit.B } enum EInit { >EInit : EInit C = 1, D, E ->C : EInit ->1 : number ->D : EInit ->E : EInit +>C : EInit.B +>1 : 1 +>D : EInit.D +>E : EInit.E } } @@ -164,18 +164,18 @@ module M4 { export enum Color { Red, Green, Blue } >Color : Color ->Red : Color ->Green : Color ->Blue : Color +>Red : Color.Red +>Green : Color.Green +>Blue : Color.Blue } module M5 { >M5 : typeof M5 export enum Color { Red, Green, Blue } >Color : Color ->Red : Color ->Green : Color ->Blue : Color +>Red : Color.Red +>Green : Color.Green +>Blue : Color.Blue } module M6.A { @@ -184,9 +184,9 @@ module M6.A { export enum Color { Red, Green, Blue } >Color : Color ->Red : Color ->Green : Color ->Blue : Color +>Red : Color.Red +>Green : Color.Green +>Blue : Color.Blue } module M6 { >M6 : typeof M6 @@ -196,24 +196,24 @@ module M6 { export enum Color { Yellow = 1 } >Color : Color ->Yellow : Color ->1 : number +>Yellow : Color.Green +>1 : 1 } var t = A.Color.Yellow; >t : A.Color ->A.Color.Yellow : A.Color +>A.Color.Yellow : A.Color.Green >A.Color : typeof A.Color >A : typeof A >Color : typeof A.Color ->Yellow : A.Color +>Yellow : A.Color.Green t = A.Color.Red; ->t = A.Color.Red : A.Color +>t = A.Color.Red : A.Color.Red >t : A.Color ->A.Color.Red : A.Color +>A.Color.Red : A.Color.Red >A.Color : typeof A.Color >A : typeof A >Color : typeof A.Color ->Red : A.Color +>Red : A.Color.Red } diff --git a/tests/baselines/reference/enumNegativeLiteral1.types b/tests/baselines/reference/enumNegativeLiteral1.types index 31ecbc11aa2..491e5b4b088 100644 --- a/tests/baselines/reference/enumNegativeLiteral1.types +++ b/tests/baselines/reference/enumNegativeLiteral1.types @@ -3,10 +3,10 @@ enum E { >E : E a = -5, b, c ->a : E ->-5 : number ->5 : number ->b : E ->c : E +>a : E.a +>-5 : -5 +>5 : 5 +>b : E.b +>c : E.c } diff --git a/tests/baselines/reference/enumNumbering1.types b/tests/baselines/reference/enumNumbering1.types index 81bb0325b7a..25f7225b96d 100644 --- a/tests/baselines/reference/enumNumbering1.types +++ b/tests/baselines/reference/enumNumbering1.types @@ -19,11 +19,11 @@ enum Test { >Math.random : () => number >Math : Math >random : () => number ->1000 : number +>1000 : 1000 D = 10, >D : Test ->10 : number +>10 : 10 E // Error but shouldn't be >E : Test diff --git a/tests/baselines/reference/enumOperations.types b/tests/baselines/reference/enumOperations.types index 232ecc5e71b..136d76558b2 100644 --- a/tests/baselines/reference/enumOperations.types +++ b/tests/baselines/reference/enumOperations.types @@ -2,7 +2,7 @@ enum Enum { None = 0 } >Enum : Enum >None : Enum ->0 : number +>0 : 0 var enumType: Enum = Enum.None; >enumType : Enum @@ -13,11 +13,11 @@ var enumType: Enum = Enum.None; var numberType: number = 0; >numberType : number ->0 : number +>0 : 0 var anyType: any = 0; >anyType : any ->0 : number +>0 : 0 enumType ^ numberType; >enumType ^ numberType : number diff --git a/tests/baselines/reference/enumPropertyAccess.errors.txt b/tests/baselines/reference/enumPropertyAccess.errors.txt index 666e9297120..fe670a3ef31 100644 --- a/tests/baselines/reference/enumPropertyAccess.errors.txt +++ b/tests/baselines/reference/enumPropertyAccess.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/enumPropertyAccess.ts(7,11): error TS2339: Property 'Green' does not exist on type 'Colors'. +tests/cases/compiler/enumPropertyAccess.ts(7,11): error TS2339: Property 'Green' does not exist on type 'Colors.Red'. tests/cases/compiler/enumPropertyAccess.ts(12,7): error TS2339: Property 'Green' does not exist on type 'B'. @@ -11,7 +11,7 @@ tests/cases/compiler/enumPropertyAccess.ts(12,7): error TS2339: Property 'Green' var x = Colors.Red; // type of 'x' should be 'Colors' var p = x.Green; // error ~~~~~ -!!! error TS2339: Property 'Green' does not exist on type 'Colors'. +!!! error TS2339: Property 'Green' does not exist on type 'Colors.Red'. x.toFixed(); // ok // Now with generics diff --git a/tests/baselines/reference/enumWithComputedMember.errors.txt b/tests/baselines/reference/enumWithComputedMember.errors.txt new file mode 100644 index 00000000000..cdbcaf575e8 --- /dev/null +++ b/tests/baselines/reference/enumWithComputedMember.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/enumWithComputedMember.ts(4,5): error TS1061: Enum member must have initializer. + + +==== tests/cases/compiler/enumWithComputedMember.ts (1 errors) ==== + enum A { + X = "".length, + Y = X, + Z + ~ +!!! error TS1061: Enum member must have initializer. + } + \ No newline at end of file diff --git a/tests/baselines/reference/enumWithComputedMember.js b/tests/baselines/reference/enumWithComputedMember.js new file mode 100644 index 00000000000..ca4bfac7adb --- /dev/null +++ b/tests/baselines/reference/enumWithComputedMember.js @@ -0,0 +1,15 @@ +//// [enumWithComputedMember.ts] +enum A { + X = "".length, + Y = X, + Z +} + + +//// [enumWithComputedMember.js] +var A; +(function (A) { + A[A["X"] = "".length] = "X"; + A[A["Y"] = A.X] = "Y"; + A[A["Z"] = void 0] = "Z"; +})(A || (A = {})); diff --git a/tests/baselines/reference/enumWithInfinityProperty.js b/tests/baselines/reference/enumWithInfinityProperty.js new file mode 100644 index 00000000000..2ab45fbd9be --- /dev/null +++ b/tests/baselines/reference/enumWithInfinityProperty.js @@ -0,0 +1,11 @@ +//// [enumWithInfinityProperty.ts] +enum A { + Infinity = 1 +} + + +//// [enumWithInfinityProperty.js] +var A; +(function (A) { + A[A["Infinity"] = 1] = "Infinity"; +})(A || (A = {})); diff --git a/tests/baselines/reference/enumWithInfinityProperty.symbols b/tests/baselines/reference/enumWithInfinityProperty.symbols new file mode 100644 index 00000000000..50b505ce262 --- /dev/null +++ b/tests/baselines/reference/enumWithInfinityProperty.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/enumWithInfinityProperty.ts === +enum A { +>A : Symbol(A, Decl(enumWithInfinityProperty.ts, 0, 0)) + + Infinity = 1 +>Infinity : Symbol(A.Infinity, Decl(enumWithInfinityProperty.ts, 0, 8)) +} + diff --git a/tests/baselines/reference/enumWithInfinityProperty.types b/tests/baselines/reference/enumWithInfinityProperty.types new file mode 100644 index 00000000000..664aa5ea2d5 --- /dev/null +++ b/tests/baselines/reference/enumWithInfinityProperty.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/enumWithInfinityProperty.ts === +enum A { +>A : A + + Infinity = 1 +>Infinity : A +>1 : 1 +} + diff --git a/tests/baselines/reference/enumWithNaNProperty.js b/tests/baselines/reference/enumWithNaNProperty.js new file mode 100644 index 00000000000..ad3e5f3a7f2 --- /dev/null +++ b/tests/baselines/reference/enumWithNaNProperty.js @@ -0,0 +1,11 @@ +//// [enumWithNaNProperty.ts] +enum A { + NaN = 1 +} + + +//// [enumWithNaNProperty.js] +var A; +(function (A) { + A[A["NaN"] = 1] = "NaN"; +})(A || (A = {})); diff --git a/tests/baselines/reference/enumWithNaNProperty.symbols b/tests/baselines/reference/enumWithNaNProperty.symbols new file mode 100644 index 00000000000..a327d74b17c --- /dev/null +++ b/tests/baselines/reference/enumWithNaNProperty.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/enumWithNaNProperty.ts === +enum A { +>A : Symbol(A, Decl(enumWithNaNProperty.ts, 0, 0)) + + NaN = 1 +>NaN : Symbol(A.NaN, Decl(enumWithNaNProperty.ts, 0, 8)) +} + diff --git a/tests/baselines/reference/enumWithNaNProperty.types b/tests/baselines/reference/enumWithNaNProperty.types new file mode 100644 index 00000000000..710c7554a31 --- /dev/null +++ b/tests/baselines/reference/enumWithNaNProperty.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/enumWithNaNProperty.ts === +enum A { +>A : A + + NaN = 1 +>NaN : A +>1 : 1 +} + diff --git a/tests/baselines/reference/enumWithNegativeInfinityProperty.js b/tests/baselines/reference/enumWithNegativeInfinityProperty.js new file mode 100644 index 00000000000..867545fb14a --- /dev/null +++ b/tests/baselines/reference/enumWithNegativeInfinityProperty.js @@ -0,0 +1,11 @@ +//// [enumWithNegativeInfinityProperty.ts] +enum A { + "-Infinity" = 1 +} + + +//// [enumWithNegativeInfinityProperty.js] +var A; +(function (A) { + A[A["-Infinity"] = 1] = "-Infinity"; +})(A || (A = {})); diff --git a/tests/baselines/reference/enumWithNegativeInfinityProperty.symbols b/tests/baselines/reference/enumWithNegativeInfinityProperty.symbols new file mode 100644 index 00000000000..51c61196ca6 --- /dev/null +++ b/tests/baselines/reference/enumWithNegativeInfinityProperty.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/enumWithNegativeInfinityProperty.ts === +enum A { +>A : Symbol(A, Decl(enumWithNegativeInfinityProperty.ts, 0, 0)) + + "-Infinity" = 1 +} + diff --git a/tests/baselines/reference/enumWithNegativeInfinityProperty.types b/tests/baselines/reference/enumWithNegativeInfinityProperty.types new file mode 100644 index 00000000000..dad61ad87cc --- /dev/null +++ b/tests/baselines/reference/enumWithNegativeInfinityProperty.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/enumWithNegativeInfinityProperty.ts === +enum A { +>A : A + + "-Infinity" = 1 +>1 : 1 +} + diff --git a/tests/baselines/reference/enumWithQuotedElementName1.js b/tests/baselines/reference/enumWithQuotedElementName1.js index 22f6f02f1b7..8f945e07cee 100644 --- a/tests/baselines/reference/enumWithQuotedElementName1.js +++ b/tests/baselines/reference/enumWithQuotedElementName1.js @@ -6,5 +6,5 @@ enum E { //// [enumWithQuotedElementName1.js] var E; (function (E) { - E[E['fo"o'] = 0] = 'fo"o'; + E[E["fo\"o"] = 0] = "fo\"o"; })(E || (E = {})); diff --git a/tests/baselines/reference/enumWithUnicodeEscape1.js b/tests/baselines/reference/enumWithUnicodeEscape1.js index df6034924ff..68116bd1c12 100644 --- a/tests/baselines/reference/enumWithUnicodeEscape1.js +++ b/tests/baselines/reference/enumWithUnicodeEscape1.js @@ -7,5 +7,5 @@ enum E { //// [enumWithUnicodeEscape1.js] var E; (function (E) { - E[E['gold \u2730'] = 0] = 'gold \u2730'; + E[E["gold \u2730"] = 0] = "gold \u2730"; })(E || (E = {})); diff --git a/tests/baselines/reference/enumWithoutInitializerAfterComputedMember.types b/tests/baselines/reference/enumWithoutInitializerAfterComputedMember.types index 0ece7b76f1e..c558000f756 100644 --- a/tests/baselines/reference/enumWithoutInitializerAfterComputedMember.types +++ b/tests/baselines/reference/enumWithoutInitializerAfterComputedMember.types @@ -3,12 +3,12 @@ enum E { >E : E a, ->a : E +>a : E.a b = a, ->b : E ->a : E +>b : E.a +>a : E.a c ->c : E +>c : E.c } diff --git a/tests/baselines/reference/equalityWithUnionTypes01.types b/tests/baselines/reference/equalityWithUnionTypes01.types index 61e38030949..acec449dc42 100644 --- a/tests/baselines/reference/equalityWithUnionTypes01.types +++ b/tests/baselines/reference/equalityWithUnionTypes01.types @@ -18,9 +18,9 @@ var x = { p1: 10, p2: 20 }; >x : { p1: number; p2: number; } >{ p1: 10, p2: 20 } : { p1: number; p2: number; } >p1 : number ->10 : number +>10 : 10 >p2 : number ->20 : number +>20 : 20 var y: number | I2 = x; >y : number | I2 diff --git a/tests/baselines/reference/errorForConflictingExportEqualsValue.errors.txt b/tests/baselines/reference/errorForConflictingExportEqualsValue.errors.txt new file mode 100644 index 00000000000..9a5858f46ab --- /dev/null +++ b/tests/baselines/reference/errorForConflictingExportEqualsValue.errors.txt @@ -0,0 +1,9 @@ +tests/cases/compiler/errorForConflictingExportEqualsValue.ts(2,1): error TS2309: An export assignment cannot be used in a module with other exported elements. + + +==== tests/cases/compiler/errorForConflictingExportEqualsValue.ts (1 errors) ==== + export var x; + export = {}; + ~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + \ No newline at end of file diff --git a/tests/baselines/reference/errorForConflictingExportEqualsValue.js b/tests/baselines/reference/errorForConflictingExportEqualsValue.js new file mode 100644 index 00000000000..88762e7e846 --- /dev/null +++ b/tests/baselines/reference/errorForConflictingExportEqualsValue.js @@ -0,0 +1,8 @@ +//// [errorForConflictingExportEqualsValue.ts] +export var x; +export = {}; + + +//// [errorForConflictingExportEqualsValue.js] +"use strict"; +module.exports = {}; diff --git a/tests/baselines/reference/errorSuperCalls.js b/tests/baselines/reference/errorSuperCalls.js index 4cc6a4d968f..3e778535bb7 100644 --- a/tests/baselines/reference/errorSuperCalls.js +++ b/tests/baselines/reference/errorSuperCalls.js @@ -83,9 +83,9 @@ var __extends = (this && this.__extends) || function (d, b) { //super call in class constructor with no base type var NoBase = (function () { function NoBase() { + _super.call(this); //super call in class member initializer with no base type this.p = _super.call(this); - _super.call(this); } //super call in class member function with no base type NoBase.prototype.fn = function () { @@ -119,10 +119,10 @@ var NoBase = (function () { enumerable: true, configurable: true }); - //super call in static class member initializer with no base type - NoBase.k = _super.call(this); return NoBase; }()); +//super call in static class member initializer with no base type +NoBase.k = _super.call(this); var Base = (function () { function Base() { } diff --git a/tests/baselines/reference/errorSuperPropertyAccess.js b/tests/baselines/reference/errorSuperPropertyAccess.js index cf6ed2598ea..dbfbdb46940 100644 --- a/tests/baselines/reference/errorSuperPropertyAccess.js +++ b/tests/baselines/reference/errorSuperPropertyAccess.js @@ -175,10 +175,10 @@ var SomeBase = (function () { SomeBase.prototype.publicFunc = function () { }; SomeBase.privateStaticFunc = function () { }; SomeBase.publicStaticFunc = function () { }; - SomeBase.privateStaticMember = 0; - SomeBase.publicStaticMember = 0; return SomeBase; }()); +SomeBase.privateStaticMember = 0; +SomeBase.publicStaticMember = 0; //super.publicInstanceMemberNotFunction in constructor of derived class //super.publicInstanceMemberNotFunction in instance member function of derived class //super.publicInstanceMemberNotFunction in instance member accessor(get and set) of derived class diff --git a/tests/baselines/reference/es2015modulekind.types b/tests/baselines/reference/es2015modulekind.types index e77cf095aed..1b09ecb0a88 100644 --- a/tests/baselines/reference/es2015modulekind.types +++ b/tests/baselines/reference/es2015modulekind.types @@ -12,6 +12,6 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es2015modulekindWithES6Target.types b/tests/baselines/reference/es2015modulekindWithES6Target.types index 50b85921b0e..4872566b1c2 100644 --- a/tests/baselines/reference/es2015modulekindWithES6Target.types +++ b/tests/baselines/reference/es2015modulekindWithES6Target.types @@ -12,6 +12,6 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es3-amd.types b/tests/baselines/reference/es3-amd.types index 1e9fdbd582f..420354f364a 100644 --- a/tests/baselines/reference/es3-amd.types +++ b/tests/baselines/reference/es3-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es3-declaration-amd.types b/tests/baselines/reference/es3-declaration-amd.types index daf0bb5d74e..c174d8d0255 100644 --- a/tests/baselines/reference/es3-declaration-amd.types +++ b/tests/baselines/reference/es3-declaration-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es3-sourcemap-amd.types b/tests/baselines/reference/es3-sourcemap-amd.types index d3f712211e4..351cbe5ded9 100644 --- a/tests/baselines/reference/es3-sourcemap-amd.types +++ b/tests/baselines/reference/es3-sourcemap-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es3defaultAliasIsQuoted.js b/tests/baselines/reference/es3defaultAliasIsQuoted.js index ac6a0bd24da..2ce6113b4fe 100644 --- a/tests/baselines/reference/es3defaultAliasIsQuoted.js +++ b/tests/baselines/reference/es3defaultAliasIsQuoted.js @@ -19,10 +19,10 @@ assert(Foo.CONSTANT === "Foo"); var Foo = (function () { function Foo() { } - Foo.CONSTANT = "Foo"; return Foo; }()); exports.Foo = Foo; +Foo.CONSTANT = "Foo"; function assert(value) { if (!value) throw new Error("Assertion failed!"); diff --git a/tests/baselines/reference/es3defaultAliasIsQuoted.types b/tests/baselines/reference/es3defaultAliasIsQuoted.types index d3b1ebf105b..b0412359660 100644 --- a/tests/baselines/reference/es3defaultAliasIsQuoted.types +++ b/tests/baselines/reference/es3defaultAliasIsQuoted.types @@ -5,7 +5,7 @@ export class Foo { static CONSTANT = "Foo"; >CONSTANT : string ->"Foo" : string +>"Foo" : "Foo" } export default function assert(value: boolean) { @@ -17,7 +17,7 @@ export default function assert(value: boolean) { >value : boolean >new Error("Assertion failed!") : Error >Error : ErrorConstructor ->"Assertion failed!" : string +>"Assertion failed!" : "Assertion failed!" } === tests/cases/compiler/es3defaultAliasQuoted_file1.ts === @@ -33,5 +33,5 @@ assert(Foo.CONSTANT === "Foo"); >Foo.CONSTANT : string >Foo : typeof Foo >CONSTANT : string ->"Foo" : string +>"Foo" : "Foo" diff --git a/tests/baselines/reference/es5-amd.types b/tests/baselines/reference/es5-amd.types index 7dd9e8b281a..62e47b91d10 100644 --- a/tests/baselines/reference/es5-amd.types +++ b/tests/baselines/reference/es5-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-asyncFunction.js b/tests/baselines/reference/es5-asyncFunction.js new file mode 100644 index 00000000000..9cb6f1d3674 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunction.js @@ -0,0 +1,75 @@ +//// [es5-asyncFunction.ts] +declare var x; + +async function empty() { +} + +async function singleAwait() { + await x; +} + +//// [es5-asyncFunction.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +function empty() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} +function singleAwait() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunction.symbols b/tests/baselines/reference/es5-asyncFunction.symbols new file mode 100644 index 00000000000..9a79e235090 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunction.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/es5-asyncFunction.ts === +declare var x; +>x : Symbol(x, Decl(es5-asyncFunction.ts, 0, 11)) + +async function empty() { +>empty : Symbol(empty, Decl(es5-asyncFunction.ts, 0, 14)) +} + +async function singleAwait() { +>singleAwait : Symbol(singleAwait, Decl(es5-asyncFunction.ts, 3, 1)) + + await x; +>x : Symbol(x, Decl(es5-asyncFunction.ts, 0, 11)) +} diff --git a/tests/baselines/reference/es5-asyncFunction.types b/tests/baselines/reference/es5-asyncFunction.types new file mode 100644 index 00000000000..71700db7c30 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunction.types @@ -0,0 +1,15 @@ +=== tests/cases/compiler/es5-asyncFunction.ts === +declare var x; +>x : any + +async function empty() { +>empty : () => Promise +} + +async function singleAwait() { +>singleAwait : () => Promise + + await x; +>await x : any +>x : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionArrayLiterals.js b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.js new file mode 100644 index 00000000000..c8a4733aa94 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.js @@ -0,0 +1,150 @@ +//// [es5-asyncFunctionArrayLiterals.ts] +declare var x, y, z, a; + +async function arrayLiteral0() { + x = [await y, z]; +} + +async function arrayLiteral1() { + x = [y, await z]; +} + +async function arrayLiteral2() { + x = [...(await y), z]; +} + +async function arrayLiteral3() { + x = [...y, await z]; +} + +async function arrayLiteral4() { + x = [await y, ...z]; +} + +async function arrayLiteral5() { + x = [y, ...(await z)]; +} + +async function arrayLiteral6() { + x = [y, await z, a]; +} + +async function arrayLiteral7() { + x = [await y, z, await a]; +} + +//// [es5-asyncFunctionArrayLiterals.js] +function arrayLiteral0() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, y]; + case 1: + x = [_b.sent(), z]; + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = [y]; + return [4 /*yield*/, z]; + case 1: + x = _a.concat([_b.sent()]); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, y]; + case 1: + x = (_a.sent()).concat([z]); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + _b = (_a = y).concat; + return [4 /*yield*/, z]; + case 1: + x = _b.apply(_a, [[_e.sent()]]); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral4() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, y]; + case 1: + x = [_b.sent()].concat(z); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral5() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = [y]).concat; + return [4 /*yield*/, z]; + case 1: + x = _b.apply(_a, [(_d.sent())]); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral6() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = [y]; + return [4 /*yield*/, z]; + case 1: + x = _a.concat([_b.sent(), a]); + return [2 /*return*/]; + } + }); + }); +} +function arrayLiteral7() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, y]; + case 1: + _a = [_b.sent(), z]; + return [4 /*yield*/, a]; + case 2: + x = _a.concat([_b.sent()]); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionArrayLiterals.symbols b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.symbols new file mode 100644 index 00000000000..3bdfb070d1b --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.symbols @@ -0,0 +1,80 @@ +=== tests/cases/compiler/es5-asyncFunctionArrayLiterals.ts === +declare var x, y, z, a; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 20)) + +async function arrayLiteral0() { +>arrayLiteral0 : Symbol(arrayLiteral0, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 23)) + + x = [await y, z]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral1() { +>arrayLiteral1 : Symbol(arrayLiteral1, Decl(es5-asyncFunctionArrayLiterals.ts, 4, 1)) + + x = [y, await z]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral2() { +>arrayLiteral2 : Symbol(arrayLiteral2, Decl(es5-asyncFunctionArrayLiterals.ts, 8, 1)) + + x = [...(await y), z]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral3() { +>arrayLiteral3 : Symbol(arrayLiteral3, Decl(es5-asyncFunctionArrayLiterals.ts, 12, 1)) + + x = [...y, await z]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral4() { +>arrayLiteral4 : Symbol(arrayLiteral4, Decl(es5-asyncFunctionArrayLiterals.ts, 16, 1)) + + x = [await y, ...z]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral5() { +>arrayLiteral5 : Symbol(arrayLiteral5, Decl(es5-asyncFunctionArrayLiterals.ts, 20, 1)) + + x = [y, ...(await z)]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +} + +async function arrayLiteral6() { +>arrayLiteral6 : Symbol(arrayLiteral6, Decl(es5-asyncFunctionArrayLiterals.ts, 24, 1)) + + x = [y, await z, a]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 20)) +} + +async function arrayLiteral7() { +>arrayLiteral7 : Symbol(arrayLiteral7, Decl(es5-asyncFunctionArrayLiterals.ts, 28, 1)) + + x = [await y, z, await a]; +>x : Symbol(x, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionArrayLiterals.ts, 0, 20)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionArrayLiterals.types b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.types new file mode 100644 index 00000000000..80b4e095c9d --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionArrayLiterals.types @@ -0,0 +1,111 @@ +=== tests/cases/compiler/es5-asyncFunctionArrayLiterals.ts === +declare var x, y, z, a; +>x : any +>y : any +>z : any +>a : any + +async function arrayLiteral0() { +>arrayLiteral0 : () => Promise + + x = [await y, z]; +>x = [await y, z] : any[] +>x : any +>[await y, z] : any[] +>await y : any +>y : any +>z : any +} + +async function arrayLiteral1() { +>arrayLiteral1 : () => Promise + + x = [y, await z]; +>x = [y, await z] : any[] +>x : any +>[y, await z] : any[] +>y : any +>await z : any +>z : any +} + +async function arrayLiteral2() { +>arrayLiteral2 : () => Promise + + x = [...(await y), z]; +>x = [...(await y), z] : any[] +>x : any +>[...(await y), z] : any[] +>...(await y) : any +>(await y) : any +>await y : any +>y : any +>z : any +} + +async function arrayLiteral3() { +>arrayLiteral3 : () => Promise + + x = [...y, await z]; +>x = [...y, await z] : any[] +>x : any +>[...y, await z] : any[] +>...y : any +>y : any +>await z : any +>z : any +} + +async function arrayLiteral4() { +>arrayLiteral4 : () => Promise + + x = [await y, ...z]; +>x = [await y, ...z] : any[] +>x : any +>[await y, ...z] : any[] +>await y : any +>y : any +>...z : any +>z : any +} + +async function arrayLiteral5() { +>arrayLiteral5 : () => Promise + + x = [y, ...(await z)]; +>x = [y, ...(await z)] : any[] +>x : any +>[y, ...(await z)] : any[] +>y : any +>...(await z) : any +>(await z) : any +>await z : any +>z : any +} + +async function arrayLiteral6() { +>arrayLiteral6 : () => Promise + + x = [y, await z, a]; +>x = [y, await z, a] : any[] +>x : any +>[y, await z, a] : any[] +>y : any +>await z : any +>z : any +>a : any +} + +async function arrayLiteral7() { +>arrayLiteral7 : () => Promise + + x = [await y, z, await a]; +>x = [await y, z, await a] : any[] +>x : any +>[await y, z, await a] : any[] +>await y : any +>y : any +>z : any +>await a : any +>a : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.js b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.js new file mode 100644 index 00000000000..a7aff630256 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.js @@ -0,0 +1,561 @@ +//// [es5-asyncFunctionBinaryExpressions.ts] +declare var x, y, z, a, b, c; + +async function binaryPlus0() { + (await x) + y; +} + +async function binaryPlus1() { + x + await y; +} + +async function binaryLogicalAnd0() { + (await x) && y; +} + +async function binaryLogicalAnd1() { + x && await y; +} + +async function binaryAssignment0() { + x = await y; +} + +async function binaryAssignment1() { + x.a = await y; +} + +async function binaryAssignment2() { + x.a.b = await y; +} + +async function binaryAssignment3() { + x[z] = await y; +} + +async function binaryAssignment4() { + x[z].b = await y; +} + +async function binaryAssignment5() { + x.a[z] = await y; +} + +async function binaryAssignment6() { + (await x).a = y; +} + +async function binaryAssignment7() { + (await x.a).b = y; +} + +async function binaryAssignment8() { + (await x)[z] = y; +} + +async function binaryAssignment9() { + x[await z] = y; +} + +async function binaryAssignment10() { + x[await z].b = y; +} + +async function binaryAssignment11() { + (await x[z]).b = y; +} + +async function binaryAssignment12() { + x.a[await z] = y; +} + +async function binaryAssignment13() { + (await x.a)[z] = y; +} + +async function binaryCompoundAssignment0() { + x += await y; +} + +async function binaryCompoundAssignment1() { + x.a += await y; +} + +async function binaryCompoundAssignment2() { + x[a] += await y; +} + +async function binaryCompoundAssignment3() { + (await x).a += y; +} + +async function binaryCompoundAssignment4() { + (await x)[a] += y; +} + +async function binaryCompoundAssignment5() { + x[await a] += y; +} + +async function binaryCompoundAssignment6() { + (await x).a += await y; +} + +async function binaryCompoundAssignment7() { + (await x)[a] += await y; +} + +async function binaryCompoundAssignment8() { + x[await a] += await y; +} + +async function binaryExponentiation() { + (await x) ** y; + x ** await y; +} + +async function binaryComma0() { + return (await x), y; +} + +async function binaryComma1(): Promise { + return x, await y; +} + +//// [es5-asyncFunctionBinaryExpressions.js] +function binaryPlus0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()) + y; + return [2 /*return*/]; + } + }); + }); +} +function binaryPlus1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + _a + (_b.sent()); + return [2 /*return*/]; + } + }); + }); +} +function binaryLogicalAnd0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()) && y; + return [2 /*return*/]; + } + }); + }); +} +function binaryLogicalAnd1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + if (!_a) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a = (_b.sent()); + _b.label = 2; + case 2: + _a; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, y]; + case 1: + x = _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + _a.a = _b.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x.a; + return [4 /*yield*/, y]; + case 1: + _a.b = _b.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x; + _b = z; + return [4 /*yield*/, y]; + case 1: + _a[_b] = _c.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment4() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x[z]; + return [4 /*yield*/, y]; + case 1: + _a.b = _b.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment5() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x.a; + _b = z; + return [4 /*yield*/, y]; + case 1: + _a[_b] = _c.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment6() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()).a = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment7() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a]; + case 1: + (_a.sent()).b = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment8() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent())[z] = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment9() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, z]; + case 1: + _a[_b.sent()] = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment10() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, z]; + case 1: + _a[_b.sent()].b = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment11() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x[z]]; + case 1: + (_a.sent()).b = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment12() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x.a; + return [4 /*yield*/, z]; + case 1: + _a[_b.sent()] = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryAssignment13() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a]; + case 1: + (_a.sent())[z] = y; + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment0() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + x = _a + _b.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment1() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x; + _b = _a.a; + return [4 /*yield*/, y]; + case 1: + _a.a = _b + _c.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment2() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _a = x; + _b = a; + _c = _a[_b]; + return [4 /*yield*/, y]; + case 1: + _a[_b] = _c + _d.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()).a += y; + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent())[a] += y; + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment5() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, a]; + case 1: + _a[_b.sent()] += y; + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment6() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a = (_c.sent()); + _b = _a.a; + return [4 /*yield*/, y]; + case 2: + _a.a = _b + _c.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment7() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a = (_d.sent()); + _b = a; + _c = _a[_b]; + return [4 /*yield*/, y]; + case 2: + _a[_b] = _c + _d.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryCompoundAssignment8() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _a = x; + return [4 /*yield*/, a]; + case 1: + _b = _d.sent(); + _c = _a[_b]; + return [4 /*yield*/, y]; + case 2: + _a[_b] = _c + _d.sent(); + return [2 /*return*/]; + } + }); + }); +} +function binaryExponentiation() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f; + return __generator(this, function (_g) { + switch (_g.label) { + case 0: + _b = (_a = Math).pow; + return [4 /*yield*/, x]; + case 1: + _b.apply(_a, [(_g.sent()), y]); + _e = (_d = Math).pow; + _f = [x]; + return [4 /*yield*/, y]; + case 2: + _e.apply(_d, _f.concat([_g.sent()])); + return [2 /*return*/]; + } + }); + }); +} +function binaryComma0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: return [2 /*return*/, ((_a.sent()), y)]; + } + }); + }); +} +function binaryComma1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + x; + return [4 /*yield*/, y]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols new file mode 100644 index 00000000000..6c6a1820717 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.symbols @@ -0,0 +1,267 @@ +=== tests/cases/compiler/es5-asyncFunctionBinaryExpressions.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 26)) + +async function binaryPlus0() { +>binaryPlus0 : Symbol(binaryPlus0, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 29)) + + (await x) + y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryPlus1() { +>binaryPlus1 : Symbol(binaryPlus1, Decl(es5-asyncFunctionBinaryExpressions.ts, 4, 1)) + + x + await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryLogicalAnd0() { +>binaryLogicalAnd0 : Symbol(binaryLogicalAnd0, Decl(es5-asyncFunctionBinaryExpressions.ts, 8, 1)) + + (await x) && y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryLogicalAnd1() { +>binaryLogicalAnd1 : Symbol(binaryLogicalAnd1, Decl(es5-asyncFunctionBinaryExpressions.ts, 12, 1)) + + x && await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment0() { +>binaryAssignment0 : Symbol(binaryAssignment0, Decl(es5-asyncFunctionBinaryExpressions.ts, 16, 1)) + + x = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment1() { +>binaryAssignment1 : Symbol(binaryAssignment1, Decl(es5-asyncFunctionBinaryExpressions.ts, 20, 1)) + + x.a = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment2() { +>binaryAssignment2 : Symbol(binaryAssignment2, Decl(es5-asyncFunctionBinaryExpressions.ts, 24, 1)) + + x.a.b = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment3() { +>binaryAssignment3 : Symbol(binaryAssignment3, Decl(es5-asyncFunctionBinaryExpressions.ts, 28, 1)) + + x[z] = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment4() { +>binaryAssignment4 : Symbol(binaryAssignment4, Decl(es5-asyncFunctionBinaryExpressions.ts, 32, 1)) + + x[z].b = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment5() { +>binaryAssignment5 : Symbol(binaryAssignment5, Decl(es5-asyncFunctionBinaryExpressions.ts, 36, 1)) + + x.a[z] = await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment6() { +>binaryAssignment6 : Symbol(binaryAssignment6, Decl(es5-asyncFunctionBinaryExpressions.ts, 40, 1)) + + (await x).a = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment7() { +>binaryAssignment7 : Symbol(binaryAssignment7, Decl(es5-asyncFunctionBinaryExpressions.ts, 44, 1)) + + (await x.a).b = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment8() { +>binaryAssignment8 : Symbol(binaryAssignment8, Decl(es5-asyncFunctionBinaryExpressions.ts, 48, 1)) + + (await x)[z] = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment9() { +>binaryAssignment9 : Symbol(binaryAssignment9, Decl(es5-asyncFunctionBinaryExpressions.ts, 52, 1)) + + x[await z] = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment10() { +>binaryAssignment10 : Symbol(binaryAssignment10, Decl(es5-asyncFunctionBinaryExpressions.ts, 56, 1)) + + x[await z].b = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment11() { +>binaryAssignment11 : Symbol(binaryAssignment11, Decl(es5-asyncFunctionBinaryExpressions.ts, 60, 1)) + + (await x[z]).b = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment12() { +>binaryAssignment12 : Symbol(binaryAssignment12, Decl(es5-asyncFunctionBinaryExpressions.ts, 64, 1)) + + x.a[await z] = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryAssignment13() { +>binaryAssignment13 : Symbol(binaryAssignment13, Decl(es5-asyncFunctionBinaryExpressions.ts, 68, 1)) + + (await x.a)[z] = y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>z : Symbol(z, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 17)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment0() { +>binaryCompoundAssignment0 : Symbol(binaryCompoundAssignment0, Decl(es5-asyncFunctionBinaryExpressions.ts, 72, 1)) + + x += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment1() { +>binaryCompoundAssignment1 : Symbol(binaryCompoundAssignment1, Decl(es5-asyncFunctionBinaryExpressions.ts, 76, 1)) + + x.a += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment2() { +>binaryCompoundAssignment2 : Symbol(binaryCompoundAssignment2, Decl(es5-asyncFunctionBinaryExpressions.ts, 80, 1)) + + x[a] += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment3() { +>binaryCompoundAssignment3 : Symbol(binaryCompoundAssignment3, Decl(es5-asyncFunctionBinaryExpressions.ts, 84, 1)) + + (await x).a += y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment4() { +>binaryCompoundAssignment4 : Symbol(binaryCompoundAssignment4, Decl(es5-asyncFunctionBinaryExpressions.ts, 88, 1)) + + (await x)[a] += y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment5() { +>binaryCompoundAssignment5 : Symbol(binaryCompoundAssignment5, Decl(es5-asyncFunctionBinaryExpressions.ts, 92, 1)) + + x[await a] += y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment6() { +>binaryCompoundAssignment6 : Symbol(binaryCompoundAssignment6, Decl(es5-asyncFunctionBinaryExpressions.ts, 96, 1)) + + (await x).a += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment7() { +>binaryCompoundAssignment7 : Symbol(binaryCompoundAssignment7, Decl(es5-asyncFunctionBinaryExpressions.ts, 100, 1)) + + (await x)[a] += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryCompoundAssignment8() { +>binaryCompoundAssignment8 : Symbol(binaryCompoundAssignment8, Decl(es5-asyncFunctionBinaryExpressions.ts, 104, 1)) + + x[await a] += await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryExponentiation() { +>binaryExponentiation : Symbol(binaryExponentiation, Decl(es5-asyncFunctionBinaryExpressions.ts, 108, 1)) + + (await x) ** y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) + + x ** await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryComma0() { +>binaryComma0 : Symbol(binaryComma0, Decl(es5-asyncFunctionBinaryExpressions.ts, 113, 1)) + + return (await x), y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} + +async function binaryComma1(): Promise { +>binaryComma1 : Symbol(binaryComma1, Decl(es5-asyncFunctionBinaryExpressions.ts, 117, 1)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + return x, await y; +>x : Symbol(x, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionBinaryExpressions.ts, 0, 14)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.types b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.types new file mode 100644 index 00000000000..54afaee22c5 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionBinaryExpressions.types @@ -0,0 +1,389 @@ +=== tests/cases/compiler/es5-asyncFunctionBinaryExpressions.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function binaryPlus0() { +>binaryPlus0 : () => Promise + + (await x) + y; +>(await x) + y : any +>(await x) : any +>await x : any +>x : any +>y : any +} + +async function binaryPlus1() { +>binaryPlus1 : () => Promise + + x + await y; +>x + await y : any +>x : any +>await y : any +>y : any +} + +async function binaryLogicalAnd0() { +>binaryLogicalAnd0 : () => Promise + + (await x) && y; +>(await x) && y : any +>(await x) : any +>await x : any +>x : any +>y : any +} + +async function binaryLogicalAnd1() { +>binaryLogicalAnd1 : () => Promise + + x && await y; +>x && await y : any +>x : any +>await y : any +>y : any +} + +async function binaryAssignment0() { +>binaryAssignment0 : () => Promise + + x = await y; +>x = await y : any +>x : any +>await y : any +>y : any +} + +async function binaryAssignment1() { +>binaryAssignment1 : () => Promise + + x.a = await y; +>x.a = await y : any +>x.a : any +>x : any +>a : any +>await y : any +>y : any +} + +async function binaryAssignment2() { +>binaryAssignment2 : () => Promise + + x.a.b = await y; +>x.a.b = await y : any +>x.a.b : any +>x.a : any +>x : any +>a : any +>b : any +>await y : any +>y : any +} + +async function binaryAssignment3() { +>binaryAssignment3 : () => Promise + + x[z] = await y; +>x[z] = await y : any +>x[z] : any +>x : any +>z : any +>await y : any +>y : any +} + +async function binaryAssignment4() { +>binaryAssignment4 : () => Promise + + x[z].b = await y; +>x[z].b = await y : any +>x[z].b : any +>x[z] : any +>x : any +>z : any +>b : any +>await y : any +>y : any +} + +async function binaryAssignment5() { +>binaryAssignment5 : () => Promise + + x.a[z] = await y; +>x.a[z] = await y : any +>x.a[z] : any +>x.a : any +>x : any +>a : any +>z : any +>await y : any +>y : any +} + +async function binaryAssignment6() { +>binaryAssignment6 : () => Promise + + (await x).a = y; +>(await x).a = y : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +} + +async function binaryAssignment7() { +>binaryAssignment7 : () => Promise + + (await x.a).b = y; +>(await x.a).b = y : any +>(await x.a).b : any +>(await x.a) : any +>await x.a : any +>x.a : any +>x : any +>a : any +>b : any +>y : any +} + +async function binaryAssignment8() { +>binaryAssignment8 : () => Promise + + (await x)[z] = y; +>(await x)[z] = y : any +>(await x)[z] : any +>(await x) : any +>await x : any +>x : any +>z : any +>y : any +} + +async function binaryAssignment9() { +>binaryAssignment9 : () => Promise + + x[await z] = y; +>x[await z] = y : any +>x[await z] : any +>x : any +>await z : any +>z : any +>y : any +} + +async function binaryAssignment10() { +>binaryAssignment10 : () => Promise + + x[await z].b = y; +>x[await z].b = y : any +>x[await z].b : any +>x[await z] : any +>x : any +>await z : any +>z : any +>b : any +>y : any +} + +async function binaryAssignment11() { +>binaryAssignment11 : () => Promise + + (await x[z]).b = y; +>(await x[z]).b = y : any +>(await x[z]).b : any +>(await x[z]) : any +>await x[z] : any +>x[z] : any +>x : any +>z : any +>b : any +>y : any +} + +async function binaryAssignment12() { +>binaryAssignment12 : () => Promise + + x.a[await z] = y; +>x.a[await z] = y : any +>x.a[await z] : any +>x.a : any +>x : any +>a : any +>await z : any +>z : any +>y : any +} + +async function binaryAssignment13() { +>binaryAssignment13 : () => Promise + + (await x.a)[z] = y; +>(await x.a)[z] = y : any +>(await x.a)[z] : any +>(await x.a) : any +>await x.a : any +>x.a : any +>x : any +>a : any +>z : any +>y : any +} + +async function binaryCompoundAssignment0() { +>binaryCompoundAssignment0 : () => Promise + + x += await y; +>x += await y : any +>x : any +>await y : any +>y : any +} + +async function binaryCompoundAssignment1() { +>binaryCompoundAssignment1 : () => Promise + + x.a += await y; +>x.a += await y : any +>x.a : any +>x : any +>a : any +>await y : any +>y : any +} + +async function binaryCompoundAssignment2() { +>binaryCompoundAssignment2 : () => Promise + + x[a] += await y; +>x[a] += await y : any +>x[a] : any +>x : any +>a : any +>await y : any +>y : any +} + +async function binaryCompoundAssignment3() { +>binaryCompoundAssignment3 : () => Promise + + (await x).a += y; +>(await x).a += y : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +} + +async function binaryCompoundAssignment4() { +>binaryCompoundAssignment4 : () => Promise + + (await x)[a] += y; +>(await x)[a] += y : any +>(await x)[a] : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +} + +async function binaryCompoundAssignment5() { +>binaryCompoundAssignment5 : () => Promise + + x[await a] += y; +>x[await a] += y : any +>x[await a] : any +>x : any +>await a : any +>a : any +>y : any +} + +async function binaryCompoundAssignment6() { +>binaryCompoundAssignment6 : () => Promise + + (await x).a += await y; +>(await x).a += await y : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>await y : any +>y : any +} + +async function binaryCompoundAssignment7() { +>binaryCompoundAssignment7 : () => Promise + + (await x)[a] += await y; +>(await x)[a] += await y : any +>(await x)[a] : any +>(await x) : any +>await x : any +>x : any +>a : any +>await y : any +>y : any +} + +async function binaryCompoundAssignment8() { +>binaryCompoundAssignment8 : () => Promise + + x[await a] += await y; +>x[await a] += await y : any +>x[await a] : any +>x : any +>await a : any +>a : any +>await y : any +>y : any +} + +async function binaryExponentiation() { +>binaryExponentiation : () => Promise + + (await x) ** y; +>(await x) ** y : number +>(await x) : any +>await x : any +>x : any +>y : any + + x ** await y; +>x ** await y : number +>x : any +>await y : any +>y : any +} + +async function binaryComma0() { +>binaryComma0 : () => Promise + + return (await x), y; +>(await x), y : any +>(await x) : any +>await x : any +>x : any +>y : any +} + +async function binaryComma1(): Promise { +>binaryComma1 : () => Promise +>Promise : Promise + + return x, await y; +>x, await y : any +>x : any +>await y : any +>y : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionCallExpressions.js b/tests/baselines/reference/es5-asyncFunctionCallExpressions.js new file mode 100644 index 00000000000..93c4dcfd3cb --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionCallExpressions.js @@ -0,0 +1,383 @@ +//// [es5-asyncFunctionCallExpressions.ts] +declare var x, y, z, a, b, c; + +async function callExpression0() { + await x(y, z); +} + +async function callExpression1() { + (await x)(y, z); +} + +async function callExpression2() { + x(await y, z); +} + +async function callExpression3() { + x(y, await z); +} + +async function callExpression4() { + await x(...y, z); +} + +async function callExpression5() { + (await x)(...y, z); +} + +async function callExpression6() { + x(...(await y), z); +} + +async function callExpression7() { + x(...y, await z); +} + +async function callExpression8() { + x(await y, ...z); +} + +async function callExpression9() { + x(y, ...(await z)); +} + +async function callExpression10() { + await x.a(y, z); +} + +async function callExpression11() { + (await x.a)(y, z); +} + +async function callExpression12() { + (await x).a(y, z); +} + +async function callExpression13() { + x.a(await y, z); +} + +async function callExpression14() { + x.a(y, await z); +} + +async function callExpression15() { + await x[a](y, z); +} + +async function callExpression16() { + (await x[a])(y, z); +} + +async function callExpression17() { + (await x)[a](y, z); +} + +async function callExpression18() { + x[await a](y, z); +} + +async function callExpression19() { + x[a](await y, z); +} + +async function callExpression20() { + x[a](y, await z); +} + + +//// [es5-asyncFunctionCallExpressions.js] +function callExpression0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x(y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function callExpression1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression2() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + _a.apply(void 0, [_c.sent(), z]); + return [2 /*return*/]; + } + }); + }); +} +function callExpression3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x; + _b = [y]; + return [4 /*yield*/, z]; + case 1: + _a.apply(void 0, _b.concat([_c.sent()])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.apply(void 0, y.concat([z]))]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function callExpression5() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()).apply(void 0, y.concat([z])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression6() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x).apply; + _c = [void 0]; + return [4 /*yield*/, y]; + case 1: + _b.apply(_a, _c.concat([(_d.sent()).concat([z])])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression7() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f, _g; + return __generator(this, function (_h) { + switch (_h.label) { + case 0: + _b = (_a = x).apply; + _c = [void 0]; + _e = (_d = y).concat; + return [4 /*yield*/, z]; + case 1: + _b.apply(_a, _c.concat([_e.apply(_d, [[_h.sent()]])])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression8() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + _b = (_a = x).apply; + _c = [void 0]; + return [4 /*yield*/, y]; + case 1: + _b.apply(_a, _c.concat([[_e.sent()].concat(z)])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression9() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f; + return __generator(this, function (_g) { + switch (_g.label) { + case 0: + _b = (_a = x).apply; + _c = [void 0]; + _e = (_d = [y]).concat; + return [4 /*yield*/, z]; + case 1: + _b.apply(_a, _c.concat([_e.apply(_d, [(_g.sent())])])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression10() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a(y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function callExpression11() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a]; + case 1: + (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression12() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent()).a(y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression13() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x).a; + return [4 /*yield*/, y]; + case 1: + _b.apply(_a, [_d.sent(), z]); + return [2 /*return*/]; + } + }); + }); +} +function callExpression14() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x).a; + _c = [y]; + return [4 /*yield*/, z]; + case 1: + _b.apply(_a, _c.concat([_d.sent()])); + return [2 /*return*/]; + } + }); + }); +} +function callExpression15() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x[a](y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function callExpression16() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x[a]]; + case 1: + (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression17() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + (_a.sent())[a](y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression18() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, a]; + case 1: + _a[_b.sent()](y, z); + return [2 /*return*/]; + } + }); + }); +} +function callExpression19() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x)[a]; + return [4 /*yield*/, y]; + case 1: + _b.apply(_a, [_d.sent(), z]); + return [2 /*return*/]; + } + }); + }); +} +function callExpression20() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x)[a]; + _c = [y]; + return [4 /*yield*/, z]; + case 1: + _b.apply(_a, _c.concat([_d.sent()])); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionCallExpressions.symbols b/tests/baselines/reference/es5-asyncFunctionCallExpressions.symbols new file mode 100644 index 00000000000..4a73045b5f3 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionCallExpressions.symbols @@ -0,0 +1,204 @@ +=== tests/cases/compiler/es5-asyncFunctionCallExpressions.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionCallExpressions.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionCallExpressions.ts, 0, 26)) + +async function callExpression0() { +>callExpression0 : Symbol(callExpression0, Decl(es5-asyncFunctionCallExpressions.ts, 0, 29)) + + await x(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression1() { +>callExpression1 : Symbol(callExpression1, Decl(es5-asyncFunctionCallExpressions.ts, 4, 1)) + + (await x)(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression2() { +>callExpression2 : Symbol(callExpression2, Decl(es5-asyncFunctionCallExpressions.ts, 8, 1)) + + x(await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression3() { +>callExpression3 : Symbol(callExpression3, Decl(es5-asyncFunctionCallExpressions.ts, 12, 1)) + + x(y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression4() { +>callExpression4 : Symbol(callExpression4, Decl(es5-asyncFunctionCallExpressions.ts, 16, 1)) + + await x(...y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression5() { +>callExpression5 : Symbol(callExpression5, Decl(es5-asyncFunctionCallExpressions.ts, 20, 1)) + + (await x)(...y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression6() { +>callExpression6 : Symbol(callExpression6, Decl(es5-asyncFunctionCallExpressions.ts, 24, 1)) + + x(...(await y), z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression7() { +>callExpression7 : Symbol(callExpression7, Decl(es5-asyncFunctionCallExpressions.ts, 28, 1)) + + x(...y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression8() { +>callExpression8 : Symbol(callExpression8, Decl(es5-asyncFunctionCallExpressions.ts, 32, 1)) + + x(await y, ...z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression9() { +>callExpression9 : Symbol(callExpression9, Decl(es5-asyncFunctionCallExpressions.ts, 36, 1)) + + x(y, ...(await z)); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression10() { +>callExpression10 : Symbol(callExpression10, Decl(es5-asyncFunctionCallExpressions.ts, 40, 1)) + + await x.a(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression11() { +>callExpression11 : Symbol(callExpression11, Decl(es5-asyncFunctionCallExpressions.ts, 44, 1)) + + (await x.a)(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression12() { +>callExpression12 : Symbol(callExpression12, Decl(es5-asyncFunctionCallExpressions.ts, 48, 1)) + + (await x).a(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression13() { +>callExpression13 : Symbol(callExpression13, Decl(es5-asyncFunctionCallExpressions.ts, 52, 1)) + + x.a(await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression14() { +>callExpression14 : Symbol(callExpression14, Decl(es5-asyncFunctionCallExpressions.ts, 56, 1)) + + x.a(y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression15() { +>callExpression15 : Symbol(callExpression15, Decl(es5-asyncFunctionCallExpressions.ts, 60, 1)) + + await x[a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression16() { +>callExpression16 : Symbol(callExpression16, Decl(es5-asyncFunctionCallExpressions.ts, 64, 1)) + + (await x[a])(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression17() { +>callExpression17 : Symbol(callExpression17, Decl(es5-asyncFunctionCallExpressions.ts, 68, 1)) + + (await x)[a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression18() { +>callExpression18 : Symbol(callExpression18, Decl(es5-asyncFunctionCallExpressions.ts, 72, 1)) + + x[await a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression19() { +>callExpression19 : Symbol(callExpression19, Decl(es5-asyncFunctionCallExpressions.ts, 76, 1)) + + x[a](await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + +async function callExpression20() { +>callExpression20 : Symbol(callExpression20, Decl(es5-asyncFunctionCallExpressions.ts, 80, 1)) + + x[a](y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionCallExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionCallExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionCallExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionCallExpressions.ts, 0, 17)) +} + diff --git a/tests/baselines/reference/es5-asyncFunctionCallExpressions.types b/tests/baselines/reference/es5-asyncFunctionCallExpressions.types new file mode 100644 index 00000000000..82207b218d2 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionCallExpressions.types @@ -0,0 +1,276 @@ +=== tests/cases/compiler/es5-asyncFunctionCallExpressions.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function callExpression0() { +>callExpression0 : () => Promise + + await x(y, z); +>await x(y, z) : any +>x(y, z) : any +>x : any +>y : any +>z : any +} + +async function callExpression1() { +>callExpression1 : () => Promise + + (await x)(y, z); +>(await x)(y, z) : any +>(await x) : any +>await x : any +>x : any +>y : any +>z : any +} + +async function callExpression2() { +>callExpression2 : () => Promise + + x(await y, z); +>x(await y, z) : any +>x : any +>await y : any +>y : any +>z : any +} + +async function callExpression3() { +>callExpression3 : () => Promise + + x(y, await z); +>x(y, await z) : any +>x : any +>y : any +>await z : any +>z : any +} + +async function callExpression4() { +>callExpression4 : () => Promise + + await x(...y, z); +>await x(...y, z) : any +>x(...y, z) : any +>x : any +>...y : any +>y : any +>z : any +} + +async function callExpression5() { +>callExpression5 : () => Promise + + (await x)(...y, z); +>(await x)(...y, z) : any +>(await x) : any +>await x : any +>x : any +>...y : any +>y : any +>z : any +} + +async function callExpression6() { +>callExpression6 : () => Promise + + x(...(await y), z); +>x(...(await y), z) : any +>x : any +>...(await y) : any +>(await y) : any +>await y : any +>y : any +>z : any +} + +async function callExpression7() { +>callExpression7 : () => Promise + + x(...y, await z); +>x(...y, await z) : any +>x : any +>...y : any +>y : any +>await z : any +>z : any +} + +async function callExpression8() { +>callExpression8 : () => Promise + + x(await y, ...z); +>x(await y, ...z) : any +>x : any +>await y : any +>y : any +>...z : any +>z : any +} + +async function callExpression9() { +>callExpression9 : () => Promise + + x(y, ...(await z)); +>x(y, ...(await z)) : any +>x : any +>y : any +>...(await z) : any +>(await z) : any +>await z : any +>z : any +} + +async function callExpression10() { +>callExpression10 : () => Promise + + await x.a(y, z); +>await x.a(y, z) : any +>x.a(y, z) : any +>x.a : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression11() { +>callExpression11 : () => Promise + + (await x.a)(y, z); +>(await x.a)(y, z) : any +>(await x.a) : any +>await x.a : any +>x.a : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression12() { +>callExpression12 : () => Promise + + (await x).a(y, z); +>(await x).a(y, z) : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression13() { +>callExpression13 : () => Promise + + x.a(await y, z); +>x.a(await y, z) : any +>x.a : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function callExpression14() { +>callExpression14 : () => Promise + + x.a(y, await z); +>x.a(y, await z) : any +>x.a : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + +async function callExpression15() { +>callExpression15 : () => Promise + + await x[a](y, z); +>await x[a](y, z) : any +>x[a](y, z) : any +>x[a] : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression16() { +>callExpression16 : () => Promise + + (await x[a])(y, z); +>(await x[a])(y, z) : any +>(await x[a]) : any +>await x[a] : any +>x[a] : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression17() { +>callExpression17 : () => Promise + + (await x)[a](y, z); +>(await x)[a](y, z) : any +>(await x)[a] : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function callExpression18() { +>callExpression18 : () => Promise + + x[await a](y, z); +>x[await a](y, z) : any +>x[await a] : any +>x : any +>await a : any +>a : any +>y : any +>z : any +} + +async function callExpression19() { +>callExpression19 : () => Promise + + x[a](await y, z); +>x[a](await y, z) : any +>x[a] : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function callExpression20() { +>callExpression20 : () => Promise + + x[a](y, await z); +>x[a](y, await z) : any +>x[a] : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + diff --git a/tests/baselines/reference/es5-asyncFunctionConditionals.js b/tests/baselines/reference/es5-asyncFunctionConditionals.js new file mode 100644 index 00000000000..b42b0c07b0a --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionConditionals.js @@ -0,0 +1,71 @@ +//// [es5-asyncFunctionConditionals.ts] +declare var x, y, z, a, b, c; + +async function conditional0() { + a = (await x) ? y : z; +} + +async function conditional1() { + a = x ? await y : z; +} + +async function conditional2() { + a = x ? y : await z; +} + +//// [es5-asyncFunctionConditionals.js] +function conditional0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + a = (_a.sent()) ? y : z; + return [2 /*return*/]; + } + }); + }); +} +function conditional1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + return [3 /*break*/, 3]; + case 2: + _a = z; + _b.label = 3; + case 3: + a = _a; + return [2 /*return*/]; + } + }); + }); +} +function conditional2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!x) + return [3 /*break*/, 1]; + _a = y; + return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, z]; + case 2: + _a = _b.sent(); + _b.label = 3; + case 3: + a = _a; + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionConditionals.symbols b/tests/baselines/reference/es5-asyncFunctionConditionals.symbols new file mode 100644 index 00000000000..8efa16840f2 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionConditionals.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/es5-asyncFunctionConditionals.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionConditionals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionConditionals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionConditionals.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionConditionals.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionConditionals.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionConditionals.ts, 0, 26)) + +async function conditional0() { +>conditional0 : Symbol(conditional0, Decl(es5-asyncFunctionConditionals.ts, 0, 29)) + + a = (await x) ? y : z; +>a : Symbol(a, Decl(es5-asyncFunctionConditionals.ts, 0, 20)) +>x : Symbol(x, Decl(es5-asyncFunctionConditionals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionConditionals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionConditionals.ts, 0, 17)) +} + +async function conditional1() { +>conditional1 : Symbol(conditional1, Decl(es5-asyncFunctionConditionals.ts, 4, 1)) + + a = x ? await y : z; +>a : Symbol(a, Decl(es5-asyncFunctionConditionals.ts, 0, 20)) +>x : Symbol(x, Decl(es5-asyncFunctionConditionals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionConditionals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionConditionals.ts, 0, 17)) +} + +async function conditional2() { +>conditional2 : Symbol(conditional2, Decl(es5-asyncFunctionConditionals.ts, 8, 1)) + + a = x ? y : await z; +>a : Symbol(a, Decl(es5-asyncFunctionConditionals.ts, 0, 20)) +>x : Symbol(x, Decl(es5-asyncFunctionConditionals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionConditionals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionConditionals.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionConditionals.types b/tests/baselines/reference/es5-asyncFunctionConditionals.types new file mode 100644 index 00000000000..21f13585e89 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionConditionals.types @@ -0,0 +1,48 @@ +=== tests/cases/compiler/es5-asyncFunctionConditionals.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function conditional0() { +>conditional0 : () => Promise + + a = (await x) ? y : z; +>a = (await x) ? y : z : any +>a : any +>(await x) ? y : z : any +>(await x) : any +>await x : any +>x : any +>y : any +>z : any +} + +async function conditional1() { +>conditional1 : () => Promise + + a = x ? await y : z; +>a = x ? await y : z : any +>a : any +>x ? await y : z : any +>x : any +>await y : any +>y : any +>z : any +} + +async function conditional2() { +>conditional2 : () => Promise + + a = x ? y : await z; +>a = x ? y : await z : any +>a : any +>x ? y : await z : any +>x : any +>y : any +>await z : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionDoStatements.js b/tests/baselines/reference/es5-asyncFunctionDoStatements.js new file mode 100644 index 00000000000..7151446dddf --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionDoStatements.js @@ -0,0 +1,372 @@ +//// [es5-asyncFunctionDoStatements.ts] +declare var x, y, z, a, b, c; + +async function doStatement0() { + do { x; } while (y); +} + +async function doStatement1() { + do { await x; } while (y); +} + +async function doStatement2() { + do { x; } while (await y); +} + +async function doStatement3() { + do { continue; } while (y); +} + +async function doStatement4() { + do { await x; continue; } while (y); +} + +async function doStatement5() { + do { if (1) continue; await x; } while (y); +} + +async function doStatement6() { + do { continue; } while (await y); +} + +async function doStatement7() { + A: do { continue A; } while (y); +} + +async function doStatement8() { + B: do { await x; continue B; } while (y); +} + +async function doStatement9() { + C: do { if (1) continue C; await x; } while (y); +} + +async function doStatement10() { + D: do { continue D; } while (await y); +} + +async function doStatement11() { + do { break; } while (y); +} + +async function doStatement12() { + do { await x; break; } while (y); +} + +async function doStatement13() { + do { if (1) break; await x; } while (y); +} + +async function doStatement14() { + do { break; } while (await y); +} + +async function doStatement15() { + E: do { break E; } while (y); +} + +async function doStatement16() { + F: do { await x; break F; } while (y); +} + +async function doStatement17() { + G: do { if (1) break G; await x; } while (y); +} + +async function doStatement18() { + H: do { break H; } while (await y); +} + +//// [es5-asyncFunctionDoStatements.js] +function doStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + do { + x; + } while (y); + return [2 /*return*/]; + }); + }); +} +function doStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + x; + _a.label = 1; + case 1: return [4 /*yield*/, y]; + case 2: + if (_a.sent()) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + do { + continue; + } while (y); + return [2 /*return*/]; + }); + }); +} +function doStatement4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 2]; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement5() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (1) + return [3 /*break*/, 2]; + return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement6() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [3 /*break*/, 1]; + case 1: return [4 /*yield*/, y]; + case 2: + if (_a.sent()) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement7() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + A: do { + continue A; + } while (y); + return [2 /*return*/]; + }); + }); +} +function doStatement8() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 2]; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement9() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (1) + return [3 /*break*/, 2]; + return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement10() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [3 /*break*/, 1]; + case 1: return [4 /*yield*/, y]; + case 2: + if (_a.sent()) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement11() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + do { + break; + } while (y); + return [2 /*return*/]; + }); + }); +} +function doStatement12() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement13() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (1) + return [3 /*break*/, 3]; + return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement14() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, y]; + case 2: + if (_a.sent()) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement15() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + E: do { + break E; + } while (y); + return [2 /*return*/]; + }); + }); +} +function doStatement16() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement17() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (1) + return [3 /*break*/, 3]; + return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (y) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function doStatement18() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, y]; + case 2: + if (_a.sent()) + return [3 /*break*/, 0]; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionDoStatements.symbols b/tests/baselines/reference/es5-asyncFunctionDoStatements.symbols new file mode 100644 index 00000000000..4f234828e63 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionDoStatements.symbols @@ -0,0 +1,152 @@ +=== tests/cases/compiler/es5-asyncFunctionDoStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionDoStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionDoStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionDoStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionDoStatements.ts, 0, 26)) + +async function doStatement0() { +>doStatement0 : Symbol(doStatement0, Decl(es5-asyncFunctionDoStatements.ts, 0, 29)) + + do { x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement1() { +>doStatement1 : Symbol(doStatement1, Decl(es5-asyncFunctionDoStatements.ts, 4, 1)) + + do { await x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement2() { +>doStatement2 : Symbol(doStatement2, Decl(es5-asyncFunctionDoStatements.ts, 8, 1)) + + do { x; } while (await y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement3() { +>doStatement3 : Symbol(doStatement3, Decl(es5-asyncFunctionDoStatements.ts, 12, 1)) + + do { continue; } while (y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement4() { +>doStatement4 : Symbol(doStatement4, Decl(es5-asyncFunctionDoStatements.ts, 16, 1)) + + do { await x; continue; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement5() { +>doStatement5 : Symbol(doStatement5, Decl(es5-asyncFunctionDoStatements.ts, 20, 1)) + + do { if (1) continue; await x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement6() { +>doStatement6 : Symbol(doStatement6, Decl(es5-asyncFunctionDoStatements.ts, 24, 1)) + + do { continue; } while (await y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement7() { +>doStatement7 : Symbol(doStatement7, Decl(es5-asyncFunctionDoStatements.ts, 28, 1)) + + A: do { continue A; } while (y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement8() { +>doStatement8 : Symbol(doStatement8, Decl(es5-asyncFunctionDoStatements.ts, 32, 1)) + + B: do { await x; continue B; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement9() { +>doStatement9 : Symbol(doStatement9, Decl(es5-asyncFunctionDoStatements.ts, 36, 1)) + + C: do { if (1) continue C; await x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement10() { +>doStatement10 : Symbol(doStatement10, Decl(es5-asyncFunctionDoStatements.ts, 40, 1)) + + D: do { continue D; } while (await y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement11() { +>doStatement11 : Symbol(doStatement11, Decl(es5-asyncFunctionDoStatements.ts, 44, 1)) + + do { break; } while (y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement12() { +>doStatement12 : Symbol(doStatement12, Decl(es5-asyncFunctionDoStatements.ts, 48, 1)) + + do { await x; break; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement13() { +>doStatement13 : Symbol(doStatement13, Decl(es5-asyncFunctionDoStatements.ts, 52, 1)) + + do { if (1) break; await x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement14() { +>doStatement14 : Symbol(doStatement14, Decl(es5-asyncFunctionDoStatements.ts, 56, 1)) + + do { break; } while (await y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement15() { +>doStatement15 : Symbol(doStatement15, Decl(es5-asyncFunctionDoStatements.ts, 60, 1)) + + E: do { break E; } while (y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement16() { +>doStatement16 : Symbol(doStatement16, Decl(es5-asyncFunctionDoStatements.ts, 64, 1)) + + F: do { await x; break F; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement17() { +>doStatement17 : Symbol(doStatement17, Decl(es5-asyncFunctionDoStatements.ts, 68, 1)) + + G: do { if (1) break G; await x; } while (y); +>x : Symbol(x, Decl(es5-asyncFunctionDoStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} + +async function doStatement18() { +>doStatement18 : Symbol(doStatement18, Decl(es5-asyncFunctionDoStatements.ts, 72, 1)) + + H: do { break H; } while (await y); +>y : Symbol(y, Decl(es5-asyncFunctionDoStatements.ts, 0, 14)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionDoStatements.types b/tests/baselines/reference/es5-asyncFunctionDoStatements.types new file mode 100644 index 00000000000..811c3cae02a --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionDoStatements.types @@ -0,0 +1,186 @@ +=== tests/cases/compiler/es5-asyncFunctionDoStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function doStatement0() { +>doStatement0 : () => Promise + + do { x; } while (y); +>x : any +>y : any +} + +async function doStatement1() { +>doStatement1 : () => Promise + + do { await x; } while (y); +>await x : any +>x : any +>y : any +} + +async function doStatement2() { +>doStatement2 : () => Promise + + do { x; } while (await y); +>x : any +>await y : any +>y : any +} + +async function doStatement3() { +>doStatement3 : () => Promise + + do { continue; } while (y); +>y : any +} + +async function doStatement4() { +>doStatement4 : () => Promise + + do { await x; continue; } while (y); +>await x : any +>x : any +>y : any +} + +async function doStatement5() { +>doStatement5 : () => Promise + + do { if (1) continue; await x; } while (y); +>1 : 1 +>await x : any +>x : any +>y : any +} + +async function doStatement6() { +>doStatement6 : () => Promise + + do { continue; } while (await y); +>await y : any +>y : any +} + +async function doStatement7() { +>doStatement7 : () => Promise + + A: do { continue A; } while (y); +>A : any +>A : any +>y : any +} + +async function doStatement8() { +>doStatement8 : () => Promise + + B: do { await x; continue B; } while (y); +>B : any +>await x : any +>x : any +>B : any +>y : any +} + +async function doStatement9() { +>doStatement9 : () => Promise + + C: do { if (1) continue C; await x; } while (y); +>C : any +>1 : 1 +>C : any +>await x : any +>x : any +>y : any +} + +async function doStatement10() { +>doStatement10 : () => Promise + + D: do { continue D; } while (await y); +>D : any +>D : any +>await y : any +>y : any +} + +async function doStatement11() { +>doStatement11 : () => Promise + + do { break; } while (y); +>y : any +} + +async function doStatement12() { +>doStatement12 : () => Promise + + do { await x; break; } while (y); +>await x : any +>x : any +>y : any +} + +async function doStatement13() { +>doStatement13 : () => Promise + + do { if (1) break; await x; } while (y); +>1 : 1 +>await x : any +>x : any +>y : any +} + +async function doStatement14() { +>doStatement14 : () => Promise + + do { break; } while (await y); +>await y : any +>y : any +} + +async function doStatement15() { +>doStatement15 : () => Promise + + E: do { break E; } while (y); +>E : any +>E : any +>y : any +} + +async function doStatement16() { +>doStatement16 : () => Promise + + F: do { await x; break F; } while (y); +>F : any +>await x : any +>x : any +>F : any +>y : any +} + +async function doStatement17() { +>doStatement17 : () => Promise + + G: do { if (1) break G; await x; } while (y); +>G : any +>1 : 1 +>G : any +>await x : any +>x : any +>y : any +} + +async function doStatement18() { +>doStatement18 : () => Promise + + H: do { break H; } while (await y); +>H : any +>H : any +>await y : any +>y : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionElementAccess.js b/tests/baselines/reference/es5-asyncFunctionElementAccess.js new file mode 100644 index 00000000000..56c9b54644b --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionElementAccess.js @@ -0,0 +1,56 @@ +//// [es5-asyncFunctionElementAccess.ts] +declare var x, y, z, a, b, c; + +async function elementAccess0() { + z = await x[y]; +} + +async function elementAccess1() { + z = (await x)[y]; +} + +async function elementAccess2() { + z = x[await y]; +} + + +//// [es5-asyncFunctionElementAccess.js] +function elementAccess0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x[y]]; + case 1: + z = _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function elementAccess1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + z = (_a.sent())[y]; + return [2 /*return*/]; + } + }); + }); +} +function elementAccess2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + z = _a[_b.sent()]; + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionElementAccess.symbols b/tests/baselines/reference/es5-asyncFunctionElementAccess.symbols new file mode 100644 index 00000000000..b4c9968e7b9 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionElementAccess.symbols @@ -0,0 +1,36 @@ +=== tests/cases/compiler/es5-asyncFunctionElementAccess.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionElementAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionElementAccess.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionElementAccess.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionElementAccess.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionElementAccess.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionElementAccess.ts, 0, 26)) + +async function elementAccess0() { +>elementAccess0 : Symbol(elementAccess0, Decl(es5-asyncFunctionElementAccess.ts, 0, 29)) + + z = await x[y]; +>z : Symbol(z, Decl(es5-asyncFunctionElementAccess.ts, 0, 17)) +>x : Symbol(x, Decl(es5-asyncFunctionElementAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionElementAccess.ts, 0, 14)) +} + +async function elementAccess1() { +>elementAccess1 : Symbol(elementAccess1, Decl(es5-asyncFunctionElementAccess.ts, 4, 1)) + + z = (await x)[y]; +>z : Symbol(z, Decl(es5-asyncFunctionElementAccess.ts, 0, 17)) +>x : Symbol(x, Decl(es5-asyncFunctionElementAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionElementAccess.ts, 0, 14)) +} + +async function elementAccess2() { +>elementAccess2 : Symbol(elementAccess2, Decl(es5-asyncFunctionElementAccess.ts, 8, 1)) + + z = x[await y]; +>z : Symbol(z, Decl(es5-asyncFunctionElementAccess.ts, 0, 17)) +>x : Symbol(x, Decl(es5-asyncFunctionElementAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionElementAccess.ts, 0, 14)) +} + diff --git a/tests/baselines/reference/es5-asyncFunctionElementAccess.types b/tests/baselines/reference/es5-asyncFunctionElementAccess.types new file mode 100644 index 00000000000..ab5c31ad09a --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionElementAccess.types @@ -0,0 +1,46 @@ +=== tests/cases/compiler/es5-asyncFunctionElementAccess.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function elementAccess0() { +>elementAccess0 : () => Promise + + z = await x[y]; +>z = await x[y] : any +>z : any +>await x[y] : any +>x[y] : any +>x : any +>y : any +} + +async function elementAccess1() { +>elementAccess1 : () => Promise + + z = (await x)[y]; +>z = (await x)[y] : any +>z : any +>(await x)[y] : any +>(await x) : any +>await x : any +>x : any +>y : any +} + +async function elementAccess2() { +>elementAccess2 : () => Promise + + z = x[await y]; +>z = x[await y] : any +>z : any +>x[await y] : any +>x : any +>await y : any +>y : any +} + diff --git a/tests/baselines/reference/es5-asyncFunctionForInStatements.js b/tests/baselines/reference/es5-asyncFunctionForInStatements.js new file mode 100644 index 00000000000..30946fca56d --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForInStatements.js @@ -0,0 +1,250 @@ +//// [es5-asyncFunctionForInStatements.ts] +declare var x, y, z, a, b, c; + +async function forInStatement0() { + for (x in y) { z; } +} + +async function forInStatement1() { + for (x in await y) { z; } +} + +async function forInStatement2() { + for (x in y) { await z; } +} + +async function forInStatement3() { + for ((await x).a in y) { z; } +} + +async function forInStatement4() { + for (x.a in await y) { z; } +} + +async function forInStatement5() { + for (x.a in y) { await z; } +} + +async function forInStatement6() { + for (var a in y) { z; } +} + +async function forInStatement7() { + for (var b in await y) { z; } +} + +async function forInStatement8() { + for (var c in y) { await z; } +} + +//// [es5-asyncFunctionForInStatements.js] +function forInStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + for (x in y) { + z; + } + return [2 /*return*/]; + }); + }); +} +function forInStatement1() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + return [4 /*yield*/, y]; + case 1: + for (_b in _c.sent()) + _a.push(_b); + _i = 0; + _c.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x = _a[_i]; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement2() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + for (_b in y) + _a.push(_b); + _i = 0; + _c.label = 1; + case 1: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x = _a[_i]; + return [4 /*yield*/, z]; + case 2: + _c.sent(); + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + for (_b in y) + _a.push(_b); + _i = 0; + _c.label = 1; + case 1: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + return [4 /*yield*/, x]; + case 2: + (_c.sent()).a = _a[_i]; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement4() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + return [4 /*yield*/, y]; + case 1: + for (_b in _c.sent()) + _a.push(_b); + _i = 0; + _c.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x.a = _a[_i]; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement5() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + for (_b in y) + _a.push(_b); + _i = 0; + _c.label = 1; + case 1: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x.a = _a[_i]; + return [4 /*yield*/, z]; + case 2: + _c.sent(); + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement6() { + return __awaiter(this, void 0, void 0, function () { + var a; + return __generator(this, function (_a) { + for (a in y) { + z; + } + return [2 /*return*/]; + }); + }); +} +function forInStatement7() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i, b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + return [4 /*yield*/, y]; + case 1: + for (_b in _c.sent()) + _a.push(_b); + _i = 0; + _c.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + b = _a[_i]; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forInStatement8() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _i, c; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = []; + for (_b in y) + _a.push(_b); + _i = 0; + _c.label = 1; + case 1: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + c = _a[_i]; + return [4 /*yield*/, z]; + case 2: + _c.sent(); + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionForInStatements.symbols b/tests/baselines/reference/es5-asyncFunctionForInStatements.symbols new file mode 100644 index 00000000000..623978f0b64 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForInStatements.symbols @@ -0,0 +1,89 @@ +=== tests/cases/compiler/es5-asyncFunctionForInStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForInStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionForInStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionForInStatements.ts, 0, 26)) + +async function forInStatement0() { +>forInStatement0 : Symbol(forInStatement0, Decl(es5-asyncFunctionForInStatements.ts, 0, 29)) + + for (x in y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement1() { +>forInStatement1 : Symbol(forInStatement1, Decl(es5-asyncFunctionForInStatements.ts, 4, 1)) + + for (x in await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement2() { +>forInStatement2 : Symbol(forInStatement2, Decl(es5-asyncFunctionForInStatements.ts, 8, 1)) + + for (x in y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement3() { +>forInStatement3 : Symbol(forInStatement3, Decl(es5-asyncFunctionForInStatements.ts, 12, 1)) + + for ((await x).a in y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement4() { +>forInStatement4 : Symbol(forInStatement4, Decl(es5-asyncFunctionForInStatements.ts, 16, 1)) + + for (x.a in await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement5() { +>forInStatement5 : Symbol(forInStatement5, Decl(es5-asyncFunctionForInStatements.ts, 20, 1)) + + for (x.a in y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForInStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement6() { +>forInStatement6 : Symbol(forInStatement6, Decl(es5-asyncFunctionForInStatements.ts, 24, 1)) + + for (var a in y) { z; } +>a : Symbol(a, Decl(es5-asyncFunctionForInStatements.ts, 27, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement7() { +>forInStatement7 : Symbol(forInStatement7, Decl(es5-asyncFunctionForInStatements.ts, 28, 1)) + + for (var b in await y) { z; } +>b : Symbol(b, Decl(es5-asyncFunctionForInStatements.ts, 31, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} + +async function forInStatement8() { +>forInStatement8 : Symbol(forInStatement8, Decl(es5-asyncFunctionForInStatements.ts, 32, 1)) + + for (var c in y) { await z; } +>c : Symbol(c, Decl(es5-asyncFunctionForInStatements.ts, 35, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForInStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForInStatements.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionForInStatements.types b/tests/baselines/reference/es5-asyncFunctionForInStatements.types new file mode 100644 index 00000000000..dcdb276cc90 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForInStatements.types @@ -0,0 +1,103 @@ +=== tests/cases/compiler/es5-asyncFunctionForInStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function forInStatement0() { +>forInStatement0 : () => Promise + + for (x in y) { z; } +>x : any +>y : any +>z : any +} + +async function forInStatement1() { +>forInStatement1 : () => Promise + + for (x in await y) { z; } +>x : any +>await y : any +>y : any +>z : any +} + +async function forInStatement2() { +>forInStatement2 : () => Promise + + for (x in y) { await z; } +>x : any +>y : any +>await z : any +>z : any +} + +async function forInStatement3() { +>forInStatement3 : () => Promise + + for ((await x).a in y) { z; } +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function forInStatement4() { +>forInStatement4 : () => Promise + + for (x.a in await y) { z; } +>x.a : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function forInStatement5() { +>forInStatement5 : () => Promise + + for (x.a in y) { await z; } +>x.a : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + +async function forInStatement6() { +>forInStatement6 : () => Promise + + for (var a in y) { z; } +>a : string +>y : any +>z : any +} + +async function forInStatement7() { +>forInStatement7 : () => Promise + + for (var b in await y) { z; } +>b : string +>await y : any +>y : any +>z : any +} + +async function forInStatement8() { +>forInStatement8 : () => Promise + + for (var c in y) { await z; } +>c : string +>y : any +>await z : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionForOfStatements.js b/tests/baselines/reference/es5-asyncFunctionForOfStatements.js new file mode 100644 index 00000000000..e12f1e18d44 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForOfStatements.js @@ -0,0 +1,537 @@ +//// [es5-asyncFunctionForOfStatements.ts] +declare var x, y, z, a, b, c; + +async function forOfStatement0() { + for (x of y) { z; } +} + +async function forOfStatement1() { + for (x of await y) { z; } +} + +async function forOfStatement2() { + for (x of y) { await z; } +} + +async function forOfStatement3() { + for ((await x).a of y) { z; } +} + +async function forOfStatement4() { + for (x.a of await y) { z; } +} + +async function forOfStatement5() { + for (x.a of y) { await z; } +} + +async function forOfStatement6() { + for (var b of y) { z; } +} + +async function forOfStatement7() { + for (var c of await y) { z; } +} + +async function forOfStatement8() { + for (var d of y) { await z; } +} + +async function forOfStatement9() { + for ([x] of await y) { z; } +} + +async function forOfStatement10() { + for ([x] of y) { await z; } +} + +async function forOfStatement11() { + for ([x = await a] of y) { z; } +} + +async function forOfStatement12() { + for ([x = a] of await y) { z; } +} + +async function forOfStatement13() { + for ([x = a] of y) { await z; } +} + +async function forOfStatement14() { + for ({ x } of await y) { z; } +} + +async function forOfStatement15() { + for ({ x } of y) { await z; } +} + +async function forOfStatement16() { + for ({ x = await a } of y) { z; } +} + +async function forOfStatement17() { + for ({ x = a } of await y) { z; } +} + +async function forOfStatement18() { + for ({ x = a } of y) { await z; } +} + +//// [es5-asyncFunctionForOfStatements.js] +function forOfStatement0() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_1; + return __generator(this, function (_a) { + for (_i = 0, y_1 = y; _i < y_1.length; _i++) { + x = y_1[_i]; + z; + } + return [2 /*return*/]; + }); + }); +} +function forOfStatement1() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x = _a[_i]; + z; + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement2() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_2 = y; + _a.label = 1; + case 1: + if (!(_i < y_2.length)) + return [3 /*break*/, 4]; + x = y_2[_i]; + return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement3() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_3 = y; + _a.label = 1; + case 1: + if (!(_i < y_3.length)) + return [3 /*break*/, 4]; + return [4 /*yield*/, x]; + case 2: + (_a.sent()).a = y_3[_i]; + z; + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement4() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x.a = _a[_i]; + z; + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement5() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_4 = y; + _a.label = 1; + case 1: + if (!(_i < y_4.length)) + return [3 /*break*/, 4]; + x.a = y_4[_i]; + return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement6() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_5, b; + return __generator(this, function (_a) { + for (_i = 0, y_5 = y; _i < y_5.length; _i++) { + b = y_5[_i]; + z; + } + return [2 /*return*/]; + }); + }); +} +function forOfStatement7() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a, c; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + c = _a[_i]; + z; + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement8() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_6, d; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_6 = y; + _a.label = 1; + case 1: + if (!(_i < y_6.length)) + return [3 /*break*/, 4]; + d = y_6[_i]; + return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement9() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x = _a[_i][0]; + z; + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement10() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_7; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_7 = y; + _a.label = 1; + case 1: + if (!(_i < y_7.length)) + return [3 /*break*/, 4]; + x = y_7[_i][0]; + return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement11() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_8, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _i = 0, y_8 = y; + _c.label = 1; + case 1: + if (!(_i < y_8.length)) + return [3 /*break*/, 6]; + _b = y_8[_i][0]; + if (!(_b === void 0)) + return [3 /*break*/, 3]; + return [4 /*yield*/, a]; + case 2: + _a = _c.sent(); + return [3 /*break*/, 4]; + case 3: + _a = _b; + _c.label = 4; + case 4: + x = _a; + z; + _c.label = 5; + case 5: + _i++; + return [3 /*break*/, 1]; + case 6: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement12() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _c.sent(); + _c.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + _b = _a[_i][0], x = _b === void 0 ? a : _b; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement13() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_9, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0, y_9 = y; + _b.label = 1; + case 1: + if (!(_i < y_9.length)) + return [3 /*break*/, 4]; + _a = y_9[_i][0], x = _a === void 0 ? a : _a; + return [4 /*yield*/, z]; + case 2: + _b.sent(); + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement14() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + x = _a[_i].x; + z; + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement15() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_10; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _i = 0, y_10 = y; + _a.label = 1; + case 1: + if (!(_i < y_10.length)) + return [3 /*break*/, 4]; + x = y_10[_i].x; + return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement16() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_11, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _i = 0, y_11 = y; + _c.label = 1; + case 1: + if (!(_i < y_11.length)) + return [3 /*break*/, 6]; + _b = y_11[_i].x; + if (!(_b === void 0)) + return [3 /*break*/, 3]; + return [4 /*yield*/, a]; + case 2: + _a = _c.sent(); + return [3 /*break*/, 4]; + case 3: + _a = _b; + _c.label = 4; + case 4: + x = _a; + z; + _c.label = 5; + case 5: + _i++; + return [3 /*break*/, 1]; + case 6: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement17() { + return __awaiter(this, void 0, void 0, function () { + var _i, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _i = 0; + return [4 /*yield*/, y]; + case 1: + _a = _c.sent(); + _c.label = 2; + case 2: + if (!(_i < _a.length)) + return [3 /*break*/, 4]; + _b = _a[_i].x, x = _b === void 0 ? a : _b; + z; + _c.label = 3; + case 3: + _i++; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forOfStatement18() { + return __awaiter(this, void 0, void 0, function () { + var _i, y_12, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0, y_12 = y; + _b.label = 1; + case 1: + if (!(_i < y_12.length)) + return [3 /*break*/, 4]; + _a = y_12[_i].x, x = _a === void 0 ? a : _a; + return [4 /*yield*/, z]; + case 2: + _b.sent(); + _b.label = 3; + case 3: + _i++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionForOfStatements.symbols b/tests/baselines/reference/es5-asyncFunctionForOfStatements.symbols new file mode 100644 index 00000000000..15742967e09 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForOfStatements.symbols @@ -0,0 +1,183 @@ +=== tests/cases/compiler/es5-asyncFunctionForOfStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForOfStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionForOfStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionForOfStatements.ts, 0, 26)) + +async function forOfStatement0() { +>forOfStatement0 : Symbol(forOfStatement0, Decl(es5-asyncFunctionForOfStatements.ts, 0, 29)) + + for (x of y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement1() { +>forOfStatement1 : Symbol(forOfStatement1, Decl(es5-asyncFunctionForOfStatements.ts, 4, 1)) + + for (x of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement2() { +>forOfStatement2 : Symbol(forOfStatement2, Decl(es5-asyncFunctionForOfStatements.ts, 8, 1)) + + for (x of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement3() { +>forOfStatement3 : Symbol(forOfStatement3, Decl(es5-asyncFunctionForOfStatements.ts, 12, 1)) + + for ((await x).a of y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement4() { +>forOfStatement4 : Symbol(forOfStatement4, Decl(es5-asyncFunctionForOfStatements.ts, 16, 1)) + + for (x.a of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement5() { +>forOfStatement5 : Symbol(forOfStatement5, Decl(es5-asyncFunctionForOfStatements.ts, 20, 1)) + + for (x.a of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement6() { +>forOfStatement6 : Symbol(forOfStatement6, Decl(es5-asyncFunctionForOfStatements.ts, 24, 1)) + + for (var b of y) { z; } +>b : Symbol(b, Decl(es5-asyncFunctionForOfStatements.ts, 27, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement7() { +>forOfStatement7 : Symbol(forOfStatement7, Decl(es5-asyncFunctionForOfStatements.ts, 28, 1)) + + for (var c of await y) { z; } +>c : Symbol(c, Decl(es5-asyncFunctionForOfStatements.ts, 31, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement8() { +>forOfStatement8 : Symbol(forOfStatement8, Decl(es5-asyncFunctionForOfStatements.ts, 32, 1)) + + for (var d of y) { await z; } +>d : Symbol(d, Decl(es5-asyncFunctionForOfStatements.ts, 35, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement9() { +>forOfStatement9 : Symbol(forOfStatement9, Decl(es5-asyncFunctionForOfStatements.ts, 36, 1)) + + for ([x] of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement10() { +>forOfStatement10 : Symbol(forOfStatement10, Decl(es5-asyncFunctionForOfStatements.ts, 40, 1)) + + for ([x] of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement11() { +>forOfStatement11 : Symbol(forOfStatement11, Decl(es5-asyncFunctionForOfStatements.ts, 44, 1)) + + for ([x = await a] of y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionForOfStatements.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement12() { +>forOfStatement12 : Symbol(forOfStatement12, Decl(es5-asyncFunctionForOfStatements.ts, 48, 1)) + + for ([x = a] of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionForOfStatements.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement13() { +>forOfStatement13 : Symbol(forOfStatement13, Decl(es5-asyncFunctionForOfStatements.ts, 52, 1)) + + for ([x = a] of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionForOfStatements.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement14() { +>forOfStatement14 : Symbol(forOfStatement14, Decl(es5-asyncFunctionForOfStatements.ts, 56, 1)) + + for ({ x } of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 59, 10)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement15() { +>forOfStatement15 : Symbol(forOfStatement15, Decl(es5-asyncFunctionForOfStatements.ts, 60, 1)) + + for ({ x } of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 63, 10)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement16() { +>forOfStatement16 : Symbol(forOfStatement16, Decl(es5-asyncFunctionForOfStatements.ts, 64, 1)) + + for ({ x = await a } of y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 67, 10)) +>a : Symbol(a, Decl(es5-asyncFunctionForOfStatements.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement17() { +>forOfStatement17 : Symbol(forOfStatement17, Decl(es5-asyncFunctionForOfStatements.ts, 68, 1)) + + for ({ x = a } of await y) { z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 71, 10)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} + +async function forOfStatement18() { +>forOfStatement18 : Symbol(forOfStatement18, Decl(es5-asyncFunctionForOfStatements.ts, 72, 1)) + + for ({ x = a } of y) { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionForOfStatements.ts, 75, 10)) +>y : Symbol(y, Decl(es5-asyncFunctionForOfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForOfStatements.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionForOfStatements.types b/tests/baselines/reference/es5-asyncFunctionForOfStatements.types new file mode 100644 index 00000000000..24c5e5eb83c --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForOfStatements.types @@ -0,0 +1,222 @@ +=== tests/cases/compiler/es5-asyncFunctionForOfStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function forOfStatement0() { +>forOfStatement0 : () => Promise + + for (x of y) { z; } +>x : any +>y : any +>z : any +} + +async function forOfStatement1() { +>forOfStatement1 : () => Promise + + for (x of await y) { z; } +>x : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement2() { +>forOfStatement2 : () => Promise + + for (x of y) { await z; } +>x : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement3() { +>forOfStatement3 : () => Promise + + for ((await x).a of y) { z; } +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function forOfStatement4() { +>forOfStatement4 : () => Promise + + for (x.a of await y) { z; } +>x.a : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement5() { +>forOfStatement5 : () => Promise + + for (x.a of y) { await z; } +>x.a : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement6() { +>forOfStatement6 : () => Promise + + for (var b of y) { z; } +>b : any +>y : any +>z : any +} + +async function forOfStatement7() { +>forOfStatement7 : () => Promise + + for (var c of await y) { z; } +>c : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement8() { +>forOfStatement8 : () => Promise + + for (var d of y) { await z; } +>d : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement9() { +>forOfStatement9 : () => Promise + + for ([x] of await y) { z; } +>[x] : [any] +>x : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement10() { +>forOfStatement10 : () => Promise + + for ([x] of y) { await z; } +>[x] : [any] +>x : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement11() { +>forOfStatement11 : () => Promise + + for ([x = await a] of y) { z; } +>[x = await a] : [any] +>x = await a : any +>x : any +>await a : any +>a : any +>y : any +>z : any +} + +async function forOfStatement12() { +>forOfStatement12 : () => Promise + + for ([x = a] of await y) { z; } +>[x = a] : [any] +>x = a : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement13() { +>forOfStatement13 : () => Promise + + for ([x = a] of y) { await z; } +>[x = a] : [any] +>x = a : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement14() { +>forOfStatement14 : () => Promise + + for ({ x } of await y) { z; } +>{ x } : { x: any; } +>x : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement15() { +>forOfStatement15 : () => Promise + + for ({ x } of y) { await z; } +>{ x } : { x: any; } +>x : any +>y : any +>await z : any +>z : any +} + +async function forOfStatement16() { +>forOfStatement16 : () => Promise + + for ({ x = await a } of y) { z; } +>{ x = await a } : { x?: any; } +>x : any +>await a : any +>a : any +>y : any +>z : any +} + +async function forOfStatement17() { +>forOfStatement17 : () => Promise + + for ({ x = a } of await y) { z; } +>{ x = a } : { x?: any; } +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function forOfStatement18() { +>forOfStatement18 : () => Promise + + for ({ x = a } of y) { await z; } +>{ x = a } : { x?: any; } +>x : any +>a : any +>y : any +>await z : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionForStatements.js b/tests/baselines/reference/es5-asyncFunctionForStatements.js new file mode 100644 index 00000000000..e02d20c7864 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForStatements.js @@ -0,0 +1,149 @@ +//// [es5-asyncFunctionForStatements.ts] +declare var x, y, z, a, b, c; + +async function forStatement0() { + for (x; y; z) { a; } +} + +async function forStatement1() { + for (await x; y; z) { a; } +} + +async function forStatement2() { + for (x; await y; z) { a; } +} + +async function forStatement3() { + for (x; y; await z) { a; } +} + +async function forStatement4() { + for (x; y; z) { await a; } +} + +async function forStatement5() { + for (var b; y; z) { a; } +} + +async function forStatement6() { + for (var c = x; y; z) { a; } +} + +//// [es5-asyncFunctionForStatements.js] +function forStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + for (x; y; z) { + a; + } + return [2 /*return*/]; + }); + }); +} +function forStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + _a.label = 2; + case 2: + if (!y) + return [3 /*break*/, 4]; + a; + _a.label = 3; + case 3: + z; + return [3 /*break*/, 2]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forStatement2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + x; + _a.label = 1; + case 1: return [4 /*yield*/, y]; + case 2: + if (!_a.sent()) + return [3 /*break*/, 4]; + a; + _a.label = 3; + case 3: + z; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forStatement3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + x; + _a.label = 1; + case 1: + if (!y) + return [3 /*break*/, 4]; + a; + _a.label = 2; + case 2: return [4 /*yield*/, z]; + case 3: + _a.sent(); + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forStatement4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + x; + _a.label = 1; + case 1: + if (!y) + return [3 /*break*/, 4]; + return [4 /*yield*/, a]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + z; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function forStatement5() { + return __awaiter(this, void 0, void 0, function () { + var b; + return __generator(this, function (_a) { + for (; y; z) { + a; + } + return [2 /*return*/]; + }); + }); +} +function forStatement6() { + return __awaiter(this, void 0, void 0, function () { + var c; + return __generator(this, function (_a) { + for (c = x; y; z) { + a; + } + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionForStatements.symbols b/tests/baselines/reference/es5-asyncFunctionForStatements.symbols new file mode 100644 index 00000000000..878c29e4847 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForStatements.symbols @@ -0,0 +1,79 @@ +=== tests/cases/compiler/es5-asyncFunctionForStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionForStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionForStatements.ts, 0, 26)) + +async function forStatement0() { +>forStatement0 : Symbol(forStatement0, Decl(es5-asyncFunctionForStatements.ts, 0, 29)) + + for (x; y; z) { a; } +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement1() { +>forStatement1 : Symbol(forStatement1, Decl(es5-asyncFunctionForStatements.ts, 4, 1)) + + for (await x; y; z) { a; } +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement2() { +>forStatement2 : Symbol(forStatement2, Decl(es5-asyncFunctionForStatements.ts, 8, 1)) + + for (x; await y; z) { a; } +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement3() { +>forStatement3 : Symbol(forStatement3, Decl(es5-asyncFunctionForStatements.ts, 12, 1)) + + for (x; y; await z) { a; } +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement4() { +>forStatement4 : Symbol(forStatement4, Decl(es5-asyncFunctionForStatements.ts, 16, 1)) + + for (x; y; z) { await a; } +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement5() { +>forStatement5 : Symbol(forStatement5, Decl(es5-asyncFunctionForStatements.ts, 20, 1)) + + for (var b; y; z) { a; } +>b : Symbol(b, Decl(es5-asyncFunctionForStatements.ts, 23, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} + +async function forStatement6() { +>forStatement6 : Symbol(forStatement6, Decl(es5-asyncFunctionForStatements.ts, 24, 1)) + + for (var c = x; y; z) { a; } +>c : Symbol(c, Decl(es5-asyncFunctionForStatements.ts, 27, 12)) +>x : Symbol(x, Decl(es5-asyncFunctionForStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionForStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionForStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionForStatements.ts, 0, 20)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionForStatements.types b/tests/baselines/reference/es5-asyncFunctionForStatements.types new file mode 100644 index 00000000000..0b060f5b708 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionForStatements.types @@ -0,0 +1,83 @@ +=== tests/cases/compiler/es5-asyncFunctionForStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function forStatement0() { +>forStatement0 : () => Promise + + for (x; y; z) { a; } +>x : any +>y : any +>z : any +>a : any +} + +async function forStatement1() { +>forStatement1 : () => Promise + + for (await x; y; z) { a; } +>await x : any +>x : any +>y : any +>z : any +>a : any +} + +async function forStatement2() { +>forStatement2 : () => Promise + + for (x; await y; z) { a; } +>x : any +>await y : any +>y : any +>z : any +>a : any +} + +async function forStatement3() { +>forStatement3 : () => Promise + + for (x; y; await z) { a; } +>x : any +>y : any +>await z : any +>z : any +>a : any +} + +async function forStatement4() { +>forStatement4 : () => Promise + + for (x; y; z) { await a; } +>x : any +>y : any +>z : any +>await a : any +>a : any +} + +async function forStatement5() { +>forStatement5 : () => Promise + + for (var b; y; z) { a; } +>b : any +>y : any +>z : any +>a : any +} + +async function forStatement6() { +>forStatement6 : () => Promise + + for (var c = x; y; z) { a; } +>c : any +>x : any +>y : any +>z : any +>a : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionHoisting.js b/tests/baselines/reference/es5-asyncFunctionHoisting.js new file mode 100644 index 00000000000..1ee846d0126 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionHoisting.js @@ -0,0 +1,105 @@ +//// [es5-asyncFunctionHoisting.ts] +declare var y; + +async function hoisting() { + var a0, a1 = 1; + function z() { + var b0, b1 = 1; + } + + if (true) { + var c0, c1 = 1; + } + + for (var a = 0; y;) { + + } + + for (var b in y) { + + } + + for (var c of y) { + + } +} + +async function hoistingWithAwait() { + var a0, a1 = 1; + + function z() { + var b0, b1 = 1; + } + + await 0; + + if (true) { + var c0, c1 = 1; + } + + for (var a = 0; y;) { + + } + + for (var b in y) { + + } + + for (var c of y) { + + } +} + + + +//// [es5-asyncFunctionHoisting.js] +function hoisting() { + return __awaiter(this, void 0, void 0, function () { + function z() { + var b0, b1 = 1; + } + var a0, a1, c0, c1, a, b, _i, y_1, c; + return __generator(this, function (_a) { + a1 = 1; + if (true) { + c1 = 1; + } + for (a = 0; y;) { + } + for (b in y) { + } + for (_i = 0, y_1 = y; _i < y_1.length; _i++) { + c = y_1[_i]; + } + return [2 /*return*/]; + }); + }); +} +function hoistingWithAwait() { + return __awaiter(this, void 0, void 0, function () { + function z() { + var b0, b1 = 1; + } + var a0, a1, c0, c1, a, b, _i, y_2, c; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + a1 = 1; + return [4 /*yield*/, 0]; + case 1: + _a.sent(); + if (true) { + c1 = 1; + } + for (a = 0; y;) { + } + for (b in y) { + } + for (_i = 0, y_2 = y; _i < y_2.length; _i++) { + c = y_2[_i]; + } + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionHoisting.symbols b/tests/baselines/reference/es5-asyncFunctionHoisting.symbols new file mode 100644 index 00000000000..24106028622 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionHoisting.symbols @@ -0,0 +1,87 @@ +=== tests/cases/compiler/es5-asyncFunctionHoisting.ts === +declare var y; +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + +async function hoisting() { +>hoisting : Symbol(hoisting, Decl(es5-asyncFunctionHoisting.ts, 0, 14)) + + var a0, a1 = 1; +>a0 : Symbol(a0, Decl(es5-asyncFunctionHoisting.ts, 3, 7)) +>a1 : Symbol(a1, Decl(es5-asyncFunctionHoisting.ts, 3, 11)) + + function z() { +>z : Symbol(z, Decl(es5-asyncFunctionHoisting.ts, 3, 19)) + + var b0, b1 = 1; +>b0 : Symbol(b0, Decl(es5-asyncFunctionHoisting.ts, 5, 11)) +>b1 : Symbol(b1, Decl(es5-asyncFunctionHoisting.ts, 5, 15)) + } + + if (true) { + var c0, c1 = 1; +>c0 : Symbol(c0, Decl(es5-asyncFunctionHoisting.ts, 9, 11)) +>c1 : Symbol(c1, Decl(es5-asyncFunctionHoisting.ts, 9, 15)) + } + + for (var a = 0; y;) { +>a : Symbol(a, Decl(es5-asyncFunctionHoisting.ts, 12, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } + + for (var b in y) { +>b : Symbol(b, Decl(es5-asyncFunctionHoisting.ts, 16, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } + + for (var c of y) { +>c : Symbol(c, Decl(es5-asyncFunctionHoisting.ts, 20, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } +} + +async function hoistingWithAwait() { +>hoistingWithAwait : Symbol(hoistingWithAwait, Decl(es5-asyncFunctionHoisting.ts, 23, 1)) + + var a0, a1 = 1; +>a0 : Symbol(a0, Decl(es5-asyncFunctionHoisting.ts, 26, 7)) +>a1 : Symbol(a1, Decl(es5-asyncFunctionHoisting.ts, 26, 11)) + + function z() { +>z : Symbol(z, Decl(es5-asyncFunctionHoisting.ts, 26, 19)) + + var b0, b1 = 1; +>b0 : Symbol(b0, Decl(es5-asyncFunctionHoisting.ts, 29, 11)) +>b1 : Symbol(b1, Decl(es5-asyncFunctionHoisting.ts, 29, 15)) + } + + await 0; + + if (true) { + var c0, c1 = 1; +>c0 : Symbol(c0, Decl(es5-asyncFunctionHoisting.ts, 35, 11)) +>c1 : Symbol(c1, Decl(es5-asyncFunctionHoisting.ts, 35, 15)) + } + + for (var a = 0; y;) { +>a : Symbol(a, Decl(es5-asyncFunctionHoisting.ts, 38, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } + + for (var b in y) { +>b : Symbol(b, Decl(es5-asyncFunctionHoisting.ts, 42, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } + + for (var c of y) { +>c : Symbol(c, Decl(es5-asyncFunctionHoisting.ts, 46, 12)) +>y : Symbol(y, Decl(es5-asyncFunctionHoisting.ts, 0, 11)) + + } +} + + diff --git a/tests/baselines/reference/es5-asyncFunctionHoisting.types b/tests/baselines/reference/es5-asyncFunctionHoisting.types new file mode 100644 index 00000000000..933f4fc5c30 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionHoisting.types @@ -0,0 +1,101 @@ +=== tests/cases/compiler/es5-asyncFunctionHoisting.ts === +declare var y; +>y : any + +async function hoisting() { +>hoisting : () => Promise + + var a0, a1 = 1; +>a0 : any +>a1 : number +>1 : 1 + + function z() { +>z : () => void + + var b0, b1 = 1; +>b0 : any +>b1 : number +>1 : 1 + } + + if (true) { +>true : true + + var c0, c1 = 1; +>c0 : any +>c1 : number +>1 : 1 + } + + for (var a = 0; y;) { +>a : number +>0 : 0 +>y : any + + } + + for (var b in y) { +>b : string +>y : any + + } + + for (var c of y) { +>c : any +>y : any + + } +} + +async function hoistingWithAwait() { +>hoistingWithAwait : () => Promise + + var a0, a1 = 1; +>a0 : any +>a1 : number +>1 : 1 + + function z() { +>z : () => void + + var b0, b1 = 1; +>b0 : any +>b1 : number +>1 : 1 + } + + await 0; +>await 0 : 0 +>0 : 0 + + if (true) { +>true : true + + var c0, c1 = 1; +>c0 : any +>c1 : number +>1 : 1 + } + + for (var a = 0; y;) { +>a : number +>0 : 0 +>y : any + + } + + for (var b in y) { +>b : string +>y : any + + } + + for (var c of y) { +>c : any +>y : any + + } +} + + diff --git a/tests/baselines/reference/es5-asyncFunctionIfStatements.js b/tests/baselines/reference/es5-asyncFunctionIfStatements.js new file mode 100644 index 00000000000..7ac35c995e7 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionIfStatements.js @@ -0,0 +1,70 @@ +//// [es5-asyncFunctionIfStatements.ts] +declare var x, y, z, a, b, c; + +async function ifStatement1() { + if (await x) { y; } else { z; } +} + +async function ifStatement2() { + if (x) { await y; } else { z; } +} + +async function ifStatement3() { + if (x) { y; } else { await z; } +} + +//// [es5-asyncFunctionIfStatements.js] +function ifStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (_a.sent()) { + y; + } + else { + z; + } + return [2 /*return*/]; + } + }); + }); +} +function ifStatement2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + z; + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function ifStatement3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 1]; + y; + return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, z]; + case 2: + _a.sent(); + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionIfStatements.symbols b/tests/baselines/reference/es5-asyncFunctionIfStatements.symbols new file mode 100644 index 00000000000..b8d8387eaec --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionIfStatements.symbols @@ -0,0 +1,35 @@ +=== tests/cases/compiler/es5-asyncFunctionIfStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionIfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionIfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionIfStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionIfStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionIfStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionIfStatements.ts, 0, 26)) + +async function ifStatement1() { +>ifStatement1 : Symbol(ifStatement1, Decl(es5-asyncFunctionIfStatements.ts, 0, 29)) + + if (await x) { y; } else { z; } +>x : Symbol(x, Decl(es5-asyncFunctionIfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionIfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionIfStatements.ts, 0, 17)) +} + +async function ifStatement2() { +>ifStatement2 : Symbol(ifStatement2, Decl(es5-asyncFunctionIfStatements.ts, 4, 1)) + + if (x) { await y; } else { z; } +>x : Symbol(x, Decl(es5-asyncFunctionIfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionIfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionIfStatements.ts, 0, 17)) +} + +async function ifStatement3() { +>ifStatement3 : Symbol(ifStatement3, Decl(es5-asyncFunctionIfStatements.ts, 8, 1)) + + if (x) { y; } else { await z; } +>x : Symbol(x, Decl(es5-asyncFunctionIfStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionIfStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionIfStatements.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionIfStatements.types b/tests/baselines/reference/es5-asyncFunctionIfStatements.types new file mode 100644 index 00000000000..9cecdcb9f60 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionIfStatements.types @@ -0,0 +1,38 @@ +=== tests/cases/compiler/es5-asyncFunctionIfStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function ifStatement1() { +>ifStatement1 : () => Promise + + if (await x) { y; } else { z; } +>await x : any +>x : any +>y : any +>z : any +} + +async function ifStatement2() { +>ifStatement2 : () => Promise + + if (x) { await y; } else { z; } +>x : any +>await y : any +>y : any +>z : any +} + +async function ifStatement3() { +>ifStatement3 : () => Promise + + if (x) { y; } else { await z; } +>x : any +>y : any +>await z : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionNestedLoops.js b/tests/baselines/reference/es5-asyncFunctionNestedLoops.js new file mode 100644 index 00000000000..28ccc288b7e --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNestedLoops.js @@ -0,0 +1,38 @@ +//// [es5-asyncFunctionNestedLoops.ts] +declare var x, y, z, a, b, c; + +async function nestedLoops() { + A: while (x) { + await y; + while (z) { + continue A; + } + while (a) { + continue; + } + } +} + +//// [es5-asyncFunctionNestedLoops.js] +function nestedLoops() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + while (z) { + return [3 /*break*/, 0]; + } + while (a) { + continue; + } + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionNestedLoops.symbols b/tests/baselines/reference/es5-asyncFunctionNestedLoops.symbols new file mode 100644 index 00000000000..45d9cdc781b --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNestedLoops.symbols @@ -0,0 +1,30 @@ +=== tests/cases/compiler/es5-asyncFunctionNestedLoops.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionNestedLoops.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNestedLoops.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNestedLoops.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionNestedLoops.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionNestedLoops.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionNestedLoops.ts, 0, 26)) + +async function nestedLoops() { +>nestedLoops : Symbol(nestedLoops, Decl(es5-asyncFunctionNestedLoops.ts, 0, 29)) + + A: while (x) { +>x : Symbol(x, Decl(es5-asyncFunctionNestedLoops.ts, 0, 11)) + + await y; +>y : Symbol(y, Decl(es5-asyncFunctionNestedLoops.ts, 0, 14)) + + while (z) { +>z : Symbol(z, Decl(es5-asyncFunctionNestedLoops.ts, 0, 17)) + + continue A; + } + while (a) { +>a : Symbol(a, Decl(es5-asyncFunctionNestedLoops.ts, 0, 20)) + + continue; + } + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionNestedLoops.types b/tests/baselines/reference/es5-asyncFunctionNestedLoops.types new file mode 100644 index 00000000000..3a2913e65b1 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNestedLoops.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/es5-asyncFunctionNestedLoops.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function nestedLoops() { +>nestedLoops : () => Promise + + A: while (x) { +>A : any +>x : any + + await y; +>await y : any +>y : any + + while (z) { +>z : any + + continue A; +>A : any + } + while (a) { +>a : any + + continue; + } + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionNewExpressions.js b/tests/baselines/reference/es5-asyncFunctionNewExpressions.js new file mode 100644 index 00000000000..486bf0fdd7f --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNewExpressions.js @@ -0,0 +1,386 @@ +//// [es5-asyncFunctionNewExpressions.ts] +declare var x, y, z, a, b, c; + +async function newExpression0() { + await new x(y, z); +} + +async function newExpression1() { + new (await x)(y, z); +} + +async function newExpression2() { + new x(await y, z); +} + +async function newExpression3() { + new x(y, await z); +} + +async function newExpression4() { + await new x(...y, z); +} + +async function newExpression5() { + new (await x)(...y, z); +} + +async function newExpression6() { + new x(...(await y), z); +} + +async function newExpression7() { + new x(...y, await z); +} + +async function newExpression8() { + new x(await y, ...z); +} + +async function newExpression9() { + new x(y, ...(await z)); +} + +async function newExpression10() { + await new x.a(y, z); +} + +async function newExpression11() { + new (await x.a)(y, z); +} + +async function newExpression12() { + new (await x).a(y, z); +} + +async function newExpression13() { + new x.a(await y, z); +} + +async function newExpression14() { + new x.a(y, await z); +} + +async function newExpression15() { + await new x[a](y, z); +} + +async function newExpression16() { + new (await x[a])(y, z); +} + +async function newExpression17() { + new (await x)[a](y, z); +} + +async function newExpression18() { + new x[await a](y, z); +} + +async function newExpression19() { + new x[a](await y, z); +} + +async function newExpression20() { + new x[a](y, await z); +} + +//// [es5-asyncFunctionNewExpressions.js] +function newExpression0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, new x(y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + new (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression2() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x.bind; + return [4 /*yield*/, y]; + case 1: + new (_a.apply(x, [_c.sent(), z]))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x.bind; + _b = [y]; + return [4 /*yield*/, z]; + case 1: + new (_a.apply(x, _b.concat([_c.sent()])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, new (x.bind.apply(x, [void 0].concat(y, [z])))()]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression5() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, x]; + case 1: + new ((_a = (_b.sent())).bind.apply(_a, [void 0].concat(y, [z])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression6() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f; + return __generator(this, function (_g) { + switch (_g.label) { + case 0: + _b = (_a = x.bind).apply; + _c = [x]; + _e = (_d = [void 0]).concat; + return [4 /*yield*/, y]; + case 1: + new (_b.apply(_a, _c.concat([_e.apply(_d, [(_g.sent()), [z]])])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression7() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f, _g; + return __generator(this, function (_h) { + switch (_h.label) { + case 0: + _b = (_a = x.bind).apply; + _c = [x]; + _e = (_d = [void 0]).concat; + _f = [y]; + return [4 /*yield*/, z]; + case 1: + new (_b.apply(_a, _c.concat([_e.apply(_d, _f.concat([[_h.sent()]]))])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression8() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + _b = (_a = x.bind).apply; + _c = [x]; + _d = [void 0]; + return [4 /*yield*/, y]; + case 1: + new (_b.apply(_a, _c.concat([_d.concat([_e.sent()]).concat(z)])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression9() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c, _d, _e, _f; + return __generator(this, function (_g) { + switch (_g.label) { + case 0: + _b = (_a = x.bind).apply; + _c = [x]; + _e = (_d = [void 0, y]).concat; + return [4 /*yield*/, z]; + case 1: + new (_b.apply(_a, _c.concat([_e.apply(_d, [(_g.sent())])])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression10() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, new x.a(y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression11() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a]; + case 1: + new (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression12() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + new (_a.sent()).a(y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression13() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x.a).bind; + return [4 /*yield*/, y]; + case 1: + new (_b.apply(_a, [_d.sent(), z]))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression14() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x.a).bind; + _c = [y]; + return [4 /*yield*/, z]; + case 1: + new (_b.apply(_a, _c.concat([_d.sent()])))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression15() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, new x[a](y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression16() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x[a]]; + case 1: + new (_a.sent())(y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression17() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + new (_a.sent())[a](y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression18() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, a]; + case 1: + new _a[_b.sent()](y, z); + return [2 /*return*/]; + } + }); + }); +} +function newExpression19() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x[a]).bind; + return [4 /*yield*/, y]; + case 1: + new (_b.apply(_a, [_d.sent(), z]))(); + return [2 /*return*/]; + } + }); + }); +} +function newExpression20() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b, _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: + _b = (_a = x[a]).bind; + _c = [y]; + return [4 /*yield*/, z]; + case 1: + new (_b.apply(_a, _c.concat([_d.sent()])))(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionNewExpressions.symbols b/tests/baselines/reference/es5-asyncFunctionNewExpressions.symbols new file mode 100644 index 00000000000..19309bd19fe --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNewExpressions.symbols @@ -0,0 +1,203 @@ +=== tests/cases/compiler/es5-asyncFunctionNewExpressions.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionNewExpressions.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionNewExpressions.ts, 0, 26)) + +async function newExpression0() { +>newExpression0 : Symbol(newExpression0, Decl(es5-asyncFunctionNewExpressions.ts, 0, 29)) + + await new x(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression1() { +>newExpression1 : Symbol(newExpression1, Decl(es5-asyncFunctionNewExpressions.ts, 4, 1)) + + new (await x)(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression2() { +>newExpression2 : Symbol(newExpression2, Decl(es5-asyncFunctionNewExpressions.ts, 8, 1)) + + new x(await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression3() { +>newExpression3 : Symbol(newExpression3, Decl(es5-asyncFunctionNewExpressions.ts, 12, 1)) + + new x(y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression4() { +>newExpression4 : Symbol(newExpression4, Decl(es5-asyncFunctionNewExpressions.ts, 16, 1)) + + await new x(...y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression5() { +>newExpression5 : Symbol(newExpression5, Decl(es5-asyncFunctionNewExpressions.ts, 20, 1)) + + new (await x)(...y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression6() { +>newExpression6 : Symbol(newExpression6, Decl(es5-asyncFunctionNewExpressions.ts, 24, 1)) + + new x(...(await y), z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression7() { +>newExpression7 : Symbol(newExpression7, Decl(es5-asyncFunctionNewExpressions.ts, 28, 1)) + + new x(...y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression8() { +>newExpression8 : Symbol(newExpression8, Decl(es5-asyncFunctionNewExpressions.ts, 32, 1)) + + new x(await y, ...z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression9() { +>newExpression9 : Symbol(newExpression9, Decl(es5-asyncFunctionNewExpressions.ts, 36, 1)) + + new x(y, ...(await z)); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression10() { +>newExpression10 : Symbol(newExpression10, Decl(es5-asyncFunctionNewExpressions.ts, 40, 1)) + + await new x.a(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression11() { +>newExpression11 : Symbol(newExpression11, Decl(es5-asyncFunctionNewExpressions.ts, 44, 1)) + + new (await x.a)(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression12() { +>newExpression12 : Symbol(newExpression12, Decl(es5-asyncFunctionNewExpressions.ts, 48, 1)) + + new (await x).a(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression13() { +>newExpression13 : Symbol(newExpression13, Decl(es5-asyncFunctionNewExpressions.ts, 52, 1)) + + new x.a(await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression14() { +>newExpression14 : Symbol(newExpression14, Decl(es5-asyncFunctionNewExpressions.ts, 56, 1)) + + new x.a(y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression15() { +>newExpression15 : Symbol(newExpression15, Decl(es5-asyncFunctionNewExpressions.ts, 60, 1)) + + await new x[a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression16() { +>newExpression16 : Symbol(newExpression16, Decl(es5-asyncFunctionNewExpressions.ts, 64, 1)) + + new (await x[a])(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression17() { +>newExpression17 : Symbol(newExpression17, Decl(es5-asyncFunctionNewExpressions.ts, 68, 1)) + + new (await x)[a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression18() { +>newExpression18 : Symbol(newExpression18, Decl(es5-asyncFunctionNewExpressions.ts, 72, 1)) + + new x[await a](y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression19() { +>newExpression19 : Symbol(newExpression19, Decl(es5-asyncFunctionNewExpressions.ts, 76, 1)) + + new x[a](await y, z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} + +async function newExpression20() { +>newExpression20 : Symbol(newExpression20, Decl(es5-asyncFunctionNewExpressions.ts, 80, 1)) + + new x[a](y, await z); +>x : Symbol(x, Decl(es5-asyncFunctionNewExpressions.ts, 0, 11)) +>a : Symbol(a, Decl(es5-asyncFunctionNewExpressions.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionNewExpressions.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionNewExpressions.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionNewExpressions.types b/tests/baselines/reference/es5-asyncFunctionNewExpressions.types new file mode 100644 index 00000000000..c6390430380 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionNewExpressions.types @@ -0,0 +1,275 @@ +=== tests/cases/compiler/es5-asyncFunctionNewExpressions.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function newExpression0() { +>newExpression0 : () => Promise + + await new x(y, z); +>await new x(y, z) : any +>new x(y, z) : any +>x : any +>y : any +>z : any +} + +async function newExpression1() { +>newExpression1 : () => Promise + + new (await x)(y, z); +>new (await x)(y, z) : any +>(await x) : any +>await x : any +>x : any +>y : any +>z : any +} + +async function newExpression2() { +>newExpression2 : () => Promise + + new x(await y, z); +>new x(await y, z) : any +>x : any +>await y : any +>y : any +>z : any +} + +async function newExpression3() { +>newExpression3 : () => Promise + + new x(y, await z); +>new x(y, await z) : any +>x : any +>y : any +>await z : any +>z : any +} + +async function newExpression4() { +>newExpression4 : () => Promise + + await new x(...y, z); +>await new x(...y, z) : any +>new x(...y, z) : any +>x : any +>...y : any +>y : any +>z : any +} + +async function newExpression5() { +>newExpression5 : () => Promise + + new (await x)(...y, z); +>new (await x)(...y, z) : any +>(await x) : any +>await x : any +>x : any +>...y : any +>y : any +>z : any +} + +async function newExpression6() { +>newExpression6 : () => Promise + + new x(...(await y), z); +>new x(...(await y), z) : any +>x : any +>...(await y) : any +>(await y) : any +>await y : any +>y : any +>z : any +} + +async function newExpression7() { +>newExpression7 : () => Promise + + new x(...y, await z); +>new x(...y, await z) : any +>x : any +>...y : any +>y : any +>await z : any +>z : any +} + +async function newExpression8() { +>newExpression8 : () => Promise + + new x(await y, ...z); +>new x(await y, ...z) : any +>x : any +>await y : any +>y : any +>...z : any +>z : any +} + +async function newExpression9() { +>newExpression9 : () => Promise + + new x(y, ...(await z)); +>new x(y, ...(await z)) : any +>x : any +>y : any +>...(await z) : any +>(await z) : any +>await z : any +>z : any +} + +async function newExpression10() { +>newExpression10 : () => Promise + + await new x.a(y, z); +>await new x.a(y, z) : any +>new x.a(y, z) : any +>x.a : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression11() { +>newExpression11 : () => Promise + + new (await x.a)(y, z); +>new (await x.a)(y, z) : any +>(await x.a) : any +>await x.a : any +>x.a : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression12() { +>newExpression12 : () => Promise + + new (await x).a(y, z); +>new (await x).a(y, z) : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression13() { +>newExpression13 : () => Promise + + new x.a(await y, z); +>new x.a(await y, z) : any +>x.a : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function newExpression14() { +>newExpression14 : () => Promise + + new x.a(y, await z); +>new x.a(y, await z) : any +>x.a : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} + +async function newExpression15() { +>newExpression15 : () => Promise + + await new x[a](y, z); +>await new x[a](y, z) : any +>new x[a](y, z) : any +>x[a] : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression16() { +>newExpression16 : () => Promise + + new (await x[a])(y, z); +>new (await x[a])(y, z) : any +>(await x[a]) : any +>await x[a] : any +>x[a] : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression17() { +>newExpression17 : () => Promise + + new (await x)[a](y, z); +>new (await x)[a](y, z) : any +>(await x)[a] : any +>(await x) : any +>await x : any +>x : any +>a : any +>y : any +>z : any +} + +async function newExpression18() { +>newExpression18 : () => Promise + + new x[await a](y, z); +>new x[await a](y, z) : any +>x[await a] : any +>x : any +>await a : any +>a : any +>y : any +>z : any +} + +async function newExpression19() { +>newExpression19 : () => Promise + + new x[a](await y, z); +>new x[a](await y, z) : any +>x[a] : any +>x : any +>a : any +>await y : any +>y : any +>z : any +} + +async function newExpression20() { +>newExpression20 : () => Promise + + new x[a](y, await z); +>new x[a](y, await z) : any +>x[a] : any +>x : any +>a : any +>y : any +>await z : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionObjectLiterals.js b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.js new file mode 100644 index 00000000000..8bc90935d37 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.js @@ -0,0 +1,177 @@ +//// [es5-asyncFunctionObjectLiterals.ts] +declare var x, y, z, a, b, c; + +async function objectLiteral0() { + x = { + a: await y, + b: z + }; +} + +async function objectLiteral1() { + x = { + a: y, + b: await z + }; +} + +async function objectLiteral2() { + x = { + [await a]: y, + b: z + }; +} + +async function objectLiteral3() { + x = { + [a]: await y, + b: z + }; +} + +async function objectLiteral4() { + x = { + a: await y, + [b]: z + }; +} + +async function objectLiteral5() { + x = { + a: y, + [await b]: z + }; +} + +async function objectLiteral6() { + x = { + a: y, + [b]: await z + }; +} + +//// [es5-asyncFunctionObjectLiterals.js] +function objectLiteral0() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, y]; + case 1: + x = (_a.a = _b.sent(), + _a.b = z, + _a); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = { + a: y + }; + return [4 /*yield*/, z]; + case 1: + x = (_a.b = _b.sent(), + _a); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, a]; + case 1: + x = (_a[_b.sent()] = y, + _a.b = z, + _a); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _b = {}; + _a = a; + return [4 /*yield*/, y]; + case 1: + x = (_b[_a] = _c.sent(), + _b.b = z, + _b); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral4() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, y]; + case 1: + x = (_a.a = _b.sent(), + _a[b] = z, + _a); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral5() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = { + a: y + }; + return [4 /*yield*/, b]; + case 1: + x = (_a[_b.sent()] = z, + _a); + return [2 /*return*/]; + } + }); + }); +} +function objectLiteral6() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _b = { + a: y + }; + _a = b; + return [4 /*yield*/, z]; + case 1: + x = (_b[_a] = _c.sent(), + _b); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionObjectLiterals.symbols b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.symbols new file mode 100644 index 00000000000..dd84a5c11f4 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.symbols @@ -0,0 +1,127 @@ +=== tests/cases/compiler/es5-asyncFunctionObjectLiterals.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 26)) + +async function objectLiteral0() { +>objectLiteral0 : Symbol(objectLiteral0, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 29)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + a: await y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 3, 9)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + b: z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 4, 19)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral1() { +>objectLiteral1 : Symbol(objectLiteral1, Decl(es5-asyncFunctionObjectLiterals.ts, 7, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + a: y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 10, 9)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + b: await z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 11, 13)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral2() { +>objectLiteral2 : Symbol(objectLiteral2, Decl(es5-asyncFunctionObjectLiterals.ts, 14, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + [await a]: y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + b: z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 18, 21)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral3() { +>objectLiteral3 : Symbol(objectLiteral3, Decl(es5-asyncFunctionObjectLiterals.ts, 21, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + [a]: await y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 20)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + b: z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 25, 21)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral4() { +>objectLiteral4 : Symbol(objectLiteral4, Decl(es5-asyncFunctionObjectLiterals.ts, 28, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + a: await y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 31, 9)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + [b]: z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 23)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral5() { +>objectLiteral5 : Symbol(objectLiteral5, Decl(es5-asyncFunctionObjectLiterals.ts, 35, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + a: y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 38, 9)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + [await b]: z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 23)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} + +async function objectLiteral6() { +>objectLiteral6 : Symbol(objectLiteral6, Decl(es5-asyncFunctionObjectLiterals.ts, 42, 1)) + + x = { +>x : Symbol(x, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 11)) + + a: y, +>a : Symbol(a, Decl(es5-asyncFunctionObjectLiterals.ts, 45, 9)) +>y : Symbol(y, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 14)) + + [b]: await z +>b : Symbol(b, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 23)) +>z : Symbol(z, Decl(es5-asyncFunctionObjectLiterals.ts, 0, 17)) + + }; +} diff --git a/tests/baselines/reference/es5-asyncFunctionObjectLiterals.types b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.types new file mode 100644 index 00000000000..d37dd8a6ceb --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionObjectLiterals.types @@ -0,0 +1,148 @@ +=== tests/cases/compiler/es5-asyncFunctionObjectLiterals.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function objectLiteral0() { +>objectLiteral0 : () => Promise + + x = { +>x = { a: await y, b: z } : { a: any; b: any; } +>x : any +>{ a: await y, b: z } : { a: any; b: any; } + + a: await y, +>a : any +>await y : any +>y : any + + b: z +>b : any +>z : any + + }; +} + +async function objectLiteral1() { +>objectLiteral1 : () => Promise + + x = { +>x = { a: y, b: await z } : { a: any; b: any; } +>x : any +>{ a: y, b: await z } : { a: any; b: any; } + + a: y, +>a : any +>y : any + + b: await z +>b : any +>await z : any +>z : any + + }; +} + +async function objectLiteral2() { +>objectLiteral2 : () => Promise + + x = { +>x = { [await a]: y, b: z } : { [x: number]: any; b: any; } +>x : any +>{ [await a]: y, b: z } : { [x: number]: any; b: any; } + + [await a]: y, +>await a : any +>a : any +>y : any + + b: z +>b : any +>z : any + + }; +} + +async function objectLiteral3() { +>objectLiteral3 : () => Promise + + x = { +>x = { [a]: await y, b: z } : { [x: number]: any; b: any; } +>x : any +>{ [a]: await y, b: z } : { [x: number]: any; b: any; } + + [a]: await y, +>a : any +>await y : any +>y : any + + b: z +>b : any +>z : any + + }; +} + +async function objectLiteral4() { +>objectLiteral4 : () => Promise + + x = { +>x = { a: await y, [b]: z } : { [x: number]: any; a: any; } +>x : any +>{ a: await y, [b]: z } : { [x: number]: any; a: any; } + + a: await y, +>a : any +>await y : any +>y : any + + [b]: z +>b : any +>z : any + + }; +} + +async function objectLiteral5() { +>objectLiteral5 : () => Promise + + x = { +>x = { a: y, [await b]: z } : { [x: number]: any; a: any; } +>x : any +>{ a: y, [await b]: z } : { [x: number]: any; a: any; } + + a: y, +>a : any +>y : any + + [await b]: z +>await b : any +>b : any +>z : any + + }; +} + +async function objectLiteral6() { +>objectLiteral6 : () => Promise + + x = { +>x = { a: y, [b]: await z } : { [x: number]: any; a: any; } +>x : any +>{ a: y, [b]: await z } : { [x: number]: any; a: any; } + + a: y, +>a : any +>y : any + + [b]: await z +>b : any +>await z : any +>z : any + + }; +} diff --git a/tests/baselines/reference/es5-asyncFunctionPropertyAccess.js b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.js new file mode 100644 index 00000000000..436428a76c5 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.js @@ -0,0 +1,52 @@ +//// [es5-asyncFunctionPropertyAccess.ts] +declare var x, y, z, a, b, c; + +async function propertyAccess0() { + y = await x.a; +} + +async function propertyAccess1() { + y = (await x).a; +} + +async function callExpression0() { + await x(y, z); +} + +//// [es5-asyncFunctionPropertyAccess.js] +function propertyAccess0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x.a]; + case 1: + y = _a.sent(); + return [2 /*return*/]; + } + }); + }); +} +function propertyAccess1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + y = (_a.sent()).a; + return [2 /*return*/]; + } + }); + }); +} +function callExpression0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x(y, z)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionPropertyAccess.symbols b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.symbols new file mode 100644 index 00000000000..22f7bcc9546 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.symbols @@ -0,0 +1,33 @@ +=== tests/cases/compiler/es5-asyncFunctionPropertyAccess.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 26)) + +async function propertyAccess0() { +>propertyAccess0 : Symbol(propertyAccess0, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 29)) + + y = await x.a; +>y : Symbol(y, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 14)) +>x : Symbol(x, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 11)) +} + +async function propertyAccess1() { +>propertyAccess1 : Symbol(propertyAccess1, Decl(es5-asyncFunctionPropertyAccess.ts, 4, 1)) + + y = (await x).a; +>y : Symbol(y, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 14)) +>x : Symbol(x, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 11)) +} + +async function callExpression0() { +>callExpression0 : Symbol(callExpression0, Decl(es5-asyncFunctionPropertyAccess.ts, 8, 1)) + + await x(y, z); +>x : Symbol(x, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionPropertyAccess.ts, 0, 17)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionPropertyAccess.types b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.types new file mode 100644 index 00000000000..a6f7980e8ba --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionPropertyAccess.types @@ -0,0 +1,44 @@ +=== tests/cases/compiler/es5-asyncFunctionPropertyAccess.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function propertyAccess0() { +>propertyAccess0 : () => Promise + + y = await x.a; +>y = await x.a : any +>y : any +>await x.a : any +>x.a : any +>x : any +>a : any +} + +async function propertyAccess1() { +>propertyAccess1 : () => Promise + + y = (await x).a; +>y = (await x).a : any +>y : any +>(await x).a : any +>(await x) : any +>await x : any +>x : any +>a : any +} + +async function callExpression0() { +>callExpression0 : () => Promise + + await x(y, z); +>await x(y, z) : any +>x(y, z) : any +>x : any +>y : any +>z : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionReturnStatements.js b/tests/baselines/reference/es5-asyncFunctionReturnStatements.js new file mode 100644 index 00000000000..7574da05a38 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionReturnStatements.js @@ -0,0 +1,88 @@ +//// [es5-asyncFunctionReturnStatements.ts] +declare var x, y, z, a, b, c; + +async function returnStatement0(): Promise { + return; +} + +async function returnStatement1(): Promise { + return x; +} + +async function returnStatement2(): Promise { + return await x; +} + +async function returnStatement3(): Promise { + { return; } +} + +async function returnStatement4(): Promise { + await x; + { return; } +} + +async function returnStatement5(): Promise{ + { return await x; } +} + +//// [es5-asyncFunctionReturnStatements.js] +function returnStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} +function returnStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/, x]; + }); + }); +} +function returnStatement2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); +} +function returnStatement3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + { + return [2 /*return*/]; + } + return [2 /*return*/]; + }); + }); +} +function returnStatement4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a.sent(); + { + return [2 /*return*/]; + } + return [2 /*return*/]; + } + }); + }); +} +function returnStatement5() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols b/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols new file mode 100644 index 00000000000..651af244e70 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionReturnStatements.symbols @@ -0,0 +1,56 @@ +=== tests/cases/compiler/es5-asyncFunctionReturnStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionReturnStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionReturnStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionReturnStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionReturnStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionReturnStatements.ts, 0, 26)) + +async function returnStatement0(): Promise { +>returnStatement0 : Symbol(returnStatement0, Decl(es5-asyncFunctionReturnStatements.ts, 0, 29)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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.es2015.promise.d.ts, --, --)) + + return x; +>x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) +} + +async function returnStatement2(): Promise { +>returnStatement2 : Symbol(returnStatement2, Decl(es5-asyncFunctionReturnStatements.ts, 8, 1)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) + + return await x; +>x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) +} + +async function returnStatement3(): Promise { +>returnStatement3 : Symbol(returnStatement3, Decl(es5-asyncFunctionReturnStatements.ts, 12, 1)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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.es2015.promise.d.ts, --, --)) + + await x; +>x : Symbol(x, Decl(es5-asyncFunctionReturnStatements.ts, 0, 11)) + + { return; } +} + +async function returnStatement5(): Promise{ +>returnStatement5 : Symbol(returnStatement5, Decl(es5-asyncFunctionReturnStatements.ts, 21, 1)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.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-asyncFunctionReturnStatements.types b/tests/baselines/reference/es5-asyncFunctionReturnStatements.types new file mode 100644 index 00000000000..486bc5c5566 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionReturnStatements.types @@ -0,0 +1,59 @@ +=== tests/cases/compiler/es5-asyncFunctionReturnStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function returnStatement0(): Promise { +>returnStatement0 : () => Promise +>Promise : Promise + + return; +} + +async function returnStatement1(): Promise { +>returnStatement1 : () => Promise +>Promise : Promise + + return x; +>x : any +} + +async function returnStatement2(): Promise { +>returnStatement2 : () => Promise +>Promise : Promise + + return await x; +>await x : any +>x : any +} + +async function returnStatement3(): Promise { +>returnStatement3 : () => Promise +>Promise : Promise + + { return; } +} + +async function returnStatement4(): Promise { +>returnStatement4 : () => Promise +>Promise : Promise + + await x; +>await x : any +>x : any + + { return; } +} + +async function returnStatement5(): Promise{ +>returnStatement5 : () => Promise +>Promise : Promise + + { return await x; } +>await x : any +>x : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionSwitchStatements.js b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.js new file mode 100644 index 00000000000..0af5f8e1c60 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.js @@ -0,0 +1,289 @@ +//// [es5-asyncFunctionSwitchStatements.ts] +declare var x, y, z, a, b, c; + +async function switchStatement0() { + switch (x) { + case y: a; break; + default: b; break; + } +} + +async function switchStatement1() { + switch (await x) { + case y: a; break; + default: b; break; + } +} + +async function switchStatement2() { + switch (x) { + case await y: a; break; + default: b; break; + } +} + +async function switchStatement3() { + switch (x) { + case y: await a; break; + default: b; break; + } +} + +async function switchStatement4() { + switch (x) { + case y: a; break; + default: await b; break; + } +} + +async function switchStatement5() { + switch (x) { + case y: a; break; + case await z: b; break; + } +} + +async function switchStatement6() { + switch (x) { + default: c; break; + case await y: a; break; + case z: b; break; + } +} + +async function switchStatement7() { + switch (x) { + default: c; break; + case y: a; break; + case await z: b; break; + } +} + +async function switchStatement8() { + switch (x) { + default: c; + case y: a; break; + case await z: b; break; + } +} + +//// [es5-asyncFunctionSwitchStatements.js] +function switchStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (x) { + case y: + a; + break; + default: + b; + break; + } + return [2 /*return*/]; + }); + }); +} +function switchStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + switch (_a.sent()) { + case y: + a; + break; + default: + b; + break; + } + return [2 /*return*/]; + } + }); + }); +} +function switchStatement2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + switch (_a) { + case _b.sent(): return [3 /*break*/, 2]; + } + return [3 /*break*/, 3]; + case 2: + a; + return [3 /*break*/, 4]; + case 3: + b; + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function switchStatement3() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + switch (_a) { + case y: return [3 /*break*/, 1]; + } + return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, a]; + case 2: + _b.sent(); + return [3 /*break*/, 4]; + case 3: + b; + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function switchStatement4() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + switch (_a) { + case y: return [3 /*break*/, 1]; + } + return [3 /*break*/, 2]; + case 1: + a; + return [3 /*break*/, 4]; + case 2: return [4 /*yield*/, b]; + case 3: + _b.sent(); + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function switchStatement5() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + switch (_a) { + case y: return [3 /*break*/, 2]; + } + return [4 /*yield*/, z]; + case 1: + switch (_a) { + case _b.sent(): return [3 /*break*/, 3]; + } + return [3 /*break*/, 4]; + case 2: + a; + return [3 /*break*/, 4]; + case 3: + b; + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function switchStatement6() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + return [4 /*yield*/, y]; + case 1: + switch (_a) { + case _b.sent(): return [3 /*break*/, 3]; + case z: return [3 /*break*/, 4]; + } + return [3 /*break*/, 2]; + case 2: + c; + return [3 /*break*/, 5]; + case 3: + a; + return [3 /*break*/, 5]; + case 4: + b; + return [3 /*break*/, 5]; + case 5: return [2 /*return*/]; + } + }); + }); +} +function switchStatement7() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + switch (_a) { + case y: return [3 /*break*/, 3]; + } + return [4 /*yield*/, z]; + case 1: + switch (_a) { + case _b.sent(): return [3 /*break*/, 4]; + } + return [3 /*break*/, 2]; + case 2: + c; + return [3 /*break*/, 5]; + case 3: + a; + return [3 /*break*/, 5]; + case 4: + b; + return [3 /*break*/, 5]; + case 5: return [2 /*return*/]; + } + }); + }); +} +function switchStatement8() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + switch (_a) { + case y: return [3 /*break*/, 3]; + } + return [4 /*yield*/, z]; + case 1: + switch (_a) { + case _b.sent(): return [3 /*break*/, 4]; + } + return [3 /*break*/, 2]; + case 2: + c; + _b.label = 3; + case 3: + a; + return [3 /*break*/, 5]; + case 4: + b; + return [3 /*break*/, 5]; + case 5: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionSwitchStatements.symbols b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.symbols new file mode 100644 index 00000000000..668339af576 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.symbols @@ -0,0 +1,156 @@ +=== tests/cases/compiler/es5-asyncFunctionSwitchStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 26)) + +async function switchStatement0() { +>switchStatement0 : Symbol(switchStatement0, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 29)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + default: b; break; +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement1() { +>switchStatement1 : Symbol(switchStatement1, Decl(es5-asyncFunctionSwitchStatements.ts, 7, 1)) + + switch (await x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + default: b; break; +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement2() { +>switchStatement2 : Symbol(switchStatement2, Decl(es5-asyncFunctionSwitchStatements.ts, 14, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case await y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + default: b; break; +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement3() { +>switchStatement3 : Symbol(switchStatement3, Decl(es5-asyncFunctionSwitchStatements.ts, 21, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case y: await a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + default: b; break; +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement4() { +>switchStatement4 : Symbol(switchStatement4, Decl(es5-asyncFunctionSwitchStatements.ts, 28, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + default: await b; break; +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement5() { +>switchStatement5 : Symbol(switchStatement5, Decl(es5-asyncFunctionSwitchStatements.ts, 35, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + case await z: b; break; +>z : Symbol(z, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 17)) +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement6() { +>switchStatement6 : Symbol(switchStatement6, Decl(es5-asyncFunctionSwitchStatements.ts, 42, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + default: c; break; +>c : Symbol(c, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 26)) + + case await y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + case z: b; break; +>z : Symbol(z, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 17)) +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement7() { +>switchStatement7 : Symbol(switchStatement7, Decl(es5-asyncFunctionSwitchStatements.ts, 50, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + default: c; break; +>c : Symbol(c, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 26)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + case await z: b; break; +>z : Symbol(z, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 17)) +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} + +async function switchStatement8() { +>switchStatement8 : Symbol(switchStatement8, Decl(es5-asyncFunctionSwitchStatements.ts, 58, 1)) + + switch (x) { +>x : Symbol(x, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 11)) + + default: c; +>c : Symbol(c, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 26)) + + case y: a; break; +>y : Symbol(y, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 14)) +>a : Symbol(a, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 20)) + + case await z: b; break; +>z : Symbol(z, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 17)) +>b : Symbol(b, Decl(es5-asyncFunctionSwitchStatements.ts, 0, 23)) + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionSwitchStatements.types b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.types new file mode 100644 index 00000000000..694e7cdc89d --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionSwitchStatements.types @@ -0,0 +1,164 @@ +=== tests/cases/compiler/es5-asyncFunctionSwitchStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function switchStatement0() { +>switchStatement0 : () => Promise + + switch (x) { +>x : any + + case y: a; break; +>y : any +>a : any + + default: b; break; +>b : any + } +} + +async function switchStatement1() { +>switchStatement1 : () => Promise + + switch (await x) { +>await x : any +>x : any + + case y: a; break; +>y : any +>a : any + + default: b; break; +>b : any + } +} + +async function switchStatement2() { +>switchStatement2 : () => Promise + + switch (x) { +>x : any + + case await y: a; break; +>await y : any +>y : any +>a : any + + default: b; break; +>b : any + } +} + +async function switchStatement3() { +>switchStatement3 : () => Promise + + switch (x) { +>x : any + + case y: await a; break; +>y : any +>await a : any +>a : any + + default: b; break; +>b : any + } +} + +async function switchStatement4() { +>switchStatement4 : () => Promise + + switch (x) { +>x : any + + case y: a; break; +>y : any +>a : any + + default: await b; break; +>await b : any +>b : any + } +} + +async function switchStatement5() { +>switchStatement5 : () => Promise + + switch (x) { +>x : any + + case y: a; break; +>y : any +>a : any + + case await z: b; break; +>await z : any +>z : any +>b : any + } +} + +async function switchStatement6() { +>switchStatement6 : () => Promise + + switch (x) { +>x : any + + default: c; break; +>c : any + + case await y: a; break; +>await y : any +>y : any +>a : any + + case z: b; break; +>z : any +>b : any + } +} + +async function switchStatement7() { +>switchStatement7 : () => Promise + + switch (x) { +>x : any + + default: c; break; +>c : any + + case y: a; break; +>y : any +>a : any + + case await z: b; break; +>await z : any +>z : any +>b : any + } +} + +async function switchStatement8() { +>switchStatement8 : () => Promise + + switch (x) { +>x : any + + default: c; +>c : any + + case y: a; break; +>y : any +>a : any + + case await z: b; break; +>await z : any +>z : any +>b : any + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionTryStatements.js b/tests/baselines/reference/es5-asyncFunctionTryStatements.js new file mode 100644 index 00000000000..c9c5507afa7 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionTryStatements.js @@ -0,0 +1,334 @@ +//// [es5-asyncFunctionTryStatements.ts] +declare var x, y, z, a, b, c; + +async function tryCatch0() { + var x, y; + try { + x; + } + catch (e) { + y; + } +} + +async function tryCatch1() { + var x, y; + try { + await x; + } + catch (e) { + y; + } +} + +async function tryCatch2() { + var x, y; + try { + x; + } + catch (e) { + await y; + } +} + +async function tryCatch3(): Promise { + var x, y; + try { + await x; + } + catch (e) { + return () => e; + } +} +async function tryFinally0() { + var x, y; + try { + x; + } + finally { + y; + } +} + +async function tryFinally1() { + var x, y; + try { + await x; + } + finally { + y; + } +} + +async function tryFinally2() { + var x, y; + try { + x; + } + finally { + await y; + } +} + +async function tryCatchFinally0() { + var x, y, z; + try { + x; + } + catch (e) { + y; + } + finally { + z; + } +} + +async function tryCatchFinally1() { + var x, y, z; + try { + await x; + } + catch (e) { + y; + } + finally { + z; + } +} + +async function tryCatchFinally2() { + var x, y, z; + try { + x; + } + catch (e) { + await y; + } + finally { + z; + } +} + +async function tryCatchFinally3() { + var x, y, z; + try { + x; + } + catch (e) { + y; + } + finally { + await z; + } +} + +//// [es5-asyncFunctionTryStatements.js] +function tryCatch0() { + return __awaiter(this, void 0, void 0, function () { + var x, y; + return __generator(this, function (_a) { + try { + x; + } + catch (e) { + y; + } + return [2 /*return*/]; + }); + }); +} +function tryCatch1() { + return __awaiter(this, void 0, void 0, function () { + var x, y, e_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + e_1 = _a.sent(); + y; + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); +} +function tryCatch2() { + return __awaiter(this, void 0, void 0, function () { + var x, y, e_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 1, , 3]); + x; + return [3 /*break*/, 3]; + case 1: + e_2 = _a.sent(); + return [4 /*yield*/, y]; + case 2: + _a.sent(); + return [3 /*break*/, 3]; + case 3: return [2 /*return*/]; + } + }); + }); +} +function tryCatch3() { + return __awaiter(this, void 0, void 0, function () { + var x, y, e_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + e_3 = _a.sent(); + return [2 /*return*/, function () { return e_3; }]; + case 3: return [2 /*return*/]; + } + }); + }); +} +function tryFinally0() { + return __awaiter(this, void 0, void 0, function () { + var x, y; + return __generator(this, function (_a) { + try { + x; + } + finally { + y; + } + return [2 /*return*/]; + }); + }); +} +function tryFinally1() { + return __awaiter(this, void 0, void 0, function () { + var x, y; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, , 2, 3]); + return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + y; + return [7 /*endfinally*/]; + case 3: return [2 /*return*/]; + } + }); + }); +} +function tryFinally2() { + return __awaiter(this, void 0, void 0, function () { + var x, y; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, , 1, 3]); + x; + return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, y]; + case 2: + _a.sent(); + return [7 /*endfinally*/]; + case 3: return [2 /*return*/]; + } + }); + }); +} +function tryCatchFinally0() { + return __awaiter(this, void 0, void 0, function () { + var x, y, z; + return __generator(this, function (_a) { + try { + x; + } + catch (e) { + y; + } + finally { + z; + } + return [2 /*return*/]; + }); + }); +} +function tryCatchFinally1() { + return __awaiter(this, void 0, void 0, function () { + var x, y, z, e_4; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, 3, 4]); + return [4 /*yield*/, x]; + case 1: + _a.sent(); + return [3 /*break*/, 4]; + case 2: + e_4 = _a.sent(); + y; + return [3 /*break*/, 4]; + case 3: + z; + return [7 /*endfinally*/]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function tryCatchFinally2() { + return __awaiter(this, void 0, void 0, function () { + var x, y, z, e_5; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 1, 3, 4]); + x; + return [3 /*break*/, 4]; + case 1: + e_5 = _a.sent(); + return [4 /*yield*/, y]; + case 2: + _a.sent(); + return [3 /*break*/, 4]; + case 3: + z; + return [7 /*endfinally*/]; + case 4: return [2 /*return*/]; + } + }); + }); +} +function tryCatchFinally3() { + return __awaiter(this, void 0, void 0, function () { + var x, y, z, e_6; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 1, 2, 4]); + x; + return [3 /*break*/, 4]; + case 1: + e_6 = _a.sent(); + y; + return [3 /*break*/, 4]; + case 2: return [4 /*yield*/, z]; + case 3: + _a.sent(); + return [7 /*endfinally*/]; + case 4: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols b/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols new file mode 100644 index 00000000000..ecf8fbc505b --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionTryStatements.symbols @@ -0,0 +1,232 @@ +=== tests/cases/compiler/es5-asyncFunctionTryStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionTryStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionTryStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionTryStatements.ts, 0, 26)) + +async function tryCatch0() { +>tryCatch0 : Symbol(tryCatch0, Decl(es5-asyncFunctionTryStatements.ts, 0, 29)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 3, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 3, 10)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 3, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 7, 11)) + + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 3, 10)) + } +} + +async function tryCatch1() { +>tryCatch1 : Symbol(tryCatch1, Decl(es5-asyncFunctionTryStatements.ts, 10, 1)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 13, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 13, 10)) + + try { + await x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 13, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 17, 11)) + + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 13, 10)) + } +} + +async function tryCatch2() { +>tryCatch2 : Symbol(tryCatch2, Decl(es5-asyncFunctionTryStatements.ts, 20, 1)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 23, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 23, 10)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 23, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 27, 11)) + + await y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 23, 10)) + } +} + +async function tryCatch3(): Promise { +>tryCatch3 : Symbol(tryCatch3, Decl(es5-asyncFunctionTryStatements.ts, 30, 1)) +>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 33, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 33, 10)) + + try { + await x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 33, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 37, 11)) + + return () => e; +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 37, 11)) + } +} +async function tryFinally0() { +>tryFinally0 : Symbol(tryFinally0, Decl(es5-asyncFunctionTryStatements.ts, 40, 1)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 42, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 42, 10)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 42, 7)) + } + finally { + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 42, 10)) + } +} + +async function tryFinally1() { +>tryFinally1 : Symbol(tryFinally1, Decl(es5-asyncFunctionTryStatements.ts, 49, 1)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 52, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 52, 10)) + + try { + await x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 52, 7)) + } + finally { + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 52, 10)) + } +} + +async function tryFinally2() { +>tryFinally2 : Symbol(tryFinally2, Decl(es5-asyncFunctionTryStatements.ts, 59, 1)) + + var x, y; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 62, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 62, 10)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 62, 7)) + } + finally { + await y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 62, 10)) + } +} + +async function tryCatchFinally0() { +>tryCatchFinally0 : Symbol(tryCatchFinally0, Decl(es5-asyncFunctionTryStatements.ts, 69, 1)) + + var x, y, z; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 72, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 72, 10)) +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 72, 13)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 72, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 76, 11)) + + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 72, 10)) + } + finally { + z; +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 72, 13)) + } +} + +async function tryCatchFinally1() { +>tryCatchFinally1 : Symbol(tryCatchFinally1, Decl(es5-asyncFunctionTryStatements.ts, 82, 1)) + + var x, y, z; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 85, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 85, 10)) +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 85, 13)) + + try { + await x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 85, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 89, 11)) + + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 85, 10)) + } + finally { + z; +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 85, 13)) + } +} + +async function tryCatchFinally2() { +>tryCatchFinally2 : Symbol(tryCatchFinally2, Decl(es5-asyncFunctionTryStatements.ts, 95, 1)) + + var x, y, z; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 98, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 98, 10)) +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 98, 13)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 98, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 102, 11)) + + await y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 98, 10)) + } + finally { + z; +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 98, 13)) + } +} + +async function tryCatchFinally3() { +>tryCatchFinally3 : Symbol(tryCatchFinally3, Decl(es5-asyncFunctionTryStatements.ts, 108, 1)) + + var x, y, z; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 111, 7)) +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 111, 10)) +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 111, 13)) + + try { + x; +>x : Symbol(x, Decl(es5-asyncFunctionTryStatements.ts, 111, 7)) + } + catch (e) { +>e : Symbol(e, Decl(es5-asyncFunctionTryStatements.ts, 115, 11)) + + y; +>y : Symbol(y, Decl(es5-asyncFunctionTryStatements.ts, 111, 10)) + } + finally { + await z; +>z : Symbol(z, Decl(es5-asyncFunctionTryStatements.ts, 111, 13)) + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionTryStatements.types b/tests/baselines/reference/es5-asyncFunctionTryStatements.types new file mode 100644 index 00000000000..ab1cd845616 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionTryStatements.types @@ -0,0 +1,241 @@ +=== tests/cases/compiler/es5-asyncFunctionTryStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function tryCatch0() { +>tryCatch0 : () => Promise + + var x, y; +>x : any +>y : any + + try { + x; +>x : any + } + catch (e) { +>e : any + + y; +>y : any + } +} + +async function tryCatch1() { +>tryCatch1 : () => Promise + + var x, y; +>x : any +>y : any + + try { + await x; +>await x : any +>x : any + } + catch (e) { +>e : any + + y; +>y : any + } +} + +async function tryCatch2() { +>tryCatch2 : () => Promise + + var x, y; +>x : any +>y : any + + try { + x; +>x : any + } + catch (e) { +>e : any + + await y; +>await y : any +>y : any + } +} + +async function tryCatch3(): Promise { +>tryCatch3 : () => Promise +>Promise : Promise +>Function : Function + + var x, y; +>x : any +>y : any + + try { + await x; +>await x : any +>x : any + } + catch (e) { +>e : any + + return () => e; +>() => e : () => any +>e : any + } +} +async function tryFinally0() { +>tryFinally0 : () => Promise + + var x, y; +>x : any +>y : any + + try { + x; +>x : any + } + finally { + y; +>y : any + } +} + +async function tryFinally1() { +>tryFinally1 : () => Promise + + var x, y; +>x : any +>y : any + + try { + await x; +>await x : any +>x : any + } + finally { + y; +>y : any + } +} + +async function tryFinally2() { +>tryFinally2 : () => Promise + + var x, y; +>x : any +>y : any + + try { + x; +>x : any + } + finally { + await y; +>await y : any +>y : any + } +} + +async function tryCatchFinally0() { +>tryCatchFinally0 : () => Promise + + var x, y, z; +>x : any +>y : any +>z : any + + try { + x; +>x : any + } + catch (e) { +>e : any + + y; +>y : any + } + finally { + z; +>z : any + } +} + +async function tryCatchFinally1() { +>tryCatchFinally1 : () => Promise + + var x, y, z; +>x : any +>y : any +>z : any + + try { + await x; +>await x : any +>x : any + } + catch (e) { +>e : any + + y; +>y : any + } + finally { + z; +>z : any + } +} + +async function tryCatchFinally2() { +>tryCatchFinally2 : () => Promise + + var x, y, z; +>x : any +>y : any +>z : any + + try { + x; +>x : any + } + catch (e) { +>e : any + + await y; +>await y : any +>y : any + } + finally { + z; +>z : any + } +} + +async function tryCatchFinally3() { +>tryCatchFinally3 : () => Promise + + var x, y, z; +>x : any +>y : any +>z : any + + try { + x; +>x : any + } + catch (e) { +>e : any + + y; +>y : any + } + finally { + await z; +>await z : any +>z : any + } +} diff --git a/tests/baselines/reference/es5-asyncFunctionWhileStatements.js b/tests/baselines/reference/es5-asyncFunctionWhileStatements.js new file mode 100644 index 00000000000..c85aabb01e3 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionWhileStatements.js @@ -0,0 +1,353 @@ +//// [es5-asyncFunctionWhileStatements.ts] +declare var x, y, z, a, b, c; + +async function whileStatement0() { + while (x) { y; } +} + +async function whileStatement1() { + while (await x) { y; } +} + +async function whileStatement2() { + while (x) { await y; } +} + +async function whileStatement3() { + while (x) { continue; } +} + +async function whileStatement4() { + while (await x) { continue; } +} + +async function whileStatement5() { + while (x) { await y; continue; } +} + +async function whileStatement6() { + while (x) { if (1) continue; await y; } +} + +async function whileStatement7() { + A: while (x) { continue A; } +} + +async function whileStatement8() { + B: while (await x) { continue B; } +} + +async function whileStatement9() { + C: while (x) { await y; continue C; } +} + +async function whileStatement10() { + D: while (x) { if (1) continue D; await y; } +} + +async function whileStatement11() { + while (x) { break; } +} + +async function whileStatement12() { + while (await x) { break; } +} + +async function whileStatement13() { + while (x) { await y; break; } +} + +async function whileStatement14() { + while (x) { if (1) break; await y; } +} + +async function whileStatement15() { + E: while (x) { break E; } +} + +async function whileStatement16() { + F: while (await x) { break F; } +} + +async function whileStatement17() { + G: while (x) { await y; break G; } +} + +async function whileStatement18() { + H: while (x) { if (1) break H; await y; } +} + +//// [es5-asyncFunctionWhileStatements.js] +function whileStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + while (x) { + y; + } + return [2 /*return*/]; + }); + }); +} +function whileStatement1() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (!_a.sent()) + return [3 /*break*/, 2]; + y; + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement2() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement3() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + while (x) { + continue; + } + return [2 /*return*/]; + }); + }); +} +function whileStatement4() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (!_a.sent()) + return [3 /*break*/, 2]; + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement5() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement6() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + if (1) + return [3 /*break*/, 0]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement7() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + A: while (x) { + continue A; + } + return [2 /*return*/]; + }); + }); +} +function whileStatement8() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (!_a.sent()) + return [3 /*break*/, 2]; + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement9() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement10() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + if (1) + return [3 /*break*/, 0]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement11() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + while (x) { + break; + } + return [2 /*return*/]; + }); + }); +} +function whileStatement12() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (!_a.sent()) + return [3 /*break*/, 2]; + return [3 /*break*/, 2]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement13() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 2]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement14() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + if (1) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement15() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + E: while (x) { + break E; + } + return [2 /*return*/]; + }); + }); +} +function whileStatement16() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, x]; + case 1: + if (!_a.sent()) + return [3 /*break*/, 2]; + return [3 /*break*/, 2]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement17() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 2]; + case 2: return [2 /*return*/]; + } + }); + }); +} +function whileStatement18() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!x) + return [3 /*break*/, 2]; + if (1) + return [3 /*break*/, 2]; + return [4 /*yield*/, y]; + case 1: + _a.sent(); + return [3 /*break*/, 0]; + case 2: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-asyncFunctionWhileStatements.symbols b/tests/baselines/reference/es5-asyncFunctionWhileStatements.symbols new file mode 100644 index 00000000000..31c38da4693 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionWhileStatements.symbols @@ -0,0 +1,152 @@ +=== tests/cases/compiler/es5-asyncFunctionWhileStatements.ts === +declare var x, y, z, a, b, c; +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +>z : Symbol(z, Decl(es5-asyncFunctionWhileStatements.ts, 0, 17)) +>a : Symbol(a, Decl(es5-asyncFunctionWhileStatements.ts, 0, 20)) +>b : Symbol(b, Decl(es5-asyncFunctionWhileStatements.ts, 0, 23)) +>c : Symbol(c, Decl(es5-asyncFunctionWhileStatements.ts, 0, 26)) + +async function whileStatement0() { +>whileStatement0 : Symbol(whileStatement0, Decl(es5-asyncFunctionWhileStatements.ts, 0, 29)) + + while (x) { y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement1() { +>whileStatement1 : Symbol(whileStatement1, Decl(es5-asyncFunctionWhileStatements.ts, 4, 1)) + + while (await x) { y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement2() { +>whileStatement2 : Symbol(whileStatement2, Decl(es5-asyncFunctionWhileStatements.ts, 8, 1)) + + while (x) { await y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement3() { +>whileStatement3 : Symbol(whileStatement3, Decl(es5-asyncFunctionWhileStatements.ts, 12, 1)) + + while (x) { continue; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement4() { +>whileStatement4 : Symbol(whileStatement4, Decl(es5-asyncFunctionWhileStatements.ts, 16, 1)) + + while (await x) { continue; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement5() { +>whileStatement5 : Symbol(whileStatement5, Decl(es5-asyncFunctionWhileStatements.ts, 20, 1)) + + while (x) { await y; continue; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement6() { +>whileStatement6 : Symbol(whileStatement6, Decl(es5-asyncFunctionWhileStatements.ts, 24, 1)) + + while (x) { if (1) continue; await y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement7() { +>whileStatement7 : Symbol(whileStatement7, Decl(es5-asyncFunctionWhileStatements.ts, 28, 1)) + + A: while (x) { continue A; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement8() { +>whileStatement8 : Symbol(whileStatement8, Decl(es5-asyncFunctionWhileStatements.ts, 32, 1)) + + B: while (await x) { continue B; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement9() { +>whileStatement9 : Symbol(whileStatement9, Decl(es5-asyncFunctionWhileStatements.ts, 36, 1)) + + C: while (x) { await y; continue C; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement10() { +>whileStatement10 : Symbol(whileStatement10, Decl(es5-asyncFunctionWhileStatements.ts, 40, 1)) + + D: while (x) { if (1) continue D; await y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement11() { +>whileStatement11 : Symbol(whileStatement11, Decl(es5-asyncFunctionWhileStatements.ts, 44, 1)) + + while (x) { break; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement12() { +>whileStatement12 : Symbol(whileStatement12, Decl(es5-asyncFunctionWhileStatements.ts, 48, 1)) + + while (await x) { break; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement13() { +>whileStatement13 : Symbol(whileStatement13, Decl(es5-asyncFunctionWhileStatements.ts, 52, 1)) + + while (x) { await y; break; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement14() { +>whileStatement14 : Symbol(whileStatement14, Decl(es5-asyncFunctionWhileStatements.ts, 56, 1)) + + while (x) { if (1) break; await y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement15() { +>whileStatement15 : Symbol(whileStatement15, Decl(es5-asyncFunctionWhileStatements.ts, 60, 1)) + + E: while (x) { break E; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement16() { +>whileStatement16 : Symbol(whileStatement16, Decl(es5-asyncFunctionWhileStatements.ts, 64, 1)) + + F: while (await x) { break F; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +} + +async function whileStatement17() { +>whileStatement17 : Symbol(whileStatement17, Decl(es5-asyncFunctionWhileStatements.ts, 68, 1)) + + G: while (x) { await y; break G; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} + +async function whileStatement18() { +>whileStatement18 : Symbol(whileStatement18, Decl(es5-asyncFunctionWhileStatements.ts, 72, 1)) + + H: while (x) { if (1) break H; await y; } +>x : Symbol(x, Decl(es5-asyncFunctionWhileStatements.ts, 0, 11)) +>y : Symbol(y, Decl(es5-asyncFunctionWhileStatements.ts, 0, 14)) +} diff --git a/tests/baselines/reference/es5-asyncFunctionWhileStatements.types b/tests/baselines/reference/es5-asyncFunctionWhileStatements.types new file mode 100644 index 00000000000..5148543bf34 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionWhileStatements.types @@ -0,0 +1,186 @@ +=== tests/cases/compiler/es5-asyncFunctionWhileStatements.ts === +declare var x, y, z, a, b, c; +>x : any +>y : any +>z : any +>a : any +>b : any +>c : any + +async function whileStatement0() { +>whileStatement0 : () => Promise + + while (x) { y; } +>x : any +>y : any +} + +async function whileStatement1() { +>whileStatement1 : () => Promise + + while (await x) { y; } +>await x : any +>x : any +>y : any +} + +async function whileStatement2() { +>whileStatement2 : () => Promise + + while (x) { await y; } +>x : any +>await y : any +>y : any +} + +async function whileStatement3() { +>whileStatement3 : () => Promise + + while (x) { continue; } +>x : any +} + +async function whileStatement4() { +>whileStatement4 : () => Promise + + while (await x) { continue; } +>await x : any +>x : any +} + +async function whileStatement5() { +>whileStatement5 : () => Promise + + while (x) { await y; continue; } +>x : any +>await y : any +>y : any +} + +async function whileStatement6() { +>whileStatement6 : () => Promise + + while (x) { if (1) continue; await y; } +>x : any +>1 : 1 +>await y : any +>y : any +} + +async function whileStatement7() { +>whileStatement7 : () => Promise + + A: while (x) { continue A; } +>A : any +>x : any +>A : any +} + +async function whileStatement8() { +>whileStatement8 : () => Promise + + B: while (await x) { continue B; } +>B : any +>await x : any +>x : any +>B : any +} + +async function whileStatement9() { +>whileStatement9 : () => Promise + + C: while (x) { await y; continue C; } +>C : any +>x : any +>await y : any +>y : any +>C : any +} + +async function whileStatement10() { +>whileStatement10 : () => Promise + + D: while (x) { if (1) continue D; await y; } +>D : any +>x : any +>1 : 1 +>D : any +>await y : any +>y : any +} + +async function whileStatement11() { +>whileStatement11 : () => Promise + + while (x) { break; } +>x : any +} + +async function whileStatement12() { +>whileStatement12 : () => Promise + + while (await x) { break; } +>await x : any +>x : any +} + +async function whileStatement13() { +>whileStatement13 : () => Promise + + while (x) { await y; break; } +>x : any +>await y : any +>y : any +} + +async function whileStatement14() { +>whileStatement14 : () => Promise + + while (x) { if (1) break; await y; } +>x : any +>1 : 1 +>await y : any +>y : any +} + +async function whileStatement15() { +>whileStatement15 : () => Promise + + E: while (x) { break E; } +>E : any +>x : any +>E : any +} + +async function whileStatement16() { +>whileStatement16 : () => Promise + + F: while (await x) { break F; } +>F : any +>await x : any +>x : any +>F : any +} + +async function whileStatement17() { +>whileStatement17 : () => Promise + + G: while (x) { await y; break G; } +>G : any +>x : any +>await y : any +>y : any +>G : any +} + +async function whileStatement18() { +>whileStatement18 : () => Promise + + H: while (x) { if (1) break H; await y; } +>H : any +>x : any +>1 : 1 +>H : any +>await y : any +>y : any +} diff --git a/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt b/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt new file mode 100644 index 00000000000..560612bc81e --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt @@ -0,0 +1,58 @@ +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(4,5): error TS1300: 'with' statements are not allowed in an async function block. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(4,11): error TS2410: All symbols within a 'with' block will be resolved to 'any'. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(10,5): error TS1300: 'with' statements are not allowed in an async function block. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(10,11): error TS2410: All symbols within a 'with' block will be resolved to 'any'. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(16,5): error TS1300: 'with' statements are not allowed in an async function block. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(16,11): error TS2410: All symbols within a 'with' block will be resolved to 'any'. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(24,5): error TS1300: 'with' statements are not allowed in an async function block. +tests/cases/compiler/es5-asyncFunctionWithStatements.ts(24,11): error TS2410: All symbols within a 'with' block will be resolved to 'any'. + + +==== tests/cases/compiler/es5-asyncFunctionWithStatements.ts (8 errors) ==== + declare var x, y, z, a, b, c; + + async function withStatement0() { + with (x) { + ~~~~ +!!! error TS1300: 'with' statements are not allowed in an async function block. + ~ +!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'. + y; + } + } + + async function withStatement1() { + with (await x) { + ~~~~ +!!! error TS1300: 'with' statements are not allowed in an async function block. + ~~~~~~~ +!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'. + y; + } + } + + async function withStatement2() { + with (x) { + ~~~~ +!!! error TS1300: 'with' statements are not allowed in an async function block. + ~ +!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'. + a; + await y; + b; + } + } + + async function withStatement3() { + with (x) { + ~~~~ +!!! error TS1300: 'with' statements are not allowed in an async function block. + ~ +!!! error TS2410: All symbols within a 'with' block will be resolved to 'any'. + with (z) { + a; + await y; + b; + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/es5-asyncFunctionWithStatements.js b/tests/baselines/reference/es5-asyncFunctionWithStatements.js new file mode 100644 index 00000000000..25ed4df5c11 --- /dev/null +++ b/tests/baselines/reference/es5-asyncFunctionWithStatements.js @@ -0,0 +1,118 @@ +//// [es5-asyncFunctionWithStatements.ts] +declare var x, y, z, a, b, c; + +async function withStatement0() { + with (x) { + y; + } +} + +async function withStatement1() { + with (await x) { + y; + } +} + +async function withStatement2() { + with (x) { + a; + await y; + b; + } +} + +async function withStatement3() { + with (x) { + with (z) { + a; + await y; + b; + } + } +} + +//// [es5-asyncFunctionWithStatements.js] +function withStatement0() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + with (x) { + y; + } + return [2 /*return*/]; + }); + }); +} +function withStatement1() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, x]; + case 1: + _a = _b.sent(); + _b.label = 2; + case 2: + with (_a) { + y; + } + _b.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function withStatement2() { + return __awaiter(this, void 0, void 0, function () { + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = x; + _b.label = 1; + case 1: with (_a) { + a; + return [4 /*yield*/, y]; + } + case 2: + with (_a) { + _b.sent(); + b; + } + _b.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); +} +function withStatement3() { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = x; + _c.label = 1; + case 1: + with (_a) { + _b = z; + } + _c.label = 2; + case 2: with (_a) { + with (_b) { + a; + return [4 /*yield*/, y]; + } + } + case 3: + with (_a) { + with (_b) { + _c.sent(); + b; + } + } + _c.label = 4; + case 4: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/es5-commonjs.types b/tests/baselines/reference/es5-commonjs.types index 4c1bc922917..06a14af7f4f 100644 --- a/tests/baselines/reference/es5-commonjs.types +++ b/tests/baselines/reference/es5-commonjs.types @@ -12,7 +12,7 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-commonjs3.types b/tests/baselines/reference/es5-commonjs3.types index facdfae00ce..6f6b9c3e499 100644 --- a/tests/baselines/reference/es5-commonjs3.types +++ b/tests/baselines/reference/es5-commonjs3.types @@ -3,5 +3,5 @@ export default "test"; export var __esModule = 1; >__esModule : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/es5-commonjs4.types b/tests/baselines/reference/es5-commonjs4.types index d3471afbfeb..fedfe9390a2 100644 --- a/tests/baselines/reference/es5-commonjs4.types +++ b/tests/baselines/reference/es5-commonjs4.types @@ -12,10 +12,10 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } export var __esModule = 1; >__esModule : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/es5-commonjs5.types b/tests/baselines/reference/es5-commonjs5.types index d8094e1e0ea..fb72fda8c11 100644 --- a/tests/baselines/reference/es5-commonjs5.types +++ b/tests/baselines/reference/es5-commonjs5.types @@ -2,6 +2,6 @@ export default function () { return "test"; ->"test" : string +>"test" : "test" } diff --git a/tests/baselines/reference/es5-commonjs6.types b/tests/baselines/reference/es5-commonjs6.types index 904b69dec22..cabe84e8a69 100644 --- a/tests/baselines/reference/es5-commonjs6.types +++ b/tests/baselines/reference/es5-commonjs6.types @@ -3,5 +3,5 @@ export default "test"; var __esModule = 1; >__esModule : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/es5-declaration-amd.types b/tests/baselines/reference/es5-declaration-amd.types index ead96c35de1..ca5422fd739 100644 --- a/tests/baselines/reference/es5-declaration-amd.types +++ b/tests/baselines/reference/es5-declaration-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-importHelpersAsyncFunctions.js b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js new file mode 100644 index 00000000000..0fcd8897018 --- /dev/null +++ b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js @@ -0,0 +1,83 @@ +//// [tests/cases/compiler/es5-importHelpersAsyncFunctions.ts] //// + +//// [external.ts] +export async function foo() { +} + +//// [script.ts] +async function foo() { +} + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +export declare function __generator(body: Function): any; + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} +exports.foo = foo; +//// [script.js] +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments)).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (sent[0] === 1) throw sent[1]; return sent[1]; }, trys: [], stack: [] }, sent, f; + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (1) { + if (_.done) switch (op[0]) { + case 0: return { value: void 0, done: true }; + case 1: case 6: throw op[1]; + case 2: return { value: op[1], done: true }; + } + try { + switch (f = 1, op[0]) { + case 0: case 1: sent = op; break; + case 4: return _.label++, { value: op[1], done: false }; + case 7: op = _.stack.pop(), _.trys.pop(); continue; + default: + var r = _.trys.length > 0 && _.trys[_.trys.length - 1]; + if (!r && (op[0] === 6 || op[0] === 2)) { _.done = 1; continue; } + if (op[0] === 3 && (!r || (op[1] > r[0] && op[1] < r[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < r[1]) { _.label = r[1], sent = op; break; } + if (r && _.label < r[2]) { _.label = r[2], _.stack.push(op); break; } + if (r[2]) { _.stack.pop(); } + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { op = [6, e]; } + finally { f = 0, sent = void 0; } + } + } + return { + next: function (v) { return step([0, v]); }, + "throw": function (v) { return step([1, v]); }, + "return": function (v) { return step([2, v]); } + }; +}; +function foo() { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/]; + }); + }); +} diff --git a/tests/baselines/reference/es5-importHelpersAsyncFunctions.symbols b/tests/baselines/reference/es5-importHelpersAsyncFunctions.symbols new file mode 100644 index 00000000000..89660cea722 --- /dev/null +++ b/tests/baselines/reference/es5-importHelpersAsyncFunctions.symbols @@ -0,0 +1,58 @@ +=== tests/cases/compiler/external.ts === +export async function foo() { +>foo : Symbol(foo, Decl(external.ts, 0, 0)) +} + +=== tests/cases/compiler/script.ts === +async function foo() { +>foo : Symbol(foo, Decl(script.ts, 0, 0)) +} + +=== tests/cases/compiler/tslib.d.ts === +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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>b : Symbol(b, Decl(tslib.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, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.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, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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.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.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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + +export declare function __generator(body: Function): any; +>__generator : Symbol(__generator, Decl(tslib.d.ts, --, --)) +>body : Symbol(body, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + diff --git a/tests/baselines/reference/es5-importHelpersAsyncFunctions.types b/tests/baselines/reference/es5-importHelpersAsyncFunctions.types new file mode 100644 index 00000000000..9ceeee92bc8 --- /dev/null +++ b/tests/baselines/reference/es5-importHelpersAsyncFunctions.types @@ -0,0 +1,58 @@ +=== tests/cases/compiler/external.ts === +export async function foo() { +>foo : () => Promise +} + +=== tests/cases/compiler/script.ts === +async function foo() { +>foo : () => Promise +} + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + +export declare function __generator(body: Function): any; +>__generator : (body: Function) => any +>body : Function +>Function : Function + diff --git a/tests/baselines/reference/es5-souremap-amd.types b/tests/baselines/reference/es5-souremap-amd.types index 67606d7f1ff..d96f15b8d0e 100644 --- a/tests/baselines/reference/es5-souremap-amd.types +++ b/tests/baselines/reference/es5-souremap-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-system.js b/tests/baselines/reference/es5-system.js index 9cf5ea87f1f..1d59a05dcfa 100644 --- a/tests/baselines/reference/es5-system.js +++ b/tests/baselines/reference/es5-system.js @@ -15,13 +15,13 @@ export default class A //// [es5-system.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var A; return { - setters:[], - execute: function() { + setters: [], + execute: function () { A = (function () { function A() { } @@ -32,5 +32,5 @@ System.register([], function(exports_1, context_1) { }()); exports_1("default", A); } - } + }; }); diff --git a/tests/baselines/reference/es5-system.types b/tests/baselines/reference/es5-system.types index eae884a78b4..fa6d471dbf7 100644 --- a/tests/baselines/reference/es5-system.types +++ b/tests/baselines/reference/es5-system.types @@ -12,7 +12,7 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-umd.types b/tests/baselines/reference/es5-umd.types index 60987d429e0..dcee52664cc 100644 --- a/tests/baselines/reference/es5-umd.types +++ b/tests/baselines/reference/es5-umd.types @@ -12,7 +12,7 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-umd2.js b/tests/baselines/reference/es5-umd2.js index abc98aa77d6..592c5d63ffe 100644 --- a/tests/baselines/reference/es5-umd2.js +++ b/tests/baselines/reference/es5-umd2.js @@ -15,14 +15,14 @@ export class A //// [es5-umd2.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var A = (function () { function A() { diff --git a/tests/baselines/reference/es5-umd2.types b/tests/baselines/reference/es5-umd2.types index fab4e9dfc01..2c24088c4a0 100644 --- a/tests/baselines/reference/es5-umd2.types +++ b/tests/baselines/reference/es5-umd2.types @@ -12,7 +12,7 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-umd3.js b/tests/baselines/reference/es5-umd3.js index 27e2e72aab4..7ac960d1d39 100644 --- a/tests/baselines/reference/es5-umd3.js +++ b/tests/baselines/reference/es5-umd3.js @@ -15,14 +15,14 @@ export default class A //// [es5-umd3.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var A = (function () { function A() { diff --git a/tests/baselines/reference/es5-umd3.types b/tests/baselines/reference/es5-umd3.types index b4b5f0dc366..bb4cc91af50 100644 --- a/tests/baselines/reference/es5-umd3.types +++ b/tests/baselines/reference/es5-umd3.types @@ -12,7 +12,7 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5-umd4.js b/tests/baselines/reference/es5-umd4.js index 8ac60343759..b4034058dcd 100644 --- a/tests/baselines/reference/es5-umd4.js +++ b/tests/baselines/reference/es5-umd4.js @@ -17,14 +17,14 @@ export = A; //// [es5-umd4.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var A = (function () { function A() { diff --git a/tests/baselines/reference/es5-umd4.types b/tests/baselines/reference/es5-umd4.types index 59d23e6bd8d..4ce47c9e4de 100644 --- a/tests/baselines/reference/es5-umd4.types +++ b/tests/baselines/reference/es5-umd4.types @@ -12,7 +12,7 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5ExportDefaultExpression.types b/tests/baselines/reference/es5ExportDefaultExpression.types index 6b371a2fc73..db4d3a3abfd 100644 --- a/tests/baselines/reference/es5ExportDefaultExpression.types +++ b/tests/baselines/reference/es5ExportDefaultExpression.types @@ -3,6 +3,6 @@ export default (1 + 2); >(1 + 2) : number >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/es5ModuleInternalNamedImports.errors.txt b/tests/baselines/reference/es5ModuleInternalNamedImports.errors.txt index f51ff27a412..936f381628d 100644 --- a/tests/baselines/reference/es5ModuleInternalNamedImports.errors.txt +++ b/tests/baselines/reference/es5ModuleInternalNamedImports.errors.txt @@ -6,9 +6,13 @@ tests/cases/compiler/es5ModuleInternalNamedImports.ts(27,5): error TS1194: Expor tests/cases/compiler/es5ModuleInternalNamedImports.ts(28,5): error TS1194: Export declarations are not permitted in a namespace. tests/cases/compiler/es5ModuleInternalNamedImports.ts(29,5): error TS1194: Export declarations are not permitted in a namespace. tests/cases/compiler/es5ModuleInternalNamedImports.ts(30,5): error TS1194: Export declarations are not permitted in a namespace. +tests/cases/compiler/es5ModuleInternalNamedImports.ts(31,25): error TS1147: Import declarations in a namespace cannot reference a module. +tests/cases/compiler/es5ModuleInternalNamedImports.ts(32,20): error TS1147: Import declarations in a namespace cannot reference a module. +tests/cases/compiler/es5ModuleInternalNamedImports.ts(33,32): error TS1147: Import declarations in a namespace cannot reference a module. +tests/cases/compiler/es5ModuleInternalNamedImports.ts(35,16): error TS2307: Cannot find module 'M3'. -==== tests/cases/compiler/es5ModuleInternalNamedImports.ts (8 errors) ==== +==== tests/cases/compiler/es5ModuleInternalNamedImports.ts (12 errors) ==== export module M { // variable @@ -55,5 +59,17 @@ tests/cases/compiler/es5ModuleInternalNamedImports.ts(30,5): error TS1194: Expor export {M_A as a}; ~~~~~~~~~~~~~~~~~~ !!! error TS1194: Export declarations are not permitted in a namespace. + import * as M2 from "M2"; + ~~~~ +!!! error TS1147: Import declarations in a namespace cannot reference a module. + import M4 from "M4"; + ~~~~ +!!! error TS1147: Import declarations in a namespace cannot reference a module. + export import M5 = require("M5"); + ~~~~ +!!! error TS1147: Import declarations in a namespace cannot reference a module. } + import M3 from "M3"; + ~~~~ +!!! error TS2307: Cannot find module 'M3'. \ No newline at end of file diff --git a/tests/baselines/reference/es5ModuleInternalNamedImports.js b/tests/baselines/reference/es5ModuleInternalNamedImports.js index e8963b7db40..2fcbd5a53d8 100644 --- a/tests/baselines/reference/es5ModuleInternalNamedImports.js +++ b/tests/baselines/reference/es5ModuleInternalNamedImports.js @@ -29,7 +29,11 @@ export module M { export {M_F as f}; export {M_E as e}; export {M_A as a}; + import * as M2 from "M2"; + import M4 from "M4"; + export import M5 = require("M5"); } +import M3 from "M3"; //// [es5ModuleInternalNamedImports.js] @@ -60,6 +64,5 @@ define(["require", "exports"], function (require, exports) { var M_E = M.M_E; // alias M.M_A = M_M; - // Reexports })(M = exports.M || (exports.M = {})); }); diff --git a/tests/baselines/reference/es5ModuleWithModuleGenAmd.types b/tests/baselines/reference/es5ModuleWithModuleGenAmd.types index 4ae6698d06a..3d648a7777f 100644 --- a/tests/baselines/reference/es5ModuleWithModuleGenAmd.types +++ b/tests/baselines/reference/es5ModuleWithModuleGenAmd.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.types b/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.types index 425afed82d2..d2dc36fdd8e 100644 --- a/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.types +++ b/tests/baselines/reference/es5ModuleWithModuleGenCommonjs.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.types b/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.types index 251e2be25a9..349ab719d78 100644 --- a/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.types +++ b/tests/baselines/reference/es5ModuleWithoutModuleGenTarget.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es5andes6module.types b/tests/baselines/reference/es5andes6module.types index 14423d87cea..44dba0eb28e 100644 --- a/tests/baselines/reference/es5andes6module.types +++ b/tests/baselines/reference/es5andes6module.types @@ -12,7 +12,7 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6-amd.types b/tests/baselines/reference/es6-amd.types index 7a6fb6e32f5..5ba03153627 100644 --- a/tests/baselines/reference/es6-amd.types +++ b/tests/baselines/reference/es6-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6-declaration-amd.types b/tests/baselines/reference/es6-declaration-amd.types index a46d22c82c5..9568cedc0bd 100644 --- a/tests/baselines/reference/es6-declaration-amd.types +++ b/tests/baselines/reference/es6-declaration-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6-sourcemap-amd.js.map b/tests/baselines/reference/es6-sourcemap-amd.js.map index 5c62572f0a6..d5229e3a28c 100644 --- a/tests/baselines/reference/es6-sourcemap-amd.js.map +++ b/tests/baselines/reference/es6-sourcemap-amd.js.map @@ -1,2 +1,2 @@ //// [es6-sourcemap-amd.js.map] -{"version":3,"file":"es6-sourcemap-amd.js","sourceRoot":"","sources":["es6-sourcemap-amd.ts"],"names":[],"mappings":"AACA;IAEI;IAGA,CAAC;IAEM,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAAA"} \ No newline at end of file +{"version":3,"file":"es6-sourcemap-amd.js","sourceRoot":"","sources":["es6-sourcemap-amd.ts"],"names":[],"mappings":"AACA;IAEI;IAGA,CAAC;IAEM,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC;IACd,CAAC;CACJ"} \ No newline at end of file diff --git a/tests/baselines/reference/es6-sourcemap-amd.sourcemap.txt b/tests/baselines/reference/es6-sourcemap-amd.sourcemap.txt index db329263ffa..a01507e964b 100644 --- a/tests/baselines/reference/es6-sourcemap-amd.sourcemap.txt +++ b/tests/baselines/reference/es6-sourcemap-amd.sourcemap.txt @@ -75,17 +75,10 @@ sourceFile:es6-sourcemap-amd.ts 2 >Emitted(6, 6) Source(12, 6) + SourceIndex(0) --- >>>} -1 > -2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 >^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > - > -2 >} -1 >Emitted(7, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(7, 2) Source(13, 2) + SourceIndex(0) + >} +1 >Emitted(7, 2) Source(13, 2) + SourceIndex(0) --- ->>>//# sourceMappingURL=es6-sourcemap-amd.js.map1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> -1->Emitted(8, 1) Source(13, 2) + SourceIndex(0) ---- \ No newline at end of file +>>>//# sourceMappingURL=es6-sourcemap-amd.js.map \ No newline at end of file diff --git a/tests/baselines/reference/es6-sourcemap-amd.types b/tests/baselines/reference/es6-sourcemap-amd.types index 580a688afab..6cbdc98df6f 100644 --- a/tests/baselines/reference/es6-sourcemap-amd.types +++ b/tests/baselines/reference/es6-sourcemap-amd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6-umd.types b/tests/baselines/reference/es6-umd.types index f43c491e003..ed3932d2e2a 100644 --- a/tests/baselines/reference/es6-umd.types +++ b/tests/baselines/reference/es6-umd.types @@ -12,6 +12,6 @@ class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6-umd2.js b/tests/baselines/reference/es6-umd2.js index 1270ee1df53..ed5ce4aacb8 100644 --- a/tests/baselines/reference/es6-umd2.js +++ b/tests/baselines/reference/es6-umd2.js @@ -14,14 +14,14 @@ export class A } //// [es6-umd2.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; class A { constructor() { diff --git a/tests/baselines/reference/es6-umd2.types b/tests/baselines/reference/es6-umd2.types index eb66523c6ec..395f136add8 100644 --- a/tests/baselines/reference/es6-umd2.types +++ b/tests/baselines/reference/es6-umd2.types @@ -12,6 +12,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6ClassSuperCodegenBug.types b/tests/baselines/reference/es6ClassSuperCodegenBug.types index 65269c99997..d98b1fea451 100644 --- a/tests/baselines/reference/es6ClassSuperCodegenBug.types +++ b/tests/baselines/reference/es6ClassSuperCodegenBug.types @@ -13,20 +13,20 @@ class B extends A { constructor() { if (true) { ->true : boolean +>true : true super('a1', 'b1'); >super('a1', 'b1') : void >super : typeof A ->'a1' : string ->'b1' : string +>'a1' : "a1" +>'b1' : "b1" } else { super('a2', 'b2'); >super('a2', 'b2') : void >super : typeof A ->'a2' : string ->'b2' : string +>'a2' : "a2" +>'b2' : "b2" } } } diff --git a/tests/baselines/reference/es6ClassTest.js b/tests/baselines/reference/es6ClassTest.js index 365e91321a4..a722cce1670 100644 --- a/tests/baselines/reference/es6ClassTest.js +++ b/tests/baselines/reference/es6ClassTest.js @@ -113,9 +113,9 @@ var Foo = (function (_super) { } Foo.prototype.bar = function () { return 0; }; Foo.prototype.boo = function (x) { return x; }; - Foo.statVal = 0; return Foo; }(Bar)); +Foo.statVal = 0; var f = new Foo(); //class GetSetMonster { // // attack(target) { diff --git a/tests/baselines/reference/es6ClassTest2.js b/tests/baselines/reference/es6ClassTest2.js index 86ff00121cf..1881e6b8c87 100644 --- a/tests/baselines/reference/es6ClassTest2.js +++ b/tests/baselines/reference/es6ClassTest2.js @@ -283,9 +283,9 @@ var Statics = (function () { Statics.baz = function () { return ""; }; - Statics.foo = 1; return Statics; }()); +Statics.foo = 1; var stat = new Statics(); var ImplementsInterface = (function () { function ImplementsInterface() { diff --git a/tests/baselines/reference/es6ClassTest3.types b/tests/baselines/reference/es6ClassTest3.types index 208d8cdf4d9..328589d76d6 100644 --- a/tests/baselines/reference/es6ClassTest3.types +++ b/tests/baselines/reference/es6ClassTest3.types @@ -22,18 +22,18 @@ module M { constructor() { this.x = 1; ->this.x = 1 : number +>this.x = 1 : 1 >this.x : number >this : this >x : number ->1 : number +>1 : 1 this.y = 2; ->this.y = 2 : number +>this.y = 2 : 2 >this.y : number >this : this >y : number ->2 : number +>2 : 2 } } } diff --git a/tests/baselines/reference/es6ClassTest5.types b/tests/baselines/reference/es6ClassTest5.types index 087a80170ed..7b3b69512f5 100644 --- a/tests/baselines/reference/es6ClassTest5.types +++ b/tests/baselines/reference/es6ClassTest5.types @@ -23,6 +23,6 @@ class bigClass { public break = 1; >break : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index b12d65e595f..4dcfde53671 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -111,10 +111,10 @@ class Camera { >down : Vector >new Vector(0.0, -1.0, 0.0) : Vector >Vector : typeof Vector ->0.0 : number ->-1.0 : number ->1.0 : number ->0.0 : number +>0.0 : 0 +>-1.0 : -1 +>1.0 : 1 +>0.0 : 0 this.forward = Vector.norm(Vector.minus(lookAt,this.pos)); >this.forward = Vector.norm(Vector.minus(lookAt,this.pos)) : Vector diff --git a/tests/baselines/reference/es6ExportAll.types b/tests/baselines/reference/es6ExportAll.types index 876ff152e2c..b6a7056fd4a 100644 --- a/tests/baselines/reference/es6ExportAll.types +++ b/tests/baselines/reference/es6ExportAll.types @@ -11,11 +11,11 @@ export module m { export var x = 10; >x : number ->10 : number +>10 : 10 } export var x = 10; >x : number ->10 : number +>10 : 10 export module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportAllInEs5.types b/tests/baselines/reference/es6ExportAllInEs5.types index 68187384602..fc3daf6685c 100644 --- a/tests/baselines/reference/es6ExportAllInEs5.types +++ b/tests/baselines/reference/es6ExportAllInEs5.types @@ -11,11 +11,11 @@ export module m { export var x = 10; >x : number ->10 : number +>10 : 10 } export var x = 10; >x : number ->10 : number +>10 : 10 export module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportClause.types b/tests/baselines/reference/es6ExportClause.types index 5cab90d6a7f..22e5f9c0e0d 100644 --- a/tests/baselines/reference/es6ExportClause.types +++ b/tests/baselines/reference/es6ExportClause.types @@ -11,11 +11,11 @@ module m { export var x = 10; >x : number ->10 : number +>10 : 10 } var x = 10; >x : number ->10 : number +>10 : 10 module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportClauseInEs5.types b/tests/baselines/reference/es6ExportClauseInEs5.types index 5cab90d6a7f..22e5f9c0e0d 100644 --- a/tests/baselines/reference/es6ExportClauseInEs5.types +++ b/tests/baselines/reference/es6ExportClauseInEs5.types @@ -11,11 +11,11 @@ module m { export var x = 10; >x : number ->10 : number +>10 : 10 } var x = 10; >x : number ->10 : number +>10 : 10 module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js b/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js index 94bc5d9281f..5add71a06f2 100644 --- a/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js +++ b/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js @@ -25,7 +25,7 @@ exports.foo = foo = 3; var baz = 3; exports.baz = baz; exports.quux = baz; -exports.baz = exports.quux = baz = 4; +exports.quux = exports.baz = baz = 4; var buzz = 10; exports.buzz = buzz; exports.buzz = buzz += 3; diff --git a/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.types b/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.types index 3b6752d89db..f846063c7ef 100644 --- a/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.types +++ b/tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.types @@ -2,34 +2,34 @@ var foo = 2; >foo : number ->2 : number +>2 : 2 foo = 3; ->foo = 3 : number +>foo = 3 : 3 >foo : number ->3 : number +>3 : 3 var baz = 3; >baz : number ->3 : number +>3 : 3 baz = 4; ->baz = 4 : number +>baz = 4 : 4 >baz : number ->4 : number +>4 : 4 var buzz = 10; >buzz : number ->10 : number +>10 : 10 buzz += 3; >buzz += 3 : number >buzz : number ->3 : number +>3 : 3 var bizz = 8; >bizz : number ->8 : number +>8 : 8 bizz++; // compiles to exports.bizz = bizz += 1 >bizz++ : number diff --git a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifier.types b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifier.types index 6b621f4c777..748f731f918 100644 --- a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifier.types +++ b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifier.types @@ -11,11 +11,11 @@ export module m { export var x = 10; >x : number ->10 : number +>10 : 10 } export var x = 10; >x : number ->10 : number +>10 : 10 export module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types index 4bd93b39031..496717c3a85 100644 --- a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types +++ b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types @@ -11,11 +11,11 @@ export module m { export var x = 10; >x : number ->10 : number +>10 : 10 } export var x = 10; >x : number ->10 : number +>10 : 10 export module uninstantiated { >uninstantiated : any diff --git a/tests/baselines/reference/es6ExportDefaultExpression.types b/tests/baselines/reference/es6ExportDefaultExpression.types index 6f7665c2800..1e6a38482b6 100644 --- a/tests/baselines/reference/es6ExportDefaultExpression.types +++ b/tests/baselines/reference/es6ExportDefaultExpression.types @@ -3,6 +3,6 @@ export default (1 + 2); >(1 + 2) : number >1 + 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/es6ExportEqualsInterop.js b/tests/baselines/reference/es6ExportEqualsInterop.js index 6e9589acc9a..49a8a7e435a 100644 --- a/tests/baselines/reference/es6ExportEqualsInterop.js +++ b/tests/baselines/reference/es6ExportEqualsInterop.js @@ -295,7 +295,6 @@ var class_2 = require("class"); exports.a9 = class_2.a; var class_module_2 = require("class-module"); exports.a0 = class_module_2.a; -// export-star __export(require("variable")); __export(require("interface-variable")); __export(require("module")); diff --git a/tests/baselines/reference/es6ImportDefaultBinding.types b/tests/baselines/reference/es6ImportDefaultBinding.types index 6aa71ddf6ff..f538ee8127b 100644 --- a/tests/baselines/reference/es6ImportDefaultBinding.types +++ b/tests/baselines/reference/es6ImportDefaultBinding.types @@ -2,7 +2,7 @@ var a = 10; >a : number ->10 : number +>10 : 10 export default a; >a : number diff --git a/tests/baselines/reference/es6ImportDefaultBindingAmd.types b/tests/baselines/reference/es6ImportDefaultBindingAmd.types index 740ff2c0e14..824c5568b17 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingAmd.types +++ b/tests/baselines/reference/es6ImportDefaultBindingAmd.types @@ -2,7 +2,7 @@ var a = 10; >a : number ->10 : number +>10 : 10 export default a; >a : number diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.types b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.types index fe0137403a9..0fba9c6390c 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.types +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 export var x = a; >x : number diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.types b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.types index 6d3f015c783..a97100c662c 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.types +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1.types @@ -2,7 +2,7 @@ var a = 10; >a : number ->10 : number +>10 : 10 export default a; >a : number diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types index 4f9c618f10c..18dc5efe226 100644 --- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types +++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types @@ -2,7 +2,7 @@ var a = 10; >a : number ->10 : number +>10 : 10 export default a; >a : number diff --git a/tests/baselines/reference/es6ImportNameSpaceImport.types b/tests/baselines/reference/es6ImportNameSpaceImport.types index 56ee0c4d87a..6b73fb90bce 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImport.types +++ b/tests/baselines/reference/es6ImportNameSpaceImport.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNameSpaceImport_1.ts === import * as nameSpaceBinding from "./es6ImportNameSpaceImport_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImportAmd.types b/tests/baselines/reference/es6ImportNameSpaceImportAmd.types index beb6860c73e..96cd4e603ea 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImportAmd.types +++ b/tests/baselines/reference/es6ImportNameSpaceImportAmd.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNameSpaceImportAmd_1.ts === import * as nameSpaceBinding from "es6ImportNameSpaceImportAmd_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types index 13631060813..81971078849 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types +++ b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNameSpaceImportInEs5_1.ts === import * as nameSpaceBinding from "./es6ImportNameSpaceImportInEs5_0"; diff --git a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types index 4aaf33d5930..041100c7678 100644 --- a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types +++ b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types @@ -2,7 +2,7 @@ var a = 10; >a : number ->10 : number +>10 : 10 export = a; >a : number diff --git a/tests/baselines/reference/es6ImportNamedImport.types b/tests/baselines/reference/es6ImportNamedImport.types index bd7c43d7031..0ac3789c5e0 100644 --- a/tests/baselines/reference/es6ImportNamedImport.types +++ b/tests/baselines/reference/es6ImportNamedImport.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 export var x = a; >x : number @@ -14,23 +14,23 @@ export var m = a; export var a1 = 10; >a1 : number ->10 : number +>10 : 10 export var x1 = 10; >x1 : number ->10 : number +>10 : 10 export var z1 = 10; >z1 : number ->10 : number +>10 : 10 export var z2 = 10; >z2 : number ->10 : number +>10 : 10 export var aaaa = 10; >aaaa : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNamedImport_1.ts === import { } from "./es6ImportNamedImport_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportAmd.types b/tests/baselines/reference/es6ImportNamedImportAmd.types index 45ca9c08547..897187a5a0d 100644 --- a/tests/baselines/reference/es6ImportNamedImportAmd.types +++ b/tests/baselines/reference/es6ImportNamedImportAmd.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 export var x = a; >x : number @@ -14,23 +14,23 @@ export var m = a; export var a1 = 10; >a1 : number ->10 : number +>10 : 10 export var x1 = 10; >x1 : number ->10 : number +>10 : 10 export var z1 = 10; >z1 : number ->10 : number +>10 : 10 export var z2 = 10; >z2 : number ->10 : number +>10 : 10 export var aaaa = 10; >aaaa : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNamedImportAmd_1.ts === import { } from "es6ImportNamedImportAmd_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.types b/tests/baselines/reference/es6ImportNamedImportInEs5.types index 1d55b4bf51e..f2af5280fc2 100644 --- a/tests/baselines/reference/es6ImportNamedImportInEs5.types +++ b/tests/baselines/reference/es6ImportNamedImportInEs5.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 export var x = a; >x : number @@ -14,23 +14,23 @@ export var m = a; export var a1 = 10; >a1 : number ->10 : number +>10 : 10 export var x1 = 10; >x1 : number ->10 : number +>10 : 10 export var z1 = 10; >z1 : number ->10 : number +>10 : 10 export var z2 = 10; >z2 : number ->10 : number +>10 : 10 export var aaaa = 10; >aaaa : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNamedImportInEs5_1.ts === import { } from "./es6ImportNamedImportInEs5_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.types b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.types index 09023b6dd80..5b550c77a00 100644 --- a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.types +++ b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportNamedImportInExportAssignment_1.ts === import { a } from "./es6ImportNamedImportInExportAssignment_0"; diff --git a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types index a65a2978e1b..11c6caf3dbe 100644 --- a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types +++ b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types @@ -18,7 +18,7 @@ export class C implements I { prop = "hello"; >prop : string ->"hello" : string +>"hello" : "hello" } export class C2 implements I2 { >C2 : C2 @@ -26,7 +26,7 @@ export class C2 implements I2 { prop2 = "world"; >prop2 : string ->"world" : string +>"world" : "world" } === tests/cases/compiler/client.ts === diff --git a/tests/baselines/reference/es6ImportWithoutFromClause.types b/tests/baselines/reference/es6ImportWithoutFromClause.types index d46a4a7487c..cd49acbcd0f 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClause.types +++ b/tests/baselines/reference/es6ImportWithoutFromClause.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportWithoutFromClause_1.ts === import "es6ImportWithoutFromClause_0"; diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseAmd.types b/tests/baselines/reference/es6ImportWithoutFromClauseAmd.types index 3314b12d189..5099dee908b 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseAmd.types +++ b/tests/baselines/reference/es6ImportWithoutFromClauseAmd.types @@ -2,21 +2,21 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportWithoutFromClauseAmd_1.ts === export var b = 10; >b : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportWithoutFromClauseAmd_2.ts === import "es6ImportWithoutFromClauseAmd_0"; import "es6ImportWithoutFromClauseAmd_2"; var _a = 10; >_a : number ->10 : number +>10 : 10 var _b = 10; >_b : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types index ee95c07bb75..1e90de3223f 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types +++ b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types @@ -2,7 +2,7 @@ export var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/es6ImportWithoutFromClauseInEs5_1.ts === import "es6ImportWithoutFromClauseInEs5_0"; diff --git a/tests/baselines/reference/es6Module.types b/tests/baselines/reference/es6Module.types index b55b58e8883..709dcef0e89 100644 --- a/tests/baselines/reference/es6Module.types +++ b/tests/baselines/reference/es6Module.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6ModuleClassDeclaration.types b/tests/baselines/reference/es6ModuleClassDeclaration.types index e354d266abe..7b8e2ba26df 100644 --- a/tests/baselines/reference/es6ModuleClassDeclaration.types +++ b/tests/baselines/reference/es6ModuleClassDeclaration.types @@ -6,19 +6,19 @@ export class c { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void @@ -40,19 +40,19 @@ class c2 { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void @@ -85,19 +85,19 @@ export module m1 { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void @@ -119,19 +119,19 @@ export module m1 { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void @@ -172,19 +172,19 @@ module m2 { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void @@ -206,19 +206,19 @@ module m2 { } private x = 10; >x : number ->10 : number +>10 : 10 public y = 30; >y : number ->30 : number +>30 : 30 static k = 20; >k : number ->20 : number +>20 : 20 private static l = 30; >l : number ->30 : number +>30 : 30 private method1() { >method1 : () => void diff --git a/tests/baselines/reference/es6ModuleConst.types b/tests/baselines/reference/es6ModuleConst.types index 99b9f7c2980..b83e39e61ad 100644 --- a/tests/baselines/reference/es6ModuleConst.types +++ b/tests/baselines/reference/es6ModuleConst.types @@ -1,11 +1,11 @@ === tests/cases/compiler/es6ModuleConst.ts === export const a = "hello"; ->a : string ->"hello" : string +>a : "hello" +>"hello" : "hello" export const x: string = a, y = x; >x : string ->a : string +>a : "hello" >y : string >x : string @@ -23,49 +23,49 @@ export module m1 { >m1 : typeof m1 export const k = a; ->k : string ->a : string +>k : "hello" +>a : "hello" export const l: string = b, m = k; >l : string >b : string ->m : string ->k : string +>m : "hello" +>k : "hello" const n = m1.k; ->n : string ->m1.k : string +>n : "hello" +>m1.k : "hello" >m1 : typeof m1 ->k : string +>k : "hello" const o: string = n, p = k; >o : string ->n : string ->p : string ->k : string +>n : "hello" +>p : "hello" +>k : "hello" } module m2 { >m2 : typeof m2 export const k = a; ->k : string ->a : string +>k : "hello" +>a : "hello" export const l: string = b, m = k; >l : string >b : string ->m : string ->k : string +>m : "hello" +>k : "hello" const n = m1.k; ->n : string ->m1.k : string +>n : "hello" +>m1.k : "hello" >m1 : typeof m1 ->k : string +>k : "hello" const o: string = n, p = k; >o : string ->n : string ->p : string ->k : string +>n : "hello" +>p : "hello" +>k : "hello" } diff --git a/tests/baselines/reference/es6ModuleConstEnumDeclaration.types b/tests/baselines/reference/es6ModuleConstEnumDeclaration.types index fae819f93b0..1ad8f9c4615 100644 --- a/tests/baselines/reference/es6ModuleConstEnumDeclaration.types +++ b/tests/baselines/reference/es6ModuleConstEnumDeclaration.types @@ -3,37 +3,37 @@ export const enum e1 { >e1 : e1 a, ->a : e1 +>a : e1.a b, ->b : e1 +>b : e1.b c ->c : e1 +>c : e1.c } const enum e2 { >e2 : e2 x, ->x : e2 +>x : e2.x y, ->y : e2 +>y : e2.y z ->z : e2 +>z : e2.z } var x = e1.a; >x : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y = e2.x; >y : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x export module m1 { >m1 : typeof m1 @@ -42,49 +42,49 @@ export module m1 { >e3 : e3 a, ->a : e3 +>a : e3.a b, ->b : e3 +>b : e3.b c ->c : e3 +>c : e3.c } const enum e4 { >e4 : e4 x, ->x : e4 +>x : e4.x y, ->y : e4 +>y : e4.y z ->z : e4 +>z : e4.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e3.a; >x2 : e3 ->e3.a : e3 +>e3.a : e3.a >e3 : typeof e3 ->a : e3 +>a : e3.a var y2 = e4.x; >y2 : e4 ->e4.x : e4 +>e4.x : e4.x >e4 : typeof e4 ->x : e4 +>x : e4.x } module m2 { >m2 : typeof m2 @@ -93,55 +93,55 @@ module m2 { >e5 : e5 a, ->a : e5 +>a : e5.a b, ->b : e5 +>b : e5.b c ->c : e5 +>c : e5.c } const enum e6 { >e6 : e6 x, ->x : e6 +>x : e6.x y, ->y : e6 +>y : e6.y z ->z : e6 +>z : e6.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e5.a; >x2 : e5 ->e5.a : e5 +>e5.a : e5.a >e5 : typeof e5 ->a : e5 +>a : e5.a var y2 = e6.x; >y2 : e6 ->e6.x : e6 +>e6.x : e6.x >e6 : typeof e6 ->x : e6 +>x : e6.x var x3 = m1.e3.a; >x3 : m1.e3 ->m1.e3.a : m1.e3 +>m1.e3.a : m1.e3.a >m1.e3 : typeof m1.e3 >m1 : typeof m1 >e3 : typeof m1.e3 ->a : m1.e3 +>a : m1.e3.a } diff --git a/tests/baselines/reference/es6ModuleConstEnumDeclaration2.types b/tests/baselines/reference/es6ModuleConstEnumDeclaration2.types index c43a938c9b6..ee0cb195a1a 100644 --- a/tests/baselines/reference/es6ModuleConstEnumDeclaration2.types +++ b/tests/baselines/reference/es6ModuleConstEnumDeclaration2.types @@ -4,37 +4,37 @@ export const enum e1 { >e1 : e1 a, ->a : e1 +>a : e1.a b, ->b : e1 +>b : e1.b c ->c : e1 +>c : e1.c } const enum e2 { >e2 : e2 x, ->x : e2 +>x : e2.x y, ->y : e2 +>y : e2.y z ->z : e2 +>z : e2.z } var x = e1.a; >x : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y = e2.x; >y : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x export module m1 { >m1 : typeof m1 @@ -43,49 +43,49 @@ export module m1 { >e3 : e3 a, ->a : e3 +>a : e3.a b, ->b : e3 +>b : e3.b c ->c : e3 +>c : e3.c } const enum e4 { >e4 : e4 x, ->x : e4 +>x : e4.x y, ->y : e4 +>y : e4.y z ->z : e4 +>z : e4.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e3.a; >x2 : e3 ->e3.a : e3 +>e3.a : e3.a >e3 : typeof e3 ->a : e3 +>a : e3.a var y2 = e4.x; >y2 : e4 ->e4.x : e4 +>e4.x : e4.x >e4 : typeof e4 ->x : e4 +>x : e4.x } module m2 { >m2 : typeof m2 @@ -94,55 +94,55 @@ module m2 { >e5 : e5 a, ->a : e5 +>a : e5.a b, ->b : e5 +>b : e5.b c ->c : e5 +>c : e5.c } const enum e6 { >e6 : e6 x, ->x : e6 +>x : e6.x y, ->y : e6 +>y : e6.y z ->z : e6 +>z : e6.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e5.a; >x2 : e5 ->e5.a : e5 +>e5.a : e5.a >e5 : typeof e5 ->a : e5 +>a : e5.a var y2 = e6.x; >y2 : e6 ->e6.x : e6 +>e6.x : e6.x >e6 : typeof e6 ->x : e6 +>x : e6.x var x3 = m1.e3.a; >x3 : m1.e3 ->m1.e3.a : m1.e3 +>m1.e3.a : m1.e3.a >m1.e3 : typeof m1.e3 >m1 : typeof m1 >e3 : typeof m1.e3 ->a : m1.e3 +>a : m1.e3.a } diff --git a/tests/baselines/reference/es6ModuleEnumDeclaration.types b/tests/baselines/reference/es6ModuleEnumDeclaration.types index 4b856fee009..10880510758 100644 --- a/tests/baselines/reference/es6ModuleEnumDeclaration.types +++ b/tests/baselines/reference/es6ModuleEnumDeclaration.types @@ -3,37 +3,37 @@ export enum e1 { >e1 : e1 a, ->a : e1 +>a : e1.a b, ->b : e1 +>b : e1.b c ->c : e1 +>c : e1.c } enum e2 { >e2 : e2 x, ->x : e2 +>x : e2.x y, ->y : e2 +>y : e2.y z ->z : e2 +>z : e2.z } var x = e1.a; >x : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y = e2.x; >y : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x export module m1 { >m1 : typeof m1 @@ -42,49 +42,49 @@ export module m1 { >e3 : e3 a, ->a : e3 +>a : e3.a b, ->b : e3 +>b : e3.b c ->c : e3 +>c : e3.c } enum e4 { >e4 : e4 x, ->x : e4 +>x : e4.x y, ->y : e4 +>y : e4.y z ->z : e4 +>z : e4.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e3.a; >x2 : e3 ->e3.a : e3 +>e3.a : e3.a >e3 : typeof e3 ->a : e3 +>a : e3.a var y2 = e4.x; >y2 : e4 ->e4.x : e4 +>e4.x : e4.x >e4 : typeof e4 ->x : e4 +>x : e4.x } module m2 { >m2 : typeof m2 @@ -93,55 +93,55 @@ module m2 { >e5 : e5 a, ->a : e5 +>a : e5.a b, ->b : e5 +>b : e5.b c ->c : e5 +>c : e5.c } enum e6 { >e6 : e6 x, ->x : e6 +>x : e6.x y, ->y : e6 +>y : e6.y z ->z : e6 +>z : e6.z } var x1 = e1.a; >x1 : e1 ->e1.a : e1 +>e1.a : e1.a >e1 : typeof e1 ->a : e1 +>a : e1.a var y1 = e2.x; >y1 : e2 ->e2.x : e2 +>e2.x : e2.x >e2 : typeof e2 ->x : e2 +>x : e2.x var x2 = e5.a; >x2 : e5 ->e5.a : e5 +>e5.a : e5.a >e5 : typeof e5 ->a : e5 +>a : e5.a var y2 = e6.x; >y2 : e6 ->e6.x : e6 +>e6.x : e6.x >e6 : typeof e6 ->x : e6 +>x : e6.x var x3 = m1.e3.a; >x3 : m1.e3 ->m1.e3.a : m1.e3 +>m1.e3.a : m1.e3.a >m1.e3 : typeof m1.e3 >m1 : typeof m1 >e3 : typeof m1.e3 ->a : m1.e3 +>a : m1.e3.a } diff --git a/tests/baselines/reference/es6ModuleInternalImport.types b/tests/baselines/reference/es6ModuleInternalImport.types index 5d7fd527afd..08dc2a9bcbe 100644 --- a/tests/baselines/reference/es6ModuleInternalImport.types +++ b/tests/baselines/reference/es6ModuleInternalImport.types @@ -4,7 +4,7 @@ export module m { export var a = 10; >a : number ->10 : number +>10 : 10 } export import a1 = m.a; >a1 : number diff --git a/tests/baselines/reference/es6ModuleInternalNamedImports.js b/tests/baselines/reference/es6ModuleInternalNamedImports.js index 98504601d02..22d15b9fd61 100644 --- a/tests/baselines/reference/es6ModuleInternalNamedImports.js +++ b/tests/baselines/reference/es6ModuleInternalNamedImports.js @@ -55,11 +55,4 @@ export var M; var M_E = M.M_E; // alias M.M_A = M_M; - // Reexports - export { M_V as v }; - export { M_C as c }; - export { M_M as m }; - export { M_F as f }; - export { M_E as e }; - export { M_A as a }; })(M || (M = {})); diff --git a/tests/baselines/reference/es6ModuleInternalNamedImports2.js b/tests/baselines/reference/es6ModuleInternalNamedImports2.js index 98226a1e52b..35eabc9a65e 100644 --- a/tests/baselines/reference/es6ModuleInternalNamedImports2.js +++ b/tests/baselines/reference/es6ModuleInternalNamedImports2.js @@ -59,11 +59,4 @@ export var M; M.M_A = M_M; })(M || (M = {})); (function (M) { - // Reexports - export { M_V as v }; - export { M_C as c }; - export { M_M as m }; - export { M_F as f }; - export { M_E as e }; - export { M_A as a }; })(M || (M = {})); diff --git a/tests/baselines/reference/es6ModuleLet.types b/tests/baselines/reference/es6ModuleLet.types index 9e670c0a1e1..a8bfb89dd6e 100644 --- a/tests/baselines/reference/es6ModuleLet.types +++ b/tests/baselines/reference/es6ModuleLet.types @@ -1,7 +1,7 @@ === tests/cases/compiler/es6ModuleLet.ts === export let a = "hello"; >a : string ->"hello" : string +>"hello" : "hello" export let x: string = a, y = x; >x : string diff --git a/tests/baselines/reference/es6ModuleModuleDeclaration.types b/tests/baselines/reference/es6ModuleModuleDeclaration.types index 6fb5a7c98f5..4e0f309457b 100644 --- a/tests/baselines/reference/es6ModuleModuleDeclaration.types +++ b/tests/baselines/reference/es6ModuleModuleDeclaration.types @@ -4,33 +4,33 @@ export module m1 { export var a = 10; >a : number ->10 : number +>10 : 10 var b = 10; >b : number ->10 : number +>10 : 10 export module innerExportedModule { >innerExportedModule : typeof innerExportedModule export var k = 10; >k : number ->10 : number +>10 : 10 var l = 10; >l : number ->10 : number +>10 : 10 } export module innerNonExportedModule { >innerNonExportedModule : typeof innerNonExportedModule export var x = 10; >x : number ->10 : number +>10 : 10 var y = 10; >y : number ->10 : number +>10 : 10 } } module m2 { @@ -38,32 +38,32 @@ module m2 { export var a = 10; >a : number ->10 : number +>10 : 10 var b = 10; >b : number ->10 : number +>10 : 10 export module innerExportedModule { >innerExportedModule : typeof innerExportedModule export var k = 10; >k : number ->10 : number +>10 : 10 var l = 10; >l : number ->10 : number +>10 : 10 } export module innerNonExportedModule { >innerNonExportedModule : typeof innerNonExportedModule export var x = 10; >x : number ->10 : number +>10 : 10 var y = 10; >y : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/es6ModuleVariableStatement.types b/tests/baselines/reference/es6ModuleVariableStatement.types index 520430199e4..00278b6511c 100644 --- a/tests/baselines/reference/es6ModuleVariableStatement.types +++ b/tests/baselines/reference/es6ModuleVariableStatement.types @@ -1,7 +1,7 @@ === tests/cases/compiler/es6ModuleVariableStatement.ts === export var a = "hello"; >a : string ->"hello" : string +>"hello" : "hello" export var x: string = a, y = x; >x : string diff --git a/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.types b/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.types index 067ceb005e8..90b9afbe02e 100644 --- a/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.types +++ b/tests/baselines/reference/es6ModuleWithModuleGenTargetAmd.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.types b/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.types index 58f0f89f955..31fc40eeabd 100644 --- a/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.types +++ b/tests/baselines/reference/es6ModuleWithModuleGenTargetCommonjs.types @@ -10,6 +10,6 @@ export class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6modulekind.types b/tests/baselines/reference/es6modulekind.types index d7fde0c7d44..8994eb6657a 100644 --- a/tests/baselines/reference/es6modulekind.types +++ b/tests/baselines/reference/es6modulekind.types @@ -12,6 +12,6 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6modulekindWithES2015Target.types b/tests/baselines/reference/es6modulekindWithES2015Target.types index 63acdae43d1..313fb612d8e 100644 --- a/tests/baselines/reference/es6modulekindWithES2015Target.types +++ b/tests/baselines/reference/es6modulekindWithES2015Target.types @@ -12,6 +12,6 @@ export default class A >B : () => number { return 42; ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/es6modulekindWithES5Target.js b/tests/baselines/reference/es6modulekindWithES5Target.js index cdd1bb018d4..10d9cd2e36f 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.js +++ b/tests/baselines/reference/es6modulekindWithES5Target.js @@ -32,21 +32,22 @@ export var C = (function () { this.p = 1; } C.prototype.method = function () { }; - C.s = 0; return C; }()); +C.s = 0; export { C as C2 }; -export var D = (function () { +var D = (function () { function D() { this.p = 1; } D.prototype.method = function () { }; - D.s = 0; - D = __decorate([ - foo - ], D); return D; }()); +D.s = 0; +D = __decorate([ + foo +], D); +export { D }; export { D as D2 }; var E = (function () { function E() { diff --git a/tests/baselines/reference/es6modulekindWithES5Target.types b/tests/baselines/reference/es6modulekindWithES5Target.types index f7232f20494..4b620fb9e17 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.types +++ b/tests/baselines/reference/es6modulekindWithES5Target.types @@ -5,11 +5,11 @@ export class C { static s = 0; >s : number ->0 : number +>0 : 0 p = 1; >p : number ->1 : number +>1 : 1 method() { } >method : () => void @@ -30,11 +30,11 @@ export class D { static s = 0; >s : number ->0 : number +>0 : 0 p = 1; >p : number ->1 : number +>1 : 1 method() { } >method : () => void diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.js b/tests/baselines/reference/es6modulekindWithES5Target11.js index 67196ba2054..1268c33697a 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.js +++ b/tests/baselines/reference/es6modulekindWithES5Target11.js @@ -22,10 +22,10 @@ var C = (function () { } C.x = function () { return C.y; }; C.prototype.method = function () { }; - C.y = 1; - C = __decorate([ - foo - ], C); return C; }()); +C.y = 1; +C = __decorate([ + foo +], C); export default C; diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.types b/tests/baselines/reference/es6modulekindWithES5Target11.types index 51fbe371017..e3d922c0443 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.types +++ b/tests/baselines/reference/es6modulekindWithES5Target11.types @@ -18,11 +18,11 @@ export default class C { static y = 1 >y : number ->1 : number +>1 : 1 p = 1; >p : number ->1 : number +>1 : 1 method() { } >method : () => void diff --git a/tests/baselines/reference/es6modulekindWithES5Target2.js b/tests/baselines/reference/es6modulekindWithES5Target2.js index 4cfe8bc6d4b..101ead5cb56 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target2.js +++ b/tests/baselines/reference/es6modulekindWithES5Target2.js @@ -13,7 +13,7 @@ var C = (function () { this.p = 1; } C.prototype.method = function () { }; - C.s = 0; return C; }()); export default C; +C.s = 0; diff --git a/tests/baselines/reference/es6modulekindWithES5Target2.types b/tests/baselines/reference/es6modulekindWithES5Target2.types index 04b5e5b9905..6ad697e0c25 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target2.types +++ b/tests/baselines/reference/es6modulekindWithES5Target2.types @@ -5,11 +5,11 @@ export default class C { static s = 0; >s : number ->0 : number +>0 : 0 p = 1; >p : number ->1 : number +>1 : 1 method() { } >method : () => void diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.js b/tests/baselines/reference/es6modulekindWithES5Target3.js index bfe55d2a573..72e6f97a900 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.js +++ b/tests/baselines/reference/es6modulekindWithES5Target3.js @@ -21,10 +21,10 @@ var D = (function () { this.p = 1; } D.prototype.method = function () { }; - D.s = 0; - D = __decorate([ - foo - ], D); return D; }()); +D.s = 0; +D = __decorate([ + foo +], D); export default D; diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.types b/tests/baselines/reference/es6modulekindWithES5Target3.types index 5bc8c69c01a..78928f56ddd 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.types +++ b/tests/baselines/reference/es6modulekindWithES5Target3.types @@ -13,11 +13,11 @@ export default class D { static s = 0; >s : number ->0 : number +>0 : 0 p = 1; >p : number ->1 : number +>1 : 1 method() { } >method : () => void diff --git a/tests/baselines/reference/es6modulekindWithES5Target6.js b/tests/baselines/reference/es6modulekindWithES5Target6.js index d305c60e54e..6f8de9db816 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target6.js +++ b/tests/baselines/reference/es6modulekindWithES5Target6.js @@ -11,15 +11,15 @@ export default function f3(d = 0) { //// [es6modulekindWithES5Target6.js] -export function f1(d) { +function f1(d) { if (d === void 0) { d = 0; } } -export function f2() { +function f2() { var arg = []; for (var _i = 0; _i < arguments.length; _i++) { arg[_i - 0] = arguments[_i]; } } -export default function f3(d) { +function f3(d) { if (d === void 0) { d = 0; } } diff --git a/tests/baselines/reference/es6modulekindWithES5Target6.types b/tests/baselines/reference/es6modulekindWithES5Target6.types index 932493ef063..de43a987d4d 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target6.types +++ b/tests/baselines/reference/es6modulekindWithES5Target6.types @@ -3,7 +3,7 @@ export function f1(d = 0) { >f1 : (d?: number) => void >d : number ->0 : number +>0 : 0 } export function f2(...arg) { @@ -14,6 +14,6 @@ export function f2(...arg) { export default function f3(d = 0) { >f3 : (d?: number) => void >d : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/es6modulekindWithES5Target7.types b/tests/baselines/reference/es6modulekindWithES5Target7.types index f1404c7883a..1c3add3b031 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target7.types +++ b/tests/baselines/reference/es6modulekindWithES5Target7.types @@ -5,7 +5,7 @@ export namespace N { var x = 0; >x : number ->0 : number +>0 : 0 } export namespace N2 { diff --git a/tests/baselines/reference/es6modulekindWithES5Target8.types b/tests/baselines/reference/es6modulekindWithES5Target8.types index 4017b02a471..754decea312 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target8.types +++ b/tests/baselines/reference/es6modulekindWithES5Target8.types @@ -1,10 +1,10 @@ === tests/cases/compiler/es6modulekindWithES5Target8.ts === export const c = 0; ->c : number ->0 : number +>c : 0 +>0 : 0 export let l = 1; >l : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/escapedIdentifiers.js b/tests/baselines/reference/escapedIdentifiers.js index c1b5fe8ae09..b326dbf1ecc 100644 --- a/tests/baselines/reference/escapedIdentifiers.js +++ b/tests/baselines/reference/escapedIdentifiers.js @@ -143,7 +143,7 @@ var moduleType1; (function (moduleType1) { })(moduleType1 || (moduleType1 = {})); var moduleType\u0032; -(function (moduleType2) { +(function (moduleType\u0032) { })(moduleType\u0032 || (moduleType\u0032 = {})); moduleType1.baz1 = 3; moduleType\u0031.baz1 = 3; diff --git a/tests/baselines/reference/escapedIdentifiers.types b/tests/baselines/reference/escapedIdentifiers.types index 67713976bd6..e7f19d7144c 100644 --- a/tests/baselines/reference/escapedIdentifiers.types +++ b/tests/baselines/reference/escapedIdentifiers.types @@ -14,7 +14,7 @@ // var decl var \u0061 = 1; >\u0061 : number ->1 : number +>1 : 1 a ++; >a ++ : number @@ -26,7 +26,7 @@ a ++; var b = 1; >b : number ->1 : number +>1 : 1 b ++; >b ++ : number @@ -51,32 +51,32 @@ module moduleType\u0032 { } moduleType1.baz1 = 3; ->moduleType1.baz1 = 3 : number +>moduleType1.baz1 = 3 : 3 >moduleType1.baz1 : number >moduleType1 : typeof moduleType1 >baz1 : number ->3 : number +>3 : 3 moduleType\u0031.baz1 = 3; ->moduleType\u0031.baz1 = 3 : number +>moduleType\u0031.baz1 = 3 : 3 >moduleType\u0031.baz1 : number >moduleType\u0031 : typeof moduleType1 >baz1 : number ->3 : number +>3 : 3 moduleType2.baz2 = 3; ->moduleType2.baz2 = 3 : number +>moduleType2.baz2 = 3 : 3 >moduleType2.baz2 : number >moduleType2 : typeof moduleType\u0032 >baz2 : number ->3 : number +>3 : 3 moduleType\u0032.baz2 = 3; ->moduleType\u0032.baz2 = 3 : number +>moduleType\u0032.baz2 = 3 : 3 >moduleType\u0032.baz2 : number >moduleType\u0032 : typeof moduleType\u0032 >baz2 : number ->3 : number +>3 : 3 // classes @@ -99,11 +99,11 @@ var classType1Object1 = new classType1(); >classType1 : typeof classType1 classType1Object1.foo1 = 2; ->classType1Object1.foo1 = 2 : number +>classType1Object1.foo1 = 2 : 2 >classType1Object1.foo1 : number >classType1Object1 : classType1 >foo1 : number ->2 : number +>2 : 2 var classType1Object2 = new classType\u0031(); >classType1Object2 : classType1 @@ -111,11 +111,11 @@ var classType1Object2 = new classType\u0031(); >classType\u0031 : typeof classType1 classType1Object2.foo1 = 2; ->classType1Object2.foo1 = 2 : number +>classType1Object2.foo1 = 2 : 2 >classType1Object2.foo1 : number >classType1Object2 : classType1 >foo1 : number ->2 : number +>2 : 2 var classType2Object1 = new classType2(); >classType2Object1 : classType\u0032 @@ -123,11 +123,11 @@ var classType2Object1 = new classType2(); >classType2 : typeof classType\u0032 classType2Object1.foo2 = 2; ->classType2Object1.foo2 = 2 : number +>classType2Object1.foo2 = 2 : 2 >classType2Object1.foo2 : number >classType2Object1 : classType\u0032 >foo2 : number ->2 : number +>2 : 2 var classType2Object2 = new classType\u0032(); >classType2Object2 : classType\u0032 @@ -135,11 +135,11 @@ var classType2Object2 = new classType\u0032(); >classType\u0032 : typeof classType\u0032 classType2Object2.foo2 = 2; ->classType2Object2.foo2 = 2 : number +>classType2Object2.foo2 = 2 : 2 >classType2Object2.foo2 : number >classType2Object2 : classType\u0032 >foo2 : number ->2 : number +>2 : 2 // interfaces interface interfaceType1 { @@ -161,14 +161,14 @@ var interfaceType1Object1 = { bar1: 0 }; >interfaceType1 : interfaceType1 >{ bar1: 0 } : { bar1: number; } >bar1 : number ->0 : number +>0 : 0 interfaceType1Object1.bar1 = 2; ->interfaceType1Object1.bar1 = 2 : number +>interfaceType1Object1.bar1 = 2 : 2 >interfaceType1Object1.bar1 : number >interfaceType1Object1 : interfaceType1 >bar1 : number ->2 : number +>2 : 2 var interfaceType1Object2 = { bar1: 0 }; >interfaceType1Object2 : interfaceType1 @@ -176,14 +176,14 @@ var interfaceType1Object2 = { bar1: 0 }; >interfaceType\u0031 : interfaceType1 >{ bar1: 0 } : { bar1: number; } >bar1 : number ->0 : number +>0 : 0 interfaceType1Object2.bar1 = 2; ->interfaceType1Object2.bar1 = 2 : number +>interfaceType1Object2.bar1 = 2 : 2 >interfaceType1Object2.bar1 : number >interfaceType1Object2 : interfaceType1 >bar1 : number ->2 : number +>2 : 2 var interfaceType2Object1 = { bar2: 0 }; >interfaceType2Object1 : interfaceType\u0032 @@ -191,14 +191,14 @@ var interfaceType2Object1 = { bar2: 0 }; >interfaceType2 : interfaceType\u0032 >{ bar2: 0 } : { bar2: number; } >bar2 : number ->0 : number +>0 : 0 interfaceType2Object1.bar2 = 2; ->interfaceType2Object1.bar2 = 2 : number +>interfaceType2Object1.bar2 = 2 : 2 >interfaceType2Object1.bar2 : number >interfaceType2Object1 : interfaceType\u0032 >bar2 : number ->2 : number +>2 : 2 var interfaceType2Object2 = { bar2: 0 }; >interfaceType2Object2 : interfaceType\u0032 @@ -206,14 +206,14 @@ var interfaceType2Object2 = { bar2: 0 }; >interfaceType\u0032 : interfaceType\u0032 >{ bar2: 0 } : { bar2: number; } >bar2 : number ->0 : number +>0 : 0 interfaceType2Object2.bar2 = 2; ->interfaceType2Object2.bar2 = 2 : number +>interfaceType2Object2.bar2 = 2 : 2 >interfaceType2Object2.bar2 : number >interfaceType2Object2 : interfaceType\u0032 >bar2 : number ->2 : number +>2 : 2 // arguments @@ -228,24 +228,24 @@ class testClass { >arg4 : number arg\u0031 = 1; ->arg\u0031 = 1 : number +>arg\u0031 = 1 : 1 >arg\u0031 : number ->1 : number +>1 : 1 arg2 = 'string'; ->arg2 = 'string' : string +>arg2 = 'string' : "string" >arg2 : string ->'string' : string +>'string' : "string" arg\u0033 = true; ->arg\u0033 = true : boolean +>arg\u0033 = true : true >arg\u0033 : boolean ->true : boolean +>true : true arg4 = 2; ->arg4 = 2 : number +>arg4 = 2 : 2 >arg4 : number ->2 : number +>2 : 2 } } @@ -264,38 +264,38 @@ var constructorTestObject = new constructorTestClass(1, 'string', true, 2); >constructorTestObject : constructorTestClass >new constructorTestClass(1, 'string', true, 2) : constructorTestClass >constructorTestClass : typeof constructorTestClass ->1 : number ->'string' : string ->true : boolean ->2 : number +>1 : 1 +>'string' : "string" +>true : true +>2 : 2 constructorTestObject.arg\u0031 = 1; ->constructorTestObject.arg\u0031 = 1 : number +>constructorTestObject.arg\u0031 = 1 : 1 >constructorTestObject.arg\u0031 : number >constructorTestObject : constructorTestClass >arg\u0031 : number ->1 : number +>1 : 1 constructorTestObject.arg2 = 'string'; ->constructorTestObject.arg2 = 'string' : string +>constructorTestObject.arg2 = 'string' : "string" >constructorTestObject.arg2 : string >constructorTestObject : constructorTestClass >arg2 : string ->'string' : string +>'string' : "string" constructorTestObject.arg\u0033 = true; ->constructorTestObject.arg\u0033 = true : boolean +>constructorTestObject.arg\u0033 = true : true >constructorTestObject.arg\u0033 : boolean >constructorTestObject : constructorTestClass >arg\u0033 : boolean ->true : boolean +>true : true constructorTestObject.arg4 = 2; ->constructorTestObject.arg4 = 2 : number +>constructorTestObject.arg4 = 2 : 2 >constructorTestObject.arg4 : number >constructorTestObject : constructorTestClass >arg4 : number ->2 : number +>2 : 2 // Lables @@ -303,10 +303,10 @@ l\u0061bel1: >l\u0061bel1 : any while (false) ->false : boolean +>false : false { while(false) ->false : boolean +>false : false continue label1; // it will go to next iteration of outer loop >label1 : any @@ -316,10 +316,10 @@ label2: >label2 : any while (false) ->false : boolean +>false : false { while(false) ->false : boolean +>false : false continue l\u0061bel2; // it will go to next iteration of outer loop >l\u0061bel2 : any @@ -329,10 +329,10 @@ label3: >label3 : any while (false) ->false : boolean +>false : false { while(false) ->false : boolean +>false : false continue label3; // it will go to next iteration of outer loop >label3 : any @@ -342,10 +342,10 @@ l\u0061bel4: >l\u0061bel4 : any while (false) ->false : boolean +>false : false { while(false) ->false : boolean +>false : false continue l\u0061bel4; // it will go to next iteration of outer loop >l\u0061bel4 : any diff --git a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types index 1ebbf8aedb2..1cecaaa74f0 100644 --- a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types +++ b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types @@ -2,21 +2,21 @@ // double underscores var __proto__ = 10; >__proto__ : number ->10 : number +>10 : 10 var o = { >o : { "__proto__": number; } >{ "__proto__": 0} : { "__proto__": number; } "__proto__": 0 ->0 : number +>0 : 0 }; var b = o["__proto__"]; >b : number >o["__proto__"] : number >o : { "__proto__": number; } ->"__proto__" : string +>"__proto__" : "___proto__" var o1 = { >o1 : { __proto__: number; } @@ -24,33 +24,33 @@ var o1 = { __proto__: 0 >__proto__ : number ->0 : number +>0 : 0 }; var b1 = o1["__proto__"]; >b1 : number >o1["__proto__"] : number >o1 : { __proto__: number; } ->"__proto__" : string +>"__proto__" : "___proto__" // Triple underscores var ___proto__ = 10; >___proto__ : number ->10 : number +>10 : 10 var o2 = { >o2 : { "___proto__": number; } >{ "___proto__": 0} : { "___proto__": number; } "___proto__": 0 ->0 : number +>0 : 0 }; var b2 = o2["___proto__"]; >b2 : number >o2["___proto__"] : number >o2 : { "___proto__": number; } ->"___proto__" : string +>"___proto__" : "____proto__" var o3 = { >o3 : { ___proto__: number; } @@ -58,33 +58,33 @@ var o3 = { ___proto__: 0 >___proto__ : number ->0 : number +>0 : 0 }; var b3 = o3["___proto__"]; >b3 : number >o3["___proto__"] : number >o3 : { ___proto__: number; } ->"___proto__" : string +>"___proto__" : "____proto__" // One underscore var _proto__ = 10; >_proto__ : number ->10 : number +>10 : 10 var o4 = { >o4 : { "_proto__": number; } >{ "_proto__": 0} : { "_proto__": number; } "_proto__": 0 ->0 : number +>0 : 0 }; var b4 = o4["_proto__"]; >b4 : number >o4["_proto__"] : number >o4 : { "_proto__": number; } ->"_proto__" : string +>"_proto__" : "_proto__" var o5 = { >o5 : { _proto__: number; } @@ -92,12 +92,12 @@ var o5 = { _proto__: 0 >_proto__ : number ->0 : number +>0 : 0 }; var b5 = o5["_proto__"]; >b5 : number >o5["_proto__"] : number >o5 : { _proto__: number; } ->"_proto__" : string +>"_proto__" : "_proto__" diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types index 0e7059f4eed..d1843aebb1a 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types @@ -37,7 +37,7 @@ class D{ function F(x: string): number { return 42; } >F : (x: string) => number >x : string ->42 : number +>42 : 42 module M { >M : typeof M @@ -60,18 +60,18 @@ module M { var aNumber: number = 9.9; >aNumber : number ->9.9 : number +>9.9 : 9.9 var aString: string = 'this is a string'; >aString : string ->'this is a string' : string +>'this is a string' : "this is a string" var aDate: Date = new Date(12); >aDate : Date >Date : Date >new Date(12) : Date >Date : DateConstructor ->12 : number +>12 : 12 var anObject: Object = new Object(); >anObject : Object @@ -114,7 +114,7 @@ var anObjectLiteral: I = { id: 12 }; >I : I >{ id: 12 } : { id: number; } >id : number ->12 : number +>12 : 12 var anOtherObjectLiteral: { id: number } = new C(); >anOtherObjectLiteral : { id: number; } @@ -137,7 +137,7 @@ var aLambda: typeof F = (x) => 2; >F : (x: string) => number >(x) => 2 : (x: string) => number >x : string ->2 : number +>2 : 2 var aModule: typeof M = M; >aModule : typeof M @@ -160,6 +160,6 @@ var aFunctionInModule: typeof M.F2 = (x) => 'this is a string'; >F2 : (x: number) => string >(x) => 'this is a string' : (x: number) => string >x : number ->'this is a string' : string +>'this is a string' : "this is a string" diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt index 13c2058b657..5302f856c6f 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(34,5): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(35,5): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(36,5): error TS2322: Type 'number' is not assignable to type 'Date'. -tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(38,5): error TS2322: Type 'number' is not assignable to type 'void'. +tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(34,5): error TS2322: Type '"this is a string"' is not assignable to type 'number'. +tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(35,5): error TS2322: Type '9.9' is not assignable to type 'string'. +tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(36,5): error TS2322: Type '9.9' is not assignable to type 'Date'. +tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(38,5): error TS2322: Type '9.9' is not assignable to type 'void'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(40,5): error TS2322: Type 'D<{}>' is not assignable to type 'I'. Property 'id' is missing in type 'D<{}>'. tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts(41,5): error TS2322: Type 'D<{}>' is not assignable to type 'C'. @@ -68,17 +68,17 @@ tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAnd var aNumber: number = 'this is a string'; ~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"this is a string"' is not assignable to type 'number'. var aString: string = 9.9; ~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '9.9' is not assignable to type 'string'. var aDate: Date = 9.9; ~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'Date'. +!!! error TS2322: Type '9.9' is not assignable to type 'Date'. var aVoid: void = 9.9; ~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'void'. +!!! error TS2322: Type '9.9' is not assignable to type 'void'. var anInterface: I = new D(); ~~~~~~~~~~~ diff --git a/tests/baselines/reference/everyTypeWithInitializer.types b/tests/baselines/reference/everyTypeWithInitializer.types index abc0e770e35..947eff14f7f 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.types +++ b/tests/baselines/reference/everyTypeWithInitializer.types @@ -37,7 +37,7 @@ class D{ function F(x: string): number { return 42; } >F : (x: string) => number >x : string ->42 : number +>42 : 42 module M { >M : typeof M @@ -60,17 +60,17 @@ module M { var aNumber = 9.9; >aNumber : number ->9.9 : number +>9.9 : 9.9 var aString = 'this is a string'; >aString : string ->'this is a string' : string +>'this is a string' : "this is a string" var aDate = new Date(12); >aDate : Date >new Date(12) : Date >Date : DateConstructor ->12 : number +>12 : 12 var anObject = new Object(); >anObject : Object @@ -106,7 +106,7 @@ var anObjectLiteral = { id: 12 }; >anObjectLiteral : { id: number; } >{ id: 12 } : { id: number; } >id : number ->12 : number +>12 : 12 var aFunction = F; >aFunction : (x: string) => number @@ -116,7 +116,7 @@ var aLambda = (x) => 2; >aLambda : (x: any) => number >(x) => 2 : (x: any) => number >x : any ->2 : number +>2 : 2 var aModule = M; >aModule : typeof M diff --git a/tests/baselines/reference/excessPropertyErrorForFunctionTypes.errors.txt b/tests/baselines/reference/excessPropertyErrorForFunctionTypes.errors.txt index dc9d6821e55..961308059ba 100644 --- a/tests/baselines/reference/excessPropertyErrorForFunctionTypes.errors.txt +++ b/tests/baselines/reference/excessPropertyErrorForFunctionTypes.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/excessPropertyErrorForFunctionTypes.ts(4,44): error TS2322: Type '{ a: number; c: number; d: number; }' is not assignable to type '{ a: number; c: number; } | (() => any)'. - Object literal may only specify known properties, and 'd' does not exist in type '{ a: number; c: number; } | (() => any)'. +tests/cases/compiler/excessPropertyErrorForFunctionTypes.ts(4,44): error TS2322: Type '{ a: number; c: number; d: number; }' is not assignable to type 'DoesntWork'. + Object literal may only specify known properties, and 'd' does not exist in type 'DoesntWork'. ==== tests/cases/compiler/excessPropertyErrorForFunctionTypes.ts (1 errors) ==== @@ -8,5 +8,5 @@ tests/cases/compiler/excessPropertyErrorForFunctionTypes.ts(4,44): error TS2322: let doesntWork: DoesntWork = { a: 1, c: 2, d: 3 } ~~~~ -!!! error TS2322: Type '{ a: number; c: number; d: number; }' is not assignable to type '{ a: number; c: number; } | (() => any)'. -!!! error TS2322: Object literal may only specify known properties, and 'd' does not exist in type '{ a: number; c: number; } | (() => any)'. \ No newline at end of file +!!! error TS2322: Type '{ a: number; c: number; d: number; }' is not assignable to type 'DoesntWork'. +!!! error TS2322: Object literal may only specify known properties, and 'd' does not exist in type 'DoesntWork'. \ No newline at end of file diff --git a/tests/baselines/reference/excessPropertyErrorsSuppressed.types b/tests/baselines/reference/excessPropertyErrorsSuppressed.types index 47a4dbf92a9..c0b8f66d840 100644 --- a/tests/baselines/reference/excessPropertyErrorsSuppressed.types +++ b/tests/baselines/reference/excessPropertyErrorsSuppressed.types @@ -5,7 +5,7 @@ var x: { a: string } = { a: "hello", b: 42 }; // No error >a : string >{ a: "hello", b: 42 } : { a: string; b: number; } >a : string ->"hello" : string +>"hello" : "hello" >b : number ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError1.js b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError1.js index cf97360b23a..8c6d9e011f6 100644 --- a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError1.js +++ b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError1.js @@ -37,17 +37,17 @@ var s; "" + (Math.pow(-t1, t2) - t1); "" + (Math.pow(-++t1, t2) - t1); "" + (Math.pow(-t1++, t2) - t1); -"" + (Math.pow(!t1, Math.pow(t2, --t1))); -"" + (Math.pow(typeof t1, Math.pow(t2, t1))); +"" + Math.pow(!t1, Math.pow(t2, --t1)); +"" + Math.pow(typeof t1, Math.pow(t2, t1)); "" + (Math.pow(-t1, t2) - t1) + (Math.pow(-t1, t2) - t1); "" + (Math.pow(-++t1, t2) - t1) + (Math.pow(-++t1, t2) - t1); "" + (Math.pow(-t1++, t2) - t1) + (Math.pow(-t1++, t2) - t1); -"" + (Math.pow(!t1, Math.pow(t2, --t1))) + (Math.pow(!t1, Math.pow(t2, --t1))); -"" + (Math.pow(typeof t1, Math.pow(t2, t1))) + (Math.pow(typeof t1, Math.pow(t2, t1))); +"" + Math.pow(!t1, Math.pow(t2, --t1)) + Math.pow(!t1, Math.pow(t2, --t1)); +"" + Math.pow(typeof t1, Math.pow(t2, t1)) + Math.pow(typeof t1, Math.pow(t2, t1)); "" + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); -(Math.pow(-t1, t2) - t1) + " hello world " + (Math.pow(-t1, t2) - t1); -(Math.pow(-++t1, t2) - t1) + " hello world " + (Math.pow(-++t1, t2) - t1); -(Math.pow(-t1++, t2) - t1) + " hello world " + (Math.pow(-t1++, t2) - t1); -(Math.pow(!t1, Math.pow(t2, --t1))) + " hello world " + (Math.pow(!t1, Math.pow(t2, --t1))); -(Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(typeof t1, Math.pow(t2, t1))); -(1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); +Math.pow(-t1, t2) - t1 + " hello world " + (Math.pow(-t1, t2) - t1); +Math.pow(-++t1, t2) - t1 + " hello world " + (Math.pow(-++t1, t2) - t1); +Math.pow(-t1++, t2) - t1 + " hello world " + (Math.pow(-t1++, t2) - t1); +Math.pow(!t1, Math.pow(t2, --t1)) + " hello world " + Math.pow(!t1, Math.pow(t2, --t1)); +Math.pow(typeof t1, Math.pow(t2, t1)) + " hello world " + Math.pow(typeof t1, Math.pow(t2, t1)); +1 + Math.pow(typeof t1, Math.pow(t2, t1)) + " hello world " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); diff --git a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError2.js b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError2.js index 486c07f8af6..9ae2d727078 100644 --- a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError2.js +++ b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError2.js @@ -37,18 +37,18 @@ var s; "hello " + (Math.pow(-t1, t2) - t1); "hello " + (Math.pow(-++t1, t2) - t1); "hello " + (Math.pow(-t1++, t2) - t1); -"hello " + (Math.pow(!t1, Math.pow(t2, --t1))); -"hello " + (Math.pow(typeof t1, Math.pow(t2, t1))); +"hello " + Math.pow(!t1, Math.pow(t2, --t1)); +"hello " + Math.pow(typeof t1, Math.pow(t2, t1)); "hello " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); "hello " + (Math.pow(-t1, t2) - t1) + (Math.pow(-t1, t2) - t1); "hello " + (Math.pow(-++t1, t2) - t1) + (Math.pow(-++t1, t2) - t1); "hello " + (Math.pow(-t1++, t2) - t1) + (Math.pow(-t1++, t2) - t1); -"hello " + (Math.pow(!t1, Math.pow(t2, --t1))) + (Math.pow(!t1, Math.pow(t2, --t1))); -"hello " + (Math.pow(typeof t1, Math.pow(t2, t1))) + (Math.pow(typeof t1, Math.pow(t2, t1))); +"hello " + Math.pow(!t1, Math.pow(t2, --t1)) + Math.pow(!t1, Math.pow(t2, --t1)); +"hello " + Math.pow(typeof t1, Math.pow(t2, t1)) + Math.pow(typeof t1, Math.pow(t2, t1)); "hello " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); "hello " + (Math.pow(-t1, t2) - t1) + " hello world " + (Math.pow(-t1, t2) - t1); "hello " + (Math.pow(-++t1, t2) - t1) + " hello world " + (Math.pow(-++t1, t2) - t1); "hello " + (Math.pow(-t1++, t2) - t1) + " hello world " + (Math.pow(-t1++, t2) - t1); -"hello " + (Math.pow(!t1, Math.pow(t2, --t1))) + " hello world " + (Math.pow(!t1, Math.pow(t2, --t1))); -"hello " + (Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(typeof t1, Math.pow(t2, t1))); +"hello " + Math.pow(!t1, Math.pow(t2, --t1)) + " hello world " + Math.pow(!t1, Math.pow(t2, --t1)); +"hello " + Math.pow(typeof t1, Math.pow(t2, t1)) + " hello world " + Math.pow(typeof t1, Math.pow(t2, t1)); "hello " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))); diff --git a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError3.js b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError3.js index 1641c2bbb80..c3711ac281c 100644 --- a/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError3.js +++ b/tests/baselines/reference/exponentiationOperatorInTemplateStringWithSyntaxError3.js @@ -33,21 +33,21 @@ var t2 = 10; var s; // Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without () // With TemplateTail -(Math.pow(-t1, t2) - t1) + " world"; -(Math.pow(-++t1, t2) - t1) + " world"; -(Math.pow(-t1++, t2) - t1) + " world"; -(Math.pow(!t1, Math.pow(t2, --t1))) + " world"; -(Math.pow(typeof t1, Math.pow(t2, t1))) + " world"; -(1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " world"; +Math.pow(-t1, t2) - t1 + " world"; +Math.pow(-++t1, t2) - t1 + " world"; +Math.pow(-t1++, t2) - t1 + " world"; +Math.pow(!t1, Math.pow(t2, --t1)) + " world"; +Math.pow(typeof t1, Math.pow(t2, t1)) + " world"; +1 + Math.pow(typeof t1, Math.pow(t2, t1)) + " world"; "" + (Math.pow(-t1, t2) - t1) + (Math.pow(-t1, t2) - t1) + " world"; "" + (Math.pow(-++t1, t2) - t1) + (Math.pow(-++t1, t2) - t1) + " world"; "" + (Math.pow(-t1++, t2) - t1) + (Math.pow(-t1++, t2) - t1) + " world"; -"" + (Math.pow(!t1, Math.pow(t2, --t1))) + (Math.pow(!t1, Math.pow(t2, --t1))) + " world"; -"" + (Math.pow(typeof t1, Math.pow(t2, t1))) + (Math.pow(typeof t1, Math.pow(t2, t1))) + " world"; +"" + Math.pow(!t1, Math.pow(t2, --t1)) + Math.pow(!t1, Math.pow(t2, --t1)) + " world"; +"" + Math.pow(typeof t1, Math.pow(t2, t1)) + Math.pow(typeof t1, Math.pow(t2, t1)) + " world"; "" + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " world"; -(Math.pow(-t1, t2) - t1) + " hello world " + (Math.pow(-t1, t2) - t1) + " !!"; -(Math.pow(-++t1, t2) - t1) + " hello world " + (Math.pow(-++t1, t2) - t1) + " !!"; -(Math.pow(-t1++, t2) - t1) + " hello world " + (Math.pow(-t1++, t2) - t1) + " !!"; -(Math.pow(!t1, Math.pow(t2, --t1))) + " hello world " + (Math.pow(!t1, Math.pow(t2, --t1))) + " !!"; -(Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (Math.pow(typeof t1, Math.pow(t2, t1))) + " !!"; -(1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " hello world " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " !!"; +Math.pow(-t1, t2) - t1 + " hello world " + (Math.pow(-t1, t2) - t1) + " !!"; +Math.pow(-++t1, t2) - t1 + " hello world " + (Math.pow(-++t1, t2) - t1) + " !!"; +Math.pow(-t1++, t2) - t1 + " hello world " + (Math.pow(-t1++, t2) - t1) + " !!"; +Math.pow(!t1, Math.pow(t2, --t1)) + " hello world " + Math.pow(!t1, Math.pow(t2, --t1)) + " !!"; +Math.pow(typeof t1, Math.pow(t2, t1)) + " hello world " + Math.pow(typeof t1, Math.pow(t2, t1)) + " !!"; +1 + Math.pow(typeof t1, Math.pow(t2, t1)) + " hello world " + (1 + Math.pow(typeof t1, Math.pow(t2, t1))) + " !!"; diff --git a/tests/baselines/reference/exponentiationOperatorWithAnyAndNumber.types b/tests/baselines/reference/exponentiationOperatorWithAnyAndNumber.types index ec48b80f192..6e8b3cb3d2b 100644 --- a/tests/baselines/reference/exponentiationOperatorWithAnyAndNumber.types +++ b/tests/baselines/reference/exponentiationOperatorWithAnyAndNumber.types @@ -22,30 +22,30 @@ var r3 = a ** 0; >r3 : number >a ** 0 : number >a : any ->0 : number +>0 : 0 var r4 = 0 ** a; >r4 : number >0 ** a : number ->0 : number +>0 : 0 >a : any var r5 = 0 ** 0; >r5 : number >0 ** 0 : number ->0 : number ->0 : number +>0 : 0 +>0 : 0 var r6 = b ** 0; >r6 : number >b ** 0 : number >b : number ->0 : number +>0 : 0 var r7 = 0 ** b; >r7 : number >0 ** b : number ->0 : number +>0 : 0 >b : number var r8 = b ** b; diff --git a/tests/baselines/reference/exponentiationOperatorWithEnum.types b/tests/baselines/reference/exponentiationOperatorWithEnum.types index 037ff9d1261..9609e13000b 100644 --- a/tests/baselines/reference/exponentiationOperatorWithEnum.types +++ b/tests/baselines/reference/exponentiationOperatorWithEnum.types @@ -5,10 +5,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -55,58 +55,58 @@ var r5 = b ** c; var r6 = E.a ** a; >r6 : number >E.a ** a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var r7 = E.a ** b; >r7 : number >E.a ** b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var r8 = E.a ** E.b; >r8 : number >E.a ** E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r9 = E.a ** 1; >r9 : number >E.a ** 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var r10 = a ** E.b; >r10 : number >a ** E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r11 = b ** E.b; >r11 : number >b ** E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r12 = 1 ** E.b; >r12 : number >1 ** E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/exponentiationOperatorWithEnumUnion.types b/tests/baselines/reference/exponentiationOperatorWithEnumUnion.types index 5be479b9e63..52b714d951f 100644 --- a/tests/baselines/reference/exponentiationOperatorWithEnumUnion.types +++ b/tests/baselines/reference/exponentiationOperatorWithEnumUnion.types @@ -5,19 +5,19 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } enum F { >F : F c, ->c : F +>c : F.c d ->d : F +>d : F.d } var a: any; @@ -65,58 +65,58 @@ var r5 = b ** c; var r6 = E.a ** a; >r6 : number >E.a ** a : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >a : any var r7 = E.a ** b; >r7 : number >E.a ** b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a >b : number var r8 = E.a ** E.b; >r8 : number >E.a ** E.b : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->E.b : E +>a : E.a +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r9 = E.a ** 1; >r9 : number >E.a ** 1 : number ->E.a : E +>E.a : E.a >E : typeof E ->a : E ->1 : number +>a : E.a +>1 : 1 var r10 = a ** E.b; >r10 : number >a ** E.b : number >a : any ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r11 = b ** E.b; >r11 : number >b ** E.b : number >b : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b var r12 = 1 ** E.b; >r12 : number >1 ** E.b : number ->1 : number ->E.b : E +>1 : 1 +>E.b : E.b >E : typeof E ->b : E +>b : E.b diff --git a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types index 2a3c4807763..3d9841a18ef 100644 --- a/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithNullValueAndValidOperands.types @@ -6,10 +6,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -35,15 +35,15 @@ var r3 = null ** 1; >r3 : number >null ** 1 : number >null : null ->1 : number +>1 : 1 var r4 = null ** E.a; >r4 : number >null ** E.a : number >null : null ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var r5 = a ** null; >r5 : number @@ -60,14 +60,14 @@ var r6 = b ** null; var r7 = 0 ** null; >r7 : number >0 ** null : number ->0 : number +>0 : 0 >null : null var r8 = E.b ** null; >r8 : number >E.b ** null : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >null : null diff --git a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types index 4e44144511e..7ccc43df30c 100644 --- a/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithUndefinedValueAndValidOperands.types @@ -6,10 +6,10 @@ enum E { >E : E a, ->a : E +>a : E.a b ->b : E +>b : E.b } var a: any; @@ -35,15 +35,15 @@ var rk3 = undefined ** 1; >rk3 : number >undefined ** 1 : number >undefined : undefined ->1 : number +>1 : 1 var rk4 = undefined ** E.a; >rk4 : number >undefined ** E.a : number >undefined : undefined ->E.a : E +>E.a : E.a >E : typeof E ->a : E +>a : E.a var rk5 = a ** undefined; >rk5 : number @@ -60,14 +60,14 @@ var rk6 = b ** undefined; var rk7 = 0 ** undefined; >rk7 : number >0 ** undefined : number ->0 : number +>0 : 0 >undefined : undefined var rk8 = E.b ** undefined; >rk8 : number >E.b ** undefined : number ->E.b : E +>E.b : E.b >E : typeof E ->b : E +>b : E.b >undefined : undefined diff --git a/tests/baselines/reference/exportArrayBindingPattern.js b/tests/baselines/reference/exportArrayBindingPattern.js new file mode 100644 index 00000000000..386419e5725 --- /dev/null +++ b/tests/baselines/reference/exportArrayBindingPattern.js @@ -0,0 +1,11 @@ +//// [exportArrayBindingPattern.ts] +// issue: https://github.com/Microsoft/TypeScript/issues/10778 +const [a, , b] = [1, 2, 3]; +export { a, b }; + +//// [exportArrayBindingPattern.js] +"use strict"; +// issue: https://github.com/Microsoft/TypeScript/issues/10778 +var _a = [1, 2, 3], a = _a[0], b = _a[2]; +exports.a = a; +exports.b = b; diff --git a/tests/baselines/reference/exportArrayBindingPattern.symbols b/tests/baselines/reference/exportArrayBindingPattern.symbols new file mode 100644 index 00000000000..96fb5cabc88 --- /dev/null +++ b/tests/baselines/reference/exportArrayBindingPattern.symbols @@ -0,0 +1,10 @@ +=== tests/cases/compiler/exportArrayBindingPattern.ts === +// issue: https://github.com/Microsoft/TypeScript/issues/10778 +const [a, , b] = [1, 2, 3]; +>a : Symbol(a, Decl(exportArrayBindingPattern.ts, 1, 7)) +>b : Symbol(b, Decl(exportArrayBindingPattern.ts, 1, 11)) + +export { a, b }; +>a : Symbol(a, Decl(exportArrayBindingPattern.ts, 2, 8)) +>b : Symbol(b, Decl(exportArrayBindingPattern.ts, 2, 11)) + diff --git a/tests/baselines/reference/exportArrayBindingPattern.types b/tests/baselines/reference/exportArrayBindingPattern.types new file mode 100644 index 00000000000..f3ea5b2592b --- /dev/null +++ b/tests/baselines/reference/exportArrayBindingPattern.types @@ -0,0 +1,15 @@ +=== tests/cases/compiler/exportArrayBindingPattern.ts === +// issue: https://github.com/Microsoft/TypeScript/issues/10778 +const [a, , b] = [1, 2, 3]; +>a : number +> : undefined +>b : number +>[1, 2, 3] : [number, number, number] +>1 : 1 +>2 : 2 +>3 : 3 + +export { a, b }; +>a : number +>b : number + diff --git a/tests/baselines/reference/exportAssignDottedName.js b/tests/baselines/reference/exportAssignDottedName.js index 39fd33b0131..c9c3ffa80c4 100644 --- a/tests/baselines/reference/exportAssignDottedName.js +++ b/tests/baselines/reference/exportAssignDottedName.js @@ -18,5 +18,5 @@ function x() { exports.x = x; //// [foo2.js] "use strict"; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); module.exports = foo1.x; diff --git a/tests/baselines/reference/exportAssignDottedName.types b/tests/baselines/reference/exportAssignDottedName.types index 6fceb21231c..a2dd681ed8a 100644 --- a/tests/baselines/reference/exportAssignDottedName.types +++ b/tests/baselines/reference/exportAssignDottedName.types @@ -12,6 +12,6 @@ export function x(){ >x : () => boolean return true; ->true : boolean +>true : true } diff --git a/tests/baselines/reference/exportAssignImportedIdentifier.js b/tests/baselines/reference/exportAssignImportedIdentifier.js index 334f33fdc34..a469e90b619 100644 --- a/tests/baselines/reference/exportAssignImportedIdentifier.js +++ b/tests/baselines/reference/exportAssignImportedIdentifier.js @@ -22,10 +22,10 @@ function x() { exports.x = x; //// [foo2.js] "use strict"; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); var x = foo1.x; module.exports = x; //// [foo3.js] "use strict"; -var foo2 = require('./foo2'); +var foo2 = require("./foo2"); var x = foo2(); // should be boolean diff --git a/tests/baselines/reference/exportAssignImportedIdentifier.types b/tests/baselines/reference/exportAssignImportedIdentifier.types index e70de693624..f07e908695e 100644 --- a/tests/baselines/reference/exportAssignImportedIdentifier.types +++ b/tests/baselines/reference/exportAssignImportedIdentifier.types @@ -12,7 +12,7 @@ export function x(){ >x : () => boolean return true; ->true : boolean +>true : true } === tests/cases/conformance/externalModules/foo2.ts === diff --git a/tests/baselines/reference/exportAssignTypes.js b/tests/baselines/reference/exportAssignTypes.js index 60cf4e7eef5..02b34715483 100644 --- a/tests/baselines/reference/exportAssignTypes.js +++ b/tests/baselines/reference/exportAssignTypes.js @@ -85,17 +85,17 @@ function x(a) { module.exports = x; //// [consumer.js] "use strict"; -var iString = require('./expString'); +var iString = require("./expString"); var v1 = iString; -var iNumber = require('./expNumber'); +var iNumber = require("./expNumber"); var v2 = iNumber; -var iBoolean = require('./expBoolean'); +var iBoolean = require("./expBoolean"); var v3 = iBoolean; -var iArray = require('./expArray'); +var iArray = require("./expArray"); var v4 = iArray; -var iObject = require('./expObject'); +var iObject = require("./expObject"); var v5 = iObject; -var iAny = require('./expAny'); +var iAny = require("./expAny"); var v6 = iAny; -var iGeneric = require('./expGeneric'); +var iGeneric = require("./expGeneric"); var v7 = iGeneric; diff --git a/tests/baselines/reference/exportAssignTypes.types b/tests/baselines/reference/exportAssignTypes.types index dc99d1512f1..a25a55bfd41 100644 --- a/tests/baselines/reference/exportAssignTypes.types +++ b/tests/baselines/reference/exportAssignTypes.types @@ -57,7 +57,7 @@ var v7: {(p1: x): x} = iGeneric; === tests/cases/conformance/externalModules/expString.ts === var x = "test"; >x : string ->"test" : string +>"test" : "test" export = x; >x : string @@ -65,7 +65,7 @@ export = x; === tests/cases/conformance/externalModules/expNumber.ts === var x = 42; >x : number ->42 : number +>42 : 42 export = x; >x : number @@ -73,7 +73,7 @@ export = x; === tests/cases/conformance/externalModules/expBoolean.ts === var x = true; >x : boolean ->true : boolean +>true : true export = x; >x : boolean @@ -82,8 +82,8 @@ export = x; var x = [1,2]; >x : number[] >[1,2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 export = x; >x : number[] @@ -93,9 +93,9 @@ var x = { answer: 42, when: 1776}; >x : { answer: number; when: number; } >{ answer: 42, when: 1776} : { answer: number; when: number; } >answer : number ->42 : number +>42 : 42 >when : number ->1776 : number +>1776 : 1776 export = x; >x : { answer: number; when: number; } diff --git a/tests/baselines/reference/exportAssignValueAndType.types b/tests/baselines/reference/exportAssignValueAndType.types index 2dc7442b9ac..221033220f5 100644 --- a/tests/baselines/reference/exportAssignValueAndType.types +++ b/tests/baselines/reference/exportAssignValueAndType.types @@ -21,7 +21,7 @@ interface server { var x = 5; >x : number ->5 : number +>5 : 5 var server = new Date(); >server : Date diff --git a/tests/baselines/reference/exportAssignmentCircularModules.js b/tests/baselines/reference/exportAssignmentCircularModules.js index 73338840590..696c746f104 100644 --- a/tests/baselines/reference/exportAssignmentCircularModules.js +++ b/tests/baselines/reference/exportAssignmentCircularModules.js @@ -32,7 +32,7 @@ define(["require", "exports", "./foo_2"], function (require, exports, foo2) { return Foo; }); //// [foo_0.js] -define(["require", "exports", './foo_1'], function (require, exports, foo1) { +define(["require", "exports", "./foo_1"], function (require, exports, foo1) { "use strict"; var Foo; (function (Foo) { diff --git a/tests/baselines/reference/exportAssignmentClass.types b/tests/baselines/reference/exportAssignmentClass.types index b724c837244..6081d965584 100644 --- a/tests/baselines/reference/exportAssignmentClass.types +++ b/tests/baselines/reference/exportAssignmentClass.types @@ -17,7 +17,7 @@ var x = d.p; class C { public p = 0; } >C : C >p : number ->0 : number +>0 : 0 export = C; >C : C diff --git a/tests/baselines/reference/exportAssignmentConstrainedGenericType.errors.txt b/tests/baselines/reference/exportAssignmentConstrainedGenericType.errors.txt index cf63c48925f..5ba27334f5e 100644 --- a/tests/baselines/reference/exportAssignmentConstrainedGenericType.errors.txt +++ b/tests/baselines/reference/exportAssignmentConstrainedGenericType.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/externalModules/foo_1.ts(2,17): error TS2345: Argument of type 'boolean' is not assignable to parameter of type '{ a: string; b: number; }'. +tests/cases/conformance/externalModules/foo_1.ts(2,17): error TS2345: Argument of type 'true' is not assignable to parameter of type '{ a: string; b: number; }'. ==== tests/cases/conformance/externalModules/foo_1.ts (1 errors) ==== import foo = require("./foo_0"); var x = new foo(true); // Should error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type '{ a: string; b: number; }'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type '{ a: string; b: number; }'. var y = new foo({a: "test", b: 42}); // Should be OK var z: number = y.test.b; ==== tests/cases/conformance/externalModules/foo_0.ts (0 errors) ==== diff --git a/tests/baselines/reference/exportAssignmentEnum.types b/tests/baselines/reference/exportAssignmentEnum.types index a186cf6f255..23a3fd4d141 100644 --- a/tests/baselines/reference/exportAssignmentEnum.types +++ b/tests/baselines/reference/exportAssignmentEnum.types @@ -4,34 +4,34 @@ import EnumE = require("./exportAssignmentEnum_A"); var a = EnumE.A; >a : EnumE ->EnumE.A : EnumE +>EnumE.A : EnumE.A >EnumE : typeof EnumE ->A : EnumE +>A : EnumE.A var b = EnumE.B; >b : EnumE ->EnumE.B : EnumE +>EnumE.B : EnumE.B >EnumE : typeof EnumE ->B : EnumE +>B : EnumE.B var c = EnumE.C; >c : EnumE ->EnumE.C : EnumE +>EnumE.C : EnumE.C >EnumE : typeof EnumE ->C : EnumE +>C : EnumE.C === tests/cases/compiler/exportAssignmentEnum_A.ts === enum E { >E : E A, ->A : E +>A : E.A B, ->B : E +>B : E.B C, ->C : E +>C : E.C } export = E; diff --git a/tests/baselines/reference/exportAssignmentFunction.types b/tests/baselines/reference/exportAssignmentFunction.types index bd10465d221..e22cb061739 100644 --- a/tests/baselines/reference/exportAssignmentFunction.types +++ b/tests/baselines/reference/exportAssignmentFunction.types @@ -10,7 +10,7 @@ var n: number = fooFunc(); === tests/cases/compiler/exportAssignmentFunction_A.ts === function foo() { return 0; } >foo : () => number ->0 : number +>0 : 0 export = foo; >foo : () => number diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.types b/tests/baselines/reference/exportAssignmentMergedInterface.types index 52978783f6d..2a7449a60fb 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.types +++ b/tests/baselines/reference/exportAssignmentMergedInterface.types @@ -9,12 +9,12 @@ var x: foo; x("test"); >x("test") : void >x : foo ->"test" : string +>"test" : "test" x(42); >x(42) : number >x : foo ->42 : number +>42 : 42 var y: string = x.b; >y : string @@ -33,9 +33,9 @@ var z = {x: 1, y: 2}; >z : { x: number; y: number; } >{x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 z = x.d; >z = x.d : { x: number; y: number; } diff --git a/tests/baselines/reference/exportAssignmentMergedModule.types b/tests/baselines/reference/exportAssignmentMergedModule.types index 39f0d8d859e..239b65e08ad 100644 --- a/tests/baselines/reference/exportAssignmentMergedModule.types +++ b/tests/baselines/reference/exportAssignmentMergedModule.types @@ -27,7 +27,7 @@ if(!!foo.b){ >foo.c : (a: number) => number >foo : typeof foo >c : (a: number) => number ->42 : number +>42 : 42 } === tests/cases/conformance/externalModules/foo_0.ts === module Foo { @@ -37,11 +37,11 @@ module Foo { >a : () => number return 5; ->5 : number +>5 : 5 } export var b = true; >b : boolean ->true : boolean +>true : true } module Foo { >Foo : typeof Foo @@ -58,7 +58,7 @@ module Foo { export var answer = 42; >answer : number ->42 : number +>42 : 42 } } export = Foo; diff --git a/tests/baselines/reference/exportAssignmentTopLevelClodule.types b/tests/baselines/reference/exportAssignmentTopLevelClodule.types index 93ce39c3b60..559514129b7 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelClodule.types +++ b/tests/baselines/reference/exportAssignmentTopLevelClodule.types @@ -7,7 +7,7 @@ if(foo.answer === 42){ >foo.answer : number >foo : typeof foo >answer : number ->42 : number +>42 : 42 var x = new foo(); >x : foo @@ -21,14 +21,14 @@ class Foo { test = "test"; >test : string ->"test" : string +>"test" : "test" } module Foo { >Foo : typeof Foo export var answer = 42; >answer : number ->42 : number +>42 : 42 } export = Foo; >Foo : Foo diff --git a/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types b/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types index d60fc878319..f67a691d020 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types +++ b/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types @@ -9,9 +9,9 @@ var color: foo; if(color === foo.green){ >color === foo.green : boolean >color : foo ->foo.green : foo +>foo.green : foo.green >foo : typeof foo ->green : foo +>green : foo.green color = foo.answer; >color = foo.answer : number @@ -26,16 +26,16 @@ enum foo { >foo : foo red, green, blue ->red : foo ->green : foo ->blue : foo +>red : foo.red +>green : foo.green +>blue : foo.blue } module foo { >foo : typeof foo export var answer = 42; >answer : number ->42 : number +>42 : 42 } export = foo; >foo : foo diff --git a/tests/baselines/reference/exportAssignmentTopLevelFundule.types b/tests/baselines/reference/exportAssignmentTopLevelFundule.types index 3464f4294a0..644fc086dbc 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelFundule.types +++ b/tests/baselines/reference/exportAssignmentTopLevelFundule.types @@ -7,7 +7,7 @@ if(foo.answer === 42){ >foo.answer : number >foo : typeof foo >answer : number ->42 : number +>42 : 42 var x = foo(); >x : string @@ -20,14 +20,14 @@ function foo() { >foo : typeof foo return "test"; ->"test" : string +>"test" : "test" } module foo { >foo : typeof foo export var answer = 42; >answer : number ->42 : number +>42 : 42 } export = foo; >foo : typeof foo diff --git a/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types b/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types index 34971ca9cd6..e7a35a9a69c 100644 --- a/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types +++ b/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types @@ -7,7 +7,7 @@ if(foo.answer === 42){ >foo.answer : number >foo : typeof foo >answer : number ->42 : number +>42 : 42 } @@ -17,7 +17,7 @@ module Foo { export var answer = 42; >answer : number ->42 : number +>42 : 42 } export = Foo; >Foo : typeof Foo diff --git a/tests/baselines/reference/exportAssignmentVariable.types b/tests/baselines/reference/exportAssignmentVariable.types index 7c6d9b45cce..219a2f9f9a1 100644 --- a/tests/baselines/reference/exportAssignmentVariable.types +++ b/tests/baselines/reference/exportAssignmentVariable.types @@ -9,7 +9,7 @@ var n: number = y; === tests/cases/compiler/exportAssignmentVariable_A.ts === var x = 0; >x : number ->0 : number +>0 : 0 export = x; >x : number diff --git a/tests/baselines/reference/exportCodeGen.types b/tests/baselines/reference/exportCodeGen.types index e08678a76da..03d4ea0d977 100644 --- a/tests/baselines/reference/exportCodeGen.types +++ b/tests/baselines/reference/exportCodeGen.types @@ -7,7 +7,7 @@ module A { export var x = 12; >x : number ->12 : number +>12 : 12 function lt12() { >lt12 : () => boolean @@ -15,7 +15,7 @@ module A { return x < 12; >x < 12 : boolean >x : number ->12 : number +>12 : 12 } } @@ -25,7 +25,7 @@ module B { var x = 12; >x : number ->12 : number +>12 : 12 function lt12() { >lt12 : () => boolean @@ -33,7 +33,7 @@ module B { return x < 12; >x < 12 : boolean >x : number ->12 : number +>12 : 12 } } @@ -45,7 +45,7 @@ module C { >no : () => boolean return false; ->false : boolean +>false : false } } @@ -57,7 +57,7 @@ module D { >yes : () => boolean return true; ->true : boolean +>true : true } } @@ -85,7 +85,7 @@ module E { export var x = 42; >x : number ->42 : number +>42 : 42 } } @@ -114,6 +114,6 @@ module F { var x = 42; >x : number ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/exportDeclarationInInternalModule.js b/tests/baselines/reference/exportDeclarationInInternalModule.js index ecd9d5adf4d..a9ea4bf5eda 100644 --- a/tests/baselines/reference/exportDeclarationInInternalModule.js +++ b/tests/baselines/reference/exportDeclarationInInternalModule.js @@ -53,7 +53,6 @@ var Bbb; return SomeType; }()); Bbb.SomeType = SomeType; - // this line causes the nullref })(Bbb || (Bbb = {})); var a; diff --git a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types index 1ad841fe947..ec229047501 100644 --- a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types +++ b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types @@ -2,7 +2,7 @@ export var x = "x"; >x : string ->"x" : string +>"x" : "x" === tests/cases/compiler/t2.ts === export { x } from diff --git a/tests/baselines/reference/exportDeclaredModule.js b/tests/baselines/reference/exportDeclaredModule.js index af0f1b9eca1..419fecf42e0 100644 --- a/tests/baselines/reference/exportDeclaredModule.js +++ b/tests/baselines/reference/exportDeclaredModule.js @@ -17,5 +17,5 @@ var x: number = foo1.b(); module.exports = M1; //// [foo2.js] "use strict"; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); var x = foo1.b(); diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index ae66620159d..a9ff903e53a 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -24,12 +24,12 @@ export default async(() => await(Promise.resolve(1))); >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->1 : number +>1 : 1 === tests/cases/compiler/b.ts === export default async () => { return 0; }; >async () => { return 0; } : () => Promise ->0 : number +>0 : 0 === tests/cases/compiler/c.ts === import { async, await } from 'asyncawait'; diff --git a/tests/baselines/reference/exportDefaultClassWithStaticPropertyAssignmentsInES6.types b/tests/baselines/reference/exportDefaultClassWithStaticPropertyAssignmentsInES6.types index 657e0301f83..47e83523da1 100644 --- a/tests/baselines/reference/exportDefaultClassWithStaticPropertyAssignmentsInES6.types +++ b/tests/baselines/reference/exportDefaultClassWithStaticPropertyAssignmentsInES6.types @@ -2,5 +2,5 @@ export default class { static z: string = "Foo"; >z : string ->"Foo" : string +>"Foo" : "Foo" } diff --git a/tests/baselines/reference/exportDefaultProperty.js b/tests/baselines/reference/exportDefaultProperty.js new file mode 100644 index 00000000000..10ba6d6419a --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty.js @@ -0,0 +1,76 @@ +//// [tests/cases/compiler/exportDefaultProperty.ts] //// + +//// [declarations.d.ts] +// This test is just like exportEqualsProperty, but with `export default`. + +declare namespace foo.bar { + export type X = number; + export const X: number; +} + +declare module "foobar" { + export default foo.bar; +} + +declare module "foobarx" { + export default foo.bar.X; +} + +//// [a.ts] +namespace A { + export class B { constructor(b: number) {} } + export namespace B { export const b: number = 0; } +} +export default A.B; + +//// [b.ts] +export default "foo".length; + +//// [index.ts] +/// +import fooBar from "foobar"; +import X = fooBar.X; +import X2 from "foobarx"; +const x: X = X; +const x2: X2 = X2; + +import B from "./a"; +const b: B = new B(B.b); + +import fooLength from "./b"; +fooLength + 1; + + +//// [a.js] +"use strict"; +var A; +(function (A) { + var B = (function () { + function B(b) { + } + return B; + }()); + A.B = B; + var B; + (function (B) { + B.b = 0; + })(B = A.B || (A.B = {})); +})(A || (A = {})); +exports.__esModule = true; +exports["default"] = A.B; +//// [b.js] +"use strict"; +exports.__esModule = true; +exports["default"] = "foo".length; +//// [index.js] +"use strict"; +/// +var foobar_1 = require("foobar"); +var X = foobar_1["default"].X; +var foobarx_1 = require("foobarx"); +var x = X; +var x2 = foobarx_1["default"]; +var a_1 = require("./a"); +var b = new a_1["default"](a_1["default"].b); +var b_1 = require("./b"); +b_1["default"] + 1; diff --git a/tests/baselines/reference/exportDefaultProperty.symbols b/tests/baselines/reference/exportDefaultProperty.symbols new file mode 100644 index 00000000000..f9edcd154cc --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty.symbols @@ -0,0 +1,92 @@ +=== tests/cases/compiler/index.ts === +/// +import fooBar from "foobar"; +>fooBar : Symbol(fooBar, Decl(index.ts, 1, 6)) + +import X = fooBar.X; +>X : Symbol(X, Decl(index.ts, 1, 28)) +>fooBar : Symbol(fooBar, Decl(index.ts, 1, 6)) +>X : Symbol(fooBar.X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) + +import X2 from "foobarx"; +>X2 : Symbol(X2, Decl(index.ts, 3, 6)) + +const x: X = X; +>x : Symbol(x, Decl(index.ts, 4, 5)) +>X : Symbol(X, Decl(index.ts, 1, 28)) +>X : Symbol(X, Decl(index.ts, 1, 28)) + +const x2: X2 = X2; +>x2 : Symbol(x2, Decl(index.ts, 5, 5)) +>X2 : Symbol(X2, Decl(index.ts, 3, 6)) +>X2 : Symbol(X2, Decl(index.ts, 3, 6)) + +import B from "./a"; +>B : Symbol(B, Decl(index.ts, 7, 6)) + +const b: B = new B(B.b); +>b : Symbol(b, Decl(index.ts, 8, 5)) +>B : Symbol(B, Decl(index.ts, 7, 6)) +>B : Symbol(B, Decl(index.ts, 7, 6)) +>B.b : Symbol(B.b, Decl(a.ts, 2, 37)) +>B : Symbol(B, Decl(index.ts, 7, 6)) +>b : Symbol(B.b, Decl(a.ts, 2, 37)) + +import fooLength from "./b"; +>fooLength : Symbol(fooLength, Decl(index.ts, 10, 6)) + +fooLength + 1; +>fooLength : Symbol(fooLength, Decl(index.ts, 10, 6)) + +=== tests/cases/compiler/declarations.d.ts === +// This test is just like exportEqualsProperty, but with `export default`. + +declare namespace foo.bar { +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(bar, Decl(declarations.d.ts, 2, 22)) + + export type X = number; +>X : Symbol(X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) + + export const X: number; +>X : Symbol(X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +} + +declare module "foobar" { + export default foo.bar; +>foo.bar : Symbol(default, Decl(declarations.d.ts, 2, 22)) +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(default, Decl(declarations.d.ts, 2, 22)) +} + +declare module "foobarx" { + export default foo.bar.X; +>foo.bar.X : Symbol(default, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +>foo.bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +>X : Symbol(default, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +} + +=== tests/cases/compiler/a.ts === +namespace A { +>A : Symbol(A, Decl(a.ts, 0, 0)) + + export class B { constructor(b: number) {} } +>B : Symbol(B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>b : Symbol(b, Decl(a.ts, 1, 33)) + + export namespace B { export const b: number = 0; } +>B : Symbol(B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>b : Symbol(b, Decl(a.ts, 2, 37)) +} +export default A.B; +>A.B : Symbol(default, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>A : Symbol(A, Decl(a.ts, 0, 0)) +>B : Symbol(default, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) + +=== 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, --, --)) + diff --git a/tests/baselines/reference/exportDefaultProperty.types b/tests/baselines/reference/exportDefaultProperty.types new file mode 100644 index 00000000000..67de741fde4 --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty.types @@ -0,0 +1,97 @@ +=== tests/cases/compiler/index.ts === +/// +import fooBar from "foobar"; +>fooBar : typeof fooBar + +import X = fooBar.X; +>X : number +>fooBar : typeof fooBar +>X : number + +import X2 from "foobarx"; +>X2 : number + +const x: X = X; +>x : number +>X : number +>X : number + +const x2: X2 = X2; +>x2 : number +>X2 : number +>X2 : number + +import B from "./a"; +>B : typeof B + +const b: B = new B(B.b); +>b : B +>B : B +>new B(B.b) : B +>B : typeof B +>B.b : number +>B : typeof B +>b : number + +import fooLength from "./b"; +>fooLength : number + +fooLength + 1; +>fooLength + 1 : number +>fooLength : number +>1 : 1 + +=== tests/cases/compiler/declarations.d.ts === +// This test is just like exportEqualsProperty, but with `export default`. + +declare namespace foo.bar { +>foo : typeof foo +>bar : typeof bar + + export type X = number; +>X : number + + export const X: number; +>X : number +} + +declare module "foobar" { + export default foo.bar; +>foo.bar : typeof default +>foo : typeof foo +>bar : typeof default +} + +declare module "foobarx" { + export default foo.bar.X; +>foo.bar.X : number +>foo.bar : typeof foo.bar +>foo : typeof foo +>bar : typeof foo.bar +>X : number +} + +=== tests/cases/compiler/a.ts === +namespace A { +>A : typeof A + + export class B { constructor(b: number) {} } +>B : B +>b : number + + export namespace B { export const b: number = 0; } +>B : typeof B +>b : number +>0 : 0 +} +export default A.B; +>A.B : typeof default +>A : typeof A +>B : typeof default + +=== tests/cases/compiler/b.ts === +export default "foo".length; +>"foo".length : number +>"foo" : "foo" +>length : number + diff --git a/tests/baselines/reference/exportDefaultProperty2.js b/tests/baselines/reference/exportDefaultProperty2.js new file mode 100644 index 00000000000..2b0a5dce526 --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty2.js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/exportDefaultProperty2.ts] //// + +//// [a.ts] +// This test is just like exportEqualsProperty2, but with `export default`. + +class C { + static B: number; +} +namespace C { + export interface B { c: number } +} + +export default C.B; + +//// [b.ts] +import B from "./a"; +const x: B = { c: B }; + + +//// [a.js] +// This test is just like exportEqualsProperty2, but with `export default`. +"use strict"; +var C = (function () { + function C() { + } + return C; +}()); +exports.__esModule = true; +exports["default"] = C.B; +//// [b.js] +"use strict"; +var a_1 = require("./a"); +var x = { c: a_1["default"] }; diff --git a/tests/baselines/reference/exportDefaultProperty2.symbols b/tests/baselines/reference/exportDefaultProperty2.symbols new file mode 100644 index 00000000000..d3d7519aa94 --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty2.symbols @@ -0,0 +1,32 @@ +=== tests/cases/compiler/a.ts === +// This test is just like exportEqualsProperty2, but with `export default`. + +class C { +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) + + static B: number; +>B : Symbol(default, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +} +namespace C { +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) + + export interface B { c: number } +>B : Symbol(B, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +>c : Symbol(B.c, Decl(a.ts, 6, 24)) +} + +export default C.B; +>C.B : Symbol(default, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) +>B : Symbol(default, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) + +=== tests/cases/compiler/b.ts === +import B from "./a"; +>B : Symbol(B, Decl(b.ts, 0, 6)) + +const x: B = { c: B }; +>x : Symbol(x, Decl(b.ts, 1, 5)) +>B : Symbol(B, Decl(b.ts, 0, 6)) +>c : Symbol(c, Decl(b.ts, 1, 14)) +>B : Symbol(B, Decl(b.ts, 0, 6)) + diff --git a/tests/baselines/reference/exportDefaultProperty2.types b/tests/baselines/reference/exportDefaultProperty2.types new file mode 100644 index 00000000000..2fc9d3a4750 --- /dev/null +++ b/tests/baselines/reference/exportDefaultProperty2.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/a.ts === +// This test is just like exportEqualsProperty2, but with `export default`. + +class C { +>C : C + + static B: number; +>B : number +} +namespace C { +>C : typeof C + + export interface B { c: number } +>B : B +>c : number +} + +export default C.B; +>C.B : number +>C : typeof C +>B : number + +=== tests/cases/compiler/b.ts === +import B from "./a"; +>B : number + +const x: B = { c: B }; +>x : B +>B : B +>{ c: B } : { c: number; } +>c : number +>B : number + diff --git a/tests/baselines/reference/exportEqualCallable.js b/tests/baselines/reference/exportEqualCallable.js index 681c3ca4c19..9138da0d33d 100644 --- a/tests/baselines/reference/exportEqualCallable.js +++ b/tests/baselines/reference/exportEqualCallable.js @@ -20,7 +20,7 @@ define(["require", "exports"], function (require, exports) { return server; }); //// [exportEqualCallable_1.js] -define(["require", "exports", 'exportEqualCallable_0'], function (require, exports, connect) { +define(["require", "exports", "exportEqualCallable_0"], function (require, exports, connect) { "use strict"; connect(); }); diff --git a/tests/baselines/reference/exportEqualErrorType.js b/tests/baselines/reference/exportEqualErrorType.js index 653c7052153..aa715b7d9f2 100644 --- a/tests/baselines/reference/exportEqualErrorType.js +++ b/tests/baselines/reference/exportEqualErrorType.js @@ -28,7 +28,7 @@ define(["require", "exports"], function (require, exports) { return server; }); //// [exportEqualErrorType_1.js] -define(["require", "exports", 'exportEqualErrorType_0'], function (require, exports, connect) { +define(["require", "exports", "exportEqualErrorType_0"], function (require, exports, connect) { "use strict"; connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. }); diff --git a/tests/baselines/reference/exportEqualMemberMissing.js b/tests/baselines/reference/exportEqualMemberMissing.js index b25ef1d3083..39074e10372 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.js +++ b/tests/baselines/reference/exportEqualMemberMissing.js @@ -28,5 +28,5 @@ module.exports = server; //// [exportEqualMemberMissing_1.js] "use strict"; /// -var connect = require('./exportEqualMemberMissing_0'); +var connect = require("./exportEqualMemberMissing_0"); connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. diff --git a/tests/baselines/reference/exportEqualNamespaces.types b/tests/baselines/reference/exportEqualNamespaces.types index 0e27102c015..46c6e2a5533 100644 --- a/tests/baselines/reference/exportEqualNamespaces.types +++ b/tests/baselines/reference/exportEqualNamespaces.types @@ -21,7 +21,7 @@ interface server { var x = 5; >x : number ->5 : number +>5 : 5 var server = new Date(); >server : Date diff --git a/tests/baselines/reference/exportEqualsAmd.js b/tests/baselines/reference/exportEqualsAmd.js index a0f029589d6..385012a6e0f 100644 --- a/tests/baselines/reference/exportEqualsAmd.js +++ b/tests/baselines/reference/exportEqualsAmd.js @@ -4,6 +4,6 @@ export = { ["hi"]: "there" }; //// [exportEqualsAmd.js] define(["require", "exports"], function (require, exports) { "use strict"; - return (_a = {}, _a["hi"] = "there", _a); + return _a = {}, _a["hi"] = "there", _a; var _a; }); diff --git a/tests/baselines/reference/exportEqualsAmd.types b/tests/baselines/reference/exportEqualsAmd.types index f5b1bb49910..e6f76b411cb 100644 --- a/tests/baselines/reference/exportEqualsAmd.types +++ b/tests/baselines/reference/exportEqualsAmd.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsAmd.ts === export = { ["hi"]: "there" }; >{ ["hi"]: "there" } : { ["hi"]: string; } ->"hi" : string ->"there" : string +>"hi" : "hi" +>"there" : "there" diff --git a/tests/baselines/reference/exportEqualsCommonJs.types b/tests/baselines/reference/exportEqualsCommonJs.types index 13b968595be..ea0c082edff 100644 --- a/tests/baselines/reference/exportEqualsCommonJs.types +++ b/tests/baselines/reference/exportEqualsCommonJs.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsCommonJs.ts === export = { ["hi"]: "there" }; >{ ["hi"]: "there" } : { ["hi"]: string; } ->"hi" : string ->"there" : string +>"hi" : "hi" +>"there" : "there" diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.types b/tests/baselines/reference/exportEqualsDefaultProperty.types index 31a6c8052f9..b6e3be008a1 100644 --- a/tests/baselines/reference/exportEqualsDefaultProperty.types +++ b/tests/baselines/reference/exportEqualsDefaultProperty.types @@ -5,10 +5,10 @@ var x = { >{ "greeting": "hello, world", "default": 42} : { "greeting": string; "default": number; } "greeting": "hello, world", ->"hello, world" : string +>"hello, world" : "hello, world" "default": 42 ->42 : number +>42 : 42 }; @@ -24,5 +24,5 @@ foo.toExponential(2); >foo.toExponential : (fractionDigits?: number) => string >foo : number >toExponential : (fractionDigits?: number) => string ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/exportEqualsProperty.js b/tests/baselines/reference/exportEqualsProperty.js new file mode 100644 index 00000000000..2fd8a8c8511 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty.js @@ -0,0 +1,72 @@ +//// [tests/cases/compiler/exportEqualsProperty.ts] //// + +//// [declarations.d.ts] +// This test is just like exportDefaultProperty, but with `export =`. + +declare namespace foo.bar { + export type X = number; + export const X: number; +} + +declare module "foobar" { + export = foo.bar; +} + +declare module "foobarx" { + export = foo.bar.X; +} + +//// [a.ts] +namespace A { + export class B { constructor(b: number) {} } + export namespace B { export const b: number = 0; } +} +export = A.B; + +//// [b.ts] +export = "foo".length; + +//// [index.ts] +/// +import { X } from "foobar"; +import X2 = require("foobarx"); +const x: X = X; +const x2: X2 = X2; + +import B = require("./a"); +const b: B = new B(B.b); + +import fooLength = require("./b"); +fooLength + 1; + + +//// [a.js] +"use strict"; +var A; +(function (A) { + var B = (function () { + function B(b) { + } + return B; + }()); + A.B = B; + var B; + (function (B) { + B.b = 0; + })(B = A.B || (A.B = {})); +})(A || (A = {})); +module.exports = A.B; +//// [b.js] +"use strict"; +module.exports = "foo".length; +//// [index.js] +"use strict"; +/// +var foobar_1 = require("foobar"); +var X2 = require("foobarx"); +var x = foobar_1.X; +var x2 = X2; +var B = require("./a"); +var b = new B(B.b); +var fooLength = require("./b"); +fooLength + 1; diff --git a/tests/baselines/reference/exportEqualsProperty.symbols b/tests/baselines/reference/exportEqualsProperty.symbols new file mode 100644 index 00000000000..43c9ed32518 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty.symbols @@ -0,0 +1,87 @@ +=== tests/cases/compiler/index.ts === +/// +import { X } from "foobar"; +>X : Symbol(X, Decl(index.ts, 1, 8)) + +import X2 = require("foobarx"); +>X2 : Symbol(X2, Decl(index.ts, 1, 27)) + +const x: X = X; +>x : Symbol(x, Decl(index.ts, 3, 5)) +>X : Symbol(X, Decl(index.ts, 1, 8)) +>X : Symbol(X, Decl(index.ts, 1, 8)) + +const x2: X2 = X2; +>x2 : Symbol(x2, Decl(index.ts, 4, 5)) +>X2 : Symbol(X2, Decl(index.ts, 1, 27)) +>X2 : Symbol(X2, Decl(index.ts, 1, 27)) + +import B = require("./a"); +>B : Symbol(B, Decl(index.ts, 4, 18)) + +const b: B = new B(B.b); +>b : Symbol(b, Decl(index.ts, 7, 5)) +>B : Symbol(B, Decl(index.ts, 4, 18)) +>B : Symbol(B, Decl(index.ts, 4, 18)) +>B.b : Symbol(B.b, Decl(a.ts, 2, 37)) +>B : Symbol(B, Decl(index.ts, 4, 18)) +>b : Symbol(B.b, Decl(a.ts, 2, 37)) + +import fooLength = require("./b"); +>fooLength : Symbol(fooLength, Decl(index.ts, 7, 24)) + +fooLength + 1; +>fooLength : Symbol(fooLength, Decl(index.ts, 7, 24)) + +=== tests/cases/compiler/declarations.d.ts === +// This test is just like exportDefaultProperty, but with `export =`. + +declare namespace foo.bar { +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(bar, Decl(declarations.d.ts, 2, 22)) + + export type X = number; +>X : Symbol(X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) + + export const X: number; +>X : Symbol(X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +} + +declare module "foobar" { + export = foo.bar; +>foo.bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +} + +declare module "foobarx" { + export = foo.bar.X; +>foo.bar.X : Symbol(foo.bar.X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +>foo.bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +>foo : Symbol(foo, Decl(declarations.d.ts, 0, 0)) +>bar : Symbol(foo.bar, Decl(declarations.d.ts, 2, 22)) +>X : Symbol(foo.bar.X, Decl(declarations.d.ts, 2, 27), Decl(declarations.d.ts, 4, 16)) +} + +=== tests/cases/compiler/a.ts === +namespace A { +>A : Symbol(A, Decl(a.ts, 0, 0)) + + export class B { constructor(b: number) {} } +>B : Symbol(B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>b : Symbol(b, Decl(a.ts, 1, 33)) + + export namespace B { export const b: number = 0; } +>B : Symbol(B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>b : Symbol(b, Decl(a.ts, 2, 37)) +} +export = A.B; +>A.B : Symbol(A.B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) +>A : Symbol(A, Decl(a.ts, 0, 0)) +>B : Symbol(A.B, Decl(a.ts, 0, 13), Decl(a.ts, 1, 48)) + +=== 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, --, --)) + diff --git a/tests/baselines/reference/exportEqualsProperty.types b/tests/baselines/reference/exportEqualsProperty.types new file mode 100644 index 00000000000..9386a60a7f9 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty.types @@ -0,0 +1,92 @@ +=== tests/cases/compiler/index.ts === +/// +import { X } from "foobar"; +>X : number + +import X2 = require("foobarx"); +>X2 : number + +const x: X = X; +>x : number +>X : number +>X : number + +const x2: X2 = X2; +>x2 : number +>X2 : number +>X2 : number + +import B = require("./a"); +>B : typeof B + +const b: B = new B(B.b); +>b : B +>B : B +>new B(B.b) : B +>B : typeof B +>B.b : number +>B : typeof B +>b : number + +import fooLength = require("./b"); +>fooLength : number + +fooLength + 1; +>fooLength + 1 : number +>fooLength : number +>1 : 1 + +=== tests/cases/compiler/declarations.d.ts === +// This test is just like exportDefaultProperty, but with `export =`. + +declare namespace foo.bar { +>foo : typeof foo +>bar : typeof bar + + export type X = number; +>X : number + + export const X: number; +>X : number +} + +declare module "foobar" { + export = foo.bar; +>foo.bar : typeof foo.bar +>foo : typeof foo +>bar : typeof foo.bar +} + +declare module "foobarx" { + export = foo.bar.X; +>foo.bar.X : number +>foo.bar : typeof foo.bar +>foo : typeof foo +>bar : typeof foo.bar +>X : number +} + +=== tests/cases/compiler/a.ts === +namespace A { +>A : typeof A + + export class B { constructor(b: number) {} } +>B : B +>b : number + + export namespace B { export const b: number = 0; } +>B : typeof B +>b : number +>0 : 0 +} +export = A.B; +>A.B : typeof A.B +>A : typeof A +>B : typeof A.B + +=== tests/cases/compiler/b.ts === +export = "foo".length; +>"foo".length : number +>"foo" : "foo" +>length : number + diff --git a/tests/baselines/reference/exportEqualsProperty2.js b/tests/baselines/reference/exportEqualsProperty2.js new file mode 100644 index 00000000000..b5d91431722 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty2.js @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/exportEqualsProperty2.ts] //// + +//// [a.ts] +// This test is just like exportDefaultProperty2, but with `export =`. + +class C { + static B: number; +} +namespace C { + export interface B { c: number } +} + +export = C.B; + +//// [b.ts] +import B = require("./a"); +const x: B = { c: B }; + + +//// [a.js] +// This test is just like exportDefaultProperty2, but with `export =`. +"use strict"; +var C = (function () { + function C() { + } + return C; +}()); +module.exports = C.B; +//// [b.js] +"use strict"; +var B = require("./a"); +var x = { c: B }; diff --git a/tests/baselines/reference/exportEqualsProperty2.symbols b/tests/baselines/reference/exportEqualsProperty2.symbols new file mode 100644 index 00000000000..df7eda76661 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty2.symbols @@ -0,0 +1,32 @@ +=== tests/cases/compiler/b.ts === +import B = require("./a"); +>B : Symbol(B, Decl(b.ts, 0, 0)) + +const x: B = { c: B }; +>x : Symbol(x, Decl(b.ts, 1, 5)) +>B : Symbol(B, Decl(b.ts, 0, 0)) +>c : Symbol(c, Decl(b.ts, 1, 14)) +>B : Symbol(B, Decl(b.ts, 0, 0)) + +=== tests/cases/compiler/a.ts === +// This test is just like exportDefaultProperty2, but with `export =`. + +class C { +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) + + static B: number; +>B : Symbol(C.B, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +} +namespace C { +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) + + export interface B { c: number } +>B : Symbol(B, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +>c : Symbol(B.c, Decl(a.ts, 6, 24)) +} + +export = C.B; +>C.B : Symbol(C.B, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(a.ts, 4, 1)) +>B : Symbol(C.B, Decl(a.ts, 2, 9), Decl(a.ts, 5, 13)) + diff --git a/tests/baselines/reference/exportEqualsProperty2.types b/tests/baselines/reference/exportEqualsProperty2.types new file mode 100644 index 00000000000..4594cbfd015 --- /dev/null +++ b/tests/baselines/reference/exportEqualsProperty2.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/b.ts === +import B = require("./a"); +>B : number + +const x: B = { c: B }; +>x : B +>B : B +>{ c: B } : { c: number; } +>c : number +>B : number + +=== tests/cases/compiler/a.ts === +// This test is just like exportDefaultProperty2, but with `export =`. + +class C { +>C : C + + static B: number; +>B : number +} +namespace C { +>C : typeof C + + export interface B { c: number } +>B : B +>c : number +} + +export = C.B; +>C.B : number +>C : typeof C +>B : number + diff --git a/tests/baselines/reference/exportEqualsUmd.js b/tests/baselines/reference/exportEqualsUmd.js index 615cc2cddbe..cd4c99f504d 100644 --- a/tests/baselines/reference/exportEqualsUmd.js +++ b/tests/baselines/reference/exportEqualsUmd.js @@ -2,15 +2,15 @@ export = { ["hi"]: "there" }; //// [exportEqualsUmd.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; - return (_a = {}, _a["hi"] = "there", _a); + return _a = {}, _a["hi"] = "there", _a; var _a; }); diff --git a/tests/baselines/reference/exportEqualsUmd.types b/tests/baselines/reference/exportEqualsUmd.types index ab456f0ae48..6b3110dc2a4 100644 --- a/tests/baselines/reference/exportEqualsUmd.types +++ b/tests/baselines/reference/exportEqualsUmd.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsUmd.ts === export = { ["hi"]: "there" }; >{ ["hi"]: "there" } : { ["hi"]: string; } ->"hi" : string ->"there" : string +>"hi" : "hi" +>"there" : "there" diff --git a/tests/baselines/reference/exportImport.js b/tests/baselines/reference/exportImport.js index eb0623efced..8f785282080 100644 --- a/tests/baselines/reference/exportImport.js +++ b/tests/baselines/reference/exportImport.js @@ -27,12 +27,12 @@ define(["require", "exports"], function (require, exports) { return Widget1; }); //// [exporter.js] -define(["require", "exports", './w1'], function (require, exports, w) { +define(["require", "exports", "./w1"], function (require, exports, w) { "use strict"; exports.w = w; }); //// [consumer.js] -define(["require", "exports", './exporter'], function (require, exports, e) { +define(["require", "exports", "./exporter"], function (require, exports, e) { "use strict"; function w() { return new e.w(); diff --git a/tests/baselines/reference/exportImport.types b/tests/baselines/reference/exportImport.types index a6361d3cbac..decfe97a594 100644 --- a/tests/baselines/reference/exportImport.types +++ b/tests/baselines/reference/exportImport.types @@ -21,7 +21,7 @@ export = Widget1 class Widget1 { name = 'one'; } >Widget1 : Widget1 >name : string ->'one' : string +>'one' : "one" === tests/cases/compiler/exporter.ts === export import w = require('./w1'); diff --git a/tests/baselines/reference/exportImportAlias.types b/tests/baselines/reference/exportImportAlias.types index f0c21d461bc..4d79214f9b8 100644 --- a/tests/baselines/reference/exportImportAlias.types +++ b/tests/baselines/reference/exportImportAlias.types @@ -6,7 +6,7 @@ module A { export var x = 'hello world' >x : string ->'hello world' : string +>'hello world' : "hello world" export class Point { >Point : Point @@ -53,8 +53,8 @@ var b: { x: number; y: number; } = new C.a.Point(0, 0); >C : typeof C >a : typeof A >Point : typeof A.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 var c: { name: string }; >c : { name: string; } @@ -74,7 +74,7 @@ module X { >Y : typeof Y return 42; ->42 : number +>42 : 42 } export module Y { @@ -117,8 +117,8 @@ var n: { x: number; y: number; } = new Z.y.Point(0, 0); >Z : typeof Z >y : typeof X.Y >Point : typeof X.Y.Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 module K { >K : typeof K @@ -135,7 +135,7 @@ module K { export var y = 12; >y : number ->12 : number +>12 : 12 export interface Point { >Point : Point @@ -168,7 +168,7 @@ var o = new M.D('Hello'); >M.D : typeof K.L >M : typeof M >D : typeof K.L ->'Hello' : string +>'Hello' : "Hello" var p: { x: number; y: number; } >p : { x: number; y: number; } diff --git a/tests/baselines/reference/exportImportAndClodule.types b/tests/baselines/reference/exportImportAndClodule.types index 36ca259666c..8f0150b0e17 100644 --- a/tests/baselines/reference/exportImportAndClodule.types +++ b/tests/baselines/reference/exportImportAndClodule.types @@ -13,7 +13,7 @@ module K { export var y = 12; >y : number ->12 : number +>12 : 12 export interface Point { >Point : Point @@ -44,7 +44,7 @@ var o = new M.D('Hello'); >M.D : typeof K.L >M : typeof M >D : typeof K.L ->'Hello' : string +>'Hello' : "Hello" var p: { x: number; y: number; } >p : { x: number; y: number; } diff --git a/tests/baselines/reference/exportImportMultipleFiles.js b/tests/baselines/reference/exportImportMultipleFiles.js index 6a0bf61459e..345d2a6885a 100644 --- a/tests/baselines/reference/exportImportMultipleFiles.js +++ b/tests/baselines/reference/exportImportMultipleFiles.js @@ -25,7 +25,7 @@ define(["require", "exports", "exportImportMultipleFiles_math"], function (requi exports.math.add(3, 4); // OK }); //// [exportImportMultipleFiles_userCode.js] -define(["require", "exports", './exportImportMultipleFiles_library'], function (require, exports, lib) { +define(["require", "exports", "./exportImportMultipleFiles_library"], function (require, exports, lib) { "use strict"; lib.math.add(3, 4); // Shouldnt be error }); diff --git a/tests/baselines/reference/exportImportMultipleFiles.types b/tests/baselines/reference/exportImportMultipleFiles.types index 6ac5e7641ea..c4bdce56bf0 100644 --- a/tests/baselines/reference/exportImportMultipleFiles.types +++ b/tests/baselines/reference/exportImportMultipleFiles.types @@ -9,8 +9,8 @@ lib.math.add(3, 4); // Shouldnt be error >lib : typeof lib >math : typeof lib.math >add : (a: any, b: any) => any ->3 : number ->4 : number +>3 : 3 +>4 : 4 === tests/cases/compiler/exportImportMultipleFiles_math.ts === export function add(a, b) { return a + b; } @@ -30,6 +30,6 @@ math.add(3, 4); // OK >math.add : (a: any, b: any) => any >math : typeof math >add : (a: any, b: any) => any ->3 : number ->4 : number +>3 : 3 +>4 : 4 diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule.types b/tests/baselines/reference/exportImportNonInstantiatedModule.types index 0b1da72dad8..d43cd69dac7 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule.types +++ b/tests/baselines/reference/exportImportNonInstantiatedModule.types @@ -23,5 +23,5 @@ var x: B.A1.I = { x: 1 }; >I : A.I >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule2.types b/tests/baselines/reference/exportImportNonInstantiatedModule2.types index 34f0810c12d..01016fcc4ec 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule2.types +++ b/tests/baselines/reference/exportImportNonInstantiatedModule2.types @@ -10,7 +10,7 @@ export function w(): e.w { // Should be OK return {name: 'value' }; >{name: 'value' } : { name: string; } >name : string ->'value' : string +>'value' : "value" } === tests/cases/compiler/w1.ts === diff --git a/tests/baselines/reference/exportNonInitializedVariablesSystem.js b/tests/baselines/reference/exportNonInitializedVariablesSystem.js index 2a8e2022c95..6c44da04802 100644 --- a/tests/baselines/reference/exportNonInitializedVariablesSystem.js +++ b/tests/baselines/reference/exportNonInitializedVariablesSystem.js @@ -35,13 +35,13 @@ export let h1: D = new D; //// [exportNonInitializedVariablesSystem.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var a, b, c, d, A, e, f, B, C, a1, b1, c1, d1, D, e1, f1, g1, h1; return { - setters:[], - execute: function() { + setters: [], + execute: function () { let; A = (function () { function A() { @@ -69,5 +69,5 @@ System.register([], function(exports_1, context_1) { exports_1("g1", g1 = new D); exports_1("h1", h1 = new D); } - } + }; }); diff --git a/tests/baselines/reference/exportNonInitializedVariablesUMD.js b/tests/baselines/reference/exportNonInitializedVariablesUMD.js index 772f63205b6..5cbf6d381b0 100644 --- a/tests/baselines/reference/exportNonInitializedVariablesUMD.js +++ b/tests/baselines/reference/exportNonInitializedVariablesUMD.js @@ -35,14 +35,14 @@ export let h1: D = new D; //// [exportNonInitializedVariablesUMD.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var ; let; diff --git a/tests/baselines/reference/exportNonVisibleType.types b/tests/baselines/reference/exportNonVisibleType.types index 2ad420ac531..2bb65cf05f0 100644 --- a/tests/baselines/reference/exportNonVisibleType.types +++ b/tests/baselines/reference/exportNonVisibleType.types @@ -14,9 +14,9 @@ var x: I1 = {a: "test", b: 42}; >I1 : I1 >{a: "test", b: 42} : { a: string; b: number; } >a : string ->"test" : string +>"test" : "test" >b : number ->42 : number +>42 : 42 export = x; // Should fail, I1 not exported. >x : I1 diff --git a/tests/baselines/reference/exportPrivateType.types b/tests/baselines/reference/exportPrivateType.types index a91577c2b9c..5a986f94f63 100644 --- a/tests/baselines/reference/exportPrivateType.types +++ b/tests/baselines/reference/exportPrivateType.types @@ -18,7 +18,7 @@ module foo { test() { return true; } >test : () => boolean ->true : boolean +>true : true } interface I1 { diff --git a/tests/baselines/reference/exportStarForValues10.js b/tests/baselines/reference/exportStarForValues10.js index d37ca3304f3..3da80002780 100644 --- a/tests/baselines/reference/exportStarForValues10.js +++ b/tests/baselines/reference/exportStarForValues10.js @@ -13,46 +13,48 @@ export * from "file1"; var x = 1; //// [file0.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var v; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("v", v = 1); } - } + }; }); //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file2.js] -System.register(["file0"], function(exports_1, context_1) { +System.register(["file0"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default") exports[n] = m[n]; + for (var n in m) { + if (n !== "default") + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (file0_1_1) { exportStar_1(file0_1_1); - }], - execute: function() { + } + ], + execute: function () { x = 1; } - } + }; }); diff --git a/tests/baselines/reference/exportStarForValues10.types b/tests/baselines/reference/exportStarForValues10.types index 370f02318c1..2be6b0c7bfe 100644 --- a/tests/baselines/reference/exportStarForValues10.types +++ b/tests/baselines/reference/exportStarForValues10.types @@ -2,7 +2,7 @@ export var v = 1; >v : number ->1 : number +>1 : 1 === tests/cases/compiler/file1.ts === export interface Foo { x } @@ -14,5 +14,5 @@ export * from "file0"; export * from "file1"; var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues2.types b/tests/baselines/reference/exportStarForValues2.types index f1de53bd7cf..3a92d860ef8 100644 --- a/tests/baselines/reference/exportStarForValues2.types +++ b/tests/baselines/reference/exportStarForValues2.types @@ -8,11 +8,11 @@ export interface Foo { x } export * from "file1" var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export * from "file2" var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues3.types b/tests/baselines/reference/exportStarForValues3.types index d2ee5ebb1d4..90d38d86703 100644 --- a/tests/baselines/reference/exportStarForValues3.types +++ b/tests/baselines/reference/exportStarForValues3.types @@ -12,7 +12,7 @@ export interface A { x } export * from "file1" var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export interface B { x } @@ -22,7 +22,7 @@ export interface B { x } export * from "file1" var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file4.ts === export interface C { x } @@ -33,11 +33,11 @@ export * from "file2" export * from "file3" var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file5.ts === export * from "file4" var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues4.types b/tests/baselines/reference/exportStarForValues4.types index b381f9461e8..b00dd126a9c 100644 --- a/tests/baselines/reference/exportStarForValues4.types +++ b/tests/baselines/reference/exportStarForValues4.types @@ -13,7 +13,7 @@ export * from "file1" export * from "file3" var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export interface B { x } @@ -23,5 +23,5 @@ export interface B { x } export * from "file2" var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues6.js b/tests/baselines/reference/exportStarForValues6.js index 8c31f6b4d16..dd17fbcddb2 100644 --- a/tests/baselines/reference/exportStarForValues6.js +++ b/tests/baselines/reference/exportStarForValues6.js @@ -9,24 +9,24 @@ export * from "file1" export var x = 1; //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = 1); } - } + }; }); diff --git a/tests/baselines/reference/exportStarForValues6.types b/tests/baselines/reference/exportStarForValues6.types index 4fe38a45d02..3d418e2dc24 100644 --- a/tests/baselines/reference/exportStarForValues6.types +++ b/tests/baselines/reference/exportStarForValues6.types @@ -8,5 +8,5 @@ export interface Foo { x } export * from "file1" export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues7.types b/tests/baselines/reference/exportStarForValues7.types index d37661320d6..41927bab512 100644 --- a/tests/baselines/reference/exportStarForValues7.types +++ b/tests/baselines/reference/exportStarForValues7.types @@ -8,11 +8,11 @@ export interface Foo { x } export * from "file1" export var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export * from "file2" export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues8.types b/tests/baselines/reference/exportStarForValues8.types index 9cc1484eecb..7d06bd0d1f5 100644 --- a/tests/baselines/reference/exportStarForValues8.types +++ b/tests/baselines/reference/exportStarForValues8.types @@ -12,7 +12,7 @@ export interface A { x } export * from "file1" export var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export interface B { x } @@ -22,7 +22,7 @@ export interface B { x } export * from "file1" export var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file4.ts === export interface C { x } @@ -33,11 +33,11 @@ export * from "file2" export * from "file3" export var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file5.ts === export * from "file4" export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValues9.types b/tests/baselines/reference/exportStarForValues9.types index 3cf250ec50b..aa09e1f12cf 100644 --- a/tests/baselines/reference/exportStarForValues9.types +++ b/tests/baselines/reference/exportStarForValues9.types @@ -13,7 +13,7 @@ export * from "file1" export * from "file3" export var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/file3.ts === export interface B { x } @@ -23,5 +23,5 @@ export interface B { x } export * from "file2" export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportStarForValuesInSystem.js b/tests/baselines/reference/exportStarForValuesInSystem.js index 49c6877377a..4fbd3ca0066 100644 --- a/tests/baselines/reference/exportStarForValuesInSystem.js +++ b/tests/baselines/reference/exportStarForValuesInSystem.js @@ -9,24 +9,24 @@ export * from "file1" var x = 1; //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { + setters: [], + execute: function () { x = 1; } - } + }; }); diff --git a/tests/baselines/reference/exportStarForValuesInSystem.types b/tests/baselines/reference/exportStarForValuesInSystem.types index 36d07741e10..bbb9a5a6b15 100644 --- a/tests/baselines/reference/exportStarForValuesInSystem.types +++ b/tests/baselines/reference/exportStarForValuesInSystem.types @@ -8,5 +8,5 @@ export interface Foo { x } export * from "file1" var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/exportToString.js b/tests/baselines/reference/exportToString.js new file mode 100644 index 00000000000..190d1693c24 --- /dev/null +++ b/tests/baselines/reference/exportToString.js @@ -0,0 +1,9 @@ +//// [exportToString.ts] +const toString = 0; +export { toString }; + + +//// [exportToString.js] +"use strict"; +var toString = 0; +exports.toString = toString; diff --git a/tests/baselines/reference/exportToString.symbols b/tests/baselines/reference/exportToString.symbols new file mode 100644 index 00000000000..ce5446317a4 --- /dev/null +++ b/tests/baselines/reference/exportToString.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/exportToString.ts === +const toString = 0; +>toString : Symbol(toString, Decl(exportToString.ts, 0, 5)) + +export { toString }; +>toString : Symbol(toString, Decl(exportToString.ts, 1, 8)) + diff --git a/tests/baselines/reference/exportToString.types b/tests/baselines/reference/exportToString.types new file mode 100644 index 00000000000..8c3aa782e29 --- /dev/null +++ b/tests/baselines/reference/exportToString.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/exportToString.ts === +const toString = 0; +>toString : 0 +>0 : 0 + +export { toString }; +>toString : 0 + diff --git a/tests/baselines/reference/exportVisibility.types b/tests/baselines/reference/exportVisibility.types index cf1e092473e..0249661834b 100644 --- a/tests/baselines/reference/exportVisibility.types +++ b/tests/baselines/reference/exportVisibility.types @@ -14,6 +14,6 @@ export function test(foo: Foo) { >Foo : Foo return true; ->true : boolean +>true : true } diff --git a/tests/baselines/reference/exportedVariable1.types b/tests/baselines/reference/exportedVariable1.types index fa7017fefa8..1d30c50ca3b 100644 --- a/tests/baselines/reference/exportedVariable1.types +++ b/tests/baselines/reference/exportedVariable1.types @@ -3,7 +3,7 @@ export var foo = {name: "Bill"}; >foo : { name: string; } >{name: "Bill"} : { name: string; } >name : string ->"Bill" : string +>"Bill" : "Bill" var upper = foo.name.toUpperCase(); >upper : string diff --git a/tests/baselines/reference/exportsAndImports1-amd.types b/tests/baselines/reference/exportsAndImports1-amd.types index 4ba83121541..05c8b6d7af5 100644 --- a/tests/baselines/reference/exportsAndImports1-amd.types +++ b/tests/baselines/reference/exportsAndImports1-amd.types @@ -2,7 +2,7 @@ var v = 1; >v : number ->1 : number +>1 : 1 function f() { } >f : () => void @@ -17,17 +17,17 @@ enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports1-es6.types b/tests/baselines/reference/exportsAndImports1-es6.types index 4ba83121541..05c8b6d7af5 100644 --- a/tests/baselines/reference/exportsAndImports1-es6.types +++ b/tests/baselines/reference/exportsAndImports1-es6.types @@ -2,7 +2,7 @@ var v = 1; >v : number ->1 : number +>1 : 1 function f() { } >f : () => void @@ -17,17 +17,17 @@ enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports1.types b/tests/baselines/reference/exportsAndImports1.types index 4ba83121541..05c8b6d7af5 100644 --- a/tests/baselines/reference/exportsAndImports1.types +++ b/tests/baselines/reference/exportsAndImports1.types @@ -2,7 +2,7 @@ var v = 1; >v : number ->1 : number +>1 : 1 function f() { } >f : () => void @@ -17,17 +17,17 @@ enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports2-amd.types b/tests/baselines/reference/exportsAndImports2-amd.types index 32de763c567..46e42174a77 100644 --- a/tests/baselines/reference/exportsAndImports2-amd.types +++ b/tests/baselines/reference/exportsAndImports2-amd.types @@ -2,11 +2,11 @@ export var x = "x"; >x : string ->"x" : string +>"x" : "x" export var y = "y"; >y : string ->"y" : string +>"y" : "y" === tests/cases/conformance/es6/modules/t2.ts === export { x as y, y as x } from "./t1"; diff --git a/tests/baselines/reference/exportsAndImports2-es6.types b/tests/baselines/reference/exportsAndImports2-es6.types index 32de763c567..46e42174a77 100644 --- a/tests/baselines/reference/exportsAndImports2-es6.types +++ b/tests/baselines/reference/exportsAndImports2-es6.types @@ -2,11 +2,11 @@ export var x = "x"; >x : string ->"x" : string +>"x" : "x" export var y = "y"; >y : string ->"y" : string +>"y" : "y" === tests/cases/conformance/es6/modules/t2.ts === export { x as y, y as x } from "./t1"; diff --git a/tests/baselines/reference/exportsAndImports2.types b/tests/baselines/reference/exportsAndImports2.types index 32de763c567..46e42174a77 100644 --- a/tests/baselines/reference/exportsAndImports2.types +++ b/tests/baselines/reference/exportsAndImports2.types @@ -2,11 +2,11 @@ export var x = "x"; >x : string ->"x" : string +>"x" : "x" export var y = "y"; >y : string ->"y" : string +>"y" : "y" === tests/cases/conformance/es6/modules/t2.ts === export { x as y, y as x } from "./t1"; diff --git a/tests/baselines/reference/exportsAndImports3-amd.types b/tests/baselines/reference/exportsAndImports3-amd.types index 0b8235d969c..5292f01af0d 100644 --- a/tests/baselines/reference/exportsAndImports3-amd.types +++ b/tests/baselines/reference/exportsAndImports3-amd.types @@ -2,7 +2,7 @@ export var v = 1; >v : number ->1 : number +>1 : 1 export function f() { } >f : () => void @@ -17,17 +17,17 @@ export enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } export const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } export module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports3-es6.types b/tests/baselines/reference/exportsAndImports3-es6.types index 0b8235d969c..5292f01af0d 100644 --- a/tests/baselines/reference/exportsAndImports3-es6.types +++ b/tests/baselines/reference/exportsAndImports3-es6.types @@ -2,7 +2,7 @@ export var v = 1; >v : number ->1 : number +>1 : 1 export function f() { } >f : () => void @@ -17,17 +17,17 @@ export enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } export const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } export module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports3.types b/tests/baselines/reference/exportsAndImports3.types index 0b8235d969c..5292f01af0d 100644 --- a/tests/baselines/reference/exportsAndImports3.types +++ b/tests/baselines/reference/exportsAndImports3.types @@ -2,7 +2,7 @@ export var v = 1; >v : number ->1 : number +>1 : 1 export function f() { } >f : () => void @@ -17,17 +17,17 @@ export enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } export const enum D { >D : D A, B, C ->A : D ->B : D ->C : D +>A : D.A +>B : D.B +>C : D.C } export module M { >M : typeof M diff --git a/tests/baselines/reference/exportsAndImports4-amd.types b/tests/baselines/reference/exportsAndImports4-amd.types index 4bd6f8c0e1e..dfddd897e59 100644 --- a/tests/baselines/reference/exportsAndImports4-amd.types +++ b/tests/baselines/reference/exportsAndImports4-amd.types @@ -3,63 +3,63 @@ import a = require("./t1"); >a : typeof a a.default; ->a.default : string +>a.default : "hello" >a : typeof a ->default : string +>default : "hello" import b from "./t1"; ->b : string +>b : "hello" b; ->b : string +>b : "hello" import * as c from "./t1"; >c : typeof a c.default; ->c.default : string +>c.default : "hello" >c : typeof a ->default : string +>default : "hello" import { default as d } from "./t1"; ->default : string ->d : string +>default : "hello" +>d : "hello" d; ->d : string +>d : "hello" import e1, * as e2 from "./t1"; ->e1 : string +>e1 : "hello" >e2 : typeof a e1; ->e1 : string +>e1 : "hello" e2.default; ->e2.default : string +>e2.default : "hello" >e2 : typeof a ->default : string +>default : "hello" import f1, { default as f2 } from "./t1"; ->f1 : string ->default : string ->f2 : string +>f1 : "hello" +>default : "hello" +>f2 : "hello" f1; ->f1 : string +>f1 : "hello" f2; ->f2 : string +>f2 : "hello" export { a, b, c, d, e1, e2, f1, f2 }; >a : typeof a ->b : string +>b : "hello" >c : typeof a ->d : string ->e1 : string +>d : "hello" +>e1 : "hello" >e2 : typeof a ->f1 : string ->f2 : string +>f1 : "hello" +>f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === diff --git a/tests/baselines/reference/exportsAndImports4-es6.types b/tests/baselines/reference/exportsAndImports4-es6.types index 4bd6f8c0e1e..dfddd897e59 100644 --- a/tests/baselines/reference/exportsAndImports4-es6.types +++ b/tests/baselines/reference/exportsAndImports4-es6.types @@ -3,63 +3,63 @@ import a = require("./t1"); >a : typeof a a.default; ->a.default : string +>a.default : "hello" >a : typeof a ->default : string +>default : "hello" import b from "./t1"; ->b : string +>b : "hello" b; ->b : string +>b : "hello" import * as c from "./t1"; >c : typeof a c.default; ->c.default : string +>c.default : "hello" >c : typeof a ->default : string +>default : "hello" import { default as d } from "./t1"; ->default : string ->d : string +>default : "hello" +>d : "hello" d; ->d : string +>d : "hello" import e1, * as e2 from "./t1"; ->e1 : string +>e1 : "hello" >e2 : typeof a e1; ->e1 : string +>e1 : "hello" e2.default; ->e2.default : string +>e2.default : "hello" >e2 : typeof a ->default : string +>default : "hello" import f1, { default as f2 } from "./t1"; ->f1 : string ->default : string ->f2 : string +>f1 : "hello" +>default : "hello" +>f2 : "hello" f1; ->f1 : string +>f1 : "hello" f2; ->f2 : string +>f2 : "hello" export { a, b, c, d, e1, e2, f1, f2 }; >a : typeof a ->b : string +>b : "hello" >c : typeof a ->d : string ->e1 : string +>d : "hello" +>e1 : "hello" >e2 : typeof a ->f1 : string ->f2 : string +>f1 : "hello" +>f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === diff --git a/tests/baselines/reference/exportsAndImports4.types b/tests/baselines/reference/exportsAndImports4.types index 4bd6f8c0e1e..dfddd897e59 100644 --- a/tests/baselines/reference/exportsAndImports4.types +++ b/tests/baselines/reference/exportsAndImports4.types @@ -3,63 +3,63 @@ import a = require("./t1"); >a : typeof a a.default; ->a.default : string +>a.default : "hello" >a : typeof a ->default : string +>default : "hello" import b from "./t1"; ->b : string +>b : "hello" b; ->b : string +>b : "hello" import * as c from "./t1"; >c : typeof a c.default; ->c.default : string +>c.default : "hello" >c : typeof a ->default : string +>default : "hello" import { default as d } from "./t1"; ->default : string ->d : string +>default : "hello" +>d : "hello" d; ->d : string +>d : "hello" import e1, * as e2 from "./t1"; ->e1 : string +>e1 : "hello" >e2 : typeof a e1; ->e1 : string +>e1 : "hello" e2.default; ->e2.default : string +>e2.default : "hello" >e2 : typeof a ->default : string +>default : "hello" import f1, { default as f2 } from "./t1"; ->f1 : string ->default : string ->f2 : string +>f1 : "hello" +>default : "hello" +>f2 : "hello" f1; ->f1 : string +>f1 : "hello" f2; ->f2 : string +>f2 : "hello" export { a, b, c, d, e1, e2, f1, f2 }; >a : typeof a ->b : string +>b : "hello" >c : typeof a ->d : string ->e1 : string +>d : "hello" +>e1 : "hello" >e2 : typeof a ->f1 : string ->f2 : string +>f1 : "hello" +>f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === diff --git a/tests/baselines/reference/exportsAndImportsWithContextualKeywordNames02.types b/tests/baselines/reference/exportsAndImportsWithContextualKeywordNames02.types index 853fa787f0a..c12e84e320b 100644 --- a/tests/baselines/reference/exportsAndImportsWithContextualKeywordNames02.types +++ b/tests/baselines/reference/exportsAndImportsWithContextualKeywordNames02.types @@ -2,7 +2,7 @@ let as = 100; >as : number ->100 : number +>100 : 100 export { as as return, as }; >as : number diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores2.types b/tests/baselines/reference/exportsAndImportsWithUnderscores2.types index a684440f5bd..3b86789cc44 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores2.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores2.types @@ -9,7 +9,7 @@ export default R = { >{ "__esmodule": true, "__proto__": {}} : { "__esmodule": boolean; "__proto__": {}; } "__esmodule": true, ->true : boolean +>true : true "__proto__": {} >{} : {} diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores3.types b/tests/baselines/reference/exportsAndImportsWithUnderscores3.types index 5addb44172d..b860928aa62 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores3.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores3.types @@ -9,13 +9,13 @@ export default R = { >{ "___": 30, "___hello": 21, "_hi": 40,} : { "___": number; "___hello": number; "_hi": number; } "___": 30, ->30 : number +>30 : 30 "___hello": 21, ->21 : number +>21 : 21 "_hi": 40, ->40 : number +>40 : 40 } === tests/cases/conformance/es6/modules/m2.ts === diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores4.types b/tests/baselines/reference/exportsAndImportsWithUnderscores4.types index a9042042285..cf339db5dee 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores4.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores4.types @@ -11,7 +11,7 @@ export function _() { >console.log : any >console : any >log : any ->"_" : string +>"_" : "_" } export function __() { >__ : () => void @@ -21,7 +21,7 @@ export function __() { >console.log : any >console : any >log : any ->"__" : string +>"__" : "__" } export function ___() { >___ : () => void @@ -31,7 +31,7 @@ export function ___() { >console.log : any >console : any >log : any ->"___" : string +>"___" : "___" } export function _hi() { >_hi : () => void @@ -41,7 +41,7 @@ export function _hi() { >console.log : any >console : any >log : any ->"_hi" : string +>"_hi" : "_hi" } export function __proto() { >__proto : () => void @@ -51,7 +51,7 @@ export function __proto() { >console.log : any >console : any >log : any ->"__proto" : string +>"__proto" : "__proto" } export function __esmodule() { >__esmodule : () => void @@ -61,7 +61,7 @@ export function __esmodule() { >console.log : any >console : any >log : any ->"__esmodule" : string +>"__esmodule" : "__esmodule" } export function ___hello(){ >___hello : () => void @@ -71,7 +71,7 @@ export function ___hello(){ >console.log : any >console : any >log : any ->"___hello" : string +>"___hello" : "___hello" } === tests/cases/conformance/es6/modules/m2.ts === diff --git a/tests/baselines/reference/expr.errors.txt b/tests/baselines/reference/expr.errors.txt index 41d15a0835b..17e39cc80be 100644 --- a/tests/baselines/reference/expr.errors.txt +++ b/tests/baselines/reference/expr.errors.txt @@ -4,14 +4,14 @@ tests/cases/compiler/expr.ts(94,5): error TS2365: Operator '==' cannot be applie tests/cases/compiler/expr.ts(95,5): error TS2365: Operator '==' cannot be applied to types 'string' and 'boolean'. tests/cases/compiler/expr.ts(98,5): error TS2365: Operator '==' cannot be applied to types 'string' and 'E'. tests/cases/compiler/expr.ts(115,5): error TS2365: Operator '==' cannot be applied to types 'E' and 'string'. -tests/cases/compiler/expr.ts(116,5): error TS2365: Operator '==' cannot be applied to types 'E' and 'boolean'. -tests/cases/compiler/expr.ts(142,5): error TS2365: Operator '+' cannot be applied to types 'number' and 'boolean'. +tests/cases/compiler/expr.ts(116,5): error TS2365: Operator '==' cannot be applied to types 'E' and 'false'. +tests/cases/compiler/expr.ts(142,5): error TS2365: Operator '+' cannot be applied to types 'number' and 'false'. tests/cases/compiler/expr.ts(143,5): error TS2365: Operator '+' cannot be applied to types 'number' and 'I'. tests/cases/compiler/expr.ts(161,5): error TS2365: Operator '+' cannot be applied to types 'I' and 'number'. -tests/cases/compiler/expr.ts(163,5): error TS2365: Operator '+' cannot be applied to types 'I' and 'boolean'. +tests/cases/compiler/expr.ts(163,5): error TS2365: Operator '+' cannot be applied to types 'I' and 'false'. tests/cases/compiler/expr.ts(165,5): error TS2365: Operator '+' cannot be applied to types 'I' and 'I'. tests/cases/compiler/expr.ts(166,5): error TS2365: Operator '+' cannot be applied to types 'I' and 'E'. -tests/cases/compiler/expr.ts(170,5): error TS2365: Operator '+' cannot be applied to types 'E' and 'boolean'. +tests/cases/compiler/expr.ts(170,5): error TS2365: Operator '+' cannot be applied to types 'E' and 'false'. tests/cases/compiler/expr.ts(172,5): error TS2365: Operator '+' cannot be applied to types 'E' and 'I'. tests/cases/compiler/expr.ts(176,7): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/compiler/expr.ts(177,7): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. @@ -199,7 +199,7 @@ tests/cases/compiler/expr.ts(242,7): error TS2363: The right-hand side of an ari !!! error TS2365: Operator '==' cannot be applied to types 'E' and 'string'. e==b; ~~~~ -!!! error TS2365: Operator '==' cannot be applied to types 'E' and 'boolean'. +!!! error TS2365: Operator '==' cannot be applied to types 'E' and 'false'. e==a; e==i; e==e; @@ -227,7 +227,7 @@ tests/cases/compiler/expr.ts(242,7): error TS2363: The right-hand side of an ari n+s; n+b; ~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'false'. n+i; ~~~ !!! error TS2365: Operator '+' cannot be applied to types 'number' and 'I'. @@ -254,7 +254,7 @@ tests/cases/compiler/expr.ts(242,7): error TS2363: The right-hand side of an ari i+s; i+b; ~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'I' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'I' and 'false'. i+a; i+i; ~~~ @@ -267,7 +267,7 @@ tests/cases/compiler/expr.ts(242,7): error TS2363: The right-hand side of an ari e+s; e+b; ~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'E' and 'false'. e+a; e+i; ~~~ diff --git a/tests/baselines/reference/extBaseClass1.types b/tests/baselines/reference/extBaseClass1.types index 1ab2ec3ba53..7e25c832f2a 100644 --- a/tests/baselines/reference/extBaseClass1.types +++ b/tests/baselines/reference/extBaseClass1.types @@ -7,7 +7,7 @@ module M { public x=10; >x : number ->10 : number +>10 : 10 } export class C extends B { diff --git a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.errors.txt b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.errors.txt new file mode 100644 index 00000000000..2678fdf8667 --- /dev/null +++ b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.errors.txt @@ -0,0 +1,9 @@ +tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts(1,23): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts (1 errors) ==== + class derived extends base { } + ~~~~ +!!! error TS2690: A class must be declared after its base class. + + class base { constructor (public n: number) { } } \ No newline at end of file diff --git a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols deleted file mode 100644 index ab122b43c90..00000000000 --- a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.symbols +++ /dev/null @@ -1,9 +0,0 @@ -=== tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts === -class derived extends base { } ->derived : Symbol(derived, Decl(extendBaseClassBeforeItsDeclared.ts, 0, 0)) ->base : Symbol(base, Decl(extendBaseClassBeforeItsDeclared.ts, 0, 30)) - -class base { constructor (public n: number) { } } ->base : Symbol(base, Decl(extendBaseClassBeforeItsDeclared.ts, 0, 30)) ->n : Symbol(base.n, Decl(extendBaseClassBeforeItsDeclared.ts, 2, 26)) - diff --git a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.types b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.types deleted file mode 100644 index a9ad130d474..00000000000 --- a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.types +++ /dev/null @@ -1,9 +0,0 @@ -=== tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts === -class derived extends base { } ->derived : derived ->base : base - -class base { constructor (public n: number) { } } ->base : base ->n : number - diff --git a/tests/baselines/reference/extendBooleanInterface.types b/tests/baselines/reference/extendBooleanInterface.types index 8f91deba713..03187040259 100644 --- a/tests/baselines/reference/extendBooleanInterface.types +++ b/tests/baselines/reference/extendBooleanInterface.types @@ -15,35 +15,35 @@ interface Boolean { var x = true; >x : boolean ->true : boolean +>true : true var a: string = x.doStuff(); >a : string >x.doStuff() : string >x.doStuff : () => string ->x : boolean +>x : true >doStuff : () => string var b: string = x.doOtherStuff('hm'); >b : string ->x.doOtherStuff('hm') : string +>x.doOtherStuff('hm') : "hm" >x.doOtherStuff : (x: T) => T ->x : boolean +>x : true >doOtherStuff : (x: T) => T ->'hm' : string +>'hm' : "hm" var c: string = x['doStuff'](); >c : string >x['doStuff']() : string >x['doStuff'] : () => string ->x : boolean ->'doStuff' : string +>x : true +>'doStuff' : "doStuff" var d: string = x['doOtherStuff']('hm'); >d : string ->x['doOtherStuff']('hm') : string +>x['doOtherStuff']('hm') : "hm" >x['doOtherStuff'] : (x: T) => T ->x : boolean ->'doOtherStuff' : string ->'hm' : string +>x : true +>'doOtherStuff' : "doOtherStuff" +>'hm' : "hm" diff --git a/tests/baselines/reference/extendClassExpressionFromModule.js b/tests/baselines/reference/extendClassExpressionFromModule.js index 56b54d2821f..6532603b73c 100644 --- a/tests/baselines/reference/extendClassExpressionFromModule.js +++ b/tests/baselines/reference/extendClassExpressionFromModule.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); var x = foo1; var y = (function (_super) { __extends(y, _super); diff --git a/tests/baselines/reference/extendConstructSignatureInInterface.types b/tests/baselines/reference/extendConstructSignatureInInterface.types index 363107b2e54..c89b7ca01f3 100644 --- a/tests/baselines/reference/extendConstructSignatureInInterface.types +++ b/tests/baselines/reference/extendConstructSignatureInInterface.types @@ -21,5 +21,5 @@ var e: E = new E(1); >E : E >new E(1) : E >E : typeof E ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/extendNumberInterface.types b/tests/baselines/reference/extendNumberInterface.types index 97ef307bab8..a6ba453894e 100644 --- a/tests/baselines/reference/extendNumberInterface.types +++ b/tests/baselines/reference/extendNumberInterface.types @@ -15,7 +15,7 @@ interface Number { var x = 1; >x : number ->1 : number +>1 : 1 var a: string = x.doStuff(); >a : string @@ -26,24 +26,24 @@ var a: string = x.doStuff(); var b: string = x.doOtherStuff('hm'); >b : string ->x.doOtherStuff('hm') : string +>x.doOtherStuff('hm') : "hm" >x.doOtherStuff : (x: T) => T >x : number >doOtherStuff : (x: T) => T ->'hm' : string +>'hm' : "hm" var c: string = x['doStuff'](); >c : string >x['doStuff']() : string >x['doStuff'] : () => string >x : number ->'doStuff' : string +>'doStuff' : "doStuff" var d: string = x['doOtherStuff']('hm'); >d : string ->x['doOtherStuff']('hm') : string +>x['doOtherStuff']('hm') : "hm" >x['doOtherStuff'] : (x: T) => T >x : number ->'doOtherStuff' : string ->'hm' : string +>'doOtherStuff' : "doOtherStuff" +>'hm' : "hm" diff --git a/tests/baselines/reference/extendStringInterface.types b/tests/baselines/reference/extendStringInterface.types index edfd8239015..428624dc57f 100644 --- a/tests/baselines/reference/extendStringInterface.types +++ b/tests/baselines/reference/extendStringInterface.types @@ -15,7 +15,7 @@ interface String { var x = ''; >x : string ->'' : string +>'' : "" var a: string = x.doStuff(); >a : string @@ -26,24 +26,24 @@ var a: string = x.doStuff(); var b: string = x.doOtherStuff('hm'); >b : string ->x.doOtherStuff('hm') : string +>x.doOtherStuff('hm') : "hm" >x.doOtherStuff : (x: T) => T >x : string >doOtherStuff : (x: T) => T ->'hm' : string +>'hm' : "hm" var c: string = x['doStuff'](); >c : string >x['doStuff']() : string >x['doStuff'] : () => string >x : string ->'doStuff' : string +>'doStuff' : "doStuff" var d: string = x['doOtherStuff']('hm'); >d : string ->x['doOtherStuff']('hm') : string +>x['doOtherStuff']('hm') : "hm" >x['doOtherStuff'] : (x: T) => T >x : string ->'doOtherStuff' : string ->'hm' : string +>'doOtherStuff' : "doOtherStuff" +>'hm' : "hm" diff --git a/tests/baselines/reference/extendedInterfaceGenericType.types b/tests/baselines/reference/extendedInterfaceGenericType.types index a536ec75190..5235dd2f9c8 100644 --- a/tests/baselines/reference/extendedInterfaceGenericType.types +++ b/tests/baselines/reference/extendedInterfaceGenericType.types @@ -37,5 +37,5 @@ betaOfNumber.takesArgOfT(5); >betaOfNumber.takesArgOfT : (arg: number) => Alpha >betaOfNumber : Beta >takesArgOfT : (arg: number) => Alpha ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/externFunc.types b/tests/baselines/reference/externFunc.types index ab417859ea5..5cda004d4cf 100644 --- a/tests/baselines/reference/externFunc.types +++ b/tests/baselines/reference/externFunc.types @@ -6,5 +6,5 @@ declare function parseInt(s:string):number; parseInt("2"); >parseInt("2") : number >parseInt : { (s: string, radix?: number): number; (s: string): number; } ->"2" : string +>"2" : "2" diff --git a/tests/baselines/reference/externModule.js b/tests/baselines/reference/externModule.js index d5684ea1f46..ff83d07ef98 100644 --- a/tests/baselines/reference/externModule.js +++ b/tests/baselines/reference/externModule.js @@ -43,12 +43,11 @@ n=XDate.UTC(1964,2,1); declare; module; { - var XDate = (function () { + export var XDate = (function () { function XDate() { } return XDate; }()); - exports.XDate = XDate; } var d = new XDate(); d.getDay(); diff --git a/tests/baselines/reference/externalModuleAssignToVar.js b/tests/baselines/reference/externalModuleAssignToVar.js index e621b7c930b..47958ddd2ff 100644 --- a/tests/baselines/reference/externalModuleAssignToVar.js +++ b/tests/baselines/reference/externalModuleAssignToVar.js @@ -57,7 +57,7 @@ define(["require", "exports"], function (require, exports) { return D; }); //// [externalModuleAssignToVar_core.js] -define(["require", "exports", 'externalModuleAssignToVar_core_require', 'externalModuleAssignToVar_core_require2', 'externalModuleAssignToVar_ext'], function (require, exports, ext, ext2, ext3) { +define(["require", "exports", "externalModuleAssignToVar_core_require", "externalModuleAssignToVar_core_require2", "externalModuleAssignToVar_ext"], function (require, exports, ext, ext2, ext3) { "use strict"; var y1 = ext; y1 = ext; // ok diff --git a/tests/baselines/reference/externalModuleExportingGenericClass.js b/tests/baselines/reference/externalModuleExportingGenericClass.js index c4b8556bb80..e327e17160e 100644 --- a/tests/baselines/reference/externalModuleExportingGenericClass.js +++ b/tests/baselines/reference/externalModuleExportingGenericClass.js @@ -25,7 +25,7 @@ var C = (function () { module.exports = C; //// [externalModuleExportingGenericClass_file1.js] "use strict"; -var a = require('./externalModuleExportingGenericClass_file0'); +var a = require("./externalModuleExportingGenericClass_file0"); var v; // this should report error var v2 = (new a()).foo; var v3 = (new a()).foo; diff --git a/tests/baselines/reference/externalModuleImmutableBindings.js b/tests/baselines/reference/externalModuleImmutableBindings.js index 4193a71cc90..b50845024f4 100644 --- a/tests/baselines/reference/externalModuleImmutableBindings.js +++ b/tests/baselines/reference/externalModuleImmutableBindings.js @@ -57,7 +57,7 @@ exports.x = 1; //// [f2.js] "use strict"; // all mutations below are illegal and should be fixed -var stuff = require('./f1'); +var stuff = require("./f1"); var n = 'baz'; stuff.x = 0; stuff['x'] = 1; diff --git a/tests/baselines/reference/externalModuleQualification.types b/tests/baselines/reference/externalModuleQualification.types index a7b70697209..42f0d3579b4 100644 --- a/tests/baselines/reference/externalModuleQualification.types +++ b/tests/baselines/reference/externalModuleQualification.types @@ -1,7 +1,7 @@ === tests/cases/compiler/externalModuleQualification.ts === export var ID = "test"; >ID : string ->"test" : string +>"test" : "test" export class DiffEditor { >DiffEditor : DiffEditor diff --git a/tests/baselines/reference/externalModuleReferenceDoubleUnderscore1.types b/tests/baselines/reference/externalModuleReferenceDoubleUnderscore1.types index 8d2c9b65991..ad292656d25 100644 --- a/tests/baselines/reference/externalModuleReferenceDoubleUnderscore1.types +++ b/tests/baselines/reference/externalModuleReferenceDoubleUnderscore1.types @@ -14,31 +14,31 @@ declare module '__timezonecomplete/basics' { >TimeUnit : TimeUnit Second = 0, ->Second : TimeUnit ->0 : number +>Second : TimeUnit.Second +>0 : 0 Minute = 1, ->Minute : TimeUnit ->1 : number +>Minute : TimeUnit.Minute +>1 : 1 Hour = 2, ->Hour : TimeUnit ->2 : number +>Hour : TimeUnit.Hour +>2 : 2 Day = 3, ->Day : TimeUnit ->3 : number +>Day : TimeUnit.Day +>3 : 3 Week = 4, ->Week : TimeUnit ->4 : number +>Week : TimeUnit.Week +>4 : 4 Month = 5, ->Month : TimeUnit ->5 : number +>Month : TimeUnit.Month +>5 : 5 Year = 6, ->Year : TimeUnit ->6 : number +>Year : TimeUnit.Year +>6 : 6 } } diff --git a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js index cdcc0842b08..8a25c3711b2 100644 --- a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js +++ b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js @@ -16,7 +16,7 @@ define(["require", "exports"], function (require, exports) { ; }); //// [externalModuleReferenceOfImportDeclarationWithExportModifier_1.js] -define(["require", "exports", 'externalModuleReferenceOfImportDeclarationWithExportModifier_0'], function (require, exports, file1) { +define(["require", "exports", "externalModuleReferenceOfImportDeclarationWithExportModifier_0"], function (require, exports, file1) { "use strict"; exports.file1 = file1; exports.file1.foo(); diff --git a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js index 1b5d41d8be4..5b0de7324ac 100644 --- a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js +++ b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js @@ -26,6 +26,6 @@ exports.foo = foo; //// [externalModuleRefernceResolutionOrderInImportDeclaration_file3.js] "use strict"; /// -var file1 = require('./externalModuleRefernceResolutionOrderInImportDeclaration_file1'); +var file1 = require("./externalModuleRefernceResolutionOrderInImportDeclaration_file1"); file1.foo(); file1.bar(); diff --git a/tests/baselines/reference/externalModuleResolution.js b/tests/baselines/reference/externalModuleResolution.js index 20dc7fa8dda..40b320ee37e 100644 --- a/tests/baselines/reference/externalModuleResolution.js +++ b/tests/baselines/reference/externalModuleResolution.js @@ -25,5 +25,5 @@ var M2; module.exports = M2; //// [consumer.js] "use strict"; -var x = require('./foo'); +var x = require("./foo"); x.Y; // .ts should be picked diff --git a/tests/baselines/reference/externalModuleResolution.types b/tests/baselines/reference/externalModuleResolution.types index 45e2aef6883..1f0901dd040 100644 --- a/tests/baselines/reference/externalModuleResolution.types +++ b/tests/baselines/reference/externalModuleResolution.types @@ -13,7 +13,7 @@ module M2 { export var Y = 1; >Y : number ->1 : number +>1 : 1 } export = M2 >M2 : typeof M2 diff --git a/tests/baselines/reference/externalModuleResolution2.js b/tests/baselines/reference/externalModuleResolution2.js index 13560105544..44753c9f16d 100644 --- a/tests/baselines/reference/externalModuleResolution2.js +++ b/tests/baselines/reference/externalModuleResolution2.js @@ -26,5 +26,5 @@ var M2; module.exports = M2; //// [consumer.js] "use strict"; -var x = require('./foo'); +var x = require("./foo"); x.X; // .ts should be picked diff --git a/tests/baselines/reference/externalModuleResolution2.types b/tests/baselines/reference/externalModuleResolution2.types index 9f48b8b38f1..8eb1ae5d546 100644 --- a/tests/baselines/reference/externalModuleResolution2.types +++ b/tests/baselines/reference/externalModuleResolution2.types @@ -13,7 +13,7 @@ module M2 { export var X = 1; >X : number ->1 : number +>1 : 1 } export = M2 >M2 : typeof M2 diff --git a/tests/baselines/reference/fallFromLastCase1.types b/tests/baselines/reference/fallFromLastCase1.types index 47e444ee17d..0353ae88387 100644 --- a/tests/baselines/reference/fallFromLastCase1.types +++ b/tests/baselines/reference/fallFromLastCase1.types @@ -12,21 +12,21 @@ function foo1(a: number) { >a : number case 1: ->1 : number +>1 : 1 use("1"); >use("1") : any >use : (a: string) => any ->"1" : string +>"1" : "1" break; case 2: ->2 : number +>2 : 2 use("2"); >use("2") : any >use : (a: string) => any ->"2" : string +>"2" : "2" } } @@ -39,18 +39,18 @@ function foo2(a: number) { >a : number case 1: ->1 : number +>1 : 1 use("1"); >use("1") : any >use : (a: string) => any ->"1" : string +>"1" : "1" break; default: use("2"); >use("2") : any >use : (a: string) => any ->"2" : string +>"2" : "2" } } diff --git a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types index fc41085098a..7b1a2d8e6ff 100644 --- a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types +++ b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types @@ -19,7 +19,7 @@ trans(([b,c]) => 'foo'); >([b,c]) => 'foo' : ([b, c]: [any, any]) => string >b : any >c : any ->'foo' : string +>'foo' : "foo" trans(({d: [e,f]}) => 'foo'); >trans(({d: [e,f]}) => 'foo') : number @@ -28,7 +28,7 @@ trans(({d: [e,f]}) => 'foo'); >d : any >e : any >f : any ->'foo' : string +>'foo' : "foo" trans(([{g},{h}]) => 'foo'); >trans(([{g},{h}]) => 'foo') : number @@ -36,7 +36,7 @@ trans(([{g},{h}]) => 'foo'); >([{g},{h}]) => 'foo' : ([{g}, {h}]: [{ g: any; }, { h: any; }]) => string >g : any >h : any ->'foo' : string +>'foo' : "foo" trans(({a, b = 10}) => a); >trans(({a, b = 10}) => a) : number @@ -44,6 +44,6 @@ trans(({a, b = 10}) => a); >({a, b = 10}) => a : ({a, b}: { a: any; b?: number; }) => any >a : any >b : number ->10 : number +>10 : 10 >a : any diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index 574262265bc..1f9627b595e 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -41,7 +41,7 @@ module Consumer { >this : this >emitter : Events.EventEmitter >addListener : (type: string, listener: Events.ListenerCallback) => void ->'change' : string +>'change' : "change" >(e) => { this.changed(); } : (e: any) => void >e : any diff --git a/tests/baselines/reference/fatArrowfunctionAsType.types b/tests/baselines/reference/fatArrowfunctionAsType.types index a165048695f..82616951795 100644 --- a/tests/baselines/reference/fatArrowfunctionAsType.types +++ b/tests/baselines/reference/fatArrowfunctionAsType.types @@ -14,7 +14,7 @@ var c: (x: T) => void = function (x: T) { return 42; } >T : T >x : T >T : T ->42 : number +>42 : 42 b = c; >b = c : (x: T) => void diff --git a/tests/baselines/reference/fatarrowfunctions.types b/tests/baselines/reference/fatarrowfunctions.types index e48b63e50ee..304c341c916 100644 --- a/tests/baselines/reference/fatarrowfunctions.types +++ b/tests/baselines/reference/fatarrowfunctions.types @@ -79,7 +79,7 @@ foo(()=>{return 0;}); >foo(()=>{return 0;}) : any >foo : (x: any) => any >()=>{return 0;} : () => number ->0 : number +>0 : 0 foo((x:number,y,z)=>x+y+z); >foo((x:number,y,z)=>x+y+z) : any @@ -150,7 +150,7 @@ foo(()=>{return 0;}); >foo(()=>{return 0;}) : any >foo : (x: any) => any >()=>{return 0;} : () => number ->0 : number +>0 : 0 foo(((x) => x)); @@ -189,7 +189,7 @@ var z = (x:number) => x*x; var w = () => 3; >w : () => number >() => 3 : () => number ->3 : number +>3 : 3 function ternaryTest(isWhile:boolean) { >ternaryTest : (isWhile: boolean) => void @@ -203,12 +203,12 @@ function ternaryTest(isWhile:boolean) { >n : any >n > 0 : boolean >n : any ->0 : number +>0 : 0 >function (n) { return n === 0; } : (n: any) => boolean >n : any >n === 0 : boolean >n : any ->0 : number +>0 : 0 } @@ -224,7 +224,7 @@ var messenger = { message: "Hello World", >message : string ->"Hello World" : string +>"Hello World" : "Hello World" start: function() { >start : () => void @@ -240,7 +240,7 @@ var messenger = { >this : any >message : any >toString : any ->3000 : number +>3000 : 3000 } }; diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types index 39cd994dcc1..bc33ec4c2ff 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types @@ -19,5 +19,5 @@ fn.call(4); // Should be 4 >fn.call : (this: Function, thisArg: any, ...argArray: any[]) => any >fn : (x?: () => any, y?: any) => any >call : (this: Function, thisArg: any, ...argArray: any[]) => any ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctions.types b/tests/baselines/reference/fatarrowfunctionsInFunctions.types index 00abaec9f25..8b9bd7ccd7a 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctions.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctions.types @@ -11,7 +11,7 @@ var messenger = { message: "Hello World", >message : string ->"Hello World" : string +>"Hello World" : "Hello World" start: function() { >start : () => void @@ -35,7 +35,7 @@ var messenger = { >toString : any }, 3000); ->3000 : number +>3000 : 3000 } }; messenger.start(); diff --git a/tests/baselines/reference/fileReferencesWithNoExtensions.types b/tests/baselines/reference/fileReferencesWithNoExtensions.types index 7b56dbe0d20..380792f1b70 100644 --- a/tests/baselines/reference/fileReferencesWithNoExtensions.types +++ b/tests/baselines/reference/fileReferencesWithNoExtensions.types @@ -17,7 +17,7 @@ var c = cc; // Check that c.ts has precedence over c.d.ts === tests/cases/compiler/a.ts === var aa = 1; >aa : number ->1 : number +>1 : 1 === tests/cases/compiler/b.d.ts === declare var bb: number; @@ -26,7 +26,7 @@ declare var bb: number; === tests/cases/compiler/c.ts === var cc = 1; >cc : number ->1 : number +>1 : 1 === tests/cases/compiler/c.d.ts === declare var xx: number; diff --git a/tests/baselines/reference/fileWithNextLine1.types b/tests/baselines/reference/fileWithNextLine1.types index 2afb1f2ae37..d314fd996dd 100644 --- a/tests/baselines/reference/fileWithNextLine1.types +++ b/tests/baselines/reference/fileWithNextLine1.types @@ -3,5 +3,5 @@ // 0. It should be counted as a space and should not cause an error. var v = '…'; >v : string ->'…' : string +>'…' : "\u0085" diff --git a/tests/baselines/reference/fileWithNextLine2.types b/tests/baselines/reference/fileWithNextLine2.types index c3e1fd642cf..d7d08ef5b3f 100644 --- a/tests/baselines/reference/fileWithNextLine2.types +++ b/tests/baselines/reference/fileWithNextLine2.types @@ -3,5 +3,5 @@ // it should be treated like a space var v =…0; >v : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/fixSignatureCaching.errors.txt b/tests/baselines/reference/fixSignatureCaching.errors.txt new file mode 100644 index 00000000000..6677afc174a --- /dev/null +++ b/tests/baselines/reference/fixSignatureCaching.errors.txt @@ -0,0 +1,2200 @@ +tests/cases/conformance/fixSignatureCaching.ts(3,1): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/fixSignatureCaching.ts(9,10): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(284,10): error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(293,10): error TS2339: Property 'FALLBACK_PHONE' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(294,10): error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(295,10): error TS2339: Property 'FALLBACK_MOBILE' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(327,74): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(366,10): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(384,10): error TS2339: Property 'findMatches' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(404,10): error TS2339: Property 'getVersionStr' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(405,26): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(428,10): error TS2339: Property 'getVersion' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(429,28): error TS2339: Property 'getVersionStr' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(430,31): error TS2339: Property 'prepareVersionNo' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(440,10): error TS2339: Property 'prepareVersionNo' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(455,10): error TS2339: Property 'isMobileFallback' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(456,21): error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(457,18): error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(460,10): error TS2339: Property 'isTabletFallback' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(461,21): error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(464,10): error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(471,23): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(471,38): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(478,22): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(478,37): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(486,18): error TS2339: Property 'isMobileFallback' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(487,39): error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(489,37): error TS2339: Property 'FALLBACK_MOBILE' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(492,51): error TS2339: Property 'FALLBACK_PHONE' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(495,52): error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(498,25): error TS2339: Property 'isTabletFallback' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(499,48): error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(508,10): error TS2339: Property 'mobileGrade' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(633,10): error TS2339: Property 'detectOS' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(634,21): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(634,36): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(635,18): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(635,33): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(638,10): error TS2339: Property 'getDeviceSmallerSide' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(639,16): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(639,38): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(640,13): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(641,13): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(704,18): error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(734,18): error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(783,18): error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(805,46): error TS2339: Property 'findMatch' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(805,61): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(828,47): error TS2339: Property 'findMatches' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(828,64): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(845,39): error TS2339: Property 'detectOS' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(869,25): error TS2339: Property 'getVersion' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(890,25): error TS2339: Property 'getVersionStr' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(912,36): error TS2339: Property 'findMatches' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(912,53): error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(941,33): error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(952,42): error TS2339: Property 'mobileGrade' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(959,16): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(959,42): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(960,22): error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(961,57): error TS2339: Property 'getDeviceSmallerSide' does not exist on type '{}'. +tests/cases/conformance/fixSignatureCaching.ts(964,22): error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(968,18): error TS2339: Property '_impl' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(970,18): error TS2339: Property 'version' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. +tests/cases/conformance/fixSignatureCaching.ts(974,4): error TS2346: Supplied parameters do not match any signature of call target. +tests/cases/conformance/fixSignatureCaching.ts(975,16): error TS2304: Cannot find name 'module'. +tests/cases/conformance/fixSignatureCaching.ts(975,42): error TS2304: Cannot find name 'module'. +tests/cases/conformance/fixSignatureCaching.ts(976,37): error TS2304: Cannot find name 'module'. +tests/cases/conformance/fixSignatureCaching.ts(977,23): error TS2304: Cannot find name 'define'. +tests/cases/conformance/fixSignatureCaching.ts(977,48): error TS2304: Cannot find name 'define'. +tests/cases/conformance/fixSignatureCaching.ts(978,16): error TS2304: Cannot find name 'define'. +tests/cases/conformance/fixSignatureCaching.ts(979,23): error TS2304: Cannot find name 'window'. +tests/cases/conformance/fixSignatureCaching.ts(980,37): error TS2304: Cannot find name 'window'. + + +==== tests/cases/conformance/fixSignatureCaching.ts (73 errors) ==== + // Repro from #10697 + + (function (define, undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + define(function () { + ~~~~~~~~~~~~~~~~~~~~ + 'use strict'; + ~~~~~~~~~~~~~~~~~ + + + var impl = {}; + ~~~~~~~~~~~~~~~~~~ + + + impl.mobileDetectRules = { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + "phones": { + ~~~~~~~~~~~~~~~ + "iPhone": "\\biPhone\\b|\\biPod\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Asus": "Asus.*Galaxy|PadFone.*Mobile", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NokiaLumia": "Lumia [0-9]{3,4}", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Palm": "PalmSource|Palm", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Alcatel": "Alcatel", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Nintendo": "Nintendo 3DS", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Amoi": "Amoi", + ~~~~~~~~~~~~~~~~~~~~~~~ + "INQ": "INQ", + ~~~~~~~~~~~~~~~~~~~~~ + "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~ + "tablets": { + ~~~~~~~~~~~~~~~~ + "iPad": "iPad|iPad.*Mobile", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerryTablet": "PlayBook|RIM Tablet", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IRUTablet": "M702pro", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NokiaLumiaTablet": "Lumia 2520", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "FlyTablet": "IQ310|Fly Vision", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NecTablet": "\\bN-06D|\\bN-08D", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PantechTablet": "Pantech.*P4100", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NabiTablet": "Android.*\\bNabi", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PlaystationTablet": "Playstation.*(Portable|Vita)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "GalapadTablet": "Android.*\\bG1\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DPSTablet": "DPS Dream 9|DPS Dual 7", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iMobileTablet": "i-mobile i-note", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TolinoTablet": "tolino tab [0-9.]+|tolino shine", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AMPETablet": "Android.* A78 ", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TecnoTablet": "TECNO P9", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "FX2Tablet": "FX2 PAD7|FX2 PAD10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CaptivaTablet": "CAPTIVA PAD", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "JaytechTablet": "TPC-PA762", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "UbislateTablet": "UbiSlate[\\s]?7C", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PocketBookTablet": "Pocketbook", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "KocasoTablet": "\\b(TB-1207)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Hudl": "Hudl HT7S3|Hudl 2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TelstraTablet": "T-Hub2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~ + "oss": { + ~~~~~~~~~~~~ + "AndroidOS": "Android", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MeeGoOS": "MeeGo", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MaemoOS": "Maemo", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "webOS": "webOS|hpwOS", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "badaOS": "\\bBada\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BREWOS": "BREW" + ~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~ + "uas": { + ~~~~~~~~~~~~ + "Vivaldi": "Vivaldi", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Dolfin": "\\bDolfin\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Skyfire": "Skyfire", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Edge": "Mobile Safari\/[.0-9]* Edge", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IE": "IEMobile|MSIEMobile", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Bolt": "bolt", + ~~~~~~~~~~~~~~~~~~~~~~~ + "TeaShark": "teashark", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Blazer": "Blazer", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Tizen": "Tizen", + ~~~~~~~~~~~~~~~~~~~~~~~~~ + "UCBrowser": "UC.*Browser|UCWEB", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "baiduboxapp": "baiduboxapp", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "baidubrowser": "baidubrowser", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DiigoBrowser": "DiigoBrowser", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Puffin": "Puffin", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Mercury": "\\bMercury\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "ObigoBrowser": "Obigo", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NetFront": "NF-Browser", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~ + "props": { + ~~~~~~~~~~~~~~ + "Mobile": "Mobile\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Build": "Build\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Version": "Version\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "VendorID": "VendorID\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iPad": "iPad.*CPU[a-z ]+[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iPhone": "iPhone.*CPU[a-z ]+[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iPod": "iPod.*CPU[a-z ]+[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Kindle": "Kindle\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Chrome": [ + ~~~~~~~~~~~~~~~~~~~ + "Chrome\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CriOS\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "CrMo\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "Coast": [ + ~~~~~~~~~~~~~~~~~~ + "Coast\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "Dolfin": "Dolfin\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Firefox": "Firefox\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Fennec": "Fennec\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Edge": "Edge\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IE": [ + ~~~~~~~~~~~~~~~ + "IEMobile\/[VER];", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "IEMobile [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MSIE [VER];", + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Trident\/[0-9.]+;.*rv:[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "NetFront": "NetFront\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "NokiaBrowser": "NokiaBrowser\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Opera": [ + ~~~~~~~~~~~~~~~~~~ + " OPR\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Opera Mini\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Version\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "Opera Mini": "Opera Mini\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Opera Mobi": "Version\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "UC Browser": "UC Browser[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MQQBrowser": "MQQBrowser\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MicroMessenger": "MicroMessenger\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "baiduboxapp": "baiduboxapp\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "baidubrowser": "baidubrowser\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Iron": "Iron\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Safari": [ + ~~~~~~~~~~~~~~~~~~~ + "Version\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Safari\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "Skyfire": "Skyfire\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Tizen": "Tizen\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Webkit": "webkit[ \/][VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "PaleMoon": "PaleMoon\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Gecko": "Gecko\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Trident": "Trident\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Presto": "Presto\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Goanna": "Goanna\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "iOS": " \\bi?OS\\b [VER][ ;]{1}", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Android": "Android [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerry": [ + ~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerry[\\w]+\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "BlackBerry.*Version\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Version\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "BREW": "BREW [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Java": "Java\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Windows Phone OS": [ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Windows Phone OS [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Windows Phone [VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "Windows Phone": "Windows Phone [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Windows CE": "Windows CE\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Windows NT": "Windows NT [VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Symbian": [ + ~~~~~~~~~~~~~~~~~~~~ + "SymbianOS\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Symbian\/[VER]" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ], + ~~~~~~~~~~ + "webOS": [ + ~~~~~~~~~~~~~~~~~~ + "webOS\/[VER]", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "hpwOS\/[VER];" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ] + ~~~~~~~~~ + }, + ~~~~~~ + "utils": { + ~~~~~~~~~~~~~~ + "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "DesktopMode": "WPDesktop", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "TV": "SonyDTV|HbbTV", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "WebKit": "(webkit)[ \/]([\\w.]+)", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + "Watch": "SM-V700" + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~ + }; + ~~ + + + // following patterns come from http://detectmobilebrowsers.com/ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + impl.detectMobileBrowsers = { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. + fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + tabletPattern: /android|ipad|playbook|silk/i + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + var hasOwnProp = Object.prototype.hasOwnProperty, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + isArray; + ~~~~~~~~~~~~~~~~ + + + impl.FALLBACK_PHONE = 'UnknownPhone'; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_PHONE' does not exist on type '{}'. + impl.FALLBACK_TABLET = 'UnknownTablet'; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. + impl.FALLBACK_MOBILE = 'UnknownMobile'; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_MOBILE' does not exist on type '{}'. + + + isArray = ('isArray' in Array) ? + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + function equalIC(a, b) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return a != null && b != null && a.toLowerCase() === b.toLowerCase(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~ + + + function containsIC(array, value) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + var valueLC, i, len = array.length; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (!len || !value) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return false; + ~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + valueLC = value.toLowerCase(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + for (i = 0; i < len; ++i) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (valueLC === array[i].toLowerCase()) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return true; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + return false; + ~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~ + + + function convertPropsToRegExp(object) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + for (var key in object) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (hasOwnProp.call(object, key)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + object[key] = new RegExp(object[key], 'i'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + } + ~~~~~ + + + (function init() { + ~~~~~~~~~~~~~~~~~~~~~~ + var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + for (key in mobileDetectRules.props) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (hasOwnProp.call(mobileDetectRules.props, key)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + values = mobileDetectRules.props[key]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (!isArray(values)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + values = [values]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~ + len = values.length; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + for (i = 0; i < len; ++i) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + value = values[i]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + verPos = value.indexOf('[VER]'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (verPos >= 0) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + value = value.substring(0, verPos) + '([\\w._\\+]+)' + value.substring(verPos + 5); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~~~~~ + values[i] = new RegExp(value, 'i'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~ + mobileDetectRules.props[key] = values; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + convertPropsToRegExp(mobileDetectRules.oss); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + convertPropsToRegExp(mobileDetectRules.phones); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + convertPropsToRegExp(mobileDetectRules.tablets); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + convertPropsToRegExp(mobileDetectRules.uas); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + convertPropsToRegExp(mobileDetectRules.utils); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // copy some patterns to oss0 which are tested first (see issue#15) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mobileDetectRules.oss0 = { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~~~~~ + }()); + ~~~~~~~~~ + + + /** + ~~~~~~~ + * Test userAgent string against a set of rules and find the first matched key. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {Object} rules (key is String, value is RegExp) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @returns {String|null} the matched key if found, otherwise null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @private + ~~~~~~~~~~~~~~~ + */ + ~~~~~~~ + impl.findMatch = function(rules, userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + for (var key in rules) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (hasOwnProp.call(rules, key)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (rules[key].test(userAgent)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return key; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + return null; + ~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + /** + ~~~~~~~ + * Test userAgent string against a set of rules and return an array of matched keys. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {Object} rules (key is String, value is RegExp) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @returns {Array} an array of matched keys, may be empty when there is no match, but not null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @private + ~~~~~~~~~~~~~~~ + */ + ~~~~~~~ + impl.findMatches = function(rules, userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~ +!!! error TS2339: Property 'findMatches' does not exist on type '{}'. + var result = []; + ~~~~~~~~~~~~~~~~~~~~~~~~ + for (var key in rules) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (hasOwnProp.call(rules, key)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (rules[key].test(userAgent)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + result.push(key); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + return result; + ~~~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + /** + ~~~~~~~ + * Check the version of the given property in the User-Agent. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~ + * @param {String} propertyName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {String} userAgent + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @return {String} version or null if version not found + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @private + ~~~~~~~~~~~~~~~ + */ + ~~~~~~~ + impl.getVersionStr = function (propertyName, userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~ +!!! error TS2339: Property 'getVersionStr' does not exist on type '{}'. + var props = impl.mobileDetectRules.props, patterns, i, len, match; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + if (hasOwnProp.call(props, propertyName)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + patterns = props[propertyName]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + len = patterns.length; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + for (i = 0; i < len; ++i) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + match = patterns[i].exec(userAgent); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (match !== null) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return match[1]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } + ~~~~~~~~~ + return null; + ~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + /** + ~~~~~~~ + * Check the version of the given property in the User-Agent. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~ + * @param {String} propertyName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {String} userAgent + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @return {Number} version or NaN if version not found + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @private + ~~~~~~~~~~~~~~~ + */ + ~~~~~~~ + impl.getVersion = function (propertyName, userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~ +!!! error TS2339: Property 'getVersion' does not exist on type '{}'. + var version = impl.getVersionStr(propertyName, userAgent); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~ +!!! error TS2339: Property 'getVersionStr' does not exist on type '{}'. + return version ? impl.prepareVersionNo(version) : NaN; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareVersionNo' does not exist on type '{}'. + }; + ~~~~~~ + + + /** + ~~~~~~~ + * Prepare the version number. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~ + * @param {String} version + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @return {Number} the version number as a floating number + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @private + ~~~~~~~~~~~~~~~ + */ + ~~~~~~~ + impl.prepareVersionNo = function (version) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareVersionNo' does not exist on type '{}'. + var numbers; + ~~~~~~~~~~~~~~~~~~~~ + + + numbers = version.split(/[a-z._ \/\-]/i); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (numbers.length === 1) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + version = numbers[0]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + if (numbers.length > 1) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + version = numbers[0] + '.'; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + numbers.shift(); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + version += numbers.join(''); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + return Number(version); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + impl.isMobileFallback = function (userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'isMobileFallback' does not exist on type '{}'. + return impl.detectMobileBrowsers.fullPattern.test(userAgent) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. + impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4)); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. + }; + ~~~~~~ + + + impl.isTabletFallback = function (userAgent) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'isTabletFallback' does not exist on type '{}'. + return impl.detectMobileBrowsers.tabletPattern.test(userAgent); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'detectMobileBrowsers' does not exist on type '{}'. + }; + ~~~~~~ + + + impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. + if (cache.mobile !== undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return; + ~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + var phone, tablet, phoneSized; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // first check for stronger tablet rules, then phone (see issue#5) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + if (tablet) { + ~~~~~~~~~~~~~~~~~~~~~ + cache.mobile = cache.tablet = tablet; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cache.phone = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return; // unambiguously identified as tablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + + + phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + if (phone) { + ~~~~~~~~~~~~~~~~~~~~ + cache.mobile = cache.phone = phone; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cache.tablet = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return; // unambiguously identified as phone + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + + + // our rules haven't found a match -> try more general fallback rules + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (impl.isMobileFallback(userAgent)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'isMobileFallback' does not exist on type '{}'. + phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~ +!!! error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + if (phoneSized === undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cache.mobile = impl.FALLBACK_MOBILE; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_MOBILE' does not exist on type '{}'. + cache.tablet = cache.phone = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } else if (phoneSized) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cache.mobile = cache.phone = impl.FALLBACK_PHONE; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_PHONE' does not exist on type '{}'. + cache.tablet = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } else { + ~~~~~~~~~~~~~~~~~~~~ + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. + cache.phone = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + } else if (impl.isTabletFallback(userAgent)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'isTabletFallback' does not exist on type '{}'. + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'FALLBACK_TABLET' does not exist on type '{}'. + cache.phone = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } else { + ~~~~~~~~~~~~~~~~ + // not mobile at all! + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + cache.mobile = cache.tablet = cache.phone = null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + }; + ~~~~~~ + + + // t is a reference to a MobileDetect instance + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + impl.mobileGrade = function (t) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~ +!!! error TS2339: Property 'mobileGrade' does not exist on type '{}'. + // impl note: + ~~~~~~~~~~~~~~~~~~~~~ + // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // When changes are made in Mobile_Detect.php, copy this method and replace: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // $this-> / t. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // self::MOBILE_GRADE_(.) / '$1' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // , self::VERSION_TYPE_FLOAT / (nothing) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // isIOS() / os('iOS') + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + var $isMobile = t.mobile() !== null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + if ( + ~~~~~~~~~~~~ + // Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.os('iOS') && t.version('iPad')>=4.3 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.os('iOS') && t.version('iPhone')>=3.1 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.os('iOS') && t.version('iPod')>=3.1 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.version('Android')>2.1 && t.is('Webkit') ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Windows Phone OS')>=7.0 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Blackberry 7 - Tested on BlackBerry Torch 9810 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('BlackBerry') && t.version('BlackBerry')>=6.0 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Blackberry Playbook (1.0-2.0) - Tested on PlayBook + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.match('Playbook.*Tablet') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Palm WebOS 3.0 - Tested on HP TouchPad + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.match('hp.*TouchPad') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Firefox Mobile (12 Beta) - Tested on Android 2.3 device + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.is('Firefox') && t.version('Firefox')>=12 ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Chrome for Android - Tested on Android 4.0, 4.1 device + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Skyfire 4.1 - Tested on Android 2.3 device + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Opera Mobile 11.5-12: Tested on Android 2.3 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Meego 1.2 - Tested on Nokia 950 and N9 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('MeeGoOS') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Tizen (pre-release) - Tested on early hardware + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('Tizen') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // @todo: more tests here! + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('Dolfin') && t.version('Bada')>=2.0 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // UC Browser - Tested on Android 2.3 device + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Kindle 3 and Fire - Tested on the built-in WebKit browser for each + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.match('Kindle Fire') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('Kindle') && t.version('Kindle')>=3.0 ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('AndroidOS') && t.is('NookTablet') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Chrome')>=11 && !$isMobile || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Safari')>=5.0 && !$isMobile || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Firefox')>=4.0 && !$isMobile || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('MSIE')>=7.0 && !$isMobile || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // @reference: http://my.opera.com/community/openweb/idopera/ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Opera')>=10 && !$isMobile + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + ){ + ~~~~~~~~~~~~~~ + return 'A'; + ~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + + + if ( + ~~~~~~~~~~~~ + t.os('iOS') && t.version('iPad')<4.3 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.os('iOS') && t.version('iPhone')<3.1 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.os('iOS') && t.version('iPod')<3.1 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 && + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + (t.version('Android')>=2.3 || t.is('iOS')) ) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + // @todo: report this (tested on Nokia N71) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('Opera Mobi')>=11 && t.is('SymbianOS') + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ){ + ~~~~~~~~~~~~~~ + return 'B'; + ~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + + + if ( + ~~~~~~~~~~~~ + // Blackberry 4.x - Tested on the Curve 8330 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.version('BlackBerry')<5.0 || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Windows Mobile - Tested on the HTC Leo (WinMo 5.2) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + ){ + ~~~~~~~~~~~~~~ + return 'C'; + ~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + + + //All older smartphone platforms and featurephones - Any device that doesn't support media queries + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + //will receive the basic, C grade experience. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return 'C'; + ~~~~~~~~~~~~~~~~~~~ + }; + ~~~~~~ + + + impl.detectOS = function (ua) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~ +!!! error TS2339: Property 'detectOS' does not exist on type '{}'. + return impl.findMatch(impl.mobileDetectRules.oss0, ua) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + impl.findMatch(impl.mobileDetectRules.oss, ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + }; + ~~~~~~ + + + impl.getDeviceSmallerSide = function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'getDeviceSmallerSide' does not exist on type '{}'. + return window.screen.width < window.screen.height ? + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + window.screen.width : + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + window.screen.height; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + }; + ~~~~~~ + + + /** + ~~~~~~~ + * Constructor for MobileDetect object. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~ + * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~ + * + ~~~~~~ + * @example
+    ~~~~~~~~~~~~~~~~~~~~~
+         *     var md = new MobileDetect(window.navigator.userAgent);
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         *     if (md.mobile()) {
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         *         location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         *     }
+    ~~~~~~~~~~~~
+         * 
+ ~~~~~~~~~~~~~ + * + ~~~~~~ + * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent'] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {number} [maxPhoneWidth=600] only for browsers specify a value for the maximum + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * width of smallest device side (in logical "CSS" pixels) until a device detected as mobile will be handled + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * as phone. + ~~~~~~~~~~~~~~~~~~~~~~~ + * This is only used in cases where the device cannot be classified as phone or tablet.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * See Declaring Tablet Layouts + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * for Android.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * If you provide a value < 0, then this "fuzzy" check is disabled. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @constructor + ~~~~~~~~~~~~~~~~~~~ + * @global + ~~~~~~~~~~~~~~ + */ + ~~~~~~~ + function MobileDetect(userAgent, maxPhoneWidth) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this.ua = userAgent || ''; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this._cache = {}; + ~~~~~~~~~~~~~~~~~~~~~~~~~ + //600dp is typical 7" tablet minimum width + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this.maxPhoneWidth = maxPhoneWidth || 600; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~ + + + MobileDetect.prototype = { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + constructor: MobileDetect, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the detected phone or tablet type or null if it is not a mobile device. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * the patterns of detectmobilebrowsers.com. If this test + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * is positive, a value of UnknownPhone, UnknownTablet or + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * UnknownMobile is returned.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * and UnknownMobile, so you will get UnknownMobile here.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * In most cases you will use the return value just as a boolean. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the key for the phone family or tablet family, e.g. "Nexus". + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#mobile + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + mobile: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. + return this._cache.mobile; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the detected phone type/family string or null. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * The returned tablet (family or producer) is one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
iPhone, BlackBerry, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile, SimValley, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Wolfgang, Alcatel, Nintendo, Amoi, INQ, GenericPhone
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * the patterns of detectmobilebrowsers.com. If this test + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * is positive, a value of UnknownPhone or UnknownMobile is returned.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * will return UnknownMobile.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * In most cases you will use the return value just as a boolean. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the key of the phone family or producer, e.g. "iPhone" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#phone + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + phone: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. + return this._cache.phone; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the detected tablet type/family string or null. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * The returned tablet (family or producer) is one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
iPad, NexusTablet, SamsungTablet, Kindle, SurfaceTablet, HPTablet, AsusTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet, AcerTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet, LenovoTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * DellTablet, YarvikTablet, MedionTablet, ArnovaTablet, IntensoTablet, IRUTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * MegafonTablet, EbodaTablet, AllViewTablet, ArchosTablet, AinolTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * NokiaLumiaTablet, SonyTablet, PhilipsTablet, CubeTablet, CobyTablet, MIDTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * MSITablet, SMiTTablet, RockChipTablet, FlyTablet, bqTablet, HuaweiTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * NecTablet, PantechTablet, BronchoTablet, VersusTablet, ZyncTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * PositivoTablet, NabiTablet, KoboTablet, DanewTablet, TexetTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet, OndaTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet, LavaTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MiTablet, NibiruTablet, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * NexoTablet, LeaderTablet, UbislateTablet, PocketBookTablet, KocasoTablet, Hudl, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * TelstraTablet, GenericTablet
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * the patterns of detectmobilebrowsers.com. If this test + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * is positive, a value of UnknownTablet or UnknownMobile is returned.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * will return UnknownMobile.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * In most cases you will use the return value just as a boolean. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the key of the tablet family or producer, e.g. "SamsungTablet" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#tablet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + tablet: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'prepareDetectionCache' does not exist on type '{}'. + return this._cache.tablet; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the (first) detected user-agent string or null. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * The returned user-agent is one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * cases where a mobile device pretends to be more than one particular browser. You can get the + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the key for the detected user-agent or null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#userAgent + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + userAgent: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (this._cache.userAgent === undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~ +!!! error TS2339: Property 'findMatch' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + } + ~~~~~~~~~~~~~ + return this._cache.userAgent; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns all detected user-agent strings. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * The array is empty or contains one or more of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * cases where a mobile device pretends to be more than one particular browser. You can get the + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {Array} the array of detected user-agent keys or [] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#userAgents + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + userAgents: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (this._cache.userAgents === undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~ +!!! error TS2339: Property 'findMatches' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + } + ~~~~~~~~~~~~~ + return this._cache.userAgents; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the detected operating system string or null. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * The operating system is one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * iOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the key for the detected operating system. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#os + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + os: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~ + if (this._cache.os === undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this._cache.os = impl.detectOS(this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~ +!!! error TS2339: Property 'detectOS' does not exist on type '{}'. + } + ~~~~~~~~~~~~~ + return this._cache.os; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Get the version (as Number) of the given property in the User-Agent. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @param {String} key a key defining a thing which has a version.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * You can use one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * CE, Windows NT, Symbian, webOS
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {Number} the version as float or NaN if User-Agent doesn't contain this version. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Be careful when comparing this value with '==' operator! + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#version + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + version: function (key) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return impl.getVersion(key, this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~ +!!! error TS2339: Property 'getVersion' does not exist on type '{}'. + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Get the version (as String) of the given property in the User-Agent. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @param {String} key a key defining a thing which has a version.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * You can use one of following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * CE, Windows NT, Symbian, webOS
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} the "raw" version as String or null if User-Agent doesn't contain this version. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @function MobileDetect#versionStr + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + versionStr: function (key) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return impl.getVersionStr(key, this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~ +!!! error TS2339: Property 'getVersionStr' does not exist on type '{}'. + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * tablet family.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * For a complete list of possible values, see {@link MobileDetect#userAgent}, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Additionally you have following keys:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {boolean} true when the given key is one of the defined keys of userAgent, os, phone, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * tablet or one of the listed additional keys, otherwise false + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#is + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + is: function (key) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return containsIC(this.userAgents(), key) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + equalIC(key, this.os()) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + equalIC(key, this.phone()) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + equalIC(key, this.tablet()) || + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~ +!!! error TS2339: Property 'findMatches' does not exist on type '{}'. + ~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'mobileDetectRules' does not exist on type '{}'. + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Do a quick test against navigator::userAgent. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @param {String|RegExp} pattern the pattern, either as String or RegExp + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * (a string will be converted to a case-insensitive RegExp). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @returns {boolean} true when the pattern matches, otherwise false + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#match + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + match: function (pattern) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (!(pattern instanceof RegExp)) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + pattern = new RegExp(pattern, 'i'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~~~~~ + return pattern.test(this.ua); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Checks whether the mobile device can be considered as phone regarding screen.width. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + *
+ ~~~~~~~~~~~~~~~ + * Obviously this method makes sense in browser environments only (not for Node.js)! + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * The argument is optional and if not present or falsy, the value of the constructor is taken. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @returns {boolean|undefined} undefined if screen size wasn't detectable, else true + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * when screen.width is less or equal to maxPhoneWidth, otherwise false.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Will always return undefined server-side. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + isPhoneSized: function (maxPhoneWidth) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~ +!!! error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + }, + ~~~~~~~~~~ + + + /** + ~~~~~~~~~~~ + * Returns the mobile grade ('A', 'B', 'C'). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + ~~~~~~~~~~ + * @returns {String} one of the mobile grades ('A', 'B', 'C'). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * @function MobileDetect#mobileGrade + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + ~~~~~~~~~~~ + mobileGrade: function () { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (this._cache.grade === undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + this._cache.grade = impl.mobileGrade(this); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~ +!!! error TS2339: Property 'mobileGrade' does not exist on type '{}'. + } + ~~~~~~~~~~~~~ + return this._cache.grade; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~~~~~ + }; + ~~~~~~ + + + // environment-dependent + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (typeof window !== 'undefined' && window.screen) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + MobileDetect.isPhoneSized = function (maxPhoneWidth) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~ +!!! error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'getDeviceSmallerSide' does not exist on type '{}'. + }; + ~~~~~~~~~~ + } else { + ~~~~~~~~~~~~ + MobileDetect.isPhoneSized = function () {}; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~ +!!! error TS2339: Property 'isPhoneSized' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + } + ~~~~~ + + + // should not be replaced by a completely new object - just overwrite existing methods + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + MobileDetect._impl = impl; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~ +!!! error TS2339: Property '_impl' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + + ~~~~ + MobileDetect.version = '1.3.3 2016-07-31'; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~ +!!! error TS2339: Property 'version' does not exist on type '(userAgent: any, maxPhoneWidth: any) => void'. + + + return MobileDetect; + ~~~~~~~~~~~~~~~~~~~~~~~~ + }); // end of call of define() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + })((function (undefined) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~ + if (typeof module !== 'undefined' && module.exports) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'module'. + ~~~~~~ +!!! error TS2304: Cannot find name 'module'. + return function (factory) { module.exports = factory(); }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'module'. + } else if (typeof define === 'function' && define.amd) { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'define'. + ~~~~~~ +!!! error TS2304: Cannot find name 'define'. + return define; + ~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'define'. + } else if (typeof window !== 'undefined') { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + return function (factory) { window.MobileDetect = factory(); }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~ +!!! error TS2304: Cannot find name 'window'. + } else { + ~~~~~~~~~~~~ + ~~~~~~~~~~~~ + // please file a bug if you get this error! + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + throw new Error('unknown environment'); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } + ~~~~~ + ~~~~~ + })()); + ~~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. + ~~~~ +!!! error TS2346: Supplied parameters do not match any signature of call target. \ No newline at end of file diff --git a/tests/baselines/reference/fixSignatureCaching.js b/tests/baselines/reference/fixSignatureCaching.js new file mode 100644 index 00000000000..231c1308c55 --- /dev/null +++ b/tests/baselines/reference/fixSignatureCaching.js @@ -0,0 +1,1902 @@ +//// [fixSignatureCaching.ts] +// Repro from #10697 + +(function (define, undefined) { +define(function () { + 'use strict'; + + var impl = {}; + + impl.mobileDetectRules = { + "phones": { + "iPhone": "\\biPhone\\b|\\biPod\\b", + "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", + "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", + "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", + "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", + "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", + "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", + "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", + "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", + "Asus": "Asus.*Galaxy|PadFone.*Mobile", + "NokiaLumia": "Lumia [0-9]{3,4}", + "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", + "Palm": "PalmSource|Palm", + "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", + "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", + "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", + "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", + "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", + "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", + "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", + "Alcatel": "Alcatel", + "Nintendo": "Nintendo 3DS", + "Amoi": "Amoi", + "INQ": "INQ", + "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" + }, + "tablets": { + "iPad": "iPad|iPad.*Mobile", + "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", + "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", + "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", + "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", + "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", + "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", + "BlackBerryTablet": "PlayBook|RIM Tablet", + "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", + "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", + "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", + "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", + "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", + "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", + "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", + "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", + "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", + "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", + "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", + "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", + "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", + "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", + "IRUTablet": "M702pro", + "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", + "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", + "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", + "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", + "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", + "NokiaLumiaTablet": "Lumia 2520", + "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", + "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", + "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", + "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", + "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", + "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", + "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", + "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", + "FlyTablet": "IQ310|Fly Vision", + "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", + "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", + "NecTablet": "\\bN-06D|\\bN-08D", + "PantechTablet": "Pantech.*P4100", + "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", + "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", + "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", + "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", + "NabiTablet": "Android.*\\bNabi", + "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", + "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", + "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", + "PlaystationTablet": "Playstation.*(Portable|Vita)", + "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", + "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", + "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", + "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", + "GalapadTablet": "Android.*\\bG1\\b", + "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", + "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", + "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", + "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", + "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", + "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", + "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", + "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", + "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", + "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", + "DPSTablet": "DPS Dream 9|DPS Dual 7", + "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", + "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", + "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", + "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", + "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", + "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", + "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", + "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", + "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", + "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", + "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", + "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", + "iMobileTablet": "i-mobile i-note", + "TolinoTablet": "tolino tab [0-9.]+|tolino shine", + "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", + "AMPETablet": "Android.* A78 ", + "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", + "TecnoTablet": "TECNO P9", + "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", + "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", + "FX2Tablet": "FX2 PAD7|FX2 PAD10", + "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", + "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", + "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", + "CaptivaTablet": "CAPTIVA PAD", + "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", + "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", + "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", + "JaytechTablet": "TPC-PA762", + "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", + "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", + "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", + "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", + "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", + "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", + "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", + "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", + "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", + "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", + "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", + "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", + "UbislateTablet": "UbiSlate[\\s]?7C", + "PocketBookTablet": "Pocketbook", + "KocasoTablet": "\\b(TB-1207)\\b", + "Hudl": "Hudl HT7S3|Hudl 2", + "TelstraTablet": "T-Hub2", + "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" + }, + "oss": { + "AndroidOS": "Android", + "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", + "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", + "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", + "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", + "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", + "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", + "MeeGoOS": "MeeGo", + "MaemoOS": "Maemo", + "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", + "webOS": "webOS|hpwOS", + "badaOS": "\\bBada\\b", + "BREWOS": "BREW" + }, + "uas": { + "Vivaldi": "Vivaldi", + "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", + "Dolfin": "\\bDolfin\\b", + "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", + "Skyfire": "Skyfire", + "Edge": "Mobile Safari\/[.0-9]* Edge", + "IE": "IEMobile|MSIEMobile", + "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", + "Bolt": "bolt", + "TeaShark": "teashark", + "Blazer": "Blazer", + "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", + "Tizen": "Tizen", + "UCBrowser": "UC.*Browser|UCWEB", + "baiduboxapp": "baiduboxapp", + "baidubrowser": "baidubrowser", + "DiigoBrowser": "DiigoBrowser", + "Puffin": "Puffin", + "Mercury": "\\bMercury\\b", + "ObigoBrowser": "Obigo", + "NetFront": "NF-Browser", + "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", + "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" + }, + "props": { + "Mobile": "Mobile\/[VER]", + "Build": "Build\/[VER]", + "Version": "Version\/[VER]", + "VendorID": "VendorID\/[VER]", + "iPad": "iPad.*CPU[a-z ]+[VER]", + "iPhone": "iPhone.*CPU[a-z ]+[VER]", + "iPod": "iPod.*CPU[a-z ]+[VER]", + "Kindle": "Kindle\/[VER]", + "Chrome": [ + "Chrome\/[VER]", + "CriOS\/[VER]", + "CrMo\/[VER]" + ], + "Coast": [ + "Coast\/[VER]" + ], + "Dolfin": "Dolfin\/[VER]", + "Firefox": "Firefox\/[VER]", + "Fennec": "Fennec\/[VER]", + "Edge": "Edge\/[VER]", + "IE": [ + "IEMobile\/[VER];", + "IEMobile [VER]", + "MSIE [VER];", + "Trident\/[0-9.]+;.*rv:[VER]" + ], + "NetFront": "NetFront\/[VER]", + "NokiaBrowser": "NokiaBrowser\/[VER]", + "Opera": [ + " OPR\/[VER]", + "Opera Mini\/[VER]", + "Version\/[VER]" + ], + "Opera Mini": "Opera Mini\/[VER]", + "Opera Mobi": "Version\/[VER]", + "UC Browser": "UC Browser[VER]", + "MQQBrowser": "MQQBrowser\/[VER]", + "MicroMessenger": "MicroMessenger\/[VER]", + "baiduboxapp": "baiduboxapp\/[VER]", + "baidubrowser": "baidubrowser\/[VER]", + "Iron": "Iron\/[VER]", + "Safari": [ + "Version\/[VER]", + "Safari\/[VER]" + ], + "Skyfire": "Skyfire\/[VER]", + "Tizen": "Tizen\/[VER]", + "Webkit": "webkit[ \/][VER]", + "PaleMoon": "PaleMoon\/[VER]", + "Gecko": "Gecko\/[VER]", + "Trident": "Trident\/[VER]", + "Presto": "Presto\/[VER]", + "Goanna": "Goanna\/[VER]", + "iOS": " \\bi?OS\\b [VER][ ;]{1}", + "Android": "Android [VER]", + "BlackBerry": [ + "BlackBerry[\\w]+\/[VER]", + "BlackBerry.*Version\/[VER]", + "Version\/[VER]" + ], + "BREW": "BREW [VER]", + "Java": "Java\/[VER]", + "Windows Phone OS": [ + "Windows Phone OS [VER]", + "Windows Phone [VER]" + ], + "Windows Phone": "Windows Phone [VER]", + "Windows CE": "Windows CE\/[VER]", + "Windows NT": "Windows NT [VER]", + "Symbian": [ + "SymbianOS\/[VER]", + "Symbian\/[VER]" + ], + "webOS": [ + "webOS\/[VER]", + "hpwOS\/[VER];" + ] + }, + "utils": { + "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", + "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", + "DesktopMode": "WPDesktop", + "TV": "SonyDTV|HbbTV", + "WebKit": "(webkit)[ \/]([\\w.]+)", + "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", + "Watch": "SM-V700" + } +}; + + // following patterns come from http://detectmobilebrowsers.com/ + impl.detectMobileBrowsers = { + fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, + shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, + tabletPattern: /android|ipad|playbook|silk/i + }; + + var hasOwnProp = Object.prototype.hasOwnProperty, + isArray; + + impl.FALLBACK_PHONE = 'UnknownPhone'; + impl.FALLBACK_TABLET = 'UnknownTablet'; + impl.FALLBACK_MOBILE = 'UnknownMobile'; + + isArray = ('isArray' in Array) ? + Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; + + function equalIC(a, b) { + return a != null && b != null && a.toLowerCase() === b.toLowerCase(); + } + + function containsIC(array, value) { + var valueLC, i, len = array.length; + if (!len || !value) { + return false; + } + valueLC = value.toLowerCase(); + for (i = 0; i < len; ++i) { + if (valueLC === array[i].toLowerCase()) { + return true; + } + } + return false; + } + + function convertPropsToRegExp(object) { + for (var key in object) { + if (hasOwnProp.call(object, key)) { + object[key] = new RegExp(object[key], 'i'); + } + } + } + + (function init() { + var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules; + for (key in mobileDetectRules.props) { + if (hasOwnProp.call(mobileDetectRules.props, key)) { + values = mobileDetectRules.props[key]; + if (!isArray(values)) { + values = [values]; + } + len = values.length; + for (i = 0; i < len; ++i) { + value = values[i]; + verPos = value.indexOf('[VER]'); + if (verPos >= 0) { + value = value.substring(0, verPos) + '([\\w._\\+]+)' + value.substring(verPos + 5); + } + values[i] = new RegExp(value, 'i'); + } + mobileDetectRules.props[key] = values; + } + } + convertPropsToRegExp(mobileDetectRules.oss); + convertPropsToRegExp(mobileDetectRules.phones); + convertPropsToRegExp(mobileDetectRules.tablets); + convertPropsToRegExp(mobileDetectRules.uas); + convertPropsToRegExp(mobileDetectRules.utils); + + // copy some patterns to oss0 which are tested first (see issue#15) + mobileDetectRules.oss0 = { + WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS, + WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS + }; + }()); + + /** + * Test userAgent string against a set of rules and find the first matched key. + * @param {Object} rules (key is String, value is RegExp) + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + * @returns {String|null} the matched key if found, otherwise null + * @private + */ + impl.findMatch = function(rules, userAgent) { + for (var key in rules) { + if (hasOwnProp.call(rules, key)) { + if (rules[key].test(userAgent)) { + return key; + } + } + } + return null; + }; + + /** + * Test userAgent string against a set of rules and return an array of matched keys. + * @param {Object} rules (key is String, value is RegExp) + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + * @returns {Array} an array of matched keys, may be empty when there is no match, but not null + * @private + */ + impl.findMatches = function(rules, userAgent) { + var result = []; + for (var key in rules) { + if (hasOwnProp.call(rules, key)) { + if (rules[key].test(userAgent)) { + result.push(key); + } + } + } + return result; + }; + + /** + * Check the version of the given property in the User-Agent. + * + * @param {String} propertyName + * @param {String} userAgent + * @return {String} version or null if version not found + * @private + */ + impl.getVersionStr = function (propertyName, userAgent) { + var props = impl.mobileDetectRules.props, patterns, i, len, match; + if (hasOwnProp.call(props, propertyName)) { + patterns = props[propertyName]; + len = patterns.length; + for (i = 0; i < len; ++i) { + match = patterns[i].exec(userAgent); + if (match !== null) { + return match[1]; + } + } + } + return null; + }; + + /** + * Check the version of the given property in the User-Agent. + * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + * + * @param {String} propertyName + * @param {String} userAgent + * @return {Number} version or NaN if version not found + * @private + */ + impl.getVersion = function (propertyName, userAgent) { + var version = impl.getVersionStr(propertyName, userAgent); + return version ? impl.prepareVersionNo(version) : NaN; + }; + + /** + * Prepare the version number. + * + * @param {String} version + * @return {Number} the version number as a floating number + * @private + */ + impl.prepareVersionNo = function (version) { + var numbers; + + numbers = version.split(/[a-z._ \/\-]/i); + if (numbers.length === 1) { + version = numbers[0]; + } + if (numbers.length > 1) { + version = numbers[0] + '.'; + numbers.shift(); + version += numbers.join(''); + } + return Number(version); + }; + + impl.isMobileFallback = function (userAgent) { + return impl.detectMobileBrowsers.fullPattern.test(userAgent) || + impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4)); + }; + + impl.isTabletFallback = function (userAgent) { + return impl.detectMobileBrowsers.tabletPattern.test(userAgent); + }; + + impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) { + if (cache.mobile !== undefined) { + return; + } + var phone, tablet, phoneSized; + + // first check for stronger tablet rules, then phone (see issue#5) + tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent); + if (tablet) { + cache.mobile = cache.tablet = tablet; + cache.phone = null; + return; // unambiguously identified as tablet + } + + phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent); + if (phone) { + cache.mobile = cache.phone = phone; + cache.tablet = null; + return; // unambiguously identified as phone + } + + // our rules haven't found a match -> try more general fallback rules + if (impl.isMobileFallback(userAgent)) { + phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth); + if (phoneSized === undefined) { + cache.mobile = impl.FALLBACK_MOBILE; + cache.tablet = cache.phone = null; + } else if (phoneSized) { + cache.mobile = cache.phone = impl.FALLBACK_PHONE; + cache.tablet = null; + } else { + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + cache.phone = null; + } + } else if (impl.isTabletFallback(userAgent)) { + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + cache.phone = null; + } else { + // not mobile at all! + cache.mobile = cache.tablet = cache.phone = null; + } + }; + + // t is a reference to a MobileDetect instance + impl.mobileGrade = function (t) { + // impl note: + // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version. + // When changes are made in Mobile_Detect.php, copy this method and replace: + // $this-> / t. + // self::MOBILE_GRADE_(.) / '$1' + // , self::VERSION_TYPE_FLOAT / (nothing) + // isIOS() / os('iOS') + // [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE + var $isMobile = t.mobile() !== null; + + if ( + // Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1) + t.os('iOS') && t.version('iPad')>=4.3 || + t.os('iOS') && t.version('iPhone')>=3.1 || + t.os('iOS') && t.version('iPod')>=3.1 || + + // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5) + // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM + // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices + // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7 + ( t.version('Android')>2.1 && t.is('Webkit') ) || + + // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800 + t.version('Windows Phone OS')>=7.0 || + + // Blackberry 7 - Tested on BlackBerry Torch 9810 + // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670 + t.is('BlackBerry') && t.version('BlackBerry')>=6.0 || + // Blackberry Playbook (1.0-2.0) - Tested on PlayBook + t.match('Playbook.*Tablet') || + + // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0) + ( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) || + // Palm WebOS 3.0 - Tested on HP TouchPad + t.match('hp.*TouchPad') || + + // Firefox Mobile (12 Beta) - Tested on Android 2.3 device + ( t.is('Firefox') && t.version('Firefox')>=12 ) || + + // Chrome for Android - Tested on Android 4.0, 4.1 device + ( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) || + + // Skyfire 4.1 - Tested on Android 2.3 device + ( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) || + + // Opera Mobile 11.5-12: Tested on Android 2.3 + ( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) || + + // Meego 1.2 - Tested on Nokia 950 and N9 + t.is('MeeGoOS') || + + // Tizen (pre-release) - Tested on early hardware + t.is('Tizen') || + + // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser + // @todo: more tests here! + t.is('Dolfin') && t.version('Bada')>=2.0 || + + // UC Browser - Tested on Android 2.3 device + ( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) || + + // Kindle 3 and Fire - Tested on the built-in WebKit browser for each + ( t.match('Kindle Fire') || + t.is('Kindle') && t.version('Kindle')>=3.0 ) || + + // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet + t.is('AndroidOS') && t.is('NookTablet') || + + // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7 + t.version('Chrome')>=11 && !$isMobile || + + // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7 + t.version('Safari')>=5.0 && !$isMobile || + + // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7 + t.version('Firefox')>=4.0 && !$isMobile || + + // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7 + t.version('MSIE')>=7.0 && !$isMobile || + + // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7 + // @reference: http://my.opera.com/community/openweb/idopera/ + t.version('Opera')>=10 && !$isMobile + + ){ + return 'A'; + } + + if ( + t.os('iOS') && t.version('iPad')<4.3 || + t.os('iOS') && t.version('iPhone')<3.1 || + t.os('iOS') && t.version('iPod')<3.1 || + + // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770 + t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 || + + //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3 + ( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 && + (t.version('Android')>=2.3 || t.is('iOS')) ) || + + // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1) + t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') || + + // @todo: report this (tested on Nokia N71) + t.version('Opera Mobi')>=11 && t.is('SymbianOS') + ){ + return 'B'; + } + + if ( + // Blackberry 4.x - Tested on the Curve 8330 + t.version('BlackBerry')<5.0 || + // Windows Mobile - Tested on the HTC Leo (WinMo 5.2) + t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2 + + ){ + return 'C'; + } + + //All older smartphone platforms and featurephones - Any device that doesn't support media queries + //will receive the basic, C grade experience. + return 'C'; + }; + + impl.detectOS = function (ua) { + return impl.findMatch(impl.mobileDetectRules.oss0, ua) || + impl.findMatch(impl.mobileDetectRules.oss, ua); + }; + + impl.getDeviceSmallerSide = function () { + return window.screen.width < window.screen.height ? + window.screen.width : + window.screen.height; + }; + + /** + * Constructor for MobileDetect object. + *
+ * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.
+ *
+ * Find information how to download and install: + * github.com/hgoebl/mobile-detect.js/ + *
+ * + * @example
+     *     var md = new MobileDetect(window.navigator.userAgent);
+     *     if (md.mobile()) {
+     *         location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';
+     *     }
+     * 
+ * + * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent'] + * @param {number} [maxPhoneWidth=600] only for browsers specify a value for the maximum + * width of smallest device side (in logical "CSS" pixels) until a device detected as mobile will be handled + * as phone. + * This is only used in cases where the device cannot be classified as phone or tablet.
+ * See Declaring Tablet Layouts + * for Android.
+ * If you provide a value < 0, then this "fuzzy" check is disabled. + * @constructor + * @global + */ + function MobileDetect(userAgent, maxPhoneWidth) { + this.ua = userAgent || ''; + this._cache = {}; + //600dp is typical 7" tablet minimum width + this.maxPhoneWidth = maxPhoneWidth || 600; + } + + MobileDetect.prototype = { + constructor: MobileDetect, + + /** + * Returns the detected phone or tablet type or null if it is not a mobile device. + *
+ * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownPhone, UnknownTablet or + * UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get UnknownMobile here.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key for the phone family or tablet family, e.g. "Nexus". + * @function MobileDetect#mobile + */ + mobile: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.mobile; + }, + + /** + * Returns the detected phone type/family string or null. + *
+ * The returned tablet (family or producer) is one of following keys:
+ *
iPhone, BlackBerry, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus, + * NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile, SimValley, + * Wolfgang, Alcatel, Nintendo, Amoi, INQ, GenericPhone
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownPhone or UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + * will return UnknownMobile.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key of the phone family or producer, e.g. "iPhone" + * @function MobileDetect#phone + */ + phone: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.phone; + }, + + /** + * Returns the detected tablet type/family string or null. + *
+ * The returned tablet (family or producer) is one of following keys:
+ *
iPad, NexusTablet, SamsungTablet, Kindle, SurfaceTablet, HPTablet, AsusTablet, + * BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet, AcerTablet, + * ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet, LenovoTablet, + * DellTablet, YarvikTablet, MedionTablet, ArnovaTablet, IntensoTablet, IRUTablet, + * MegafonTablet, EbodaTablet, AllViewTablet, ArchosTablet, AinolTablet, + * NokiaLumiaTablet, SonyTablet, PhilipsTablet, CubeTablet, CobyTablet, MIDTablet, + * MSITablet, SMiTTablet, RockChipTablet, FlyTablet, bqTablet, HuaweiTablet, + * NecTablet, PantechTablet, BronchoTablet, VersusTablet, ZyncTablet, + * PositivoTablet, NabiTablet, KoboTablet, DanewTablet, TexetTablet, + * PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet, + * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet, + * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet, + * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet, + * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet, + * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet, + * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet, + * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet, + * OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet, OndaTablet, + * JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet, LavaTablet, + * AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MiTablet, NibiruTablet, + * NexoTablet, LeaderTablet, UbislateTablet, PocketBookTablet, KocasoTablet, Hudl, + * TelstraTablet, GenericTablet
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownTablet or UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + * will return UnknownMobile.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key of the tablet family or producer, e.g. "SamsungTablet" + * @function MobileDetect#tablet + */ + tablet: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.tablet; + }, + + /** + * Returns the (first) detected user-agent string or null. + *
+ * The returned user-agent is one of following keys:
+ *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ *
+ * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + * cases where a mobile device pretends to be more than one particular browser. You can get the + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + * + * @returns {String} the key for the detected user-agent or null + * @function MobileDetect#userAgent + */ + userAgent: function () { + if (this._cache.userAgent === undefined) { + this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua); + } + return this._cache.userAgent; + }, + + /** + * Returns all detected user-agent strings. + *
+ * The array is empty or contains one or more of following keys:
+ *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ *
+ * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + * cases where a mobile device pretends to be more than one particular browser. You can get the + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + * + * @returns {Array} the array of detected user-agent keys or [] + * @function MobileDetect#userAgents + */ + userAgents: function () { + if (this._cache.userAgents === undefined) { + this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua); + } + return this._cache.userAgents; + }, + + /** + * Returns the detected operating system string or null. + *
+ * The operating system is one of following keys:
+ *
AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS, + * iOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS
+ * + * @returns {String} the key for the detected operating system. + * @function MobileDetect#os + */ + os: function () { + if (this._cache.os === undefined) { + this._cache.os = impl.detectOS(this.ua); + } + return this._cache.os; + }, + + /** + * Get the version (as Number) of the given property in the User-Agent. + *
+ * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + * + * @param {String} key a key defining a thing which has a version.
+ * You can use one of following keys:
+ *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + * CE, Windows NT, Symbian, webOS
+ * + * @returns {Number} the version as float or NaN if User-Agent doesn't contain this version. + * Be careful when comparing this value with '==' operator! + * @function MobileDetect#version + */ + version: function (key) { + return impl.getVersion(key, this.ua); + }, + + /** + * Get the version (as String) of the given property in the User-Agent. + *
+ * + * @param {String} key a key defining a thing which has a version.
+ * You can use one of following keys:
+ *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + * CE, Windows NT, Symbian, webOS
+ * + * @returns {String} the "raw" version as String or null if User-Agent doesn't contain this version. + * + * @function MobileDetect#versionStr + */ + versionStr: function (key) { + return impl.getVersionStr(key, this.ua); + }, + + /** + * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string. + * + * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or + * tablet family.
+ * For a complete list of possible values, see {@link MobileDetect#userAgent}, + * {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.
+ * Additionally you have following keys:
+ *
Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch
+ * + * @returns {boolean} true when the given key is one of the defined keys of userAgent, os, phone, + * tablet or one of the listed additional keys, otherwise false + * @function MobileDetect#is + */ + is: function (key) { + return containsIC(this.userAgents(), key) || + equalIC(key, this.os()) || + equalIC(key, this.phone()) || + equalIC(key, this.tablet()) || + containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key); + }, + + /** + * Do a quick test against navigator::userAgent. + * + * @param {String|RegExp} pattern the pattern, either as String or RegExp + * (a string will be converted to a case-insensitive RegExp). + * @returns {boolean} true when the pattern matches, otherwise false + * @function MobileDetect#match + */ + match: function (pattern) { + if (!(pattern instanceof RegExp)) { + pattern = new RegExp(pattern, 'i'); + } + return pattern.test(this.ua); + }, + + /** + * Checks whether the mobile device can be considered as phone regarding screen.width. + *
+ * Obviously this method makes sense in browser environments only (not for Node.js)! + * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.
+ * The argument is optional and if not present or falsy, the value of the constructor is taken. + * @returns {boolean|undefined} undefined if screen size wasn't detectable, else true + * when screen.width is less or equal to maxPhoneWidth, otherwise false.
+ * Will always return undefined server-side. + */ + isPhoneSized: function (maxPhoneWidth) { + return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth); + }, + + /** + * Returns the mobile grade ('A', 'B', 'C'). + * + * @returns {String} one of the mobile grades ('A', 'B', 'C'). + * @function MobileDetect#mobileGrade + */ + mobileGrade: function () { + if (this._cache.grade === undefined) { + this._cache.grade = impl.mobileGrade(this); + } + return this._cache.grade; + } + }; + + // environment-dependent + if (typeof window !== 'undefined' && window.screen) { + MobileDetect.isPhoneSized = function (maxPhoneWidth) { + return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth; + }; + } else { + MobileDetect.isPhoneSized = function () {}; + } + + // should not be replaced by a completely new object - just overwrite existing methods + MobileDetect._impl = impl; + + MobileDetect.version = '1.3.3 2016-07-31'; + + return MobileDetect; +}); // end of call of define() +})((function (undefined) { + if (typeof module !== 'undefined' && module.exports) { + return function (factory) { module.exports = factory(); }; + } else if (typeof define === 'function' && define.amd) { + return define; + } else if (typeof window !== 'undefined') { + return function (factory) { window.MobileDetect = factory(); }; + } else { + // please file a bug if you get this error! + throw new Error('unknown environment'); + } +})()); + +//// [fixSignatureCaching.js] +// Repro from #10697 +(function (define, undefined) { + define(function () { + 'use strict'; + var impl = {}; + impl.mobileDetectRules = { + "phones": { + "iPhone": "\\biPhone\\b|\\biPod\\b", + "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", + "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", + "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", + "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", + "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", + "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", + "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", + "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", + "Asus": "Asus.*Galaxy|PadFone.*Mobile", + "NokiaLumia": "Lumia [0-9]{3,4}", + "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", + "Palm": "PalmSource|Palm", + "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", + "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", + "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", + "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", + "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", + "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", + "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", + "Alcatel": "Alcatel", + "Nintendo": "Nintendo 3DS", + "Amoi": "Amoi", + "INQ": "INQ", + "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" + }, + "tablets": { + "iPad": "iPad|iPad.*Mobile", + "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", + "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", + "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", + "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", + "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", + "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", + "BlackBerryTablet": "PlayBook|RIM Tablet", + "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", + "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", + "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", + "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", + "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", + "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", + "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", + "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", + "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", + "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", + "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", + "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", + "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", + "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", + "IRUTablet": "M702pro", + "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", + "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", + "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", + "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", + "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", + "NokiaLumiaTablet": "Lumia 2520", + "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", + "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", + "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", + "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", + "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", + "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", + "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", + "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", + "FlyTablet": "IQ310|Fly Vision", + "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", + "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", + "NecTablet": "\\bN-06D|\\bN-08D", + "PantechTablet": "Pantech.*P4100", + "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", + "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", + "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", + "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", + "NabiTablet": "Android.*\\bNabi", + "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", + "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", + "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", + "PlaystationTablet": "Playstation.*(Portable|Vita)", + "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", + "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", + "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", + "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", + "GalapadTablet": "Android.*\\bG1\\b", + "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", + "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", + "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", + "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", + "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", + "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", + "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", + "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", + "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", + "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", + "DPSTablet": "DPS Dream 9|DPS Dual 7", + "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", + "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", + "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", + "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", + "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", + "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", + "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", + "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", + "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", + "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", + "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", + "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", + "iMobileTablet": "i-mobile i-note", + "TolinoTablet": "tolino tab [0-9.]+|tolino shine", + "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", + "AMPETablet": "Android.* A78 ", + "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", + "TecnoTablet": "TECNO P9", + "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", + "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", + "FX2Tablet": "FX2 PAD7|FX2 PAD10", + "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", + "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", + "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", + "CaptivaTablet": "CAPTIVA PAD", + "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", + "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", + "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", + "JaytechTablet": "TPC-PA762", + "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", + "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", + "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", + "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", + "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", + "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", + "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", + "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", + "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", + "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", + "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", + "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", + "UbislateTablet": "UbiSlate[\\s]?7C", + "PocketBookTablet": "Pocketbook", + "KocasoTablet": "\\b(TB-1207)\\b", + "Hudl": "Hudl HT7S3|Hudl 2", + "TelstraTablet": "T-Hub2", + "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" + }, + "oss": { + "AndroidOS": "Android", + "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", + "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", + "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", + "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", + "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", + "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", + "MeeGoOS": "MeeGo", + "MaemoOS": "Maemo", + "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", + "webOS": "webOS|hpwOS", + "badaOS": "\\bBada\\b", + "BREWOS": "BREW" + }, + "uas": { + "Vivaldi": "Vivaldi", + "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", + "Dolfin": "\\bDolfin\\b", + "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", + "Skyfire": "Skyfire", + "Edge": "Mobile Safari\/[.0-9]* Edge", + "IE": "IEMobile|MSIEMobile", + "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", + "Bolt": "bolt", + "TeaShark": "teashark", + "Blazer": "Blazer", + "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", + "Tizen": "Tizen", + "UCBrowser": "UC.*Browser|UCWEB", + "baiduboxapp": "baiduboxapp", + "baidubrowser": "baidubrowser", + "DiigoBrowser": "DiigoBrowser", + "Puffin": "Puffin", + "Mercury": "\\bMercury\\b", + "ObigoBrowser": "Obigo", + "NetFront": "NF-Browser", + "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", + "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" + }, + "props": { + "Mobile": "Mobile\/[VER]", + "Build": "Build\/[VER]", + "Version": "Version\/[VER]", + "VendorID": "VendorID\/[VER]", + "iPad": "iPad.*CPU[a-z ]+[VER]", + "iPhone": "iPhone.*CPU[a-z ]+[VER]", + "iPod": "iPod.*CPU[a-z ]+[VER]", + "Kindle": "Kindle\/[VER]", + "Chrome": [ + "Chrome\/[VER]", + "CriOS\/[VER]", + "CrMo\/[VER]" + ], + "Coast": [ + "Coast\/[VER]" + ], + "Dolfin": "Dolfin\/[VER]", + "Firefox": "Firefox\/[VER]", + "Fennec": "Fennec\/[VER]", + "Edge": "Edge\/[VER]", + "IE": [ + "IEMobile\/[VER];", + "IEMobile [VER]", + "MSIE [VER];", + "Trident\/[0-9.]+;.*rv:[VER]" + ], + "NetFront": "NetFront\/[VER]", + "NokiaBrowser": "NokiaBrowser\/[VER]", + "Opera": [ + " OPR\/[VER]", + "Opera Mini\/[VER]", + "Version\/[VER]" + ], + "Opera Mini": "Opera Mini\/[VER]", + "Opera Mobi": "Version\/[VER]", + "UC Browser": "UC Browser[VER]", + "MQQBrowser": "MQQBrowser\/[VER]", + "MicroMessenger": "MicroMessenger\/[VER]", + "baiduboxapp": "baiduboxapp\/[VER]", + "baidubrowser": "baidubrowser\/[VER]", + "Iron": "Iron\/[VER]", + "Safari": [ + "Version\/[VER]", + "Safari\/[VER]" + ], + "Skyfire": "Skyfire\/[VER]", + "Tizen": "Tizen\/[VER]", + "Webkit": "webkit[ \/][VER]", + "PaleMoon": "PaleMoon\/[VER]", + "Gecko": "Gecko\/[VER]", + "Trident": "Trident\/[VER]", + "Presto": "Presto\/[VER]", + "Goanna": "Goanna\/[VER]", + "iOS": " \\bi?OS\\b [VER][ ;]{1}", + "Android": "Android [VER]", + "BlackBerry": [ + "BlackBerry[\\w]+\/[VER]", + "BlackBerry.*Version\/[VER]", + "Version\/[VER]" + ], + "BREW": "BREW [VER]", + "Java": "Java\/[VER]", + "Windows Phone OS": [ + "Windows Phone OS [VER]", + "Windows Phone [VER]" + ], + "Windows Phone": "Windows Phone [VER]", + "Windows CE": "Windows CE\/[VER]", + "Windows NT": "Windows NT [VER]", + "Symbian": [ + "SymbianOS\/[VER]", + "Symbian\/[VER]" + ], + "webOS": [ + "webOS\/[VER]", + "hpwOS\/[VER];" + ] + }, + "utils": { + "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", + "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", + "DesktopMode": "WPDesktop", + "TV": "SonyDTV|HbbTV", + "WebKit": "(webkit)[ \/]([\\w.]+)", + "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", + "Watch": "SM-V700" + } + }; + // following patterns come from http://detectmobilebrowsers.com/ + impl.detectMobileBrowsers = { + fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, + shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, + tabletPattern: /android|ipad|playbook|silk/i + }; + var hasOwnProp = Object.prototype.hasOwnProperty, isArray; + impl.FALLBACK_PHONE = 'UnknownPhone'; + impl.FALLBACK_TABLET = 'UnknownTablet'; + impl.FALLBACK_MOBILE = 'UnknownMobile'; + isArray = ('isArray' in Array) ? + Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; + function equalIC(a, b) { + return a != null && b != null && a.toLowerCase() === b.toLowerCase(); + } + function containsIC(array, value) { + var valueLC, i, len = array.length; + if (!len || !value) { + return false; + } + valueLC = value.toLowerCase(); + for (i = 0; i < len; ++i) { + if (valueLC === array[i].toLowerCase()) { + return true; + } + } + return false; + } + function convertPropsToRegExp(object) { + for (var key in object) { + if (hasOwnProp.call(object, key)) { + object[key] = new RegExp(object[key], 'i'); + } + } + } + (function init() { + var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules; + for (key in mobileDetectRules.props) { + if (hasOwnProp.call(mobileDetectRules.props, key)) { + values = mobileDetectRules.props[key]; + if (!isArray(values)) { + values = [values]; + } + len = values.length; + for (i = 0; i < len; ++i) { + value = values[i]; + verPos = value.indexOf('[VER]'); + if (verPos >= 0) { + value = value.substring(0, verPos) + '([\\w._\\+]+)' + value.substring(verPos + 5); + } + values[i] = new RegExp(value, 'i'); + } + mobileDetectRules.props[key] = values; + } + } + convertPropsToRegExp(mobileDetectRules.oss); + convertPropsToRegExp(mobileDetectRules.phones); + convertPropsToRegExp(mobileDetectRules.tablets); + convertPropsToRegExp(mobileDetectRules.uas); + convertPropsToRegExp(mobileDetectRules.utils); + // copy some patterns to oss0 which are tested first (see issue#15) + mobileDetectRules.oss0 = { + WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS, + WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS + }; + }()); + /** + * Test userAgent string against a set of rules and find the first matched key. + * @param {Object} rules (key is String, value is RegExp) + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + * @returns {String|null} the matched key if found, otherwise null + * @private + */ + impl.findMatch = function (rules, userAgent) { + for (var key in rules) { + if (hasOwnProp.call(rules, key)) { + if (rules[key].test(userAgent)) { + return key; + } + } + } + return null; + }; + /** + * Test userAgent string against a set of rules and return an array of matched keys. + * @param {Object} rules (key is String, value is RegExp) + * @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent'). + * @returns {Array} an array of matched keys, may be empty when there is no match, but not null + * @private + */ + impl.findMatches = function (rules, userAgent) { + var result = []; + for (var key in rules) { + if (hasOwnProp.call(rules, key)) { + if (rules[key].test(userAgent)) { + result.push(key); + } + } + } + return result; + }; + /** + * Check the version of the given property in the User-Agent. + * + * @param {String} propertyName + * @param {String} userAgent + * @return {String} version or null if version not found + * @private + */ + impl.getVersionStr = function (propertyName, userAgent) { + var props = impl.mobileDetectRules.props, patterns, i, len, match; + if (hasOwnProp.call(props, propertyName)) { + patterns = props[propertyName]; + len = patterns.length; + for (i = 0; i < len; ++i) { + match = patterns[i].exec(userAgent); + if (match !== null) { + return match[1]; + } + } + } + return null; + }; + /** + * Check the version of the given property in the User-Agent. + * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + * + * @param {String} propertyName + * @param {String} userAgent + * @return {Number} version or NaN if version not found + * @private + */ + impl.getVersion = function (propertyName, userAgent) { + var version = impl.getVersionStr(propertyName, userAgent); + return version ? impl.prepareVersionNo(version) : NaN; + }; + /** + * Prepare the version number. + * + * @param {String} version + * @return {Number} the version number as a floating number + * @private + */ + impl.prepareVersionNo = function (version) { + var numbers; + numbers = version.split(/[a-z._ \/\-]/i); + if (numbers.length === 1) { + version = numbers[0]; + } + if (numbers.length > 1) { + version = numbers[0] + '.'; + numbers.shift(); + version += numbers.join(''); + } + return Number(version); + }; + impl.isMobileFallback = function (userAgent) { + return impl.detectMobileBrowsers.fullPattern.test(userAgent) || + impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0, 4)); + }; + impl.isTabletFallback = function (userAgent) { + return impl.detectMobileBrowsers.tabletPattern.test(userAgent); + }; + impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) { + if (cache.mobile !== undefined) { + return; + } + var phone, tablet, phoneSized; + // first check for stronger tablet rules, then phone (see issue#5) + tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent); + if (tablet) { + cache.mobile = cache.tablet = tablet; + cache.phone = null; + return; // unambiguously identified as tablet + } + phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent); + if (phone) { + cache.mobile = cache.phone = phone; + cache.tablet = null; + return; // unambiguously identified as phone + } + // our rules haven't found a match -> try more general fallback rules + if (impl.isMobileFallback(userAgent)) { + phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth); + if (phoneSized === undefined) { + cache.mobile = impl.FALLBACK_MOBILE; + cache.tablet = cache.phone = null; + } + else if (phoneSized) { + cache.mobile = cache.phone = impl.FALLBACK_PHONE; + cache.tablet = null; + } + else { + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + cache.phone = null; + } + } + else if (impl.isTabletFallback(userAgent)) { + cache.mobile = cache.tablet = impl.FALLBACK_TABLET; + cache.phone = null; + } + else { + // not mobile at all! + cache.mobile = cache.tablet = cache.phone = null; + } + }; + // t is a reference to a MobileDetect instance + impl.mobileGrade = function (t) { + // impl note: + // To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version. + // When changes are made in Mobile_Detect.php, copy this method and replace: + // $this-> / t. + // self::MOBILE_GRADE_(.) / '$1' + // , self::VERSION_TYPE_FLOAT / (nothing) + // isIOS() / os('iOS') + // [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE + var $isMobile = t.mobile() !== null; + if ( + // Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1) + t.os('iOS') && t.version('iPad') >= 4.3 || + t.os('iOS') && t.version('iPhone') >= 3.1 || + t.os('iOS') && t.version('iPod') >= 3.1 || + // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5) + // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM + // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices + // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7 + (t.version('Android') > 2.1 && t.is('Webkit')) || + // Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800 + t.version('Windows Phone OS') >= 7.0 || + // Blackberry 7 - Tested on BlackBerry Torch 9810 + // Blackberry 6.0 - Tested on the Torch 9800 and Style 9670 + t.is('BlackBerry') && t.version('BlackBerry') >= 6.0 || + // Blackberry Playbook (1.0-2.0) - Tested on PlayBook + t.match('Playbook.*Tablet') || + // Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0) + (t.version('webOS') >= 1.4 && t.match('Palm|Pre|Pixi')) || + // Palm WebOS 3.0 - Tested on HP TouchPad + t.match('hp.*TouchPad') || + // Firefox Mobile (12 Beta) - Tested on Android 2.3 device + (t.is('Firefox') && t.version('Firefox') >= 12) || + // Chrome for Android - Tested on Android 4.0, 4.1 device + (t.is('Chrome') && t.is('AndroidOS') && t.version('Android') >= 4.0) || + // Skyfire 4.1 - Tested on Android 2.3 device + (t.is('Skyfire') && t.version('Skyfire') >= 4.1 && t.is('AndroidOS') && t.version('Android') >= 2.3) || + // Opera Mobile 11.5-12: Tested on Android 2.3 + (t.is('Opera') && t.version('Opera Mobi') > 11 && t.is('AndroidOS')) || + // Meego 1.2 - Tested on Nokia 950 and N9 + t.is('MeeGoOS') || + // Tizen (pre-release) - Tested on early hardware + t.is('Tizen') || + // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser + // @todo: more tests here! + t.is('Dolfin') && t.version('Bada') >= 2.0 || + // UC Browser - Tested on Android 2.3 device + ((t.is('UC Browser') || t.is('Dolfin')) && t.version('Android') >= 2.3) || + // Kindle 3 and Fire - Tested on the built-in WebKit browser for each + (t.match('Kindle Fire') || + t.is('Kindle') && t.version('Kindle') >= 3.0) || + // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet + t.is('AndroidOS') && t.is('NookTablet') || + // Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7 + t.version('Chrome') >= 11 && !$isMobile || + // Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7 + t.version('Safari') >= 5.0 && !$isMobile || + // Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7 + t.version('Firefox') >= 4.0 && !$isMobile || + // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7 + t.version('MSIE') >= 7.0 && !$isMobile || + // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7 + // @reference: http://my.opera.com/community/openweb/idopera/ + t.version('Opera') >= 10 && !$isMobile) { + return 'A'; + } + if (t.os('iOS') && t.version('iPad') < 4.3 || + t.os('iOS') && t.version('iPhone') < 3.1 || + t.os('iOS') && t.version('iPod') < 3.1 || + // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770 + t.is('Blackberry') && t.version('BlackBerry') >= 5 && t.version('BlackBerry') < 6 || + //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3 + (t.version('Opera Mini') >= 5.0 && t.version('Opera Mini') <= 6.5 && + (t.version('Android') >= 2.3 || t.is('iOS'))) || + // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1) + t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') || + // @todo: report this (tested on Nokia N71) + t.version('Opera Mobi') >= 11 && t.is('SymbianOS')) { + return 'B'; + } + if ( + // Blackberry 4.x - Tested on the Curve 8330 + t.version('BlackBerry') < 5.0 || + // Windows Mobile - Tested on the HTC Leo (WinMo 5.2) + t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile') <= 5.2) { + return 'C'; + } + //All older smartphone platforms and featurephones - Any device that doesn't support media queries + //will receive the basic, C grade experience. + return 'C'; + }; + impl.detectOS = function (ua) { + return impl.findMatch(impl.mobileDetectRules.oss0, ua) || + impl.findMatch(impl.mobileDetectRules.oss, ua); + }; + impl.getDeviceSmallerSide = function () { + return window.screen.width < window.screen.height ? + window.screen.width : + window.screen.height; + }; + /** + * Constructor for MobileDetect object. + *
+ * Such an object will keep a reference to the given user-agent string and cache most of the detect queries.
+ *
+ * Find information how to download and install: + * github.com/hgoebl/mobile-detect.js/ + *
+ * + * @example
+         *     var md = new MobileDetect(window.navigator.userAgent);
+         *     if (md.mobile()) {
+         *         location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';
+         *     }
+         * 
+ * + * @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent'] + * @param {number} [maxPhoneWidth=600] only for browsers specify a value for the maximum + * width of smallest device side (in logical "CSS" pixels) until a device detected as mobile will be handled + * as phone. + * This is only used in cases where the device cannot be classified as phone or tablet.
+ * See Declaring Tablet Layouts + * for Android.
+ * If you provide a value < 0, then this "fuzzy" check is disabled. + * @constructor + * @global + */ + function MobileDetect(userAgent, maxPhoneWidth) { + this.ua = userAgent || ''; + this._cache = {}; + //600dp is typical 7" tablet minimum width + this.maxPhoneWidth = maxPhoneWidth || 600; + } + MobileDetect.prototype = { + constructor: MobileDetect, + /** + * Returns the detected phone or tablet type or null if it is not a mobile device. + *
+ * For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownPhone, UnknownTablet or + * UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get UnknownMobile here.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key for the phone family or tablet family, e.g. "Nexus". + * @function MobileDetect#mobile + */ + mobile: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.mobile; + }, + /** + * Returns the detected phone type/family string or null. + *
+ * The returned tablet (family or producer) is one of following keys:
+ *
iPhone, BlackBerry, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus, + * NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile, SimValley, + * Wolfgang, Alcatel, Nintendo, Amoi, INQ, GenericPhone
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownPhone or UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + * will return UnknownMobile.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key of the phone family or producer, e.g. "iPhone" + * @function MobileDetect#phone + */ + phone: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.phone; + }, + /** + * Returns the detected tablet type/family string or null. + *
+ * The returned tablet (family or producer) is one of following keys:
+ *
iPad, NexusTablet, SamsungTablet, Kindle, SurfaceTablet, HPTablet, AsusTablet, + * BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet, AcerTablet, + * ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet, LenovoTablet, + * DellTablet, YarvikTablet, MedionTablet, ArnovaTablet, IntensoTablet, IRUTablet, + * MegafonTablet, EbodaTablet, AllViewTablet, ArchosTablet, AinolTablet, + * NokiaLumiaTablet, SonyTablet, PhilipsTablet, CubeTablet, CobyTablet, MIDTablet, + * MSITablet, SMiTTablet, RockChipTablet, FlyTablet, bqTablet, HuaweiTablet, + * NecTablet, PantechTablet, BronchoTablet, VersusTablet, ZyncTablet, + * PositivoTablet, NabiTablet, KoboTablet, DanewTablet, TexetTablet, + * PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet, + * DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet, + * PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet, + * OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet, + * MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet, + * ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet, + * iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet, + * TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet, + * OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet, OndaTablet, + * JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet, LavaTablet, + * AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MiTablet, NibiruTablet, + * NexoTablet, LeaderTablet, UbislateTablet, PocketBookTablet, KocasoTablet, Hudl, + * TelstraTablet, GenericTablet
+ *
+ * If the device is not detected by the regular expressions from Mobile-Detect, a test is made against + * the patterns of detectmobilebrowsers.com. If this test + * is positive, a value of UnknownTablet or UnknownMobile is returned.
+ * When used in browser, the decision whether phone or tablet is made based on screen.width/height.
+ *
+ * When used server-side (node.js), there is no way to tell the difference between UnknownTablet + * and UnknownMobile, so you will get null here, while {@link MobileDetect#mobile} + * will return UnknownMobile.
+ * Be aware that since v1.0.0 in this special case you will get UnknownMobile only for: + * {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}. + * In versions before v1.0.0 all 3 methods returned UnknownMobile which was tedious to use. + *
+ * In most cases you will use the return value just as a boolean. + * + * @returns {String} the key of the tablet family or producer, e.g. "SamsungTablet" + * @function MobileDetect#tablet + */ + tablet: function () { + impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth); + return this._cache.tablet; + }, + /** + * Returns the (first) detected user-agent string or null. + *
+ * The returned user-agent is one of following keys:
+ *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ *
+ * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + * cases where a mobile device pretends to be more than one particular browser. You can get the + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + * + * @returns {String} the key for the detected user-agent or null + * @function MobileDetect#userAgent + */ + userAgent: function () { + if (this._cache.userAgent === undefined) { + this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua); + } + return this._cache.userAgent; + }, + /** + * Returns all detected user-agent strings. + *
+ * The array is empty or contains one or more of following keys:
+ *
Vivaldi, Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, + * Blazer, Safari, Tizen, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, + * Puffin, Mercury, ObigoBrowser, NetFront, GenericBrowser, PaleMoon
+ *
+ * In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare + * cases where a mobile device pretends to be more than one particular browser. You can get the + * list of all matches with {@link MobileDetect#userAgents} or check for a particular value by + * providing one of the defined keys as first argument to {@link MobileDetect#is}. + * + * @returns {Array} the array of detected user-agent keys or [] + * @function MobileDetect#userAgents + */ + userAgents: function () { + if (this._cache.userAgents === undefined) { + this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua); + } + return this._cache.userAgents; + }, + /** + * Returns the detected operating system string or null. + *
+ * The operating system is one of following keys:
+ *
AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS, + * iOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS
+ * + * @returns {String} the key for the detected operating system. + * @function MobileDetect#os + */ + os: function () { + if (this._cache.os === undefined) { + this._cache.os = impl.detectOS(this.ua); + } + return this._cache.os; + }, + /** + * Get the version (as Number) of the given property in the User-Agent. + *
+ * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) + * + * @param {String} key a key defining a thing which has a version.
+ * You can use one of following keys:
+ *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + * CE, Windows NT, Symbian, webOS
+ * + * @returns {Number} the version as float or NaN if User-Agent doesn't contain this version. + * Be careful when comparing this value with '==' operator! + * @function MobileDetect#version + */ + version: function (key) { + return impl.getVersion(key, this.ua); + }, + /** + * Get the version (as String) of the given property in the User-Agent. + *
+ * + * @param {String} key a key defining a thing which has a version.
+ * You can use one of following keys:
+ *
Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast, + * Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini, + * Opera Mobi, UC Browser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser, + * Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon, Gecko, Trident, Presto, Goanna, + * iOS, Android, BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows + * CE, Windows NT, Symbian, webOS
+ * + * @returns {String} the "raw" version as String or null if User-Agent doesn't contain this version. + * + * @function MobileDetect#versionStr + */ + versionStr: function (key) { + return impl.getVersionStr(key, this.ua); + }, + /** + * Global test key against userAgent, os, phone, tablet and some other properties of userAgent string. + * + * @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or + * tablet family.
+ * For a complete list of possible values, see {@link MobileDetect#userAgent}, + * {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.
+ * Additionally you have following keys:
+ *
Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch
+ * + * @returns {boolean} true when the given key is one of the defined keys of userAgent, os, phone, + * tablet or one of the listed additional keys, otherwise false + * @function MobileDetect#is + */ + is: function (key) { + return containsIC(this.userAgents(), key) || + equalIC(key, this.os()) || + equalIC(key, this.phone()) || + equalIC(key, this.tablet()) || + containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key); + }, + /** + * Do a quick test against navigator::userAgent. + * + * @param {String|RegExp} pattern the pattern, either as String or RegExp + * (a string will be converted to a case-insensitive RegExp). + * @returns {boolean} true when the pattern matches, otherwise false + * @function MobileDetect#match + */ + match: function (pattern) { + if (!(pattern instanceof RegExp)) { + pattern = new RegExp(pattern, 'i'); + } + return pattern.test(this.ua); + }, + /** + * Checks whether the mobile device can be considered as phone regarding screen.width. + *
+ * Obviously this method makes sense in browser environments only (not for Node.js)! + * @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.
+ * The argument is optional and if not present or falsy, the value of the constructor is taken. + * @returns {boolean|undefined} undefined if screen size wasn't detectable, else true + * when screen.width is less or equal to maxPhoneWidth, otherwise false.
+ * Will always return undefined server-side. + */ + isPhoneSized: function (maxPhoneWidth) { + return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth); + }, + /** + * Returns the mobile grade ('A', 'B', 'C'). + * + * @returns {String} one of the mobile grades ('A', 'B', 'C'). + * @function MobileDetect#mobileGrade + */ + mobileGrade: function () { + if (this._cache.grade === undefined) { + this._cache.grade = impl.mobileGrade(this); + } + return this._cache.grade; + } + }; + // environment-dependent + if (typeof window !== 'undefined' && window.screen) { + MobileDetect.isPhoneSized = function (maxPhoneWidth) { + return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth; + }; + } + else { + MobileDetect.isPhoneSized = function () { }; + } + // should not be replaced by a completely new object - just overwrite existing methods + MobileDetect._impl = impl; + MobileDetect.version = '1.3.3 2016-07-31'; + return MobileDetect; + }); // end of call of define() +})((function (undefined) { + if (typeof module !== 'undefined' && module.exports) { + return function (factory) { module.exports = factory(); }; + } + else if (typeof define === 'function' && define.amd) { + return define; + } + else if (typeof window !== 'undefined') { + return function (factory) { window.MobileDetect = factory(); }; + } + else { + // please file a bug if you get this error! + throw new Error('unknown environment'); + } +})()); diff --git a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.errors.txt b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.errors.txt index 3666c89a0ed..e1cde0c1632 100644 --- a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.errors.txt +++ b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/fixTypeParameterInSignatureWithRestParameters.ts(2,1): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. ==== tests/cases/compiler/fixTypeParameterInSignatureWithRestParameters.ts (1 errors) ==== @@ -7,4 +7,4 @@ tests/cases/compiler/fixTypeParameterInSignatureWithRestParameters.ts(2,1): erro bar(1, ""); // Should be ok ~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. \ No newline at end of file +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. \ No newline at end of file diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types index 273c66b342d..41e705ba943 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types @@ -17,7 +17,7 @@ declare function f(x: T, y: (p: T) => T, z: (p: T) => T): T; f("", x => null, x => x.toLowerCase()); >f("", x => null, x => x.toLowerCase()) : string >f : (x: T, y: (p: T) => T, z: (p: T) => T) => T ->"" : string +>"" : "" >x => null : (x: string) => any >x : string >null : null @@ -50,7 +50,7 @@ declare function g(); g("", x => null, x => x.toLowerCase()); >g("", x => null, x => x.toLowerCase()) : string >g : { (x: T, y: (p: T) => T, z: (p: T) => T): T; (): any; } ->"" : string +>"" : "" >x => null : (x: string) => any >x : string >null : null diff --git a/tests/baselines/reference/for-of11.errors.txt b/tests/baselines/reference/for-of11.errors.txt index 7c00e454d4e..dc527e73efe 100644 --- a/tests/baselines/reference/for-of11.errors.txt +++ b/tests/baselines/reference/for-of11.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/for-ofStatements/for-of11.ts(2,6): error TS2322: Type 'number | string' is not assignable to type 'string'. +tests/cases/conformance/es6/for-ofStatements/for-of11.ts(2,6): error TS2322: Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. @@ -6,5 +6,5 @@ tests/cases/conformance/es6/for-ofStatements/for-of11.ts(2,6): error TS2322: Typ var v: string; for (v of [0, ""]) { } ~ -!!! error TS2322: Type 'number | string' is not assignable to type 'string'. +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/for-of12.errors.txt b/tests/baselines/reference/for-of12.errors.txt index 6100564ba58..f19fa5ed014 100644 --- a/tests/baselines/reference/for-of12.errors.txt +++ b/tests/baselines/reference/for-of12.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/for-ofStatements/for-of12.ts(2,6): error TS2322: Type 'number | string' is not assignable to type 'string'. +tests/cases/conformance/es6/for-ofStatements/for-of12.ts(2,6): error TS2322: Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. @@ -6,5 +6,5 @@ tests/cases/conformance/es6/for-ofStatements/for-of12.ts(2,6): error TS2322: Typ var v: string; for (v of [0, ""].values()) { } ~ -!!! error TS2322: Type 'number | string' is not assignable to type 'string'. +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/for-of13.types b/tests/baselines/reference/for-of13.types index e176b1bbf0c..af30e85fa17 100644 --- a/tests/baselines/reference/for-of13.types +++ b/tests/baselines/reference/for-of13.types @@ -7,6 +7,6 @@ for (v of [""].values()) { } >[""].values() : IterableIterator >[""].values : () => IterableIterator >[""] : string[] ->"" : string +>"" : "" >values : () => IterableIterator diff --git a/tests/baselines/reference/for-of18.types b/tests/baselines/reference/for-of18.types index 415f2b11568..86978b62cc7 100644 --- a/tests/baselines/reference/for-of18.types +++ b/tests/baselines/reference/for-of18.types @@ -18,11 +18,11 @@ class StringIterator { value: "", >value : string ->"" : string +>"" : "" done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of19.types b/tests/baselines/reference/for-of19.types index 5128617bf24..a2882ccf1ac 100644 --- a/tests/baselines/reference/for-of19.types +++ b/tests/baselines/reference/for-of19.types @@ -27,7 +27,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of20.types b/tests/baselines/reference/for-of20.types index de12979c650..9274c7f4b96 100644 --- a/tests/baselines/reference/for-of20.types +++ b/tests/baselines/reference/for-of20.types @@ -27,7 +27,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of21.types b/tests/baselines/reference/for-of21.types index cab24c525d9..1366cb1a420 100644 --- a/tests/baselines/reference/for-of21.types +++ b/tests/baselines/reference/for-of21.types @@ -27,7 +27,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of22.types b/tests/baselines/reference/for-of22.types index f15a1d7e114..80cd42b2b33 100644 --- a/tests/baselines/reference/for-of22.types +++ b/tests/baselines/reference/for-of22.types @@ -28,7 +28,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of23.types b/tests/baselines/reference/for-of23.types index 87f1eeabbb7..ed74156f514 100644 --- a/tests/baselines/reference/for-of23.types +++ b/tests/baselines/reference/for-of23.types @@ -5,8 +5,8 @@ for (const v of new FooIterator) { >FooIterator : typeof FooIterator const v = 0; // new scope ->v : number ->0 : number +>v : 0 +>0 : 0 } class Foo { } @@ -28,7 +28,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/for-of36.types b/tests/baselines/reference/for-of36.types index e23ea79d0a9..1448c212371 100644 --- a/tests/baselines/reference/for-of36.types +++ b/tests/baselines/reference/for-of36.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/for-ofStatements/for-of36.ts === var tuple: [string, boolean] = ["", true]; >tuple : [string, boolean] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>["", true] : [string, true] +>"" : "" +>true : true for (var v of tuple) { >v : string | boolean diff --git a/tests/baselines/reference/for-of37.types b/tests/baselines/reference/for-of37.types index 89272742f62..1168921596e 100644 --- a/tests/baselines/reference/for-of37.types +++ b/tests/baselines/reference/for-of37.types @@ -3,10 +3,10 @@ var map = new Map([["", true]]); >map : Map >new Map([["", true]]) : Map >Map : MapConstructor ->[["", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>[["", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true for (var v of map) { >v : [string, boolean] diff --git a/tests/baselines/reference/for-of38.types b/tests/baselines/reference/for-of38.types index f8b7555781f..e2201d24394 100644 --- a/tests/baselines/reference/for-of38.types +++ b/tests/baselines/reference/for-of38.types @@ -3,10 +3,10 @@ var map = new Map([["", true]]); >map : Map >new Map([["", true]]) : Map >Map : MapConstructor ->[["", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>[["", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true for (var [k, v] of map) { >k : string diff --git a/tests/baselines/reference/for-of4.types b/tests/baselines/reference/for-of4.types index 5b8990797ba..ef73afdb9d2 100644 --- a/tests/baselines/reference/for-of4.types +++ b/tests/baselines/reference/for-of4.types @@ -2,7 +2,7 @@ for (var v of [0]) { >v : number >[0] : number[] ->0 : number +>0 : 0 v; >v : number diff --git a/tests/baselines/reference/for-of40.types b/tests/baselines/reference/for-of40.types index 6693514ec53..4c690ed9ce7 100644 --- a/tests/baselines/reference/for-of40.types +++ b/tests/baselines/reference/for-of40.types @@ -3,16 +3,16 @@ var map = new Map([["", true]]); >map : Map >new Map([["", true]]) : Map >Map : MapConstructor ->[["", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>[["", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true for (var [k = "", v = false] of map) { >k : string ->"" : string +>"" : "" >v : boolean ->false : boolean +>false : false >map : Map k; diff --git a/tests/baselines/reference/for-of41.types b/tests/baselines/reference/for-of41.types index 31e3e253002..70550035783 100644 --- a/tests/baselines/reference/for-of41.types +++ b/tests/baselines/reference/for-of41.types @@ -5,11 +5,11 @@ var array = [{x: [0], y: {p: ""}}] >{x: [0], y: {p: ""}} : { x: number[]; y: { p: string; }; } >x : number[] >[0] : number[] ->0 : number +>0 : 0 >y : { p: string; } >{p: ""} : { p: string; } >p : string ->"" : string +>"" : "" for (var {x: [a], y: {p}} of array) { >x : any diff --git a/tests/baselines/reference/for-of42.types b/tests/baselines/reference/for-of42.types index 64327bcc27f..c0495982a08 100644 --- a/tests/baselines/reference/for-of42.types +++ b/tests/baselines/reference/for-of42.types @@ -4,9 +4,9 @@ var array = [{ x: "", y: 0 }] >[{ x: "", y: 0 }] : { x: string; y: number; }[] >{ x: "", y: 0 } : { x: string; y: number; } >x : string ->"" : string +>"" : "" >y : number ->0 : number +>0 : 0 for (var {x: a, y: b} of array) { >x : any diff --git a/tests/baselines/reference/for-of43.errors.txt b/tests/baselines/reference/for-of43.errors.txt deleted file mode 100644 index c5790278e53..00000000000 --- a/tests/baselines/reference/for-of43.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/for-ofStatements/for-of43.ts(2,25): error TS2322: Type 'boolean' is not assignable to type 'number'. - - -==== tests/cases/conformance/es6/for-ofStatements/for-of43.ts (1 errors) ==== - var array = [{ x: "", y: 0 }] - for (var {x: a = "", y: b = true} of array) { - ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. - a; - b; - } \ No newline at end of file diff --git a/tests/baselines/reference/for-of43.symbols b/tests/baselines/reference/for-of43.symbols new file mode 100644 index 00000000000..4add17ad547 --- /dev/null +++ b/tests/baselines/reference/for-of43.symbols @@ -0,0 +1,19 @@ +=== tests/cases/conformance/es6/for-ofStatements/for-of43.ts === +var array = [{ x: "", y: 0 }] +>array : Symbol(array, Decl(for-of43.ts, 0, 3)) +>x : Symbol(x, Decl(for-of43.ts, 0, 14)) +>y : Symbol(y, Decl(for-of43.ts, 0, 21)) + +for (var {x: a = "", y: b = true} of array) { +>x : Symbol(x, Decl(for-of43.ts, 0, 14)) +>a : Symbol(a, Decl(for-of43.ts, 1, 10)) +>y : Symbol(y, Decl(for-of43.ts, 0, 21)) +>b : Symbol(b, Decl(for-of43.ts, 1, 20)) +>array : Symbol(array, Decl(for-of43.ts, 0, 3)) + + a; +>a : Symbol(a, Decl(for-of43.ts, 1, 10)) + + b; +>b : Symbol(b, Decl(for-of43.ts, 1, 20)) +} diff --git a/tests/baselines/reference/for-of43.types b/tests/baselines/reference/for-of43.types new file mode 100644 index 00000000000..2327f1bafed --- /dev/null +++ b/tests/baselines/reference/for-of43.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/es6/for-ofStatements/for-of43.ts === +var array = [{ x: "", y: 0 }] +>array : { x: string; y: number; }[] +>[{ x: "", y: 0 }] : { x: string; y: number; }[] +>{ x: "", y: 0 } : { x: string; y: number; } +>x : string +>"" : "" +>y : number +>0 : 0 + +for (var {x: a = "", y: b = true} of array) { +>x : any +>a : string +>"" : "" +>y : any +>b : number | true +>true : true +>array : { x: string; y: number; }[] + + a; +>a : string + + b; +>b : number | true +} diff --git a/tests/baselines/reference/for-of44.types b/tests/baselines/reference/for-of44.types index e6f4e0450b3..42da734edb9 100644 --- a/tests/baselines/reference/for-of44.types +++ b/tests/baselines/reference/for-of44.types @@ -1,15 +1,15 @@ === tests/cases/conformance/es6/for-ofStatements/for-of44.ts === var array: [number, string | boolean | symbol][] = [[0, ""], [0, true], [1, Symbol()]] >array : [number, string | boolean | symbol][] ->[[0, ""], [0, true], [1, Symbol()]] : ([number, string] | [number, boolean] | [number, symbol])[] ->[0, ""] : [number, string] ->0 : number ->"" : string ->[0, true] : [number, boolean] ->0 : number ->true : boolean +>[[0, ""], [0, true], [1, Symbol()]] : ([number, ""] | [number, true] | [number, symbol])[] +>[0, ""] : [number, ""] +>0 : 0 +>"" : "" +>[0, true] : [number, true] +>0 : 0 +>true : true >[1, Symbol()] : [number, symbol] ->1 : number +>1 : 1 >Symbol() : symbol >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/for-of45.types b/tests/baselines/reference/for-of45.types index 7c853993b0a..6e6a0a11bf4 100644 --- a/tests/baselines/reference/for-of45.types +++ b/tests/baselines/reference/for-of45.types @@ -7,19 +7,19 @@ var map = new Map([["", true]]); >map : Map >new Map([["", true]]) : Map >Map : MapConstructor ->[["", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>[["", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true for ([k = "", v = false] of map) { >[k = "", v = false] : [string, boolean] ->k = "" : string +>k = "" : "" >k : string ->"" : string ->v = false : boolean +>"" : "" +>v = false : false >v : boolean ->false : boolean +>false : false >map : Map k; diff --git a/tests/baselines/reference/for-of46.errors.txt b/tests/baselines/reference/for-of46.errors.txt index 13685b122ca..c2a47bffdf6 100644 --- a/tests/baselines/reference/for-of46.errors.txt +++ b/tests/baselines/reference/for-of46.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/es6/for-ofStatements/for-of46.ts(3,7): error TS2322: Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/es6/for-ofStatements/for-of46.ts(3,18): error TS2322: Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/es6/for-ofStatements/for-of46.ts(3,7): error TS2322: Type 'false' is not assignable to type 'string'. +tests/cases/conformance/es6/for-ofStatements/for-of46.ts(3,18): error TS2322: Type '""' is not assignable to type 'boolean'. ==== tests/cases/conformance/es6/for-ofStatements/for-of46.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/conformance/es6/for-ofStatements/for-of46.ts(3,18): error TS2322: Ty var map = new Map([["", true]]); for ([k = false, v = ""] of map) { ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2322: Type 'false' is not assignable to type 'string'. ~ -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. k; v; } \ No newline at end of file diff --git a/tests/baselines/reference/for-of5.types b/tests/baselines/reference/for-of5.types index 921c327c185..b5bc8f0b30a 100644 --- a/tests/baselines/reference/for-of5.types +++ b/tests/baselines/reference/for-of5.types @@ -2,7 +2,7 @@ for (let v of [0]) { >v : number >[0] : number[] ->0 : number +>0 : 0 v; >v : number diff --git a/tests/baselines/reference/for-of50.types b/tests/baselines/reference/for-of50.types index 5d5dac7abed..8da06665711 100644 --- a/tests/baselines/reference/for-of50.types +++ b/tests/baselines/reference/for-of50.types @@ -3,10 +3,10 @@ var map = new Map([["", true]]); >map : Map >new Map([["", true]]) : Map >Map : MapConstructor ->[["", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean +>[["", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true for (const [k, v] of map) { >k : string diff --git a/tests/baselines/reference/for-of8.types b/tests/baselines/reference/for-of8.types index 36bb20ef6b0..6122cd935fe 100644 --- a/tests/baselines/reference/for-of8.types +++ b/tests/baselines/reference/for-of8.types @@ -5,5 +5,5 @@ v; for (var v of [0]) { } >v : number >[0] : number[] ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/for-of9.types b/tests/baselines/reference/for-of9.types index bf06bf46034..4cd3cceb825 100644 --- a/tests/baselines/reference/for-of9.types +++ b/tests/baselines/reference/for-of9.types @@ -5,9 +5,9 @@ var v: string; for (v of ["hello"]) { } >v : string >["hello"] : string[] ->"hello" : string +>"hello" : "hello" for (v of "hello") { } >v : string ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/forInModule.types b/tests/baselines/reference/forInModule.types index d78a511206b..74bb866ec51 100644 --- a/tests/baselines/reference/forInModule.types +++ b/tests/baselines/reference/forInModule.types @@ -4,10 +4,10 @@ module Foo { for (var i = 0; i < 1; i++) { >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/forStatements.types b/tests/baselines/reference/forStatements.types index 95b198a7fec..a6ae6ea9aa5 100644 --- a/tests/baselines/reference/forStatements.types +++ b/tests/baselines/reference/forStatements.types @@ -38,7 +38,7 @@ class D{ function F(x: string): number { return 42; } >F : (x: string) => number >x : string ->42 : number +>42 : 42 module M { >M : typeof M @@ -61,18 +61,18 @@ module M { for(var aNumber: number = 9.9;;){} >aNumber : number ->9.9 : number +>9.9 : 9.9 for(var aString: string = 'this is a string';;){} >aString : string ->'this is a string' : string +>'this is a string' : "this is a string" for(var aDate: Date = new Date(12);;){} >aDate : Date >Date : Date >new Date(12) : Date >Date : DateConstructor ->12 : number +>12 : 12 for(var anObject: Object = new Object();;){} >anObject : Object @@ -115,7 +115,7 @@ for(var anObjectLiteral: I = { id: 12 };;){} >I : I >{ id: 12 } : { id: number; } >id : number ->12 : number +>12 : 12 for(var anOtherObjectLiteral: { id: number } = new C();;){} >anOtherObjectLiteral : { id: number; } @@ -138,7 +138,7 @@ for(var aLambda: typeof F = (x) => 2;;){} >F : (x: string) => number >(x) => 2 : (x: string) => number >x : string ->2 : number +>2 : 2 for(var aModule: typeof M = M;;){} >aModule : typeof M @@ -161,5 +161,5 @@ for(var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';;){} >F2 : (x: number) => string >(x) => 'this is a string' : (x: number) => string >x : number ->'this is a string' : string +>'this is a string' : "this is a string" diff --git a/tests/baselines/reference/forStatementsMultipleValidDecl.types b/tests/baselines/reference/forStatementsMultipleValidDecl.types index acb26f17312..f40f4bbbc3c 100644 --- a/tests/baselines/reference/forStatementsMultipleValidDecl.types +++ b/tests/baselines/reference/forStatementsMultipleValidDecl.types @@ -7,7 +7,7 @@ for (var x: number; ;) { } for (var x = 2; ;) { } >x : number ->2 : number +>2 : 2 for (var x = undefined; ;) { } >x : number @@ -20,7 +20,7 @@ function declSpace() { for (var x = 'this is a string'; ;) { } >x : string ->'this is a string' : string +>'this is a string' : "this is a string" } interface Point { x: number; y: number; } >Point : Point @@ -35,16 +35,16 @@ for (var p = { x: 1, y: 2 }; ;) { } >p : Point >{ x: 1, y: 2 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 for (var p: Point = { x: 0, y: undefined }; ;) { } >p : Point >Point : Point >{ x: 0, y: undefined } : { x: number; y: undefined; } >x : number ->0 : number +>0 : 0 >y : undefined >undefined : undefined @@ -52,7 +52,7 @@ for (var p = { x: 1, y: undefined }; ;) { } >p : Point >{ x: 1, y: undefined } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number >undefined : number >undefined : undefined @@ -63,9 +63,9 @@ for (var p: { x: number; y: number; } = { x: 1, y: 2 }; ;) { } >y : number >{ x: 1, y: 2 } : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 for (var p = <{ x: number; y: number; }>{ x: 0, y: undefined }; ;) { } >p : Point @@ -74,7 +74,7 @@ for (var p = <{ x: number; y: number; }>{ x: 0, y: undefined }; ;) { } >y : number >{ x: 0, y: undefined } : { x: number; y: undefined; } >x : number ->0 : number +>0 : 0 >y : undefined >undefined : undefined @@ -86,13 +86,13 @@ for (var fn = function (s: string) { return 42; }; ;) { } >fn : (s: string) => number >function (s: string) { return 42; } : (s: string) => number >s : string ->42 : number +>42 : 42 for (var fn = (s: string) => 3; ;) { } >fn : (s: string) => number >(s: string) => 3 : (s: string) => number >s : string ->3 : number +>3 : 3 for (var fn: (s: string) => number; ;) { } >fn : (s: string) => number @@ -118,8 +118,8 @@ for (var a: string[]; ;) { } for (var a = ['a', 'b']; ;) { } >a : string[] >['a', 'b'] : string[] ->'a' : string ->'b' : string +>'a' : "a" +>'b' : "b" for (var a = []; ;) { } >a : string[] diff --git a/tests/baselines/reference/fromAsIdentifier2.types b/tests/baselines/reference/fromAsIdentifier2.types index ae605f79268..cea6974c946 100644 --- a/tests/baselines/reference/fromAsIdentifier2.types +++ b/tests/baselines/reference/fromAsIdentifier2.types @@ -1,6 +1,6 @@ === tests/cases/compiler/fromAsIdentifier2.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" var from; >from : any diff --git a/tests/baselines/reference/funcdecl.types b/tests/baselines/reference/funcdecl.types index 94c310d7b25..8c632237ef3 100644 --- a/tests/baselines/reference/funcdecl.types +++ b/tests/baselines/reference/funcdecl.types @@ -3,7 +3,7 @@ function simpleFunc() { >simpleFunc : () => string return "this is my simple func"; ->"this is my simple func" : string +>"this is my simple func" : "this is my simple func" } var simpleFuncVar = simpleFunc; >simpleFuncVar : () => string @@ -20,7 +20,7 @@ function withReturn() : string{ >withReturn : () => string return "Hello"; ->"Hello" : string +>"Hello" : "Hello" } var withReturnVar = withReturn; >withReturnVar : () => string @@ -64,9 +64,9 @@ function withInitializedParams(a: string, b0, b = 30, c = "string value") { >a : string >b0 : any >b : number ->30 : number +>30 : 30 >c : string ->"string value" : string +>"string value" : "string value" } var withInitializedParamsVar = withInitializedParams; >withInitializedParamsVar : (a: string, b0: any, b?: number, c?: string) => void @@ -76,7 +76,7 @@ function withOptionalInitializedParams(a: string, c: string = "hello string") { >withOptionalInitializedParams : (a: string, c?: string) => void >a : string >c : string ->"hello string" : string +>"hello string" : "hello string" } var withOptionalInitializedParamsVar = withOptionalInitializedParams; >withOptionalInitializedParamsVar : (a: string, c?: string) => void @@ -139,7 +139,7 @@ m2.foo(() => { var b = 30; >b : number ->30 : number +>30 : 30 return b; >b : number @@ -164,5 +164,5 @@ var f2 = () => { >() => { return "string";} : () => string return "string"; ->"string" : string +>"string" : "string" } diff --git a/tests/baselines/reference/functionAssignment.errors.txt b/tests/baselines/reference/functionAssignment.errors.txt index 19fd0897f98..292c2804431 100644 --- a/tests/baselines/reference/functionAssignment.errors.txt +++ b/tests/baselines/reference/functionAssignment.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionAssignment.ts(22,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/functionAssignment.ts(22,5): error TS2322: Type '4' is not assignable to type 'string'. tests/cases/compiler/functionAssignment.ts(34,17): error TS2339: Property 'length' does not exist on type 'number'. @@ -26,7 +26,7 @@ tests/cases/compiler/functionAssignment.ts(34,17): error TS2339: Property 'lengt var n = ''; n = 4; ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '4' is not assignable to type 'string'. }); function f3(a: { a: number; b: number; }) { } diff --git a/tests/baselines/reference/functionAssignmentError.types b/tests/baselines/reference/functionAssignmentError.types index 6430aa10fc4..3223a7b40f8 100644 --- a/tests/baselines/reference/functionAssignmentError.types +++ b/tests/baselines/reference/functionAssignmentError.types @@ -2,11 +2,11 @@ var func = function (){return "ONE";}; >func : () => string >function (){return "ONE";} : () => string ->"ONE" : string +>"ONE" : "ONE" func = function (){return "ONE";}; >func = function (){return "ONE";} : () => string >func : () => string >function (){return "ONE";} : () => string ->"ONE" : string +>"ONE" : "ONE" diff --git a/tests/baselines/reference/functionCall1.types b/tests/baselines/reference/functionCall1.types index 777fcd79f91..9295a06982e 100644 --- a/tests/baselines/reference/functionCall1.types +++ b/tests/baselines/reference/functionCall1.types @@ -1,7 +1,7 @@ === tests/cases/compiler/functionCall1.ts === function foo():any{return ""}; >foo : () => any ->"" : string +>"" : "" var x = foo(); >x : any diff --git a/tests/baselines/reference/functionCall10.errors.txt b/tests/baselines/reference/functionCall10.errors.txt index 8352fc70a58..7891b7008cb 100644 --- a/tests/baselines/reference/functionCall10.errors.txt +++ b/tests/baselines/reference/functionCall10.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/functionCall10.ts(3,5): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. -tests/cases/compiler/functionCall10.ts(5,8): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/functionCall10.ts(3,5): error TS2345: Argument of type '"foo"' is not assignable to parameter of type 'number'. +tests/cases/compiler/functionCall10.ts(5,8): error TS2345: Argument of type '"bar"' is not assignable to parameter of type 'number'. ==== tests/cases/compiler/functionCall10.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/functionCall10.ts(5,8): error TS2345: Argument of type 'str foo(0, 1); foo('foo'); ~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"foo"' is not assignable to parameter of type 'number'. foo(); foo(1, 'bar'); ~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"bar"' is not assignable to parameter of type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/functionCall11.errors.txt b/tests/baselines/reference/functionCall11.errors.txt index a1790974bbb..f1a5949acd7 100644 --- a/tests/baselines/reference/functionCall11.errors.txt +++ b/tests/baselines/reference/functionCall11.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/functionCall11.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall11.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall11.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/functionCall11.ts(6,1): error TS2346: Supplied parameters do not match any signature of call target. @@ -12,7 +12,7 @@ tests/cases/compiler/functionCall11.ts(6,1): error TS2346: Supplied parameters d !!! error TS2346: Supplied parameters do not match any signature of call target. foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 1, 'bar'); ~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/functionCall12.errors.txt b/tests/baselines/reference/functionCall12.errors.txt index eabe1131ec1..ef93a34b080 100644 --- a/tests/baselines/reference/functionCall12.errors.txt +++ b/tests/baselines/reference/functionCall12.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/functionCall12.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall12.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/functionCall12.ts(7,15): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall12.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall12.ts(7,15): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall12.ts (3 errors) ==== @@ -12,9 +12,9 @@ tests/cases/compiler/functionCall12.ts(7,15): error TS2345: Argument of type 'nu !!! error TS2346: Supplied parameters do not match any signature of call target. foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 1, 'bar'); foo('foo', 1, 3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/functionCall13.errors.txt b/tests/baselines/reference/functionCall13.errors.txt index 31c05915aab..a89d7fc1efa 100644 --- a/tests/baselines/reference/functionCall13.errors.txt +++ b/tests/baselines/reference/functionCall13.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/functionCall13.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall13.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall13.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall13.ts (2 errors) ==== @@ -11,6 +11,6 @@ tests/cases/compiler/functionCall13.ts(5,5): error TS2345: Argument of type 'num !!! error TS2346: Supplied parameters do not match any signature of call target. foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 1, 3); \ No newline at end of file diff --git a/tests/baselines/reference/functionCall14.errors.txt b/tests/baselines/reference/functionCall14.errors.txt index 3b671d0252b..2de62978c84 100644 --- a/tests/baselines/reference/functionCall14.errors.txt +++ b/tests/baselines/reference/functionCall14.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionCall14.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall14.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall14.ts (1 errors) ==== @@ -8,6 +8,6 @@ tests/cases/compiler/functionCall14.ts(5,5): error TS2345: Argument of type 'num foo(); foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 1, 3); \ No newline at end of file diff --git a/tests/baselines/reference/functionCall16.errors.txt b/tests/baselines/reference/functionCall16.errors.txt index eb71df23eca..d338c1305dd 100644 --- a/tests/baselines/reference/functionCall16.errors.txt +++ b/tests/baselines/reference/functionCall16.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/functionCall16.ts(2,12): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall16.ts(2,12): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/functionCall16.ts(5,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall16.ts(6,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall16.ts(6,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall16.ts (3 errors) ==== function foo(a:string, b?:string, ...c:number[]){} foo('foo', 1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo'); foo('foo', 'bar'); foo(); @@ -15,6 +15,6 @@ tests/cases/compiler/functionCall16.ts(6,5): error TS2345: Argument of type 'num !!! error TS2346: Supplied parameters do not match any signature of call target. foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 'bar', 3); \ No newline at end of file diff --git a/tests/baselines/reference/functionCall17.errors.txt b/tests/baselines/reference/functionCall17.errors.txt index 09f36c22cfb..f266554b518 100644 --- a/tests/baselines/reference/functionCall17.errors.txt +++ b/tests/baselines/reference/functionCall17.errors.txt @@ -1,23 +1,23 @@ -tests/cases/compiler/functionCall17.ts(2,12): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall17.ts(2,12): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/functionCall17.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall17.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/functionCall17.ts(6,12): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall17.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall17.ts(6,12): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall17.ts (4 errors) ==== function foo(a:string, b?:string, c?:number, ...d:number[]){} foo('foo', 1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo'); foo(); ~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. foo(1, 'bar'); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 1, 3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. foo('foo', 'bar', 3, 4); \ No newline at end of file diff --git a/tests/baselines/reference/functionCall2.types b/tests/baselines/reference/functionCall2.types index 152d54cb186..aec991aa85f 100644 --- a/tests/baselines/reference/functionCall2.types +++ b/tests/baselines/reference/functionCall2.types @@ -1,7 +1,7 @@ === tests/cases/compiler/functionCall2.ts === function foo():number{return 1}; >foo : () => number ->1 : number +>1 : 1 var x = foo(); >x : number diff --git a/tests/baselines/reference/functionCall3.types b/tests/baselines/reference/functionCall3.types index b58803ae666..2df6de6fa74 100644 --- a/tests/baselines/reference/functionCall3.types +++ b/tests/baselines/reference/functionCall3.types @@ -2,7 +2,7 @@ function foo():any[]{return [1];} >foo : () => any[] >[1] : number[] ->1 : number +>1 : 1 var x = foo(); >x : any[] diff --git a/tests/baselines/reference/functionCall4.types b/tests/baselines/reference/functionCall4.types index ea60c759a7d..41c406ef483 100644 --- a/tests/baselines/reference/functionCall4.types +++ b/tests/baselines/reference/functionCall4.types @@ -1,7 +1,7 @@ === tests/cases/compiler/functionCall4.ts === function foo():any{return ""}; >foo : () => any ->"" : string +>"" : "" function bar():()=>any{return foo}; >bar : () => () => any diff --git a/tests/baselines/reference/functionCall6.errors.txt b/tests/baselines/reference/functionCall6.errors.txt index 4da265ea5e2..3d590d8f5c2 100644 --- a/tests/baselines/reference/functionCall6.errors.txt +++ b/tests/baselines/reference/functionCall6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionCall6.ts(3,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall6.ts(3,5): error TS2345: Argument of type '2' is not assignable to parameter of type 'string'. tests/cases/compiler/functionCall6.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/functionCall6.ts(5,1): error TS2346: Supplied parameters do not match any signature of call target. @@ -8,7 +8,7 @@ tests/cases/compiler/functionCall6.ts(5,1): error TS2346: Supplied parameters do foo('bar'); foo(2); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '2' is not assignable to parameter of type 'string'. foo('foo', 'bar'); ~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/functionCall7.errors.txt b/tests/baselines/reference/functionCall7.errors.txt index 576ea9c266e..138c5f62f16 100644 --- a/tests/baselines/reference/functionCall7.errors.txt +++ b/tests/baselines/reference/functionCall7.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/functionCall7.ts(5,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall7.ts(6,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'c1'. +tests/cases/compiler/functionCall7.ts(6,5): error TS2345: Argument of type '4' is not assignable to parameter of type 'c1'. tests/cases/compiler/functionCall7.ts(7,1): error TS2346: Supplied parameters do not match any signature of call target. @@ -13,7 +13,7 @@ tests/cases/compiler/functionCall7.ts(7,1): error TS2346: Supplied parameters do !!! error TS2346: Supplied parameters do not match any signature of call target. foo(4); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'c1'. +!!! error TS2345: Argument of type '4' is not assignable to parameter of type 'c1'. foo(); ~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/functionCall8.errors.txt b/tests/baselines/reference/functionCall8.errors.txt index 0e5479c8cfd..7cf197d5812 100644 --- a/tests/baselines/reference/functionCall8.errors.txt +++ b/tests/baselines/reference/functionCall8.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/functionCall8.ts(3,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/functionCall8.ts(4,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionCall8.ts(4,5): error TS2345: Argument of type '4' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionCall8.ts (2 errors) ==== @@ -10,6 +10,6 @@ tests/cases/compiler/functionCall8.ts(4,5): error TS2345: Argument of type 'numb !!! error TS2346: Supplied parameters do not match any signature of call target. foo(4); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '4' is not assignable to parameter of type 'string'. foo(); \ No newline at end of file diff --git a/tests/baselines/reference/functionCall9.errors.txt b/tests/baselines/reference/functionCall9.errors.txt index d9d00593414..83cda64e204 100644 --- a/tests/baselines/reference/functionCall9.errors.txt +++ b/tests/baselines/reference/functionCall9.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionCall9.ts(4,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/functionCall9.ts(4,11): error TS2345: Argument of type '"bar"' is not assignable to parameter of type 'number'. tests/cases/compiler/functionCall9.ts(5,1): error TS2346: Supplied parameters do not match any signature of call target. @@ -8,7 +8,7 @@ tests/cases/compiler/functionCall9.ts(5,1): error TS2346: Supplied parameters do foo('foo'); foo('foo','bar'); ~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"bar"' is not assignable to parameter of type 'number'. foo('foo', 1, 'bar'); ~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt index 7d3fa793ec8..7f3d8d90802 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt +++ b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(5,5): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Function'. +tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(5,5): error TS2345: Argument of type '1' is not assignable to parameter of type 'Function'. tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(6,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(7,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts(23,14): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(x: string) => string'. @@ -33,7 +33,7 @@ tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstrain foo(1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Function'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'Function'. foo(() => { }, 1); ~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/functionExpressionContextualTyping1.types b/tests/baselines/reference/functionExpressionContextualTyping1.types index 61d16bf6a4f..58265c74aa2 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.types +++ b/tests/baselines/reference/functionExpressionContextualTyping1.types @@ -4,8 +4,8 @@ enum E { red, blue } >E : E ->red : E ->blue : E +>red : E.red +>blue : E.blue // A contextual signature S is extracted from a function type T as follows: // If T is a function type with exactly one call signature, and if that call signature is non- generic, S is that signature. @@ -25,7 +25,7 @@ var a0: (n: number, s: string) => number = (num, str) => { >toExponential : (fractionDigits?: number) => string return 0; ->0 : number +>0 : 0 } class Class { @@ -51,7 +51,7 @@ var a1: (c: Class) => number = (a1) => { >foo : () => void return 1; ->1 : number +>1 : 1 } // A contextual signature S is extracted from a function type T as follows: @@ -87,7 +87,7 @@ b2 = (foo, bar) => { return foo + 1; } >bar : string >foo + 1 : number >foo : number ->1 : number +>1 : 1 b2 = (foo, bar) => { return "hello"; } >b2 = (foo, bar) => { return "hello"; } : (foo: number, bar: string) => string @@ -95,7 +95,7 @@ b2 = (foo, bar) => { return "hello"; } >(foo, bar) => { return "hello"; } : (foo: number, bar: string) => string >foo : number >bar : string ->"hello" : string +>"hello" : "hello" var b3: (name: string, num: number, boo: boolean) => void; >b3 : (name: string, num: number, boo: boolean) => void @@ -116,16 +116,16 @@ var b4: (n: E) => string = (number = 1) => { return "hello"; }; >E : E >(number = 1) => { return "hello"; } : (number?: E) => string >number : E ->1 : number ->"hello" : string +>1 : 1 +>"hello" : "hello" var b5: (n: {}) => string = (number = "string") => { return "hello"; }; >b5 : (n: {}) => string >n : {} >(number = "string") => { return "hello"; } : (number?: {}) => string >number : {} ->"string" : string ->"hello" : string +>"string" : "string" +>"hello" : "hello" // A contextual signature S is extracted from a function type T as follows: // Otherwise, no contextual signature can be extracted from T and S is undefined. diff --git a/tests/baselines/reference/functionExpressionInWithBlock.js b/tests/baselines/reference/functionExpressionInWithBlock.js index f2353412d5c..2fae2384313 100644 --- a/tests/baselines/reference/functionExpressionInWithBlock.js +++ b/tests/baselines/reference/functionExpressionInWithBlock.js @@ -11,7 +11,8 @@ function x() { function x() { with ({}) { function f() { - (function () { return this; }); + var _this = this; + (function () { return _this; }); } } } diff --git a/tests/baselines/reference/functionImplementationErrors.errors.txt b/tests/baselines/reference/functionImplementationErrors.errors.txt index dc5ad5a2747..224ebc7c08e 100644 --- a/tests/baselines/reference/functionImplementationErrors.errors.txt +++ b/tests/baselines/reference/functionImplementationErrors.errors.txt @@ -1,44 +1,26 @@ -tests/cases/conformance/functions/functionImplementationErrors.ts(3,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(7,19): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(11,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(17,10): error TS2354: No best common type exists among return expressions. tests/cases/conformance/functions/functionImplementationErrors.ts(26,16): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. tests/cases/conformance/functions/functionImplementationErrors.ts(31,17): error TS2373: Initializer of parameter 'n' cannot reference identifier 'm' declared after it. tests/cases/conformance/functions/functionImplementationErrors.ts(36,17): error TS2373: Initializer of parameter 'n' cannot reference identifier 'm' declared after it. -tests/cases/conformance/functions/functionImplementationErrors.ts(50,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(54,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(58,11): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(62,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(66,11): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/functions/functionImplementationErrors.ts(70,11): error TS2354: No best common type exists among return expressions. -==== tests/cases/conformance/functions/functionImplementationErrors.ts (13 errors) ==== +==== tests/cases/conformance/functions/functionImplementationErrors.ts (3 errors) ==== // FunctionExpression with no return type annotation with multiple return statements with unrelated types var f1 = function () { - ~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return ''; return 3; }; var f2 = function x() { - ~ -!!! error TS2354: No best common type exists among return expressions. return ''; return 3; }; var f3 = () => { - ~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return ''; return 3; }; // FunctionExpression with no return type annotation with return branch of number[] and other of string[] var f4 = function () { - ~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. if (true) { return ['']; } else { @@ -78,38 +60,26 @@ tests/cases/conformance/functions/functionImplementationErrors.ts(70,11): error class Derived1 extends Base { private m; } class Derived2 extends Base { private n; } function f8() { - ~~ -!!! error TS2354: No best common type exists among return expressions. return new Derived1(); return new Derived2(); } var f9 = function () { - ~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return new Derived1(); return new Derived2(); }; var f10 = () => { - ~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return new Derived1(); return new Derived2(); }; function f11() { - ~~~ -!!! error TS2354: No best common type exists among return expressions. return new Base(); return new AnotherClass(); } var f12 = function () { - ~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return new Base(); return new AnotherClass(); }; var f13 = () => { - ~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. return new Base(); return new AnotherClass(); }; diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index 6690ca68c98..d81b02598bd 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -102,7 +102,7 @@ var n = function () { >function () { return 3;} : () => number return 3; ->3 : number +>3 : 3 } (); @@ -139,7 +139,7 @@ var un = function () { // FunctionExpression with no return type annotation and returns a type parameter type var n = function (x: T) { >n : number ->function (x: T) { return x;} (4) : number +>function (x: T) { return x;} (4) : 4 >function (x: T) { return x;} : (x: T) => T >T : T >x : T @@ -149,12 +149,12 @@ var n = function (x: T) { >x : T } (4); ->4 : number +>4 : 4 // FunctionExpression with no return type annotation and returns a constrained type parameter type var n = function (x: T) { >n : number ->function (x: T) { return x;} (4) : number +>function (x: T) { return x;} (4) : 4 >function (x: T) { return x;} : (x: T) => T >T : T >x : T @@ -164,19 +164,19 @@ var n = function (x: T) { >x : T } (4); ->4 : number +>4 : 4 // FunctionExpression with no return type annotation with multiple return statements with identical types var n = function () { >n : number ->function () { return 3; return 5;}() : number ->function () { return 3; return 5;} : () => number +>function () { return 3; return 5;}() : 3 | 5 +>function () { return 3; return 5;} : () => 3 | 5 return 3; ->3 : number +>3 : 3 return 5; ->5 : number +>5 : 5 }(); @@ -255,7 +255,7 @@ function thisFunc() { function opt1(n = 4) { >opt1 : (n?: number) => void >n : number ->4 : number +>4 : 4 var m = n; >m : number @@ -325,13 +325,13 @@ class AnotherClass { private x } var f7: (x: number) => string | number = x => { // should be (x: number) => number | string >f7 : (x: number) => string | number >x : number ->x => { // should be (x: number) => number | string if (x < 0) { return x; } return x.toString();} : (x: number) => number | string +>x => { // should be (x: number) => number | string if (x < 0) { return x; } return x.toString();} : (x: number) => string | number >x : number if (x < 0) { return x; } >x < 0 : boolean >x : number ->0 : number +>0 : 0 >x : number return x.toString(); diff --git a/tests/baselines/reference/functionInIfStatementInModule.types b/tests/baselines/reference/functionInIfStatementInModule.types index 11cdd80f0a1..48dd8f82d79 100644 --- a/tests/baselines/reference/functionInIfStatementInModule.types +++ b/tests/baselines/reference/functionInIfStatementInModule.types @@ -4,7 +4,7 @@ module Midori >Midori : typeof Midori { if (false) { ->false : boolean +>false : false function Foo(src) >Foo : (src: any) => void diff --git a/tests/baselines/reference/functionLiteral.types b/tests/baselines/reference/functionLiteral.types index 06c811093c3..69a7fc44e51 100644 --- a/tests/baselines/reference/functionLiteral.types +++ b/tests/baselines/reference/functionLiteral.types @@ -4,7 +4,7 @@ var x = () => 1; >x : () => number >() => 1 : () => number ->1 : number +>1 : 1 var x: { >x : () => number diff --git a/tests/baselines/reference/functionMergedWithModule.types b/tests/baselines/reference/functionMergedWithModule.types index ec0143f2923..1752016d5fd 100644 --- a/tests/baselines/reference/functionMergedWithModule.types +++ b/tests/baselines/reference/functionMergedWithModule.types @@ -5,7 +5,7 @@ function foo(title: string) { var x = 10; >x : number ->10 : number +>10 : 10 } module foo.Bar { diff --git a/tests/baselines/reference/functionOnlyHasThrow.types b/tests/baselines/reference/functionOnlyHasThrow.types index c4e8cce38a2..18011f10ada 100644 --- a/tests/baselines/reference/functionOnlyHasThrow.types +++ b/tests/baselines/reference/functionOnlyHasThrow.types @@ -5,5 +5,5 @@ function clone():number { throw new Error("To be implemented"); >new Error("To be implemented") : Error >Error : ErrorConstructor ->"To be implemented" : string +>"To be implemented" : "To be implemented" } diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types index aa6fda7222b..6530f5a0a27 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types @@ -8,5 +8,5 @@ function f(x: string): number { >x : string return 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/functionOverloads.errors.txt b/tests/baselines/reference/functionOverloads.errors.txt index bd3bab3388b..5530f813384 100644 --- a/tests/baselines/reference/functionOverloads.errors.txt +++ b/tests/baselines/reference/functionOverloads.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionOverloads.ts(4,13): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionOverloads.ts(4,13): error TS2345: Argument of type '5' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionOverloads.ts (1 errors) ==== @@ -7,4 +7,4 @@ tests/cases/compiler/functionOverloads.ts(4,13): error TS2345: Argument of type function foo(bar?: string): any { return "" }; var x = foo(5); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '5' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/functionOverloads12.types b/tests/baselines/reference/functionOverloads12.types index 5db8ff68cd4..d29f6262844 100644 --- a/tests/baselines/reference/functionOverloads12.types +++ b/tests/baselines/reference/functionOverloads12.types @@ -8,7 +8,7 @@ function foo():number; function foo():any { if (true) return ""; else return 0;} >foo : { (): string; (): number; } ->true : boolean ->"" : string ->0 : number +>true : true +>"" : "" +>0 : 0 diff --git a/tests/baselines/reference/functionOverloads13.types b/tests/baselines/reference/functionOverloads13.types index f26067c7eb8..2e77cf73645 100644 --- a/tests/baselines/reference/functionOverloads13.types +++ b/tests/baselines/reference/functionOverloads13.types @@ -10,5 +10,5 @@ function foo(bar:number):number; function foo(bar?:number):any { return "" } >foo : { (bar: number): string; (bar: number): number; } >bar : number ->"" : string +>"" : "" diff --git a/tests/baselines/reference/functionOverloads14.types b/tests/baselines/reference/functionOverloads14.types index 032ed700545..3e88bd04f88 100644 --- a/tests/baselines/reference/functionOverloads14.types +++ b/tests/baselines/reference/functionOverloads14.types @@ -12,5 +12,5 @@ function foo():{a:any;} { return {a:1} } >a : any >{a:1} : { a: number; } >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/functionOverloads15.types b/tests/baselines/reference/functionOverloads15.types index 8fe428e9a40..86c9fc6a665 100644 --- a/tests/baselines/reference/functionOverloads15.types +++ b/tests/baselines/reference/functionOverloads15.types @@ -16,5 +16,5 @@ function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { a: string; b?: number; } >a : string >b : number ->"" : string +>"" : "" diff --git a/tests/baselines/reference/functionOverloads16.types b/tests/baselines/reference/functionOverloads16.types index e6c6ceb57a6..1d7a4184de1 100644 --- a/tests/baselines/reference/functionOverloads16.types +++ b/tests/baselines/reference/functionOverloads16.types @@ -14,5 +14,5 @@ function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { a: string; b?: number; } >a : string >b : number ->"" : string +>"" : "" diff --git a/tests/baselines/reference/functionOverloads2.errors.txt b/tests/baselines/reference/functionOverloads2.errors.txt index 85a4a882487..60fbe2843d9 100644 --- a/tests/baselines/reference/functionOverloads2.errors.txt +++ b/tests/baselines/reference/functionOverloads2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionOverloads2.ts(4,13): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +tests/cases/compiler/functionOverloads2.ts(4,13): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. ==== tests/cases/compiler/functionOverloads2.ts (1 errors) ==== @@ -7,4 +7,4 @@ tests/cases/compiler/functionOverloads2.ts(4,13): error TS2345: Argument of type function foo(bar: any): any { return bar }; var x = foo(true); ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. \ No newline at end of file +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/functionOverloads21.types b/tests/baselines/reference/functionOverloads21.types index 3b4cf261ea9..4d87e3a123c 100644 --- a/tests/baselines/reference/functionOverloads21.types +++ b/tests/baselines/reference/functionOverloads21.types @@ -15,5 +15,5 @@ function foo(bar:{a:any; b?:string;}[]) { return 0 } >bar : { a: any; b?: string; }[] >a : any >b : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/functionOverloads22.types b/tests/baselines/reference/functionOverloads22.types index 7557b1c049f..ff6b30c084b 100644 --- a/tests/baselines/reference/functionOverloads22.types +++ b/tests/baselines/reference/functionOverloads22.types @@ -18,5 +18,5 @@ function foo(bar:any):{a:any;b?:any;}[] { return [{a:""}] } >[{a:""}] : { a: string; }[] >{a:""} : { a: string; } >a : string ->"" : string +>"" : "" diff --git a/tests/baselines/reference/functionOverloads23.types b/tests/baselines/reference/functionOverloads23.types index ee510a336e1..98970307672 100644 --- a/tests/baselines/reference/functionOverloads23.types +++ b/tests/baselines/reference/functionOverloads23.types @@ -13,5 +13,5 @@ function foo(bar:(a?)=>void) { return 0 } >foo : { (bar: (b: string) => void): any; (bar: (a: number) => void): any; } >bar : (a?: any) => void >a : any ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/functionOverloads25.types b/tests/baselines/reference/functionOverloads25.types index 5b5c3781e74..53539cbc122 100644 --- a/tests/baselines/reference/functionOverloads25.types +++ b/tests/baselines/reference/functionOverloads25.types @@ -9,7 +9,7 @@ function foo(bar:string):number; function foo(bar?:any):any{ return '' }; >foo : { (): string; (bar: string): number; } >bar : any ->'' : string +>'' : "" var x = foo(); >x : string diff --git a/tests/baselines/reference/functionOverloads26.types b/tests/baselines/reference/functionOverloads26.types index 9345507b72e..19f11bcf3fc 100644 --- a/tests/baselines/reference/functionOverloads26.types +++ b/tests/baselines/reference/functionOverloads26.types @@ -9,11 +9,11 @@ function foo(bar:string):number; function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } >bar : any ->'' : string +>'' : "" var x = foo('baz'); >x : number >foo('baz') : number >foo : { (): string; (bar: string): number; } ->'baz' : string +>'baz' : "baz" diff --git a/tests/baselines/reference/functionOverloads27.errors.txt b/tests/baselines/reference/functionOverloads27.errors.txt index a5d16935f2f..2b21de7134b 100644 --- a/tests/baselines/reference/functionOverloads27.errors.txt +++ b/tests/baselines/reference/functionOverloads27.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/functionOverloads27.ts(4,13): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/functionOverloads27.ts(4,13): error TS2345: Argument of type '5' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/functionOverloads27.ts (1 errors) ==== @@ -7,5 +7,5 @@ tests/cases/compiler/functionOverloads27.ts(4,13): error TS2345: Argument of typ function foo(bar?:any):any{ return '' } var x = foo(5); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '5' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/functionOverloads28.types b/tests/baselines/reference/functionOverloads28.types index ae4ab6c0664..96d126adf3e 100644 --- a/tests/baselines/reference/functionOverloads28.types +++ b/tests/baselines/reference/functionOverloads28.types @@ -9,7 +9,7 @@ function foo(bar:string):number; function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } >bar : any ->'' : string +>'' : "" var t:any; var x = foo(t); >t : any diff --git a/tests/baselines/reference/functionOverloads30.types b/tests/baselines/reference/functionOverloads30.types index a97bc0bb74d..fdbefa027ef 100644 --- a/tests/baselines/reference/functionOverloads30.types +++ b/tests/baselines/reference/functionOverloads30.types @@ -16,5 +16,5 @@ var x = foo('bar'); >x : string >foo('bar') : string >foo : { (bar: string): string; (bar: number): number; } ->'bar' : string +>'bar' : "bar" diff --git a/tests/baselines/reference/functionOverloads31.types b/tests/baselines/reference/functionOverloads31.types index c85470ebd65..a80ba71153e 100644 --- a/tests/baselines/reference/functionOverloads31.types +++ b/tests/baselines/reference/functionOverloads31.types @@ -16,5 +16,5 @@ var x = foo(5); >x : number >foo(5) : number >foo : { (bar: string): string; (bar: number): number; } ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/functionOverloads33.types b/tests/baselines/reference/functionOverloads33.types index 3d57c983305..99d8f429b80 100644 --- a/tests/baselines/reference/functionOverloads33.types +++ b/tests/baselines/reference/functionOverloads33.types @@ -16,5 +16,5 @@ var x = foo(5); >x : number >foo(5) : number >foo : { (bar: string): string; (bar: any): number; } ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/functionOverloads35.types b/tests/baselines/reference/functionOverloads35.types index 1b811cf4246..8686bc2fdf8 100644 --- a/tests/baselines/reference/functionOverloads35.types +++ b/tests/baselines/reference/functionOverloads35.types @@ -21,5 +21,5 @@ var x = foo({a:1}); >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >{a:1} : { a: number; } >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/functionOverloads36.types b/tests/baselines/reference/functionOverloads36.types index c8c1f7cede8..8a78f466d34 100644 --- a/tests/baselines/reference/functionOverloads36.types +++ b/tests/baselines/reference/functionOverloads36.types @@ -21,5 +21,5 @@ var x = foo({a:'foo'}); >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >{a:'foo'} : { a: string; } >a : string ->'foo' : string +>'foo' : "foo" diff --git a/tests/baselines/reference/functionOverloads38.types b/tests/baselines/reference/functionOverloads38.types index d718569c9bf..e8b32f78e7c 100644 --- a/tests/baselines/reference/functionOverloads38.types +++ b/tests/baselines/reference/functionOverloads38.types @@ -22,5 +22,5 @@ var x = foo([{a:1}]); >[{a:1}] : { a: number; }[] >{a:1} : { a: number; } >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/functionOverloads39.types b/tests/baselines/reference/functionOverloads39.types index 78c0e78bca1..058a98680f6 100644 --- a/tests/baselines/reference/functionOverloads39.types +++ b/tests/baselines/reference/functionOverloads39.types @@ -19,8 +19,8 @@ var x = foo([{a:true}]); >x : number >foo([{a:true}]) : number >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } ->[{a:true}] : { a: boolean; }[] ->{a:true} : { a: boolean; } +>[{a:true}] : { a: true; }[] +>{a:true} : { a: true; } >a : boolean ->true : boolean +>true : true diff --git a/tests/baselines/reference/functionOverloads40.errors.txt b/tests/baselines/reference/functionOverloads40.errors.txt index f965a4eb9e1..d871946cde2 100644 --- a/tests/baselines/reference/functionOverloads40.errors.txt +++ b/tests/baselines/reference/functionOverloads40.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/functionOverloads40.ts(4,13): error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. - Type '{ a: string; }' is not assignable to type '{ a: boolean; }'. +tests/cases/compiler/functionOverloads40.ts(4,13): error TS2345: Argument of type '{ a: "bar"; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. + Type '{ a: "bar"; }' is not assignable to type '{ a: boolean; }'. Types of property 'a' are incompatible. - Type 'string' is not assignable to type 'boolean'. + Type '"bar"' is not assignable to type 'boolean'. ==== tests/cases/compiler/functionOverloads40.ts (1 errors) ==== @@ -10,8 +10,8 @@ tests/cases/compiler/functionOverloads40.ts(4,13): error TS2345: Argument of typ function foo(bar:{a:any;}[]):any{ return bar } var x = foo([{a:'bar'}]); ~~~~~~~~~~~ -!!! error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. -!!! error TS2345: Type '{ a: string; }' is not assignable to type '{ a: boolean; }'. +!!! error TS2345: Argument of type '{ a: "bar"; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. +!!! error TS2345: Type '{ a: "bar"; }' is not assignable to type '{ a: boolean; }'. !!! error TS2345: Types of property 'a' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'boolean'. +!!! error TS2345: Type '"bar"' is not assignable to type 'boolean'. \ No newline at end of file diff --git a/tests/baselines/reference/functionOverloads42.types b/tests/baselines/reference/functionOverloads42.types index 32e99d46aa1..e709ea8b7ef 100644 --- a/tests/baselines/reference/functionOverloads42.types +++ b/tests/baselines/reference/functionOverloads42.types @@ -22,5 +22,5 @@ var x = foo([{a:'s'}]); >[{a:'s'}] : { a: string; }[] >{a:'s'} : { a: string; } >a : string ->'s' : string +>'s' : "s" diff --git a/tests/baselines/reference/functionOverloads43.types b/tests/baselines/reference/functionOverloads43.types index 7c0fa8eb818..41a29fd0fe3 100644 --- a/tests/baselines/reference/functionOverloads43.types +++ b/tests/baselines/reference/functionOverloads43.types @@ -11,16 +11,16 @@ function foo(bar: { a:string }[]): string; function foo([x]: { a:number | string }[]): string | number { >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } ->x : { a: number | string; } ->a : number | string +>x : { a: string | number; } +>a : string | number if (x) { ->x : { a: number | string; } +>x : { a: string | number; } return x.a; ->x.a : number | string ->x : { a: number | string; } ->a : number | string +>x.a : string | number +>x : { a: string | number; } +>a : string | number } return undefined; @@ -34,7 +34,7 @@ var x = foo([{a: "str"}]); >[{a: "str"}] : { a: string; }[] >{a: "str"} : { a: string; } >a : string ->"str" : string +>"str" : "str" var y = foo([{a: 100}]); >y : number @@ -43,5 +43,5 @@ var y = foo([{a: 100}]); >[{a: 100}] : { a: number; }[] >{a: 100} : { a: number; } >a : number ->100 : number +>100 : 100 diff --git a/tests/baselines/reference/functionOverloads44.types b/tests/baselines/reference/functionOverloads44.types index 56cad09b472..af046ba7206 100644 --- a/tests/baselines/reference/functionOverloads44.types +++ b/tests/baselines/reference/functionOverloads44.types @@ -27,8 +27,8 @@ function foo1(bar: { a:string }[]): Animal; function foo1([x]: { a:number | string }[]): Dog { >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } ->x : { a: number | string; } ->a : number | string +>x : { a: string | number; } +>a : string | number >Dog : Dog return undefined; @@ -36,22 +36,22 @@ function foo1([x]: { a:number | string }[]): Dog { } function foo2(bar: { a:number }[]): Cat; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } >bar : { a: number; }[] >a : number >Cat : Cat function foo2(bar: { a:string }[]): Cat | Dog; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } >bar : { a: string; }[] >a : string >Cat : Cat >Dog : Dog function foo2([x]: { a:number | string }[]): Cat { ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } ->x : { a: number | string; } ->a : number | string +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } +>x : { a: string | number; } +>a : string | number >Cat : Cat return undefined; @@ -66,7 +66,7 @@ var x1 = foo1([{a: "str"}]); >[{a: "str"}] : { a: string; }[] >{a: "str"} : { a: string; } >a : string ->"str" : string +>"str" : "str" var y1 = foo1([{a: 100}]); >y1 : Dog @@ -75,23 +75,23 @@ var y1 = foo1([{a: 100}]); >[{a: 100}] : { a: number; }[] >{a: 100} : { a: number; } >a : number ->100 : number +>100 : 100 var x2 = foo2([{a: "str"}]); ->x2 : Cat | Dog ->foo2([{a: "str"}]) : Cat | Dog ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +>x2 : Dog | Cat +>foo2([{a: "str"}]) : Dog | Cat +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } >[{a: "str"}] : { a: string; }[] >{a: "str"} : { a: string; } >a : string ->"str" : string +>"str" : "str" var y2 = foo2([{a: 100}]); >y2 : Cat >foo2([{a: 100}]) : Cat ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } >[{a: 100}] : { a: number; }[] >{a: 100} : { a: number; } >a : number ->100 : number +>100 : 100 diff --git a/tests/baselines/reference/functionOverloads45.types b/tests/baselines/reference/functionOverloads45.types index 257a615e334..ca778e68056 100644 --- a/tests/baselines/reference/functionOverloads45.types +++ b/tests/baselines/reference/functionOverloads45.types @@ -27,8 +27,8 @@ function foo1(bar: { a:string }[]): Dog; function foo1([x]: { a:number | string }[]): Animal { >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } ->x : { a: number | string; } ->a : number | string +>x : { a: string | number; } +>a : string | number >Animal : Animal return undefined; @@ -49,8 +49,8 @@ function foo2(bar: { a:string }[]): Dog; function foo2([x]: { a:number | string }[]): Cat | Dog { >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } ->x : { a: number | string; } ->a : number | string +>x : { a: string | number; } +>a : string | number >Cat : Cat >Dog : Dog @@ -66,7 +66,7 @@ var x1 = foo1([{a: "str"}]); >[{a: "str"}] : { a: string; }[] >{a: "str"} : { a: string; } >a : string ->"str" : string +>"str" : "str" var y1 = foo1([{a: 100}]); >y1 : Cat @@ -75,7 +75,7 @@ var y1 = foo1([{a: 100}]); >[{a: 100}] : { a: number; }[] >{a: 100} : { a: number; } >a : number ->100 : number +>100 : 100 var x2 = foo2([{a: "str"}]); >x2 : Dog @@ -84,7 +84,7 @@ var x2 = foo2([{a: "str"}]); >[{a: "str"}] : { a: string; }[] >{a: "str"} : { a: string; } >a : string ->"str" : string +>"str" : "str" var y2 = foo2([{a: 100}]); >y2 : Cat @@ -93,5 +93,5 @@ var y2 = foo2([{a: 100}]); >[{a: 100}] : { a: number; }[] >{a: 100} : { a: number; } >a : number ->100 : number +>100 : 100 diff --git a/tests/baselines/reference/functionOverloads7.types b/tests/baselines/reference/functionOverloads7.types index 7160068126f..5bbc25dd5e2 100644 --- a/tests/baselines/reference/functionOverloads7.types +++ b/tests/baselines/reference/functionOverloads7.types @@ -12,7 +12,7 @@ class foo { private bar(foo?: any){ return "foo" } >bar : { (): any; (foo: string): any; } >foo : any ->"foo" : string +>"foo" : "foo" public n() { >n : () => void @@ -31,7 +31,7 @@ class foo { >this.bar : { (): any; (foo: string): any; } >this : this >bar : { (): any; (foo: string): any; } ->"test" : string +>"test" : "test" } } diff --git a/tests/baselines/reference/functionOverloads8.types b/tests/baselines/reference/functionOverloads8.types index 4751533e2af..c6876cdbe8f 100644 --- a/tests/baselines/reference/functionOverloads8.types +++ b/tests/baselines/reference/functionOverloads8.types @@ -9,5 +9,5 @@ function foo(foo:string); function foo(foo?:any){ return '' } >foo : { (): any; (foo: string): any; } >foo : any ->'' : string +>'' : "" diff --git a/tests/baselines/reference/functionOverloads9.types b/tests/baselines/reference/functionOverloads9.types index 88586c32eb2..6b7e1992f99 100644 --- a/tests/baselines/reference/functionOverloads9.types +++ b/tests/baselines/reference/functionOverloads9.types @@ -6,11 +6,11 @@ function foo(foo:string); function foo(foo?:string){ return '' }; >foo : (foo: string) => any >foo : string ->'' : string +>'' : "" var x = foo('foo'); >x : any >foo('foo') : any >foo : (foo: string) => any ->'foo' : string +>'foo' : "foo" diff --git a/tests/baselines/reference/functionReturn.types b/tests/baselines/reference/functionReturn.types index f9c0b36fbc2..7b8f58de2a8 100644 --- a/tests/baselines/reference/functionReturn.types +++ b/tests/baselines/reference/functionReturn.types @@ -21,7 +21,7 @@ function f4(): string { >f4 : () => string return ''; ->'' : string +>'' : "" return; } @@ -29,7 +29,7 @@ function f5(): string { >f5 : () => string return ''; ->'' : string +>'' : "" return undefined; >undefined : undefined diff --git a/tests/baselines/reference/functionType.types b/tests/baselines/reference/functionType.types index ac3d5c9944d..985a66f435d 100644 --- a/tests/baselines/reference/functionType.types +++ b/tests/baselines/reference/functionType.types @@ -7,7 +7,7 @@ salt.apply("hello", []); >salt.apply : (this: Function, thisArg: any, argArray?: any) => any >salt : () => void >apply : (this: Function, thisArg: any, argArray?: any) => any ->"hello" : string +>"hello" : "hello" >[] : undefined[] (new Function("return 5"))(); @@ -15,7 +15,7 @@ salt.apply("hello", []); >(new Function("return 5")) : Function >new Function("return 5") : Function >Function : FunctionConstructor ->"return 5" : string +>"return 5" : "return 5" diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements1.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements1.types index d695157db40..c45eb6f59cd 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements1.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements1.types @@ -2,5 +2,5 @@ function foo(x = 0) { } >foo : (x?: number) => void >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements10.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements10.types index 8f8f03fafb1..783b0f72422 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements10.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements10.types @@ -3,11 +3,11 @@ function foo(a = [0]) { } >foo : (a?: number[]) => void >a : number[] >[0] : number[] ->0 : number +>0 : 0 function bar(a = [0]) { >bar : (a?: number[]) => void >a : number[] >[0] : number[] ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements11.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements11.types index e0a87bb2656..c548b0d5e92 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements11.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements11.types @@ -7,12 +7,12 @@ function foo(a = v[0]) { } >a : any >v[0] : any >v : any[] ->0 : number +>0 : 0 function bar(a = v[0]) { >bar : (a?: any) => void >a : any >v[0] : any >v : any[] ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements13.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements13.types index 58c2009886a..63b66352e54 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements13.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements13.types @@ -7,14 +7,14 @@ function foo(a = [1 + 1]) { } >a : number[] >[1 + 1] : number[] >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 function bar(a = [1 + 1]) { >bar : (a?: number[]) => void >a : number[] >[1 + 1] : number[] >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements14.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements14.types index 2a5fbab6919..b88e03e5cce 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements14.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements14.types @@ -8,8 +8,8 @@ function foo(a = v[1 + 1]) { } >v[1 + 1] : any >v : any[] >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 function bar(a = v[1 + 1]) { >bar : (a?: any) => void @@ -17,6 +17,6 @@ function bar(a = v[1 + 1]) { >v[1 + 1] : any >v : any[] >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements15.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements15.types index e35f5a5f4e0..99020ba020a 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements15.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements15.types @@ -7,14 +7,14 @@ function foo(a = (1 + 1)) { } >a : number >(1 + 1) : number >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 function bar(a = (1 + 1)) { >bar : (a?: number) => void >a : number >(1 + 1) : number >1 + 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements2.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements2.types index 76b6b56dfa4..ac34fa3ad51 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements2.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements2.types @@ -2,5 +2,5 @@ function foo(x = 0) { >foo : (x?: number) => void >x : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements3.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements3.types index 4254c0d28a9..6d10e3fe396 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements3.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements3.types @@ -2,10 +2,10 @@ function foo(a = "") { } >foo : (a?: string) => void >a : string ->"" : string +>"" : "" function bar(a = "") { >bar : (a?: string) => void >a : string ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements5.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements5.types index 99e93927e0a..52ef4b0bca0 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements5.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements5.types @@ -2,10 +2,10 @@ function foo(a = 0) { } >foo : (a?: number) => void >a : number ->0 : number +>0 : 0 function bar(a = 0) { >bar : (a?: number) => void >a : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements6.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements6.types index 6100a6dedce..d47f63a0ba4 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements6.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements6.types @@ -2,10 +2,10 @@ function foo(a = true) { } >foo : (a?: boolean) => void >a : boolean ->true : boolean +>true : true function bar(a = true) { >bar : (a?: boolean) => void >a : boolean ->true : boolean +>true : true } diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements7.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements7.types index 866087a9f9b..987691e14e4 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements7.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements7.types @@ -2,10 +2,10 @@ function foo(a = false) { } >foo : (a?: boolean) => void >a : boolean ->false : boolean +>false : false function bar(a = false) { >bar : (a?: boolean) => void >a : boolean ->false : boolean +>false : false } diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements.errors.txt b/tests/baselines/reference/functionWithMultipleReturnStatements.errors.txt deleted file mode 100644 index cc10d4c782c..00000000000 --- a/tests/baselines/reference/functionWithMultipleReturnStatements.errors.txt +++ /dev/null @@ -1,85 +0,0 @@ -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(5,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(13,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(23,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(32,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(44,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(49,10): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts (6 errors) ==== - - // return type of a function with multiple returns is the BCT of each return statement - // it is an error if there is no single BCT, these are error cases - - function f1() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return 1; - } else { - return ''; - } - } - - function f2() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return 1; - } else if (false) { - return 2; - } else { - return ''; - } - } - - function f3() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - try { - return 1; - } - catch (e) { - return ''; - } - } - - function f4() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - try { - return 1; - } - catch (e) { - - } - finally { - return ''; - } - } - - function f5() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - return 1; - return ''; - } - - function f6(x: T, y:U) { - ~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return x; - } else { - return y; - } - } - - function f8(x: T, y: U) { - if (true) { - return x; - } else { - return y; - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements.symbols b/tests/baselines/reference/functionWithMultipleReturnStatements.symbols new file mode 100644 index 00000000000..a33db459640 --- /dev/null +++ b/tests/baselines/reference/functionWithMultipleReturnStatements.symbols @@ -0,0 +1,103 @@ +=== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts === + +// return type of a function with multiple returns is the BCT of each return statement +// it is an error if there is no single BCT, these are error cases + +function f1() { +>f1 : Symbol(f1, Decl(functionWithMultipleReturnStatements.ts, 0, 0)) + + if (true) { + return 1; + } else { + return ''; + } +} + +function f2() { +>f2 : Symbol(f2, Decl(functionWithMultipleReturnStatements.ts, 10, 1)) + + if (true) { + return 1; + } else if (false) { + return 2; + } else { + return ''; + } +} + +function f3() { +>f3 : Symbol(f3, Decl(functionWithMultipleReturnStatements.ts, 20, 1)) + + try { + return 1; + } + catch (e) { +>e : Symbol(e, Decl(functionWithMultipleReturnStatements.ts, 26, 11)) + + return ''; + } +} + +function f4() { +>f4 : Symbol(f4, Decl(functionWithMultipleReturnStatements.ts, 29, 1)) + + try { + return 1; + } + catch (e) { +>e : Symbol(e, Decl(functionWithMultipleReturnStatements.ts, 35, 11)) + + } + finally { + return ''; + } +} + +function f5() { +>f5 : Symbol(f5, Decl(functionWithMultipleReturnStatements.ts, 41, 1)) + + return 1; + return ''; +} + +function f6(x: T, y:U) { +>f6 : Symbol(f6, Decl(functionWithMultipleReturnStatements.ts, 46, 1)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements.ts, 48, 12)) +>U : Symbol(U, Decl(functionWithMultipleReturnStatements.ts, 48, 14)) +>x : Symbol(x, Decl(functionWithMultipleReturnStatements.ts, 48, 18)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements.ts, 48, 12)) +>y : Symbol(y, Decl(functionWithMultipleReturnStatements.ts, 48, 23)) +>U : Symbol(U, Decl(functionWithMultipleReturnStatements.ts, 48, 14)) + + if (true) { + return x; +>x : Symbol(x, Decl(functionWithMultipleReturnStatements.ts, 48, 18)) + + } else { + return y; +>y : Symbol(y, Decl(functionWithMultipleReturnStatements.ts, 48, 23)) + } +} + +function f8(x: T, y: U) { +>f8 : Symbol(f8, Decl(functionWithMultipleReturnStatements.ts, 54, 1)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements.ts, 56, 12)) +>U : Symbol(U, Decl(functionWithMultipleReturnStatements.ts, 56, 24)) +>U : Symbol(U, Decl(functionWithMultipleReturnStatements.ts, 56, 24)) +>V : Symbol(V, Decl(functionWithMultipleReturnStatements.ts, 56, 37)) +>V : Symbol(V, Decl(functionWithMultipleReturnStatements.ts, 56, 37)) +>x : Symbol(x, Decl(functionWithMultipleReturnStatements.ts, 56, 41)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements.ts, 56, 12)) +>y : Symbol(y, Decl(functionWithMultipleReturnStatements.ts, 56, 46)) +>U : Symbol(U, Decl(functionWithMultipleReturnStatements.ts, 56, 24)) + + if (true) { + return x; +>x : Symbol(x, Decl(functionWithMultipleReturnStatements.ts, 56, 41)) + + } else { + return y; +>y : Symbol(y, Decl(functionWithMultipleReturnStatements.ts, 56, 46)) + } +} + diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements.types b/tests/baselines/reference/functionWithMultipleReturnStatements.types new file mode 100644 index 00000000000..775ca52e1db --- /dev/null +++ b/tests/baselines/reference/functionWithMultipleReturnStatements.types @@ -0,0 +1,128 @@ +=== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts === + +// return type of a function with multiple returns is the BCT of each return statement +// it is an error if there is no single BCT, these are error cases + +function f1() { +>f1 : () => "" | 1 + + if (true) { +>true : true + + return 1; +>1 : 1 + + } else { + return ''; +>'' : "" + } +} + +function f2() { +>f2 : () => "" | 1 | 2 + + if (true) { +>true : true + + return 1; +>1 : 1 + + } else if (false) { +>false : false + + return 2; +>2 : 2 + + } else { + return ''; +>'' : "" + } +} + +function f3() { +>f3 : () => "" | 1 + + try { + return 1; +>1 : 1 + } + catch (e) { +>e : any + + return ''; +>'' : "" + } +} + +function f4() { +>f4 : () => "" | 1 + + try { + return 1; +>1 : 1 + } + catch (e) { +>e : any + + } + finally { + return ''; +>'' : "" + } +} + +function f5() { +>f5 : () => "" | 1 + + return 1; +>1 : 1 + + return ''; +>'' : "" +} + +function f6(x: T, y:U) { +>f6 : (x: T, y: U) => T | U +>T : T +>U : U +>x : T +>T : T +>y : U +>U : U + + if (true) { +>true : true + + return x; +>x : T + + } else { + return y; +>y : U + } +} + +function f8(x: T, y: U) { +>f8 : (x: T, y: U) => U +>T : T +>U : U +>U : U +>V : V +>V : V +>x : T +>T : T +>y : U +>U : U + + if (true) { +>true : true + + return x; +>x : T + + } else { + return y; +>y : U + } +} + diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.errors.txt b/tests/baselines/reference/functionWithMultipleReturnStatements2.errors.txt deleted file mode 100644 index 0399c7a79a6..00000000000 --- a/tests/baselines/reference/functionWithMultipleReturnStatements2.errors.txt +++ /dev/null @@ -1,101 +0,0 @@ -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts(59,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts(68,10): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts (2 errors) ==== - - // return type of a function with multiple returns is the BCT of each return statement - // no errors expected here - - function f1() { - if (true) { - return 1; - } else { - return null; - } - } - - function f2() { - if (true) { - return 1; - } else if (false) { - return null; - } else { - return 2; - } - } - - function f4() { - try { - return 1; - } - catch (e) { - return undefined; - } - finally { - return 1; - } - } - - function f5() { - return 1; - return new Object(); - } - - function f6(x: T) { - if (true) { - return x; - } else { - return null; - } - } - - //function f7(x: T, y: U) { - // if (true) { - // return x; - // } else { - // return y; - // } - //} - - var a: { x: number; y?: number }; - var b: { x: number; z?: number }; - // returns typeof a - function f9() { - ~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return a; - } else { - return b; - } - } - - // returns typeof b - function f10() { - ~~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return b; - } else { - return a; - } - } - - // returns number => void - function f11() { - if (true) { - return (x: number) => { } - } else { - return (x: Object) => { } - } - } - - // returns Object => void - function f12() { - if (true) { - return (x: Object) => { } - } else { - return (x: number) => { } - } - } \ No newline at end of file diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols b/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols new file mode 100644 index 00000000000..39cad6bc414 --- /dev/null +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.symbols @@ -0,0 +1,142 @@ +=== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts === + +// return type of a function with multiple returns is the BCT of each return statement +// no errors expected here + +function f1() { +>f1 : Symbol(f1, Decl(functionWithMultipleReturnStatements2.ts, 0, 0)) + + if (true) { + return 1; + } else { + return null; + } +} + +function f2() { +>f2 : Symbol(f2, Decl(functionWithMultipleReturnStatements2.ts, 10, 1)) + + if (true) { + return 1; + } else if (false) { + return null; + } else { + return 2; + } +} + +function f4() { +>f4 : Symbol(f4, Decl(functionWithMultipleReturnStatements2.ts, 20, 1)) + + try { + return 1; + } + catch (e) { +>e : Symbol(e, Decl(functionWithMultipleReturnStatements2.ts, 26, 11)) + + return undefined; +>undefined : Symbol(undefined) + } + finally { + return 1; + } +} + +function f5() { +>f5 : Symbol(f5, Decl(functionWithMultipleReturnStatements2.ts, 32, 1)) + + return 1; + return new Object(); +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +function f6(x: T) { +>f6 : Symbol(f6, Decl(functionWithMultipleReturnStatements2.ts, 37, 1)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements2.ts, 39, 12)) +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 39, 15)) +>T : Symbol(T, Decl(functionWithMultipleReturnStatements2.ts, 39, 12)) + + if (true) { + return x; +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 39, 15)) + + } else { + return null; + } +} + +//function f7(x: T, y: U) { +// if (true) { +// return x; +// } else { +// return y; +// } +//} + +var a: { x: number; y?: number }; +>a : Symbol(a, Decl(functionWithMultipleReturnStatements2.ts, 55, 3)) +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 55, 8)) +>y : Symbol(y, Decl(functionWithMultipleReturnStatements2.ts, 55, 19)) + +var b: { x: number; z?: number }; +>b : Symbol(b, Decl(functionWithMultipleReturnStatements2.ts, 56, 3)) +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 56, 8)) +>z : Symbol(z, Decl(functionWithMultipleReturnStatements2.ts, 56, 19)) + +// returns typeof a +function f9() { +>f9 : Symbol(f9, Decl(functionWithMultipleReturnStatements2.ts, 56, 33)) + + if (true) { + return a; +>a : Symbol(a, Decl(functionWithMultipleReturnStatements2.ts, 55, 3)) + + } else { + return b; +>b : Symbol(b, Decl(functionWithMultipleReturnStatements2.ts, 56, 3)) + } +} + +// returns typeof b +function f10() { +>f10 : Symbol(f10, Decl(functionWithMultipleReturnStatements2.ts, 64, 1)) + + if (true) { + return b; +>b : Symbol(b, Decl(functionWithMultipleReturnStatements2.ts, 56, 3)) + + } else { + return a; +>a : Symbol(a, Decl(functionWithMultipleReturnStatements2.ts, 55, 3)) + } +} + +// returns number => void +function f11() { +>f11 : Symbol(f11, Decl(functionWithMultipleReturnStatements2.ts, 73, 1)) + + if (true) { + return (x: number) => { } +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 78, 16)) + + } else { + return (x: Object) => { } +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 80, 16)) +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + } +} + +// returns Object => void +function f12() { +>f12 : Symbol(f12, Decl(functionWithMultipleReturnStatements2.ts, 82, 1)) + + if (true) { + return (x: Object) => { } +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 87, 16)) +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + + } else { + return (x: number) => { } +>x : Symbol(x, Decl(functionWithMultipleReturnStatements2.ts, 89, 16)) + } +} diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.types b/tests/baselines/reference/functionWithMultipleReturnStatements2.types new file mode 100644 index 00000000000..4615299bbf1 --- /dev/null +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.types @@ -0,0 +1,176 @@ +=== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts === + +// return type of a function with multiple returns is the BCT of each return statement +// no errors expected here + +function f1() { +>f1 : () => number + + if (true) { +>true : true + + return 1; +>1 : 1 + + } else { + return null; +>null : null + } +} + +function f2() { +>f2 : () => 1 | 2 + + if (true) { +>true : true + + return 1; +>1 : 1 + + } else if (false) { +>false : false + + return null; +>null : null + + } else { + return 2; +>2 : 2 + } +} + +function f4() { +>f4 : () => number + + try { + return 1; +>1 : 1 + } + catch (e) { +>e : any + + return undefined; +>undefined : undefined + } + finally { + return 1; +>1 : 1 + } +} + +function f5() { +>f5 : () => Object + + return 1; +>1 : 1 + + return new Object(); +>new Object() : Object +>Object : ObjectConstructor +} + +function f6(x: T) { +>f6 : (x: T) => T +>T : T +>x : T +>T : T + + if (true) { +>true : true + + return x; +>x : T + + } else { + return null; +>null : null + } +} + +//function f7(x: T, y: U) { +// if (true) { +// return x; +// } else { +// return y; +// } +//} + +var a: { x: number; y?: number }; +>a : { x: number; y?: number; } +>x : number +>y : number + +var b: { x: number; z?: number }; +>b : { x: number; z?: number; } +>x : number +>z : number + +// returns typeof a +function f9() { +>f9 : () => { x: number; y?: number; } | { x: number; z?: number; } + + if (true) { +>true : true + + return a; +>a : { x: number; y?: number; } + + } else { + return b; +>b : { x: number; z?: number; } + } +} + +// returns typeof b +function f10() { +>f10 : () => { x: number; y?: number; } | { x: number; z?: number; } + + if (true) { +>true : true + + return b; +>b : { x: number; z?: number; } + + } else { + return a; +>a : { x: number; y?: number; } + } +} + +// returns number => void +function f11() { +>f11 : () => (x: number) => void + + if (true) { +>true : true + + return (x: number) => { } +>(x: number) => { } : (x: number) => void +>x : number + + } else { + return (x: Object) => { } +>(x: Object) => { } : (x: Object) => void +>x : Object +>Object : Object + } +} + +// returns Object => void +function f12() { +>f12 : () => (x: Object) => void + + if (true) { +>true : true + + return (x: Object) => { } +>(x: Object) => { } : (x: Object) => void +>x : Object +>Object : Object + + } else { + return (x: number) => { } +>(x: number) => { } : (x: number) => void +>x : number + } +} diff --git a/tests/baselines/reference/functionWithNoBestCommonType1.errors.txt b/tests/baselines/reference/functionWithNoBestCommonType1.errors.txt deleted file mode 100644 index 86234b7dd81..00000000000 --- a/tests/baselines/reference/functionWithNoBestCommonType1.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -tests/cases/compiler/functionWithNoBestCommonType1.ts(2,10): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/compiler/functionWithNoBestCommonType1.ts (1 errors) ==== - - function foo() { - ~~~ -!!! error TS2354: No best common type exists among return expressions. - return true; - return bar(); - } - - function bar(): void { - } \ No newline at end of file diff --git a/tests/baselines/reference/functionWithNoBestCommonType1.symbols b/tests/baselines/reference/functionWithNoBestCommonType1.symbols new file mode 100644 index 00000000000..826b23f1b48 --- /dev/null +++ b/tests/baselines/reference/functionWithNoBestCommonType1.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/functionWithNoBestCommonType1.ts === + +function foo() { +>foo : Symbol(foo, Decl(functionWithNoBestCommonType1.ts, 0, 0)) + + return true; + return bar(); +>bar : Symbol(bar, Decl(functionWithNoBestCommonType1.ts, 4, 1)) +} + +function bar(): void { +>bar : Symbol(bar, Decl(functionWithNoBestCommonType1.ts, 4, 1)) +} diff --git a/tests/baselines/reference/functionWithNoBestCommonType1.types b/tests/baselines/reference/functionWithNoBestCommonType1.types new file mode 100644 index 00000000000..f93ffad3379 --- /dev/null +++ b/tests/baselines/reference/functionWithNoBestCommonType1.types @@ -0,0 +1,16 @@ +=== tests/cases/compiler/functionWithNoBestCommonType1.ts === + +function foo() { +>foo : () => true | void + + return true; +>true : true + + return bar(); +>bar() : void +>bar : () => void +} + +function bar(): void { +>bar : () => void +} diff --git a/tests/baselines/reference/functionWithNoBestCommonType2.errors.txt b/tests/baselines/reference/functionWithNoBestCommonType2.errors.txt deleted file mode 100644 index 6ce898e447c..00000000000 --- a/tests/baselines/reference/functionWithNoBestCommonType2.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -tests/cases/compiler/functionWithNoBestCommonType2.ts(2,9): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/compiler/functionWithNoBestCommonType2.ts (1 errors) ==== - - var v = function () { - ~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. - return true; - return bar(); - }; - - function bar(): void { - } \ No newline at end of file diff --git a/tests/baselines/reference/functionWithNoBestCommonType2.symbols b/tests/baselines/reference/functionWithNoBestCommonType2.symbols new file mode 100644 index 00000000000..f32f86e67a9 --- /dev/null +++ b/tests/baselines/reference/functionWithNoBestCommonType2.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/functionWithNoBestCommonType2.ts === + +var v = function () { +>v : Symbol(v, Decl(functionWithNoBestCommonType2.ts, 1, 3)) + + return true; + return bar(); +>bar : Symbol(bar, Decl(functionWithNoBestCommonType2.ts, 4, 2)) + +}; + +function bar(): void { +>bar : Symbol(bar, Decl(functionWithNoBestCommonType2.ts, 4, 2)) +} diff --git a/tests/baselines/reference/functionWithNoBestCommonType2.types b/tests/baselines/reference/functionWithNoBestCommonType2.types new file mode 100644 index 00000000000..76fdbda535f --- /dev/null +++ b/tests/baselines/reference/functionWithNoBestCommonType2.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/functionWithNoBestCommonType2.ts === + +var v = function () { +>v : () => true | void +>function () { return true; return bar();} : () => true | void + + return true; +>true : true + + return bar(); +>bar() : void +>bar : () => void + +}; + +function bar(): void { +>bar : () => void +} diff --git a/tests/baselines/reference/functionWithThrowButNoReturn1.types b/tests/baselines/reference/functionWithThrowButNoReturn1.types index c136d8a4076..462d5b9c88a 100644 --- a/tests/baselines/reference/functionWithThrowButNoReturn1.types +++ b/tests/baselines/reference/functionWithThrowButNoReturn1.types @@ -5,7 +5,7 @@ function fn(): number { throw new Error('NYI'); >new Error('NYI') : Error >Error : ErrorConstructor ->'NYI' : string +>'NYI' : "NYI" var t; >t : any diff --git a/tests/baselines/reference/functionsInClassExpressions.types b/tests/baselines/reference/functionsInClassExpressions.types index ee4b5696cc1..b00f3df3490 100644 --- a/tests/baselines/reference/functionsInClassExpressions.types +++ b/tests/baselines/reference/functionsInClassExpressions.types @@ -12,7 +12,7 @@ let Foo = class { } bar = 0; >bar : number ->0 : number +>0 : 0 inc = () => { >inc : () => void diff --git a/tests/baselines/reference/functionsWithModifiersInBlocks1.js b/tests/baselines/reference/functionsWithModifiersInBlocks1.js index 757fe509747..3edd17321cb 100644 --- a/tests/baselines/reference/functionsWithModifiersInBlocks1.js +++ b/tests/baselines/reference/functionsWithModifiersInBlocks1.js @@ -8,5 +8,4 @@ //// [functionsWithModifiersInBlocks1.js] { function f() { } - exports.f = f; } diff --git a/tests/baselines/reference/funduleOfFunctionWithoutReturnTypeAnnotation.types b/tests/baselines/reference/funduleOfFunctionWithoutReturnTypeAnnotation.types index 2d71370c2ac..e58cf1551fa 100644 --- a/tests/baselines/reference/funduleOfFunctionWithoutReturnTypeAnnotation.types +++ b/tests/baselines/reference/funduleOfFunctionWithoutReturnTypeAnnotation.types @@ -12,6 +12,6 @@ module fn { export var n = 1; >n : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/generatedContextualTyping.js b/tests/baselines/reference/generatedContextualTyping.js index 8093c8bec41..e5488121d34 100644 --- a/tests/baselines/reference/generatedContextualTyping.js +++ b/tests/baselines/reference/generatedContextualTyping.js @@ -612,219 +612,219 @@ var x48 = (function () { var x49 = (function () { function x49() { } - x49.member = function () { return [d1, d2]; }; return x49; }()); +x49.member = function () { return [d1, d2]; }; var x50 = (function () { function x50() { } - x50.member = function () { return [d1, d2]; }; return x50; }()); +x50.member = function () { return [d1, d2]; }; var x51 = (function () { function x51() { } - x51.member = function named() { return [d1, d2]; }; return x51; }()); +x51.member = function named() { return [d1, d2]; }; var x52 = (function () { function x52() { } - x52.member = function () { return [d1, d2]; }; return x52; }()); +x52.member = function () { return [d1, d2]; }; var x53 = (function () { function x53() { } - x53.member = function () { return [d1, d2]; }; return x53; }()); +x53.member = function () { return [d1, d2]; }; var x54 = (function () { function x54() { } - x54.member = function named() { return [d1, d2]; }; return x54; }()); +x54.member = function named() { return [d1, d2]; }; var x55 = (function () { function x55() { } - x55.member = [d1, d2]; return x55; }()); +x55.member = [d1, d2]; var x56 = (function () { function x56() { } - x56.member = [d1, d2]; return x56; }()); +x56.member = [d1, d2]; var x57 = (function () { function x57() { } - x57.member = [d1, d2]; return x57; }()); +x57.member = [d1, d2]; var x58 = (function () { function x58() { } - x58.member = { n: [d1, d2] }; return x58; }()); +x58.member = { n: [d1, d2] }; var x59 = (function () { function x59() { } - x59.member = function (n) { var n; return null; }; return x59; }()); +x59.member = function (n) { var n; return null; }; var x60 = (function () { function x60() { } - x60.member = { func: function (n) { return [d1, d2]; } }; return x60; }()); +x60.member = { func: function (n) { return [d1, d2]; } }; var x61 = (function () { function x61() { } - x61.member = function () { return [d1, d2]; }; return x61; }()); +x61.member = function () { return [d1, d2]; }; var x62 = (function () { function x62() { } - x62.member = function () { return [d1, d2]; }; return x62; }()); +x62.member = function () { return [d1, d2]; }; var x63 = (function () { function x63() { } - x63.member = function named() { return [d1, d2]; }; return x63; }()); +x63.member = function named() { return [d1, d2]; }; var x64 = (function () { function x64() { } - x64.member = function () { return [d1, d2]; }; return x64; }()); +x64.member = function () { return [d1, d2]; }; var x65 = (function () { function x65() { } - x65.member = function () { return [d1, d2]; }; return x65; }()); +x65.member = function () { return [d1, d2]; }; var x66 = (function () { function x66() { } - x66.member = function named() { return [d1, d2]; }; return x66; }()); +x66.member = function named() { return [d1, d2]; }; var x67 = (function () { function x67() { } - x67.member = [d1, d2]; return x67; }()); +x67.member = [d1, d2]; var x68 = (function () { function x68() { } - x68.member = [d1, d2]; return x68; }()); +x68.member = [d1, d2]; var x69 = (function () { function x69() { } - x69.member = [d1, d2]; return x69; }()); +x69.member = [d1, d2]; var x70 = (function () { function x70() { } - x70.member = { n: [d1, d2] }; return x70; }()); +x70.member = { n: [d1, d2] }; var x71 = (function () { function x71() { } - x71.member = function (n) { var n; return null; }; return x71; }()); +x71.member = function (n) { var n; return null; }; var x72 = (function () { function x72() { } - x72.member = { func: function (n) { return [d1, d2]; } }; return x72; }()); +x72.member = { func: function (n) { return [d1, d2]; } }; var x73 = (function () { function x73() { } - x73.member = function () { return [d1, d2]; }; return x73; }()); +x73.member = function () { return [d1, d2]; }; var x74 = (function () { function x74() { } - x74.member = function () { return [d1, d2]; }; return x74; }()); +x74.member = function () { return [d1, d2]; }; var x75 = (function () { function x75() { } - x75.member = function named() { return [d1, d2]; }; return x75; }()); +x75.member = function named() { return [d1, d2]; }; var x76 = (function () { function x76() { } - x76.member = function () { return [d1, d2]; }; return x76; }()); +x76.member = function () { return [d1, d2]; }; var x77 = (function () { function x77() { } - x77.member = function () { return [d1, d2]; }; return x77; }()); +x77.member = function () { return [d1, d2]; }; var x78 = (function () { function x78() { } - x78.member = function named() { return [d1, d2]; }; return x78; }()); +x78.member = function named() { return [d1, d2]; }; var x79 = (function () { function x79() { } - x79.member = [d1, d2]; return x79; }()); +x79.member = [d1, d2]; var x80 = (function () { function x80() { } - x80.member = [d1, d2]; return x80; }()); +x80.member = [d1, d2]; var x81 = (function () { function x81() { } - x81.member = [d1, d2]; return x81; }()); +x81.member = [d1, d2]; var x82 = (function () { function x82() { } - x82.member = { n: [d1, d2] }; return x82; }()); +x82.member = { n: [d1, d2] }; var x83 = (function () { function x83() { } - x83.member = function (n) { var n; return null; }; return x83; }()); +x83.member = function (n) { var n; return null; }; var x84 = (function () { function x84() { } - x84.member = { func: function (n) { return [d1, d2]; } }; return x84; }()); +x84.member = { func: function (n) { return [d1, d2]; } }; var x85 = (function () { function x85(parm) { if (parm === void 0) { parm = function () { return [d1, d2]; }; } diff --git a/tests/baselines/reference/generatedContextualTyping.types b/tests/baselines/reference/generatedContextualTyping.types index 2e9625cdb8b..a9b350f8564 100644 --- a/tests/baselines/reference/generatedContextualTyping.types +++ b/tests/baselines/reference/generatedContextualTyping.types @@ -2849,7 +2849,7 @@ var x285: () => Base[] = true ? () => [d1, d2] : () => [d1, d2]; >x285 : () => Base[] >Base : Base >true ? () => [d1, d2] : () => [d1, d2] : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -2863,7 +2863,7 @@ var x286: () => Base[] = true ? function() { return [d1, d2] } : function() { re >x286 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -2877,7 +2877,7 @@ var x287: () => Base[] = true ? function named() { return [d1, d2] } : function >x287 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -2893,7 +2893,7 @@ var x288: { (): Base[]; } = true ? () => [d1, d2] : () => [d1, d2]; >x288 : () => Base[] >Base : Base >true ? () => [d1, d2] : () => [d1, d2] : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -2907,7 +2907,7 @@ var x289: { (): Base[]; } = true ? function() { return [d1, d2] } : function() { >x289 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -2921,7 +2921,7 @@ var x290: { (): Base[]; } = true ? function named() { return [d1, d2] } : functi >x290 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -2937,7 +2937,7 @@ var x291: Base[] = true ? [d1, d2] : [d1, d2]; >x291 : Base[] >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -2950,7 +2950,7 @@ var x292: Array = true ? [d1, d2] : [d1, d2]; >Array : T[] >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -2963,7 +2963,7 @@ var x293: { [n: number]: Base; } = true ? [d1, d2] : [d1, d2]; >n : number >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -2976,7 +2976,7 @@ var x294: {n: Base[]; } = true ? { n: [d1, d2] } : { n: [d1, d2] }; >n : Base[] >Base : Base >true ? { n: [d1, d2] } : { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } ->true : boolean +>true : true >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -2993,7 +2993,7 @@ var x295: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : n = >s : Base[] >Base : Base >true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; } : (n: Base[]) => any ->true : boolean +>true : true >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] @@ -3010,7 +3010,7 @@ var x296: Genric = true ? { func: n => { return [d1, d2]; } } : { func: n >Genric : Genric >Base : Base >true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } ->true : boolean +>true : true >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] @@ -3030,7 +3030,7 @@ var x297: () => Base[] = true ? undefined : () => [d1, d2]; >x297 : () => Base[] >Base : Base >true ? undefined : () => [d1, d2] : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3041,7 +3041,7 @@ var x298: () => Base[] = true ? undefined : function() { return [d1, d2] }; >x298 : () => Base[] >Base : Base >true ? undefined : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3052,7 +3052,7 @@ var x299: () => Base[] = true ? undefined : function named() { return [d1, d2] } >x299 : () => Base[] >Base : Base >true ? undefined : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] @@ -3064,7 +3064,7 @@ var x300: { (): Base[]; } = true ? undefined : () => [d1, d2]; >x300 : () => Base[] >Base : Base >true ? undefined : () => [d1, d2] : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3075,7 +3075,7 @@ var x301: { (): Base[]; } = true ? undefined : function() { return [d1, d2] }; >x301 : () => Base[] >Base : Base >true ? undefined : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3086,7 +3086,7 @@ var x302: { (): Base[]; } = true ? undefined : function named() { return [d1, d2 >x302 : () => Base[] >Base : Base >true ? undefined : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] @@ -3098,7 +3098,7 @@ var x303: Base[] = true ? undefined : [d1, d2]; >x303 : Base[] >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3109,7 +3109,7 @@ var x304: Array = true ? undefined : [d1, d2]; >Array : T[] >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3120,7 +3120,7 @@ var x305: { [n: number]: Base; } = true ? undefined : [d1, d2]; >n : number >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] ->true : boolean +>true : true >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3131,7 +3131,7 @@ var x306: {n: Base[]; } = true ? undefined : { n: [d1, d2] }; >n : Base[] >Base : Base >true ? undefined : { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } ->true : boolean +>true : true >undefined : undefined >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] @@ -3144,7 +3144,7 @@ var x307: (s: Base[]) => any = true ? undefined : n => { var n: Base[]; return n >s : Base[] >Base : Base >true ? undefined : n => { var n: Base[]; return null; } : (n: Base[]) => any ->true : boolean +>true : true >undefined : undefined >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] @@ -3157,7 +3157,7 @@ var x308: Genric = true ? undefined : { func: n => { return [d1, d2]; } }; >Genric : Genric >Base : Base >true ? undefined : { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } ->true : boolean +>true : true >undefined : undefined >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] @@ -3171,7 +3171,7 @@ var x309: () => Base[] = true ? () => [d1, d2] : undefined; >x309 : () => Base[] >Base : Base >true ? () => [d1, d2] : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3182,7 +3182,7 @@ var x310: () => Base[] = true ? function() { return [d1, d2] } : undefined; >x310 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3193,7 +3193,7 @@ var x311: () => Base[] = true ? function named() { return [d1, d2] } : undefined >x311 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3205,7 +3205,7 @@ var x312: { (): Base[]; } = true ? () => [d1, d2] : undefined; >x312 : () => Base[] >Base : Base >true ? () => [d1, d2] : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3216,7 +3216,7 @@ var x313: { (): Base[]; } = true ? function() { return [d1, d2] } : undefined; >x313 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -3227,7 +3227,7 @@ var x314: { (): Base[]; } = true ? function named() { return [d1, d2] } : undefi >x314 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] ->true : boolean +>true : true >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3239,7 +3239,7 @@ var x315: Base[] = true ? [d1, d2] : undefined; >x315 : Base[] >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -3250,7 +3250,7 @@ var x316: Array = true ? [d1, d2] : undefined; >Array : T[] >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -3261,7 +3261,7 @@ var x317: { [n: number]: Base; } = true ? [d1, d2] : undefined; >n : number >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] ->true : boolean +>true : true >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -3272,7 +3272,7 @@ var x318: {n: Base[]; } = true ? { n: [d1, d2] } : undefined; >n : Base[] >Base : Base >true ? { n: [d1, d2] } : undefined : { n: (Derived1 | Derived2)[]; } ->true : boolean +>true : true >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3285,7 +3285,7 @@ var x319: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : und >s : Base[] >Base : Base >true ? n => { var n: Base[]; return null; } : undefined : (n: Base[]) => any ->true : boolean +>true : true >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] @@ -3298,7 +3298,7 @@ var x320: Genric = true ? { func: n => { return [d1, d2]; } } : undefined; >Genric : Genric >Base : Base >true ? { func: n => { return [d1, d2]; } } : undefined : { func: (n: Base[]) => (Derived1 | Derived2)[]; } ->true : boolean +>true : true >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] diff --git a/tests/baselines/reference/generatorES6InAMDModule.js b/tests/baselines/reference/generatorES6InAMDModule.js new file mode 100644 index 00000000000..594d2c3263c --- /dev/null +++ b/tests/baselines/reference/generatorES6InAMDModule.js @@ -0,0 +1,13 @@ +//// [generatorES6InAMDModule.ts] +export function* foo() { + yield +} + +//// [generatorES6InAMDModule.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + function* foo() { + yield; + } + exports.foo = foo; +}); diff --git a/tests/baselines/reference/generatorES6InAMDModule.symbols b/tests/baselines/reference/generatorES6InAMDModule.symbols new file mode 100644 index 00000000000..aafd2a4f79f --- /dev/null +++ b/tests/baselines/reference/generatorES6InAMDModule.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/generatorES6InAMDModule.ts === +export function* foo() { +>foo : Symbol(foo, Decl(generatorES6InAMDModule.ts, 0, 0)) + + yield +} diff --git a/tests/baselines/reference/generatorES6InAMDModule.types b/tests/baselines/reference/generatorES6InAMDModule.types new file mode 100644 index 00000000000..9a12a72f005 --- /dev/null +++ b/tests/baselines/reference/generatorES6InAMDModule.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/generatorES6InAMDModule.ts === +export function* foo() { +>foo : () => IterableIterator + + yield +>yield : any +} diff --git a/tests/baselines/reference/generatorES6_2.types b/tests/baselines/reference/generatorES6_2.types index 9c9c8692757..61a2adbc697 100644 --- a/tests/baselines/reference/generatorES6_2.types +++ b/tests/baselines/reference/generatorES6_2.types @@ -3,10 +3,10 @@ class C { >C : C public * foo() { ->foo : () => IterableIterator +>foo : () => IterableIterator<1> yield 1 >yield 1 : any ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/generatorES6_3.types b/tests/baselines/reference/generatorES6_3.types index e87ad23ba77..9ecd01d6e23 100644 --- a/tests/baselines/reference/generatorES6_3.types +++ b/tests/baselines/reference/generatorES6_3.types @@ -1,9 +1,9 @@ === tests/cases/compiler/generatorES6_3.ts === var v = function*() { ->v : () => IterableIterator ->function*() { yield 0} : () => IterableIterator +>v : () => IterableIterator<0> +>function*() { yield 0} : () => IterableIterator<0> yield 0 >yield 0 : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/generatorES6_4.types b/tests/baselines/reference/generatorES6_4.types index 64b0924919b..786e7b64020 100644 --- a/tests/baselines/reference/generatorES6_4.types +++ b/tests/baselines/reference/generatorES6_4.types @@ -1,13 +1,13 @@ === tests/cases/compiler/generatorES6_4.ts === var v = { ->v : { foo(): IterableIterator; } ->{ *foo() { yield 0 }} : { foo(): IterableIterator; } +>v : { foo(): IterableIterator<0>; } +>{ *foo() { yield 0 }} : { foo(): IterableIterator<0>; } *foo() { ->foo : () => IterableIterator +>foo : () => IterableIterator<0> yield 0 >yield 0 : any ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/generatorES6_6.types b/tests/baselines/reference/generatorES6_6.types index 4e3de8cea1e..6f50181d0ef 100644 --- a/tests/baselines/reference/generatorES6_6.types +++ b/tests/baselines/reference/generatorES6_6.types @@ -10,6 +10,6 @@ class C { let a = yield 1; >a : any >yield 1 : any ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/generatorTypeCheck11.types b/tests/baselines/reference/generatorTypeCheck11.types index ce47d497851..7613cc189a9 100644 --- a/tests/baselines/reference/generatorTypeCheck11.types +++ b/tests/baselines/reference/generatorTypeCheck11.types @@ -4,5 +4,5 @@ function* g(): IterableIterator { >IterableIterator : IterableIterator return 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/generatorTypeCheck12.types b/tests/baselines/reference/generatorTypeCheck12.types index 3dd3c20f18d..ef5b3564e18 100644 --- a/tests/baselines/reference/generatorTypeCheck12.types +++ b/tests/baselines/reference/generatorTypeCheck12.types @@ -4,5 +4,5 @@ function* g(): IterableIterator { >IterableIterator : IterableIterator return ""; ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/generatorTypeCheck13.types b/tests/baselines/reference/generatorTypeCheck13.types index d77b630ae72..8dfafd89884 100644 --- a/tests/baselines/reference/generatorTypeCheck13.types +++ b/tests/baselines/reference/generatorTypeCheck13.types @@ -5,8 +5,8 @@ function* g(): IterableIterator { yield 0; >yield 0 : any ->0 : number +>0 : 0 return ""; ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/generatorTypeCheck14.types b/tests/baselines/reference/generatorTypeCheck14.types index db1b5bde19a..48565fe2be0 100644 --- a/tests/baselines/reference/generatorTypeCheck14.types +++ b/tests/baselines/reference/generatorTypeCheck14.types @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck14.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 return ""; ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/generatorTypeCheck15.types b/tests/baselines/reference/generatorTypeCheck15.types index 4437d78572d..eb14208009a 100644 --- a/tests/baselines/reference/generatorTypeCheck15.types +++ b/tests/baselines/reference/generatorTypeCheck15.types @@ -3,5 +3,5 @@ function* g() { >g : () => IterableIterator return ""; ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/generatorTypeCheck22.errors.txt b/tests/baselines/reference/generatorTypeCheck22.errors.txt deleted file mode 100644 index ab2b3de4f42..00000000000 --- a/tests/baselines/reference/generatorTypeCheck22.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck22.ts(4,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck22.ts (1 errors) ==== - class Foo { x: number } - class Bar extends Foo { y: string } - class Baz { z: number } - function* g3() { - ~~ -!!! error TS2504: No best common type exists among yield expressions. - yield; - yield new Bar; - yield new Baz; - yield *[new Bar]; - yield *[new Baz]; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck22.symbols b/tests/baselines/reference/generatorTypeCheck22.symbols new file mode 100644 index 00000000000..ae3bdac88f3 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck22.symbols @@ -0,0 +1,30 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck22.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck22.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck22.ts, 0, 11)) + +class Bar extends Foo { y: string } +>Bar : Symbol(Bar, Decl(generatorTypeCheck22.ts, 0, 23)) +>Foo : Symbol(Foo, Decl(generatorTypeCheck22.ts, 0, 0)) +>y : Symbol(Bar.y, Decl(generatorTypeCheck22.ts, 1, 23)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck22.ts, 1, 35)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck22.ts, 2, 11)) + +function* g3() { +>g3 : Symbol(g3, Decl(generatorTypeCheck22.ts, 2, 23)) + + yield; + yield new Bar; +>Bar : Symbol(Bar, Decl(generatorTypeCheck22.ts, 0, 23)) + + yield new Baz; +>Baz : Symbol(Baz, Decl(generatorTypeCheck22.ts, 1, 35)) + + yield *[new Bar]; +>Bar : Symbol(Bar, Decl(generatorTypeCheck22.ts, 0, 23)) + + yield *[new Baz]; +>Baz : Symbol(Baz, Decl(generatorTypeCheck22.ts, 1, 35)) +} diff --git a/tests/baselines/reference/generatorTypeCheck22.types b/tests/baselines/reference/generatorTypeCheck22.types new file mode 100644 index 00000000000..e46e73874e6 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck22.types @@ -0,0 +1,42 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck22.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Bar extends Foo { y: string } +>Bar : Bar +>Foo : Foo +>y : string + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g3() { +>g3 : () => IterableIterator + + yield; +>yield : any + + yield new Bar; +>yield new Bar : any +>new Bar : Bar +>Bar : typeof Bar + + yield new Baz; +>yield new Baz : any +>new Baz : Baz +>Baz : typeof Baz + + yield *[new Bar]; +>yield *[new Bar] : any +>[new Bar] : Bar[] +>new Bar : Bar +>Bar : typeof Bar + + yield *[new Baz]; +>yield *[new Baz] : any +>[new Baz] : Baz[] +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck23.errors.txt b/tests/baselines/reference/generatorTypeCheck23.errors.txt deleted file mode 100644 index 9e85117a0a8..00000000000 --- a/tests/baselines/reference/generatorTypeCheck23.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck23.ts(4,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck23.ts (1 errors) ==== - class Foo { x: number } - class Bar extends Foo { y: string } - class Baz { z: number } - function* g3() { - ~~ -!!! error TS2504: No best common type exists among yield expressions. - yield; - yield new Foo; - yield new Bar; - yield new Baz; - yield *[new Bar]; - yield *[new Baz]; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck23.symbols b/tests/baselines/reference/generatorTypeCheck23.symbols new file mode 100644 index 00000000000..507906f500b --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck23.symbols @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck23.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck23.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck23.ts, 0, 11)) + +class Bar extends Foo { y: string } +>Bar : Symbol(Bar, Decl(generatorTypeCheck23.ts, 0, 23)) +>Foo : Symbol(Foo, Decl(generatorTypeCheck23.ts, 0, 0)) +>y : Symbol(Bar.y, Decl(generatorTypeCheck23.ts, 1, 23)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck23.ts, 1, 35)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck23.ts, 2, 11)) + +function* g3() { +>g3 : Symbol(g3, Decl(generatorTypeCheck23.ts, 2, 23)) + + yield; + yield new Foo; +>Foo : Symbol(Foo, Decl(generatorTypeCheck23.ts, 0, 0)) + + yield new Bar; +>Bar : Symbol(Bar, Decl(generatorTypeCheck23.ts, 0, 23)) + + yield new Baz; +>Baz : Symbol(Baz, Decl(generatorTypeCheck23.ts, 1, 35)) + + yield *[new Bar]; +>Bar : Symbol(Bar, Decl(generatorTypeCheck23.ts, 0, 23)) + + yield *[new Baz]; +>Baz : Symbol(Baz, Decl(generatorTypeCheck23.ts, 1, 35)) +} diff --git a/tests/baselines/reference/generatorTypeCheck23.types b/tests/baselines/reference/generatorTypeCheck23.types new file mode 100644 index 00000000000..1d5d294503a --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck23.types @@ -0,0 +1,47 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck23.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Bar extends Foo { y: string } +>Bar : Bar +>Foo : Foo +>y : string + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g3() { +>g3 : () => IterableIterator + + yield; +>yield : any + + yield new Foo; +>yield new Foo : any +>new Foo : Foo +>Foo : typeof Foo + + yield new Bar; +>yield new Bar : any +>new Bar : Bar +>Bar : typeof Bar + + yield new Baz; +>yield new Baz : any +>new Baz : Baz +>Baz : typeof Baz + + yield *[new Bar]; +>yield *[new Bar] : any +>[new Bar] : Bar[] +>new Bar : Bar +>Bar : typeof Bar + + yield *[new Baz]; +>yield *[new Baz] : any +>[new Baz] : Baz[] +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck24.errors.txt b/tests/baselines/reference/generatorTypeCheck24.errors.txt deleted file mode 100644 index b4ca13c14c2..00000000000 --- a/tests/baselines/reference/generatorTypeCheck24.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck24.ts(4,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck24.ts (1 errors) ==== - class Foo { x: number } - class Bar extends Foo { y: string } - class Baz { z: number } - function* g3() { - ~~ -!!! error TS2504: No best common type exists among yield expressions. - yield; - yield * [new Foo]; - yield new Bar; - yield new Baz; - yield *[new Bar]; - yield *[new Baz]; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck24.symbols b/tests/baselines/reference/generatorTypeCheck24.symbols new file mode 100644 index 00000000000..b0bc5307b89 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck24.symbols @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck24.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck24.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck24.ts, 0, 11)) + +class Bar extends Foo { y: string } +>Bar : Symbol(Bar, Decl(generatorTypeCheck24.ts, 0, 23)) +>Foo : Symbol(Foo, Decl(generatorTypeCheck24.ts, 0, 0)) +>y : Symbol(Bar.y, Decl(generatorTypeCheck24.ts, 1, 23)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck24.ts, 1, 35)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck24.ts, 2, 11)) + +function* g3() { +>g3 : Symbol(g3, Decl(generatorTypeCheck24.ts, 2, 23)) + + yield; + yield * [new Foo]; +>Foo : Symbol(Foo, Decl(generatorTypeCheck24.ts, 0, 0)) + + yield new Bar; +>Bar : Symbol(Bar, Decl(generatorTypeCheck24.ts, 0, 23)) + + yield new Baz; +>Baz : Symbol(Baz, Decl(generatorTypeCheck24.ts, 1, 35)) + + yield *[new Bar]; +>Bar : Symbol(Bar, Decl(generatorTypeCheck24.ts, 0, 23)) + + yield *[new Baz]; +>Baz : Symbol(Baz, Decl(generatorTypeCheck24.ts, 1, 35)) +} diff --git a/tests/baselines/reference/generatorTypeCheck24.types b/tests/baselines/reference/generatorTypeCheck24.types new file mode 100644 index 00000000000..e3c369bfce1 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck24.types @@ -0,0 +1,48 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck24.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Bar extends Foo { y: string } +>Bar : Bar +>Foo : Foo +>y : string + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g3() { +>g3 : () => IterableIterator + + yield; +>yield : any + + yield * [new Foo]; +>yield * [new Foo] : any +>[new Foo] : Foo[] +>new Foo : Foo +>Foo : typeof Foo + + yield new Bar; +>yield new Bar : any +>new Bar : Bar +>Bar : typeof Bar + + yield new Baz; +>yield new Baz : any +>new Baz : Baz +>Baz : typeof Baz + + yield *[new Bar]; +>yield *[new Bar] : any +>[new Bar] : Bar[] +>new Bar : Bar +>Bar : typeof Bar + + yield *[new Baz]; +>yield *[new Baz] : any +>[new Baz] : Baz[] +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck33.types b/tests/baselines/reference/generatorTypeCheck33.types index f3b8af225d1..707bf7beccd 100644 --- a/tests/baselines/reference/generatorTypeCheck33.types +++ b/tests/baselines/reference/generatorTypeCheck33.types @@ -1,16 +1,16 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck33.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 function* g2() { ->g2 : () => IterableIterator +>g2 : () => IterableIterator<""> yield ""; >yield "" : any ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/generatorTypeCheck34.types b/tests/baselines/reference/generatorTypeCheck34.types index 35063e988eb..2ca11177218 100644 --- a/tests/baselines/reference/generatorTypeCheck34.types +++ b/tests/baselines/reference/generatorTypeCheck34.types @@ -1,15 +1,15 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck34.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 function* g2() { >g2 : () => IterableIterator return ""; ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/generatorTypeCheck35.types b/tests/baselines/reference/generatorTypeCheck35.types index 0bfc22ab3f0..dcd5ab4be84 100644 --- a/tests/baselines/reference/generatorTypeCheck35.types +++ b/tests/baselines/reference/generatorTypeCheck35.types @@ -1,15 +1,15 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck35.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 function g2() { >g2 : () => string return ""; ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/generatorTypeCheck36.types b/tests/baselines/reference/generatorTypeCheck36.types index 110a4d3e02e..318a46c25fb 100644 --- a/tests/baselines/reference/generatorTypeCheck36.types +++ b/tests/baselines/reference/generatorTypeCheck36.types @@ -5,5 +5,5 @@ function* g() { yield yield 0; >yield yield 0 : any >yield 0 : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/generatorTypeCheck37.types b/tests/baselines/reference/generatorTypeCheck37.types index e8611ec167a..aaa790c8094 100644 --- a/tests/baselines/reference/generatorTypeCheck37.types +++ b/tests/baselines/reference/generatorTypeCheck37.types @@ -5,5 +5,5 @@ function* g() { return yield yield 0; >yield yield 0 : any >yield 0 : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/generatorTypeCheck38.types b/tests/baselines/reference/generatorTypeCheck38.types index 08503e8640f..31fe452e656 100644 --- a/tests/baselines/reference/generatorTypeCheck38.types +++ b/tests/baselines/reference/generatorTypeCheck38.types @@ -3,11 +3,11 @@ var yield; >yield : any function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 var v: typeof yield; >v : any diff --git a/tests/baselines/reference/generatorTypeCheck41.types b/tests/baselines/reference/generatorTypeCheck41.types index 0bed082dc43..1a9ea21f978 100644 --- a/tests/baselines/reference/generatorTypeCheck41.types +++ b/tests/baselines/reference/generatorTypeCheck41.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck41.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> let x = { >x : { [x: number]: number; } @@ -8,7 +8,7 @@ function* g() { [yield 0]: 0 >yield 0 : any ->0 : number ->0 : number +>0 : 0 +>0 : 0 } } diff --git a/tests/baselines/reference/generatorTypeCheck42.types b/tests/baselines/reference/generatorTypeCheck42.types index 7538b8f2499..79b2516051e 100644 --- a/tests/baselines/reference/generatorTypeCheck42.types +++ b/tests/baselines/reference/generatorTypeCheck42.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck42.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> let x = { >x : { [x: number]: () => void; } @@ -8,7 +8,7 @@ function* g() { [yield 0]() { >yield 0 : any ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/generatorTypeCheck43.types b/tests/baselines/reference/generatorTypeCheck43.types index a132dfcb015..754d3fee814 100644 --- a/tests/baselines/reference/generatorTypeCheck43.types +++ b/tests/baselines/reference/generatorTypeCheck43.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck43.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> let x = { >x : { [x: number]: () => IterableIterator; } @@ -8,7 +8,7 @@ function* g() { *[yield 0]() { >yield 0 : any ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/generatorTypeCheck44.types b/tests/baselines/reference/generatorTypeCheck44.types index 5c432e41cbe..e06b8961ca0 100644 --- a/tests/baselines/reference/generatorTypeCheck44.types +++ b/tests/baselines/reference/generatorTypeCheck44.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck44.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> let x = { >x : { [x: number]: number; } @@ -8,10 +8,10 @@ function* g() { get [yield 0]() { >yield 0 : any ->0 : number +>0 : 0 return 0; ->0 : number +>0 : 0 } } } diff --git a/tests/baselines/reference/generatorTypeCheck45.types b/tests/baselines/reference/generatorTypeCheck45.types index 7ea442420d6..96895acde0f 100644 --- a/tests/baselines/reference/generatorTypeCheck45.types +++ b/tests/baselines/reference/generatorTypeCheck45.types @@ -19,7 +19,7 @@ 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("", function* () { yield x => x.length }, p => undefined) : string >foo : (x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T ->"" : string +>"" : "" >function* () { yield x => x.length } : () => IterableIterator<(x: string) => number> >yield x => x.length : any >x => x.length : (x: string) => number diff --git a/tests/baselines/reference/generatorTypeCheck46.types b/tests/baselines/reference/generatorTypeCheck46.types index daf0d67b6ec..c69ae0881da 100644 --- a/tests/baselines/reference/generatorTypeCheck46.types +++ b/tests/baselines/reference/generatorTypeCheck46.types @@ -19,7 +19,7 @@ declare function foo(x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) foo("", function* () { >foo("", function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }}, p => undefined) : string >foo : (x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T) => T ->"" : string +>"" : "" >function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }} : () => IterableIterator<(x: string) => number> yield* { diff --git a/tests/baselines/reference/generatorTypeCheck49.types b/tests/baselines/reference/generatorTypeCheck49.types index f56cca33438..cd9f3e82d09 100644 --- a/tests/baselines/reference/generatorTypeCheck49.types +++ b/tests/baselines/reference/generatorTypeCheck49.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck49.ts === function* g() { ->g : () => IterableIterator +>g : () => IterableIterator<0> yield 0; >yield 0 : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/generatorTypeCheck52.errors.txt b/tests/baselines/reference/generatorTypeCheck52.errors.txt deleted file mode 100644 index 8dc280bb8c9..00000000000 --- a/tests/baselines/reference/generatorTypeCheck52.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck52.ts(3,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck52.ts (1 errors) ==== - class Foo { x: number } - class Baz { z: number } - function* g() { - ~ -!!! error TS2504: No best common type exists among yield expressions. - yield new Foo; - yield new Baz; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck52.symbols b/tests/baselines/reference/generatorTypeCheck52.symbols new file mode 100644 index 00000000000..64c29f98438 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck52.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck52.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck52.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck52.ts, 0, 11)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck52.ts, 0, 23)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck52.ts, 1, 11)) + +function* g() { +>g : Symbol(g, Decl(generatorTypeCheck52.ts, 1, 23)) + + yield new Foo; +>Foo : Symbol(Foo, Decl(generatorTypeCheck52.ts, 0, 0)) + + yield new Baz; +>Baz : Symbol(Baz, Decl(generatorTypeCheck52.ts, 0, 23)) +} diff --git a/tests/baselines/reference/generatorTypeCheck52.types b/tests/baselines/reference/generatorTypeCheck52.types new file mode 100644 index 00000000000..97ac442aa0e --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck52.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck52.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g() { +>g : () => IterableIterator + + yield new Foo; +>yield new Foo : any +>new Foo : Foo +>Foo : typeof Foo + + yield new Baz; +>yield new Baz : any +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck53.errors.txt b/tests/baselines/reference/generatorTypeCheck53.errors.txt deleted file mode 100644 index ee3512f34c5..00000000000 --- a/tests/baselines/reference/generatorTypeCheck53.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck53.ts(3,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck53.ts (1 errors) ==== - class Foo { x: number } - class Baz { z: number } - function* g() { - ~ -!!! error TS2504: No best common type exists among yield expressions. - yield new Foo; - yield* [new Baz]; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck53.symbols b/tests/baselines/reference/generatorTypeCheck53.symbols new file mode 100644 index 00000000000..ce573dbf422 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck53.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck53.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck53.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck53.ts, 0, 11)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck53.ts, 0, 23)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck53.ts, 1, 11)) + +function* g() { +>g : Symbol(g, Decl(generatorTypeCheck53.ts, 1, 23)) + + yield new Foo; +>Foo : Symbol(Foo, Decl(generatorTypeCheck53.ts, 0, 0)) + + yield* [new Baz]; +>Baz : Symbol(Baz, Decl(generatorTypeCheck53.ts, 0, 23)) +} diff --git a/tests/baselines/reference/generatorTypeCheck53.types b/tests/baselines/reference/generatorTypeCheck53.types new file mode 100644 index 00000000000..b91974e9807 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck53.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck53.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g() { +>g : () => IterableIterator + + yield new Foo; +>yield new Foo : any +>new Foo : Foo +>Foo : typeof Foo + + yield* [new Baz]; +>yield* [new Baz] : any +>[new Baz] : Baz[] +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck54.errors.txt b/tests/baselines/reference/generatorTypeCheck54.errors.txt deleted file mode 100644 index de22dbfc6e8..00000000000 --- a/tests/baselines/reference/generatorTypeCheck54.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck54.ts(3,11): error TS2504: No best common type exists among yield expressions. - - -==== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck54.ts (1 errors) ==== - class Foo { x: number } - class Baz { z: number } - function* g() { - ~ -!!! error TS2504: No best common type exists among yield expressions. - yield* [new Foo]; - yield* [new Baz]; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck54.symbols b/tests/baselines/reference/generatorTypeCheck54.symbols new file mode 100644 index 00000000000..f6230b634f1 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck54.symbols @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck54.ts === +class Foo { x: number } +>Foo : Symbol(Foo, Decl(generatorTypeCheck54.ts, 0, 0)) +>x : Symbol(Foo.x, Decl(generatorTypeCheck54.ts, 0, 11)) + +class Baz { z: number } +>Baz : Symbol(Baz, Decl(generatorTypeCheck54.ts, 0, 23)) +>z : Symbol(Baz.z, Decl(generatorTypeCheck54.ts, 1, 11)) + +function* g() { +>g : Symbol(g, Decl(generatorTypeCheck54.ts, 1, 23)) + + yield* [new Foo]; +>Foo : Symbol(Foo, Decl(generatorTypeCheck54.ts, 0, 0)) + + yield* [new Baz]; +>Baz : Symbol(Baz, Decl(generatorTypeCheck54.ts, 0, 23)) +} diff --git a/tests/baselines/reference/generatorTypeCheck54.types b/tests/baselines/reference/generatorTypeCheck54.types new file mode 100644 index 00000000000..1cdbde67498 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck54.types @@ -0,0 +1,24 @@ +=== tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck54.ts === +class Foo { x: number } +>Foo : Foo +>x : number + +class Baz { z: number } +>Baz : Baz +>z : number + +function* g() { +>g : () => IterableIterator + + yield* [new Foo]; +>yield* [new Foo] : any +>[new Foo] : Foo[] +>new Foo : Foo +>Foo : typeof Foo + + yield* [new Baz]; +>yield* [new Baz] : any +>[new Baz] : Baz[] +>new Baz : Baz +>Baz : typeof Baz +} diff --git a/tests/baselines/reference/generatorTypeCheck55.js b/tests/baselines/reference/generatorTypeCheck55.js index dd7cd33af29..4943791d354 100644 --- a/tests/baselines/reference/generatorTypeCheck55.js +++ b/tests/baselines/reference/generatorTypeCheck55.js @@ -6,6 +6,5 @@ function* g() { //// [generatorTypeCheck55.js] function* g() { var x = class C extends (yield) { - } - ; + }; } diff --git a/tests/baselines/reference/generatorTypeCheck56.js b/tests/baselines/reference/generatorTypeCheck56.js index c1b0f98f5e7..9d8d00e01e7 100644 --- a/tests/baselines/reference/generatorTypeCheck56.js +++ b/tests/baselines/reference/generatorTypeCheck56.js @@ -13,6 +13,5 @@ function* g() { *[yield 0]() { yield 0; } - } - ; + }; } diff --git a/tests/baselines/reference/genericAndNonGenericOverload1.types b/tests/baselines/reference/genericAndNonGenericOverload1.types index 28eeb2d4da0..f7d0d4b35f8 100644 --- a/tests/baselines/reference/genericAndNonGenericOverload1.types +++ b/tests/baselines/reference/genericAndNonGenericOverload1.types @@ -21,5 +21,5 @@ var c2: callable2; c2(1); >c2(1) : string >c2 : callable2 ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index 5c7500fb5ed..086c6e23a8e 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -49,11 +49,11 @@ _.all([true, 1, null, 'yes'], _.identity); >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean >_ : Underscore.Static >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean ->[true, 1, null, 'yes'] : (boolean | number | string)[] ->true : boolean ->1 : number +>[true, 1, null, 'yes'] : (true | 1 | "yes")[] +>true : true +>1 : 1 >null : null ->'yes' : string +>'yes' : "yes" >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T @@ -64,8 +64,8 @@ _.all([true], _.identity); >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean >_ : Underscore.Static >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean ->[true] : boolean[] ->true : boolean +>[true] : true[] +>true : true >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T diff --git a/tests/baselines/reference/genericArray1.types b/tests/baselines/reference/genericArray1.types index bf44c88f518..baa2ec8a9cf 100644 --- a/tests/baselines/reference/genericArray1.types +++ b/tests/baselines/reference/genericArray1.types @@ -16,9 +16,9 @@ var lengths = ["a", "b", "c"].map(x => x.length); >["a", "b", "c"].map(x => x.length) : number[] >["a", "b", "c"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >["a", "b", "c"] : string[] ->"a" : string ->"b" : string ->"c" : string +>"a" : "a" +>"b" : "b" +>"c" : "c" >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >x => x.length : (x: string) => number >x : string diff --git a/tests/baselines/reference/genericArrayPropertyAssignment.types b/tests/baselines/reference/genericArrayPropertyAssignment.types index 6db56dde381..9552d0ac2c9 100644 --- a/tests/baselines/reference/genericArrayPropertyAssignment.types +++ b/tests/baselines/reference/genericArrayPropertyAssignment.types @@ -9,7 +9,7 @@ return list.length ===0; >list.length : number >list : { length: number; } >length : number ->0 : number +>0 : 0 } isEmpty([]); // error diff --git a/tests/baselines/reference/genericBaseClassLiteralProperty2.types b/tests/baselines/reference/genericBaseClassLiteralProperty2.types index 3e320824925..01740426935 100644 --- a/tests/baselines/reference/genericBaseClassLiteralProperty2.types +++ b/tests/baselines/reference/genericBaseClassLiteralProperty2.types @@ -38,7 +38,7 @@ class DataView2 extends BaseCollection2 { >this._itemsByKey : { [key: string]: CollectionItem2; } >this : this >_itemsByKey : { [key: string]: CollectionItem2; } ->'dummy' : string +>'dummy' : "dummy" >item : CollectionItem2 } } diff --git a/tests/baselines/reference/genericCallTypeArgumentInference.types b/tests/baselines/reference/genericCallTypeArgumentInference.types index 0208ec74f1e..33c38b0dd48 100644 --- a/tests/baselines/reference/genericCallTypeArgumentInference.types +++ b/tests/baselines/reference/genericCallTypeArgumentInference.types @@ -13,9 +13,9 @@ function foo(t: T) { var r = foo(''); // string >r : string ->foo('') : string +>foo('') : "" >foo : (t: T) => T ->'' : string +>'' : "" function foo2(t: T, u: U) { >foo2 : (t: T, u: U) => U @@ -47,16 +47,16 @@ function foo2b(u: U) { var r2 = foo2('', 1); // number >r2 : number ->foo2('', 1) : number +>foo2('', 1) : 1 >foo2 : (t: T, u: U) => U ->'' : string ->1 : number +>'' : "" +>1 : 1 var r3 = foo2b(1); // {} >r3 : {} >foo2b(1) : {} >foo2b : (u: U) => T ->1 : number +>1 : 1 class C { >C : C @@ -175,8 +175,8 @@ var c = new C('', 1); >c : C >new C('', 1) : C >C : typeof C ->'' : string ->1 : number +>'' : "" +>1 : 1 var r4 = c.foo('', 1); // string >r4 : string @@ -184,8 +184,8 @@ var r4 = c.foo('', 1); // string >c.foo : (t: string, u: number) => string >c : C >foo : (t: string, u: number) => string ->'' : string ->1 : number +>'' : "" +>1 : 1 var r5 = c.foo2('', 1); // number >r5 : number @@ -193,17 +193,17 @@ var r5 = c.foo2('', 1); // number >c.foo2 : (t: string, u: number) => number >c : C >foo2 : (t: string, u: number) => number ->'' : string ->1 : number +>'' : "" +>1 : 1 var r6 = c.foo3(true, 1); // boolean >r6 : boolean ->c.foo3(true, 1) : boolean +>c.foo3(true, 1) : true >c.foo3 : (t: T, u: number) => T >c : C >foo3 : (t: T, u: number) => T ->true : boolean ->1 : number +>true : true +>1 : 1 var r7 = c.foo4('', true); // string >r7 : string @@ -211,17 +211,17 @@ var r7 = c.foo4('', true); // string >c.foo4 : (t: string, u: U) => string >c : C >foo4 : (t: string, u: U) => string ->'' : string ->true : boolean +>'' : "" +>true : true var r8 = c.foo5(true, 1); // boolean >r8 : boolean ->c.foo5(true, 1) : boolean +>c.foo5(true, 1) : true >c.foo5 : (t: T, u: U) => T >c : C >foo5 : (t: T, u: U) => T ->true : boolean ->1 : number +>true : true +>1 : 1 var r9 = c.foo6(); // {} >r9 : {} @@ -236,7 +236,7 @@ var r10 = c.foo7(''); // {} >c.foo7 : (u: U) => T >c : C >foo7 : (u: U) => T ->'' : string +>'' : "" var r11 = c.foo8(); // {} >r11 : {} @@ -331,8 +331,8 @@ var r4 = i.foo('', 1); // string >i.foo : (t: string, u: number) => string >i : I >foo : (t: string, u: number) => string ->'' : string ->1 : number +>'' : "" +>1 : 1 var r5 = i.foo2('', 1); // number >r5 : number @@ -340,17 +340,17 @@ var r5 = i.foo2('', 1); // number >i.foo2 : (t: string, u: number) => number >i : I >foo2 : (t: string, u: number) => number ->'' : string ->1 : number +>'' : "" +>1 : 1 var r6 = i.foo3(true, 1); // boolean >r6 : boolean ->i.foo3(true, 1) : boolean +>i.foo3(true, 1) : true >i.foo3 : (t: T, u: number) => T >i : I >foo3 : (t: T, u: number) => T ->true : boolean ->1 : number +>true : true +>1 : 1 var r7 = i.foo4('', true); // string >r7 : string @@ -358,17 +358,17 @@ var r7 = i.foo4('', true); // string >i.foo4 : (t: string, u: U) => string >i : I >foo4 : (t: string, u: U) => string ->'' : string ->true : boolean +>'' : "" +>true : true var r8 = i.foo5(true, 1); // boolean >r8 : boolean ->i.foo5(true, 1) : boolean +>i.foo5(true, 1) : true >i.foo5 : (t: T, u: U) => T >i : I >foo5 : (t: T, u: U) => T ->true : boolean ->1 : number +>true : true +>1 : 1 var r9 = i.foo6(); // {} >r9 : {} @@ -383,7 +383,7 @@ var r10 = i.foo7(''); // {} >i.foo7 : (u: U) => T >i : I >foo7 : (u: U) => T ->'' : string +>'' : "" var r11 = i.foo8(); // {} >r11 : {} diff --git a/tests/baselines/reference/genericCallWithArrayLiteralArgs.types b/tests/baselines/reference/genericCallWithArrayLiteralArgs.types index c8e8b41b5fd..2727f0c1ece 100644 --- a/tests/baselines/reference/genericCallWithArrayLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithArrayLiteralArgs.types @@ -14,24 +14,24 @@ var r = foo([1, 2]); // number[] >foo([1, 2]) : number[] >foo : (t: T) => T >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var r = foo([1, 2]); // number[] >r : number[] >foo([1, 2]) : number[] >foo : (t: T) => T >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var ra = foo([1, 2]); // any[] >ra : any[] >foo([1, 2]) : any[] >foo : (t: T) => T >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var r2 = foo([]); // any[] >r2 : any[] @@ -46,27 +46,27 @@ var r3 = foo([]); // number[] >[] : undefined[] var r4 = foo([1, '']); // {}[] ->r4 : (number | string)[] ->foo([1, '']) : (number | string)[] +>r4 : (string | number)[] +>foo([1, '']) : (string | number)[] >foo : (t: T) => T ->[1, ''] : (number | string)[] ->1 : number ->'' : string +>[1, ''] : (string | number)[] +>1 : 1 +>'' : "" var r5 = foo([1, '']); // any[] >r5 : any[] >foo([1, '']) : any[] >foo : (t: T) => T ->[1, ''] : (number | string)[] ->1 : number ->'' : string +>[1, ''] : (string | number)[] +>1 : 1 +>'' : "" var r6 = foo([1, '']); // Object[] >r6 : Object[] >foo([1, '']) : Object[] >foo : (t: T) => T >Object : Object ->[1, ''] : (number | string)[] ->1 : number ->'' : string +>[1, ''] : (string | number)[] +>1 : 1 +>'' : "" diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt index 805bde82b64..6982031c9ba 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts(11,26): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Date'. +tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts(11,26): error TS2345: Argument of type '1' is not assignable to parameter of type 'Date'. ==== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts (1 errors) ==== @@ -14,5 +14,5 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithCon var r3 = foo(new Object()); // {} var r4 = foo(1); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Date'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'Date'. var r5 = foo(new Date()); // no error \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithFixedArguments.types b/tests/baselines/reference/genericCallWithFixedArguments.types index f22dbc01252..e10bbb9dd35 100644 --- a/tests/baselines/reference/genericCallWithFixedArguments.types +++ b/tests/baselines/reference/genericCallWithFixedArguments.types @@ -18,6 +18,6 @@ g(7) // the parameter list is fixed, so this should not error >g : (x: any) => void >A : A >B : B ->7 : number +>7 : 7 diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments.errors.txt b/tests/baselines/reference/genericCallWithFunctionTypedArguments.errors.txt index 093c4bed545..80b04c069d5 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments.errors.txt +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments.errors.txt @@ -1,13 +1,13 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts(26,10): error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts(30,15): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts(33,15): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts(34,16): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts(35,15): error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. ==== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts (5 errors) ==== @@ -39,26 +39,26 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFun var r8 = foo3(1, function (a) { return '' }, 1); // error ~~~~ !!! error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. var r9 = foo3(1, (a) => '', ''); // string function other(t: T, u: U) { var r10 = foo2(1, (x: T) => ''); // error ~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r10 = foo2(1, (x) => ''); // string var r11 = foo3(1, (x: T) => '', ''); // error ~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r11b = foo3(1, (x: T) => '', 1); // error ~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r12 = foo3(1, function (a) { return '' }, 1); // error ~~~~ !!! error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt index 3a397a66eba..90f87de070d 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.errors.txt @@ -1,7 +1,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts(29,10): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts(40,10): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. ==== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts (2 errors) ==== @@ -36,7 +36,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFun var r4 = foo2(1, i2); // error ~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. var r4b = foo2(1, a); // any var r5 = foo2(1, i); // any var r6 = foo2('', i2); // string @@ -50,5 +50,5 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFun var r8 = foo3(1, i2, 1); // error ~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. var r9 = foo3('', i2, ''); // string \ No newline at end of file diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt index e3da7eaeaec..714fe32d31a 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt @@ -1,14 +1,14 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(10,29): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(15,21): error TS2345: Argument of type 'Date' is not assignable to parameter of type 'T'. -tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(16,22): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(16,22): error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(25,23): error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. Types of parameters 'a' and 'x' are incompatible. Type 'Date' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(37,36): error TS2345: Argument of type '(x: E) => F' is not assignable to parameter of type '(x: E) => E'. Type 'F' is not assignable to type 'E'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(50,21): error TS2345: Argument of type 'Date' is not assignable to parameter of type 'T'. -tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(51,22): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(51,22): error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts(60,23): error TS2345: Argument of type '(a: T) => T' is not assignable to parameter of type '(x: Date) => Date'. Types of parameters 'a' and 'x' are incompatible. Type 'Date' is not assignable to type 'T'. @@ -39,7 +39,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGen !!! error TS2345: Argument of type 'Date' is not assignable to parameter of type 'T'. var r10 = r7(1); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. } function foo2(a: (x: T) => T, b: (x: T) => T) { @@ -85,7 +85,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGen !!! error TS2345: Argument of type 'Date' is not assignable to parameter of type 'T'. var r10 = r7(1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. } function foo2(a: (x: T) => T, b: (x: U) => U) { diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types index e1659323033..26e19e68577 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types @@ -58,11 +58,11 @@ function other(arg: T) { >d : T >r2[1] : T >r2 : { [x: string]: Object; [x: number]: T; } ->1 : number +>1 : 1 var e = r2['1']; >e : Object >r2['1'] : Object >r2 : { [x: string]: Object; [x: number]: T; } ->'1' : string +>'1' : "1" } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types index bde72409edc..4141caac617 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types @@ -67,18 +67,18 @@ function other3(arg: T) { >d : T >r2[1] : T >r2 : { [x: string]: Object; [x: number]: T; } ->1 : number +>1 : 1 var e = r2['1']; >e : Object >r2['1'] : Object >r2 : { [x: string]: Object; [x: number]: T; } ->'1' : string +>'1' : "1" var u: U = r2[1]; // ok >u : U >U : U >r2[1] : T >r2 : { [x: string]: Object; [x: number]: T; } ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.errors.txt b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.errors.txt index 9795248e2f7..b65b21e127b 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.errors.txt +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericCallWithObjectTypeArgsAndInitializers.ts(5,33): error TS2322: Type 'number' is not assignable to type 'T'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericCallWithObjectTypeArgsAndInitializers.ts(5,33): error TS2322: Type '1' is not assignable to type 'T'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericCallWithObjectTypeArgsAndInitializers.ts(6,37): error TS2322: Type 'T' is not assignable to type 'U'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericCallWithObjectTypeArgsAndInitializers.ts(8,56): error TS2322: Type 'U' is not assignable to type 'V'. Type 'T' is not assignable to type 'V'. @@ -11,7 +11,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericC function foo2(x: T = undefined) { return x; } // ok function foo3(x: T = 1) { } // error ~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'T'. +!!! error TS2322: Type '1' is not assignable to type 'T'. function foo4(x: T, y: U = x) { } // error ~~~~~~~~ !!! error TS2322: Type 'T' is not assignable to type 'U'. diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types index 71e943c1ad3..e7676596c07 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types @@ -62,7 +62,7 @@ function other2(arg: T) { >d : T >r2[1] : T >r2 : { [x: number]: T; } ->1 : number +>1 : 1 } function other3(arg: T) { @@ -89,7 +89,7 @@ function other3(arg: T) { >d : T >r2[1] : T >r2 : { [x: number]: T; } ->1 : number +>1 : 1 // BUG 821629 //var u: U = r2[1]; // ok diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types index 196103f422b..a0b6e89c70a 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types @@ -63,7 +63,7 @@ function other2(arg: T) { >Date : Date >r2['hm'] : T >r2 : { [x: string]: T; } ->'hm' : string +>'hm' : "hm" } function other3(arg: T) { @@ -91,7 +91,7 @@ function other3(arg: T) { >Date : Date >r2['hm'] : T >r2 : { [x: string]: T; } ->'hm' : string +>'hm' : "hm" // BUG 821629 //var u: U = r2['hm']; // ok diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types index dbdecbec3e4..ab07e9c880a 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types @@ -119,7 +119,7 @@ module GenericParameter { >T : T >x : T >T : T ->'' : string +>'' : "" var r11 = foo6((x: T, y?: T) => ''); // any => string (+1 overload) >r11 : { (x: any): string; (x: any, y?: any): string; } @@ -131,7 +131,7 @@ module GenericParameter { >T : T >y : T >T : T ->'' : string +>'' : "" function foo7(x:T, cb: { (x: T): string; (x: T, y?: T): string }) { >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } @@ -154,7 +154,7 @@ module GenericParameter { >r12 : { (x: any): string; (x: any, y?: any): string; } >foo7(1, (x) => x) : { (x: any): string; (x: any, y?: any): string; } >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } ->1 : number +>1 : 1 >(x) => x : (x: any) => any >x : any >x : any @@ -163,12 +163,12 @@ module GenericParameter { >r13 : { (x: any): string; (x: any, y?: any): string; } >foo7(1, (x: T) => '') : { (x: any): string; (x: any, y?: any): string; } >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } ->1 : number +>1 : 1 >(x: T) => '' : (x: T) => string >T : T >x : T >T : T ->'' : string +>'' : "" var a: { (x: T): string; (x: number): T; } >a : { (x: T): string; (x: number): T; } @@ -183,6 +183,6 @@ module GenericParameter { >r14 : { (x: any): string; (x: any, y?: any): string; } >foo7(1, a) : { (x: any): string; (x: any, y?: any): string; } >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } ->1 : number +>1 : 1 >a : { (x: T): string; (x: number): T; } } diff --git a/tests/baselines/reference/genericCallWithTupleType.errors.txt b/tests/baselines/reference/genericCallWithTupleType.errors.txt index 24e0505d009..617c4f7159b 100644 --- a/tests/baselines/reference/genericCallWithTupleType.errors.txt +++ b/tests/baselines/reference/genericCallWithTupleType.errors.txt @@ -2,15 +2,13 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTup Types of property 'pop' are incompatible. Type '() => string | number | boolean' is not assignable to type '() => string | number'. Type 'string | number | boolean' is not assignable to type 'string | number'. - Type 'boolean' is not assignable to type 'string | number'. + Type 'true' is not assignable to type 'string | number'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(14,1): error TS2322: Type '{ a: string; }' is not assignable to type 'string | number'. Type '{ a: string; }' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(22,1): error TS2322: Type '[number, string]' is not assignable to type '[string, number]'. - Types of property '0' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(23,1): error TS2322: Type '[{}, {}]' is not assignable to type '[string, number]'. - Types of property '0' are incompatible. - Type '{}' is not assignable to type 'string'. + Type '{}' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts(24,1): error TS2322: Type '[{}]' is not assignable to type '[{}, {}]'. Property '1' is missing in type '[{}]'. @@ -33,7 +31,7 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTup !!! error TS2322: Types of property 'pop' are incompatible. !!! error TS2322: Type '() => string | number | boolean' is not assignable to type '() => string | number'. !!! error TS2322: Type 'string | number | boolean' is not assignable to type 'string | number'. -!!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. +!!! error TS2322: Type 'true' is not assignable to type 'string | number'. var e3 = i1.tuple1[2]; // {} i1.tuple1[3] = { a: "string" }; ~~~~~~~~~~~~ @@ -49,13 +47,11 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTup i1.tuple1 = [5, "foo"]; ~~~~~~~~~ !!! error TS2322: Type '[number, string]' is not assignable to type '[string, number]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. i1.tuple1 = [{}, {}]; ~~~~~~~~~ !!! error TS2322: Type '[{}, {}]' is not assignable to type '[string, number]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type '{}' is not assignable to type 'string'. +!!! error TS2322: Type '{}' is not assignable to type 'string'. i2.tuple1 = [{}]; ~~~~~~~~~ !!! error TS2322: Type '[{}]' is not assignable to type '[{}, {}]'. diff --git a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.errors.txt b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.errors.txt index af5d92f4e3c..aec6b9c34b7 100644 --- a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.errors.txt +++ b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(2,14): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(3,16): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(3,16): error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(4,14): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(8,15): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(9,15): error TS2346: Supplied parameters do not match any signature of call target. @@ -15,7 +15,7 @@ tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts(14,15 !!! error TS2346: Supplied parameters do not match any signature of call target. var r2 = f(1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. var r3 = f(null); ~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/genericClassExpressionInFunction.types b/tests/baselines/reference/genericClassExpressionInFunction.types index 943391fdd59..e5e85fb8bf0 100644 --- a/tests/baselines/reference/genericClassExpressionInFunction.types +++ b/tests/baselines/reference/genericClassExpressionInFunction.types @@ -86,23 +86,23 @@ var s = new S(); >S : typeof S c.genericVar = 12; ->c.genericVar = 12 : number +>c.genericVar = 12 : 12 >c.genericVar : number >c : C >genericVar : number ->12 : number +>12 : 12 k.genericVar = 12; ->k.genericVar = 12 : number +>k.genericVar = 12 : 12 >k.genericVar : number >k : K >genericVar : number ->12 : number +>12 : 12 s.genericVar = 12; ->s.genericVar = 12 : number +>s.genericVar = 12 : 12 >s.genericVar : number >s : S >genericVar : number ->12 : number +>12 : 12 diff --git a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.errors.txt b/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.errors.txt new file mode 100644 index 00000000000..1962576abcd --- /dev/null +++ b/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts(1,17): error TS2690: A class must be declared after its base class. +tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts(2,20): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts (2 errors) ==== + class A extends B { } + ~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + class B extends C { } + ~ +!!! error TS2690: A class must be declared after its base class. + class C { + constructor(p: string) { } + } \ No newline at end of file diff --git a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.symbols b/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.symbols deleted file mode 100644 index d2e173b8078..00000000000 --- a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.symbols +++ /dev/null @@ -1,16 +0,0 @@ -=== tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts === -class A extends B { } ->A : Symbol(A, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 0, 0)) ->B : Symbol(B, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 0, 29)) - -class B extends C { } ->B : Symbol(B, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 0, 29)) ->U : Symbol(U, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 1, 8)) ->C : Symbol(C, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 1, 24)) - -class C { ->C : Symbol(C, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 1, 24)) - - constructor(p: string) { } ->p : Symbol(p, Decl(genericClassInheritsConstructorFromNonGenericClass.ts, 3, 16)) -} diff --git a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.types b/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.types deleted file mode 100644 index 28daf6d38ee..00000000000 --- a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.types +++ /dev/null @@ -1,16 +0,0 @@ -=== tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts === -class A extends B { } ->A : A ->B : B - -class B extends C { } ->B : B ->U : U ->C : C - -class C { ->C : C - - constructor(p: string) { } ->p : string -} diff --git a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types index 88ef74283ae..3db47b0e479 100644 --- a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types +++ b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.types @@ -179,7 +179,7 @@ module Portal.Controls.Validators { >_validate : (value: TValue) => number >value : TValue >TValue : TValue ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt index 149a20e92a5..bcfa8d8fbf9 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts(57,19): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts(60,19): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts(61,20): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts(62,19): error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. ==== tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts (4 errors) ==== @@ -68,20 +68,20 @@ tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFu var r10 = c.foo2(1, (x: T) => ''); // error ~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r10 = c.foo2(1, (x) => ''); // string var r11 = c3.foo3(1, (x: T) => '', ''); // error ~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r11b = c3.foo3(1, (x: T) => '', 1); // error ~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'T'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'T'. var r12 = c3.foo3(1, function (a) { return '' }, 1); // error ~~~~~~~ !!! error TS2453: The type argument for type parameter 'U' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate 'string'. } } \ No newline at end of file diff --git a/tests/baselines/reference/genericClassWithStaticFactory.types b/tests/baselines/reference/genericClassWithStaticFactory.types index 2daad9003eb..1c09fcd493e 100644 --- a/tests/baselines/reference/genericClassWithStaticFactory.types +++ b/tests/baselines/reference/genericClassWithStaticFactory.types @@ -109,9 +109,9 @@ module Editor { >next : List for (i = 0; !(entry.isHead); i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >!(entry.isHead) : boolean >(entry.isHead) : boolean >entry.isHead : boolean @@ -175,11 +175,11 @@ module Editor { >T : T entry.isHead = false; ->entry.isHead = false : boolean +>entry.isHead = false : false >entry.isHead : boolean >entry : List >isHead : boolean ->false : boolean +>false : false entry.next = this.next; >entry.next = this.next : List @@ -237,11 +237,11 @@ module Editor { >data : T entry.isHead = false; ->entry.isHead = false : boolean +>entry.isHead = false : false >entry.isHead : boolean >entry : List >isHead : boolean ->false : boolean +>false : false entry.next = this.next; >entry.next = this.next : List @@ -317,11 +317,11 @@ module Editor { >T : T entry.isHead = false; ->entry.isHead = false : boolean +>entry.isHead = false : false >entry.isHead : boolean >entry : List >isHead : boolean ->false : boolean +>false : false this.prev.next = entry; >this.prev.next = entry : List @@ -501,7 +501,7 @@ module Editor { >new List(true, null) : List >List : typeof List >T : T ->true : boolean +>true : true >null : null entry.prev = entry; @@ -537,7 +537,7 @@ module Editor { >new List(false, data) : List >List : typeof List >T : T ->false : boolean +>false : false >data : T entry.prev = entry; diff --git a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js index 2039e459572..053fa785ee0 100644 --- a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js +++ b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js @@ -25,9 +25,9 @@ var Foo = (function () { Foo.f = function (xs) { return xs.reverse(); }; - Foo.a = function (n) { }; - Foo.c = []; - Foo.d = false || (function (x) { return x || undefined; })(null); - Foo.e = function (x) { return null; }; return Foo; }()); +Foo.a = function (n) { }; +Foo.c = []; +Foo.d = false || (function (x) { return x || undefined; })(null); +Foo.e = function (x) { return null; }; diff --git a/tests/baselines/reference/genericCloduleInModule.types b/tests/baselines/reference/genericCloduleInModule.types index 3ae3a8cf06d..97ef24ff49b 100644 --- a/tests/baselines/reference/genericCloduleInModule.types +++ b/tests/baselines/reference/genericCloduleInModule.types @@ -17,7 +17,7 @@ module A { export var x = 1; >x : number ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/genericConstructSignatureInInterface.types b/tests/baselines/reference/genericConstructSignatureInInterface.types index c6653a0d90d..d1d7646e945 100644 --- a/tests/baselines/reference/genericConstructSignatureInInterface.types +++ b/tests/baselines/reference/genericConstructSignatureInInterface.types @@ -16,5 +16,5 @@ var r = new v(1); >r : any >new v(1) : any >v : C ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/genericContextualTypingSpecialization.types b/tests/baselines/reference/genericContextualTypingSpecialization.types index 561370a6a32..82255020347 100644 --- a/tests/baselines/reference/genericContextualTypingSpecialization.types +++ b/tests/baselines/reference/genericContextualTypingSpecialization.types @@ -13,5 +13,5 @@ b.reduce((c, d) => c + d, 0); // should not error on '+' >c + d : number >c : number >d : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/genericFunctions0.types b/tests/baselines/reference/genericFunctions0.types index aac759af092..58256739dd4 100644 --- a/tests/baselines/reference/genericFunctions0.types +++ b/tests/baselines/reference/genericFunctions0.types @@ -10,5 +10,5 @@ var x = foo(5); // 'x' should be number >x : number >foo(5) : number >foo : (x: T) => T ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/genericFunctions1.types b/tests/baselines/reference/genericFunctions1.types index 602ee6b81a4..cd649a2177d 100644 --- a/tests/baselines/reference/genericFunctions1.types +++ b/tests/baselines/reference/genericFunctions1.types @@ -8,7 +8,7 @@ function foo (x: T) { return x; } var x = foo(5); // 'x' should be number >x : number ->foo(5) : number +>foo(5) : 5 >foo : (x: T) => T ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types index 627181e5d05..133c5cc2063 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types @@ -65,7 +65,7 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }); >c : Collection >(x) => { return 1 } : (x: string) => number >x : string ->1 : number +>1 : 1 >(y) => { return new Date() } : (y: number) => Date >y : number >new Date() : Date @@ -80,7 +80,7 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return >c : Collection >(x: string) => { return 1 } : (x: string) => number >x : string ->1 : number +>1 : 1 >(y: number) => { return new Date() } : (y: number) => Date >y : number >new Date() : Date @@ -90,7 +90,7 @@ var f1 = (x: string) => { return 1 }; >f1 : (x: string) => number >(x: string) => { return 1 } : (x: string) => number >x : string ->1 : number +>1 : 1 var f2 = (y: number) => { return new Date() }; >f2 : (y: number) => Date diff --git a/tests/baselines/reference/genericInference1.types b/tests/baselines/reference/genericInference1.types index eeed8aa9f3e..30b7279ebc0 100644 --- a/tests/baselines/reference/genericInference1.types +++ b/tests/baselines/reference/genericInference1.types @@ -3,9 +3,9 @@ >['a', 'b', 'c'].map(x => x.length) : number[] >['a', 'b', 'c'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >['a', 'b', 'c'] : string[] ->'a' : string ->'b' : string ->'c' : string +>'a' : "a" +>'b' : "b" +>'c' : "c" >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] >x => x.length : (x: string) => number >x : string diff --git a/tests/baselines/reference/genericInference2.types b/tests/baselines/reference/genericInference2.types index e5c7052b0db..54006dba419 100644 --- a/tests/baselines/reference/genericInference2.types +++ b/tests/baselines/reference/genericInference2.types @@ -41,7 +41,7 @@ >ko.observable : (value: T) => ko.Observable >ko : typeof ko >observable : (value: T) => ko.Observable ->"Bob" : string +>"Bob" : "Bob" age: ko.observable(37) >age : ko.Observable @@ -49,7 +49,7 @@ >ko.observable : (value: T) => ko.Observable >ko : typeof ko >observable : (value: T) => ko.Observable ->37 : number +>37 : 37 }; var x_v = o.name().length; // should be 'number' @@ -74,7 +74,7 @@ >o.name : ko.Observable >o : { name: ko.Observable; age: ko.Observable; } >name : ko.Observable ->"Robert" : string +>"Robert" : "Robert" var zz_v = o.name.N; // should be 'number' >zz_v : number diff --git a/tests/baselines/reference/genericMethodOverspecialization.types b/tests/baselines/reference/genericMethodOverspecialization.types index 375eefaa86c..268943a9723 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.types +++ b/tests/baselines/reference/genericMethodOverspecialization.types @@ -2,11 +2,11 @@ var names = ["list", "table1", "table2", "table3", "summary"]; >names : string[] >["list", "table1", "table2", "table3", "summary"] : string[] ->"list" : string ->"table1" : string ->"table2" : string ->"table3" : string ->"summary" : string +>"list" : "list" +>"table1" : "table1" +>"table2" : "table2" +>"table3" : "table3" +>"summary" : "summary" interface HTMLElement { >HTMLElement : HTMLElement diff --git a/tests/baselines/reference/genericNewInterface.errors.txt b/tests/baselines/reference/genericNewInterface.errors.txt index f489b72c1b6..7754d5749fd 100644 --- a/tests/baselines/reference/genericNewInterface.errors.txt +++ b/tests/baselines/reference/genericNewInterface.errors.txt @@ -1,12 +1,12 @@ -tests/cases/compiler/genericNewInterface.ts(2,21): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/genericNewInterface.ts(10,21): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/genericNewInterface.ts(2,21): error TS2345: Argument of type '42' is not assignable to parameter of type 'string'. +tests/cases/compiler/genericNewInterface.ts(10,21): error TS2345: Argument of type '1024' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/genericNewInterface.ts (2 errors) ==== function createInstance(ctor: new (s: string) => T): T { return new ctor(42); //should be an error ~~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '42' is not assignable to parameter of type 'string'. } interface INewable { @@ -16,5 +16,5 @@ tests/cases/compiler/genericNewInterface.ts(10,21): error TS2345: Argument of ty function createInstance2(ctor: INewable): T { return new ctor(1024); //should be an error ~~~~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1024' is not assignable to parameter of type 'string'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericObjectLitReturnType.types b/tests/baselines/reference/genericObjectLitReturnType.types index 6bdc352cbc7..0b54e9f8e35 100644 --- a/tests/baselines/reference/genericObjectLitReturnType.types +++ b/tests/baselines/reference/genericObjectLitReturnType.types @@ -23,13 +23,13 @@ var t1 = x.f(5); >x.f : (t: number) => { a: number; } >x : X >f : (t: number) => { a: number; } ->5 : number +>5 : 5 t1.a = 5; // Should not error: t1 should have type {a: number}, instead has type {a: T} ->t1.a = 5 : number +>t1.a = 5 : 5 >t1.a : number >t1 : { a: number; } >a : number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.types b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.types index 2f62a20c415..834f071659e 100644 --- a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.types +++ b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.types @@ -15,10 +15,10 @@ module TypeScript2 { >PullSymbolVisibility : PullSymbolVisibility Private, ->Private : PullSymbolVisibility +>Private : PullSymbolVisibility.Private Public ->Public : PullSymbolVisibility +>Public : PullSymbolVisibility.Public }   export class PullSymbol { diff --git a/tests/baselines/reference/genericRestArgs.errors.txt b/tests/baselines/reference/genericRestArgs.errors.txt index 8a977452958..2297277fe8d 100644 --- a/tests/baselines/reference/genericRestArgs.errors.txt +++ b/tests/baselines/reference/genericRestArgs.errors.txt @@ -1,9 +1,9 @@ tests/cases/compiler/genericRestArgs.ts(2,12): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. -tests/cases/compiler/genericRestArgs.ts(5,34): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. +tests/cases/compiler/genericRestArgs.ts(5,34): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/compiler/genericRestArgs.ts(10,12): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. -tests/cases/compiler/genericRestArgs.ts(12,30): error TS2345: Argument of type 'number' is not assignable to parameter of type 'any[]'. + Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. +tests/cases/compiler/genericRestArgs.ts(12,30): error TS2345: Argument of type '1' is not assignable to parameter of type 'any[]'. ==== tests/cases/compiler/genericRestArgs.ts (4 errors) ==== @@ -11,12 +11,12 @@ tests/cases/compiler/genericRestArgs.ts(12,30): error TS2345: Argument of type ' var a1Ga = makeArrayG(1, ""); // no error ~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. var a1Gb = makeArrayG(1, ""); var a1Gc = makeArrayG(1, ""); var a1Gd = makeArrayG(1, ""); // error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. function makeArrayGOpt(item1?: T, item2?: T, item3?: T) { return [item1, item2, item3]; @@ -24,8 +24,8 @@ tests/cases/compiler/genericRestArgs.ts(12,30): error TS2345: Argument of type ' var a2Ga = makeArrayGOpt(1, ""); ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate '1' is not a valid type argument because it is not a supertype of candidate '""'. var a2Gb = makeArrayG(1, ""); var a2Gc = makeArrayG(1, ""); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'any[]'. \ No newline at end of file +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'any[]'. \ No newline at end of file diff --git a/tests/baselines/reference/genericReversingTypeParameters.types b/tests/baselines/reference/genericReversingTypeParameters.types index 524a2ebba03..daab3c0248f 100644 --- a/tests/baselines/reference/genericReversingTypeParameters.types +++ b/tests/baselines/reference/genericReversingTypeParameters.types @@ -36,7 +36,7 @@ var r1 = b.get(''); >b.get : (key: string) => number >b : BiMap >get : (key: string) => number ->'' : string +>'' : "" var i = b.inverse(); // used to get the type wrong here. >i : BiMap @@ -51,5 +51,5 @@ var r2b = i.get(1); >i.get : (key: number) => string >i : BiMap >get : (key: number) => string ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/genericReversingTypeParameters2.types b/tests/baselines/reference/genericReversingTypeParameters2.types index 28c1f40ce9f..d64c135cf20 100644 --- a/tests/baselines/reference/genericReversingTypeParameters2.types +++ b/tests/baselines/reference/genericReversingTypeParameters2.types @@ -43,5 +43,5 @@ var r2b = i.get(1); >i.get : (key: number) => string >i : BiMap >get : (key: number) => string ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/genericStaticAnyTypeFunction.types b/tests/baselines/reference/genericStaticAnyTypeFunction.types index 38b3c3708e7..3a6a182b08a 100644 --- a/tests/baselines/reference/genericStaticAnyTypeFunction.types +++ b/tests/baselines/reference/genericStaticAnyTypeFunction.types @@ -16,7 +16,7 @@ class A { } static goo() { return 0; } >goo : () => number ->0 : number +>0 : 0 static two(source: T): T { >two : (source: T) => T @@ -32,7 +32,7 @@ class A { >one : (source: T, value: number) => T >T : T >source : T ->42 : number +>42 : 42 } diff --git a/tests/baselines/reference/genericTypeAliases.types b/tests/baselines/reference/genericTypeAliases.types index b43e2610725..1cabaa8caa0 100644 --- a/tests/baselines/reference/genericTypeAliases.types +++ b/tests/baselines/reference/genericTypeAliases.types @@ -1,18 +1,18 @@ === tests/cases/conformance/types/typeAliases/genericTypeAliases.ts === type Tree = T | { left: Tree, right: Tree }; ->Tree : T | { left: T | any; right: T | any; } +>Tree : Tree >T : T >T : T ->left : T | { left: T | any; right: T | any; } ->Tree : T | { left: T | any; right: T | any; } +>left : Tree +>Tree : Tree >T : T ->right : T | { left: T | any; right: T | any; } ->Tree : T | { left: T | any; right: T | any; } +>right : Tree +>Tree : Tree >T : T var tree: Tree = { ->tree : number | { left: number | any; right: number | any; } ->Tree : T | { left: T | any; right: T | any; } +>tree : Tree +>Tree : Tree >{ left: { left: 0, right: { left: 1, right: 2 }, }, right: 3} : { left: { left: number; right: { left: number; right: number; }; }; right: number; } left: { @@ -21,7 +21,7 @@ var tree: Tree = { left: 0, >left : number ->0 : number +>0 : 0 right: { >right : { left: number; right: number; } @@ -29,121 +29,121 @@ var tree: Tree = { left: 1, >left : number ->1 : number +>1 : 1 right: 2 >right : number ->2 : number +>2 : 2 }, }, right: 3 >right : number ->3 : number +>3 : 3 }; type Lazy = T | (() => T); ->Lazy : T | (() => T) +>Lazy : Lazy >T : T >T : T >T : T var ls: Lazy; ->ls : string | (() => string) ->Lazy : T | (() => T) +>ls : Lazy +>Lazy : Lazy ls = "eager"; ->ls = "eager" : string ->ls : string | (() => string) ->"eager" : string +>ls = "eager" : "eager" +>ls : Lazy +>"eager" : "eager" ls = () => "lazy"; >ls = () => "lazy" : () => string ->ls : string | (() => string) +>ls : Lazy >() => "lazy" : () => string ->"lazy" : string +>"lazy" : "lazy" type Foo = T | { x: Foo }; ->Foo : T | { x: T | any; } +>Foo : Foo >T : T >T : T ->x : T | { x: T | any; } ->Foo : T | { x: T | any; } +>x : Foo +>Foo : Foo >T : T type Bar = U | { x: Bar }; ->Bar : U | { x: U | any; } +>Bar : Bar >U : U >U : U ->x : U | { x: U | any; } ->Bar : U | { x: U | any; } +>x : Bar +>Bar : Bar >U : U // Deeply instantiated generics var x: Foo; ->x : string | { x: string | any; } ->Foo : T | { x: T | any; } +>x : Foo +>Foo : Foo var y: Bar; ->y : string | { x: string | any; } ->Bar : U | { x: U | any; } +>y : Bar +>Bar : Bar x = y; ->x = y : string | { x: string | any; } ->x : string | { x: string | any; } ->y : string | { x: string | any; } +>x = y : Bar +>x : Foo +>y : Bar y = x; ->y = x : string | { x: string | any; } ->y : string | { x: string | any; } ->x : string | { x: string | any; } +>y = x : Foo +>y : Bar +>x : Foo x = "string"; ->x = "string" : string ->x : string | { x: string | any; } ->"string" : string +>x = "string" : "string" +>x : Foo +>"string" : "string" x = { x: "hello" }; >x = { x: "hello" } : { x: string; } ->x : string | { x: string | any; } +>x : Foo >{ x: "hello" } : { x: string; } >x : string ->"hello" : string +>"hello" : "hello" x = { x: { x: "world" } }; >x = { x: { x: "world" } } : { x: { x: string; }; } ->x : string | { x: string | any; } +>x : Foo >{ x: { x: "world" } } : { x: { x: string; }; } >x : { x: string; } >{ x: "world" } : { x: string; } >x : string ->"world" : string +>"world" : "world" var z: Foo; ->z : number | { x: number | any; } ->Foo : T | { x: T | any; } +>z : Foo +>Foo : Foo z = 42; ->z = 42 : number ->z : number | { x: number | any; } ->42 : number +>z = 42 : 42 +>z : Foo +>42 : 42 z = { x: 42 }; >z = { x: 42 } : { x: number; } ->z : number | { x: number | any; } +>z : Foo >{ x: 42 } : { x: number; } >x : number ->42 : number +>42 : 42 z = { x: { x: 42 } }; >z = { x: { x: 42 } } : { x: { x: number; }; } ->z : number | { x: number | any; } +>z : Foo >{ x: { x: 42 } } : { x: { x: number; }; } >x : { x: number; } >{ x: 42 } : { x: number; } >x : number ->42 : number +>42 : 42 type Strange = string; // Type parameter not used >Strange : string @@ -154,9 +154,9 @@ var s: Strange; >Strange : string s = "hello"; ->s = "hello" : string +>s = "hello" : "hello" >s : string ->"hello" : string +>"hello" : "hello" interface Tuple { >Tuple : Tuple @@ -194,81 +194,81 @@ var p: TaggedPair; >TaggedPair : TaggedPair p.a = 1; ->p.a = 1 : number +>p.a = 1 : 1 >p.a : number >p : TaggedPair >a : number ->1 : number +>1 : 1 p.b = 2; ->p.b = 2 : number +>p.b = 2 : 2 >p.b : number >p : TaggedPair >b : number ->2 : number +>2 : 2 p.tag = "test"; ->p.tag = "test" : string +>p.tag = "test" : "test" >p.tag : string >p : TaggedPair >tag : string ->"test" : string +>"test" : "test" function f() { ->f : () => A[] | { x: A[] | any; } +>f : () => Foo >A : A type Foo = T | { x: Foo }; ->Foo : T | { x: T | any; } +>Foo : Foo >T : T >T : T ->x : T | { x: T | any; } ->Foo : T | { x: T | any; } +>x : Foo +>Foo : Foo >T : T var x: Foo; ->x : A[] | { x: A[] | any; } ->Foo : T | { x: T | any; } +>x : Foo +>Foo : Foo >A : A return x; ->x : A[] | { x: A[] | any; } +>x : Foo } function g() { ->g : () => B[] | { x: B[] | any; } +>g : () => Bar >B : B type Bar = U | { x: Bar }; ->Bar : U | { x: U | any; } +>Bar : Bar >U : U >U : U ->x : U | { x: U | any; } ->Bar : U | { x: U | any; } +>x : Bar +>Bar : Bar >U : U var x: Bar; ->x : B[] | { x: B[] | any; } ->Bar : U | { x: U | any; } +>x : Bar +>Bar : Bar >B : B return x; ->x : B[] | { x: B[] | any; } +>x : Bar } // Deeply instantiated generics var a = f(); ->a : string[] | { x: string[] | any; } ->f() : string[] | { x: string[] | any; } ->f : () => A[] | { x: A[] | any; } +>a : Foo +>f() : Foo +>f : () => Foo var b = g(); ->b : string[] | { x: string[] | any; } ->g() : string[] | { x: string[] | any; } ->g : () => B[] | { x: B[] | any; } +>b : Bar +>g() : Bar +>g : () => Bar a = b; ->a = b : string[] | { x: string[] | any; } ->a : string[] | { x: string[] | any; } ->b : string[] | { x: string[] | any; } +>a = b : Bar +>a : Foo +>b : Bar diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index 405c328bc45..2dc6e51ff0f 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -42,16 +42,16 @@ declare var _: Underscore.Static; >Static : Underscore.Static var r = _.all([true, 1, null, 'yes'], _.identity); ->r : boolean | number | string ->_.all([true, 1, null, 'yes'], _.identity) : boolean | number | string +>r : string | number | boolean +>_.all([true, 1, null, 'yes'], _.identity) : string | number | boolean >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >_ : Underscore.Static >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T ->[true, 1, null, 'yes'] : (boolean | number | string)[] ->true : boolean ->1 : number +>[true, 1, null, 'yes'] : (true | 1 | "yes")[] +>true : true +>1 : 1 >null : null ->'yes' : string +>'yes' : "yes" >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T @@ -62,8 +62,8 @@ var r2 = _.all([true], _.identity); >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >_ : Underscore.Static >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T ->[true] : boolean[] ->true : boolean +>[true] : true[] +>true : true >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T @@ -87,7 +87,7 @@ var r4 = _.all([true], _.identity); >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T >[true] : any[] >true : any ->true : boolean +>true : true >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 44e495088bc..6ab297fe32c 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -49,7 +49,7 @@ function forEach(list: A[], f: (a: A, n?: number) => void ): void { for (var i = 0; i < list.length; ++i) { >i : number ->0 : number +>0 : 0 >i < list.length : boolean >i : number >list.length : number diff --git a/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.types b/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.types index c58d56e3a75..b314839a97e 100644 --- a/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.types +++ b/tests/baselines/reference/genericWithCallSignatureReturningSpecialization.types @@ -18,5 +18,5 @@ var x: B; x(true); // was error >x(true) : void >x : B ->true : boolean +>true : true diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types index a316773e5c8..c7c11a42743 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType1.types @@ -31,5 +31,5 @@ var value: string = lazyArray.array()["test"]; // used to be an error >lazyArray.array : () => { [objectId: string]: string; } >lazyArray : LazyArray >array : () => { [objectId: string]: string; } ->"test" : string +>"test" : "test" diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt b/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt index 98db4282244..ba9ec881f99 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/genericWithOpenTypeParameters1.ts(7,40): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +tests/cases/compiler/genericWithOpenTypeParameters1.ts(7,40): error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. tests/cases/compiler/genericWithOpenTypeParameters1.ts(8,35): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/genericWithOpenTypeParameters1.ts(9,35): error TS2346: Supplied parameters do not match any signature of call target. @@ -12,7 +12,7 @@ tests/cases/compiler/genericWithOpenTypeParameters1.ts(9,35): error TS2346: Supp x.foo(1); // no error var f = (x: B) => { return x.foo(1); } // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. var f2 = (x: B) => { return x.foo(1); } // error ~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/getEmitOutput-pp.baseline b/tests/baselines/reference/getEmitOutput-pp.baseline index d6952e4537d..683b454a275 100644 --- a/tests/baselines/reference/getEmitOutput-pp.baseline +++ b/tests/baselines/reference/getEmitOutput-pp.baseline @@ -1,12 +1,12 @@ EmitSkipped: false -FileName : tests/cases/fourslash/shims-pp/inputFile1.js +FileName : /tests/cases/fourslash/shims-pp/inputFile1.js var x = 5; var Bar = (function () { function Bar() { } return Bar; }()); -FileName : tests/cases/fourslash/shims-pp/inputFile1.d.ts +FileName : /tests/cases/fourslash/shims-pp/inputFile1.d.ts declare var x: number; declare class Bar { x: string; @@ -14,14 +14,14 @@ declare class Bar { } EmitSkipped: false -FileName : tests/cases/fourslash/shims-pp/inputFile2.js +FileName : /tests/cases/fourslash/shims-pp/inputFile2.js var x1 = "hello world"; var Foo = (function () { function Foo() { } return Foo; }()); -FileName : tests/cases/fourslash/shims-pp/inputFile2.d.ts +FileName : /tests/cases/fourslash/shims-pp/inputFile2.d.ts declare var x1: string; declare class Foo { x: string; diff --git a/tests/baselines/reference/getEmitOutput.baseline b/tests/baselines/reference/getEmitOutput.baseline index 52c7d8a7aae..8251850e1bb 100644 --- a/tests/baselines/reference/getEmitOutput.baseline +++ b/tests/baselines/reference/getEmitOutput.baseline @@ -1,12 +1,12 @@ EmitSkipped: false -FileName : tests/cases/fourslash/shims/inputFile1.js +FileName : /tests/cases/fourslash/shims/inputFile1.js var x = 5; var Bar = (function () { function Bar() { } return Bar; }()); -FileName : tests/cases/fourslash/shims/inputFile1.d.ts +FileName : /tests/cases/fourslash/shims/inputFile1.d.ts declare var x: number; declare class Bar { x: string; @@ -14,14 +14,14 @@ declare class Bar { } EmitSkipped: false -FileName : tests/cases/fourslash/shims/inputFile2.js +FileName : /tests/cases/fourslash/shims/inputFile2.js var x1 = "hello world"; var Foo = (function () { function Foo() { } return Foo; }()); -FileName : tests/cases/fourslash/shims/inputFile2.d.ts +FileName : /tests/cases/fourslash/shims/inputFile2.d.ts declare var x1: string; declare class Foo { x: string; diff --git a/tests/baselines/reference/getEmitOutputDeclarationMultiFiles.baseline b/tests/baselines/reference/getEmitOutputDeclarationMultiFiles.baseline index 5a6fb434b1f..56eb932fb5d 100644 --- a/tests/baselines/reference/getEmitOutputDeclarationMultiFiles.baseline +++ b/tests/baselines/reference/getEmitOutputDeclarationMultiFiles.baseline @@ -1,12 +1,12 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js var x = 5; var Bar = (function () { function Bar() { } return Bar; }()); -FileName : tests/cases/fourslash/inputFile1.d.ts +FileName : /tests/cases/fourslash/inputFile1.d.ts declare var x: number; declare class Bar { x: string; @@ -14,14 +14,14 @@ declare class Bar { } EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js var x1 = "hello world"; var Foo = (function () { function Foo() { } return Foo; }()); -FileName : tests/cases/fourslash/inputFile2.d.ts +FileName : /tests/cases/fourslash/inputFile2.d.ts declare var x1: string; declare class Foo { x: string; diff --git a/tests/baselines/reference/getEmitOutputNoErrors.baseline b/tests/baselines/reference/getEmitOutputNoErrors.baseline index 461cba4ea05..6469ab3d1a7 100644 --- a/tests/baselines/reference/getEmitOutputNoErrors.baseline +++ b/tests/baselines/reference/getEmitOutputNoErrors.baseline @@ -1,5 +1,5 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js var x; var M = (function () { function M() { diff --git a/tests/baselines/reference/getEmitOutputOnlyOneFile.baseline b/tests/baselines/reference/getEmitOutputOnlyOneFile.baseline index 4d1c88e45b4..dbcfe28afaa 100644 --- a/tests/baselines/reference/getEmitOutputOnlyOneFile.baseline +++ b/tests/baselines/reference/getEmitOutputOnlyOneFile.baseline @@ -1,5 +1,5 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js var x; var Foo = (function () { function Foo() { diff --git a/tests/baselines/reference/getEmitOutputSingleFile2.baseline b/tests/baselines/reference/getEmitOutputSingleFile2.baseline index 2a7b4ac367e..a756897fffb 100644 --- a/tests/baselines/reference/getEmitOutputSingleFile2.baseline +++ b/tests/baselines/reference/getEmitOutputSingleFile2.baseline @@ -23,8 +23,4 @@ declare class Foo { x: string; y: number; } -declare module "inputFile3" { - export var foo: number; - export var bar: string; -} diff --git a/tests/baselines/reference/getEmitOutputSourceMap.baseline b/tests/baselines/reference/getEmitOutputSourceMap.baseline index 65257d63607..25667b8b701 100644 --- a/tests/baselines/reference/getEmitOutputSourceMap.baseline +++ b/tests/baselines/reference/getEmitOutputSourceMap.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js.map -{"version":3,"file":"inputFile.js","sourceRoot":"","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js.map +{"version":3,"file":"inputFile.js","sourceRoot":"","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile.js var x = 109; var foo = "hello world"; var M = (function () { diff --git a/tests/baselines/reference/getEmitOutputSourceRoot.baseline b/tests/baselines/reference/getEmitOutputSourceRoot.baseline index d38078a08e3..5881a61f22a 100644 --- a/tests/baselines/reference/getEmitOutputSourceRoot.baseline +++ b/tests/baselines/reference/getEmitOutputSourceRoot.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js.map -{"version":3,"file":"inputFile.js","sourceRoot":"sourceRootDir/","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js.map +{"version":3,"file":"inputFile.js","sourceRoot":"sourceRootDir/","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile.js var x = 109; var foo = "hello world"; var M = (function () { diff --git a/tests/baselines/reference/getEmitOutputSourceRootMultiFiles.baseline b/tests/baselines/reference/getEmitOutputSourceRootMultiFiles.baseline index 50a6ad68605..62e3f2eb7e5 100644 --- a/tests/baselines/reference/getEmitOutputSourceRootMultiFiles.baseline +++ b/tests/baselines/reference/getEmitOutputSourceRootMultiFiles.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js.map -{"version":3,"file":"inputFile1.js","sourceRoot":"sourceRootDir/","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js.map +{"version":3,"file":"inputFile1.js","sourceRoot":"sourceRootDir/","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js var x = 109; var foo = "hello world"; var M = (function () { @@ -10,8 +10,8 @@ var M = (function () { }()); //# sourceMappingURL=inputFile1.js.map EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js.map -{"version":3,"file":"inputFile2.js","sourceRoot":"sourceRootDir/","sources":["inputFile2.ts"],"names":[],"mappings":"AAAA,IAAI,GAAG,GAAG,wBAAwB,CAAC;AACnC;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js.map +{"version":3,"file":"inputFile2.js","sourceRoot":"sourceRootDir/","sources":["inputFile2.ts"],"names":[],"mappings":"AAAA,IAAI,GAAG,GAAG,wBAAwB,CAAC;AACnC;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile2.js var bar = "hello world Typescript"; var C = (function () { function C() { diff --git a/tests/baselines/reference/getEmitOutputTsxFile_Preserve.baseline b/tests/baselines/reference/getEmitOutputTsxFile_Preserve.baseline index bebd1ff1dd1..015ddba07d9 100644 --- a/tests/baselines/reference/getEmitOutputTsxFile_Preserve.baseline +++ b/tests/baselines/reference/getEmitOutputTsxFile_Preserve.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js.map -{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js.map +{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js // regular ts file var t = 5; var Bar = (function () { @@ -8,7 +8,7 @@ var Bar = (function () { } return Bar; }()); -//# sourceMappingURL=inputFile1.js.mapFileName : tests/cases/fourslash/inputFile1.d.ts +//# sourceMappingURL=inputFile1.js.mapFileName : /tests/cases/fourslash/inputFile1.d.ts declare var t: number; declare class Bar { x: string; @@ -16,11 +16,11 @@ declare class Bar { } EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.jsx.map -{"version":3,"file":"inputFile2.jsx","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAG,CAAA"}FileName : tests/cases/fourslash/inputFile2.jsx +FileName : /tests/cases/fourslash/inputFile2.jsx.map +{"version":3,"file":"inputFile2.jsx","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAG,CAAA"}FileName : /tests/cases/fourslash/inputFile2.jsx var y = "my div"; var x =
; -//# sourceMappingURL=inputFile2.jsx.mapFileName : tests/cases/fourslash/inputFile2.d.ts +//# sourceMappingURL=inputFile2.jsx.mapFileName : /tests/cases/fourslash/inputFile2.d.ts declare var y: string; declare var x: any; diff --git a/tests/baselines/reference/getEmitOutputTsxFile_React.baseline b/tests/baselines/reference/getEmitOutputTsxFile_React.baseline index 5b668fd65e8..b139e9c1ca0 100644 --- a/tests/baselines/reference/getEmitOutputTsxFile_React.baseline +++ b/tests/baselines/reference/getEmitOutputTsxFile_React.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js.map -{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js.map +{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js // regular ts file var t = 5; var Bar = (function () { @@ -8,7 +8,7 @@ var Bar = (function () { } return Bar; }()); -//# sourceMappingURL=inputFile1.js.mapFileName : tests/cases/fourslash/inputFile1.d.ts +//# sourceMappingURL=inputFile1.js.mapFileName : /tests/cases/fourslash/inputFile1.d.ts declare var t: number; declare class Bar { x: string; @@ -16,11 +16,11 @@ declare class Bar { } EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js.map -{"version":3,"file":"inputFile2.js","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AACA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,qBAAC,GAAG,IAAC,IAAI,EAAG,CAAE,EAAG,CAAA"}FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js.map +{"version":3,"file":"inputFile2.js","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AACA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,6BAAK,IAAI,EAAG,CAAC,GAAI,CAAA"}FileName : /tests/cases/fourslash/inputFile2.js var y = "my div"; -var x = React.createElement("div", {name: y}); -//# sourceMappingURL=inputFile2.js.mapFileName : tests/cases/fourslash/inputFile2.d.ts +var x = React.createElement("div", { name: y }); +//# sourceMappingURL=inputFile2.js.mapFileName : /tests/cases/fourslash/inputFile2.d.ts declare var React: any; declare var y: string; declare var x: any; diff --git a/tests/baselines/reference/getEmitOutputWithDeclarationFile.baseline b/tests/baselines/reference/getEmitOutputWithDeclarationFile.baseline index af4ccd10580..a10ef5967b0 100644 --- a/tests/baselines/reference/getEmitOutputWithDeclarationFile.baseline +++ b/tests/baselines/reference/getEmitOutputWithDeclarationFile.baseline @@ -1,7 +1,7 @@ EmitSkipped: false EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js var x1 = "hello world"; var Foo = (function () { function Foo() { diff --git a/tests/baselines/reference/getEmitOutputWithDeclarationFile2.baseline b/tests/baselines/reference/getEmitOutputWithDeclarationFile2.baseline index 8e43219e005..5c865321691 100644 --- a/tests/baselines/reference/getEmitOutputWithDeclarationFile2.baseline +++ b/tests/baselines/reference/getEmitOutputWithDeclarationFile2.baseline @@ -1,7 +1,7 @@ EmitSkipped: false EmitSkipped: false -FileName : tests/cases/fourslash/inputFile2.js +FileName : /tests/cases/fourslash/inputFile2.js "use strict"; var Foo = (function () { function Foo() { @@ -11,6 +11,6 @@ var Foo = (function () { exports.Foo = Foo; EmitSkipped: false -FileName : tests/cases/fourslash/inputFile3.js +FileName : /tests/cases/fourslash/inputFile3.js var x = "hello"; diff --git a/tests/baselines/reference/getEmitOutputWithEarlySyntacticErrors.baseline b/tests/baselines/reference/getEmitOutputWithEarlySyntacticErrors.baseline index 9e2e9978f46..6609554a299 100644 --- a/tests/baselines/reference/getEmitOutputWithEarlySyntacticErrors.baseline +++ b/tests/baselines/reference/getEmitOutputWithEarlySyntacticErrors.baseline @@ -1,5 +1,5 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js // File contains early errors. All outputs should be skipped. var uninitialized_const_error; diff --git a/tests/baselines/reference/getEmitOutputWithEmitterErrors.baseline b/tests/baselines/reference/getEmitOutputWithEmitterErrors.baseline index 8ba493e04b7..326d547ae1b 100644 --- a/tests/baselines/reference/getEmitOutputWithEmitterErrors.baseline +++ b/tests/baselines/reference/getEmitOutputWithEmitterErrors.baseline @@ -1,7 +1,7 @@ EmitSkipped: true Diagnostics: Exported variable 'foo' has or is using private name 'C'. -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js var M; (function (M) { var C = (function () { diff --git a/tests/baselines/reference/getEmitOutputWithEmitterErrors2.baseline b/tests/baselines/reference/getEmitOutputWithEmitterErrors2.baseline index bf12bd35548..a181526eb27 100644 --- a/tests/baselines/reference/getEmitOutputWithEmitterErrors2.baseline +++ b/tests/baselines/reference/getEmitOutputWithEmitterErrors2.baseline @@ -1,7 +1,7 @@ EmitSkipped: true Diagnostics: Exported variable 'foo' has or is using private name 'C'. -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js define(["require", "exports"], function (require, exports) { "use strict"; var C = (function () { diff --git a/tests/baselines/reference/getEmitOutputWithSemanticErrors.baseline b/tests/baselines/reference/getEmitOutputWithSemanticErrors.baseline index b6249822131..55a58ea041f 100644 --- a/tests/baselines/reference/getEmitOutputWithSemanticErrors.baseline +++ b/tests/baselines/reference/getEmitOutputWithSemanticErrors.baseline @@ -1,4 +1,4 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js var x = "hello world"; diff --git a/tests/baselines/reference/getEmitOutputWithSemanticErrors2.baseline b/tests/baselines/reference/getEmitOutputWithSemanticErrors2.baseline index 396e220bdb6..b5848da3457 100644 --- a/tests/baselines/reference/getEmitOutputWithSemanticErrors2.baseline +++ b/tests/baselines/reference/getEmitOutputWithSemanticErrors2.baseline @@ -1,6 +1,6 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js var x = "hello world"; -FileName : tests/cases/fourslash/inputFile.d.ts +FileName : /tests/cases/fourslash/inputFile.d.ts declare var x: number; diff --git a/tests/baselines/reference/getEmitOutputWithSemanticErrorsForMultipleFiles.baseline b/tests/baselines/reference/getEmitOutputWithSemanticErrorsForMultipleFiles.baseline index 7f012b6a546..4c22a7e3f93 100644 --- a/tests/baselines/reference/getEmitOutputWithSemanticErrorsForMultipleFiles.baseline +++ b/tests/baselines/reference/getEmitOutputWithSemanticErrorsForMultipleFiles.baseline @@ -1,8 +1,8 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js // File to emit, does not contain semantic errors // expected to be emitted correctelly regardless of the semantic errors in the other file var noErrors = true; -FileName : tests/cases/fourslash/inputFile1.d.ts +FileName : /tests/cases/fourslash/inputFile1.d.ts declare var noErrors: boolean; diff --git a/tests/baselines/reference/getEmitOutputWithSyntacticErrorsForMultipleFiles.baseline b/tests/baselines/reference/getEmitOutputWithSyntacticErrorsForMultipleFiles.baseline index 701b275eb31..f51782cc75d 100644 --- a/tests/baselines/reference/getEmitOutputWithSyntacticErrorsForMultipleFiles.baseline +++ b/tests/baselines/reference/getEmitOutputWithSyntacticErrorsForMultipleFiles.baseline @@ -1,5 +1,5 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile1.js +FileName : /tests/cases/fourslash/inputFile1.js // File to emit, does not contain syntactic errors // expected to be emitted correctelly regardless of the syntactic errors in the other file var noErrors = true; diff --git a/tests/baselines/reference/getEmitOutputWithSyntaxErrors.baseline b/tests/baselines/reference/getEmitOutputWithSyntaxErrors.baseline index 2c341821fb0..8aa81ba60ce 100644 --- a/tests/baselines/reference/getEmitOutputWithSyntaxErrors.baseline +++ b/tests/baselines/reference/getEmitOutputWithSyntaxErrors.baseline @@ -1,4 +1,4 @@ EmitSkipped: false -FileName : tests/cases/fourslash/inputFile.js +FileName : /tests/cases/fourslash/inputFile.js var x; diff --git a/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt b/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt index 5b076b078c5..845a4011d9f 100644 --- a/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt +++ b/tests/baselines/reference/getSetAccessorContextualTyping.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/expressions/contextualTyping/getSetAccessorContextualTyping.ts(8,16): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/expressions/contextualTyping/getSetAccessorContextualTyping.ts(8,16): error TS2322: Type '"string"' is not assignable to type 'number'. ==== tests/cases/conformance/expressions/contextualTyping/getSetAccessorContextualTyping.ts (1 errors) ==== @@ -11,7 +11,7 @@ tests/cases/conformance/expressions/contextualTyping/getSetAccessorContextualTyp get X() { return "string"; // Error; get contextual type by set accessor parameter type annotation ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"string"' is not assignable to type 'number'. } set Y(y) { } diff --git a/tests/baselines/reference/getterControlFlowStrictNull.errors.txt b/tests/baselines/reference/getterControlFlowStrictNull.errors.txt new file mode 100644 index 00000000000..1c4f02d6a75 --- /dev/null +++ b/tests/baselines/reference/getterControlFlowStrictNull.errors.txt @@ -0,0 +1,27 @@ +tests/cases/compiler/getterControlFlowStrictNull.ts(2,9): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. +tests/cases/compiler/getterControlFlowStrictNull.ts(11,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'. + + +==== tests/cases/compiler/getterControlFlowStrictNull.ts (2 errors) ==== + class A { + a(): string | null { + ~~~~~~~~~~~~~ +!!! error TS2366: Function lacks ending return statement and return type does not include 'undefined'. + if (Math.random() > 0.5) { + return ''; + } + + // it does error here as expected + } + } + class B { + get a(): string | null { + ~~~~~~~~~~~~~ +!!! error TS2366: Function lacks ending return statement and return type does not include 'undefined'. + if (Math.random() > 0.5) { + return ''; + } + + // it should error here because it returns undefined + } + } \ No newline at end of file diff --git a/tests/baselines/reference/getterControlFlowStrictNull.js b/tests/baselines/reference/getterControlFlowStrictNull.js new file mode 100644 index 00000000000..c3f7e410d0a --- /dev/null +++ b/tests/baselines/reference/getterControlFlowStrictNull.js @@ -0,0 +1,47 @@ +//// [getterControlFlowStrictNull.ts] +class A { + a(): string | null { + if (Math.random() > 0.5) { + return ''; + } + + // it does error here as expected + } +} +class B { + get a(): string | null { + if (Math.random() > 0.5) { + return ''; + } + + // it should error here because it returns undefined + } +} + +//// [getterControlFlowStrictNull.js] +var A = (function () { + function A() { + } + A.prototype.a = function () { + if (Math.random() > 0.5) { + return ''; + } + // it does error here as expected + }; + return A; +}()); +var B = (function () { + function B() { + } + Object.defineProperty(B.prototype, "a", { + get: function () { + if (Math.random() > 0.5) { + return ''; + } + // it should error here because it returns undefined + }, + enumerable: true, + configurable: true + }); + return B; +}()); diff --git a/tests/baselines/reference/getterSetterNonAccessor.types b/tests/baselines/reference/getterSetterNonAccessor.types index 48d9f9c85e0..f5eb22296f3 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.types +++ b/tests/baselines/reference/getterSetterNonAccessor.types @@ -1,7 +1,7 @@ === tests/cases/compiler/getterSetterNonAccessor.ts === function getFunc():any{return 0;} >getFunc : () => any ->0 : number +>0 : 0 function setFunc(v){} >setFunc : (v: any) => void @@ -13,11 +13,11 @@ Object.defineProperty({}, "0", ({ >Object : ObjectConstructor >defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >{} : {} ->"0" : string +>"0" : "0" >({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor ->({ get: getFunc, set: setFunc, configurable: true }) : { get: () => any; set: (v: any) => void; configurable: boolean; } ->{ get: getFunc, set: setFunc, configurable: true } : { get: () => any; set: (v: any) => void; configurable: boolean; } +>({ get: getFunc, set: setFunc, configurable: true }) : { get: () => any; set: (v: any) => void; configurable: true; } +>{ get: getFunc, set: setFunc, configurable: true } : { get: () => any; set: (v: any) => void; configurable: true; } get: getFunc, >get : () => any @@ -29,7 +29,7 @@ Object.defineProperty({}, "0", ({ configurable: true >configurable : boolean ->true : boolean +>true : true })); diff --git a/tests/baselines/reference/gettersAndSetters.js b/tests/baselines/reference/gettersAndSetters.js index 16d66c7dc71..265a1210b16 100644 --- a/tests/baselines/reference/gettersAndSetters.js +++ b/tests/baselines/reference/gettersAndSetters.js @@ -65,9 +65,9 @@ var C = (function () { enumerable: true, configurable: true }); - C.barBack = ""; return C; }()); +C.barBack = ""; var c = new C(); var foo = c.Foo; c.Foo = "foov"; diff --git a/tests/baselines/reference/global.types b/tests/baselines/reference/global.types index f866f062068..c56e039f230 100644 --- a/tests/baselines/reference/global.types +++ b/tests/baselines/reference/global.types @@ -15,13 +15,13 @@ module M { var x=10; >x : number ->10 : number +>10 : 10 M.f(3); >M.f(3) : number >M.f : (y: number) => number >M : typeof M >f : (y: number) => number ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/globalIsContextualKeyword.types b/tests/baselines/reference/globalIsContextualKeyword.types index d0bf624af6d..371c05c2183 100644 --- a/tests/baselines/reference/globalIsContextualKeyword.types +++ b/tests/baselines/reference/globalIsContextualKeyword.types @@ -4,7 +4,7 @@ function a() { let global = 1; >global : number ->1 : number +>1 : 1 } function b() { >b : () => void @@ -28,5 +28,5 @@ let obj = { global: "123" >global : string ->"123" : string +>"123" : "123" } diff --git a/tests/baselines/reference/globalThisCapture.types b/tests/baselines/reference/globalThisCapture.types index b8ed146d8c4..063100ff78e 100644 --- a/tests/baselines/reference/globalThisCapture.types +++ b/tests/baselines/reference/globalThisCapture.types @@ -15,5 +15,5 @@ var parts = []; parts[0]; >parts[0] : any >parts : any[] ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/grammarAmbiguities1.errors.txt b/tests/baselines/reference/grammarAmbiguities1.errors.txt index 12df5f3c1e0..8809c4aa334 100644 --- a/tests/baselines/reference/grammarAmbiguities1.errors.txt +++ b/tests/baselines/reference/grammarAmbiguities1.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/grammarAmbiguities1.ts(8,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/grammarAmbiguities1.ts(8,3): error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. -tests/cases/compiler/grammarAmbiguities1.ts(8,10): error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. +tests/cases/compiler/grammarAmbiguities1.ts(8,10): error TS2365: Operator '>' cannot be applied to types 'typeof B' and '7'. tests/cases/compiler/grammarAmbiguities1.ts(9,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/grammarAmbiguities1.ts(9,3): error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. tests/cases/compiler/grammarAmbiguities1.ts(9,10): error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. @@ -20,7 +20,7 @@ tests/cases/compiler/grammarAmbiguities1.ts(9,10): error TS2365: Operator '>' ca ~~~~~ !!! error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. ~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. +!!! error TS2365: Operator '>' cannot be applied to types 'typeof B' and '7'. f(g < A, B > +(7)); ~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt b/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt index 20e113faf2a..e5c2be7a598 100644 --- a/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt +++ b/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/heterogeneousArrayAndOverloads.ts(9,19): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'string[]'. - Type 'number | string' is not assignable to type 'string'. +tests/cases/compiler/heterogeneousArrayAndOverloads.ts(9,19): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'string[]'. + Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. @@ -14,8 +14,8 @@ tests/cases/compiler/heterogeneousArrayAndOverloads.ts(9,19): error TS2345: Argu this.test([]); this.test([1, 2, "hi", 5]); // Error ~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'string[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'string'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'string[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'string'. !!! error TS2345: Type 'number' is not assignable to type 'string'. } } \ No newline at end of file diff --git a/tests/baselines/reference/heterogeneousArrayLiterals.types b/tests/baselines/reference/heterogeneousArrayLiterals.types index c760e5a566f..f1c5b6b8dfc 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.types +++ b/tests/baselines/reference/heterogeneousArrayLiterals.types @@ -2,29 +2,29 @@ // type of an array is the best common type of its elements (plus its contextual type if it exists) var a = [1, '']; // {}[] ->a : (number | string)[] ->[1, ''] : (number | string)[] ->1 : number ->'' : string +>a : (string | number)[] +>[1, ''] : (string | number)[] +>1 : 1 +>'' : "" var b = [1, null]; // number[] >b : number[] >[1, null] : number[] ->1 : number +>1 : 1 >null : null var c = [1, '', null]; // {}[] ->c : (number | string)[] ->[1, '', null] : (number | string)[] ->1 : number ->'' : string +>c : (string | number)[] +>[1, '', null] : (string | number)[] +>1 : 1 +>'' : "" >null : null var d = [{}, 1]; // {}[] >d : {}[] >[{}, 1] : {}[] >{} : {} ->1 : number +>1 : 1 var e = [{}, Object]; // {}[] >e : {}[] @@ -37,61 +37,61 @@ var f = [[], [1]]; // number[][] >[[], [1]] : number[][] >[] : undefined[] >[1] : number[] ->1 : number +>1 : 1 var g = [[1], ['']]; // {}[] >g : (number[] | string[])[] >[[1], ['']] : (number[] | string[])[] >[1] : number[] ->1 : number +>1 : 1 >[''] : string[] ->'' : string +>'' : "" var h = [{ foo: 1, bar: '' }, { foo: 2 }]; // {foo: number}[] >h : ({ foo: number; bar: string; } | { foo: number; })[] >[{ foo: 1, bar: '' }, { foo: 2 }] : ({ foo: number; bar: string; } | { foo: number; })[] >{ foo: 1, bar: '' } : { foo: number; bar: string; } >foo : number ->1 : number +>1 : 1 >bar : string ->'' : string +>'' : "" >{ foo: 2 } : { foo: number; } >foo : number ->2 : number +>2 : 2 var i = [{ foo: 1, bar: '' }, { foo: '' }]; // {}[] >i : ({ foo: number; bar: string; } | { foo: string; })[] >[{ foo: 1, bar: '' }, { foo: '' }] : ({ foo: number; bar: string; } | { foo: string; })[] >{ foo: 1, bar: '' } : { foo: number; bar: string; } >foo : number ->1 : number +>1 : 1 >bar : string ->'' : string +>'' : "" >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" var j = [() => 1, () => '']; // {}[] >j : ((() => number) | (() => string))[] >[() => 1, () => ''] : ((() => number) | (() => string))[] >() => 1 : () => number ->1 : number +>1 : 1 >() => '' : () => string ->'' : string +>'' : "" var k = [() => 1, () => 1]; // { (): number }[] >k : (() => number)[] >[() => 1, () => 1] : (() => number)[] >() => 1 : () => number ->1 : number +>1 : 1 >() => 1 : () => number ->1 : number +>1 : 1 var l = [() => 1, () => null]; // { (): any }[] >l : (() => any)[] >[() => 1, () => null] : (() => any)[] >() => 1 : () => number ->1 : number +>1 : 1 >() => null : () => any >null : null @@ -99,9 +99,9 @@ var m = [() => 1, () => '', () => null]; // { (): any }[] >m : (() => any)[] >[() => 1, () => '', () => null] : (() => any)[] >() => 1 : () => number ->1 : number +>1 : 1 >() => '' : () => string ->'' : string +>'' : "" >() => null : () => any >null : null @@ -110,10 +110,10 @@ var n = [[() => 1], [() => '']]; // {}[] >[[() => 1], [() => '']] : ((() => number)[] | (() => string)[])[] >[() => 1] : (() => number)[] >() => 1 : () => number ->1 : number +>1 : 1 >[() => ''] : (() => string)[] >() => '' : () => string ->'' : string +>'' : "" class Base { foo: string; } >Base : Base @@ -182,7 +182,7 @@ module Derived { >() => base : () => Base >base : Base >() => 1 : () => number ->1 : number +>1 : 1 var l = [() => base, () => null]; // { (): any }[] >l : (() => any)[] @@ -296,10 +296,10 @@ function foo(t: T, u: U) { >u : U var d = [t, 1]; // {}[] ->d : (T | number)[] ->[t, 1] : (T | number)[] +>d : (number | T)[] +>[t, 1] : (number | T)[] >t : T ->1 : number +>1 : 1 var e = [() => t, () => u]; // {}[] >e : ((() => T) | (() => U))[] @@ -350,10 +350,10 @@ function foo2(t: T, u: U) { >u : U var d = [t, 1]; // {}[] ->d : (T | number)[] ->[t, 1] : (T | number)[] +>d : (number | T)[] +>[t, 1] : (number | T)[] >t : T ->1 : number +>1 : 1 var e = [() => t, () => u]; // {}[] >e : ((() => T) | (() => U))[] @@ -380,8 +380,8 @@ function foo2(t: T, u: U) { >base : Base var h = [t, derived]; // Derived[] ->h : (T | Derived)[] ->[t, derived] : (T | Derived)[] +>h : (Derived | T)[] +>[t, derived] : (Derived | T)[] >t : T >derived : Derived @@ -428,10 +428,10 @@ function foo3(t: T, u: U) { >u : U var d = [t, 1]; // {}[] ->d : (T | number)[] ->[t, 1] : (T | number)[] +>d : (number | T)[] +>[t, 1] : (number | T)[] >t : T ->1 : number +>1 : 1 var e = [() => t, () => u]; // {}[] >e : ((() => T) | (() => U))[] @@ -506,10 +506,10 @@ function foo4(t: T, u: U) { >u : U var d = [t, 1]; // {}[] ->d : (T | number)[] ->[t, 1] : (T | number)[] +>d : (number | T)[] +>[t, 1] : (number | T)[] >t : T ->1 : number +>1 : 1 var e = [() => t, () => u]; // {}[] >e : ((() => T) | (() => U))[] @@ -536,8 +536,8 @@ function foo4(t: T, u: U) { >base : Base var h = [t, derived]; // Derived[] ->h : (T | Derived)[] ->[t, derived] : (T | Derived)[] +>h : (Derived | T)[] +>[t, derived] : (Derived | T)[] >t : T >derived : Derived @@ -548,8 +548,8 @@ function foo4(t: T, u: U) { >base : Base var j = [u, derived]; // Derived[] ->j : (U | Derived)[] ->[u, derived] : (U | Derived)[] +>j : (Derived | U)[] +>[u, derived] : (Derived | U)[] >u : U >derived : Derived diff --git a/tests/baselines/reference/hidingCallSignatures.types b/tests/baselines/reference/hidingCallSignatures.types index c45cab69d8a..87285361f99 100644 --- a/tests/baselines/reference/hidingCallSignatures.types +++ b/tests/baselines/reference/hidingCallSignatures.types @@ -36,12 +36,12 @@ var d: D; d(""); // number >d("") : number >d : D ->"" : string +>"" : "" new d(""); // should be string >new d("") : string >d : D ->"" : string +>"" : "" var f: F; >f : F @@ -50,7 +50,7 @@ var f: F; f(""); // string >f("") : string >f : F ->"" : string +>"" : "" var e: E; >e : E @@ -59,5 +59,5 @@ var e: E; e(""); // {} >e("") : {} >e : E ->"" : string +>"" : "" diff --git a/tests/baselines/reference/hidingConstructSignatures.types b/tests/baselines/reference/hidingConstructSignatures.types index 0fd9860de25..7432732277f 100644 --- a/tests/baselines/reference/hidingConstructSignatures.types +++ b/tests/baselines/reference/hidingConstructSignatures.types @@ -36,12 +36,12 @@ var d: D; d(""); // string >d("") : string >d : D ->"" : string +>"" : "" new d(""); // should be number >new d("") : number >d : D ->"" : string +>"" : "" var f: F; >f : F @@ -50,7 +50,7 @@ var f: F; new f(""); // string >new f("") : string >f : F ->"" : string +>"" : "" var e: E; >e : E @@ -59,5 +59,5 @@ var e: E; new e(""); // {} >new e("") : {} >e : E ->"" : string +>"" : "" diff --git a/tests/baselines/reference/hidingIndexSignatures.types b/tests/baselines/reference/hidingIndexSignatures.types index 9a6346ace7b..a6609aa75c8 100644 --- a/tests/baselines/reference/hidingIndexSignatures.types +++ b/tests/baselines/reference/hidingIndexSignatures.types @@ -21,7 +21,7 @@ var b: B; b[""]; // Should be number >b[""] : number >b : B ->"" : string +>"" : "" var a: A; >a : A @@ -30,5 +30,5 @@ var a: A; a[""]; // Should be {} >a[""] : {} >a : A ->"" : string +>"" : "" diff --git a/tests/baselines/reference/ifDoWhileStatements.types b/tests/baselines/reference/ifDoWhileStatements.types index 660eaa4fb63..eee459391c5 100644 --- a/tests/baselines/reference/ifDoWhileStatements.types +++ b/tests/baselines/reference/ifDoWhileStatements.types @@ -49,14 +49,14 @@ class D{ function F(x: string): number { return 42; } >F : (x: string) => number >x : string ->42 : number +>42 : 42 function F2(x: number): boolean { return x < 42; } >F2 : (x: number) => boolean >x : number >x < 42 : boolean >x : number ->42 : number +>42 : 42 module M { >M : typeof M @@ -98,13 +98,13 @@ module N { // literals if (true) { } ->true : boolean +>true : true while (true) { } ->true : boolean +>true : true do { }while(true) ->true : boolean +>true : true if (null) { } >null : null @@ -125,31 +125,31 @@ do { }while(undefined) >undefined : undefined if (0.0) { } ->0.0 : number +>0.0 : 0 while (0.0) { } ->0.0 : number +>0.0 : 0 do { }while(0.0) ->0.0 : number +>0.0 : 0 if ('a string') { } ->'a string' : string +>'a string' : "a string" while ('a string') { } ->'a string' : string +>'a string' : "a string" do { }while('a string') ->'a string' : string +>'a string' : "a string" if ('') { } ->'' : string +>'' : "" while ('') { } ->'' : string +>'' : "" do { }while('') ->'' : string +>'' : "" if (/[a-z]/) { } >/[a-z]/ : RegExp @@ -171,18 +171,18 @@ do { }while([]) if ([1, 2]) { } >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 while ([1, 2]) { } >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 do { }while([1, 2]) >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 if ({}) { } >{} : {} @@ -196,35 +196,35 @@ do { }while({}) if ({ x: 1, y: 'a' }) { } >{ x: 1, y: 'a' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'a' : string +>'a' : "a" while ({ x: 1, y: 'a' }) { } >{ x: 1, y: 'a' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'a' : string +>'a' : "a" do { }while({ x: 1, y: 'a' }) >{ x: 1, y: 'a' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'a' : string +>'a' : "a" if (() => 43) { } >() => 43 : () => number ->43 : number +>43 : 43 while (() => 43) { } >() => 43 : () => number ->43 : number +>43 : 43 do { }while(() => 43) >() => 43 : () => number ->43 : number +>43 : 43 if (new C()) { } >new C() : C @@ -256,7 +256,7 @@ do { }while(new D()) // references var a = true; >a : boolean ->true : boolean +>true : true if (a) { } >a : boolean @@ -295,7 +295,7 @@ do { }while(c) var d = 0.0; >d : number ->0.0 : number +>0.0 : 0 if (d) { } >d : number @@ -308,7 +308,7 @@ do { }while(d) var e = 'a string'; >e : string ->'a string' : string +>'a string' : "a string" if (e) { } >e : string @@ -321,7 +321,7 @@ do { }while(e) var f = ''; >f : string ->'' : string +>'' : "" if (f) { } >f : string @@ -361,8 +361,8 @@ do { }while(h) var i = [1, 2]; >i : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 if (i) { } >i : number[] @@ -390,9 +390,9 @@ var k = { x: 1, y: 'a' }; >k : { x: number; y: string; } >{ x: 1, y: 'a' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'a' : string +>'a' : "a" if (k) { } >k : { x: number; y: string; } diff --git a/tests/baselines/reference/implicitAnyAnyReturningFunction.types b/tests/baselines/reference/implicitAnyAnyReturningFunction.types index 66f9cf49cb0..73b90b76a0b 100644 --- a/tests/baselines/reference/implicitAnyAnyReturningFunction.types +++ b/tests/baselines/reference/implicitAnyAnyReturningFunction.types @@ -4,7 +4,7 @@ function A() { return ""; >"" : any ->"" : string +>"" : "" } function B() { @@ -26,7 +26,7 @@ class C { return ""; >"" : any ->"" : string +>"" : "" } public B() { diff --git a/tests/baselines/reference/implicitAnyGenerics.types b/tests/baselines/reference/implicitAnyGenerics.types index e335c958fe9..2d43ecbbdbe 100644 --- a/tests/baselines/reference/implicitAnyGenerics.types +++ b/tests/baselines/reference/implicitAnyGenerics.types @@ -49,20 +49,20 @@ var d2 = new D(1); >d2 : D >new D(1) : D >D : typeof D ->1 : number +>1 : 1 var d3 = new D(1); >d3 : D >new D(1) : D >D : typeof D ->1 : number +>1 : 1 var d4 = new D(1); >d4 : D >new D(1) : D >D : typeof D >1 : any ->1 : number +>1 : 1 var d5: D = new D(null); >d5 : D diff --git a/tests/baselines/reference/implicitAnyGetAndSetAccessorWithAnyReturnType.errors.txt b/tests/baselines/reference/implicitAnyGetAndSetAccessorWithAnyReturnType.errors.txt index 460ff97b10e..1e2de97aae0 100644 --- a/tests/baselines/reference/implicitAnyGetAndSetAccessorWithAnyReturnType.errors.txt +++ b/tests/baselines/reference/implicitAnyGetAndSetAccessorWithAnyReturnType.errors.txt @@ -2,7 +2,7 @@ tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(3,5): erro tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(4,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(9,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(15,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(15,16): error TS7016: Property 'haveOnlySet' implicitly has type 'any', because its 'set' accessor lacks a type annotation. +tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(15,16): error TS7032: Property 'haveOnlySet' implicitly has type 'any', because its set accessor lacks a parameter type annotation. tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(15,28): error TS7006: Parameter 'newXValue' implicitly has an 'any' type. tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(20,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(20,16): error TS7010: 'haveOnlyGet', which lacks return-type annotation, implicitly has an 'any' return type. @@ -33,7 +33,7 @@ tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts(20,16): er ~~~~~~~~~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~~~~~~~~~~ -!!! error TS7016: Property 'haveOnlySet' implicitly has type 'any', because its 'set' accessor lacks a type annotation. +!!! error TS7032: Property 'haveOnlySet' implicitly has type 'any', because its set accessor lacks a parameter type annotation. ~~~~~~~~~ !!! error TS7006: Parameter 'newXValue' implicitly has an 'any' type. } diff --git a/tests/baselines/reference/implicitAnyInCatch.types b/tests/baselines/reference/implicitAnyInCatch.types index 015d41b123f..d2a1be4a910 100644 --- a/tests/baselines/reference/implicitAnyInCatch.types +++ b/tests/baselines/reference/implicitAnyInCatch.types @@ -8,8 +8,8 @@ try { } catch (error) { >error.number : any >error : any >number : any ->-2147024809 : number ->2147024809 : number +>-2147024809 : -2147024809 +>2147024809 : 2147024809 } for (var key in this) { } >key : string diff --git a/tests/baselines/reference/implicitConstParameters.errors.txt b/tests/baselines/reference/implicitConstParameters.errors.txt new file mode 100644 index 00000000000..95ff60d71f8 --- /dev/null +++ b/tests/baselines/reference/implicitConstParameters.errors.txt @@ -0,0 +1,65 @@ +tests/cases/compiler/implicitConstParameters.ts(39,27): error TS2532: Object is possibly 'undefined'. +tests/cases/compiler/implicitConstParameters.ts(45,27): error TS2532: Object is possibly 'undefined'. + + +==== tests/cases/compiler/implicitConstParameters.ts (2 errors) ==== + + function doSomething(cb: () => void) { + cb(); + } + + function fn(x: number | string) { + if (typeof x === 'number') { + doSomething(() => x.toFixed()); + } + } + + function f1(x: string | undefined) { + if (!x) { + return; + } + doSomething(() => x.length); + } + + function f2(x: string | undefined) { + if (x) { + doSomething(() => { + doSomething(() => x.length); + }); + } + } + + function f3(x: string | undefined) { + inner(); + function inner() { + if (x) { + doSomething(() => x.length); + } + } + } + + function f4(x: string | undefined) { + x = "abc"; // causes x to be considered non-const + if (x) { + doSomething(() => x.length); + ~ +!!! error TS2532: Object is possibly 'undefined'. + } + } + + function f5(x: string | undefined) { + if (x) { + doSomething(() => x.length); + ~ +!!! error TS2532: Object is possibly 'undefined'. + } + x = "abc"; // causes x to be considered non-const + } + + + function f6(x: string | undefined) { + const y = x || ""; + if (x) { + doSomething(() => y.length); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/implicitConstParameters.js b/tests/baselines/reference/implicitConstParameters.js new file mode 100644 index 00000000000..a5faf5b1253 --- /dev/null +++ b/tests/baselines/reference/implicitConstParameters.js @@ -0,0 +1,106 @@ +//// [implicitConstParameters.ts] + +function doSomething(cb: () => void) { + cb(); +} + +function fn(x: number | string) { + if (typeof x === 'number') { + doSomething(() => x.toFixed()); + } +} + +function f1(x: string | undefined) { + if (!x) { + return; + } + doSomething(() => x.length); +} + +function f2(x: string | undefined) { + if (x) { + doSomething(() => { + doSomething(() => x.length); + }); + } +} + +function f3(x: string | undefined) { + inner(); + function inner() { + if (x) { + doSomething(() => x.length); + } + } +} + +function f4(x: string | undefined) { + x = "abc"; // causes x to be considered non-const + if (x) { + doSomething(() => x.length); + } +} + +function f5(x: string | undefined) { + if (x) { + doSomething(() => x.length); + } + x = "abc"; // causes x to be considered non-const +} + + +function f6(x: string | undefined) { + const y = x || ""; + if (x) { + doSomething(() => y.length); + } +} + +//// [implicitConstParameters.js] +function doSomething(cb) { + cb(); +} +function fn(x) { + if (typeof x === 'number') { + doSomething(function () { return x.toFixed(); }); + } +} +function f1(x) { + if (!x) { + return; + } + doSomething(function () { return x.length; }); +} +function f2(x) { + if (x) { + doSomething(function () { + doSomething(function () { return x.length; }); + }); + } +} +function f3(x) { + inner(); + function inner() { + if (x) { + doSomething(function () { return x.length; }); + } + } +} +function f4(x) { + x = "abc"; // causes x to be considered non-const + if (x) { + doSomething(function () { return x.length; }); + } +} +function f5(x) { + if (x) { + doSomething(function () { return x.length; }); + } + x = "abc"; // causes x to be considered non-const +} +function f6(x) { + var y = x || ""; + if (x) { + doSomething(function () { return y.length; }); + } +} diff --git a/tests/baselines/reference/implicitIndexSignatures.types b/tests/baselines/reference/implicitIndexSignatures.types index 7d335c00491..ac8da0c7b6c 100644 --- a/tests/baselines/reference/implicitIndexSignatures.types +++ b/tests/baselines/reference/implicitIndexSignatures.types @@ -14,9 +14,9 @@ const names1 = { a: "foo", b: "bar" }; >names1 : { a: string; b: string; } >{ a: "foo", b: "bar" } : { a: string; b: string; } >a : string ->"foo" : string +>"foo" : "foo" >b : string ->"bar" : string +>"bar" : "bar" let names2: { a: string, b: string }; >names2 : { a: string; b: string; } @@ -32,9 +32,9 @@ map = { x: "xxx", y: "yyy" }; >map : { [x: string]: string; } >{ x: "xxx", y: "yyy" } : { x: string; y: string; } >x : string ->"xxx" : string +>"xxx" : "xxx" >y : string ->"yyy" : string +>"yyy" : "yyy" map = empty1; >map = empty1 : {} @@ -79,9 +79,9 @@ function f1() { >o1 : { a: number; b: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 let o2: { a: number, b: number }; >o2 : { a: number; b: number; } @@ -108,9 +108,9 @@ function f2() { >o1 : { a: string; b: string; } >{ a: "1", b: "2" } : { a: string; b: string; } >a : string ->"1" : string +>"1" : "1" >b : string ->"2" : string +>"2" : "2" let o2: { a: string, b: string }; >o2 : { a: string; b: string; } @@ -137,9 +137,9 @@ function f3() { >o1 : { a: number; b: string; } >{ a: 1, b: "2" } : { a: number; b: string; } >a : number ->1 : number +>1 : 1 >b : string ->"2" : string +>"2" : "2" let o2: { a: number, b: string }; >o2 : { a: number; b: string; } @@ -147,14 +147,14 @@ function f3() { >b : string const v1 = getStringIndexValue(o1); ->v1 : number | string ->getStringIndexValue(o1) : number | string +>v1 : string | number +>getStringIndexValue(o1) : string | number >getStringIndexValue : (map: { [x: string]: T; }) => T >o1 : { a: number; b: string; } const v2 = getStringIndexValue(o2); ->v2 : number | string ->getStringIndexValue(o2) : number | string +>v2 : string | number +>getStringIndexValue(o2) : string | number >getStringIndexValue : (map: { [x: string]: T; }) => T >o2 : { a: number; b: string; } } @@ -165,10 +165,10 @@ function f4() { const o1 = { 0: "0", 1: "1", count: 2 }; >o1 : { 0: string; 1: string; count: number; } >{ 0: "0", 1: "1", count: 2 } : { 0: string; 1: string; count: number; } ->"0" : string ->"1" : string +>"0" : "0" +>"1" : "1" >count : number ->2 : number +>2 : 2 let o2: { 0: string, 1: string, count: number }; >o2 : { 0: string; 1: string; count: number; } diff --git a/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js b/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js index 94c084df512..c7dd59f9ab7 100644 --- a/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js +++ b/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js @@ -23,7 +23,7 @@ var m; })(m = exports.m || (exports.m = {})); //// [importAliasAnExternalModuleInsideAnInternalModule_file1.js] "use strict"; -var r = require('./importAliasAnExternalModuleInsideAnInternalModule_file0'); +var r = require("./importAliasAnExternalModuleInsideAnInternalModule_file0"); var m_private; (function (m_private) { //import r2 = require('m'); // would be error diff --git a/tests/baselines/reference/importAliasIdentifiers.types b/tests/baselines/reference/importAliasIdentifiers.types index 6746a5b3af7..4c9701ded10 100644 --- a/tests/baselines/reference/importAliasIdentifiers.types +++ b/tests/baselines/reference/importAliasIdentifiers.types @@ -52,9 +52,9 @@ module clodule { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } import clolias = clodule; @@ -83,9 +83,9 @@ function fundule() { return { x: 0, y: 0 }; >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } module fundule { @@ -103,9 +103,9 @@ module fundule { >Point : Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } import funlias = fundule; diff --git a/tests/baselines/reference/importAliasWithDottedName.types b/tests/baselines/reference/importAliasWithDottedName.types index 24ec5d1b0bb..b5882fce117 100644 --- a/tests/baselines/reference/importAliasWithDottedName.types +++ b/tests/baselines/reference/importAliasWithDottedName.types @@ -4,14 +4,14 @@ module M { export var x = 1; >x : number ->1 : number +>1 : 1 export module N { >N : typeof N export var y = 2; >y : number ->2 : number +>2 : 2 } } diff --git a/tests/baselines/reference/importAndVariableDeclarationConflict2.types b/tests/baselines/reference/importAndVariableDeclarationConflict2.types index eafc7be6deb..4b6e9acec06 100644 --- a/tests/baselines/reference/importAndVariableDeclarationConflict2.types +++ b/tests/baselines/reference/importAndVariableDeclarationConflict2.types @@ -4,7 +4,7 @@ module m { export var m = ''; >m : string ->'' : string +>'' : "" } import x = m.m; @@ -20,6 +20,6 @@ class C { var x = ''; >x : string ->'' : string +>'' : "" } } diff --git a/tests/baselines/reference/importHelpers.js b/tests/baselines/reference/importHelpers.js new file mode 100644 index 00000000000..f850b5cf177 --- /dev/null +++ b/tests/baselines/reference/importHelpers.js @@ -0,0 +1,116 @@ +//// [tests/cases/compiler/importHelpers.ts] //// + +//// [external.ts] +export class A { } +export class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [script.ts] +class A { } +class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +var A = (function () { + function A() { + } + return A; +}()); +exports.A = A; +var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +exports.B = B; +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +tslib_1.__decorate([ + tslib_1.__param(0, dec), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Number]), + tslib_1.__metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = tslib_1.__decorate([ + dec, + tslib_1.__metadata("design:paramtypes", []) +], C); +//// [script.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var A = (function () { + function A() { + } + return A; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +__decorate([ + __param(0, dec), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = __decorate([ + dec, + __metadata("design:paramtypes", []) +], C); diff --git a/tests/baselines/reference/importHelpers.symbols b/tests/baselines/reference/importHelpers.symbols new file mode 100644 index 00000000000..55ca5153e32 --- /dev/null +++ b/tests/baselines/reference/importHelpers.symbols @@ -0,0 +1,91 @@ +=== tests/cases/compiler/external.ts === +export class A { } +>A : Symbol(A, Decl(external.ts, 0, 0)) + +export class B extends A { } +>B : Symbol(B, Decl(external.ts, 0, 18)) +>A : Symbol(A, Decl(external.ts, 0, 0)) + +declare var dec: any; +>dec : Symbol(dec, Decl(external.ts, 3, 11)) + +@dec +>dec : Symbol(dec, Decl(external.ts, 3, 11)) + +class C { +>C : Symbol(C, Decl(external.ts, 3, 21)) + + method(@dec x: number) { +>method : Symbol(C.method, Decl(external.ts, 6, 9)) +>dec : Symbol(dec, Decl(external.ts, 3, 11)) +>x : Symbol(x, Decl(external.ts, 7, 11)) + } +} + +=== tests/cases/compiler/script.ts === +class A { } +>A : Symbol(A, Decl(script.ts, 0, 0)) + +class B extends A { } +>B : Symbol(B, Decl(script.ts, 0, 11)) +>A : Symbol(A, Decl(script.ts, 0, 0)) + +declare var dec: any; +>dec : Symbol(dec, Decl(script.ts, 3, 11)) + +@dec +>dec : Symbol(dec, Decl(script.ts, 3, 11)) + +class C { +>C : Symbol(C, Decl(script.ts, 3, 21)) + + method(@dec x: number) { +>method : Symbol(C.method, Decl(script.ts, 6, 9)) +>dec : Symbol(dec, Decl(script.ts, 3, 11)) +>x : Symbol(x, Decl(script.ts, 7, 11)) + } +} + +=== tests/cases/compiler/tslib.d.ts === +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, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.d.ts, --, --), Decl(lib.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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, --, --)) + +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, --, --)) + +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, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpers.types b/tests/baselines/reference/importHelpers.types new file mode 100644 index 00000000000..0ab8d40ee85 --- /dev/null +++ b/tests/baselines/reference/importHelpers.types @@ -0,0 +1,91 @@ +=== tests/cases/compiler/external.ts === +export class A { } +>A : A + +export class B extends A { } +>B : B +>A : A + +declare var dec: any; +>dec : any + +@dec +>dec : any + +class C { +>C : C + + method(@dec x: number) { +>method : (x: number) => void +>dec : any +>x : number + } +} + +=== tests/cases/compiler/script.ts === +class A { } +>A : A + +class B extends A { } +>B : B +>A : A + +declare var dec: any; +>dec : any + +@dec +>dec : any + +class C { +>C : C + + method(@dec x: number) { +>method : (x: number) => void +>dec : any +>x : number + } +} + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importHelpersAmd.js b/tests/baselines/reference/importHelpersAmd.js new file mode 100644 index 00000000000..bb02cbf0417 --- /dev/null +++ b/tests/baselines/reference/importHelpersAmd.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/importHelpersAmd.ts] //// + +//// [a.ts] +export class A { } + +//// [b.ts] +import { A } from "./a"; +export class B extends A { } + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [a.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + var A = (function () { + function A() { + } + return A; + }()); + exports.A = A; +}); +//// [b.js] +define(["require", "exports", "tslib", "./a"], function (require, exports, tslib_1, a_1) { + "use strict"; + var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; + }(a_1.A)); + exports.B = B; +}); diff --git a/tests/baselines/reference/importHelpersAmd.symbols b/tests/baselines/reference/importHelpersAmd.symbols new file mode 100644 index 00000000000..47528a8bba6 --- /dev/null +++ b/tests/baselines/reference/importHelpersAmd.symbols @@ -0,0 +1,55 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : Symbol(A, Decl(a.ts, 0, 0)) + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8)) + +export class B extends A { } +>B : Symbol(B, Decl(b.ts, 0, 24)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + +=== tests/cases/compiler/tslib.d.ts === +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, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.d.ts, --, --), Decl(lib.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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, --, --)) + +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, --, --)) + +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, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersAmd.types b/tests/baselines/reference/importHelpersAmd.types new file mode 100644 index 00000000000..9ff756ffaab --- /dev/null +++ b/tests/baselines/reference/importHelpersAmd.types @@ -0,0 +1,55 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : A + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : typeof A + +export class B extends A { } +>B : B +>A : A + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importHelpersES6.js b/tests/baselines/reference/importHelpersES6.js new file mode 100644 index 00000000000..209f3c34588 --- /dev/null +++ b/tests/baselines/reference/importHelpersES6.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/importHelpersES6.ts] //// + +//// [a.ts] +declare var dec: any; +@dec export class A { + +} + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [a.js] +import * as tslib_1 from "tslib"; +let A = class A { +}; +A = tslib_1.__decorate([ + dec +], A); +export { A }; diff --git a/tests/baselines/reference/importHelpersES6.symbols b/tests/baselines/reference/importHelpersES6.symbols new file mode 100644 index 00000000000..284a2251a6b --- /dev/null +++ b/tests/baselines/reference/importHelpersES6.symbols @@ -0,0 +1,53 @@ +=== tests/cases/compiler/a.ts === +declare var dec: any; +>dec : Symbol(dec, Decl(a.ts, 0, 11)) + +@dec export class A { +>dec : Symbol(dec, Decl(a.ts, 0, 11)) +>A : Symbol(A, Decl(a.ts, 0, 21)) + +} + +=== tests/cases/compiler/tslib.d.ts === +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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.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.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersES6.types b/tests/baselines/reference/importHelpersES6.types new file mode 100644 index 00000000000..ebfd5a5a2a5 --- /dev/null +++ b/tests/baselines/reference/importHelpersES6.types @@ -0,0 +1,53 @@ +=== tests/cases/compiler/a.ts === +declare var dec: any; +>dec : any + +@dec export class A { +>dec : any +>A : A + +} + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt b/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt new file mode 100644 index 00000000000..7a53c1c8c99 --- /dev/null +++ b/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt @@ -0,0 +1,37 @@ +tests/cases/compiler/script.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. + + +==== tests/cases/compiler/external.ts (0 errors) ==== + export class A { } + export class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + +==== tests/cases/compiler/script.ts (1 errors) ==== + class A { } + ~~~~~ +!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. + class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + +==== tests/cases/compiler/tslib.d.ts (0 errors) ==== + export declare function __extends(d: Function, b: Function): void; + export declare function __assign(t: any, ...sources: any[]): any; + export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; + export declare function __param(paramIndex: number, decorator: Function): Function; + export declare function __metadata(metadataKey: any, metadataValue: any): Function; + export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + \ No newline at end of file diff --git a/tests/baselines/reference/importHelpersInIsolatedModules.js b/tests/baselines/reference/importHelpersInIsolatedModules.js new file mode 100644 index 00000000000..a5929bc152c --- /dev/null +++ b/tests/baselines/reference/importHelpersInIsolatedModules.js @@ -0,0 +1,101 @@ +//// [tests/cases/compiler/importHelpersInIsolatedModules.ts] //// + +//// [external.ts] +export class A { } +export class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [script.ts] +class A { } +class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +var A = (function () { + function A() { + } + return A; +}()); +exports.A = A; +var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +exports.B = B; +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +tslib_1.__decorate([ + tslib_1.__param(0, dec), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Number]), + tslib_1.__metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = tslib_1.__decorate([ + dec, + tslib_1.__metadata("design:paramtypes", []) +], C); +//// [script.js] +"use strict"; +var tslib_1 = require("tslib"); +var A = (function () { + function A() { + } + return A; +}()); +var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +tslib_1.__decorate([ + tslib_1.__param(0, dec), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Number]), + tslib_1.__metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = tslib_1.__decorate([ + dec, + tslib_1.__metadata("design:paramtypes", []) +], C); diff --git a/tests/baselines/reference/importHelpersInTsx.js b/tests/baselines/reference/importHelpersInTsx.js new file mode 100644 index 00000000000..29e43e191e8 --- /dev/null +++ b/tests/baselines/reference/importHelpersInTsx.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/importHelpersInTsx.tsx] //// + +//// [external.tsx] +declare var React: any; +declare var o: any; +export const x = + +//// [script.tsx] +declare var React: any; +declare var o: any; +const x = + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +exports.x = React.createElement("span", tslib_1.__assign({}, o)); +//// [script.js] +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +var x = React.createElement("span", __assign({}, o)); diff --git a/tests/baselines/reference/importHelpersInTsx.symbols b/tests/baselines/reference/importHelpersInTsx.symbols new file mode 100644 index 00000000000..465ce502385 --- /dev/null +++ b/tests/baselines/reference/importHelpersInTsx.symbols @@ -0,0 +1,67 @@ +=== tests/cases/compiler/external.tsx === +declare var React: any; +>React : Symbol(React, Decl(external.tsx, 0, 11)) + +declare var o: any; +>o : Symbol(o, Decl(external.tsx, 1, 11)) + +export const x = +>x : Symbol(x, Decl(external.tsx, 2, 12)) +>span : Symbol(unknown) +>o : Symbol(o, Decl(external.tsx, 1, 11)) + +=== tests/cases/compiler/script.tsx === +declare var React: any; +>React : Symbol(React, Decl(script.tsx, 0, 11)) + +declare var o: any; +>o : Symbol(o, Decl(script.tsx, 1, 11)) + +const x = +>x : Symbol(x, Decl(script.tsx, 2, 5)) +>span : Symbol(unknown) +>o : Symbol(o, Decl(script.tsx, 1, 11)) + +=== tests/cases/compiler/tslib.d.ts === +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, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.d.ts, --, --), Decl(lib.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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, --, --)) + +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, --, --)) + +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, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersInTsx.types b/tests/baselines/reference/importHelpersInTsx.types new file mode 100644 index 00000000000..a6ae6e95f86 --- /dev/null +++ b/tests/baselines/reference/importHelpersInTsx.types @@ -0,0 +1,69 @@ +=== tests/cases/compiler/external.tsx === +declare var React: any; +>React : any + +declare var o: any; +>o : any + +export const x = +>x : any +> : any +>span : any +>o : any + +=== tests/cases/compiler/script.tsx === +declare var React: any; +>React : any + +declare var o: any; +>o : any + +const x = +>x : any +> : any +>span : any +>o : any + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importHelpersNoHelpers.errors.txt b/tests/baselines/reference/importHelpersNoHelpers.errors.txt new file mode 100644 index 00000000000..ebb25dbd7c9 --- /dev/null +++ b/tests/baselines/reference/importHelpersNoHelpers.errors.txt @@ -0,0 +1,36 @@ +error TS2305: Module 'tslib' has no exported member '__decorate'. +error TS2305: Module 'tslib' has no exported member '__extends'. +error TS2305: Module 'tslib' has no exported member '__metadata'. +error TS2305: Module 'tslib' has no exported member '__param'. + + +!!! error TS2305: Module 'tslib' has no exported member '__decorate'. +!!! error TS2305: Module 'tslib' has no exported member '__extends'. +!!! error TS2305: Module 'tslib' has no exported member '__metadata'. +!!! error TS2305: Module 'tslib' has no exported member '__param'. +==== tests/cases/compiler/external.ts (0 errors) ==== + export class A { } + export class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + +==== tests/cases/compiler/script.ts (0 errors) ==== + class A { } + class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + +==== tests/cases/compiler/tslib.d.ts (0 errors) ==== + export {} \ No newline at end of file diff --git a/tests/baselines/reference/importHelpersNoHelpers.js b/tests/baselines/reference/importHelpersNoHelpers.js new file mode 100644 index 00000000000..8c5afc99ece --- /dev/null +++ b/tests/baselines/reference/importHelpersNoHelpers.js @@ -0,0 +1,110 @@ +//// [tests/cases/compiler/importHelpersNoHelpers.ts] //// + +//// [external.ts] +export class A { } +export class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [script.ts] +class A { } +class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [tslib.d.ts] +export {} + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +var A = (function () { + function A() { + } + return A; +}()); +exports.A = A; +var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +exports.B = B; +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +tslib_1.__decorate([ + tslib_1.__param(0, dec), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Number]), + tslib_1.__metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = tslib_1.__decorate([ + dec, + tslib_1.__metadata("design:paramtypes", []) +], C); +//// [script.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var A = (function () { + function A() { + } + return A; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +__decorate([ + __param(0, dec), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = __decorate([ + dec, + __metadata("design:paramtypes", []) +], C); diff --git a/tests/baselines/reference/importHelpersNoModule.errors.txt b/tests/baselines/reference/importHelpersNoModule.errors.txt new file mode 100644 index 00000000000..d59fd0537ca --- /dev/null +++ b/tests/baselines/reference/importHelpersNoModule.errors.txt @@ -0,0 +1,28 @@ +error TS2307: Cannot find module 'tslib'. + + +!!! error TS2307: Cannot find module 'tslib'. +==== tests/cases/compiler/external.ts (0 errors) ==== + export class A { } + export class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + +==== tests/cases/compiler/script.ts (0 errors) ==== + class A { } + class B extends A { } + + declare var dec: any; + + @dec + class C { + method(@dec x: number) { + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/importHelpersNoModule.js b/tests/baselines/reference/importHelpersNoModule.js new file mode 100644 index 00000000000..36bc0c5f76b --- /dev/null +++ b/tests/baselines/reference/importHelpersNoModule.js @@ -0,0 +1,108 @@ +//// [tests/cases/compiler/importHelpersNoModule.ts] //// + +//// [external.ts] +export class A { } +export class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + +//// [script.ts] +class A { } +class B extends A { } + +declare var dec: any; + +@dec +class C { + method(@dec x: number) { + } +} + + +//// [external.js] +"use strict"; +var tslib_1 = require("tslib"); +var A = (function () { + function A() { + } + return A; +}()); +exports.A = A; +var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +exports.B = B; +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +tslib_1.__decorate([ + tslib_1.__param(0, dec), + tslib_1.__metadata("design:type", Function), + tslib_1.__metadata("design:paramtypes", [Number]), + tslib_1.__metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = tslib_1.__decorate([ + dec, + tslib_1.__metadata("design:paramtypes", []) +], C); +//// [script.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var A = (function () { + function A() { + } + return A; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +var C = (function () { + function C() { + } + C.prototype.method = function (x) { + }; + return C; +}()); +__decorate([ + __param(0, dec), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", void 0) +], C.prototype, "method", null); +C = __decorate([ + dec, + __metadata("design:paramtypes", []) +], C); diff --git a/tests/baselines/reference/importHelpersOutFile.js b/tests/baselines/reference/importHelpersOutFile.js new file mode 100644 index 00000000000..cb50330c20c --- /dev/null +++ b/tests/baselines/reference/importHelpersOutFile.js @@ -0,0 +1,54 @@ +//// [tests/cases/compiler/importHelpersOutFile.ts] //// + +//// [a.ts] +export class A { } + +//// [b.ts] +import { A } from "./a"; +export class B extends A { } + +//// [c.ts] +import { A } from "./a"; +export class C extends A { } + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [out.js] +define("a", ["require", "exports"], function (require, exports) { + "use strict"; + var A = (function () { + function A() { + } + return A; + }()); + exports.A = A; +}); +define("b", ["require", "exports", "tslib", "a"], function (require, exports, tslib_1, a_1) { + "use strict"; + var B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; + }(a_1.A)); + exports.B = B; +}); +define("c", ["require", "exports", "tslib", "a"], function (require, exports, tslib_2, a_2) { + "use strict"; + var C = (function (_super) { + tslib_2.__extends(C, _super); + function C() { + _super.apply(this, arguments); + } + return C; + }(a_2.A)); + exports.C = C; +}); diff --git a/tests/baselines/reference/importHelpersOutFile.symbols b/tests/baselines/reference/importHelpersOutFile.symbols new file mode 100644 index 00000000000..086f3f9995e --- /dev/null +++ b/tests/baselines/reference/importHelpersOutFile.symbols @@ -0,0 +1,63 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : Symbol(A, Decl(a.ts, 0, 0)) + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8)) + +export class B extends A { } +>B : Symbol(B, Decl(b.ts, 0, 24)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + +=== tests/cases/compiler/c.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(c.ts, 0, 8)) + +export class C extends A { } +>C : Symbol(C, Decl(c.ts, 0, 24)) +>A : Symbol(A, Decl(c.ts, 0, 8)) + +=== tests/cases/compiler/tslib.d.ts === +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, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.d.ts, --, --), Decl(lib.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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, --, --)) + +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, --, --)) + +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, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersOutFile.types b/tests/baselines/reference/importHelpersOutFile.types new file mode 100644 index 00000000000..96adc466d65 --- /dev/null +++ b/tests/baselines/reference/importHelpersOutFile.types @@ -0,0 +1,63 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : A + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : typeof A + +export class B extends A { } +>B : B +>A : A + +=== tests/cases/compiler/c.ts === +import { A } from "./a"; +>A : typeof A + +export class C extends A { } +>C : C +>A : A + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importHelpersSystem.js b/tests/baselines/reference/importHelpersSystem.js new file mode 100644 index 00000000000..3c1ee19ec48 --- /dev/null +++ b/tests/baselines/reference/importHelpersSystem.js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/importHelpersSystem.ts] //// + +//// [a.ts] +export class A { } + +//// [b.ts] +import { A } from "./a"; +export class B extends A { } + +//// [tslib.d.ts] +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + + +//// [a.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var A; + return { + setters: [], + execute: function () { + A = (function () { + function A() { + } + return A; + }()); + exports_1("A", A); + } + }; +}); +//// [b.js] +System.register(["tslib", "./a"], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var tslib_1, a_1, B; + return { + setters: [ + function (tslib_1_1) { + tslib_1 = tslib_1_1; + }, + function (a_1_1) { + a_1 = a_1_1; + } + ], + execute: function () { + B = (function (_super) { + tslib_1.__extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; + }(a_1.A)); + exports_1("B", B); + } + }; +}); diff --git a/tests/baselines/reference/importHelpersSystem.symbols b/tests/baselines/reference/importHelpersSystem.symbols new file mode 100644 index 00000000000..47528a8bba6 --- /dev/null +++ b/tests/baselines/reference/importHelpersSystem.symbols @@ -0,0 +1,55 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : Symbol(A, Decl(a.ts, 0, 0)) + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8)) + +export class B extends A { } +>B : Symbol(B, Decl(b.ts, 0, 24)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + +=== tests/cases/compiler/tslib.d.ts === +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, --, --)) +>b : Symbol(b, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : Symbol(__assign, Decl(tslib.d.ts, --, --)) +>t : Symbol(t, Decl(tslib.d.ts, --, --)) +>sources : Symbol(sources, Decl(tslib.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.d.ts, --, --), Decl(lib.d.ts, --, --)) +>target : Symbol(target, Decl(tslib.d.ts, --, --)) +>key : Symbol(key, Decl(tslib.d.ts, --, --)) +>desc : Symbol(desc, Decl(tslib.d.ts, --, --)) + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__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, --, --)) + +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, --, --)) + +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, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersSystem.types b/tests/baselines/reference/importHelpersSystem.types new file mode 100644 index 00000000000..9ff756ffaab --- /dev/null +++ b/tests/baselines/reference/importHelpersSystem.types @@ -0,0 +1,55 @@ +=== tests/cases/compiler/a.ts === +export class A { } +>A : A + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : typeof A + +export class B extends A { } +>B : B +>A : A + +=== tests/cases/compiler/tslib.d.ts === +export declare function __extends(d: Function, b: Function): void; +>__extends : (d: Function, b: Function) => void +>d : Function +>Function : Function +>b : Function +>Function : Function + +export declare function __assign(t: any, ...sources: any[]): any; +>__assign : (t: any, ...sources: any[]) => any +>t : any +>sources : any[] + +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any +>decorators : Function[] +>Function : Function +>target : any +>key : string | symbol +>desc : any + +export declare function __param(paramIndex: number, decorator: Function): Function; +>__param : (paramIndex: number, decorator: Function) => Function +>paramIndex : number +>decorator : Function +>Function : Function +>Function : Function + +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +>__metadata : (metadataKey: any, metadataValue: any) => Function +>metadataKey : any +>metadataValue : any +>Function : Function + +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +>thisArg : any +>_arguments : any +>P : Function +>Function : Function +>generator : Function +>Function : Function + diff --git a/tests/baselines/reference/importImportOnlyModule.js b/tests/baselines/reference/importImportOnlyModule.js index 7b41e4400c5..38ffc08d65e 100644 --- a/tests/baselines/reference/importImportOnlyModule.js +++ b/tests/baselines/reference/importImportOnlyModule.js @@ -22,10 +22,10 @@ define(["require", "exports"], function (require, exports) { function C1() { this.m1 = 42; } - C1.s1 = true; return C1; }()); exports.C1 = C1; + C1.s1 = true; }); //// [foo_1.js] define(["require", "exports"], function (require, exports) { diff --git a/tests/baselines/reference/importImportOnlyModule.types b/tests/baselines/reference/importImportOnlyModule.types index c1275bed511..d02cdb3353f 100644 --- a/tests/baselines/reference/importImportOnlyModule.types +++ b/tests/baselines/reference/importImportOnlyModule.types @@ -12,11 +12,11 @@ export class C1 { m1 = 42; >m1 : number ->42 : number +>42 : 42 static s1 = true; >s1 : boolean ->true : boolean +>true : true } === tests/cases/conformance/externalModules/foo_1.ts === @@ -25,5 +25,5 @@ import c1 = require('./foo_0'); // Makes this an external module var answer = 42; // No exports >answer : number ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/importInTypePosition.types b/tests/baselines/reference/importInTypePosition.types index 7360416e4b3..22802728fd0 100644 --- a/tests/baselines/reference/importInTypePosition.types +++ b/tests/baselines/reference/importInTypePosition.types @@ -13,8 +13,8 @@ module A { >Origin : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 } // no code gen expected @@ -46,8 +46,8 @@ module C { >p : a.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/importShadowsGlobalName.js b/tests/baselines/reference/importShadowsGlobalName.js index dbbf1710632..316a94d9069 100644 --- a/tests/baselines/reference/importShadowsGlobalName.js +++ b/tests/baselines/reference/importShadowsGlobalName.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -define(["require", "exports", 'Foo'], function (require, exports, Error) { +define(["require", "exports", "Foo"], function (require, exports, Error) { "use strict"; var Bar = (function (_super) { __extends(Bar, _super); diff --git a/tests/baselines/reference/importStatements.types b/tests/baselines/reference/importStatements.types index ecf4453b360..53509ceb70c 100644 --- a/tests/baselines/reference/importStatements.types +++ b/tests/baselines/reference/importStatements.types @@ -14,8 +14,8 @@ module A { >Origin : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 } // no code gen expected @@ -48,9 +48,9 @@ module C { >p : a.Point >{x:0, y:0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } // code gen expected @@ -67,8 +67,8 @@ module D { >a.Point : typeof a.Point >a : typeof a >Point : typeof a.Point ->1 : number ->1 : number +>1 : 1 +>1 : 1 } module E { diff --git a/tests/baselines/reference/importUsedInExtendsList1.js b/tests/baselines/reference/importUsedInExtendsList1.js index 1d242a53023..b9827d5bc93 100644 --- a/tests/baselines/reference/importUsedInExtendsList1.js +++ b/tests/baselines/reference/importUsedInExtendsList1.js @@ -27,7 +27,7 @@ var __extends = (this && this.__extends) || function (d, b) { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; /// -var foo = require('./importUsedInExtendsList1_require'); +var foo = require("./importUsedInExtendsList1_require"); var Sub = (function (_super) { __extends(Sub, _super); function Sub() { diff --git a/tests/baselines/reference/import_reference-exported-alias.types b/tests/baselines/reference/import_reference-exported-alias.types index 3f9c34f62dc..2f2496a7b77 100644 --- a/tests/baselines/reference/import_reference-exported-alias.types +++ b/tests/baselines/reference/import_reference-exported-alias.types @@ -34,7 +34,7 @@ module App { >getUserName : () => string return "Bill Gates"; ->"Bill Gates" : string +>"Bill Gates" : "Bill Gates" } } } diff --git a/tests/baselines/reference/import_reference-to-type-alias.types b/tests/baselines/reference/import_reference-to-type-alias.types index 53c7dabcd5f..e2327650f1a 100644 --- a/tests/baselines/reference/import_reference-to-type-alias.types +++ b/tests/baselines/reference/import_reference-to-type-alias.types @@ -32,7 +32,7 @@ export module App { >getUserName : () => string return "Bill Gates"; ->"Bill Gates" : string +>"Bill Gates" : "Bill Gates" } } } diff --git a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types index 2fda99dc064..0449bfd16bf 100644 --- a/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types +++ b/tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.types @@ -12,7 +12,7 @@ var p = testData[0].name; >testData[0].name : string >testData[0] : ITest >testData : ITest[] ->0 : number +>0 : 0 >name : string === tests/cases/compiler/b.ts === diff --git a/tests/baselines/reference/inOperatorWithFunction.types b/tests/baselines/reference/inOperatorWithFunction.types index e85a86632c7..21e9da3f040 100644 --- a/tests/baselines/reference/inOperatorWithFunction.types +++ b/tests/baselines/reference/inOperatorWithFunction.types @@ -9,7 +9,7 @@ fn("a" in { "a": true }); >fn("a" in { "a": true }) : boolean >fn : (val: boolean) => boolean >"a" in { "a": true } : boolean ->"a" : string +>"a" : "a" >{ "a": true } : { "a": boolean; } ->true : boolean +>true : true diff --git a/tests/baselines/reference/inOperatorWithValidOperands.types b/tests/baselines/reference/inOperatorWithValidOperands.types index 0cca583e683..7e121e54146 100644 --- a/tests/baselines/reference/inOperatorWithValidOperands.types +++ b/tests/baselines/reference/inOperatorWithValidOperands.types @@ -31,13 +31,13 @@ var ra3 = a2 in x; var ra4 = '' in x; >ra4 : boolean >'' in x : boolean ->'' : string +>'' : "" >x : any var ra5 = 0 in x; >ra5 : boolean >0 in x : boolean ->0 : number +>0 : 0 >x : any // valid right operands diff --git a/tests/baselines/reference/incompatibleTypes.errors.txt b/tests/baselines/reference/incompatibleTypes.errors.txt index cb6de6576b2..4cd68470007 100644 --- a/tests/baselines/reference/incompatibleTypes.errors.txt +++ b/tests/baselines/reference/incompatibleTypes.errors.txt @@ -22,7 +22,7 @@ tests/cases/compiler/incompatibleTypes.ts(49,7): error TS2345: Argument of type Object literal may only specify known properties, and 'e' does not exist in type '{ c: { b: string; }; d: string; }'. tests/cases/compiler/incompatibleTypes.ts(66,47): error TS2322: Type '{ e: number; f: number; }' is not assignable to type '{ a: { a: string; }; b: string; }'. Object literal may only specify known properties, and 'e' does not exist in type '{ a: { a: string; }; b: string; }'. -tests/cases/compiler/incompatibleTypes.ts(72,5): error TS2322: Type 'number' is not assignable to type '() => string'. +tests/cases/compiler/incompatibleTypes.ts(72,5): error TS2322: Type '5' is not assignable to type '() => string'. tests/cases/compiler/incompatibleTypes.ts(74,5): error TS2322: Type '(a: any) => number' is not assignable to type '() => any'. @@ -131,7 +131,7 @@ tests/cases/compiler/incompatibleTypes.ts(74,5): error TS2322: Type '(a: any) => var i1c1: { (): string; } = 5; ~~~~ -!!! error TS2322: Type 'number' is not assignable to type '() => string'. +!!! error TS2322: Type '5' is not assignable to type '() => string'. var fp1: () =>any = a => 0; ~~~ diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherType.types b/tests/baselines/reference/incrementOperatorWithAnyOtherType.types index 3643b646ace..715de620bff 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherType.types @@ -10,14 +10,14 @@ var ANY1; var ANY2: any[] = ["", ""]; >ANY2 : any[] >["", ""] : string[] ->"" : string ->"" : string +>"" : "" +>"" : "" var obj = {x:1,y:null}; >obj : { x: number; y: any; } >{x:1,y:null} : { x: number; y: null; } >x : number ->1 : number +>1 : 1 >y : null >null : null @@ -65,7 +65,7 @@ var ResultIsNumber5 = ++ANY2[0]; >++ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 var ResultIsNumber6 = ++obj.x; >ResultIsNumber6 : number @@ -100,7 +100,7 @@ var ResultIsNumber9 = ANY2[0]++; >ANY2[0]++ : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 var ResultIsNumber10 = obj.x++; >ResultIsNumber10 : number @@ -143,7 +143,7 @@ var ResultIsNumber13 = M.n++; >++ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 ++ANY, ++ANY1; >++ANY, ++ANY1 : number @@ -176,7 +176,7 @@ ANY2[0]++; >ANY2[0]++ : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 ANY++, ANY1++; >ANY++, ANY1++ : number diff --git a/tests/baselines/reference/incrementOperatorWithNumberType.types b/tests/baselines/reference/incrementOperatorWithNumberType.types index 21211a3848c..03030289a77 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberType.types +++ b/tests/baselines/reference/incrementOperatorWithNumberType.types @@ -6,8 +6,8 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 class A { >A : A @@ -72,7 +72,7 @@ var ResultIsNumber7 = NUMBER1[0]++; >NUMBER1[0]++ : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 // miss assignment operators ++NUMBER; @@ -83,7 +83,7 @@ var ResultIsNumber7 = NUMBER1[0]++; >++NUMBER1[0] : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 ++objA.a; >++objA.a : number @@ -115,7 +115,7 @@ NUMBER1[0]++; >NUMBER1[0]++ : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 objA.a++; >objA.a++ : number diff --git a/tests/baselines/reference/indexClassByNumber.types b/tests/baselines/reference/indexClassByNumber.types index b1fb79f256a..dfd27305ba9 100644 --- a/tests/baselines/reference/indexClassByNumber.types +++ b/tests/baselines/reference/indexClassByNumber.types @@ -10,9 +10,9 @@ var f = new foo(); >foo : typeof foo f[0] = 4; // Shouldn't be allowed ->f[0] = 4 : number +>f[0] = 4 : 4 >f[0] : any >f : foo ->0 : number ->4 : number +>0 : 0 +>4 : 4 diff --git a/tests/baselines/reference/indexIntoArraySubclass.errors.txt b/tests/baselines/reference/indexIntoArraySubclass.errors.txt index 1628e12d22f..bbcf259fb33 100644 --- a/tests/baselines/reference/indexIntoArraySubclass.errors.txt +++ b/tests/baselines/reference/indexIntoArraySubclass.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/indexIntoArraySubclass.ts(4,1): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/indexIntoArraySubclass.ts(4,1): error TS2322: Type '0' is not assignable to type 'string'. ==== tests/cases/compiler/indexIntoArraySubclass.ts (1 errors) ==== @@ -7,4 +7,4 @@ tests/cases/compiler/indexIntoArraySubclass.ts(4,1): error TS2322: Type 'number' var r = x2[0]; // string r = 0; //error ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2322: Type '0' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/indexIntoEnum.types b/tests/baselines/reference/indexIntoEnum.types index 3c0d91cd240..9a22174d9bc 100644 --- a/tests/baselines/reference/indexIntoEnum.types +++ b/tests/baselines/reference/indexIntoEnum.types @@ -9,5 +9,5 @@ module M { >x : string >E[0] : string >E : typeof E ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/indexSignaturesInferentialTyping.types b/tests/baselines/reference/indexSignaturesInferentialTyping.types index 47c7aa21388..202e1489818 100644 --- a/tests/baselines/reference/indexSignaturesInferentialTyping.types +++ b/tests/baselines/reference/indexSignaturesInferentialTyping.types @@ -22,16 +22,16 @@ var x1 = foo({ 0: 0, 1: 1 }); // type should be number >foo({ 0: 0, 1: 1 }) : number >foo : (items: { [index: number]: T; }) => T >{ 0: 0, 1: 1 } : { 0: number; 1: number; } ->0 : number ->1 : number +>0 : 0 +>1 : 1 var x2 = bar({ 0: 0, 1: 1 }); >x2 : number >bar({ 0: 0, 1: 1 }) : number >bar : (items: { [index: string]: T; }) => T >{ 0: 0, 1: 1 } : { 0: number; 1: number; } ->0 : number ->1 : number +>0 : 0 +>1 : 1 var x3 = bar({ zero: 0, one: 1 }); // type should be number >x3 : number @@ -39,7 +39,7 @@ var x3 = bar({ zero: 0, one: 1 }); // type should be number >bar : (items: { [index: string]: T; }) => T >{ zero: 0, one: 1 } : { zero: number; one: number; } >zero : number ->0 : number +>0 : 0 >one : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/indexWithUndefinedAndNull.js b/tests/baselines/reference/indexWithUndefinedAndNull.js new file mode 100644 index 00000000000..f885323efae --- /dev/null +++ b/tests/baselines/reference/indexWithUndefinedAndNull.js @@ -0,0 +1,22 @@ +//// [indexWithUndefinedAndNull.ts] +interface N { + [n: number]: string; +} +interface S { + [s: string]: number; +} +let n: N; +let s: S; +let str: string = n[undefined]; +str = n[null]; +let num: number = s[undefined]; +num = s[null]; + + +//// [indexWithUndefinedAndNull.js] +var n; +var s; +var str = n[undefined]; +str = n[null]; +var num = s[undefined]; +num = s[null]; diff --git a/tests/baselines/reference/indexWithUndefinedAndNull.symbols b/tests/baselines/reference/indexWithUndefinedAndNull.symbols new file mode 100644 index 00000000000..15e8bbdbf41 --- /dev/null +++ b/tests/baselines/reference/indexWithUndefinedAndNull.symbols @@ -0,0 +1,39 @@ +=== tests/cases/compiler/indexWithUndefinedAndNull.ts === +interface N { +>N : Symbol(N, Decl(indexWithUndefinedAndNull.ts, 0, 0)) + + [n: number]: string; +>n : Symbol(n, Decl(indexWithUndefinedAndNull.ts, 1, 5)) +} +interface S { +>S : Symbol(S, Decl(indexWithUndefinedAndNull.ts, 2, 1)) + + [s: string]: number; +>s : Symbol(s, Decl(indexWithUndefinedAndNull.ts, 4, 5)) +} +let n: N; +>n : Symbol(n, Decl(indexWithUndefinedAndNull.ts, 6, 3)) +>N : Symbol(N, Decl(indexWithUndefinedAndNull.ts, 0, 0)) + +let s: S; +>s : Symbol(s, Decl(indexWithUndefinedAndNull.ts, 7, 3)) +>S : Symbol(S, Decl(indexWithUndefinedAndNull.ts, 2, 1)) + +let str: string = n[undefined]; +>str : Symbol(str, Decl(indexWithUndefinedAndNull.ts, 8, 3)) +>n : Symbol(n, Decl(indexWithUndefinedAndNull.ts, 6, 3)) +>undefined : Symbol(undefined) + +str = n[null]; +>str : Symbol(str, Decl(indexWithUndefinedAndNull.ts, 8, 3)) +>n : Symbol(n, Decl(indexWithUndefinedAndNull.ts, 6, 3)) + +let num: number = s[undefined]; +>num : Symbol(num, Decl(indexWithUndefinedAndNull.ts, 10, 3)) +>s : Symbol(s, Decl(indexWithUndefinedAndNull.ts, 7, 3)) +>undefined : Symbol(undefined) + +num = s[null]; +>num : Symbol(num, Decl(indexWithUndefinedAndNull.ts, 10, 3)) +>s : Symbol(s, Decl(indexWithUndefinedAndNull.ts, 7, 3)) + diff --git a/tests/baselines/reference/indexWithUndefinedAndNull.types b/tests/baselines/reference/indexWithUndefinedAndNull.types new file mode 100644 index 00000000000..07b6050503a --- /dev/null +++ b/tests/baselines/reference/indexWithUndefinedAndNull.types @@ -0,0 +1,47 @@ +=== tests/cases/compiler/indexWithUndefinedAndNull.ts === +interface N { +>N : N + + [n: number]: string; +>n : number +} +interface S { +>S : S + + [s: string]: number; +>s : string +} +let n: N; +>n : N +>N : N + +let s: S; +>s : S +>S : S + +let str: string = n[undefined]; +>str : string +>n[undefined] : string +>n : N +>undefined : undefined + +str = n[null]; +>str = n[null] : string +>str : string +>n[null] : string +>n : N +>null : null + +let num: number = s[undefined]; +>num : number +>s[undefined] : number +>s : S +>undefined : undefined + +num = s[null]; +>num = s[null] : number +>num : number +>s[null] : number +>s : S +>null : null + diff --git a/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.errors.txt b/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.errors.txt new file mode 100644 index 00000000000..a1fce75c54e --- /dev/null +++ b/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.errors.txt @@ -0,0 +1,40 @@ +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(9,19): error TS2454: Variable 'n' is used before being assigned. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(9,19): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(10,7): error TS2454: Variable 'n' is used before being assigned. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(10,7): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(11,19): error TS2454: Variable 's' is used before being assigned. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(11,19): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(12,7): error TS2454: Variable 's' is used before being assigned. +tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts(12,7): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. + + +==== tests/cases/compiler/indexWithUndefinedAndNullStrictNullChecks.ts (8 errors) ==== + interface N { + [n: number]: string; + } + interface S { + [s: string]: number; + } + let n: N; + let s: S; + let str: string = n[undefined]; + ~ +!!! error TS2454: Variable 'n' is used before being assigned. + ~~~~~~~~~~~~ +!!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. + str = n[null]; + ~ +!!! error TS2454: Variable 'n' is used before being assigned. + ~~~~~~~ +!!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. + let num: number = s[undefined]; + ~ +!!! error TS2454: Variable 's' is used before being assigned. + ~~~~~~~~~~~~ +!!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. + num = s[null]; + ~ +!!! error TS2454: Variable 's' is used before being assigned. + ~~~~~~~ +!!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol', or 'any'. + \ No newline at end of file diff --git a/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.js b/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.js new file mode 100644 index 00000000000..9300b7c0549 --- /dev/null +++ b/tests/baselines/reference/indexWithUndefinedAndNullStrictNullChecks.js @@ -0,0 +1,22 @@ +//// [indexWithUndefinedAndNullStrictNullChecks.ts] +interface N { + [n: number]: string; +} +interface S { + [s: string]: number; +} +let n: N; +let s: S; +let str: string = n[undefined]; +str = n[null]; +let num: number = s[undefined]; +num = s[null]; + + +//// [indexWithUndefinedAndNullStrictNullChecks.js] +var n; +var s; +var str = n[undefined]; +str = n[null]; +var num = s[undefined]; +num = s[null]; diff --git a/tests/baselines/reference/indexer.types b/tests/baselines/reference/indexer.types index f24c90f6ea1..6f648d8d232 100644 --- a/tests/baselines/reference/indexer.types +++ b/tests/baselines/reference/indexer.types @@ -20,15 +20,15 @@ var jq:JQuery={ 0: { id : "a" }, 1: { id : "b" } }; >{ 0: { id : "a" }, 1: { id : "b" } } : { 0: { id: string; }; 1: { id: string; }; } >{ id : "a" } : { id: string; } >id : string ->"a" : string +>"a" : "a" >{ id : "b" } : { id: string; } >id : string ->"b" : string +>"b" : "b" jq[0].id; >jq[0].id : string >jq[0] : JQueryElement >jq : JQuery ->0 : number +>0 : 0 >id : string diff --git a/tests/baselines/reference/indexer3.types b/tests/baselines/reference/indexer3.types index 28bcd9cab0c..58bf9b51f2e 100644 --- a/tests/baselines/reference/indexer3.types +++ b/tests/baselines/reference/indexer3.types @@ -10,5 +10,5 @@ var r: Date = dateMap["hello"] // result type includes indexer using BCT >Date : Date >dateMap["hello"] : Date >dateMap : { [x: string]: Date; } ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/indexerA.types b/tests/baselines/reference/indexerA.types index ee6351eae33..e0eadbc06b4 100644 --- a/tests/baselines/reference/indexerA.types +++ b/tests/baselines/reference/indexerA.types @@ -20,15 +20,15 @@ var jq:JQuery={ 0: { id : "a" }, 1: { id : "b" } }; >{ 0: { id : "a" }, 1: { id : "b" } } : { 0: { id: string; }; 1: { id: string; }; } >{ id : "a" } : { id: string; } >id : string ->"a" : string +>"a" : "a" >{ id : "b" } : { id: string; } >id : string ->"b" : string +>"b" : "b" jq[0].id; >jq[0].id : string >jq[0] : JQueryElement >jq : JQuery ->0 : number +>0 : 0 >id : string diff --git a/tests/baselines/reference/indexerWithTuple.types b/tests/baselines/reference/indexerWithTuple.types index 7605fba0518..8a14fa9816e 100644 --- a/tests/baselines/reference/indexerWithTuple.types +++ b/tests/baselines/reference/indexerWithTuple.types @@ -2,55 +2,55 @@ var strNumTuple: [string, number] = ["foo", 10]; >strNumTuple : [string, number] >["foo", 10] : [string, number] ->"foo" : string ->10 : number +>"foo" : "foo" +>10 : 10 var numTupleTuple: [number, [string, number]] = [10, ["bar", 20]]; >numTupleTuple : [number, [string, number]] >[10, ["bar", 20]] : [number, [string, number]] ->10 : number +>10 : 10 >["bar", 20] : [string, number] ->"bar" : string ->20 : number +>"bar" : "bar" +>20 : 20 var unionTuple1: [number, string| number] = [10, "foo"]; >unionTuple1 : [number, string | number] >[10, "foo"] : [number, string] ->10 : number ->"foo" : string +>10 : 10 +>"foo" : "foo" var unionTuple2: [boolean, string| number] = [true, "foo"]; >unionTuple2 : [boolean, string | number] ->[true, "foo"] : [boolean, string] ->true : boolean ->"foo" : string +>[true, "foo"] : [true, string] +>true : true +>"foo" : "foo" // no error var idx0 = 0; >idx0 : number ->0 : number +>0 : 0 var idx1 = 1; >idx1 : number ->1 : number +>1 : 1 var ele10 = strNumTuple[0]; // string >ele10 : string >strNumTuple[0] : string >strNumTuple : [string, number] ->0 : number +>0 : 0 var ele11 = strNumTuple[1]; // number >ele11 : number >strNumTuple[1] : number >strNumTuple : [string, number] ->1 : number +>1 : 1 var ele12 = strNumTuple[2]; // string | number >ele12 : string | number >strNumTuple[2] : string | number >strNumTuple : [string, number] ->2 : number +>2 : 2 var ele13 = strNumTuple[idx0]; // string | number >ele13 : string | number @@ -68,53 +68,53 @@ var ele15 = strNumTuple["0"]; // string >ele15 : string >strNumTuple["0"] : string >strNumTuple : [string, number] ->"0" : string +>"0" : "0" var ele16 = strNumTuple["1"]; // number >ele16 : number >strNumTuple["1"] : number >strNumTuple : [string, number] ->"1" : string +>"1" : "1" var strNumTuple1 = numTupleTuple[1]; //[string, number]; >strNumTuple1 : [string, number] >numTupleTuple[1] : [string, number] >numTupleTuple : [number, [string, number]] ->1 : number +>1 : 1 var ele17 = numTupleTuple[2]; // number | [string, number] >ele17 : number | [string, number] >numTupleTuple[2] : number | [string, number] >numTupleTuple : [number, [string, number]] ->2 : number +>2 : 2 var eleUnion10 = unionTuple1[0]; // number >eleUnion10 : number >unionTuple1[0] : number >unionTuple1 : [number, string | number] ->0 : number +>0 : 0 var eleUnion11 = unionTuple1[1]; // string | number >eleUnion11 : string | number >unionTuple1[1] : string | number >unionTuple1 : [number, string | number] ->1 : number +>1 : 1 var eleUnion12 = unionTuple1[2]; // string | number ->eleUnion12 : number | string ->unionTuple1[2] : number | string +>eleUnion12 : string | number +>unionTuple1[2] : string | number >unionTuple1 : [number, string | number] ->2 : number +>2 : 2 var eleUnion13 = unionTuple1[idx0]; // string | number ->eleUnion13 : number | string ->unionTuple1[idx0] : number | string +>eleUnion13 : string | number +>unionTuple1[idx0] : string | number >unionTuple1 : [number, string | number] >idx0 : number var eleUnion14 = unionTuple1[idx1]; // string | number ->eleUnion14 : number | string ->unionTuple1[idx1] : number | string +>eleUnion14 : string | number +>unionTuple1[idx1] : string | number >unionTuple1 : [number, string | number] >idx1 : number @@ -122,41 +122,41 @@ var eleUnion15 = unionTuple1["0"]; // number >eleUnion15 : number >unionTuple1["0"] : number >unionTuple1 : [number, string | number] ->"0" : string +>"0" : "0" var eleUnion16 = unionTuple1["1"]; // string | number >eleUnion16 : string | number >unionTuple1["1"] : string | number >unionTuple1 : [number, string | number] ->"1" : string +>"1" : "1" var eleUnion20 = unionTuple2[0]; // boolean >eleUnion20 : boolean >unionTuple2[0] : boolean >unionTuple2 : [boolean, string | number] ->0 : number +>0 : 0 var eleUnion21 = unionTuple2[1]; // string | number >eleUnion21 : string | number >unionTuple2[1] : string | number >unionTuple2 : [boolean, string | number] ->1 : number +>1 : 1 var eleUnion22 = unionTuple2[2]; // string | number | boolean ->eleUnion22 : boolean | string | number ->unionTuple2[2] : boolean | string | number +>eleUnion22 : string | number | boolean +>unionTuple2[2] : string | number | boolean >unionTuple2 : [boolean, string | number] ->2 : number +>2 : 2 var eleUnion23 = unionTuple2[idx0]; // string | number | boolean ->eleUnion23 : boolean | string | number ->unionTuple2[idx0] : boolean | string | number +>eleUnion23 : string | number | boolean +>unionTuple2[idx0] : string | number | boolean >unionTuple2 : [boolean, string | number] >idx0 : number var eleUnion24 = unionTuple2[idx1]; // string | number | boolean ->eleUnion24 : boolean | string | number ->unionTuple2[idx1] : boolean | string | number +>eleUnion24 : string | number | boolean +>unionTuple2[idx1] : string | number | boolean >unionTuple2 : [boolean, string | number] >idx1 : number @@ -164,11 +164,11 @@ var eleUnion25 = unionTuple2["0"]; // boolean >eleUnion25 : boolean >unionTuple2["0"] : boolean >unionTuple2 : [boolean, string | number] ->"0" : string +>"0" : "0" var eleUnion26 = unionTuple2["1"]; // string | number >eleUnion26 : string | number >unionTuple2["1"] : string | number >unionTuple2 : [boolean, string | number] ->"1" : string +>"1" : "1" diff --git a/tests/baselines/reference/indexersInClassType.types b/tests/baselines/reference/indexersInClassType.types index 496526776d9..02316d810b9 100644 --- a/tests/baselines/reference/indexersInClassType.types +++ b/tests/baselines/reference/indexersInClassType.types @@ -39,7 +39,7 @@ var r2 = r[1]; >r2 : Date >r[1] : Date >r : C ->1 : number +>1 : 1 var r3 = r.a >r3 : {} diff --git a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types index 9aeccb2b2e0..41c01808ae0 100644 --- a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types +++ b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types @@ -3,7 +3,7 @@ function getNumber(): number { >getNumber : () => number return 1; ->1 : number +>1 : 1 } class Example { >Example : Example @@ -12,7 +12,7 @@ class Example { >getNumber : () => number return 1; ->1 : number +>1 : 1 } doSomething(a = this.getNumber()): typeof a { >doSomething : (a?: number) => number diff --git a/tests/baselines/reference/inferSecondaryParameter.types b/tests/baselines/reference/inferSecondaryParameter.types index 34dbb14ea66..c4d827bb3c5 100644 --- a/tests/baselines/reference/inferSecondaryParameter.types +++ b/tests/baselines/reference/inferSecondaryParameter.types @@ -23,7 +23,7 @@ b.m("test", function (bug) { >b.m : (test: string, fn: Function) => any >b : Ib >m : (test: string, fn: Function) => any ->"test" : string +>"test" : "test" >function (bug) { var a: number = bug;} : (bug: any) => void >bug : any diff --git a/tests/baselines/reference/inferSetterParamType.errors.txt b/tests/baselines/reference/inferSetterParamType.errors.txt index 2ae2a16f9d2..02c02ba69d5 100644 --- a/tests/baselines/reference/inferSetterParamType.errors.txt +++ b/tests/baselines/reference/inferSetterParamType.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/inferSetterParamType.ts(3,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/inferSetterParamType.ts(6,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/inferSetterParamType.ts(12,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/inferSetterParamType.ts(13,16): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/inferSetterParamType.ts(13,16): error TS2322: Type '0' is not assignable to type 'string'. tests/cases/compiler/inferSetterParamType.ts(15,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. @@ -26,7 +26,7 @@ tests/cases/compiler/inferSetterParamType.ts(15,9): error TS1056: Accessors are !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. return 0; // should be an error - can't coerce infered return type to match setter annotated type ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '0' is not assignable to type 'string'. } set bar(n:string) { ~~~ diff --git a/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.types b/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.types index f4d94388f42..24cecbfd183 100644 --- a/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.types +++ b/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.types @@ -28,11 +28,11 @@ function i(array: T[], opt?: any[]) { } var a = [1, 2, 3, 4, 5]; >a : number[] >[1, 2, 3, 4, 5] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 f(a); // OK >f(a) : void diff --git a/tests/baselines/reference/inferenceFromParameterlessLambda.types b/tests/baselines/reference/inferenceFromParameterlessLambda.types index 57747d881f6..1adf508226b 100644 --- a/tests/baselines/reference/inferenceFromParameterlessLambda.types +++ b/tests/baselines/reference/inferenceFromParameterlessLambda.types @@ -34,5 +34,5 @@ foo(n => n.length, () => 'hi'); >n : string >length : number >() => 'hi' : () => string ->'hi' : string +>'hi' : "hi" diff --git a/tests/baselines/reference/inferenceLimit.js b/tests/baselines/reference/inferenceLimit.js index a74bf59df44..a3fa5226830 100644 --- a/tests/baselines/reference/inferenceLimit.js +++ b/tests/baselines/reference/inferenceLimit.js @@ -53,8 +53,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; class BrokenClass { - constructor() { - } + constructor() { } brokenMethod(field, value) { return new Promise((resolve, reject) => { let result = []; diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index 37b51e49644..c31ce844b11 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -1,6 +1,6 @@ === tests/cases/compiler/file1.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" import * as MyModule from "./mymodule"; >MyModule : typeof MyModule diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types index da2fa24060f..9365013f050 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types @@ -29,7 +29,7 @@ declare function foo(x: T, y: Int, z: Int): T; foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }); >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string >foo : (x: T, y: Int, z: Int) => T ->"" : string +>"" : "" >{ method(p1) { return p1.length } } : { method(p1: string): number; } >method : (p1: string) => number >p1 : string diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types index f70305739b8..2ee813193a2 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types @@ -29,7 +29,7 @@ declare function foo(x: T, y: Int, z: Int): T; foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }); >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string >foo : (x: T, y: Int, z: Int) => T ->"" : string +>"" : "" >{ method(p1) { return p1.length } } : { method(p1: string): number; } >method : (p1: string) => number >p1 : string diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType3.types b/tests/baselines/reference/inferentialTypingUsingApparentType3.types index e375fe981e8..1738eff89a8 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType3.types +++ b/tests/baselines/reference/inferentialTypingUsingApparentType3.types @@ -19,7 +19,7 @@ class CharField implements Field { >input : string return "Yup"; ->"Yup" : string +>"Yup" : "Yup" } } @@ -32,7 +32,7 @@ class NumberField implements Field { >input : number return 123; ->123 : number +>123 : 123 } } diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType.types b/tests/baselines/reference/inferentialTypingWithFunctionType.types index 460156c91ea..0360adefd7c 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType.types @@ -22,6 +22,6 @@ var s = map("", identity); >s : string >map("", identity) : string >map : (x: T, f: (s: T) => U) => U ->"" : string +>"" : "" >identity : (y: V) => V diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType2.types b/tests/baselines/reference/inferentialTypingWithFunctionType2.types index 6dc4cda3b68..2c4bb2542fb 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType2.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType2.types @@ -15,10 +15,10 @@ var x = [1, 2, 3].map(identity)[0]; >[1, 2, 3].map(identity) : number[] >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] >identity : (a: A) => A ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types index a83379b4c73..86219faf537 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types @@ -23,7 +23,7 @@ var s = map("", () => { return { x: identity }; }); >s : string >map("", () => { return { x: identity }; }) : string >map : (x: T, f: () => { x: (s: T) => U; }) => U ->"" : string +>"" : "" >() => { return { x: identity }; } : () => { x: (y: string) => string; } >{ x: identity } : { x: (y: V) => V; } >x : (y: V) => V diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types index 5a4decef4dc..cb7904b8060 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types @@ -33,7 +33,7 @@ s = map("", dottedIdentity.x); >s : string >map("", dottedIdentity.x) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >dottedIdentity.x : (y: V) => V >dottedIdentity : { x: (y: V) => V; } >x : (y: V) => V @@ -44,10 +44,10 @@ s = map("", dottedIdentity['x']); >s : string >map("", dottedIdentity['x']) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >dottedIdentity['x'] : (y: V) => V >dottedIdentity : { x: (y: V) => V; } ->'x' : string +>'x' : "x" // function call s = map("", (() => identity)()); @@ -55,7 +55,7 @@ s = map("", (() => identity)()); >s : string >map("", (() => identity)()) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >(() => identity)() : (y: V) => V >(() => identity) : () => (y: V) => V >() => identity : () => (y: V) => V @@ -77,7 +77,7 @@ s = map("", new ic()); >s : string >map("", new ic()) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >new ic() : (y: V) => V >ic : IdentityConstructor @@ -90,7 +90,7 @@ s = map("", t = identity); >s : string >map("", t = identity) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >t = identity : (y: V) => V >t : any >identity : (y: V) => V @@ -101,7 +101,7 @@ s = map("", identity); >s : string >map("", identity) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >identity : (y: V) => V >identity : (y: V) => V >identity : (y: V) => V @@ -112,7 +112,7 @@ s = map("", (identity)); >s : string >map("", (identity)) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >(identity) : (y: V) => V >identity : (y: V) => V @@ -122,9 +122,9 @@ s = map("", ("", identity)); >s : string >map("", ("", identity)) : string >map : (array: T, func: (x: T) => U) => U ->"" : string +>"" : "" >("", identity) : (y: V) => V >"", identity : (y: V) => V ->"" : string +>"" : "" >identity : (y: V) => V diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types index cc9d8790bd4..58d51e48987 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types @@ -34,11 +34,11 @@ var result = zipWith([1, 2], ['a', 'b'], pair); >zipWith([1, 2], ['a', 'b'], pair) : { x: number; y: {}; }[] >zipWith : (a: T[], b: S[], f: (x: T) => (y: S) => U) => U[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 >['a', 'b'] : string[] ->'a' : string ->'b' : string +>'a' : "a" +>'b' : "b" >pair : (x: T) => (y: S) => { x: T; y: S; } var i = result[0].x; // number @@ -46,6 +46,6 @@ var i = result[0].x; // number >result[0].x : number >result[0] : { x: number; y: {}; } >result : { x: number; y: {}; }[] ->0 : number +>0 : 0 >x : number diff --git a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.errors.txt b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.errors.txt index 9dfb41c0fac..69f21589670 100644 --- a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.errors.txt +++ b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts(4,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts(5,1): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts(4,1): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts(5,1): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts (2 errors) ==== @@ -8,8 +8,8 @@ tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts(5,1): error } f({ x: [null] }, { x: [1] }).x[0] = "" // ok ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. f({ x: [1] }, { x: [null] }).x[0] = "" // was error TS2011: Cannot convert 'string' to 'number'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.errors.txt b/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.errors.txt deleted file mode 100644 index bab58d0e4cf..00000000000 --- a/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/compiler/inferredFunctionReturnTypeIsEmptyType.ts(2,10): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/compiler/inferredFunctionReturnTypeIsEmptyType.ts (1 errors) ==== - - function foo() { - ~~~ -!!! error TS2354: No best common type exists among return expressions. - if (true) { - return 42; - } - else { - return "42"; - } - }; - \ No newline at end of file diff --git a/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.symbols b/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.symbols new file mode 100644 index 00000000000..059a992c3f3 --- /dev/null +++ b/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/inferredFunctionReturnTypeIsEmptyType.ts === + +function foo() { +>foo : Symbol(foo, Decl(inferredFunctionReturnTypeIsEmptyType.ts, 0, 0)) + + if (true) { + return 42; + } + else { + return "42"; + } +}; + diff --git a/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.types b/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.types new file mode 100644 index 00000000000..3775ffd2faa --- /dev/null +++ b/tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.types @@ -0,0 +1,17 @@ +=== tests/cases/compiler/inferredFunctionReturnTypeIsEmptyType.ts === + +function foo() { +>foo : () => 42 | "42" + + if (true) { +>true : true + + return 42; +>42 : 42 + } + else { + return "42"; +>"42" : "42" + } +}; + diff --git a/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.types b/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.types index 3f170d1a6ec..444c9b77069 100644 --- a/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.types +++ b/tests/baselines/reference/inheritanceMemberFuncOverridingMethod.types @@ -6,7 +6,7 @@ class a { >x : () => string return "10"; ->"10" : string +>"10" : "10" } } @@ -18,6 +18,6 @@ class b extends a { >x : () => string return "20"; ->"20" : string +>"20" : "20" } } diff --git a/tests/baselines/reference/inheritanceStaticFuncOverridingMethod.types b/tests/baselines/reference/inheritanceStaticFuncOverridingMethod.types index 22fa0a6660f..5a1320cd666 100644 --- a/tests/baselines/reference/inheritanceStaticFuncOverridingMethod.types +++ b/tests/baselines/reference/inheritanceStaticFuncOverridingMethod.types @@ -6,7 +6,7 @@ class a { >x : () => string return "10"; ->"10" : string +>"10" : "10" } } @@ -18,6 +18,6 @@ class b extends a { >x : () => string return "20"; ->"20" : string +>"20" : "20" } } diff --git a/tests/baselines/reference/inheritanceStaticFuncOverridingPropertyOfFuncType.types b/tests/baselines/reference/inheritanceStaticFuncOverridingPropertyOfFuncType.types index a7df20382ec..3b6741770a4 100644 --- a/tests/baselines/reference/inheritanceStaticFuncOverridingPropertyOfFuncType.types +++ b/tests/baselines/reference/inheritanceStaticFuncOverridingPropertyOfFuncType.types @@ -14,6 +14,6 @@ class b extends a { >x : () => string return "20"; ->"20" : string +>"20" : "20" } } diff --git a/tests/baselines/reference/inheritedConstructorWithRestParams.errors.txt b/tests/baselines/reference/inheritedConstructorWithRestParams.errors.txt index fd63eafbaf7..5e9775b81d9 100644 --- a/tests/baselines/reference/inheritedConstructorWithRestParams.errors.txt +++ b/tests/baselines/reference/inheritedConstructorWithRestParams.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/inheritedConstructorWithRestParams.ts(13,17): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/inheritedConstructorWithRestParams.ts(14,13): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/inheritedConstructorWithRestParams.ts(13,17): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/compiler/inheritedConstructorWithRestParams.ts(14,13): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/inheritedConstructorWithRestParams.ts (2 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/inheritedConstructorWithRestParams.ts(14,13): error TS2345: // Errors new Derived("", 3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new Derived(3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/inheritedConstructorWithRestParams2.errors.txt b/tests/baselines/reference/inheritedConstructorWithRestParams2.errors.txt index 514d0d8941f..9249e9512bc 100644 --- a/tests/baselines/reference/inheritedConstructorWithRestParams2.errors.txt +++ b/tests/baselines/reference/inheritedConstructorWithRestParams2.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/inheritedConstructorWithRestParams2.ts(32,13): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/inheritedConstructorWithRestParams2.ts(33,17): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/inheritedConstructorWithRestParams2.ts(34,17): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/inheritedConstructorWithRestParams2.ts(32,13): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/compiler/inheritedConstructorWithRestParams2.ts(33,17): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/compiler/inheritedConstructorWithRestParams2.ts(34,17): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/inheritedConstructorWithRestParams2.ts (3 errors) ==== @@ -37,10 +37,10 @@ tests/cases/compiler/inheritedConstructorWithRestParams2.ts(34,17): error TS2345 // Errors new Derived(3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new Derived("", 3, "", 3); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new Derived("", 3, "", ""); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.types b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.types index b13fde1189a..ce918d27e9f 100644 --- a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.types +++ b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.types @@ -14,7 +14,7 @@ fn((a, b) => true); >(a, b) => true : (a: any, b: any) => boolean >a : any >b : any ->true : boolean +>true : true fn(function (a, b) { return true; }) >fn(function (a, b) { return true; }) : void @@ -22,6 +22,6 @@ fn(function (a, b) { return true; }) >function (a, b) { return true; } : (a: any, b: any) => boolean >a : any >b : any ->true : boolean +>true : true diff --git a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types index 563cb58a755..d15aab73b04 100644 --- a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types +++ b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types @@ -26,7 +26,7 @@ b('foo').charAt(0); >b : B >'foo' : "foo" >charAt : (pos: number) => string ->0 : number +>0 : 0 interface A { >A : A @@ -118,7 +118,7 @@ var x5: void = c('A0'); >x5 : void >c('A0') : void >c : C ->'A0' : string +>'A0' : "A0" var x6: number[] = c('C1'); >x6 : number[] @@ -142,5 +142,5 @@ var x9: void = c('generic'); >x9 : void >c('generic') : void >c : C ->'generic' : string +>'generic' : "generic" diff --git a/tests/baselines/reference/initializePropertiesWithRenamedLet.types b/tests/baselines/reference/initializePropertiesWithRenamedLet.types index 3c6938cd643..65ea68059a7 100644 --- a/tests/baselines/reference/initializePropertiesWithRenamedLet.types +++ b/tests/baselines/reference/initializePropertiesWithRenamedLet.types @@ -4,7 +4,7 @@ var x0; >x0 : any if (true) { ->true : boolean +>true : true let x0; >x0 : any @@ -27,20 +27,20 @@ var x, y, z; >z : any if (true) { ->true : boolean +>true : true let { x: x } = { x: 0 }; >x : any >x : number >{ x: 0 } : { x: number; } >x : number ->0 : number +>0 : 0 let { y } = { y: 0 }; >y : number >{ y: 0 } : { y: number; } >y : number ->0 : number +>0 : 0 let z; >z : any @@ -53,7 +53,7 @@ if (true) { >z : any >{ z: 0 } : { z: number; } >z : number ->0 : number +>0 : 0 ({ z } = { z: 0 }); >({ z } = { z: 0 }) : { z: number; } @@ -62,5 +62,5 @@ if (true) { >z : any >{ z: 0 } : { z: number; } >z : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/initializersInAmbientEnums.types b/tests/baselines/reference/initializersInAmbientEnums.types index 40996e9b40a..042ddbc50c9 100644 --- a/tests/baselines/reference/initializersInAmbientEnums.types +++ b/tests/baselines/reference/initializersInAmbientEnums.types @@ -4,7 +4,7 @@ declare enum E { a = 10, >a : E ->10 : number +>10 : 10 b = a, >b : E @@ -13,8 +13,8 @@ declare enum E { e = 10 << 2 * 8, >e : E >10 << 2 * 8 : number ->10 : number +>10 : 10 >2 * 8 : number ->2 : number ->8 : number +>2 : 2 +>8 : 8 } diff --git a/tests/baselines/reference/initializersWidened.types b/tests/baselines/reference/initializersWidened.types index 766f859029a..17de14e9e94 100644 --- a/tests/baselines/reference/initializersWidened.types +++ b/tests/baselines/reference/initializersWidened.types @@ -12,7 +12,7 @@ var y1 = undefined; var z1 = void 0; >z1 : any >void 0 : undefined ->0 : number +>0 : 0 // these are not widened @@ -35,7 +35,7 @@ var y3: undefined = undefined; var z3: undefined = void 0; >z3 : undefined >void 0 : undefined ->0 : number +>0 : 0 // widen only when all constituents of union are widening @@ -55,9 +55,9 @@ var z4 = void 0 || void 0; >z4 : any >void 0 || void 0 : undefined >void 0 : undefined ->0 : number +>0 : 0 >void 0 : undefined ->0 : number +>0 : 0 var x5 = null || x2; >x5 : null @@ -75,6 +75,6 @@ var z5 = void 0 || y2; >z5 : undefined >void 0 || y2 : undefined >void 0 : undefined ->0 : number +>0 : 0 >y2 : undefined diff --git a/tests/baselines/reference/innerFunc.types b/tests/baselines/reference/innerFunc.types index 48d98ae42e1..700ca630233 100644 --- a/tests/baselines/reference/innerFunc.types +++ b/tests/baselines/reference/innerFunc.types @@ -4,7 +4,7 @@ function salt() { function pepper() { return 5;} >pepper : () => number ->5 : number +>5 : 5 return pepper(); >pepper() : number @@ -19,7 +19,7 @@ module M { function oxygen() { return 6; }; >oxygen : () => number ->6 : number +>6 : 6 return oxygen(); >oxygen() : number diff --git a/tests/baselines/reference/innerOverloads.types b/tests/baselines/reference/innerOverloads.types index 68af57b3bea..b15f9e5bf22 100644 --- a/tests/baselines/reference/innerOverloads.types +++ b/tests/baselines/reference/innerOverloads.types @@ -19,7 +19,7 @@ function outer() { return inner(0); >inner(0) : any >inner : { (x: number): any; (x: string): any; } ->0 : number +>0 : 0 } var x = outer(); // should work diff --git a/tests/baselines/reference/innerTypeCheckOfLambdaArgument.errors.txt b/tests/baselines/reference/innerTypeCheckOfLambdaArgument.errors.txt index b5e56d2f4e3..0e0bcde70de 100644 --- a/tests/baselines/reference/innerTypeCheckOfLambdaArgument.errors.txt +++ b/tests/baselines/reference/innerTypeCheckOfLambdaArgument.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/innerTypeCheckOfLambdaArgument.ts(10,7): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/innerTypeCheckOfLambdaArgument.ts(10,7): error TS2322: Type '10' is not assignable to type 'string'. ==== tests/cases/compiler/innerTypeCheckOfLambdaArgument.ts (1 errors) ==== @@ -13,7 +13,7 @@ tests/cases/compiler/innerTypeCheckOfLambdaArgument.ts(10,7): error TS2322: Type // otherwise, there's a bug in overload resolution / partial typechecking var k: string = 10; ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '10' is not assignable to type 'string'. } ); \ No newline at end of file diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.js b/tests/baselines/reference/instanceAndStaticDeclarations1.js index 093e9c15cc8..bf9b6963bb2 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.js +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.js @@ -25,6 +25,6 @@ var Point = (function () { return Math.sqrt(dx * dx + dy * dy); }; Point.distance = function (p1, p2) { return p1.distance(p2); }; - Point.origin = new Point(0, 0); return Point; }()); +Point.origin = new Point(0, 0); diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.types b/tests/baselines/reference/instanceAndStaticDeclarations1.types index cbed990690d..91bd5e7eb52 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.types +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.types @@ -50,8 +50,8 @@ class Point { >origin : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 static distance(p1: Point, p2: Point) { return p1.distance(p2); } >distance : (p1: Point, p2: Point) => number diff --git a/tests/baselines/reference/instanceMemberInitialization.types b/tests/baselines/reference/instanceMemberInitialization.types index 4d65c62aa49..ca97ccac333 100644 --- a/tests/baselines/reference/instanceMemberInitialization.types +++ b/tests/baselines/reference/instanceMemberInitialization.types @@ -4,7 +4,7 @@ class C { x = 1; >x : number ->1 : number +>1 : 1 } var c = new C(); @@ -13,11 +13,11 @@ var c = new C(); >C : typeof C c.x = 3; ->c.x = 3 : number +>c.x = 3 : 3 >c.x : number >c : C >x : number ->3 : number +>3 : 3 var c2 = new C(); >c2 : C diff --git a/tests/baselines/reference/instanceOfAssignability.types b/tests/baselines/reference/instanceOfAssignability.types index 44ec45e2069..192db8bcd1b 100644 --- a/tests/baselines/reference/instanceOfAssignability.types +++ b/tests/baselines/reference/instanceOfAssignability.types @@ -46,14 +46,14 @@ class Giraffe extends Mammal { neck; } >neck : any function fn1(x: Array|Array|boolean) { ->fn1 : (x: number[] | string[] | boolean) => void ->x : number[] | string[] | boolean +>fn1 : (x: boolean | number[] | string[]) => void +>x : boolean | number[] | string[] >Array : T[] >Array : T[] if(x instanceof Array) { >x instanceof Array : boolean ->x : number[] | string[] | boolean +>x : boolean | number[] | string[] >Array : ArrayConstructor // 1.5: y: Array|Array diff --git a/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.js b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.js new file mode 100644 index 00000000000..97be2137722 --- /dev/null +++ b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.js @@ -0,0 +1,172 @@ +//// [instanceofWithStructurallyIdenticalTypes.ts] +// Repro from #7271 + +class C1 { item: string } +class C2 { item: string[] } +class C3 { item: string } + +function foo1(x: C1 | C2 | C3): string { + if (x instanceof C1) { + return x.item; + } + else if (x instanceof C2) { + return x.item[0]; + } + else if (x instanceof C3) { + return x.item; + } + return "error"; +} + +function isC1(c: C1 | C2 | C3): c is C1 { return c instanceof C1 } +function isC2(c: C1 | C2 | C3): c is C2 { return c instanceof C2 } +function isC3(c: C1 | C2 | C3): c is C3 { return c instanceof C3 } + +function foo2(x: C1 | C2 | C3): string { + if (isC1(x)) { + return x.item; + } + else if (isC2(x)) { + return x.item[0]; + } + else if (isC3(x)) { + return x.item; + } + return "error"; +} + +// More tests + +class A { a: string } +class A1 extends A { } +class A2 { a: string } +class B extends A { b: string } + +function goo(x: A) { + if (x instanceof A) { + x; // A + } + else { + x; // never + } + if (x instanceof A1) { + x; // A1 + } + else { + x; // A + } + if (x instanceof A2) { + x; // A2 + } + else { + x; // A + } + if (x instanceof B) { + x; // B + } + else { + x; // A + } +} + + +//// [instanceofWithStructurallyIdenticalTypes.js] +// Repro from #7271 +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var C1 = (function () { + function C1() { + } + return C1; +}()); +var C2 = (function () { + function C2() { + } + return C2; +}()); +var C3 = (function () { + function C3() { + } + return C3; +}()); +function foo1(x) { + if (x instanceof C1) { + return x.item; + } + else if (x instanceof C2) { + return x.item[0]; + } + else if (x instanceof C3) { + return x.item; + } + return "error"; +} +function isC1(c) { return c instanceof C1; } +function isC2(c) { return c instanceof C2; } +function isC3(c) { return c instanceof C3; } +function foo2(x) { + if (isC1(x)) { + return x.item; + } + else if (isC2(x)) { + return x.item[0]; + } + else if (isC3(x)) { + return x.item; + } + return "error"; +} +// More tests +var A = (function () { + function A() { + } + return A; +}()); +var A1 = (function (_super) { + __extends(A1, _super); + function A1() { + _super.apply(this, arguments); + } + return A1; +}(A)); +var A2 = (function () { + function A2() { + } + return A2; +}()); +var B = (function (_super) { + __extends(B, _super); + function B() { + _super.apply(this, arguments); + } + return B; +}(A)); +function goo(x) { + if (x instanceof A) { + x; // A + } + else { + x; // never + } + if (x instanceof A1) { + x; // A1 + } + else { + x; // A + } + if (x instanceof A2) { + x; // A2 + } + else { + x; // A + } + if (x instanceof B) { + x; // B + } + else { + x; // A + } +} diff --git a/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.symbols b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.symbols new file mode 100644 index 00000000000..f2eb40eea47 --- /dev/null +++ b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.symbols @@ -0,0 +1,192 @@ +=== tests/cases/compiler/instanceofWithStructurallyIdenticalTypes.ts === +// Repro from #7271 + +class C1 { item: string } +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>item : Symbol(C1.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 10)) + +class C2 { item: string[] } +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>item : Symbol(C2.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 10)) + +class C3 { item: string } +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) +>item : Symbol(C3.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 10)) + +function foo1(x: C1 | C2 | C3): string { +>foo1 : Symbol(foo1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 25)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) + + if (x instanceof C1) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) + + return x.item; +>x.item : Symbol(C1.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>item : Symbol(C1.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 10)) + } + else if (x instanceof C2) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) + + return x.item[0]; +>x.item : Symbol(C2.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>item : Symbol(C2.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 10)) + } + else if (x instanceof C3) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) + + return x.item; +>x.item : Symbol(C3.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 6, 14)) +>item : Symbol(C3.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 10)) + } + return "error"; +} + +function isC1(c: C1 | C2 | C3): c is C1 { return c instanceof C1 } +>isC1 : Symbol(isC1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 17, 1)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 19, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 19, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 19, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) + +function isC2(c: C1 | C2 | C3): c is C2 { return c instanceof C2 } +>isC2 : Symbol(isC2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 19, 66)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 20, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 20, 14)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 20, 14)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) + +function isC3(c: C1 | C2 | C3): c is C3 { return c instanceof C3 } +>isC3 : Symbol(isC3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 20, 66)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 21, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 21, 14)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) +>c : Symbol(c, Decl(instanceofWithStructurallyIdenticalTypes.ts, 21, 14)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) + +function foo2(x: C1 | C2 | C3): string { +>foo2 : Symbol(foo2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 21, 66)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) +>C1 : Symbol(C1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 0, 0)) +>C2 : Symbol(C2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 25)) +>C3 : Symbol(C3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 27)) + + if (isC1(x)) { +>isC1 : Symbol(isC1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 17, 1)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) + + return x.item; +>x.item : Symbol(C1.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) +>item : Symbol(C1.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 2, 10)) + } + else if (isC2(x)) { +>isC2 : Symbol(isC2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 19, 66)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) + + return x.item[0]; +>x.item : Symbol(C2.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) +>item : Symbol(C2.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 3, 10)) + } + else if (isC3(x)) { +>isC3 : Symbol(isC3, Decl(instanceofWithStructurallyIdenticalTypes.ts, 20, 66)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) + + return x.item; +>x.item : Symbol(C3.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 10)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 23, 14)) +>item : Symbol(C3.item, Decl(instanceofWithStructurallyIdenticalTypes.ts, 4, 10)) + } + return "error"; +} + +// More tests + +class A { a: string } +>A : Symbol(A, Decl(instanceofWithStructurallyIdenticalTypes.ts, 34, 1)) +>a : Symbol(A.a, Decl(instanceofWithStructurallyIdenticalTypes.ts, 38, 9)) + +class A1 extends A { } +>A1 : Symbol(A1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 38, 21)) +>A : Symbol(A, Decl(instanceofWithStructurallyIdenticalTypes.ts, 34, 1)) + +class A2 { a: string } +>A2 : Symbol(A2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 39, 22)) +>a : Symbol(A2.a, Decl(instanceofWithStructurallyIdenticalTypes.ts, 40, 10)) + +class B extends A { b: string } +>B : Symbol(B, Decl(instanceofWithStructurallyIdenticalTypes.ts, 40, 22)) +>A : Symbol(A, Decl(instanceofWithStructurallyIdenticalTypes.ts, 34, 1)) +>b : Symbol(B.b, Decl(instanceofWithStructurallyIdenticalTypes.ts, 41, 19)) + +function goo(x: A) { +>goo : Symbol(goo, Decl(instanceofWithStructurallyIdenticalTypes.ts, 41, 31)) +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) +>A : Symbol(A, Decl(instanceofWithStructurallyIdenticalTypes.ts, 34, 1)) + + if (x instanceof A) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) +>A : Symbol(A, Decl(instanceofWithStructurallyIdenticalTypes.ts, 34, 1)) + + x; // A +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + else { + x; // never +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + if (x instanceof A1) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) +>A1 : Symbol(A1, Decl(instanceofWithStructurallyIdenticalTypes.ts, 38, 21)) + + x; // A1 +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + else { + x; // A +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + if (x instanceof A2) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) +>A2 : Symbol(A2, Decl(instanceofWithStructurallyIdenticalTypes.ts, 39, 22)) + + x; // A2 +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + else { + x; // A +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + if (x instanceof B) { +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) +>B : Symbol(B, Decl(instanceofWithStructurallyIdenticalTypes.ts, 40, 22)) + + x; // B +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } + else { + x; // A +>x : Symbol(x, Decl(instanceofWithStructurallyIdenticalTypes.ts, 43, 13)) + } +} + diff --git a/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types new file mode 100644 index 00000000000..e9048af2e34 --- /dev/null +++ b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types @@ -0,0 +1,211 @@ +=== tests/cases/compiler/instanceofWithStructurallyIdenticalTypes.ts === +// Repro from #7271 + +class C1 { item: string } +>C1 : C1 +>item : string + +class C2 { item: string[] } +>C2 : C2 +>item : string[] + +class C3 { item: string } +>C3 : C3 +>item : string + +function foo1(x: C1 | C2 | C3): string { +>foo1 : (x: C1 | C2 | C3) => string +>x : C1 | C2 | C3 +>C1 : C1 +>C2 : C2 +>C3 : C3 + + if (x instanceof C1) { +>x instanceof C1 : boolean +>x : C1 | C2 | C3 +>C1 : typeof C1 + + return x.item; +>x.item : string +>x : C1 +>item : string + } + else if (x instanceof C2) { +>x instanceof C2 : boolean +>x : C2 | C3 +>C2 : typeof C2 + + return x.item[0]; +>x.item[0] : string +>x.item : string[] +>x : C2 +>item : string[] +>0 : 0 + } + else if (x instanceof C3) { +>x instanceof C3 : boolean +>x : C3 +>C3 : typeof C3 + + return x.item; +>x.item : string +>x : C3 +>item : string + } + return "error"; +>"error" : "error" +} + +function isC1(c: C1 | C2 | C3): c is C1 { return c instanceof C1 } +>isC1 : (c: C1 | C2 | C3) => c is C1 +>c : C1 | C2 | C3 +>C1 : C1 +>C2 : C2 +>C3 : C3 +>c : any +>C1 : C1 +>c instanceof C1 : boolean +>c : C1 | C2 | C3 +>C1 : typeof C1 + +function isC2(c: C1 | C2 | C3): c is C2 { return c instanceof C2 } +>isC2 : (c: C1 | C2 | C3) => c is C2 +>c : C1 | C2 | C3 +>C1 : C1 +>C2 : C2 +>C3 : C3 +>c : any +>C2 : C2 +>c instanceof C2 : boolean +>c : C1 | C2 | C3 +>C2 : typeof C2 + +function isC3(c: C1 | C2 | C3): c is C3 { return c instanceof C3 } +>isC3 : (c: C1 | C2 | C3) => c is C3 +>c : C1 | C2 | C3 +>C1 : C1 +>C2 : C2 +>C3 : C3 +>c : any +>C3 : C3 +>c instanceof C3 : boolean +>c : C1 | C2 | C3 +>C3 : typeof C3 + +function foo2(x: C1 | C2 | C3): string { +>foo2 : (x: C1 | C2 | C3) => string +>x : C1 | C2 | C3 +>C1 : C1 +>C2 : C2 +>C3 : C3 + + if (isC1(x)) { +>isC1(x) : boolean +>isC1 : (c: C1 | C2 | C3) => c is C1 +>x : C1 | C2 | C3 + + return x.item; +>x.item : string +>x : C1 +>item : string + } + else if (isC2(x)) { +>isC2(x) : boolean +>isC2 : (c: C1 | C2 | C3) => c is C2 +>x : C2 | C3 + + return x.item[0]; +>x.item[0] : string +>x.item : string[] +>x : C2 +>item : string[] +>0 : 0 + } + else if (isC3(x)) { +>isC3(x) : boolean +>isC3 : (c: C1 | C2 | C3) => c is C3 +>x : C3 + + return x.item; +>x.item : string +>x : C3 +>item : string + } + return "error"; +>"error" : "error" +} + +// More tests + +class A { a: string } +>A : A +>a : string + +class A1 extends A { } +>A1 : A1 +>A : A + +class A2 { a: string } +>A2 : A2 +>a : string + +class B extends A { b: string } +>B : B +>A : A +>b : string + +function goo(x: A) { +>goo : (x: A) => void +>x : A +>A : A + + if (x instanceof A) { +>x instanceof A : boolean +>x : A +>A : typeof A + + x; // A +>x : A + } + else { + x; // never +>x : never + } + if (x instanceof A1) { +>x instanceof A1 : boolean +>x : A +>A1 : typeof A1 + + x; // A1 +>x : A1 + } + else { + x; // A +>x : A + } + if (x instanceof A2) { +>x instanceof A2 : boolean +>x : A +>A2 : typeof A2 + + x; // A2 +>x : A2 + } + else { + x; // A +>x : A + } + if (x instanceof B) { +>x instanceof B : boolean +>x : A +>B : typeof B + + x; // B +>x : B + } + else { + x; // A +>x : A + } +} + diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.js b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.js new file mode 100644 index 00000000000..176df15985f --- /dev/null +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.js @@ -0,0 +1,20 @@ +//// [instantiateContextuallyTypedGenericThis.ts] +interface JQuery { + each( + collection: T[], callback: (this: T, dit: T) => T + ): T[]; +} + +let $: JQuery; +let lines: string[]; +$.each(lines, function(dit) { + return dit.charAt(0) + this.charAt(1); +}); + + +//// [instantiateContextuallyTypedGenericThis.js] +var $; +var lines; +$.each(lines, function (dit) { + return dit.charAt(0) + this.charAt(1); +}); diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols new file mode 100644 index 00000000000..1db5b30dd0b --- /dev/null +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.symbols @@ -0,0 +1,46 @@ +=== tests/cases/compiler/instantiateContextuallyTypedGenericThis.ts === +interface JQuery { +>JQuery : Symbol(JQuery, Decl(instantiateContextuallyTypedGenericThis.ts, 0, 0)) + + each( +>each : Symbol(JQuery.each, Decl(instantiateContextuallyTypedGenericThis.ts, 0, 18)) +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) + + collection: T[], callback: (this: T, dit: T) => T +>collection : Symbol(collection, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 12)) +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) +>callback : Symbol(callback, Decl(instantiateContextuallyTypedGenericThis.ts, 2, 24)) +>this : Symbol(this, Decl(instantiateContextuallyTypedGenericThis.ts, 2, 36)) +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) +>dit : Symbol(dit, Decl(instantiateContextuallyTypedGenericThis.ts, 2, 44)) +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) + + ): T[]; +>T : Symbol(T, Decl(instantiateContextuallyTypedGenericThis.ts, 1, 9)) +} + +let $: JQuery; +>$ : Symbol($, Decl(instantiateContextuallyTypedGenericThis.ts, 6, 3)) +>JQuery : Symbol(JQuery, Decl(instantiateContextuallyTypedGenericThis.ts, 0, 0)) + +let lines: string[]; +>lines : Symbol(lines, Decl(instantiateContextuallyTypedGenericThis.ts, 7, 3)) + +$.each(lines, function(dit) { +>$.each : Symbol(JQuery.each, Decl(instantiateContextuallyTypedGenericThis.ts, 0, 18)) +>$ : Symbol($, Decl(instantiateContextuallyTypedGenericThis.ts, 6, 3)) +>each : Symbol(JQuery.each, Decl(instantiateContextuallyTypedGenericThis.ts, 0, 18)) +>lines : Symbol(lines, Decl(instantiateContextuallyTypedGenericThis.ts, 7, 3)) +>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 : Symbol(dit, Decl(instantiateContextuallyTypedGenericThis.ts, 8, 23)) +>charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>this.charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) +>this : Symbol(this, Decl(instantiateContextuallyTypedGenericThis.ts, 2, 36)) +>charAt : Symbol(String.charAt, Decl(lib.d.ts, --, --)) + +}); + diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types new file mode 100644 index 00000000000..11be8be8252 --- /dev/null +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types @@ -0,0 +1,53 @@ +=== tests/cases/compiler/instantiateContextuallyTypedGenericThis.ts === +interface JQuery { +>JQuery : JQuery + + each( +>each : (collection: T[], callback: (this: T, dit: T) => T) => T[] +>T : T + + collection: T[], callback: (this: T, dit: T) => T +>collection : T[] +>T : T +>callback : (this: T, dit: T) => T +>this : T +>T : T +>dit : T +>T : T +>T : T + + ): T[]; +>T : T +} + +let $: JQuery; +>$ : JQuery +>JQuery : JQuery + +let lines: string[]; +>lines : string[] + +$.each(lines, function(dit) { +>$.each(lines, function(dit) { return dit.charAt(0) + this.charAt(1);}) : string[] +>$.each : (collection: T[], callback: (this: T, dit: T) => T) => T[] +>$ : JQuery +>each : (collection: T[], callback: (this: T, dit: T) => T) => T[] +>lines : string[] +>function(dit) { return dit.charAt(0) + this.charAt(1);} : (this: string, dit: string) => string +>dit : string + + return dit.charAt(0) + this.charAt(1); +>dit.charAt(0) + this.charAt(1) : string +>dit.charAt(0) : string +>dit.charAt : (pos: number) => string +>dit : string +>charAt : (pos: number) => string +>0 : 0 +>this.charAt(1) : string +>this.charAt : (pos: number) => string +>this : string +>charAt : (pos: number) => string +>1 : 1 + +}); + diff --git a/tests/baselines/reference/instantiateCrossFileMerge.types b/tests/baselines/reference/instantiateCrossFileMerge.types index 8fbeaab3d1f..2da25e6b138 100644 --- a/tests/baselines/reference/instantiateCrossFileMerge.types +++ b/tests/baselines/reference/instantiateCrossFileMerge.types @@ -22,5 +22,5 @@ new P(r => { r('foo') }); >r : (value: string) => void >r('foo') : void >r : (value: string) => void ->'foo' : string +>'foo' : "foo" diff --git a/tests/baselines/reference/instantiatedModule.types b/tests/baselines/reference/instantiatedModule.types index e9933eea804..b7072d6bb73 100644 --- a/tests/baselines/reference/instantiatedModule.types +++ b/tests/baselines/reference/instantiatedModule.types @@ -11,7 +11,7 @@ module M { export var Point = 1; >Point : number ->1 : number +>1 : 1 } // primary expression @@ -69,9 +69,9 @@ module M2 { return { x: 0, y: 0 }; >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } } } @@ -141,8 +141,8 @@ module M3 { export enum Color { Blue, Red } >Color : Color ->Blue : Color ->Red : Color +>Blue : Color.Blue +>Red : Color.Red } var m3: typeof M3; @@ -175,9 +175,9 @@ var blue: M3.Color = a3.Blue; >blue : M3.Color >M3 : any >Color : M3.Color ->a3.Blue : M3.Color +>a3.Blue : M3.Color.Blue >a3 : typeof M3.Color ->Blue : M3.Color +>Blue : M3.Color.Blue var p3: M3.Color; >p3 : M3.Color @@ -186,17 +186,17 @@ var p3: M3.Color; var p3 = M3.Color.Red; >p3 : M3.Color ->M3.Color.Red : M3.Color +>M3.Color.Red : M3.Color.Red >M3.Color : typeof M3.Color >M3 : typeof M3 >Color : typeof M3.Color ->Red : M3.Color +>Red : M3.Color.Red var p3 = m3.Color.Blue; >p3 : M3.Color ->m3.Color.Blue : M3.Color +>m3.Color.Blue : M3.Color.Blue >m3.Color : typeof M3.Color >m3 : typeof M3 >Color : typeof M3.Color ->Blue : M3.Color +>Blue : M3.Color.Blue diff --git a/tests/baselines/reference/interface0.types b/tests/baselines/reference/interface0.types index 8fd04eea83c..9a70cf066b1 100644 --- a/tests/baselines/reference/interface0.types +++ b/tests/baselines/reference/interface0.types @@ -13,5 +13,5 @@ var y: Generic = { x: 3 }; >Generic : Generic >{ x: 3 } : { x: number; } >x : number ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/interfaceClassMerging.types b/tests/baselines/reference/interfaceClassMerging.types index 0b17005c868..60712d226a4 100644 --- a/tests/baselines/reference/interfaceClassMerging.types +++ b/tests/baselines/reference/interfaceClassMerging.types @@ -32,7 +32,7 @@ class Foo { >this.method : (a: number) => string >this : this >method : (a: number) => string ->0 : number +>0 : 0 } } @@ -62,14 +62,14 @@ bar.method(0); >bar.method : (a: number) => string >bar : Bar >method : (a: number) => string ->0 : number +>0 : 0 bar.optionalMethod(1); >bar.optionalMethod(1) : string >bar.optionalMethod : (a: number) => string >bar : Bar >optionalMethod : (a: number) => string ->1 : number +>1 : 1 bar.property; >bar.property : string @@ -91,7 +91,7 @@ bar.additionalMethod(2); >bar.additionalMethod : (a: number) => string >bar : Bar >additionalMethod : (a: number) => string ->2 : number +>2 : 2 var obj: { >obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } diff --git a/tests/baselines/reference/interfaceContextualType.types b/tests/baselines/reference/interfaceContextualType.types index 0e835a2f1f9..65dda5b737f 100644 --- a/tests/baselines/reference/interfaceContextualType.types +++ b/tests/baselines/reference/interfaceContextualType.types @@ -34,31 +34,31 @@ class Bug { >{} : {} this.values['comments'] = { italic: true }; ->this.values['comments'] = { italic: true } : { italic: boolean; } +>this.values['comments'] = { italic: true } : { italic: true; } >this.values['comments'] : IOptions >this.values : IMap >this : this >values : IMap ->'comments' : string ->{ italic: true } : { italic: boolean; } +>'comments' : "comments" +>{ italic: true } : { italic: true; } >italic : boolean ->true : boolean +>true : true } shouldBeOK() { >shouldBeOK : () => void this.values = { ->this.values = { comments: { italic: true } } : { comments: { italic: boolean; }; } +>this.values = { comments: { italic: true } } : { comments: { italic: true; }; } >this.values : IMap >this : this >values : IMap ->{ comments: { italic: true } } : { comments: { italic: boolean; }; } +>{ comments: { italic: true } } : { comments: { italic: true; }; } comments: { italic: true } ->comments : { italic: boolean; } ->{ italic: true } : { italic: boolean; } +>comments : { italic: true; } +>{ italic: true } : { italic: true; } >italic : boolean ->true : boolean +>true : true }; } diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types index 7b5d60a5261..4f60c5d36cc 100644 --- a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types +++ b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types @@ -1,36 +1,36 @@ === tests/cases/conformance/types/typeAliases/interfaceDoesNotDependOnBaseTypes.ts === var x: StringTree; ->x : string | StringTreeArray ->StringTree : string | StringTreeArray +>x : StringTree +>StringTree : StringTree if (typeof x !== "string") { >typeof x !== "string" : boolean >typeof x : string ->x : string | StringTreeArray ->"string" : string +>x : StringTree +>"string" : "string" x.push(""); >x.push("") : number ->x.push : (...items: (string | StringTreeArray)[]) => number +>x.push : (...items: StringTree[]) => number >x : StringTreeArray ->push : (...items: (string | StringTreeArray)[]) => number ->"" : string +>push : (...items: StringTree[]) => number +>"" : "" x.push([""]); >x.push([""]) : number ->x.push : (...items: (string | StringTreeArray)[]) => number +>x.push : (...items: StringTree[]) => number >x : StringTreeArray ->push : (...items: (string | StringTreeArray)[]) => number +>push : (...items: StringTree[]) => number >[""] : string[] ->"" : string +>"" : "" } type StringTree = string | StringTreeArray; ->StringTree : string | StringTreeArray +>StringTree : StringTree >StringTreeArray : StringTreeArray interface StringTreeArray extends Array { } >StringTreeArray : StringTreeArray >Array : T[] ->StringTree : string | StringTreeArray +>StringTree : StringTree diff --git a/tests/baselines/reference/interfaceSubtyping.types b/tests/baselines/reference/interfaceSubtyping.types index 26a900a56b2..07c0d6446b5 100644 --- a/tests/baselines/reference/interfaceSubtyping.types +++ b/tests/baselines/reference/interfaceSubtyping.types @@ -14,6 +14,6 @@ class Camera implements iface{ } foo() { return "s"; } >foo : () => string ->"s" : string +>"s" : "s" } diff --git a/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.types b/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.types index 1110992fd52..755514680d2 100644 --- a/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.types +++ b/tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.types @@ -25,7 +25,7 @@ var r2 = f(''); >r2 : number >f('') : number >f : Foo ->'' : string +>'' : "" var r3 = new f(); >r3 : any @@ -36,5 +36,5 @@ var r4 = new f(''); >r4 : Object >new f('') : Object >f : Foo ->'' : string +>'' : "" diff --git a/tests/baselines/reference/interfaceWithPropertyOfEveryType.types b/tests/baselines/reference/interfaceWithPropertyOfEveryType.types index 7428ee73aa1..07832f23fc3 100644 --- a/tests/baselines/reference/interfaceWithPropertyOfEveryType.types +++ b/tests/baselines/reference/interfaceWithPropertyOfEveryType.types @@ -11,7 +11,7 @@ module M { export var y = 1; >y : number ->1 : number +>1 : 1 } enum E { A } >E : E @@ -80,19 +80,19 @@ interface Foo { var a: Foo = { >a : Foo >Foo : Foo ->{ a: 1, b: '', c: true, d: {}, e: null , f: [1], g: {}, h: (x: number) => 1, i: (x: T) => x, j: null, k: new C(), l: f1, m: M, n: {}, o: E.A} : { a: number; b: string; c: boolean; d: {}; e: null; f: number[]; g: {}; h: (x: number) => number; i: (x: T) => T; j: Foo; k: C; l: () => void; m: typeof M; n: {}; o: E; } +>{ a: 1, b: '', c: true, d: {}, e: null , f: [1], g: {}, h: (x: number) => 1, i: (x: T) => x, j: null, k: new C(), l: f1, m: M, n: {}, o: E.A} : { a: number; b: string; c: true; d: {}; e: null; f: number[]; g: {}; h: (x: number) => number; i: (x: T) => T; j: Foo; k: C; l: () => void; m: typeof M; n: {}; o: E; } a: 1, >a : number ->1 : number +>1 : 1 b: '', >b : string ->'' : string +>'' : "" c: true, >c : boolean ->true : boolean +>true : true d: {}, >d : {} @@ -105,7 +105,7 @@ var a: Foo = { f: [1], >f : number[] >[1] : number[] ->1 : number +>1 : 1 g: {}, >g : {} @@ -115,7 +115,7 @@ var a: Foo = { >h : (x: number) => number >(x: number) => 1 : (x: number) => number >x : number ->1 : number +>1 : 1 i: (x: T) => x, >i : (x: T) => T diff --git a/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.types b/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.types index 5288d9f15a4..b6c658e10dc 100644 --- a/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.types +++ b/tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.types @@ -30,7 +30,7 @@ var r2 = f('A'); >r2 : any >f('A') : any >f : Foo ->'A' : string +>'A' : "A" var r3 = new f('a'); >r3 : any @@ -42,5 +42,5 @@ var r4 = new f('A'); >r4 : Object >new f('A') : Object >f : Foo ->'A' : string +>'A' : "A" diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types index 58afd2071fe..155f035c6c7 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.types @@ -37,7 +37,7 @@ export module m2 { >cProp.foo : (a: number) => number >cProp : c >foo : (a: number) => number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.types index 43f612d3f44..6a0ee6fa986 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.types @@ -37,6 +37,6 @@ export module m2 { >cProp.foo : (a: number) => number >cProp : c >foo : (a: number) => number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types index 3d72c04aad6..407d0602de6 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.types @@ -31,5 +31,5 @@ var cReturnVal = cProp.foo(10); >cProp.foo : (a: number) => number >cProp : xc >foo : (a: number) => number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types index f816fdce7af..405232d72b7 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.types @@ -31,5 +31,5 @@ var cReturnVal = cProp.foo(10); >cProp.foo : (a: number) => number >cProp : xc >foo : (a: number) => number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/internalAliasEnum.types b/tests/baselines/reference/internalAliasEnum.types index 87cab6cc56d..0465dbc8841 100644 --- a/tests/baselines/reference/internalAliasEnum.types +++ b/tests/baselines/reference/internalAliasEnum.types @@ -6,13 +6,13 @@ module a { >weekend : weekend Friday, ->Friday : weekend +>Friday : weekend.Friday Saturday, ->Saturday : weekend +>Saturday : weekend.Saturday Sunday ->Sunday : weekend +>Sunday : weekend.Sunday } } @@ -27,8 +27,8 @@ module c { export var bVal: b = b.Sunday; >bVal : b >b : b ->b.Sunday : b +>b.Sunday : b.Sunday >b : typeof b ->Sunday : b +>Sunday : b.Sunday } diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types index 0d09b930f95..e35e5db5b47 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types @@ -6,13 +6,13 @@ export module a { >weekend : weekend Friday, ->Friday : weekend +>Friday : weekend.Friday Saturday, ->Saturday : weekend +>Saturday : weekend.Saturday Sunday ->Sunday : weekend +>Sunday : weekend.Sunday } } @@ -27,8 +27,8 @@ export module c { export var bVal: b = b.Sunday; >bVal : b >b : b ->b.Sunday : b +>b.Sunday : b.Sunday >b : typeof b ->Sunday : b +>Sunday : b.Sunday } diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types index 881e51324af..f063bb24352 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types @@ -6,13 +6,13 @@ export module a { >weekend : weekend Friday, ->Friday : weekend +>Friday : weekend.Friday Saturday, ->Saturday : weekend +>Saturday : weekend.Saturday Sunday ->Sunday : weekend +>Sunday : weekend.Sunday } } @@ -27,8 +27,8 @@ export module c { export var bVal: b = b.Sunday; >bVal : b >b : b ->b.Sunday : b +>b.Sunday : b.Sunday >b : typeof b ->Sunday : b +>Sunday : b.Sunday } diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types index 8458d885738..f49f4c74215 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types @@ -6,13 +6,13 @@ export module a { >weekend : weekend Friday, ->Friday : weekend +>Friday : weekend.Friday Saturday, ->Saturday : weekend +>Saturday : weekend.Saturday Sunday ->Sunday : weekend +>Sunday : weekend.Sunday } } @@ -24,7 +24,7 @@ export import b = a.weekend; export var bVal: b = b.Sunday; >bVal : b >b : b ->b.Sunday : b +>b.Sunday : b.Sunday >b : typeof b ->Sunday : b +>Sunday : b.Sunday diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types index 6e75bd81bdf..209dba7aed1 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types @@ -6,13 +6,13 @@ export module a { >weekend : weekend Friday, ->Friday : weekend +>Friday : weekend.Friday Saturday, ->Saturday : weekend +>Saturday : weekend.Saturday Sunday ->Sunday : weekend +>Sunday : weekend.Sunday } } @@ -24,7 +24,7 @@ import b = a.weekend; export var bVal: b = b.Sunday; >bVal : b >b : b ->b.Sunday : b +>b.Sunday : b.Sunday >b : typeof b ->Sunday : b +>Sunday : b.Sunday diff --git a/tests/baselines/reference/internalAliasFunction.types b/tests/baselines/reference/internalAliasFunction.types index d67535c76f7..92e0fd11aa8 100644 --- a/tests/baselines/reference/internalAliasFunction.types +++ b/tests/baselines/reference/internalAliasFunction.types @@ -23,7 +23,7 @@ module c { >bVal : number >b(10) : number >b : (x: number) => number ->10 : number +>10 : 10 export var bVal2 = b; >bVal2 : (x: number) => number diff --git a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.types index 928d8530228..275d7467ca5 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.types @@ -23,7 +23,7 @@ export module c { >bVal : number >b(10) : number >b : (x: number) => number ->10 : number +>10 : 10 export var bVal2 = b; >bVal2 : (x: number) => number diff --git a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.types index 630be11c71e..45e72ff89c5 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.types @@ -23,7 +23,7 @@ export module c { >bVal : number >b(10) : number >b : (x: number) => number ->10 : number +>10 : 10 export var bVal2 = b; >bVal2 : (x: number) => number diff --git a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.types index c1e9f9af3d7..078b595651d 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.types @@ -20,7 +20,7 @@ export var bVal = b(10); >bVal : number >b(10) : number >b : (x: number) => number ->10 : number +>10 : 10 export var bVal2 = b; >bVal2 : (x: number) => number diff --git a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.types index bca35e33dec..2bab16ff814 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.types @@ -20,7 +20,7 @@ export var bVal = b(10); >bVal : number >b(10) : number >b : (x: number) => number ->10 : number +>10 : 10 export var bVal2 = b; >bVal2 : (x: number) => number diff --git a/tests/baselines/reference/internalAliasVar.types b/tests/baselines/reference/internalAliasVar.types index 59da851b569..40897b403f0 100644 --- a/tests/baselines/reference/internalAliasVar.types +++ b/tests/baselines/reference/internalAliasVar.types @@ -4,7 +4,7 @@ module a { export var x = 10; >x : number ->10 : number +>10 : 10 } module c { diff --git a/tests/baselines/reference/internalAliasVarInsideLocalModuleWithExport.types b/tests/baselines/reference/internalAliasVarInsideLocalModuleWithExport.types index 995c24bc382..5527b00e47e 100644 --- a/tests/baselines/reference/internalAliasVarInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasVarInsideLocalModuleWithExport.types @@ -4,7 +4,7 @@ export module a { export var x = 10; >x : number ->10 : number +>10 : 10 } export module c { diff --git a/tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExport.types b/tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExport.types index 5e322f8483c..fe8f6fb54ea 100644 --- a/tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExport.types @@ -4,7 +4,7 @@ export module a { export var x = 10; >x : number ->10 : number +>10 : 10 } export module c { diff --git a/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithExport.types b/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithExport.types index 199de9cae51..41245f5b05e 100644 --- a/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithExport.types @@ -4,7 +4,7 @@ export module a { export var x = 10; >x : number ->10 : number +>10 : 10 } export import b = a.x; diff --git a/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithoutExport.types b/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithoutExport.types index d7a7309ccb4..e05e20108b2 100644 --- a/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithoutExport.types @@ -4,7 +4,7 @@ export module a { export var x = 10; >x : number ->10 : number +>10 : 10 } import b = a.x; diff --git a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types index e0548f1f867..f7949e5a3fe 100644 --- a/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.types @@ -14,7 +14,7 @@ module A { export var a = 10; >a : number ->10 : number +>10 : 10 } module B { diff --git a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types index 1226ca3cbc4..856b61b66d7 100644 --- a/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types +++ b/tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.types @@ -12,7 +12,7 @@ module B { var A = 1; >A : number ->1 : number +>1 : 1 import Y = A; >Y : any diff --git a/tests/baselines/reference/intersectionTypeInference1.types b/tests/baselines/reference/intersectionTypeInference1.types index b74b2d2a453..9417f633361 100644 --- a/tests/baselines/reference/intersectionTypeInference1.types +++ b/tests/baselines/reference/intersectionTypeInference1.types @@ -37,5 +37,5 @@ export const Form3 = brokenFunction(parameterFn)({store: "hello"}) >parameterFn : (props: { store: string; }) => void >{store: "hello"} : { store: string; } >store : string ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/intersectionTypeMembers.types b/tests/baselines/reference/intersectionTypeMembers.types index 2c4fbcc5fc1..4d1da7eab73 100644 --- a/tests/baselines/reference/intersectionTypeMembers.types +++ b/tests/baselines/reference/intersectionTypeMembers.types @@ -21,25 +21,25 @@ var abc: A & B & C; >C : C abc.a = "hello"; ->abc.a = "hello" : string +>abc.a = "hello" : "hello" >abc.a : string >abc : A & B & C >a : string ->"hello" : string +>"hello" : "hello" abc.b = "hello"; ->abc.b = "hello" : string +>abc.b = "hello" : "hello" >abc.b : string >abc : A & B & C >b : string ->"hello" : string +>"hello" : "hello" abc.c = "hello"; ->abc.c = "hello" : string +>abc.c = "hello" : "hello" >abc.c : string >abc : A & B & C >c : string ->"hello" : string +>"hello" : "hello" interface X { x: A } >X : X @@ -63,56 +63,56 @@ var xyz: X & Y & Z; >Z : Z xyz.x.a = "hello"; ->xyz.x.a = "hello" : string +>xyz.x.a = "hello" : "hello" >xyz.x.a : string >xyz.x : A & B & C >xyz : X & Y & Z >x : A & B & C >a : string ->"hello" : string +>"hello" : "hello" xyz.x.b = "hello"; ->xyz.x.b = "hello" : string +>xyz.x.b = "hello" : "hello" >xyz.x.b : string >xyz.x : A & B & C >xyz : X & Y & Z >x : A & B & C >b : string ->"hello" : string +>"hello" : "hello" xyz.x.c = "hello"; ->xyz.x.c = "hello" : string +>xyz.x.c = "hello" : "hello" >xyz.x.c : string >xyz.x : A & B & C >xyz : X & Y & Z >x : A & B & C >c : string ->"hello" : string +>"hello" : "hello" type F1 = (x: string) => string; ->F1 : (x: string) => string +>F1 : F1 >x : string type F2 = (x: number) => number; ->F2 : (x: number) => number +>F2 : F2 >x : number var f: F1 & F2; ->f : ((x: string) => string) & ((x: number) => number) ->F1 : (x: string) => string ->F2 : (x: number) => number +>f : F1 & F2 +>F1 : F1 +>F2 : F2 var s = f("hello"); >s : string >f("hello") : string ->f : ((x: string) => string) & ((x: number) => number) ->"hello" : string +>f : F1 & F2 +>"hello" : "hello" var n = f(42); >n : number >f(42) : number ->f : ((x: string) => string) & ((x: number) => number) ->42 : number +>f : F1 & F2 +>42 : 42 interface D { >D : D @@ -150,24 +150,24 @@ const de: D & E = { d: 'yes', >d : string ->'yes' : string +>'yes' : "yes" f: 'no' >f : string ->'no' : string +>'no' : "no" }, different: { e: 12 }, >different : { e: number; } >{ e: 12 } : { e: number; } >e : number ->12 : number +>12 : 12 other: { g: 101 } >other : { g: number; } >{ g: 101 } : { g: number; } >g : number ->101 : number +>101 : 101 } } diff --git a/tests/baselines/reference/intersectionTypeOverloading.types b/tests/baselines/reference/intersectionTypeOverloading.types index c478b6a08cb..8afa23ecb29 100644 --- a/tests/baselines/reference/intersectionTypeOverloading.types +++ b/tests/baselines/reference/intersectionTypeOverloading.types @@ -3,28 +3,28 @@ // overload resolution type F = (s: string) => string; ->F : (s: string) => string +>F : F >s : string type G = (x: any) => any; ->G : (x: any) => any +>G : G >x : any var fg: F & G; ->fg : ((s: string) => string) & ((x: any) => any) ->F : (s: string) => string ->G : (x: any) => any +>fg : F & G +>F : F +>G : G var gf: G & F; ->gf : ((x: any) => any) & ((s: string) => string) ->G : (x: any) => any ->F : (s: string) => string +>gf : G & F +>G : G +>F : F var x = fg("abc"); >x : string >fg("abc") : string ->fg : ((s: string) => string) & ((x: any) => any) ->"abc" : string +>fg : F & G +>"abc" : "abc" var x: string; >x : string @@ -32,8 +32,8 @@ var x: string; var y = gf("abc"); >y : any >gf("abc") : any ->gf : ((x: any) => any) & ((s: string) => string) ->"abc" : string +>gf : G & F +>"abc" : "abc" var y: any; >y : any diff --git a/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt b/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt index 3ac4f122e58..4b9b316e010 100644 --- a/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt +++ b/tests/baselines/reference/invalidAssignmentsToVoid.errors.txt @@ -1,6 +1,6 @@ -tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(2,1): error TS2322: Type 'number' is not assignable to type 'void'. -tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(3,1): error TS2322: Type 'boolean' is not assignable to type 'void'. -tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(4,1): error TS2322: Type 'string' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(2,1): error TS2322: Type '1' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(3,1): error TS2322: Type 'true' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(4,1): error TS2322: Type '""' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(5,1): error TS2322: Type '{}' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(9,1): error TS2322: Type 'typeof C' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(10,1): error TS2322: Type 'C' is not assignable to type 'void'. @@ -14,13 +14,13 @@ tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts(22,1): var x: void; x = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'void'. +!!! error TS2322: Type '1' is not assignable to type 'void'. x = true; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'void'. +!!! error TS2322: Type 'true' is not assignable to type 'void'. x = ''; ~ -!!! error TS2322: Type 'string' is not assignable to type 'void'. +!!! error TS2322: Type '""' is not assignable to type 'void'. x = {} ~ !!! error TS2322: Type '{}' is not assignable to type 'void'. diff --git a/tests/baselines/reference/invalidBooleanAssignments.errors.txt b/tests/baselines/reference/invalidBooleanAssignments.errors.txt index 99d32aff9bc..7963197a003 100644 --- a/tests/baselines/reference/invalidBooleanAssignments.errors.txt +++ b/tests/baselines/reference/invalidBooleanAssignments.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(3,5): error TS2322: Type 'boolean' is not assignable to type 'number'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(4,5): error TS2322: Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(5,5): error TS2322: Type 'boolean' is not assignable to type 'void'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(9,5): error TS2322: Type 'boolean' is not assignable to type 'E'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(12,5): error TS2322: Type 'boolean' is not assignable to type 'C'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(15,5): error TS2322: Type 'boolean' is not assignable to type 'I'. -tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(17,5): error TS2322: Type 'boolean' is not assignable to type '() => string'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(3,5): error TS2322: Type 'true' is not assignable to type 'number'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(4,5): error TS2322: Type 'true' is not assignable to type 'string'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(5,5): error TS2322: Type 'true' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(9,5): error TS2322: Type 'true' is not assignable to type 'E'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(12,5): error TS2322: Type 'true' is not assignable to type 'C'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(15,5): error TS2322: Type 'true' is not assignable to type 'I'. +tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(17,5): error TS2322: Type 'true' is not assignable to type '() => string'. tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(21,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(24,5): error TS2322: Type 'boolean' is not assignable to type 'T'. tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(26,1): error TS2364: Invalid left-hand side of assignment expression. @@ -15,33 +15,33 @@ tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts(26 var a: number = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'number'. +!!! error TS2322: Type 'true' is not assignable to type 'number'. var b: string = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2322: Type 'true' is not assignable to type 'string'. var c: void = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'void'. +!!! error TS2322: Type 'true' is not assignable to type 'void'. var d: typeof undefined = x; enum E { A } var e: E = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'E'. +!!! error TS2322: Type 'true' is not assignable to type 'E'. class C { foo: string } var f: C = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'C'. +!!! error TS2322: Type 'true' is not assignable to type 'C'. interface I { bar: string } var g: I = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'I'. +!!! error TS2322: Type 'true' is not assignable to type 'I'. var h: { (): string } = x; ~ -!!! error TS2322: Type 'boolean' is not assignable to type '() => string'. +!!! error TS2322: Type 'true' is not assignable to type '() => string'. var h2: { toString(): string } = x; // no error module M { export var a = 1; } diff --git a/tests/baselines/reference/invalidEnumAssignments.errors.txt b/tests/baselines/reference/invalidEnumAssignments.errors.txt index 962e4bf62d5..e769a829c97 100644 --- a/tests/baselines/reference/invalidEnumAssignments.errors.txt +++ b/tests/baselines/reference/invalidEnumAssignments.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(14,1): error TS2322: Type 'E2' is not assignable to type 'E'. -tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(15,1): error TS2322: Type 'E' is not assignable to type 'E2'. +tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(14,1): error TS2322: Type 'E2.A' is not assignable to type 'E'. +tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(15,1): error TS2322: Type 'E.A' is not assignable to type 'E2'. tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(16,1): error TS2322: Type 'void' is not assignable to type 'E'. tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(17,1): error TS2322: Type '{}' is not assignable to type 'E'. -tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(18,1): error TS2322: Type 'string' is not assignable to type 'E'. +tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(18,1): error TS2322: Type '""' is not assignable to type 'E'. tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(21,5): error TS2322: Type 'T' is not assignable to type 'E'. @@ -22,10 +22,10 @@ tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(21,5): e e = E2.A; ~ -!!! error TS2322: Type 'E2' is not assignable to type 'E'. +!!! error TS2322: Type 'E2.A' is not assignable to type 'E'. e2 = E.A; ~~ -!!! error TS2322: Type 'E' is not assignable to type 'E2'. +!!! error TS2322: Type 'E.A' is not assignable to type 'E2'. e = null; ~ !!! error TS2322: Type 'void' is not assignable to type 'E'. @@ -34,7 +34,7 @@ tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts(21,5): e !!! error TS2322: Type '{}' is not assignable to type 'E'. e = ''; ~ -!!! error TS2322: Type 'string' is not assignable to type 'E'. +!!! error TS2322: Type '""' is not assignable to type 'E'. function f(a: T) { e = a; diff --git a/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt b/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt index fb29c829947..afe7472570d 100644 --- a/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt +++ b/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt @@ -1,10 +1,9 @@ tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts(5,12): error TS2503: Cannot find namespace 'V'. tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts(11,12): error TS2503: Cannot find namespace 'C'. -tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts(17,12): error TS2503: Cannot find namespace 'E'. tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts(23,12): error TS2503: Cannot find namespace 'I'. -==== tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts (4 errors) ==== +==== tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts (3 errors) ==== // none of these should work, since non are actually modules var V = 12; @@ -26,8 +25,6 @@ tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIde } import e = E; - ~ -!!! error TS2503: Cannot find namespace 'E'. interface I { id: number; diff --git a/tests/baselines/reference/invalidLetInForOfAndForIn_ES5.js b/tests/baselines/reference/invalidLetInForOfAndForIn_ES5.js index 729cb246a85..b9f4c126015 100644 --- a/tests/baselines/reference/invalidLetInForOfAndForIn_ES5.js +++ b/tests/baselines/reference/invalidLetInForOfAndForIn_ES5.js @@ -14,5 +14,5 @@ for (let in [1,2,3]) {} // This should be an error // More details: http://www.ecma-international.org/ecma-262/6.0/#sec-iteration-statements var let = 10; -for (let of = [1, 2, 3], { }; ; ) - for ( in [1, 2, 3]) { } +for (let of = [1, 2, 3], {}; ; ) + for (let in [1, 2, 3]) { } diff --git a/tests/baselines/reference/invalidLetInForOfAndForIn_ES6.js b/tests/baselines/reference/invalidLetInForOfAndForIn_ES6.js index 93258d6b225..be59a37d1a8 100644 --- a/tests/baselines/reference/invalidLetInForOfAndForIn_ES6.js +++ b/tests/baselines/reference/invalidLetInForOfAndForIn_ES6.js @@ -14,5 +14,5 @@ for (let in [1,2,3]) {} // This should be an error // More details: http://www.ecma-international.org/ecma-262/6.0/#sec-iteration-statements var let = 10; -for (let of = [1, 2, 3], { }; ; ) - for ( in [1, 2, 3]) { } +for (let of = [1, 2, 3], {}; ; ) + for (let in [1, 2, 3]) { } diff --git a/tests/baselines/reference/invalidModuleWithVarStatements.js b/tests/baselines/reference/invalidModuleWithVarStatements.js index caa6b24f00f..ce5fbd54ed1 100644 --- a/tests/baselines/reference/invalidModuleWithVarStatements.js +++ b/tests/baselines/reference/invalidModuleWithVarStatements.js @@ -39,11 +39,11 @@ var Y2; })(Y2 || (Y2 = {})); var Y4; (function (Y4) { - var x = 0; + static var x = 0; })(Y4 || (Y4 = {})); var YY; (function (YY) { - function fn(x) { } + static function fn(x) { } })(YY || (YY = {})); var YY2; (function (YY2) { diff --git a/tests/baselines/reference/invalidNumberAssignments.errors.txt b/tests/baselines/reference/invalidNumberAssignments.errors.txt index fd8acaba032..23f308830ff 100644 --- a/tests/baselines/reference/invalidNumberAssignments.errors.txt +++ b/tests/baselines/reference/invalidNumberAssignments.errors.txt @@ -3,8 +3,8 @@ tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(4,5) tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(5,5): error TS2322: Type 'number' is not assignable to type 'void'. tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(9,5): error TS2322: Type 'number' is not assignable to type 'C'. tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(12,5): error TS2322: Type 'number' is not assignable to type 'I'. -tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(14,5): error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. -tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(15,5): error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(14,5): error TS2322: Type '1' is not assignable to type '{ baz: string; }'. +tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(15,5): error TS2322: Type '1' is not assignable to type '{ 0: number; }'. tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(18,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(21,5): error TS2322: Type 'number' is not assignable to type 'T'. tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(23,1): error TS2364: Invalid left-hand side of assignment expression. @@ -36,10 +36,10 @@ tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts(23,1 var g: { baz: string } = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. +!!! error TS2322: Type '1' is not assignable to type '{ baz: string; }'. var g2: { 0: number } = 1; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +!!! error TS2322: Type '1' is not assignable to type '{ 0: number; }'. module M { export var x = 1; } M = x; diff --git a/tests/baselines/reference/invalidSplice.types b/tests/baselines/reference/invalidSplice.types index 1e3b42ff551..876846d3da9 100644 --- a/tests/baselines/reference/invalidSplice.types +++ b/tests/baselines/reference/invalidSplice.types @@ -5,8 +5,8 @@ var arr = [].splice(0,3,4,5); >[].splice : { (start: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } >[] : undefined[] >splice : { (start: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } ->0 : number ->3 : number ->4 : number ->5 : number +>0 : 0 +>3 : 3 +>4 : 4 +>5 : 5 diff --git a/tests/baselines/reference/invalidStaticField.js b/tests/baselines/reference/invalidStaticField.js index dc582e830c7..08a06d5ee27 100644 --- a/tests/baselines/reference/invalidStaticField.js +++ b/tests/baselines/reference/invalidStaticField.js @@ -12,6 +12,6 @@ var A = (function () { var B = (function () { function B() { } - B.NOT_NULL = new B(); return B; }()); +B.NOT_NULL = new B(); diff --git a/tests/baselines/reference/invalidStringAssignments.errors.txt b/tests/baselines/reference/invalidStringAssignments.errors.txt index d7ac2134dc1..b37c56e8a40 100644 --- a/tests/baselines/reference/invalidStringAssignments.errors.txt +++ b/tests/baselines/reference/invalidStringAssignments.errors.txt @@ -3,8 +3,8 @@ tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(4,5) tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(5,5): error TS2322: Type 'string' is not assignable to type 'void'. tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(9,5): error TS2322: Type 'string' is not assignable to type 'C'. tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(12,5): error TS2322: Type 'string' is not assignable to type 'I'. -tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(14,5): error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. -tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(15,5): error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(14,5): error TS2322: Type '1' is not assignable to type '{ baz: string; }'. +tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(15,5): error TS2322: Type '1' is not assignable to type '{ 0: number; }'. tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(18,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(21,5): error TS2322: Type 'string' is not assignable to type 'T'. tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(23,1): error TS2364: Invalid left-hand side of assignment expression. @@ -37,10 +37,10 @@ tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts(26,5 var g: { baz: string } = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. +!!! error TS2322: Type '1' is not assignable to type '{ baz: string; }'. var g2: { 0: number } = 1; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +!!! error TS2322: Type '1' is not assignable to type '{ 0: number; }'. module M { export var x = 1; } M = x; diff --git a/tests/baselines/reference/invalidSwitchBreakStatement.errors.txt b/tests/baselines/reference/invalidSwitchBreakStatement.errors.txt new file mode 100644 index 00000000000..31715e3fc0b --- /dev/null +++ b/tests/baselines/reference/invalidSwitchBreakStatement.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/statements/breakStatements/invalidSwitchBreakStatement.ts(4,10): error TS2678: Type '5' is not comparable to type '12'. + + +==== tests/cases/conformance/statements/breakStatements/invalidSwitchBreakStatement.ts (1 errors) ==== + // break is not allowed in a switch statement + + switch (12) { + case 5: + ~ +!!! error TS2678: Type '5' is not comparable to type '12'. + break; + } + \ No newline at end of file diff --git a/tests/baselines/reference/invalidSwitchBreakStatement.types b/tests/baselines/reference/invalidSwitchBreakStatement.types index 3544da72489..fd0ad2699a0 100644 --- a/tests/baselines/reference/invalidSwitchBreakStatement.types +++ b/tests/baselines/reference/invalidSwitchBreakStatement.types @@ -5,7 +5,7 @@ switch (12) { >12 : number case 5: ->5 : number +>5 : 5 break; } diff --git a/tests/baselines/reference/invalidSwitchContinueStatement.errors.txt b/tests/baselines/reference/invalidSwitchContinueStatement.errors.txt index 9b86b019a7c..b5231d5948b 100644 --- a/tests/baselines/reference/invalidSwitchContinueStatement.errors.txt +++ b/tests/baselines/reference/invalidSwitchContinueStatement.errors.txt @@ -1,11 +1,14 @@ +tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts(4,10): error TS2678: Type '5' is not comparable to type '12'. tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts(5,9): error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. -==== tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts (1 errors) ==== +==== tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts (2 errors) ==== // continue is not allowed in a switch statement switch (12) { case 5: + ~ +!!! error TS2678: Type '5' is not comparable to type '12'. continue; ~~~~~~~~~ !!! error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. diff --git a/tests/baselines/reference/invalidTryStatements2.js b/tests/baselines/reference/invalidTryStatements2.js index 1b2976dc4e7..118b607817a 100644 --- a/tests/baselines/reference/invalidTryStatements2.js +++ b/tests/baselines/reference/invalidTryStatements2.js @@ -44,7 +44,7 @@ function fn2() { } finally { } // error missing try try { - } // error missing try + } catch (x) { } // error missing try // no error try { diff --git a/tests/baselines/reference/invalidTypeOfTarget.js b/tests/baselines/reference/invalidTypeOfTarget.js index 52b39f3c76a..9945af643e6 100644 --- a/tests/baselines/reference/invalidTypeOfTarget.js +++ b/tests/baselines/reference/invalidTypeOfTarget.js @@ -10,7 +10,7 @@ var x8: typeof /123/; //// [invalidTypeOfTarget.js] var x1 = {}; -var x2 = ; +var x2 = function () { return ; }; var x3 = 1; var x4 = ''; var x5; diff --git a/tests/baselines/reference/invalidUndefinedValues.types b/tests/baselines/reference/invalidUndefinedValues.types index b88c2021618..b873f575263 100644 --- a/tests/baselines/reference/invalidUndefinedValues.types +++ b/tests/baselines/reference/invalidUndefinedValues.types @@ -4,19 +4,19 @@ var x: typeof undefined; >undefined : undefined x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 x = ''; ->x = '' : string +>x = '' : "" >x : any ->'' : string +>'' : "" x = true; ->x = true : boolean +>x = true : true >x : any ->true : boolean +>true : true var a: void; >a : void @@ -65,7 +65,7 @@ x = c; module M { export var x = 1; } >M : typeof M >x : number ->1 : number +>1 : 1 x = M; >x = M : typeof M diff --git a/tests/baselines/reference/invalidVoidAssignments.errors.txt b/tests/baselines/reference/invalidVoidAssignments.errors.txt index af8cec62672..de19fc3a218 100644 --- a/tests/baselines/reference/invalidVoidAssignments.errors.txt +++ b/tests/baselines/reference/invalidVoidAssignments.errors.txt @@ -3,8 +3,8 @@ tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(4,5): er tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(5,5): error TS2322: Type 'void' is not assignable to type 'number'. tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(9,5): error TS2322: Type 'void' is not assignable to type 'C'. tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(12,5): error TS2322: Type 'void' is not assignable to type 'I'. -tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(14,5): error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. -tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(15,5): error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(14,5): error TS2322: Type '1' is not assignable to type '{ baz: string; }'. +tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(15,5): error TS2322: Type '1' is not assignable to type '{ 0: number; }'. tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(18,1): error TS2364: Invalid left-hand side of assignment expression. tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(21,5): error TS2322: Type 'void' is not assignable to type 'T'. tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(23,1): error TS2364: Invalid left-hand side of assignment expression. @@ -39,10 +39,10 @@ tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts(29,1): e var g: { baz: string } = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type '{ baz: string; }'. +!!! error TS2322: Type '1' is not assignable to type '{ baz: string; }'. var g2: { 0: number } = 1; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ 0: number; }'. +!!! error TS2322: Type '1' is not assignable to type '{ 0: number; }'. module M { export var x = 1; } M = x; diff --git a/tests/baselines/reference/invalidVoidValues.errors.txt b/tests/baselines/reference/invalidVoidValues.errors.txt index eb5ddd02259..8fc015f692f 100644 --- a/tests/baselines/reference/invalidVoidValues.errors.txt +++ b/tests/baselines/reference/invalidVoidValues.errors.txt @@ -1,6 +1,6 @@ -tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(2,1): error TS2322: Type 'number' is not assignable to type 'void'. -tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(3,1): error TS2322: Type 'string' is not assignable to type 'void'. -tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(4,1): error TS2322: Type 'boolean' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(2,1): error TS2322: Type '1' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(3,1): error TS2322: Type '""' is not assignable to type 'void'. +tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(4,1): error TS2322: Type 'true' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(7,1): error TS2322: Type 'typeof E' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(8,1): error TS2322: Type 'E' is not assignable to type 'void'. tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(12,1): error TS2322: Type 'C' is not assignable to type 'void'. @@ -15,13 +15,13 @@ tests/cases/conformance/types/primitives/void/invalidVoidValues.ts(26,1): error var x: void; x = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'void'. +!!! error TS2322: Type '1' is not assignable to type 'void'. x = ''; ~ -!!! error TS2322: Type 'string' is not assignable to type 'void'. +!!! error TS2322: Type '""' is not assignable to type 'void'. x = true; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'void'. +!!! error TS2322: Type 'true' is not assignable to type 'void'. enum E { A } x = E; diff --git a/tests/baselines/reference/invocationExpressionInFunctionParameter.errors.txt b/tests/baselines/reference/invocationExpressionInFunctionParameter.errors.txt index b38ed09f47e..e887d564df4 100644 --- a/tests/baselines/reference/invocationExpressionInFunctionParameter.errors.txt +++ b/tests/baselines/reference/invocationExpressionInFunctionParameter.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/invocationExpressionInFunctionParameter.ts(3,24): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/invocationExpressionInFunctionParameter.ts(3,24): error TS2345: Argument of type '123' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/invocationExpressionInFunctionParameter.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/invocationExpressionInFunctionParameter.ts(3,24): error TS2 } function foo3(x = foo1(123)) { //should error, 123 is not string ~~~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '123' is not assignable to parameter of type 'string'. } \ No newline at end of file diff --git a/tests/baselines/reference/ipromise2.types b/tests/baselines/reference/ipromise2.types index b52c3460dd4..e643bd7da4b 100644 --- a/tests/baselines/reference/ipromise2.types +++ b/tests/baselines/reference/ipromise2.types @@ -112,7 +112,7 @@ var p2 = p.then(function (s) { >s : string return 34; ->34 : number +>34 : 34 } ); diff --git a/tests/baselines/reference/ipromise4.types b/tests/baselines/reference/ipromise4.types index b12c47c7ed5..32461326c56 100644 --- a/tests/baselines/reference/ipromise4.types +++ b/tests/baselines/reference/ipromise4.types @@ -116,7 +116,7 @@ p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // s >then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return "hello"; } : (x: number) => string >x : number ->"hello" : string +>"hello" : "hello" >then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return x } : (x: string) => string >x : string diff --git a/tests/baselines/reference/isLiteral1.types b/tests/baselines/reference/isLiteral1.types index 7ef84568f86..ae512e8bcb1 100644 --- a/tests/baselines/reference/isLiteral1.types +++ b/tests/baselines/reference/isLiteral1.types @@ -1,5 +1,5 @@ === tests/cases/compiler/isLiteral1.ts === var x: number = 02343; >x : number ->02343 : number +>02343 : 2343 diff --git a/tests/baselines/reference/isLiteral2.types b/tests/baselines/reference/isLiteral2.types index ab62993fab6..7ee40a96272 100644 --- a/tests/baselines/reference/isLiteral2.types +++ b/tests/baselines/reference/isLiteral2.types @@ -1,5 +1,5 @@ === tests/cases/compiler/isLiteral2.ts === var x: number = 02343 >x : number ->02343 : number +>02343 : 2343 diff --git a/tests/baselines/reference/isolatedModulesNonAmbientConstEnum.types b/tests/baselines/reference/isolatedModulesNonAmbientConstEnum.types index 4583a1c0730..0412a79c479 100644 --- a/tests/baselines/reference/isolatedModulesNonAmbientConstEnum.types +++ b/tests/baselines/reference/isolatedModulesNonAmbientConstEnum.types @@ -3,7 +3,7 @@ const enum E { X = 100 }; >E : E >X : E ->100 : number +>100 : 100 var e = E.X; >e : E diff --git a/tests/baselines/reference/isolatedModulesPlainFile-System.js b/tests/baselines/reference/isolatedModulesPlainFile-System.js index 39320759740..39b648e071a 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-System.js +++ b/tests/baselines/reference/isolatedModulesPlainFile-System.js @@ -5,13 +5,13 @@ run(1); //// [isolatedModulesPlainFile-System.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { run(1); } - } + }; }); diff --git a/tests/baselines/reference/isolatedModulesPlainFile-UMD.js b/tests/baselines/reference/isolatedModulesPlainFile-UMD.js index 08ec75c48f0..ecc8ade69b7 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-UMD.js +++ b/tests/baselines/reference/isolatedModulesPlainFile-UMD.js @@ -5,14 +5,14 @@ run(1); //// [isolatedModulesPlainFile-UMD.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; run(1); }); diff --git a/tests/baselines/reference/isolatedModulesSourceMap.js.map b/tests/baselines/reference/isolatedModulesSourceMap.js.map index a6778476dda..6c99c273797 100644 --- a/tests/baselines/reference/isolatedModulesSourceMap.js.map +++ b/tests/baselines/reference/isolatedModulesSourceMap.js.map @@ -1,2 +1,2 @@ //// [file1.js.map] -{"version":3,"file":"file1.js","sourceRoot":"","sources":["file1.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"file1.js","sourceRoot":"","sources":["file1.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesSourceMap.sourcemap.txt b/tests/baselines/reference/isolatedModulesSourceMap.sourcemap.txt index 57f604125d3..a9b2d98d967 100644 --- a/tests/baselines/reference/isolatedModulesSourceMap.sourcemap.txt +++ b/tests/baselines/reference/isolatedModulesSourceMap.sourcemap.txt @@ -10,27 +10,30 @@ sourceFile:file1.ts ------------------------------------------------------------------- >>>export var x = 1; 1 > -2 >^^^^^^^ -3 > ^^^^ -4 > ^ -5 > ^^^ -6 > ^ -7 > ^ -8 > ^^^^^^^^^^^^^^^-> +2 >^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^ +6 > ^^^ +7 > ^ +8 > ^ +9 > ^^^^^^^^^^^^^^^-> 1 > > -2 >export -3 > var -4 > x -5 > = -6 > 1 -7 > ; +2 >export +3 > +4 > var +5 > x +6 > = +7 > 1 +8 > ; 1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(1, 8) Source(2, 8) + SourceIndex(0) -3 >Emitted(1, 12) Source(2, 12) + SourceIndex(0) -4 >Emitted(1, 13) Source(2, 13) + SourceIndex(0) -5 >Emitted(1, 16) Source(2, 16) + SourceIndex(0) -6 >Emitted(1, 17) Source(2, 17) + SourceIndex(0) -7 >Emitted(1, 18) Source(2, 18) + SourceIndex(0) +2 >Emitted(1, 7) Source(2, 7) + SourceIndex(0) +3 >Emitted(1, 8) Source(2, 8) + SourceIndex(0) +4 >Emitted(1, 12) Source(2, 12) + SourceIndex(0) +5 >Emitted(1, 13) Source(2, 13) + SourceIndex(0) +6 >Emitted(1, 16) Source(2, 16) + SourceIndex(0) +7 >Emitted(1, 17) Source(2, 17) + SourceIndex(0) +8 >Emitted(1, 18) Source(2, 18) + SourceIndex(0) --- >>>//# sourceMappingURL=file1.js.map \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesSourceMap.types b/tests/baselines/reference/isolatedModulesSourceMap.types index d2a474c023d..2ac7b1f2f65 100644 --- a/tests/baselines/reference/isolatedModulesSourceMap.types +++ b/tests/baselines/reference/isolatedModulesSourceMap.types @@ -2,5 +2,5 @@ export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/iterableArrayPattern1.types b/tests/baselines/reference/iterableArrayPattern1.types index a2c9807d26a..816ce7ac6cf 100644 --- a/tests/baselines/reference/iterableArrayPattern1.types +++ b/tests/baselines/reference/iterableArrayPattern1.types @@ -21,7 +21,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern11.types b/tests/baselines/reference/iterableArrayPattern11.types index 5ec182ec397..0acadd7cfc8 100644 --- a/tests/baselines/reference/iterableArrayPattern11.types +++ b/tests/baselines/reference/iterableArrayPattern11.types @@ -37,7 +37,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern12.types b/tests/baselines/reference/iterableArrayPattern12.types index 89af4d47d01..c00e1daae81 100644 --- a/tests/baselines/reference/iterableArrayPattern12.types +++ b/tests/baselines/reference/iterableArrayPattern12.types @@ -37,7 +37,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern13.types b/tests/baselines/reference/iterableArrayPattern13.types index e8873a74b72..04dab57748d 100644 --- a/tests/baselines/reference/iterableArrayPattern13.types +++ b/tests/baselines/reference/iterableArrayPattern13.types @@ -35,7 +35,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern2.types b/tests/baselines/reference/iterableArrayPattern2.types index 48f44443591..63786a1d351 100644 --- a/tests/baselines/reference/iterableArrayPattern2.types +++ b/tests/baselines/reference/iterableArrayPattern2.types @@ -21,7 +21,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern29.errors.txt b/tests/baselines/reference/iterableArrayPattern29.errors.txt index b34d0317d57..29e5d0d2a3f 100644 --- a/tests/baselines/reference/iterableArrayPattern29.errors.txt +++ b/tests/baselines/reference/iterableArrayPattern29.errors.txt @@ -1,7 +1,6 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern29.ts(1,33): error TS2501: A rest element cannot contain a binding pattern. tests/cases/conformance/es6/destructuring/iterableArrayPattern29.ts(2,21): error TS2345: Argument of type '[string, boolean]' is not assignable to parameter of type '[string, number]'. - Types of property '1' are incompatible. - Type 'boolean' is not assignable to type 'number'. + Type 'boolean' is not assignable to type 'number'. ==== tests/cases/conformance/es6/destructuring/iterableArrayPattern29.ts (2 errors) ==== @@ -11,5 +10,4 @@ tests/cases/conformance/es6/destructuring/iterableArrayPattern29.ts(2,21): error takeFirstTwoEntries(...new Map([["", true], ["hello", true]])); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '[string, boolean]' is not assignable to parameter of type '[string, number]'. -!!! error TS2345: Types of property '1' are incompatible. -!!! error TS2345: Type 'boolean' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2345: Type 'boolean' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/iterableArrayPattern3.types b/tests/baselines/reference/iterableArrayPattern3.types index dd001d46376..a21e702526b 100644 --- a/tests/baselines/reference/iterableArrayPattern3.types +++ b/tests/baselines/reference/iterableArrayPattern3.types @@ -38,7 +38,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern30.types b/tests/baselines/reference/iterableArrayPattern30.types index d27db2e7544..1abdba039ed 100644 --- a/tests/baselines/reference/iterableArrayPattern30.types +++ b/tests/baselines/reference/iterableArrayPattern30.types @@ -6,11 +6,11 @@ const [[k1, v1], [k2, v2]] = new Map([["", true], ["hello", true]]) >v2 : boolean >new Map([["", true], ["hello", true]]) : Map >Map : MapConstructor ->[["", true], ["hello", true]] : [string, boolean][] ->["", true] : [string, boolean] ->"" : string ->true : boolean ->["hello", true] : [string, boolean] ->"hello" : string ->true : boolean +>[["", true], ["hello", true]] : [string, true][] +>["", true] : [string, true] +>"" : "" +>true : true +>["hello", true] : [string, true] +>"hello" : "hello" +>true : true diff --git a/tests/baselines/reference/iterableArrayPattern4.types b/tests/baselines/reference/iterableArrayPattern4.types index 2d6531494a4..a3be4114498 100644 --- a/tests/baselines/reference/iterableArrayPattern4.types +++ b/tests/baselines/reference/iterableArrayPattern4.types @@ -39,7 +39,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iterableArrayPattern9.types b/tests/baselines/reference/iterableArrayPattern9.types index e9e342e7775..b24d057f4a7 100644 --- a/tests/baselines/reference/iterableArrayPattern9.types +++ b/tests/baselines/reference/iterableArrayPattern9.types @@ -31,7 +31,7 @@ class FooIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInArray.types b/tests/baselines/reference/iteratorSpreadInArray.types index 780acf32fab..4b5a63e5d57 100644 --- a/tests/baselines/reference/iteratorSpreadInArray.types +++ b/tests/baselines/reference/iteratorSpreadInArray.types @@ -22,7 +22,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInArray2.types b/tests/baselines/reference/iteratorSpreadInArray2.types index f2e64e5282e..19bf5eab004 100644 --- a/tests/baselines/reference/iteratorSpreadInArray2.types +++ b/tests/baselines/reference/iteratorSpreadInArray2.types @@ -25,7 +25,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } @@ -51,11 +51,11 @@ class NumberIterator { value: 0, >value : number ->0 : number +>0 : 0 done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInArray3.types b/tests/baselines/reference/iteratorSpreadInArray3.types index a59da81e157..1fd29bb2381 100644 --- a/tests/baselines/reference/iteratorSpreadInArray3.types +++ b/tests/baselines/reference/iteratorSpreadInArray3.types @@ -4,8 +4,8 @@ var array = [...[0, 1], ...new SymbolIterator]; >[...[0, 1], ...new SymbolIterator] : (number | symbol)[] >...[0, 1] : number >[0, 1] : number[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator @@ -26,7 +26,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInArray4.types b/tests/baselines/reference/iteratorSpreadInArray4.types index 0e16758acf4..6024e79dee5 100644 --- a/tests/baselines/reference/iteratorSpreadInArray4.types +++ b/tests/baselines/reference/iteratorSpreadInArray4.types @@ -2,8 +2,8 @@ var array = [0, 1, ...new SymbolIterator]; >array : (number | symbol)[] >[0, 1, ...new SymbolIterator] : (number | symbol)[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator @@ -24,7 +24,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInArray7.symbols b/tests/baselines/reference/iteratorSpreadInArray7.symbols index 853e07b908a..57774bcd7ee 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.symbols +++ b/tests/baselines/reference/iteratorSpreadInArray7.symbols @@ -3,9 +3,9 @@ var array: symbol[]; >array : Symbol(array, Decl(iteratorSpreadInArray7.ts, 0, 3)) array.concat([...new SymbolIterator]); ->array.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --)) +>array.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >array : Symbol(array, Decl(iteratorSpreadInArray7.ts, 0, 3)) ->concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) >SymbolIterator : Symbol(SymbolIterator, Decl(iteratorSpreadInArray7.ts, 1, 38)) class SymbolIterator { diff --git a/tests/baselines/reference/iteratorSpreadInArray7.types b/tests/baselines/reference/iteratorSpreadInArray7.types index f1dd8ebf855..ef0e3898e0f 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.types +++ b/tests/baselines/reference/iteratorSpreadInArray7.types @@ -4,9 +4,9 @@ var array: symbol[]; array.concat([...new SymbolIterator]); >array.concat([...new SymbolIterator]) : symbol[] ->array.concat : (...items: (symbol | symbol[])[]) => symbol[] +>array.concat : { (...items: symbol[][]): symbol[]; (...items: (symbol | symbol[])[]): symbol[]; } >array : symbol[] ->concat : (...items: (symbol | symbol[])[]) => symbol[] +>concat : { (...items: symbol[][]): symbol[]; (...items: (symbol | symbol[])[]): symbol[]; } >[...new SymbolIterator] : symbol[] >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator @@ -28,7 +28,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInCall11.types b/tests/baselines/reference/iteratorSpreadInCall11.types index dd440a1b4ac..5990b26df64 100644 --- a/tests/baselines/reference/iteratorSpreadInCall11.types +++ b/tests/baselines/reference/iteratorSpreadInCall11.types @@ -13,7 +13,7 @@ function foo(...s: T[]) { return s[0] } >T : T >s[0] : T >s : T[] ->0 : number +>0 : 0 class SymbolIterator { >SymbolIterator : SymbolIterator @@ -31,7 +31,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInCall12.js b/tests/baselines/reference/iteratorSpreadInCall12.js index 90b9d9b900b..b138192826d 100644 --- a/tests/baselines/reference/iteratorSpreadInCall12.js +++ b/tests/baselines/reference/iteratorSpreadInCall12.js @@ -34,8 +34,7 @@ class StringIterator { //// [iteratorSpreadInCall12.js] new Foo(...[...new SymbolIterator, ...[...new StringIterator]]); class Foo { - constructor(...s) { - } + constructor(...s) { } } class SymbolIterator { next() { diff --git a/tests/baselines/reference/iteratorSpreadInCall12.types b/tests/baselines/reference/iteratorSpreadInCall12.types index 5e3e7bcdbc4..b614fdde16b 100644 --- a/tests/baselines/reference/iteratorSpreadInCall12.types +++ b/tests/baselines/reference/iteratorSpreadInCall12.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/spread/iteratorSpreadInCall12.ts === new Foo(...[...new SymbolIterator, ...[...new StringIterator]]); ->new Foo(...[...new SymbolIterator, ...[...new StringIterator]]) : Foo +>new Foo(...[...new SymbolIterator, ...[...new StringIterator]]) : Foo >Foo : typeof Foo ->...[...new SymbolIterator, ...[...new StringIterator]] : symbol | string ->[...new SymbolIterator, ...[...new StringIterator]] : (symbol | string)[] +>...[...new SymbolIterator, ...[...new StringIterator]] : string | symbol +>[...new SymbolIterator, ...[...new StringIterator]] : (string | symbol)[] >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator @@ -38,7 +38,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } @@ -64,11 +64,11 @@ class StringIterator { value: "", >value : string ->"" : string +>"" : "" done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInCall3.types b/tests/baselines/reference/iteratorSpreadInCall3.types index 54857755b55..56b7f6db6d1 100644 --- a/tests/baselines/reference/iteratorSpreadInCall3.types +++ b/tests/baselines/reference/iteratorSpreadInCall3.types @@ -26,7 +26,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInCall5.types b/tests/baselines/reference/iteratorSpreadInCall5.types index 043536ab4c0..9542a76daf1 100644 --- a/tests/baselines/reference/iteratorSpreadInCall5.types +++ b/tests/baselines/reference/iteratorSpreadInCall5.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/spread/iteratorSpreadInCall5.ts === foo(...new SymbolIterator, ...new StringIterator); >foo(...new SymbolIterator, ...new StringIterator) : void ->foo : (...s: (symbol | string)[]) => void +>foo : (...s: (string | symbol)[]) => void >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator @@ -10,8 +10,8 @@ foo(...new SymbolIterator, ...new StringIterator); >StringIterator : typeof StringIterator function foo(...s: (symbol | string)[]) { } ->foo : (...s: (symbol | string)[]) => void ->s : (symbol | string)[] +>foo : (...s: (string | symbol)[]) => void +>s : (string | symbol)[] class SymbolIterator { >SymbolIterator : SymbolIterator @@ -29,7 +29,7 @@ class SymbolIterator { done: false >done : boolean ->false : boolean +>false : false }; } @@ -55,11 +55,11 @@ class StringIterator { value: "", >value : string ->"" : string +>"" : "" done: false >done : boolean ->false : boolean +>false : false }; } diff --git a/tests/baselines/reference/iteratorSpreadInCall6.errors.txt b/tests/baselines/reference/iteratorSpreadInCall6.errors.txt index ee9945f7af6..93aaec8c330 100644 --- a/tests/baselines/reference/iteratorSpreadInCall6.errors.txt +++ b/tests/baselines/reference/iteratorSpreadInCall6.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/es6/spread/iteratorSpreadInCall6.ts(1,28): error TS2345: Argument of type 'string' is not assignable to parameter of type 'symbol | number'. +tests/cases/conformance/es6/spread/iteratorSpreadInCall6.ts(1,28): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number | symbol'. ==== tests/cases/conformance/es6/spread/iteratorSpreadInCall6.ts (1 errors) ==== foo(...new SymbolIterator, ...new StringIterator); ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'symbol | number'. +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number | symbol'. function foo(...s: (symbol | number)[]) { } class SymbolIterator { diff --git a/tests/baselines/reference/iteratorSpreadInCall8.js b/tests/baselines/reference/iteratorSpreadInCall8.js index ac22bbcf5a3..3871ff83bc6 100644 --- a/tests/baselines/reference/iteratorSpreadInCall8.js +++ b/tests/baselines/reference/iteratorSpreadInCall8.js @@ -34,8 +34,7 @@ class StringIterator { //// [iteratorSpreadInCall8.js] new Foo(...new SymbolIterator, ...new StringIterator); class Foo { - constructor(...s) { - } + constructor(...s) { } } class SymbolIterator { next() { diff --git a/tests/baselines/reference/iteratorSpreadInCall9.js b/tests/baselines/reference/iteratorSpreadInCall9.js index 2a73ee29c34..da80c461b1b 100644 --- a/tests/baselines/reference/iteratorSpreadInCall9.js +++ b/tests/baselines/reference/iteratorSpreadInCall9.js @@ -34,8 +34,7 @@ class StringIterator { //// [iteratorSpreadInCall9.js] new Foo(...new SymbolIterator, ...[...new StringIterator]); class Foo { - constructor(...s) { - } + constructor(...s) { } } class SymbolIterator { next() { diff --git a/tests/baselines/reference/iteratorsAndStrictNullChecks.types b/tests/baselines/reference/iteratorsAndStrictNullChecks.types index ce1d7430f77..43efed86ed4 100644 --- a/tests/baselines/reference/iteratorsAndStrictNullChecks.types +++ b/tests/baselines/reference/iteratorsAndStrictNullChecks.types @@ -4,8 +4,8 @@ for (const x of ["a", "b"]) { >x : string >["a", "b"] : string[] ->"a" : string ->"b" : string +>"a" : "a" +>"b" : "b" x.substring; >x.substring : (start: number, end?: number | undefined) => string @@ -17,15 +17,15 @@ for (const x of ["a", "b"]) { const xs = [1, 2, 3]; >xs : number[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 const ys = [4, 5]; >ys : number[] >[4, 5] : number[] ->4 : number ->5 : number +>4 : 4 +>5 : 5 xs.push(...ys); >xs.push(...ys) : number diff --git a/tests/baselines/reference/jsFileCompilationExternalPackageError.types b/tests/baselines/reference/jsFileCompilationExternalPackageError.types index ae2eb085f28..d3a696d7bfe 100644 --- a/tests/baselines/reference/jsFileCompilationExternalPackageError.types +++ b/tests/baselines/reference/jsFileCompilationExternalPackageError.types @@ -17,18 +17,18 @@ c++; === tests/cases/compiler/node_modules/b.ts === var a = 10; >a : number ->10 : number +>10 : 10 === tests/cases/compiler/node_modules/c.js === exports.a = 10; ->exports.a = 10 : number +>exports.a = 10 : 10 >exports.a : any >exports : any >a : any ->10 : number +>10 : 10 c = 10; ->c = 10 : number +>c = 10 : 10 >c : any ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/jsFileCompilationLetBeingRenamed.types b/tests/baselines/reference/jsFileCompilationLetBeingRenamed.types index 094f59d2022..3cac906f5d7 100644 --- a/tests/baselines/reference/jsFileCompilationLetBeingRenamed.types +++ b/tests/baselines/reference/jsFileCompilationLetBeingRenamed.types @@ -6,10 +6,10 @@ function foo(a) { for (let a = 0; a < 10; a++) { >a : number ->0 : number +>0 : 0 >a < 10 : boolean >a : number ->10 : number +>10 : 10 >a++ : number >a : number diff --git a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types index fbfe9d3edae..c420454b8cf 100644 --- a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types +++ b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types @@ -26,7 +26,7 @@ function apply(func, thisArg, args) { >length : number case 0: return func.call(thisArg); ->0 : number +>0 : 0 >func.call(thisArg) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any >func : Function @@ -34,7 +34,7 @@ function apply(func, thisArg, args) { >thisArg : any case 1: return func.call(thisArg, args[0]); ->1 : number +>1 : 1 >func.call(thisArg, args[0]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any >func : Function @@ -42,10 +42,10 @@ function apply(func, thisArg, args) { >thisArg : any >args[0] : any >args : any[] ->0 : number +>0 : 0 case 2: return func.call(thisArg, args[0], args[1]); ->2 : number +>2 : 2 >func.call(thisArg, args[0], args[1]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any >func : Function @@ -53,13 +53,13 @@ function apply(func, thisArg, args) { >thisArg : any >args[0] : any >args : any[] ->0 : number +>0 : 0 >args[1] : any >args : any[] ->1 : number +>1 : 1 case 3: return func.call(thisArg, args[0], args[1], args[2]); ->3 : number +>3 : 3 >func.call(thisArg, args[0], args[1], args[2]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any >func : Function @@ -67,13 +67,13 @@ function apply(func, thisArg, args) { >thisArg : any >args[0] : any >args : any[] ->0 : number +>0 : 0 >args[1] : any >args : any[] ->1 : number +>1 : 1 >args[2] : any >args : any[] ->2 : number +>2 : 2 } return func.apply(thisArg, args); >func.apply(thisArg, args) : any diff --git a/tests/baselines/reference/jsFileCompilationShortHandProperty.types b/tests/baselines/reference/jsFileCompilationShortHandProperty.types index e4dd1755ceb..d6badf44909 100644 --- a/tests/baselines/reference/jsFileCompilationShortHandProperty.types +++ b/tests/baselines/reference/jsFileCompilationShortHandProperty.types @@ -5,11 +5,11 @@ function foo() { var a = 10; >a : number ->10 : number +>10 : 10 var b = "Hello"; >b : string ->"Hello" : string +>"Hello" : "Hello" return { >{ a, b } : { a: number; b: string; } diff --git a/tests/baselines/reference/jsdocLiteral.js b/tests/baselines/reference/jsdocLiteral.js new file mode 100644 index 00000000000..1a017160302 --- /dev/null +++ b/tests/baselines/reference/jsdocLiteral.js @@ -0,0 +1,24 @@ +//// [in.js] +/** + * @param {'literal'} p1 + * @param {"literal"} p2 + * @param {'literal' | 'other'} p3 + * @param {'literal' | number} p4 + * @param {12 | true | 'str'} p5 + */ +function f(p1, p2, p3, p4, p5) { + return p1 + p2 + p3 + p4 + p5 + '.'; +} + + +//// [out.js] +/** + * @param {'literal'} p1 + * @param {"literal"} p2 + * @param {'literal' | 'other'} p3 + * @param {'literal' | number} p4 + * @param {12 | true | 'str'} p5 + */ +function f(p1, p2, p3, p4, p5) { + return p1 + p2 + p3 + p4 + p5 + '.'; +} diff --git a/tests/baselines/reference/jsdocLiteral.symbols b/tests/baselines/reference/jsdocLiteral.symbols new file mode 100644 index 00000000000..9f01fe782aa --- /dev/null +++ b/tests/baselines/reference/jsdocLiteral.symbols @@ -0,0 +1,24 @@ +=== tests/cases/conformance/jsdoc/in.js === +/** + * @param {'literal'} p1 + * @param {"literal"} p2 + * @param {'literal' | 'other'} p3 + * @param {'literal' | number} p4 + * @param {12 | true | 'str'} p5 + */ +function f(p1, p2, p3, p4, p5) { +>f : Symbol(f, Decl(in.js, 0, 0)) +>p1 : Symbol(p1, Decl(in.js, 7, 11)) +>p2 : Symbol(p2, Decl(in.js, 7, 14)) +>p3 : Symbol(p3, Decl(in.js, 7, 18)) +>p4 : Symbol(p4, Decl(in.js, 7, 22)) +>p5 : Symbol(p5, Decl(in.js, 7, 26)) + + return p1 + p2 + p3 + p4 + p5 + '.'; +>p1 : Symbol(p1, Decl(in.js, 7, 11)) +>p2 : Symbol(p2, Decl(in.js, 7, 14)) +>p3 : Symbol(p3, Decl(in.js, 7, 18)) +>p4 : Symbol(p4, Decl(in.js, 7, 22)) +>p5 : Symbol(p5, Decl(in.js, 7, 26)) +} + diff --git a/tests/baselines/reference/jsdocLiteral.types b/tests/baselines/reference/jsdocLiteral.types new file mode 100644 index 00000000000..c0a17c9bad1 --- /dev/null +++ b/tests/baselines/reference/jsdocLiteral.types @@ -0,0 +1,30 @@ +=== tests/cases/conformance/jsdoc/in.js === +/** + * @param {'literal'} p1 + * @param {"literal"} p2 + * @param {'literal' | 'other'} p3 + * @param {'literal' | number} p4 + * @param {12 | true | 'str'} p5 + */ +function f(p1, p2, p3, p4, p5) { +>f : (p1: "literal", p2: "literal", p3: "literal" | "other", p4: number | "literal", p5: true | 12 | "str") => string +>p1 : "literal" +>p2 : "literal" +>p3 : "literal" | "other" +>p4 : number | "literal" +>p5 : true | 12 | "str" + + return p1 + p2 + p3 + p4 + p5 + '.'; +>p1 + p2 + p3 + p4 + p5 + '.' : string +>p1 + p2 + p3 + p4 + p5 : string +>p1 + p2 + p3 + p4 : string +>p1 + p2 + p3 : string +>p1 + p2 : string +>p1 : "literal" +>p2 : "literal" +>p3 : "literal" | "other" +>p4 : number | "literal" +>p5 : true | 12 | "str" +>'.' : "." +} + diff --git a/tests/baselines/reference/jsdocNeverUndefinedNull.js b/tests/baselines/reference/jsdocNeverUndefinedNull.js new file mode 100644 index 00000000000..e57b7091a3b --- /dev/null +++ b/tests/baselines/reference/jsdocNeverUndefinedNull.js @@ -0,0 +1,20 @@ +//// [in.js] +/** + * @param {never} p1 + * @param {undefined} p2 + * @param {null} p3 + * @returns {void} nothing + */ +function f(p1, p2, p3) { +} + + +//// [out.js] +/** + * @param {never} p1 + * @param {undefined} p2 + * @param {null} p3 + * @returns {void} nothing + */ +function f(p1, p2, p3) { +} diff --git a/tests/baselines/reference/jsdocNeverUndefinedNull.symbols b/tests/baselines/reference/jsdocNeverUndefinedNull.symbols new file mode 100644 index 00000000000..a57636ed344 --- /dev/null +++ b/tests/baselines/reference/jsdocNeverUndefinedNull.symbols @@ -0,0 +1,14 @@ +=== tests/cases/conformance/jsdoc/in.js === +/** + * @param {never} p1 + * @param {undefined} p2 + * @param {null} p3 + * @returns {void} nothing + */ +function f(p1, p2, p3) { +>f : Symbol(f, Decl(in.js, 0, 0)) +>p1 : Symbol(p1, Decl(in.js, 6, 11)) +>p2 : Symbol(p2, Decl(in.js, 6, 14)) +>p3 : Symbol(p3, Decl(in.js, 6, 18)) +} + diff --git a/tests/baselines/reference/jsdocNeverUndefinedNull.types b/tests/baselines/reference/jsdocNeverUndefinedNull.types new file mode 100644 index 00000000000..fe57cc298e2 --- /dev/null +++ b/tests/baselines/reference/jsdocNeverUndefinedNull.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/jsdoc/in.js === +/** + * @param {never} p1 + * @param {undefined} p2 + * @param {null} p3 + * @returns {void} nothing + */ +function f(p1, p2, p3) { +>f : (p1: never, p2: undefined, p3: null) => void +>p1 : never +>p2 : undefined +>p3 : null +} + diff --git a/tests/baselines/reference/json.stringify.types b/tests/baselines/reference/json.stringify.types index 7cce2d3ed24..b063b06d8d0 100644 --- a/tests/baselines/reference/json.stringify.types +++ b/tests/baselines/reference/json.stringify.types @@ -6,50 +6,50 @@ var value = null; JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >value : null >undefined : undefined ->2 : number +>2 : 2 JSON.stringify(value, null, 2); >JSON.stringify(value, null, 2) : string ->JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >value : null >null : null ->2 : number +>2 : 2 JSON.stringify(value, ["a", 1], 2); >JSON.stringify(value, ["a", 1], 2) : string ->JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >value : null >["a", 1] : (string | number)[] ->"a" : string ->1 : number ->2 : number +>"a" : "a" +>1 : 1 +>2 : 2 JSON.stringify(value, (k) => undefined, 2); >JSON.stringify(value, (k) => undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >value : null >(k) => undefined : (k: string) => undefined >k : string >undefined : undefined ->2 : number +>2 : 2 JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (number | string)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: ((key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } >value : null >undefined : undefined ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/jsxHash.types b/tests/baselines/reference/jsxHash.types index 6d413141ca6..41f89c4b087 100644 --- a/tests/baselines/reference/jsxHash.types +++ b/tests/baselines/reference/jsxHash.types @@ -3,21 +3,21 @@ var t02 = {0}#; >t02 : any >{0}# : any >a : any ->0 : number +>0 : 0 >a : any var t03 = #{0}; >t03 : any >#{0} : any >a : any ->0 : number +>0 : 0 >a : any var t04 = #{0}#; >t04 : any >#{0}# : any >a : any ->0 : number +>0 : 0 >a : any var t05 = #; diff --git a/tests/baselines/reference/jsxImportInAttribute.js b/tests/baselines/reference/jsxImportInAttribute.js index 552c7e26f12..c204ea7880d 100644 --- a/tests/baselines/reference/jsxImportInAttribute.js +++ b/tests/baselines/reference/jsxImportInAttribute.js @@ -17,6 +17,6 @@ let x = Test; // emit test_1.default //// [consumer.jsx] "use strict"; /// -var Test_1 = require('Test'); +var Test_1 = require("Test"); var x = Test_1["default"]; // emit test_1.default ; // ? diff --git a/tests/baselines/reference/jsxPreserveWithJsInput.types b/tests/baselines/reference/jsxPreserveWithJsInput.types index 7f4ed6daa2b..4ae5c6aeed4 100644 --- a/tests/baselines/reference/jsxPreserveWithJsInput.types +++ b/tests/baselines/reference/jsxPreserveWithJsInput.types @@ -2,14 +2,14 @@ var elemA = 42; >elemA : number ->42 : number +>42 : 42 === tests/cases/compiler/b.jsx === var elemB = {"test"}; >elemB : any >{"test"} : any >b : any ->"test" : string +>"test" : "test" >b : any === tests/cases/compiler/c.js === @@ -17,19 +17,19 @@ var elemC = {42}; >elemC : any >{42} : any >c : any ->42 : number +>42 : 42 >c : any === tests/cases/compiler/d.ts === var elemD = 42; >elemD : number ->42 : number +>42 : 42 === tests/cases/compiler/e.tsx === var elemE = {true}; >elemE : any >{true} : any >e : any ->true : boolean +>true : true >e : any diff --git a/tests/baselines/reference/jsxReactTestSuite.js b/tests/baselines/reference/jsxReactTestSuite.js index 18013d4be9b..392f1736407 100644 --- a/tests/baselines/reference/jsxReactTestSuite.js +++ b/tests/baselines/reference/jsxReactTestSuite.js @@ -148,7 +148,10 @@ var x =
); -(
+(
); diff --git a/tests/baselines/reference/jsxReactTestSuite.types b/tests/baselines/reference/jsxReactTestSuite.types index 8bab7ce6e7d..712a7368a62 100644 --- a/tests/baselines/reference/jsxReactTestSuite.types +++ b/tests/baselines/reference/jsxReactTestSuite.types @@ -120,8 +120,8 @@ var x = "foo" + "bar" >"foo" + "bar" : string ->"foo" : string ->"bar" : string +>"foo" : "foo" +>"bar" : "bar" } attr2={ >attr2 : any @@ -130,12 +130,12 @@ var x = >"foo" + "bar" + "baz" + "bug" : string >"foo" + "bar" + "baz" : string >"foo" + "bar" : string ->"foo" : string ->"bar" : string +>"foo" : "foo" +>"bar" : "bar" "baz" + "bug" ->"baz" : string ->"bug" : string +>"baz" : "baz" +>"bug" : "bug" } attr3={ >attr3 : any @@ -144,12 +144,12 @@ var x = >"foo" + "bar" + "baz" + "bug" : string >"foo" + "bar" + "baz" : string >"foo" + "bar" : string ->"foo" : string ->"bar" : string +>"foo" : "foo" +>"bar" : "bar" "baz" + "bug" ->"baz" : string ->"bug" : string +>"baz" : "baz" +>"bug" : "bug" // Extra line here. } @@ -254,7 +254,7 @@ var x = >y : any ={2 } z />; ->2 : number +>2 : 2 >z : any Component : any >x : any >y : any ->2 : number +>2 : 2 ; > : any >Component : any >x : any >y : any ->2 : number +>2 : 2 >z : any ; > : any >Component : any >x : any ->1 : number +>1 : 1 >y : any @@ -313,7 +313,7 @@ var x = > : any >Component : any >x : any ->1 : number +>1 : 1 >y : any >z : any >z : any @@ -331,10 +331,10 @@ var x = >z : any >{ y: 2 } : { y: number; } >y : number ->2 : number +>2 : 2 >z : any >z : any ->3 : number +>3 : 3 >Component : any diff --git a/tests/baselines/reference/jsxViaImport.js b/tests/baselines/reference/jsxViaImport.js index ba8efc9e7ab..63c84090c9c 100644 --- a/tests/baselines/reference/jsxViaImport.js +++ b/tests/baselines/reference/jsxViaImport.js @@ -31,7 +31,7 @@ var __extends = (this && this.__extends) || function (d, b) { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; /// -var BaseComponent = require('BaseComponent'); +var BaseComponent = require("BaseComponent"); var TestComponent = (function (_super) { __extends(TestComponent, _super); function TestComponent() { diff --git a/tests/baselines/reference/keywordField.types b/tests/baselines/reference/keywordField.types index 8bc977edd74..b5e90e627ed 100644 --- a/tests/baselines/reference/keywordField.types +++ b/tests/baselines/reference/keywordField.types @@ -4,17 +4,17 @@ var obj:any = {}; >{} : {} obj.if = 1; ->obj.if = 1 : number +>obj.if = 1 : 1 >obj.if : any >obj : any >if : any ->1 : number +>1 : 1 var a = { if: "test" } >a : { if: string; } >{ if: "test" } : { if: string; } >if : string ->"test" : string +>"test" : "test" var n = a.if >n : string @@ -26,5 +26,5 @@ var q = a["if"]; >q : string >a["if"] : string >a : { if: string; } ->"if" : string +>"if" : "if" diff --git a/tests/baselines/reference/keywordInJsxIdentifier.js b/tests/baselines/reference/keywordInJsxIdentifier.js index 39f33449dad..6009e1980e6 100644 --- a/tests/baselines/reference/keywordInJsxIdentifier.js +++ b/tests/baselines/reference/keywordInJsxIdentifier.js @@ -8,7 +8,7 @@ declare var React: any; //// [keywordInJsxIdentifier.js] -React.createElement("foo", {"class-id": true}); -React.createElement("foo", {class: true}); -React.createElement("foo", {"class-id": "1"}); -React.createElement("foo", {class: "1"}); +React.createElement("foo", { "class-id": true }); +React.createElement("foo", { class: true }); +React.createElement("foo", { "class-id": "1" }); +React.createElement("foo", { class: "1" }); diff --git a/tests/baselines/reference/lambdaASIEmit.types b/tests/baselines/reference/lambdaASIEmit.types index 8ea881c4cd5..381e45c5fd2 100644 --- a/tests/baselines/reference/lambdaASIEmit.types +++ b/tests/baselines/reference/lambdaASIEmit.types @@ -13,5 +13,5 @@ Foo(() => // do something 127); ->127 : number +>127 : 127 diff --git a/tests/baselines/reference/lambdaExpression.types b/tests/baselines/reference/lambdaExpression.types index 714cd851d63..fc60097b6b0 100644 --- a/tests/baselines/reference/lambdaExpression.types +++ b/tests/baselines/reference/lambdaExpression.types @@ -1,18 +1,18 @@ === tests/cases/compiler/lambdaExpression.ts === () => 0; // Needs to be wrapped in parens to be a valid expression (not declaration) >() => 0 : () => number ->0 : number +>0 : 0 var y = 0; >y : number ->0 : number +>0 : 0 (()=>0); >(()=>0) : () => number >()=>0 : () => number ->0 : number +>0 : 0 var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/letConstInCaseClauses.errors.txt b/tests/baselines/reference/letConstInCaseClauses.errors.txt index af0777d56a4..754da95d367 100644 --- a/tests/baselines/reference/letConstInCaseClauses.errors.txt +++ b/tests/baselines/reference/letConstInCaseClauses.errors.txt @@ -1,8 +1,10 @@ tests/cases/compiler/letConstInCaseClauses.ts(7,5): error TS2304: Cannot find name 'console'. tests/cases/compiler/letConstInCaseClauses.ts(21,5): error TS2304: Cannot find name 'console'. +tests/cases/compiler/letConstInCaseClauses.ts(23,14): error TS2678: Type '10' is not comparable to type '1'. +tests/cases/compiler/letConstInCaseClauses.ts(27,14): error TS2678: Type '10' is not comparable to type '2'. -==== tests/cases/compiler/letConstInCaseClauses.ts (2 errors) ==== +==== tests/cases/compiler/letConstInCaseClauses.ts (4 errors) ==== var x = 10; var y = 20; @@ -30,10 +32,14 @@ tests/cases/compiler/letConstInCaseClauses.ts(21,5): error TS2304: Cannot find n !!! error TS2304: Cannot find name 'console'. switch (x) { case 10: + ~~ +!!! error TS2678: Type '10' is not comparable to type '1'. const x = 20; } switch (y) { case 10: + ~~ +!!! error TS2678: Type '10' is not comparable to type '2'. const y = 20; } } \ No newline at end of file diff --git a/tests/baselines/reference/letConstMatchingParameterNames.types b/tests/baselines/reference/letConstMatchingParameterNames.types index 2e29dff289b..acf508f77a3 100644 --- a/tests/baselines/reference/letConstMatchingParameterNames.types +++ b/tests/baselines/reference/letConstMatchingParameterNames.types @@ -1,11 +1,11 @@ === tests/cases/compiler/letConstMatchingParameterNames.ts === let parent = true; >parent : boolean ->true : boolean +>true : true const parent2 = true; ->parent2 : boolean ->true : boolean +>parent2 : true +>true : true declare function use(a: any); >use : (a: any) => any @@ -16,11 +16,11 @@ function a() { let parent = 1; >parent : number ->1 : number +>1 : 1 const parent2 = 2; ->parent2 : number ->2 : number +>parent2 : 2 +>2 : 2 function b(parent: string, parent2: number) { >b : (parent: string, parent2: number) => void diff --git a/tests/baselines/reference/letDeclarations-access.types b/tests/baselines/reference/letDeclarations-access.types index 673fc97f80b..b2f984a4956 100644 --- a/tests/baselines/reference/letDeclarations-access.types +++ b/tests/baselines/reference/letDeclarations-access.types @@ -2,69 +2,69 @@ let x = 0 >x : number ->0 : number +>0 : 0 // No errors x = 1; ->x = 1 : number +>x = 1 : 1 >x : number ->1 : number +>1 : 1 x += 2; >x += 2 : number >x : number ->2 : number +>2 : 2 x -= 3; >x -= 3 : number >x : number ->3 : number +>3 : 3 x *= 4; >x *= 4 : number >x : number ->4 : number +>4 : 4 x /= 5; >x /= 5 : number >x : number ->5 : number +>5 : 5 x %= 6; >x %= 6 : number >x : number ->6 : number +>6 : 6 x <<= 7; >x <<= 7 : number >x : number ->7 : number +>7 : 7 x >>= 8; >x >>= 8 : number >x : number ->8 : number +>8 : 8 x >>>= 9; >x >>>= 9 : number >x : number ->9 : number +>9 : 9 x &= 10; >x &= 10 : number >x : number ->10 : number +>10 : 10 x |= 11; >x |= 11 : number >x : number ->11 : number +>11 : 11 x ^= 12; >x ^= 12 : number >x : number ->12 : number +>12 : 12 x++; >x++ : number @@ -86,7 +86,7 @@ var a = x + 1; >a : number >x + 1 : number >x : number ->1 : number +>1 : 1 function f(v: number) { } >f : (v: number) => void diff --git a/tests/baselines/reference/letDeclarations-es5-1.types b/tests/baselines/reference/letDeclarations-es5-1.types index b088677cd0a..31506b717a9 100644 --- a/tests/baselines/reference/letDeclarations-es5-1.types +++ b/tests/baselines/reference/letDeclarations-es5-1.types @@ -13,17 +13,17 @@ let l7 = false; >l7 : boolean ->false : boolean +>false : false let l8: number = 23; >l8 : number ->23 : number +>23 : 23 let l9 = 0, l10 :string = "", l11 = null; >l9 : number ->0 : number +>0 : 0 >l10 : string ->"" : string +>"" : "" >l11 : any >null : null diff --git a/tests/baselines/reference/letDeclarations-es5.types b/tests/baselines/reference/letDeclarations-es5.types index f6e8d418632..9756951e705 100644 --- a/tests/baselines/reference/letDeclarations-es5.types +++ b/tests/baselines/reference/letDeclarations-es5.types @@ -14,17 +14,17 @@ let l3, l4, l5 :string, l6; let l7 = false; >l7 : boolean ->false : boolean +>false : false let l8: number = 23; >l8 : number ->23 : number +>23 : 23 let l9 = 0, l10 :string = "", l11 = null; >l9 : number ->0 : number +>0 : 0 >l10 : string ->"" : string +>"" : "" >l11 : any >null : null @@ -34,10 +34,10 @@ for(let l11 in {}) { } for(let l12 = 0; l12 < 9; l12++) { } >l12 : number ->0 : number +>0 : 0 >l12 < 9 : boolean >l12 : number ->9 : number +>9 : 9 >l12++ : number >l12 : number diff --git a/tests/baselines/reference/letDeclarations.types b/tests/baselines/reference/letDeclarations.types index bb20f895a14..b1548f788ef 100644 --- a/tests/baselines/reference/letDeclarations.types +++ b/tests/baselines/reference/letDeclarations.types @@ -14,17 +14,17 @@ let l3, l4, l5 :string, l6; let l7 = false; >l7 : boolean ->false : boolean +>false : false let l8: number = 23; >l8 : number ->23 : number +>23 : 23 let l9 = 0, l10 :string = "", l11 = null; >l9 : number ->0 : number +>0 : 0 >l10 : string ->"" : string +>"" : "" >l11 : any >null : null @@ -34,10 +34,10 @@ for(let l11 in {}) { } for(let l12 = 0; l12 < 9; l12++) { } >l12 : number ->0 : number +>0 : 0 >l12 < 9 : boolean >l12 : number ->9 : number +>9 : 9 >l12++ : number >l12 : number diff --git a/tests/baselines/reference/letDeclarations2.types b/tests/baselines/reference/letDeclarations2.types index eeb66838a6a..893514adb3f 100644 --- a/tests/baselines/reference/letDeclarations2.types +++ b/tests/baselines/reference/letDeclarations2.types @@ -5,9 +5,9 @@ module M { let l1 = "s"; >l1 : string ->"s" : string +>"s" : "s" export let l2 = 0; >l2 : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/letIdentifierInElementAccess01.types b/tests/baselines/reference/letIdentifierInElementAccess01.types index 187fd7e221c..d169daa0307 100644 --- a/tests/baselines/reference/letIdentifierInElementAccess01.types +++ b/tests/baselines/reference/letIdentifierInElementAccess01.types @@ -4,10 +4,10 @@ var let: any = {}; >{} : {} (let[0] = 100); ->(let[0] = 100) : number ->let[0] = 100 : number +>(let[0] = 100) : 100 +>let[0] = 100 : 100 >let[0] : any >let : any ->0 : number ->100 : number +>0 : 0 +>100 : 100 diff --git a/tests/baselines/reference/letInNonStrictMode.types b/tests/baselines/reference/letInNonStrictMode.types index ceb59dba6a3..d37f7fe20a3 100644 --- a/tests/baselines/reference/letInNonStrictMode.types +++ b/tests/baselines/reference/letInNonStrictMode.types @@ -2,12 +2,12 @@ let [x] = [1]; >x : number >[1] : [number] ->1 : number +>1 : 1 let {a: y} = {a: 1}; >a : any >y : number >{a: 1} : { a: number; } >a : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/letInVarDeclOfForIn_ES5.types b/tests/baselines/reference/letInVarDeclOfForIn_ES5.types index 095ae16b91e..d3751f58959 100644 --- a/tests/baselines/reference/letInVarDeclOfForIn_ES5.types +++ b/tests/baselines/reference/letInVarDeclOfForIn_ES5.types @@ -4,16 +4,16 @@ for (var let in [1,2,3]) {} >let : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 { for (var let in [1,2,3]) {} >let : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 } diff --git a/tests/baselines/reference/letInVarDeclOfForIn_ES6.types b/tests/baselines/reference/letInVarDeclOfForIn_ES6.types index a5e2ce108db..1d672c12ea6 100644 --- a/tests/baselines/reference/letInVarDeclOfForIn_ES6.types +++ b/tests/baselines/reference/letInVarDeclOfForIn_ES6.types @@ -4,16 +4,16 @@ for (var let in [1,2,3]) {} >let : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 { for (var let in [1,2,3]) {} >let : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 } diff --git a/tests/baselines/reference/letInVarDeclOfForOf_ES5.types b/tests/baselines/reference/letInVarDeclOfForOf_ES5.types index a1000df8bed..6b1648dcaf3 100644 --- a/tests/baselines/reference/letInVarDeclOfForOf_ES5.types +++ b/tests/baselines/reference/letInVarDeclOfForOf_ES5.types @@ -4,16 +4,16 @@ for (var let of [1,2,3]) {} >let : number >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 { for (var let of [1,2,3]) {} >let : number >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 } diff --git a/tests/baselines/reference/letInVarDeclOfForOf_ES6.types b/tests/baselines/reference/letInVarDeclOfForOf_ES6.types index 1515895feda..3231dbc0b2c 100644 --- a/tests/baselines/reference/letInVarDeclOfForOf_ES6.types +++ b/tests/baselines/reference/letInVarDeclOfForOf_ES6.types @@ -4,16 +4,16 @@ for (var let of [1,2,3]) {} >let : number >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 { for (var let of [1,2,3]) {} >let : number >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 } diff --git a/tests/baselines/reference/library-reference-11.trace.json b/tests/baselines/reference/library-reference-11.trace.json index 365fe3ce72d..e0af1e39c5a 100644 --- a/tests/baselines/reference/library-reference-11.trace.json +++ b/tests/baselines/reference/library-reference-11.trace.json @@ -1,8 +1,6 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/node_modules/@types'. ========", - "Resolving with primary search path '/node_modules/@types'", - "File '/node_modules/@types/jquery/package.json' does not exist.", - "File '/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory not set. ========", + "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/a/b'", "File '/a/b/node_modules/jquery.ts' does not exist.", "File '/a/b/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-12.trace.json b/tests/baselines/reference/library-reference-12.trace.json index 84144f82729..2cdf1f5f20a 100644 --- a/tests/baselines/reference/library-reference-12.trace.json +++ b/tests/baselines/reference/library-reference-12.trace.json @@ -1,8 +1,6 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/node_modules/@types'. ========", - "Resolving with primary search path '/node_modules/@types'", - "File '/node_modules/@types/jquery/package.json' does not exist.", - "File '/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory not set. ========", + "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/a/b'", "File '/a/b/node_modules/jquery.ts' does not exist.", "File '/a/b/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-13.trace.json b/tests/baselines/reference/library-reference-13.trace.json index d8dfb57c2a6..a23f0ef0ca5 100644 --- a/tests/baselines/reference/library-reference-13.trace.json +++ b/tests/baselines/reference/library-reference-13.trace.json @@ -1,5 +1,5 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory '/a/types'. ========", + "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/a/types'. ========", "Resolving with primary search path '/a/types'", "File '/a/types/jquery/package.json' does not exist.", "File '/a/types/jquery/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-14.trace.json b/tests/baselines/reference/library-reference-14.trace.json index d8dfb57c2a6..fb3a2bb7da4 100644 --- a/tests/baselines/reference/library-reference-14.trace.json +++ b/tests/baselines/reference/library-reference-14.trace.json @@ -1,5 +1,5 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory '/a/types'. ========", + "======== Resolving type reference directive 'jquery', containing file '/a/__inferred type names__.ts', root directory '/a/types'. ========", "Resolving with primary search path '/a/types'", "File '/a/types/jquery/package.json' does not exist.", "File '/a/types/jquery/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-15.trace.json b/tests/baselines/reference/library-reference-15.trace.json index 3e9d7dba1d2..e23517976b0 100644 --- a/tests/baselines/reference/library-reference-15.trace.json +++ b/tests/baselines/reference/library-reference-15.trace.json @@ -1,5 +1,5 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory 'types'. ========", + "======== Resolving type reference directive 'jquery', containing file '/a/__inferred type names__.ts', root directory 'types'. ========", "Resolving with primary search path 'types'", "File 'types/jquery/package.json' does not exist.", "File 'types/jquery/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-2.trace.json b/tests/baselines/reference/library-reference-2.trace.json index c26f7d2763d..64cdd809183 100644 --- a/tests/baselines/reference/library-reference-2.trace.json +++ b/tests/baselines/reference/library-reference-2.trace.json @@ -5,7 +5,7 @@ "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", "File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.", "======== Type reference directive 'jquery' was successfully resolved to '/types/jquery/jquery.d.ts', primary: true. ========", - "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/types'. ========", + "======== Resolving type reference directive 'jquery', containing file 'test/__inferred type names__.ts', root directory '/types'. ========", "Resolving with primary search path '/types'", "Found 'package.json' at '/types/jquery/package.json'.", "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", diff --git a/tests/baselines/reference/library-reference-3.trace.json b/tests/baselines/reference/library-reference-3.trace.json index 730835c65e9..419fe6d055d 100644 --- a/tests/baselines/reference/library-reference-3.trace.json +++ b/tests/baselines/reference/library-reference-3.trace.json @@ -1,8 +1,6 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/src/node_modules/@types'. ========", - "Resolving with primary search path '/src/node_modules/@types'", - "File '/src/node_modules/@types/jquery/package.json' does not exist.", - "File '/src/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory not set. ========", + "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/src'", "File '/src/node_modules/jquery.ts' does not exist.", "File '/src/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-5.errors.txt b/tests/baselines/reference/library-reference-5.errors.txt index a3729bc3a99..c23b49c61de 100644 --- a/tests/baselines/reference/library-reference-5.errors.txt +++ b/tests/baselines/reference/library-reference-5.errors.txt @@ -1,4 +1,4 @@ -/node_modules/bar/index.d.ts(1,1): message TS4090: Conflicting library definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Copy the correct file to the 'typings' folder to resolve this conflict. +/node_modules/bar/index.d.ts(1,1): message TS4090: Conflicting definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Consider installing a specific version of this library to resolve the conflict. ==== /src/root.ts (0 errors) ==== @@ -18,7 +18,7 @@ ==== /node_modules/bar/index.d.ts (1 errors) ==== /// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! message TS4090: Conflicting library definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Copy the correct file to the 'typings' folder to resolve this conflict. +!!! message TS4090: Conflicting definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Consider installing a specific version of this library to resolve the conflict. declare var bar: any; ==== /node_modules/bar/node_modules/alpha/index.d.ts (0 errors) ==== diff --git a/tests/baselines/reference/library-reference-6.trace.json b/tests/baselines/reference/library-reference-6.trace.json index 48fb49e6c7f..fd83c1431b4 100644 --- a/tests/baselines/reference/library-reference-6.trace.json +++ b/tests/baselines/reference/library-reference-6.trace.json @@ -4,7 +4,7 @@ "File '/node_modules/@types/alpha/package.json' does not exist.", "File '/node_modules/@types/alpha/index.d.ts' exist - use it as a name resolution result.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/@types/alpha/index.d.ts', primary: true. ========", - "======== Resolving type reference directive 'alpha', containing file '/src/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "======== Resolving type reference directive 'alpha', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'", "File '/node_modules/@types/alpha/package.json' does not exist.", "File '/node_modules/@types/alpha/index.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-7.trace.json b/tests/baselines/reference/library-reference-7.trace.json index b681ea312a8..419fe6d055d 100644 --- a/tests/baselines/reference/library-reference-7.trace.json +++ b/tests/baselines/reference/library-reference-7.trace.json @@ -1,8 +1,6 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/node_modules/@types'. ========", - "Resolving with primary search path '/node_modules/@types'", - "File '/node_modules/@types/jquery/package.json' does not exist.", - "File '/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory not set. ========", + "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/src'", "File '/src/node_modules/jquery.ts' does not exist.", "File '/src/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library_ArraySlice.types b/tests/baselines/reference/library_ArraySlice.types index b92d9254390..5fe3858628a 100644 --- a/tests/baselines/reference/library_ArraySlice.types +++ b/tests/baselines/reference/library_ArraySlice.types @@ -15,7 +15,7 @@ Array.prototype.slice(0); >Array : ArrayConstructor >prototype : any[] >slice : (start?: number, end?: number) => any[] ->0 : number +>0 : 0 Array.prototype.slice(0, 1); >Array.prototype.slice(0, 1) : any[] @@ -24,6 +24,6 @@ Array.prototype.slice(0, 1); >Array : ArrayConstructor >prototype : any[] >slice : (start?: number, end?: number) => any[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/library_DatePrototypeProperties.types b/tests/baselines/reference/library_DatePrototypeProperties.types index c048b9833d6..6a299f67232 100644 --- a/tests/baselines/reference/library_DatePrototypeProperties.types +++ b/tests/baselines/reference/library_DatePrototypeProperties.types @@ -215,7 +215,7 @@ Date.prototype.setTime(0); >Date : DateConstructor >prototype : Date >setTime : (time: number) => number ->0 : number +>0 : 0 Date.prototype.setMilliseconds(0); >Date.prototype.setMilliseconds(0) : number @@ -224,7 +224,7 @@ Date.prototype.setMilliseconds(0); >Date : DateConstructor >prototype : Date >setMilliseconds : (ms: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCMilliseconds(0); >Date.prototype.setUTCMilliseconds(0) : number @@ -233,7 +233,7 @@ Date.prototype.setUTCMilliseconds(0); >Date : DateConstructor >prototype : Date >setUTCMilliseconds : (ms: number) => number ->0 : number +>0 : 0 Date.prototype.setSeconds(0); >Date.prototype.setSeconds(0) : number @@ -242,7 +242,7 @@ Date.prototype.setSeconds(0); >Date : DateConstructor >prototype : Date >setSeconds : (sec: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCSeconds(0); >Date.prototype.setUTCSeconds(0) : number @@ -251,7 +251,7 @@ Date.prototype.setUTCSeconds(0); >Date : DateConstructor >prototype : Date >setUTCSeconds : (sec: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setMinutes(0); >Date.prototype.setMinutes(0) : number @@ -260,7 +260,7 @@ Date.prototype.setMinutes(0); >Date : DateConstructor >prototype : Date >setMinutes : (min: number, sec?: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCMinutes(0); >Date.prototype.setUTCMinutes(0) : number @@ -269,7 +269,7 @@ Date.prototype.setUTCMinutes(0); >Date : DateConstructor >prototype : Date >setUTCMinutes : (min: number, sec?: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setHours(0); >Date.prototype.setHours(0) : number @@ -278,7 +278,7 @@ Date.prototype.setHours(0); >Date : DateConstructor >prototype : Date >setHours : (hours: number, min?: number, sec?: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCHours(0); >Date.prototype.setUTCHours(0) : number @@ -287,7 +287,7 @@ Date.prototype.setUTCHours(0); >Date : DateConstructor >prototype : Date >setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number ->0 : number +>0 : 0 Date.prototype.setDate(0); >Date.prototype.setDate(0) : number @@ -296,7 +296,7 @@ Date.prototype.setDate(0); >Date : DateConstructor >prototype : Date >setDate : (date: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCDate(0); >Date.prototype.setUTCDate(0) : number @@ -305,7 +305,7 @@ Date.prototype.setUTCDate(0); >Date : DateConstructor >prototype : Date >setUTCDate : (date: number) => number ->0 : number +>0 : 0 Date.prototype.setMonth(0); >Date.prototype.setMonth(0) : number @@ -314,7 +314,7 @@ Date.prototype.setMonth(0); >Date : DateConstructor >prototype : Date >setMonth : (month: number, date?: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCMonth(0); >Date.prototype.setUTCMonth(0) : number @@ -323,7 +323,7 @@ Date.prototype.setUTCMonth(0); >Date : DateConstructor >prototype : Date >setUTCMonth : (month: number, date?: number) => number ->0 : number +>0 : 0 Date.prototype.setFullYear(0); >Date.prototype.setFullYear(0) : number @@ -332,7 +332,7 @@ Date.prototype.setFullYear(0); >Date : DateConstructor >prototype : Date >setFullYear : (year: number, month?: number, date?: number) => number ->0 : number +>0 : 0 Date.prototype.setUTCFullYear(0); >Date.prototype.setUTCFullYear(0) : number @@ -341,7 +341,7 @@ Date.prototype.setUTCFullYear(0); >Date : DateConstructor >prototype : Date >setUTCFullYear : (year: number, month?: number, date?: number) => number ->0 : number +>0 : 0 Date.prototype.toUTCString(); >Date.prototype.toUTCString() : string diff --git a/tests/baselines/reference/library_ObjectPrototypeProperties.types b/tests/baselines/reference/library_ObjectPrototypeProperties.types index 616a9da633b..2f41dd7c1eb 100644 --- a/tests/baselines/reference/library_ObjectPrototypeProperties.types +++ b/tests/baselines/reference/library_ObjectPrototypeProperties.types @@ -39,7 +39,7 @@ Object.prototype.hasOwnProperty("string"); >Object : ObjectConstructor >prototype : Object >hasOwnProperty : (v: string) => boolean ->"string" : string +>"string" : "string" Object.prototype.isPrototypeOf(Object); >Object.prototype.isPrototypeOf(Object) : boolean @@ -57,5 +57,5 @@ Object.prototype.propertyIsEnumerable("string"); >Object : ObjectConstructor >prototype : Object >propertyIsEnumerable : (v: string) => boolean ->"string" : string +>"string" : "string" diff --git a/tests/baselines/reference/library_RegExpExecArraySlice.types b/tests/baselines/reference/library_RegExpExecArraySlice.types index b4673adb988..0fd2a319833 100644 --- a/tests/baselines/reference/library_RegExpExecArraySlice.types +++ b/tests/baselines/reference/library_RegExpExecArraySlice.types @@ -15,13 +15,13 @@ regExpExecArrayValue.slice(0); >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] >regExpExecArrayValue : RegExpExecArray >slice : (start?: number, end?: number) => string[] ->0 : number +>0 : 0 regExpExecArrayValue.slice(0,1); >regExpExecArrayValue.slice(0,1) : string[] >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] >regExpExecArrayValue : RegExpExecArray >slice : (start?: number, end?: number) => string[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/library_StringSlice.types b/tests/baselines/reference/library_StringSlice.types index 09b2a0b3995..a4f8e2e98e9 100644 --- a/tests/baselines/reference/library_StringSlice.types +++ b/tests/baselines/reference/library_StringSlice.types @@ -15,7 +15,7 @@ String.prototype.slice(0); >String : StringConstructor >prototype : String >slice : (start?: number, end?: number) => string ->0 : number +>0 : 0 String.prototype.slice(0,1); >String.prototype.slice(0,1) : string @@ -24,6 +24,6 @@ String.prototype.slice(0,1); >String : StringConstructor >prototype : String >slice : (start?: number, end?: number) => string ->0 : number ->1 : number +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/literalTypes1.js b/tests/baselines/reference/literalTypes1.js new file mode 100644 index 00000000000..cf2923e250a --- /dev/null +++ b/tests/baselines/reference/literalTypes1.js @@ -0,0 +1,173 @@ +//// [literalTypes1.ts] + +let zero: 0 = 0; +let one: 1 = 1; +let two: 2 = 2; +let oneOrTwo: 1 | 2 = <1 | 2>1; + +function f1(x: 0 | 1 | 2) { + switch (x) { + case zero: + x; + break; + case one: + x; + break; + case two: + x; + break; + default: + x; + } +} + +function f2(x: 0 | 1 | 2) { + switch (x) { + case zero: + x; + break; + case oneOrTwo: + x; + break; + default: + x; + } +} + +type Falsy = false | 0 | "" | null | undefined; + +function f3(x: Falsy) { + if (x) { + x; + } + else { + x; + } +} + +function f4(x: 0 | 1 | true | string) { + switch (x) { + case 0: + x; + break; + case 1: + x; + break; + case "abc": + case "def": + x; + break; + case null: + x; + break; + case undefined: + x; + break; + default: + x; + } +} + +function f5(x: string | number | boolean) { + switch (x) { + case "abc": + x; + break; + case 0: + case 1: + x; + break; + case true: + x; + break; + case "hello": + case 123: + x; + break; + default: + x; + } +} + +//// [literalTypes1.js] +var zero = 0; +var one = 1; +var two = 2; +var oneOrTwo = 1; +function f1(x) { + switch (x) { + case zero: + x; + break; + case one: + x; + break; + case two: + x; + break; + default: + x; + } +} +function f2(x) { + switch (x) { + case zero: + x; + break; + case oneOrTwo: + x; + break; + default: + x; + } +} +function f3(x) { + if (x) { + x; + } + else { + x; + } +} +function f4(x) { + switch (x) { + case 0: + x; + break; + case 1: + x; + break; + case "abc": + case "def": + x; + break; + case null: + x; + break; + case undefined: + x; + break; + default: + x; + } +} +function f5(x) { + switch (x) { + case "abc": + x; + break; + case 0: + case 1: + x; + break; + case true: + x; + break; + case "hello": + case 123: + x; + break; + default: + x; + } +} diff --git a/tests/baselines/reference/literalTypes1.symbols b/tests/baselines/reference/literalTypes1.symbols new file mode 100644 index 00000000000..ea44ab51acc --- /dev/null +++ b/tests/baselines/reference/literalTypes1.symbols @@ -0,0 +1,170 @@ +=== tests/cases/conformance/types/literal/literalTypes1.ts === + +let zero: 0 = 0; +>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3)) + +let one: 1 = 1; +>one : Symbol(one, Decl(literalTypes1.ts, 2, 3)) + +let two: 2 = 2; +>two : Symbol(two, Decl(literalTypes1.ts, 3, 3)) + +let oneOrTwo: 1 | 2 = <1 | 2>1; +>oneOrTwo : Symbol(oneOrTwo, Decl(literalTypes1.ts, 4, 3)) + +function f1(x: 0 | 1 | 2) { +>f1 : Symbol(f1, Decl(literalTypes1.ts, 4, 31)) +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + + switch (x) { +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + + case zero: +>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + + break; + case one: +>one : Symbol(one, Decl(literalTypes1.ts, 2, 3)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + + break; + case two: +>two : Symbol(two, Decl(literalTypes1.ts, 3, 3)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + + break; + default: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 6, 12)) + } +} + +function f2(x: 0 | 1 | 2) { +>f2 : Symbol(f2, Decl(literalTypes1.ts, 20, 1)) +>x : Symbol(x, Decl(literalTypes1.ts, 22, 12)) + + switch (x) { +>x : Symbol(x, Decl(literalTypes1.ts, 22, 12)) + + case zero: +>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 22, 12)) + + break; + case oneOrTwo: +>oneOrTwo : Symbol(oneOrTwo, Decl(literalTypes1.ts, 4, 3)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 22, 12)) + + break; + default: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 22, 12)) + } +} + +type Falsy = false | 0 | "" | null | undefined; +>Falsy : Symbol(Falsy, Decl(literalTypes1.ts, 33, 1)) + +function f3(x: Falsy) { +>f3 : Symbol(f3, Decl(literalTypes1.ts, 35, 47)) +>x : Symbol(x, Decl(literalTypes1.ts, 37, 12)) +>Falsy : Symbol(Falsy, Decl(literalTypes1.ts, 33, 1)) + + if (x) { +>x : Symbol(x, Decl(literalTypes1.ts, 37, 12)) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 37, 12)) + } + else { + x; +>x : Symbol(x, Decl(literalTypes1.ts, 37, 12)) + } +} + +function f4(x: 0 | 1 | true | string) { +>f4 : Symbol(f4, Decl(literalTypes1.ts, 44, 1)) +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + switch (x) { +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + case 0: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + break; + case 1: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + break; + case "abc": + case "def": + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + break; + case null: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + break; + case undefined: +>undefined : Symbol(undefined) + + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + + break; + default: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 46, 12)) + } +} + +function f5(x: string | number | boolean) { +>f5 : Symbol(f5, Decl(literalTypes1.ts, 67, 1)) +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + switch (x) { +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + case "abc": + x; +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + break; + case 0: + case 1: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + break; + case true: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + break; + case "hello": + case 123: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + + break; + default: + x; +>x : Symbol(x, Decl(literalTypes1.ts, 69, 12)) + } +} diff --git a/tests/baselines/reference/literalTypes1.types b/tests/baselines/reference/literalTypes1.types new file mode 100644 index 00000000000..faff485d45a --- /dev/null +++ b/tests/baselines/reference/literalTypes1.types @@ -0,0 +1,200 @@ +=== tests/cases/conformance/types/literal/literalTypes1.ts === + +let zero: 0 = 0; +>zero : 0 +>0 : 0 + +let one: 1 = 1; +>one : 1 +>1 : 1 + +let two: 2 = 2; +>two : 2 +>2 : 2 + +let oneOrTwo: 1 | 2 = <1 | 2>1; +>oneOrTwo : 1 | 2 +><1 | 2>1 : 1 | 2 +>1 : 1 + +function f1(x: 0 | 1 | 2) { +>f1 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case zero: +>zero : 0 + + x; +>x : 0 + + break; + case one: +>one : 1 + + x; +>x : 1 + + break; + case two: +>two : 2 + + x; +>x : 2 + + break; + default: + x; +>x : never + } +} + +function f2(x: 0 | 1 | 2) { +>f2 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case zero: +>zero : 0 + + x; +>x : 0 | 1 | 2 + + break; + case oneOrTwo: +>oneOrTwo : 1 | 2 + + x; +>x : 0 | 1 | 2 + + break; + default: + x; +>x : 0 | 1 | 2 + } +} + +type Falsy = false | 0 | "" | null | undefined; +>Falsy : Falsy +>false : false +>null : null + +function f3(x: Falsy) { +>f3 : (x: Falsy) => void +>x : Falsy +>Falsy : Falsy + + if (x) { +>x : Falsy + + x; +>x : never + } + else { + x; +>x : Falsy + } +} + +function f4(x: 0 | 1 | true | string) { +>f4 : (x: string | true | 0 | 1) => void +>x : string | true | 0 | 1 +>true : true + + switch (x) { +>x : string | true | 0 | 1 + + case 0: +>0 : 0 + + x; +>x : 0 + + break; + case 1: +>1 : 1 + + x; +>x : 1 + + break; + case "abc": +>"abc" : "abc" + + case "def": +>"def" : "def" + + x; +>x : string + + break; + case null: +>null : null + + x; +>x : never + + break; + case undefined: +>undefined : undefined + + x; +>x : never + + break; + default: + x; +>x : string | true + } +} + +function f5(x: string | number | boolean) { +>f5 : (x: string | number | boolean) => void +>x : string | number | boolean + + switch (x) { +>x : string | number | boolean + + case "abc": +>"abc" : "abc" + + x; +>x : string + + break; + case 0: +>0 : 0 + + case 1: +>1 : 1 + + x; +>x : number + + break; + case true: +>true : true + + x; +>x : true + + break; + case "hello": +>"hello" : "hello" + + case 123: +>123 : 123 + + x; +>x : string | number + + break; + default: + x; +>x : string | number | false + } +} diff --git a/tests/baselines/reference/literalTypes2.js b/tests/baselines/reference/literalTypes2.js new file mode 100644 index 00000000000..415129b2d9b --- /dev/null +++ b/tests/baselines/reference/literalTypes2.js @@ -0,0 +1,348 @@ +//// [literalTypes2.ts] +enum E { + A, B, C +} + +let cond: boolean; + +function f1(p1 = 1, p2 = "abc", p3 = true, p4 = E.A) { + var v1 = 1; + var v2 = -123; + var v3 = 3 + 4; + var v4 = "abc"; + var v5 = ""; + var v6 = "abc" + "def"; + var v7 = true; + var v8 = E.A; + let x1 = 1; + let x2 = -123; + let x3 = 3 + 4; + let x4 = "abc"; + let x5 = ""; + let x6 = "abc" + "def"; + let x7 = true; + var x8 = E.A; + const c1 = 1; + const c2 = -123; + const c3 = 3 + 4; + const c4 = "abc"; + const c5 = ""; + const c6 = "abc" + "def"; + const c7 = true; + const c8 = E.A; +} + +function f2(p1: 1 = 1, p2: "abc" = "abc", p3: true = true, p4: E.A = E.A) { + var v1: 1 = 1; + var v2: -123 = -123; + var v3: "abc" = "abc"; + var v4: true = true; + var v5: E.A = E.A; + let x1: 1 = 1; + let x2: -123 = -123; + let x3: "abc" = "abc"; + let x4: true = true; + let x5: E.A = E.A; +} + +function f3() { + const c1 = cond ? 1 : 2; + const c2 = cond ? 1 : "two"; + const c3 = cond ? E.A : cond ? true : 123; + const c4 = cond ? "abc" : null; + const c5 = cond ? 456 : undefined; + const c6: { kind: 123 } = { kind: 123 }; + const c7: [1 | 2, "foo" | "bar"] = [1, "bar"]; + const c8 = cond ? c6 : cond ? c7 : "hello"; + let x1 = c1; + let x2 = c2; + let x3 = c3; + let x4 = c4; + let x5 = c5; + let x6 = c6; + let x7 = c7; + let x8 = c8; +} + +class C1 { + x1 = 1; + x2 = -123; + x3 = 3 + 4; + x4 = "abc"; + x5 = ""; + x6 = "abc" + "def"; + x7 = true; + x8 = E.A; + readonly c1 = 1; + readonly c2 = -123; + readonly c3 = 3 + 4; + readonly c4 = "abc"; + readonly c5 = ""; + readonly c6 = "abc" + "def"; + readonly c7 = true; + readonly c8 = E.A; +} + +function f4() { + const c1 = { a: 1, b: "foo" }; + const c2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; + let x1 = { a: 1, b: "foo" }; + let x2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; +} + +function f5() { + const c1 = [1, "foo"]; + const c2: (1 | "foo")[] = [1, "foo"]; + const c3: [1, "foo"] = [1, "foo"]; + let x1 = [1, "foo"]; + let x2: (1 | "foo")[] = [1, "foo"]; + let x3: [1, "foo"] = [1, "foo"]; +} + +function f6() { + const { c1 = true, c2 = 0, c3 = "foo" } = { c1: false, c2: 1, c3: "bar" }; + let { x1 = true, x2 = 0, x3 = "foo" } = { x1: false, x2: 1, x3: "bar" }; +} + +function f10() { + return "hello"; +} + +function f11() { + return cond ? 1 : "two"; +} + +function f12() { + if (cond) { + return 1; + } + else { + return "two"; + } +} + +class C2 { + foo() { + return 0; + } + bar() { + return cond ? 0 : 1; + } +} + +function f20() { + const f1 = () => 0; + const f2 = () => "hello"; + const f3 = () => true; + const f4 = () => E.C; + const f5 = (): "foo" => "foo"; + const f6: () => "foo" | "bar" = () => "bar"; + const f7: (() => "foo") | (() => "bar") = () => "bar"; +} + +declare function g1(x: T): T; +declare function g2(x: T, y: T): T; +declare function g3(x: T, y: U): T | U; +declare function g4(x: T): T[]; +declare function g5(x: T, y: T): T[]; +declare function g6(x: T[]): T; +declare function g7(x: T[]): T[]; +declare function g8(x: T, f: (p: T) => T): T; + +const a: (1 | 2)[] = [1, 2]; + +const x1 = g1(1); // Type 1 +const x2 = g2(1, 1); // Type 1 +const x3 = g2(1, 2); // Type 1 | 2 +const x4 = g3(1, "two"); // Type 1 | "two" +const x5 = g4(1); // Type number[] +const x6 = g5(1, 2); // Type (1 | 2)[] +const x7 = g6([1, 2]); // Type number +const x8 = g6(a); // Type 1 | 2 +const x9 = g7(a); // Type (1 | 2)[] +const x10 = g8(1, x => x); // Type number +const x11 = g8(1, x => x + 1); // Type number + +function makeArray(x: T): T[] { + return [x]; +} + +function append(a: T[], x: T): T[] { + let result = a.slice(); + result.push(x); + return result; +} + +type Bit = 0 | 1; + +let aa = makeArray(0); +aa = append(aa, 1); + + +//// [literalTypes2.js] +var E; +(function (E) { + E[E["A"] = 0] = "A"; + E[E["B"] = 1] = "B"; + E[E["C"] = 2] = "C"; +})(E || (E = {})); +var cond; +function f1(p1, p2, p3, p4) { + if (p1 === void 0) { p1 = 1; } + if (p2 === void 0) { p2 = "abc"; } + if (p3 === void 0) { p3 = true; } + if (p4 === void 0) { p4 = E.A; } + var v1 = 1; + var v2 = -123; + var v3 = 3 + 4; + var v4 = "abc"; + var v5 = ""; + var v6 = "abc" + "def"; + var v7 = true; + var v8 = E.A; + var x1 = 1; + var x2 = -123; + var x3 = 3 + 4; + var x4 = "abc"; + var x5 = ""; + var x6 = "abc" + "def"; + var x7 = true; + var x8 = E.A; + var c1 = 1; + var c2 = -123; + var c3 = 3 + 4; + var c4 = "abc"; + var c5 = ""; + var c6 = "abc" + "def"; + var c7 = true; + var c8 = E.A; +} +function f2(p1, p2, p3, p4) { + if (p1 === void 0) { p1 = 1; } + if (p2 === void 0) { p2 = "abc"; } + if (p3 === void 0) { p3 = true; } + if (p4 === void 0) { p4 = E.A; } + var v1 = 1; + var v2 = -123; + var v3 = "abc"; + var v4 = true; + var v5 = E.A; + var x1 = 1; + var x2 = -123; + var x3 = "abc"; + var x4 = true; + var x5 = E.A; +} +function f3() { + var c1 = cond ? 1 : 2; + var c2 = cond ? 1 : "two"; + var c3 = cond ? E.A : cond ? true : 123; + var c4 = cond ? "abc" : null; + var c5 = cond ? 456 : undefined; + var c6 = { kind: 123 }; + var c7 = [1, "bar"]; + var c8 = cond ? c6 : cond ? c7 : "hello"; + var x1 = c1; + var x2 = c2; + var x3 = c3; + var x4 = c4; + var x5 = c5; + var x6 = c6; + var x7 = c7; + var x8 = c8; +} +var C1 = (function () { + function C1() { + this.x1 = 1; + this.x2 = -123; + this.x3 = 3 + 4; + this.x4 = "abc"; + this.x5 = ""; + this.x6 = "abc" + "def"; + this.x7 = true; + this.x8 = E.A; + this.c1 = 1; + this.c2 = -123; + this.c3 = 3 + 4; + this.c4 = "abc"; + this.c5 = ""; + this.c6 = "abc" + "def"; + this.c7 = true; + this.c8 = E.A; + } + return C1; +}()); +function f4() { + var c1 = { a: 1, b: "foo" }; + var c2 = { a: 1, b: "foo" }; + var x1 = { a: 1, b: "foo" }; + var x2 = { a: 1, b: "foo" }; +} +function f5() { + var c1 = [1, "foo"]; + var c2 = [1, "foo"]; + var c3 = [1, "foo"]; + var x1 = [1, "foo"]; + var x2 = [1, "foo"]; + var x3 = [1, "foo"]; +} +function f6() { + var _a = { c1: false, c2: 1, c3: "bar" }, _b = _a.c1, c1 = _b === void 0 ? true : _b, _c = _a.c2, c2 = _c === void 0 ? 0 : _c, _d = _a.c3, c3 = _d === void 0 ? "foo" : _d; + var _e = { x1: false, x2: 1, x3: "bar" }, _f = _e.x1, x1 = _f === void 0 ? true : _f, _g = _e.x2, x2 = _g === void 0 ? 0 : _g, _h = _e.x3, x3 = _h === void 0 ? "foo" : _h; +} +function f10() { + return "hello"; +} +function f11() { + return cond ? 1 : "two"; +} +function f12() { + if (cond) { + return 1; + } + else { + return "two"; + } +} +var C2 = (function () { + function C2() { + } + C2.prototype.foo = function () { + return 0; + }; + C2.prototype.bar = function () { + return cond ? 0 : 1; + }; + return C2; +}()); +function f20() { + var f1 = function () { return 0; }; + var f2 = function () { return "hello"; }; + var f3 = function () { return true; }; + var f4 = function () { return E.C; }; + var f5 = function () { return "foo"; }; + var f6 = function () { return "bar"; }; + var f7 = function () { return "bar"; }; +} +var a = [1, 2]; +var x1 = g1(1); // Type 1 +var x2 = g2(1, 1); // Type 1 +var x3 = g2(1, 2); // Type 1 | 2 +var x4 = g3(1, "two"); // Type 1 | "two" +var x5 = g4(1); // Type number[] +var x6 = g5(1, 2); // Type (1 | 2)[] +var x7 = g6([1, 2]); // Type number +var x8 = g6(a); // Type 1 | 2 +var x9 = g7(a); // Type (1 | 2)[] +var x10 = g8(1, function (x) { return x; }); // Type number +var x11 = g8(1, function (x) { return x + 1; }); // Type number +function makeArray(x) { + return [x]; +} +function append(a, x) { + var result = a.slice(); + result.push(x); + return result; +} +var aa = makeArray(0); +aa = append(aa, 1); diff --git a/tests/baselines/reference/literalTypes2.symbols b/tests/baselines/reference/literalTypes2.symbols new file mode 100644 index 00000000000..a59a91eeb1a --- /dev/null +++ b/tests/baselines/reference/literalTypes2.symbols @@ -0,0 +1,602 @@ +=== tests/cases/conformance/types/literal/literalTypes2.ts === +enum E { +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) + + A, B, C +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>B : Symbol(E.B, Decl(literalTypes2.ts, 1, 6)) +>C : Symbol(E.C, Decl(literalTypes2.ts, 1, 9)) +} + +let cond: boolean; +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + +function f1(p1 = 1, p2 = "abc", p3 = true, p4 = E.A) { +>f1 : Symbol(f1, Decl(literalTypes2.ts, 4, 18)) +>p1 : Symbol(p1, Decl(literalTypes2.ts, 6, 12)) +>p2 : Symbol(p2, Decl(literalTypes2.ts, 6, 19)) +>p3 : Symbol(p3, Decl(literalTypes2.ts, 6, 31)) +>p4 : Symbol(p4, Decl(literalTypes2.ts, 6, 42)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + var v1 = 1; +>v1 : Symbol(v1, Decl(literalTypes2.ts, 7, 7)) + + var v2 = -123; +>v2 : Symbol(v2, Decl(literalTypes2.ts, 8, 7)) + + var v3 = 3 + 4; +>v3 : Symbol(v3, Decl(literalTypes2.ts, 9, 7)) + + var v4 = "abc"; +>v4 : Symbol(v4, Decl(literalTypes2.ts, 10, 7)) + + var v5 = ""; +>v5 : Symbol(v5, Decl(literalTypes2.ts, 11, 7)) + + var v6 = "abc" + "def"; +>v6 : Symbol(v6, Decl(literalTypes2.ts, 12, 7)) + + var v7 = true; +>v7 : Symbol(v7, Decl(literalTypes2.ts, 13, 7)) + + var v8 = E.A; +>v8 : Symbol(v8, Decl(literalTypes2.ts, 14, 7)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + let x1 = 1; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 15, 7)) + + let x2 = -123; +>x2 : Symbol(x2, Decl(literalTypes2.ts, 16, 7)) + + let x3 = 3 + 4; +>x3 : Symbol(x3, Decl(literalTypes2.ts, 17, 7)) + + let x4 = "abc"; +>x4 : Symbol(x4, Decl(literalTypes2.ts, 18, 7)) + + let x5 = ""; +>x5 : Symbol(x5, Decl(literalTypes2.ts, 19, 7)) + + let x6 = "abc" + "def"; +>x6 : Symbol(x6, Decl(literalTypes2.ts, 20, 7)) + + let x7 = true; +>x7 : Symbol(x7, Decl(literalTypes2.ts, 21, 7)) + + var x8 = E.A; +>x8 : Symbol(x8, Decl(literalTypes2.ts, 22, 7)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + const c1 = 1; +>c1 : Symbol(c1, Decl(literalTypes2.ts, 23, 9)) + + const c2 = -123; +>c2 : Symbol(c2, Decl(literalTypes2.ts, 24, 9)) + + const c3 = 3 + 4; +>c3 : Symbol(c3, Decl(literalTypes2.ts, 25, 9)) + + const c4 = "abc"; +>c4 : Symbol(c4, Decl(literalTypes2.ts, 26, 9)) + + const c5 = ""; +>c5 : Symbol(c5, Decl(literalTypes2.ts, 27, 9)) + + const c6 = "abc" + "def"; +>c6 : Symbol(c6, Decl(literalTypes2.ts, 28, 9)) + + const c7 = true; +>c7 : Symbol(c7, Decl(literalTypes2.ts, 29, 9)) + + const c8 = E.A; +>c8 : Symbol(c8, Decl(literalTypes2.ts, 30, 9)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +} + +function f2(p1: 1 = 1, p2: "abc" = "abc", p3: true = true, p4: E.A = E.A) { +>f2 : Symbol(f2, Decl(literalTypes2.ts, 31, 1)) +>p1 : Symbol(p1, Decl(literalTypes2.ts, 33, 12)) +>p2 : Symbol(p2, Decl(literalTypes2.ts, 33, 22)) +>p3 : Symbol(p3, Decl(literalTypes2.ts, 33, 41)) +>p4 : Symbol(p4, Decl(literalTypes2.ts, 33, 58)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + var v1: 1 = 1; +>v1 : Symbol(v1, Decl(literalTypes2.ts, 34, 7)) + + var v2: -123 = -123; +>v2 : Symbol(v2, Decl(literalTypes2.ts, 35, 7)) + + var v3: "abc" = "abc"; +>v3 : Symbol(v3, Decl(literalTypes2.ts, 36, 7)) + + var v4: true = true; +>v4 : Symbol(v4, Decl(literalTypes2.ts, 37, 7)) + + var v5: E.A = E.A; +>v5 : Symbol(v5, Decl(literalTypes2.ts, 38, 7)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + let x1: 1 = 1; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 39, 7)) + + let x2: -123 = -123; +>x2 : Symbol(x2, Decl(literalTypes2.ts, 40, 7)) + + let x3: "abc" = "abc"; +>x3 : Symbol(x3, Decl(literalTypes2.ts, 41, 7)) + + let x4: true = true; +>x4 : Symbol(x4, Decl(literalTypes2.ts, 42, 7)) + + let x5: E.A = E.A; +>x5 : Symbol(x5, Decl(literalTypes2.ts, 43, 7)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +} + +function f3() { +>f3 : Symbol(f3, Decl(literalTypes2.ts, 44, 1)) + + const c1 = cond ? 1 : 2; +>c1 : Symbol(c1, Decl(literalTypes2.ts, 47, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + + const c2 = cond ? 1 : "two"; +>c2 : Symbol(c2, Decl(literalTypes2.ts, 48, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + + const c3 = cond ? E.A : cond ? true : 123; +>c3 : Symbol(c3, Decl(literalTypes2.ts, 49, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + + const c4 = cond ? "abc" : null; +>c4 : Symbol(c4, Decl(literalTypes2.ts, 50, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + + const c5 = cond ? 456 : undefined; +>c5 : Symbol(c5, Decl(literalTypes2.ts, 51, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) +>undefined : Symbol(undefined) + + const c6: { kind: 123 } = { kind: 123 }; +>c6 : Symbol(c6, Decl(literalTypes2.ts, 52, 9)) +>kind : Symbol(kind, Decl(literalTypes2.ts, 52, 15)) +>kind : Symbol(kind, Decl(literalTypes2.ts, 52, 31)) + + const c7: [1 | 2, "foo" | "bar"] = [1, "bar"]; +>c7 : Symbol(c7, Decl(literalTypes2.ts, 53, 9)) + + const c8 = cond ? c6 : cond ? c7 : "hello"; +>c8 : Symbol(c8, Decl(literalTypes2.ts, 54, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) +>c6 : Symbol(c6, Decl(literalTypes2.ts, 52, 9)) +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) +>c7 : Symbol(c7, Decl(literalTypes2.ts, 53, 9)) + + let x1 = c1; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 55, 7)) +>c1 : Symbol(c1, Decl(literalTypes2.ts, 47, 9)) + + let x2 = c2; +>x2 : Symbol(x2, Decl(literalTypes2.ts, 56, 7)) +>c2 : Symbol(c2, Decl(literalTypes2.ts, 48, 9)) + + let x3 = c3; +>x3 : Symbol(x3, Decl(literalTypes2.ts, 57, 7)) +>c3 : Symbol(c3, Decl(literalTypes2.ts, 49, 9)) + + let x4 = c4; +>x4 : Symbol(x4, Decl(literalTypes2.ts, 58, 7)) +>c4 : Symbol(c4, Decl(literalTypes2.ts, 50, 9)) + + let x5 = c5; +>x5 : Symbol(x5, Decl(literalTypes2.ts, 59, 7)) +>c5 : Symbol(c5, Decl(literalTypes2.ts, 51, 9)) + + let x6 = c6; +>x6 : Symbol(x6, Decl(literalTypes2.ts, 60, 7)) +>c6 : Symbol(c6, Decl(literalTypes2.ts, 52, 9)) + + let x7 = c7; +>x7 : Symbol(x7, Decl(literalTypes2.ts, 61, 7)) +>c7 : Symbol(c7, Decl(literalTypes2.ts, 53, 9)) + + let x8 = c8; +>x8 : Symbol(x8, Decl(literalTypes2.ts, 62, 7)) +>c8 : Symbol(c8, Decl(literalTypes2.ts, 54, 9)) +} + +class C1 { +>C1 : Symbol(C1, Decl(literalTypes2.ts, 63, 1)) + + x1 = 1; +>x1 : Symbol(C1.x1, Decl(literalTypes2.ts, 65, 10)) + + x2 = -123; +>x2 : Symbol(C1.x2, Decl(literalTypes2.ts, 66, 11)) + + x3 = 3 + 4; +>x3 : Symbol(C1.x3, Decl(literalTypes2.ts, 67, 14)) + + x4 = "abc"; +>x4 : Symbol(C1.x4, Decl(literalTypes2.ts, 68, 15)) + + x5 = ""; +>x5 : Symbol(C1.x5, Decl(literalTypes2.ts, 69, 15)) + + x6 = "abc" + "def"; +>x6 : Symbol(C1.x6, Decl(literalTypes2.ts, 70, 12)) + + x7 = true; +>x7 : Symbol(C1.x7, Decl(literalTypes2.ts, 71, 23)) + + x8 = E.A; +>x8 : Symbol(C1.x8, Decl(literalTypes2.ts, 72, 14)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) + + readonly c1 = 1; +>c1 : Symbol(C1.c1, Decl(literalTypes2.ts, 73, 13)) + + readonly c2 = -123; +>c2 : Symbol(C1.c2, Decl(literalTypes2.ts, 74, 20)) + + readonly c3 = 3 + 4; +>c3 : Symbol(C1.c3, Decl(literalTypes2.ts, 75, 23)) + + readonly c4 = "abc"; +>c4 : Symbol(C1.c4, Decl(literalTypes2.ts, 76, 24)) + + readonly c5 = ""; +>c5 : Symbol(C1.c5, Decl(literalTypes2.ts, 77, 24)) + + readonly c6 = "abc" + "def"; +>c6 : Symbol(C1.c6, Decl(literalTypes2.ts, 78, 21)) + + readonly c7 = true; +>c7 : Symbol(C1.c7, Decl(literalTypes2.ts, 79, 32)) + + readonly c8 = E.A; +>c8 : Symbol(C1.c8, Decl(literalTypes2.ts, 80, 23)) +>E.A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>A : Symbol(E.A, Decl(literalTypes2.ts, 0, 8)) +} + +function f4() { +>f4 : Symbol(f4, Decl(literalTypes2.ts, 82, 1)) + + const c1 = { a: 1, b: "foo" }; +>c1 : Symbol(c1, Decl(literalTypes2.ts, 85, 9)) +>a : Symbol(a, Decl(literalTypes2.ts, 85, 16)) +>b : Symbol(b, Decl(literalTypes2.ts, 85, 22)) + + const c2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; +>c2 : Symbol(c2, Decl(literalTypes2.ts, 86, 9)) +>a : Symbol(a, Decl(literalTypes2.ts, 86, 15)) +>b : Symbol(b, Decl(literalTypes2.ts, 86, 26)) +>a : Symbol(a, Decl(literalTypes2.ts, 86, 49)) +>b : Symbol(b, Decl(literalTypes2.ts, 86, 55)) + + let x1 = { a: 1, b: "foo" }; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 87, 7)) +>a : Symbol(a, Decl(literalTypes2.ts, 87, 14)) +>b : Symbol(b, Decl(literalTypes2.ts, 87, 20)) + + let x2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; +>x2 : Symbol(x2, Decl(literalTypes2.ts, 88, 7)) +>a : Symbol(a, Decl(literalTypes2.ts, 88, 13)) +>b : Symbol(b, Decl(literalTypes2.ts, 88, 24)) +>a : Symbol(a, Decl(literalTypes2.ts, 88, 47)) +>b : Symbol(b, Decl(literalTypes2.ts, 88, 53)) +} + +function f5() { +>f5 : Symbol(f5, Decl(literalTypes2.ts, 89, 1)) + + const c1 = [1, "foo"]; +>c1 : Symbol(c1, Decl(literalTypes2.ts, 92, 9)) + + const c2: (1 | "foo")[] = [1, "foo"]; +>c2 : Symbol(c2, Decl(literalTypes2.ts, 93, 9)) + + const c3: [1, "foo"] = [1, "foo"]; +>c3 : Symbol(c3, Decl(literalTypes2.ts, 94, 9)) + + let x1 = [1, "foo"]; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 95, 7)) + + let x2: (1 | "foo")[] = [1, "foo"]; +>x2 : Symbol(x2, Decl(literalTypes2.ts, 96, 7)) + + let x3: [1, "foo"] = [1, "foo"]; +>x3 : Symbol(x3, Decl(literalTypes2.ts, 97, 7)) +} + +function f6() { +>f6 : Symbol(f6, Decl(literalTypes2.ts, 98, 1)) + + const { c1 = true, c2 = 0, c3 = "foo" } = { c1: false, c2: 1, c3: "bar" }; +>c1 : Symbol(c1, Decl(literalTypes2.ts, 101, 11)) +>c2 : Symbol(c2, Decl(literalTypes2.ts, 101, 22)) +>c3 : Symbol(c3, Decl(literalTypes2.ts, 101, 30)) +>c1 : Symbol(c1, Decl(literalTypes2.ts, 101, 47)) +>c2 : Symbol(c2, Decl(literalTypes2.ts, 101, 58)) +>c3 : Symbol(c3, Decl(literalTypes2.ts, 101, 65)) + + let { x1 = true, x2 = 0, x3 = "foo" } = { x1: false, x2: 1, x3: "bar" }; +>x1 : Symbol(x1, Decl(literalTypes2.ts, 102, 9)) +>x2 : Symbol(x2, Decl(literalTypes2.ts, 102, 20)) +>x3 : Symbol(x3, Decl(literalTypes2.ts, 102, 28)) +>x1 : Symbol(x1, Decl(literalTypes2.ts, 102, 45)) +>x2 : Symbol(x2, Decl(literalTypes2.ts, 102, 56)) +>x3 : Symbol(x3, Decl(literalTypes2.ts, 102, 63)) +} + +function f10() { +>f10 : Symbol(f10, Decl(literalTypes2.ts, 103, 1)) + + return "hello"; +} + +function f11() { +>f11 : Symbol(f11, Decl(literalTypes2.ts, 107, 1)) + + return cond ? 1 : "two"; +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) +} + +function f12() { +>f12 : Symbol(f12, Decl(literalTypes2.ts, 111, 1)) + + if (cond) { +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + + return 1; + } + else { + return "two"; + } +} + +class C2 { +>C2 : Symbol(C2, Decl(literalTypes2.ts, 120, 1)) + + foo() { +>foo : Symbol(C2.foo, Decl(literalTypes2.ts, 122, 10)) + + return 0; + } + bar() { +>bar : Symbol(C2.bar, Decl(literalTypes2.ts, 125, 5)) + + return cond ? 0 : 1; +>cond : Symbol(cond, Decl(literalTypes2.ts, 4, 3)) + } +} + +function f20() { +>f20 : Symbol(f20, Decl(literalTypes2.ts, 129, 1)) + + const f1 = () => 0; +>f1 : Symbol(f1, Decl(literalTypes2.ts, 132, 9)) + + const f2 = () => "hello"; +>f2 : Symbol(f2, Decl(literalTypes2.ts, 133, 9)) + + const f3 = () => true; +>f3 : Symbol(f3, Decl(literalTypes2.ts, 134, 9)) + + const f4 = () => E.C; +>f4 : Symbol(f4, Decl(literalTypes2.ts, 135, 9)) +>E.C : Symbol(E.C, Decl(literalTypes2.ts, 1, 9)) +>E : Symbol(E, Decl(literalTypes2.ts, 0, 0)) +>C : Symbol(E.C, Decl(literalTypes2.ts, 1, 9)) + + const f5 = (): "foo" => "foo"; +>f5 : Symbol(f5, Decl(literalTypes2.ts, 136, 9)) + + const f6: () => "foo" | "bar" = () => "bar"; +>f6 : Symbol(f6, Decl(literalTypes2.ts, 137, 9)) + + const f7: (() => "foo") | (() => "bar") = () => "bar"; +>f7 : Symbol(f7, Decl(literalTypes2.ts, 138, 9)) +} + +declare function g1(x: T): T; +>g1 : Symbol(g1, Decl(literalTypes2.ts, 139, 1)) +>T : Symbol(T, Decl(literalTypes2.ts, 141, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 141, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 141, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 141, 20)) + +declare function g2(x: T, y: T): T; +>g2 : Symbol(g2, Decl(literalTypes2.ts, 141, 32)) +>T : Symbol(T, Decl(literalTypes2.ts, 142, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 142, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 142, 20)) +>y : Symbol(y, Decl(literalTypes2.ts, 142, 28)) +>T : Symbol(T, Decl(literalTypes2.ts, 142, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 142, 20)) + +declare function g3(x: T, y: U): T | U; +>g3 : Symbol(g3, Decl(literalTypes2.ts, 142, 38)) +>T : Symbol(T, Decl(literalTypes2.ts, 143, 20)) +>U : Symbol(U, Decl(literalTypes2.ts, 143, 22)) +>x : Symbol(x, Decl(literalTypes2.ts, 143, 26)) +>T : Symbol(T, Decl(literalTypes2.ts, 143, 20)) +>y : Symbol(y, Decl(literalTypes2.ts, 143, 31)) +>U : Symbol(U, Decl(literalTypes2.ts, 143, 22)) +>T : Symbol(T, Decl(literalTypes2.ts, 143, 20)) +>U : Symbol(U, Decl(literalTypes2.ts, 143, 22)) + +declare function g4(x: T): T[]; +>g4 : Symbol(g4, Decl(literalTypes2.ts, 143, 45)) +>T : Symbol(T, Decl(literalTypes2.ts, 144, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 144, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 144, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 144, 20)) + +declare function g5(x: T, y: T): T[]; +>g5 : Symbol(g5, Decl(literalTypes2.ts, 144, 34)) +>T : Symbol(T, Decl(literalTypes2.ts, 145, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 145, 38)) +>T : Symbol(T, Decl(literalTypes2.ts, 145, 20)) +>y : Symbol(y, Decl(literalTypes2.ts, 145, 43)) +>T : Symbol(T, Decl(literalTypes2.ts, 145, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 145, 20)) + +declare function g6(x: T[]): T; +>g6 : Symbol(g6, Decl(literalTypes2.ts, 145, 55)) +>T : Symbol(T, Decl(literalTypes2.ts, 146, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 146, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 146, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 146, 20)) + +declare function g7(x: T[]): T[]; +>g7 : Symbol(g7, Decl(literalTypes2.ts, 146, 34)) +>T : Symbol(T, Decl(literalTypes2.ts, 147, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 147, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 147, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 147, 20)) + +declare function g8(x: T, f: (p: T) => T): T; +>g8 : Symbol(g8, Decl(literalTypes2.ts, 147, 36)) +>T : Symbol(T, Decl(literalTypes2.ts, 148, 20)) +>x : Symbol(x, Decl(literalTypes2.ts, 148, 23)) +>T : Symbol(T, Decl(literalTypes2.ts, 148, 20)) +>f : Symbol(f, Decl(literalTypes2.ts, 148, 28)) +>p : Symbol(p, Decl(literalTypes2.ts, 148, 33)) +>T : Symbol(T, Decl(literalTypes2.ts, 148, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 148, 20)) +>T : Symbol(T, Decl(literalTypes2.ts, 148, 20)) + +const a: (1 | 2)[] = [1, 2]; +>a : Symbol(a, Decl(literalTypes2.ts, 150, 5)) + +const x1 = g1(1); // Type 1 +>x1 : Symbol(x1, Decl(literalTypes2.ts, 152, 5)) +>g1 : Symbol(g1, Decl(literalTypes2.ts, 139, 1)) + +const x2 = g2(1, 1); // Type 1 +>x2 : Symbol(x2, Decl(literalTypes2.ts, 153, 5)) +>g2 : Symbol(g2, Decl(literalTypes2.ts, 141, 32)) + +const x3 = g2(1, 2); // Type 1 | 2 +>x3 : Symbol(x3, Decl(literalTypes2.ts, 154, 5)) +>g2 : Symbol(g2, Decl(literalTypes2.ts, 141, 32)) + +const x4 = g3(1, "two"); // Type 1 | "two" +>x4 : Symbol(x4, Decl(literalTypes2.ts, 155, 5)) +>g3 : Symbol(g3, Decl(literalTypes2.ts, 142, 38)) + +const x5 = g4(1); // Type number[] +>x5 : Symbol(x5, Decl(literalTypes2.ts, 156, 5)) +>g4 : Symbol(g4, Decl(literalTypes2.ts, 143, 45)) + +const x6 = g5(1, 2); // Type (1 | 2)[] +>x6 : Symbol(x6, Decl(literalTypes2.ts, 157, 5)) +>g5 : Symbol(g5, Decl(literalTypes2.ts, 144, 34)) + +const x7 = g6([1, 2]); // Type number +>x7 : Symbol(x7, Decl(literalTypes2.ts, 158, 5)) +>g6 : Symbol(g6, Decl(literalTypes2.ts, 145, 55)) + +const x8 = g6(a); // Type 1 | 2 +>x8 : Symbol(x8, Decl(literalTypes2.ts, 159, 5)) +>g6 : Symbol(g6, Decl(literalTypes2.ts, 145, 55)) +>a : Symbol(a, Decl(literalTypes2.ts, 150, 5)) + +const x9 = g7(a); // Type (1 | 2)[] +>x9 : Symbol(x9, Decl(literalTypes2.ts, 160, 5)) +>g7 : Symbol(g7, Decl(literalTypes2.ts, 146, 34)) +>a : Symbol(a, Decl(literalTypes2.ts, 150, 5)) + +const x10 = g8(1, x => x); // Type number +>x10 : Symbol(x10, Decl(literalTypes2.ts, 161, 5)) +>g8 : Symbol(g8, Decl(literalTypes2.ts, 147, 36)) +>x : Symbol(x, Decl(literalTypes2.ts, 161, 17)) +>x : Symbol(x, Decl(literalTypes2.ts, 161, 17)) + +const x11 = g8(1, x => x + 1); // Type number +>x11 : Symbol(x11, Decl(literalTypes2.ts, 162, 5)) +>g8 : Symbol(g8, Decl(literalTypes2.ts, 147, 36)) +>x : Symbol(x, Decl(literalTypes2.ts, 162, 17)) +>x : Symbol(x, Decl(literalTypes2.ts, 162, 17)) + +function makeArray(x: T): T[] { +>makeArray : Symbol(makeArray, Decl(literalTypes2.ts, 162, 30)) +>T : Symbol(T, Decl(literalTypes2.ts, 164, 19)) +>x : Symbol(x, Decl(literalTypes2.ts, 164, 22)) +>T : Symbol(T, Decl(literalTypes2.ts, 164, 19)) +>T : Symbol(T, Decl(literalTypes2.ts, 164, 19)) + + return [x]; +>x : Symbol(x, Decl(literalTypes2.ts, 164, 22)) +} + +function append(a: T[], x: T): T[] { +>append : Symbol(append, Decl(literalTypes2.ts, 166, 1)) +>T : Symbol(T, Decl(literalTypes2.ts, 168, 16)) +>a : Symbol(a, Decl(literalTypes2.ts, 168, 19)) +>T : Symbol(T, Decl(literalTypes2.ts, 168, 16)) +>x : Symbol(x, Decl(literalTypes2.ts, 168, 26)) +>T : Symbol(T, Decl(literalTypes2.ts, 168, 16)) +>T : Symbol(T, Decl(literalTypes2.ts, 168, 16)) + + let result = a.slice(); +>result : Symbol(result, Decl(literalTypes2.ts, 169, 7)) +>a.slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(literalTypes2.ts, 168, 19)) +>slice : Symbol(Array.slice, Decl(lib.d.ts, --, --)) + + result.push(x); +>result.push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>result : Symbol(result, Decl(literalTypes2.ts, 169, 7)) +>push : Symbol(Array.push, Decl(lib.d.ts, --, --)) +>x : Symbol(x, Decl(literalTypes2.ts, 168, 26)) + + return result; +>result : Symbol(result, Decl(literalTypes2.ts, 169, 7)) +} + +type Bit = 0 | 1; +>Bit : Symbol(Bit, Decl(literalTypes2.ts, 172, 1)) + +let aa = makeArray(0); +>aa : Symbol(aa, Decl(literalTypes2.ts, 176, 3)) +>makeArray : Symbol(makeArray, Decl(literalTypes2.ts, 162, 30)) +>Bit : Symbol(Bit, Decl(literalTypes2.ts, 172, 1)) + +aa = append(aa, 1); +>aa : Symbol(aa, Decl(literalTypes2.ts, 176, 3)) +>append : Symbol(append, Decl(literalTypes2.ts, 166, 1)) +>aa : Symbol(aa, Decl(literalTypes2.ts, 176, 3)) + diff --git a/tests/baselines/reference/literalTypes2.types b/tests/baselines/reference/literalTypes2.types new file mode 100644 index 00000000000..ba12ada644b --- /dev/null +++ b/tests/baselines/reference/literalTypes2.types @@ -0,0 +1,816 @@ +=== tests/cases/conformance/types/literal/literalTypes2.ts === +enum E { +>E : E + + A, B, C +>A : E.A +>B : E.B +>C : E.C +} + +let cond: boolean; +>cond : boolean + +function f1(p1 = 1, p2 = "abc", p3 = true, p4 = E.A) { +>f1 : (p1?: number, p2?: string, p3?: boolean, p4?: E) => void +>p1 : number +>1 : 1 +>p2 : string +>"abc" : "abc" +>p3 : boolean +>true : true +>p4 : E +>E.A : E.A +>E : typeof E +>A : E.A + + var v1 = 1; +>v1 : number +>1 : 1 + + var v2 = -123; +>v2 : number +>-123 : -123 +>123 : 123 + + var v3 = 3 + 4; +>v3 : number +>3 + 4 : number +>3 : 3 +>4 : 4 + + var v4 = "abc"; +>v4 : string +>"abc" : "abc" + + var v5 = ""; +>v5 : string +>"" : "" + + var v6 = "abc" + "def"; +>v6 : string +>"abc" + "def" : string +>"abc" : "abc" +>"def" : "def" + + var v7 = true; +>v7 : boolean +>true : true + + var v8 = E.A; +>v8 : E +>E.A : E.A +>E : typeof E +>A : E.A + + let x1 = 1; +>x1 : number +>1 : 1 + + let x2 = -123; +>x2 : number +>-123 : -123 +>123 : 123 + + let x3 = 3 + 4; +>x3 : number +>3 + 4 : number +>3 : 3 +>4 : 4 + + let x4 = "abc"; +>x4 : string +>"abc" : "abc" + + let x5 = ""; +>x5 : string +>"" : "" + + let x6 = "abc" + "def"; +>x6 : string +>"abc" + "def" : string +>"abc" : "abc" +>"def" : "def" + + let x7 = true; +>x7 : boolean +>true : true + + var x8 = E.A; +>x8 : E +>E.A : E.A +>E : typeof E +>A : E.A + + const c1 = 1; +>c1 : 1 +>1 : 1 + + const c2 = -123; +>c2 : -123 +>-123 : -123 +>123 : 123 + + const c3 = 3 + 4; +>c3 : number +>3 + 4 : number +>3 : 3 +>4 : 4 + + const c4 = "abc"; +>c4 : "abc" +>"abc" : "abc" + + const c5 = ""; +>c5 : "" +>"" : "" + + const c6 = "abc" + "def"; +>c6 : string +>"abc" + "def" : string +>"abc" : "abc" +>"def" : "def" + + const c7 = true; +>c7 : true +>true : true + + const c8 = E.A; +>c8 : E.A +>E.A : E.A +>E : typeof E +>A : E.A +} + +function f2(p1: 1 = 1, p2: "abc" = "abc", p3: true = true, p4: E.A = E.A) { +>f2 : (p1?: 1, p2?: "abc", p3?: true, p4?: E.A) => void +>p1 : 1 +>1 : 1 +>p2 : "abc" +>"abc" : "abc" +>p3 : true +>true : true +>true : true +>p4 : E.A +>E : any +>A : E.A +>E.A : E.A +>E : typeof E +>A : E.A + + var v1: 1 = 1; +>v1 : 1 +>1 : 1 + + var v2: -123 = -123; +>v2 : -123 +>-123 : -123 +>123 : 123 +>-123 : -123 +>123 : 123 + + var v3: "abc" = "abc"; +>v3 : "abc" +>"abc" : "abc" + + var v4: true = true; +>v4 : true +>true : true +>true : true + + var v5: E.A = E.A; +>v5 : E.A +>E : any +>A : E.A +>E.A : E.A +>E : typeof E +>A : E.A + + let x1: 1 = 1; +>x1 : 1 +>1 : 1 + + let x2: -123 = -123; +>x2 : -123 +>-123 : -123 +>123 : 123 +>-123 : -123 +>123 : 123 + + let x3: "abc" = "abc"; +>x3 : "abc" +>"abc" : "abc" + + let x4: true = true; +>x4 : true +>true : true +>true : true + + let x5: E.A = E.A; +>x5 : E.A +>E : any +>A : E.A +>E.A : E.A +>E : typeof E +>A : E.A +} + +function f3() { +>f3 : () => void + + const c1 = cond ? 1 : 2; +>c1 : 1 | 2 +>cond ? 1 : 2 : 1 | 2 +>cond : boolean +>1 : 1 +>2 : 2 + + const c2 = cond ? 1 : "two"; +>c2 : 1 | "two" +>cond ? 1 : "two" : 1 | "two" +>cond : boolean +>1 : 1 +>"two" : "two" + + const c3 = cond ? E.A : cond ? true : 123; +>c3 : true | E.A | 123 +>cond ? E.A : cond ? true : 123 : true | E.A | 123 +>cond : boolean +>E.A : E.A +>E : typeof E +>A : E.A +>cond ? true : 123 : true | 123 +>cond : boolean +>true : true +>123 : 123 + + const c4 = cond ? "abc" : null; +>c4 : "abc" +>cond ? "abc" : null : "abc" +>cond : boolean +>"abc" : "abc" +>null : null + + const c5 = cond ? 456 : undefined; +>c5 : 456 +>cond ? 456 : undefined : 456 +>cond : boolean +>456 : 456 +>undefined : undefined + + const c6: { kind: 123 } = { kind: 123 }; +>c6 : { kind: 123; } +>kind : 123 +>{ kind: 123 } : { kind: 123; } +>kind : number +>123 : 123 + + const c7: [1 | 2, "foo" | "bar"] = [1, "bar"]; +>c7 : [1 | 2, "foo" | "bar"] +>[1, "bar"] : [1, "bar"] +>1 : 1 +>"bar" : "bar" + + const c8 = cond ? c6 : cond ? c7 : "hello"; +>c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" +>cond ? c6 : cond ? c7 : "hello" : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" +>cond : boolean +>c6 : { kind: 123; } +>cond ? c7 : "hello" : [1 | 2, "foo" | "bar"] | "hello" +>cond : boolean +>c7 : [1 | 2, "foo" | "bar"] +>"hello" : "hello" + + let x1 = c1; +>x1 : number +>c1 : 1 | 2 + + let x2 = c2; +>x2 : string | number +>c2 : 1 | "two" + + let x3 = c3; +>x3 : number | boolean | E +>c3 : true | E.A | 123 + + let x4 = c4; +>x4 : string +>c4 : "abc" + + let x5 = c5; +>x5 : number +>c5 : 456 + + let x6 = c6; +>x6 : { kind: 123; } +>c6 : { kind: 123; } + + let x7 = c7; +>x7 : [1 | 2, "foo" | "bar"] +>c7 : [1 | 2, "foo" | "bar"] + + let x8 = c8; +>x8 : string | { kind: 123; } | [1 | 2, "foo" | "bar"] +>c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" +} + +class C1 { +>C1 : C1 + + x1 = 1; +>x1 : number +>1 : 1 + + x2 = -123; +>x2 : number +>-123 : -123 +>123 : 123 + + x3 = 3 + 4; +>x3 : number +>3 + 4 : number +>3 : 3 +>4 : 4 + + x4 = "abc"; +>x4 : string +>"abc" : "abc" + + x5 = ""; +>x5 : string +>"" : "" + + x6 = "abc" + "def"; +>x6 : string +>"abc" + "def" : string +>"abc" : "abc" +>"def" : "def" + + x7 = true; +>x7 : boolean +>true : true + + x8 = E.A; +>x8 : E +>E.A : E.A +>E : typeof E +>A : E.A + + readonly c1 = 1; +>c1 : 1 +>1 : 1 + + readonly c2 = -123; +>c2 : -123 +>-123 : -123 +>123 : 123 + + readonly c3 = 3 + 4; +>c3 : number +>3 + 4 : number +>3 : 3 +>4 : 4 + + readonly c4 = "abc"; +>c4 : "abc" +>"abc" : "abc" + + readonly c5 = ""; +>c5 : "" +>"" : "" + + readonly c6 = "abc" + "def"; +>c6 : string +>"abc" + "def" : string +>"abc" : "abc" +>"def" : "def" + + readonly c7 = true; +>c7 : true +>true : true + + readonly c8 = E.A; +>c8 : E.A +>E.A : E.A +>E : typeof E +>A : E.A +} + +function f4() { +>f4 : () => void + + const c1 = { a: 1, b: "foo" }; +>c1 : { a: number; b: string; } +>{ a: 1, b: "foo" } : { a: number; b: string; } +>a : number +>1 : 1 +>b : string +>"foo" : "foo" + + const c2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; +>c2 : { a: 0 | 1; b: "foo" | "bar"; } +>a : 0 | 1 +>b : "foo" | "bar" +>{ a: 1, b: "foo" } : { a: 1; b: "foo"; } +>a : number +>1 : 1 +>b : string +>"foo" : "foo" + + let x1 = { a: 1, b: "foo" }; +>x1 : { a: number; b: string; } +>{ a: 1, b: "foo" } : { a: number; b: string; } +>a : number +>1 : 1 +>b : string +>"foo" : "foo" + + let x2: { a : 0 | 1, b: "foo" | "bar" } = { a: 1, b: "foo" }; +>x2 : { a: 0 | 1; b: "foo" | "bar"; } +>a : 0 | 1 +>b : "foo" | "bar" +>{ a: 1, b: "foo" } : { a: 1; b: "foo"; } +>a : number +>1 : 1 +>b : string +>"foo" : "foo" +} + +function f5() { +>f5 : () => void + + const c1 = [1, "foo"]; +>c1 : (string | number)[] +>[1, "foo"] : (string | number)[] +>1 : 1 +>"foo" : "foo" + + const c2: (1 | "foo")[] = [1, "foo"]; +>c2 : (1 | "foo")[] +>[1, "foo"] : (1 | "foo")[] +>1 : 1 +>"foo" : "foo" + + const c3: [1, "foo"] = [1, "foo"]; +>c3 : [1, "foo"] +>[1, "foo"] : [1, "foo"] +>1 : 1 +>"foo" : "foo" + + let x1 = [1, "foo"]; +>x1 : (string | number)[] +>[1, "foo"] : (string | number)[] +>1 : 1 +>"foo" : "foo" + + let x2: (1 | "foo")[] = [1, "foo"]; +>x2 : (1 | "foo")[] +>[1, "foo"] : (1 | "foo")[] +>1 : 1 +>"foo" : "foo" + + let x3: [1, "foo"] = [1, "foo"]; +>x3 : [1, "foo"] +>[1, "foo"] : [1, "foo"] +>1 : 1 +>"foo" : "foo" +} + +function f6() { +>f6 : () => void + + const { c1 = true, c2 = 0, c3 = "foo" } = { c1: false, c2: 1, c3: "bar" }; +>c1 : boolean +>true : true +>c2 : 0 | 1 +>0 : 0 +>c3 : "foo" | "bar" +>"foo" : "foo" +>{ c1: false, c2: 1, c3: "bar" } : { c1?: false; c2?: 1; c3?: "bar"; } +>c1 : boolean +>false : false +>c2 : number +>1 : 1 +>c3 : string +>"bar" : "bar" + + let { x1 = true, x2 = 0, x3 = "foo" } = { x1: false, x2: 1, x3: "bar" }; +>x1 : boolean +>true : true +>x2 : number +>0 : 0 +>x3 : string +>"foo" : "foo" +>{ x1: false, x2: 1, x3: "bar" } : { x1?: false; x2?: number; x3?: string; } +>x1 : boolean +>false : false +>x2 : number +>1 : 1 +>x3 : string +>"bar" : "bar" +} + +function f10() { +>f10 : () => string + + return "hello"; +>"hello" : "hello" +} + +function f11() { +>f11 : () => 1 | "two" + + return cond ? 1 : "two"; +>cond ? 1 : "two" : 1 | "two" +>cond : boolean +>1 : 1 +>"two" : "two" +} + +function f12() { +>f12 : () => 1 | "two" + + if (cond) { +>cond : boolean + + return 1; +>1 : 1 + } + else { + return "two"; +>"two" : "two" + } +} + +class C2 { +>C2 : C2 + + foo() { +>foo : () => number + + return 0; +>0 : 0 + } + bar() { +>bar : () => 0 | 1 + + return cond ? 0 : 1; +>cond ? 0 : 1 : 0 | 1 +>cond : boolean +>0 : 0 +>1 : 1 + } +} + +function f20() { +>f20 : () => void + + const f1 = () => 0; +>f1 : () => number +>() => 0 : () => number +>0 : 0 + + const f2 = () => "hello"; +>f2 : () => string +>() => "hello" : () => string +>"hello" : "hello" + + const f3 = () => true; +>f3 : () => boolean +>() => true : () => boolean +>true : true + + const f4 = () => E.C; +>f4 : () => E +>() => E.C : () => E +>E.C : E.C +>E : typeof E +>C : E.C + + const f5 = (): "foo" => "foo"; +>f5 : () => "foo" +>(): "foo" => "foo" : () => "foo" +>"foo" : "foo" + + const f6: () => "foo" | "bar" = () => "bar"; +>f6 : () => "foo" | "bar" +>() => "bar" : () => "bar" +>"bar" : "bar" + + const f7: (() => "foo") | (() => "bar") = () => "bar"; +>f7 : (() => "foo") | (() => "bar") +>() => "bar" : () => "bar" +>"bar" : "bar" +} + +declare function g1(x: T): T; +>g1 : (x: T) => T +>T : T +>x : T +>T : T +>T : T + +declare function g2(x: T, y: T): T; +>g2 : (x: T, y: T) => T +>T : T +>x : T +>T : T +>y : T +>T : T +>T : T + +declare function g3(x: T, y: U): T | U; +>g3 : (x: T, y: U) => T | U +>T : T +>U : U +>x : T +>T : T +>y : U +>U : U +>T : T +>U : U + +declare function g4(x: T): T[]; +>g4 : (x: T) => T[] +>T : T +>x : T +>T : T +>T : T + +declare function g5(x: T, y: T): T[]; +>g5 : (x: T, y: T) => T[] +>T : T +>x : T +>T : T +>y : T +>T : T +>T : T + +declare function g6(x: T[]): T; +>g6 : (x: T[]) => T +>T : T +>x : T[] +>T : T +>T : T + +declare function g7(x: T[]): T[]; +>g7 : (x: T[]) => T[] +>T : T +>x : T[] +>T : T +>T : T + +declare function g8(x: T, f: (p: T) => T): T; +>g8 : (x: T, f: (p: T) => T) => T +>T : T +>x : T +>T : T +>f : (p: T) => T +>p : T +>T : T +>T : T +>T : T + +const a: (1 | 2)[] = [1, 2]; +>a : (1 | 2)[] +>[1, 2] : (1 | 2)[] +>1 : 1 +>2 : 2 + +const x1 = g1(1); // Type 1 +>x1 : 1 +>g1(1) : 1 +>g1 : (x: T) => T +>1 : 1 + +const x2 = g2(1, 1); // Type 1 +>x2 : 1 +>g2(1, 1) : 1 +>g2 : (x: T, y: T) => T +>1 : 1 +>1 : 1 + +const x3 = g2(1, 2); // Type 1 | 2 +>x3 : 1 | 2 +>g2(1, 2) : 1 | 2 +>g2 : (x: T, y: T) => T +>1 : 1 +>2 : 2 + +const x4 = g3(1, "two"); // Type 1 | "two" +>x4 : 1 | "two" +>g3(1, "two") : 1 | "two" +>g3 : (x: T, y: U) => T | U +>1 : 1 +>"two" : "two" + +const x5 = g4(1); // Type number[] +>x5 : number[] +>g4(1) : number[] +>g4 : (x: T) => T[] +>1 : 1 + +const x6 = g5(1, 2); // Type (1 | 2)[] +>x6 : (1 | 2)[] +>g5(1, 2) : (1 | 2)[] +>g5 : (x: T, y: T) => T[] +>1 : 1 +>2 : 2 + +const x7 = g6([1, 2]); // Type number +>x7 : number +>g6([1, 2]) : number +>g6 : (x: T[]) => T +>[1, 2] : number[] +>1 : 1 +>2 : 2 + +const x8 = g6(a); // Type 1 | 2 +>x8 : 1 | 2 +>g6(a) : 1 | 2 +>g6 : (x: T[]) => T +>a : (1 | 2)[] + +const x9 = g7(a); // Type (1 | 2)[] +>x9 : (1 | 2)[] +>g7(a) : (1 | 2)[] +>g7 : (x: T[]) => T[] +>a : (1 | 2)[] + +const x10 = g8(1, x => x); // Type number +>x10 : number +>g8(1, x => x) : number +>g8 : (x: T, f: (p: T) => T) => T +>1 : 1 +>x => x : (x: number) => number +>x : number +>x : number + +const x11 = g8(1, x => x + 1); // Type number +>x11 : number +>g8(1, x => x + 1) : number +>g8 : (x: T, f: (p: T) => T) => T +>1 : 1 +>x => x + 1 : (x: number) => number +>x : number +>x + 1 : number +>x : number +>1 : 1 + +function makeArray(x: T): T[] { +>makeArray : (x: T) => T[] +>T : T +>x : T +>T : T +>T : T + + return [x]; +>[x] : T[] +>x : T +} + +function append(a: T[], x: T): T[] { +>append : (a: T[], x: T) => T[] +>T : T +>a : T[] +>T : T +>x : T +>T : T +>T : T + + let result = a.slice(); +>result : T[] +>a.slice() : T[] +>a.slice : (start?: number, end?: number) => T[] +>a : T[] +>slice : (start?: number, end?: number) => T[] + + result.push(x); +>result.push(x) : number +>result.push : (...items: T[]) => number +>result : T[] +>push : (...items: T[]) => number +>x : T + + return result; +>result : T[] +} + +type Bit = 0 | 1; +>Bit : 0 | 1 + +let aa = makeArray(0); +>aa : (0 | 1)[] +>makeArray(0) : (0 | 1)[] +>makeArray : (x: T) => T[] +>Bit : 0 | 1 +>0 : 0 + +aa = append(aa, 1); +>aa = append(aa, 1) : (0 | 1)[] +>aa : (0 | 1)[] +>append(aa, 1) : (0 | 1)[] +>append : (a: T[], x: T) => T[] +>aa : (0 | 1)[] +>1 : 1 + diff --git a/tests/baselines/reference/literals1.types b/tests/baselines/reference/literals1.types index 69e50c22f4a..5b1a5c9cd68 100644 --- a/tests/baselines/reference/literals1.types +++ b/tests/baselines/reference/literals1.types @@ -1,47 +1,47 @@ === tests/cases/compiler/literals1.ts === var a = 42; >a : number ->42 : number +>42 : 42 var b = 0xFA34; >b : number ->0xFA34 : number +>0xFA34 : 64052 var c = 0.1715; >c : number ->0.1715 : number +>0.1715 : 0.1715 var d = 3.14E5; >d : number ->3.14E5 : number +>3.14E5 : 314000 var e = 8.14e-5; >e : number ->8.14e-5 : number +>8.14e-5 : 0.0000814 var f = true; >f : boolean ->true : boolean +>true : true var g = false; >g : boolean ->false : boolean +>false : false var h = ""; >h : string ->"" : string +>"" : "" var i = "hi"; >i : string ->"hi" : string +>"hi" : "hi" var j = ''; >j : string ->'' : string +>'' : "" var k = 'q\tq'; >k : string ->'q\tq' : string +>'q\tq' : "q\tq" var m = /q/; >m : RegExp diff --git a/tests/baselines/reference/literalsInComputedProperties1.js b/tests/baselines/reference/literalsInComputedProperties1.js index 82a6367e5d2..77eb70c2396 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.js +++ b/tests/baselines/reference/literalsInComputedProperties1.js @@ -58,8 +58,7 @@ var x = (_a = { _a[2] = 1, _a["3"] = 1, _a["4"] = 1, - _a -); + _a); x[1].toExponential(); x[2].toExponential(); x[3].toExponential(); @@ -81,7 +80,7 @@ z[3].toExponential(); z[4].toExponential(); var X; (function (X) { - X[X["1"] = 1] = "1"; + X[X[1] = 1] = 1; X[X[2] = 2] = 2; X[X["3"] = 3] = "3"; X[X["4"] = 4] = "4"; diff --git a/tests/baselines/reference/localAliasExportAssignment.js b/tests/baselines/reference/localAliasExportAssignment.js index 4a8c519dc77..46ca09c2caa 100644 --- a/tests/baselines/reference/localAliasExportAssignment.js +++ b/tests/baselines/reference/localAliasExportAssignment.js @@ -23,5 +23,5 @@ module.exports = server; //// [localAliasExportAssignment_1.js] "use strict"; /// -var connect = require('./localAliasExportAssignment_0'); +var connect = require("./localAliasExportAssignment_0"); connect(); diff --git a/tests/baselines/reference/localClassesInLoop.js b/tests/baselines/reference/localClassesInLoop.js index 0090ada863d..d01d86da8d1 100644 --- a/tests/baselines/reference/localClassesInLoop.js +++ b/tests/baselines/reference/localClassesInLoop.js @@ -13,7 +13,7 @@ use(data[0]() === data[1]()); //// [localClassesInLoop.js] "use strict"; var data = []; -var _loop_1 = function(x) { +var _loop_1 = function (x) { var C = (function () { function C() { } diff --git a/tests/baselines/reference/localClassesInLoop.types b/tests/baselines/reference/localClassesInLoop.types index f1c06f93463..c88bfc0435d 100644 --- a/tests/baselines/reference/localClassesInLoop.types +++ b/tests/baselines/reference/localClassesInLoop.types @@ -4,7 +4,7 @@ declare function use(a: any); >a : any "use strict" ->"use strict" : string +>"use strict" : "use strict" var data = []; >data : any[] @@ -12,10 +12,10 @@ var data = []; for (let x = 0; x < 2; ++x) { >x : number ->0 : number +>0 : 0 >x < 2 : boolean >x : number ->2 : number +>2 : 2 >++x : number >x : number @@ -38,9 +38,9 @@ use(data[0]() === data[1]()); >data[0]() : any >data[0] : any >data : any[] ->0 : number +>0 : 0 >data[1]() : any >data[1] : any >data : any[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/localClassesInLoop_ES6.types b/tests/baselines/reference/localClassesInLoop_ES6.types index 518e75f4afa..9d487f6c600 100644 --- a/tests/baselines/reference/localClassesInLoop_ES6.types +++ b/tests/baselines/reference/localClassesInLoop_ES6.types @@ -5,7 +5,7 @@ declare function use(a: any); >a : any "use strict" ->"use strict" : string +>"use strict" : "use strict" var data = []; >data : any[] @@ -13,10 +13,10 @@ var data = []; for (let x = 0; x < 2; ++x) { >x : number ->0 : number +>0 : 0 >x < 2 : boolean >x : number ->2 : number +>2 : 2 >++x : number >x : number @@ -39,9 +39,9 @@ use(data[0]() === data[1]()); >data[0]() : any >data[0] : any >data : any[] ->0 : number +>0 : 0 >data[1]() : any >data[1] : any >data : any[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/localImportNameVsGlobalName.types b/tests/baselines/reference/localImportNameVsGlobalName.types index 7cb45208e81..d70cac65adf 100644 --- a/tests/baselines/reference/localImportNameVsGlobalName.types +++ b/tests/baselines/reference/localImportNameVsGlobalName.types @@ -4,10 +4,10 @@ module Keyboard { export enum Key { UP, DOWN, LEFT, RIGHT } >Key : Key ->UP : Key ->DOWN : Key ->LEFT : Key ->RIGHT : Key +>UP : Key.UP +>DOWN : Key.DOWN +>LEFT : Key.LEFT +>RIGHT : Key.RIGHT } module App { @@ -26,21 +26,21 @@ module App { foo(Key.UP); >foo(Key.UP) : void >foo : (key: Key) => void ->Key.UP : Key +>Key.UP : Key.UP >Key : typeof Key ->UP : Key +>UP : Key.UP foo(Key.DOWN); >foo(Key.DOWN) : void >foo : (key: Key) => void ->Key.DOWN : Key +>Key.DOWN : Key.DOWN >Key : typeof Key ->DOWN : Key +>DOWN : Key.DOWN foo(Key.LEFT); >foo(Key.LEFT) : void >foo : (key: Key) => void ->Key.LEFT : Key +>Key.LEFT : Key.LEFT >Key : typeof Key ->LEFT : Key +>LEFT : Key.LEFT } diff --git a/tests/baselines/reference/localTypes1.types b/tests/baselines/reference/localTypes1.types index 1770a36edb7..7ac6896b9f3 100644 --- a/tests/baselines/reference/localTypes1.types +++ b/tests/baselines/reference/localTypes1.types @@ -7,9 +7,9 @@ function f1() { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -37,15 +37,15 @@ function f1() { >C : typeof C a[0].x = E.B; ->a[0].x = E.B : E +>a[0].x = E.B : E.B >a[0].x : E >a[0] : I >a : I[] ->0 : number +>0 : 0 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return a; >a : I[] @@ -61,9 +61,9 @@ function f2() { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -91,15 +91,15 @@ function f2() { >C : typeof C a[0].x = E.B; ->a[0].x = E.B : E +>a[0].x = E.B : E.B >a[0].x : E >a[0] : I >a : I[] ->0 : number +>0 : 0 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return a; >a : I[] @@ -114,15 +114,15 @@ function f3(b: boolean) { >b : boolean if (true) { ->true : boolean +>true : true enum E { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } if (b) { >b : boolean @@ -153,15 +153,15 @@ function f3(b: boolean) { >C : typeof C a[0].x = E.B; ->a[0].x = E.B : E +>a[0].x = E.B : E.B >a[0].x : E >a[0] : I >a : I[] ->0 : number +>0 : 0 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return a; >a : I[] @@ -193,15 +193,15 @@ function f3(b: boolean) { >A : typeof A c[0].x = E.B; ->c[0].x = E.B : E +>c[0].x = E.B : E.B >c[0].x : E >c[0] : J >c : J[] ->0 : number +>0 : 0 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return c; >c : J[] @@ -220,9 +220,9 @@ function f5() { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -243,9 +243,9 @@ function f5() { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -268,9 +268,9 @@ class A { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -287,9 +287,9 @@ class A { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -309,9 +309,9 @@ class A { >E : E A, B, C ->A : E ->B : E ->C : E +>A : E.A +>B : E.B +>C : E.C } class C { >C : C @@ -361,25 +361,25 @@ function f6() { >C : typeof C x.a = "a"; ->x.a = "a" : string +>x.a = "a" : "a" >x.a : string >x : C >a : string ->"a" : string +>"a" : "a" x.b = "b"; ->x.b = "b" : string +>x.b = "b" : "b" >x.b : string >x : C >b : string ->"b" : string +>"b" : "b" x.c = "c"; ->x.c = "c" : string +>x.c = "c" : "c" >x.c : string >x : C >c : string ->"c" : string +>"c" : "c" return x; >x : C diff --git a/tests/baselines/reference/localTypes2.types b/tests/baselines/reference/localTypes2.types index a6b85b7bb14..e661b9fc0bf 100644 --- a/tests/baselines/reference/localTypes2.types +++ b/tests/baselines/reference/localTypes2.types @@ -24,8 +24,8 @@ function f1() { >v : C >new C(10, 20) : C >C : typeof C ->10 : number ->20 : number +>10 : 10 +>20 : 20 let x = v.x; >x : number @@ -64,13 +64,13 @@ function f2() { >C : typeof C >f(10) : typeof C >f : (x: number) => typeof C ->10 : number +>10 : 10 let v = new C(20); >v : C >new C(20) : C >C : typeof C ->20 : number +>20 : 20 let x = v.x; >x : number @@ -111,8 +111,8 @@ function f3() { >C : typeof C >f(10, 20) : typeof C >f : (x: number, y: number) => typeof C ->10 : number ->20 : number +>10 : 10 +>20 : 20 let v = new C(); >v : C diff --git a/tests/baselines/reference/localTypes3.types b/tests/baselines/reference/localTypes3.types index 551096468c5..3ce32fef9e6 100644 --- a/tests/baselines/reference/localTypes3.types +++ b/tests/baselines/reference/localTypes3.types @@ -28,8 +28,8 @@ function f1() { >v : C >new C(10, "hello") : C >C : typeof C ->10 : number ->"hello" : string +>10 : 10 +>"hello" : "hello" let x = v.x; >x : number @@ -72,13 +72,13 @@ function f2() { >C : typeof C >f(10) : typeof C >f : (x: X) => typeof C ->10 : number +>10 : 10 let v = new C("hello"); >v : f.C >new C("hello") : f.C >C : typeof C ->"hello" : string +>"hello" : "hello" let x = v.x; >x : number @@ -123,8 +123,8 @@ function f3() { >C : typeof C >f(10, "hello") : typeof C >f : (x: X, y: Y) => typeof C ->10 : number ->"hello" : string +>10 : 10 +>"hello" : "hello" let v = new C(); >v : f.C diff --git a/tests/baselines/reference/logicalAndOperatorStrictMode.types b/tests/baselines/reference/logicalAndOperatorStrictMode.types index a824af2f811..892da985120 100644 --- a/tests/baselines/reference/logicalAndOperatorStrictMode.types +++ b/tests/baselines/reference/logicalAndOperatorStrictMode.types @@ -3,19 +3,19 @@ const a = [0]; >a : number[] >[0] : number[] ->0 : number +>0 : 0 const s = ""; ->s : string ->"" : string +>s : "" +>"" : "" const x = 0; ->x : number ->0 : number +>x : 0 +>0 : 0 const b = false; ->b : boolean ->false : boolean +>b : false +>false : false const v: void = undefined; >v : void @@ -30,11 +30,11 @@ const n = null; >null : null const z = s || x || u; ->z : string | number | undefined ->s || x || u : string | number | undefined ->s || x : string | number ->s : string ->x : number +>z : undefined +>s || x || u : undefined +>s || x : 0 +>s : "" +>x : 0 >u : undefined const a1 = a && a; @@ -44,22 +44,22 @@ const a1 = a && a; >a : number[] const a2 = a && s; ->a2 : string ->a && s : string +>a2 : "" +>a && s : "" >a : number[] ->s : string +>s : "" const a3 = a && x; ->a3 : number ->a && x : number +>a3 : 0 +>a && x : 0 >a : number[] ->x : number +>x : 0 const a4 = a && b; ->a4 : boolean ->a && b : boolean +>a4 : false +>a && b : false >a : number[] ->b : boolean +>b : false const a5 = a && v; >a5 : void @@ -80,178 +80,178 @@ const a7 = a && n; >n : null const a8 = a && z; ->a8 : string | number | undefined ->a && z : string | number | undefined +>a8 : undefined +>a && z : undefined >a : number[] ->z : string | number | undefined +>z : undefined const s1 = s && a; ->s1 : number[] ->s && a : number[] ->s : string +>s1 : "" +>s && a : "" +>s : "" >a : number[] const s2 = s && s; ->s2 : string ->s && s : string ->s : string ->s : string +>s2 : "" +>s && s : "" +>s : "" +>s : never const s3 = s && x; ->s3 : number ->s && x : number ->s : string ->x : number +>s3 : "" +>s && x : "" +>s : "" +>x : 0 const s4 = s && b; ->s4 : boolean ->s && b : boolean ->s : string ->b : boolean +>s4 : "" +>s && b : "" +>s : "" +>b : false const s5 = s && v; ->s5 : void ->s && v : void ->s : string +>s5 : "" +>s && v : "" +>s : "" >v : void const s6 = s && u; ->s6 : undefined ->s && u : undefined ->s : string +>s6 : "" +>s && u : "" +>s : "" >u : undefined const s7 = s && n; ->s7 : null ->s && n : null ->s : string +>s7 : "" +>s && n : "" +>s : "" >n : null const s8 = s && z; ->s8 : string | number | undefined ->s && z : string | number | undefined ->s : string ->z : string | number | undefined +>s8 : "" +>s && z : "" +>s : "" +>z : undefined const x1 = x && a; ->x1 : number[] ->x && a : number[] ->x : number +>x1 : 0 +>x && a : 0 +>x : 0 >a : number[] const x2 = x && s; ->x2 : string ->x && s : string ->x : number ->s : string +>x2 : 0 +>x && s : 0 +>x : 0 +>s : "" const x3 = x && x; ->x3 : number ->x && x : number ->x : number ->x : number +>x3 : 0 +>x && x : 0 +>x : 0 +>x : never const x4 = x && b; ->x4 : boolean ->x && b : boolean ->x : number ->b : boolean +>x4 : 0 +>x && b : 0 +>x : 0 +>b : false const x5 = x && v; ->x5 : void ->x && v : void ->x : number +>x5 : 0 +>x && v : 0 +>x : 0 >v : void const x6 = x && u; ->x6 : undefined ->x && u : undefined ->x : number +>x6 : 0 +>x && u : 0 +>x : 0 >u : undefined const x7 = x && n; ->x7 : null ->x && n : null ->x : number +>x7 : 0 +>x && n : 0 +>x : 0 >n : null const x8 = x && z; ->x8 : string | number | undefined ->x && z : string | number | undefined ->x : number ->z : string | number | undefined +>x8 : 0 +>x && z : 0 +>x : 0 +>z : undefined const b1 = b && a; ->b1 : number[] ->b && a : number[] ->b : boolean +>b1 : false +>b && a : false +>b : false >a : number[] const b2 = b && s; ->b2 : string ->b && s : string ->b : boolean ->s : string +>b2 : false +>b && s : false +>b : false +>s : "" const b3 = b && x; ->b3 : number ->b && x : number ->b : boolean ->x : number +>b3 : false +>b && x : false +>b : false +>x : 0 const b4 = b && b; ->b4 : boolean ->b && b : boolean ->b : boolean ->b : boolean +>b4 : false +>b && b : false +>b : false +>b : never const b5 = b && v; ->b5 : void ->b && v : void ->b : boolean +>b5 : false +>b && v : false +>b : false >v : void const b6 = b && u; ->b6 : undefined ->b && u : undefined ->b : boolean +>b6 : false +>b && u : false +>b : false >u : undefined const b7 = b && n; ->b7 : null ->b && n : null ->b : boolean +>b7 : false +>b && n : false +>b : false >n : null const b8 = b && z; ->b8 : string | number | undefined ->b && z : string | number | undefined ->b : boolean ->z : string | number | undefined +>b8 : false +>b && z : false +>b : false +>z : undefined const v1 = v && a; ->v1 : number[] | void ->v && a : number[] | void +>v1 : void +>v && a : void >v : void >a : number[] const v2 = v && s; ->v2 : string | void ->v && s : string | void +>v2 : void +>v && s : void >v : void ->s : string +>s : "" const v3 = v && x; ->v3 : number | void ->v && x : number | void +>v3 : void +>v && x : void >v : void ->x : number +>x : 0 const v4 = v && b; ->v4 : boolean | void ->v && b : boolean | void +>v4 : void +>v && b : void >v : void ->b : boolean +>b : false const v5 = v && v; >v5 : void @@ -266,44 +266,44 @@ const v6 = v && u; >u : undefined const v7 = v && n; ->v7 : void | null ->v && n : void | null +>v7 : void +>v && n : void >v : void >n : null const v8 = v && z; ->v8 : string | number | void ->v && z : string | number | void +>v8 : void +>v && z : void >v : void ->z : string | number | undefined +>z : undefined const u1 = u && a; ->u1 : number[] | undefined ->u && a : number[] | undefined +>u1 : undefined +>u && a : undefined >u : undefined >a : number[] const u2 = u && s; ->u2 : string | undefined ->u && s : string | undefined +>u2 : undefined +>u && s : undefined >u : undefined ->s : string +>s : "" const u3 = u && x; ->u3 : number | undefined ->u && x : number | undefined +>u3 : undefined +>u && x : undefined >u : undefined ->x : number +>x : 0 const u4 = u && b; ->u4 : boolean | undefined ->u && b : boolean | undefined +>u4 : undefined +>u && b : undefined >u : undefined ->b : boolean +>b : false const u5 = u && v; ->u5 : void ->u && v : void +>u5 : undefined +>u && v : undefined >u : undefined >v : void @@ -314,50 +314,50 @@ const u6 = u && u; >u : never const u7 = u && n; ->u7 : null | undefined ->u && n : null | undefined +>u7 : undefined +>u && n : undefined >u : undefined >n : null const u8 = u && z; ->u8 : string | number | undefined ->u && z : string | number | undefined +>u8 : undefined +>u && z : undefined >u : undefined ->z : string | number | undefined +>z : undefined const n1 = n && a; ->n1 : number[] | null ->n && a : number[] | null +>n1 : null +>n && a : null >n : null >a : number[] const n2 = n && s; ->n2 : string | null ->n && s : string | null +>n2 : null +>n && s : null >n : null ->s : string +>s : "" const n3 = n && x; ->n3 : number | null ->n && x : number | null +>n3 : null +>n && x : null >n : null ->x : number +>x : 0 const n4 = n && b; ->n4 : boolean | null ->n && b : boolean | null +>n4 : null +>n && b : null >n : null ->b : boolean +>b : false const n5 = n && v; ->n5 : void | null ->n && v : void | null +>n5 : null +>n && v : null >n : null >v : void const n6 = n && u; ->n6 : null | undefined ->n && u : null | undefined +>n6 : null +>n && u : null >n : null >u : undefined @@ -368,56 +368,56 @@ const n7 = n && n; >n : never const n8 = n && z; ->n8 : string | number | null | undefined ->n && z : string | number | null | undefined +>n8 : null +>n && z : null >n : null ->z : string | number | undefined +>z : undefined const z1 = z && a; ->z1 : number[] | undefined ->z && a : number[] | undefined ->z : string | number | undefined +>z1 : undefined +>z && a : undefined +>z : undefined >a : number[] const z2 = z && s; ->z2 : string | undefined ->z && s : string | undefined ->z : string | number | undefined ->s : string +>z2 : undefined +>z && s : undefined +>z : undefined +>s : "" const z3 = z && x; ->z3 : number | undefined ->z && x : number | undefined ->z : string | number | undefined ->x : number +>z3 : undefined +>z && x : undefined +>z : undefined +>x : 0 const z4 = z && b; ->z4 : boolean | undefined ->z && b : boolean | undefined ->z : string | number | undefined ->b : boolean +>z4 : undefined +>z && b : undefined +>z : undefined +>b : false const z5 = z && v; ->z5 : void ->z && v : void ->z : string | number | undefined +>z5 : undefined +>z && v : undefined +>z : undefined >v : void const z6 = z && u; >z6 : undefined >z && u : undefined ->z : string | number | undefined +>z : undefined >u : undefined const z7 = z && n; ->z7 : null | undefined ->z && n : null | undefined ->z : string | number | undefined +>z7 : undefined +>z && n : undefined +>z : undefined >n : null const z8 = z && z; ->z8 : string | number | undefined ->z && z : string | number | undefined ->z : string | number | undefined ->z : string | number +>z8 : undefined +>z && z : undefined +>z : undefined +>z : never diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.types b/tests/baselines/reference/logicalAndOperatorWithEveryType.types index bd913e94da5..54770acfab4 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.types @@ -4,9 +4,9 @@ enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a1: any; >a1 : any @@ -58,8 +58,8 @@ var ra4 = a4 && a1; >a1 : any var ra5 = a5 && a1; ->ra5 : any ->a5 && a1 : any +>ra5 : void +>a5 && a1 : void >a5 : void >a1 : any @@ -83,13 +83,13 @@ var ra8 = a8 && a1; var ra9 = null && a1; >ra9 : any ->null && a1 : any +>null && a1 : null >null : null >a1 : any var ra10 = undefined && a1; >ra10 : any ->undefined && a1 : any +>undefined && a1 : undefined >undefined : undefined >a1 : any @@ -103,7 +103,7 @@ var rb2 = a2 && a2; >rb2 : boolean >a2 && a2 : boolean >a2 : boolean ->a2 : boolean +>a2 : true var rb3 = a3 && a2; >rb3 : boolean @@ -118,8 +118,8 @@ var rb4 = a4 && a2; >a2 : boolean var rb5 = a5 && a2; ->rb5 : boolean ->a5 && a2 : boolean +>rb5 : void +>a5 && a2 : void >a5 : void >a2 : boolean @@ -142,14 +142,14 @@ var rb8 = a8 && a2; >a2 : boolean var rb9 = null && a2; ->rb9 : boolean ->null && a2 : boolean +>rb9 : any +>null && a2 : null >null : null >a2 : boolean var rb10 = undefined && a2; ->rb10 : boolean ->undefined && a2 : boolean +>rb10 : any +>undefined && a2 : undefined >undefined : undefined >a2 : boolean @@ -178,8 +178,8 @@ var rc4 = a4 && a3; >a3 : number var rc5 = a5 && a3; ->rc5 : number ->a5 && a3 : number +>rc5 : void +>a5 && a3 : void >a5 : void >a3 : number @@ -202,14 +202,14 @@ var rc8 = a8 && a3; >a3 : number var rc9 = null && a3; ->rc9 : number ->null && a3 : number +>rc9 : any +>null && a3 : null >null : null >a3 : number var rc10 = undefined && a3; ->rc10 : number ->undefined && a3 : number +>rc10 : any +>undefined && a3 : undefined >undefined : undefined >a3 : number @@ -238,8 +238,8 @@ var rd4 = a4 && a4; >a4 : string var rd5 = a5 && a4; ->rd5 : string ->a5 && a4 : string +>rd5 : void +>a5 && a4 : void >a5 : void >a4 : string @@ -262,14 +262,14 @@ var rd8 = a8 && a4; >a4 : string var rd9 = null && a4; ->rd9 : string ->null && a4 : string +>rd9 : any +>null && a4 : null >null : null >a4 : string var rd10 = undefined && a4; ->rd10 : string ->undefined && a4 : string +>rd10 : any +>undefined && a4 : undefined >undefined : undefined >a4 : string @@ -322,14 +322,14 @@ var re8 = a8 && a5; >a5 : void var re9 = null && a5; ->re9 : void ->null && a5 : void +>re9 : any +>null && a5 : null >null : null >a5 : void var re10 = undefined && a5; ->re10 : void ->undefined && a5 : void +>re10 : any +>undefined && a5 : undefined >undefined : undefined >a5 : void @@ -358,16 +358,16 @@ var rf4 = a4 && a6; >a6 : E var rf5 = a5 && a6; ->rf5 : E ->a5 && a6 : E +>rf5 : void +>a5 && a6 : void >a5 : void >a6 : E var rf6 = a6 && a6; >rf6 : E ->a6 && a6 : E ->a6 : E +>a6 && a6 : E.b | E.c >a6 : E +>a6 : E.b | E.c var rf7 = a7 && a6; >rf7 : E @@ -382,14 +382,14 @@ var rf8 = a8 && a6; >a6 : E var rf9 = null && a6; ->rf9 : E ->null && a6 : E +>rf9 : any +>null && a6 : null >null : null >a6 : E var rf10 = undefined && a6; ->rf10 : E ->undefined && a6 : E +>rf10 : any +>undefined && a6 : undefined >undefined : undefined >a6 : E @@ -418,8 +418,8 @@ var rg4 = a4 && a7; >a7 : {} var rg5 = a5 && a7; ->rg5 : {} ->a5 && a7 : {} +>rg5 : void +>a5 && a7 : void >a5 : void >a7 : {} @@ -442,14 +442,14 @@ var rg8 = a8 && a7; >a7 : {} var rg9 = null && a7; ->rg9 : {} ->null && a7 : {} +>rg9 : any +>null && a7 : null >null : null >a7 : {} var rg10 = undefined && a7; ->rg10 : {} ->undefined && a7 : {} +>rg10 : any +>undefined && a7 : undefined >undefined : undefined >a7 : {} @@ -478,8 +478,8 @@ var rh4 = a4 && a8; >a8 : string[] var rh5 = a5 && a8; ->rh5 : string[] ->a5 && a8 : string[] +>rh5 : void +>a5 && a8 : void >a5 : void >a8 : string[] @@ -502,14 +502,14 @@ var rh8 = a8 && a8; >a8 : string[] var rh9 = null && a8; ->rh9 : string[] ->null && a8 : string[] +>rh9 : any +>null && a8 : null >null : null >a8 : string[] var rh10 = undefined && a8; ->rh10 : string[] ->undefined && a8 : string[] +>rh10 : any +>undefined && a8 : undefined >undefined : undefined >a8 : string[] @@ -538,8 +538,8 @@ var ri4 = a4 && null; >null : null var ri5 = a5 && null; ->ri5 : any ->a5 && null : null +>ri5 : void +>a5 && null : void >a5 : void >null : null @@ -569,7 +569,7 @@ var ri9 = null && null; var ri10 = undefined && null; >ri10 : any ->undefined && null : null +>undefined && null : undefined >undefined : undefined >null : null @@ -598,8 +598,8 @@ var rj4 = a4 && undefined; >undefined : undefined var rj5 = a5 && undefined; ->rj5 : any ->a5 && undefined : undefined +>rj5 : void +>a5 && undefined : void >a5 : void >undefined : undefined @@ -623,7 +623,7 @@ var rj8 = a8 && undefined; var rj9 = null && undefined; >rj9 : any ->null && undefined : undefined +>null && undefined : null >null : null >undefined : undefined diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types index b8aa6feac4c..93fdea731f1 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types @@ -5,7 +5,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -15,7 +15,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -39,16 +39,16 @@ var ResultIsBoolean1 = !BOOLEAN; var ResultIsBoolean2 = !true; >ResultIsBoolean2 : boolean >!true : boolean ->true : boolean +>true : true var ResultIsBoolean3 = !{ x: true, y: false }; >ResultIsBoolean3 : boolean >!{ x: true, y: false } : boolean >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsBoolean4 = !objA.a; @@ -89,7 +89,7 @@ var ResultIsBoolean = !!BOOLEAN; // miss assignment operators !true; >!true : boolean ->true : boolean +>true : true !BOOLEAN; >!BOOLEAN : boolean @@ -101,10 +101,10 @@ var ResultIsBoolean = !!BOOLEAN; >foo : () => boolean !true, false; ->!true, false : boolean +>!true, false : false >!true : boolean ->true : boolean ->false : boolean +>true : true +>false : false !objA.a; >!objA.a : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithEnumType.types b/tests/baselines/reference/logicalNotOperatorWithEnumType.types index 5d57916ceaa..4495038eb85 100644 --- a/tests/baselines/reference/logicalNotOperatorWithEnumType.types +++ b/tests/baselines/reference/logicalNotOperatorWithEnumType.types @@ -3,9 +3,9 @@ enum ENUM { A, B, C }; >ENUM : ENUM ->A : ENUM ->B : ENUM ->C : ENUM +>A : ENUM.A +>B : ENUM.B +>C : ENUM.C enum ENUM1 { }; >ENUM1 : ENUM1 @@ -20,21 +20,21 @@ var ResultIsBoolean1 = !ENUM; var ResultIsBoolean2 = !ENUM["B"]; >ResultIsBoolean2 : boolean >!ENUM["B"] : boolean ->ENUM["B"] : ENUM +>ENUM["B"] : ENUM.B >ENUM : typeof ENUM ->"B" : string +>"B" : "B" var ResultIsBoolean3 = !(ENUM.B + ENUM["C"]); >ResultIsBoolean3 : boolean >!(ENUM.B + ENUM["C"]) : boolean >(ENUM.B + ENUM["C"]) : number >ENUM.B + ENUM["C"] : number ->ENUM.B : ENUM +>ENUM.B : ENUM.B >ENUM : typeof ENUM ->B : ENUM ->ENUM["C"] : ENUM +>B : ENUM.B +>ENUM["C"] : ENUM.C >ENUM : typeof ENUM ->"C" : string +>"C" : "C" // multiple ! operators var ResultIsBoolean4 = !!ENUM; @@ -50,12 +50,12 @@ var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C); >!(ENUM["B"] + ENUM.C) : boolean >(ENUM["B"] + ENUM.C) : number >ENUM["B"] + ENUM.C : number ->ENUM["B"] : ENUM +>ENUM["B"] : ENUM.B >ENUM : typeof ENUM ->"B" : string ->ENUM.C : ENUM +>"B" : "B" +>ENUM.C : ENUM.C >ENUM : typeof ENUM ->C : ENUM +>C : ENUM.C // miss assignment operators !ENUM; @@ -68,9 +68,9 @@ var ResultIsBoolean5 = !!!(ENUM["B"] + ENUM.C); !ENUM.B; >!ENUM.B : boolean ->ENUM.B : ENUM +>ENUM.B : ENUM.B >ENUM : typeof ENUM ->B : ENUM +>B : ENUM.B !ENUM, ENUM1; >!ENUM, ENUM1 : typeof ENUM1 diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.types b/tests/baselines/reference/logicalNotOperatorWithNumberType.types index 6b7ce5b6088..f66f878c3be 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.types +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsBoolean2 = !NUMBER1; var ResultIsBoolean3 = !1; >ResultIsBoolean3 : boolean >!1 : boolean ->1 : number +>1 : 1 var ResultIsBoolean4 = !{ x: 1, y: 2}; >ResultIsBoolean4 : boolean >!{ x: 1, y: 2} : boolean >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsBoolean5 = !{ x: 1, y: (n: number) => { return n; } }; >ResultIsBoolean5 : boolean >!{ x: 1, y: (n: number) => { return n; } } : boolean >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsBoolean8 = !NUMBER1[0]; >!NUMBER1[0] : boolean >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsBoolean9 = !foo(); >ResultIsBoolean9 : boolean @@ -136,7 +136,7 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); // miss assignment operators !1; >!1 : boolean ->1 : number +>1 : 1 !NUMBER; >!NUMBER : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.types b/tests/baselines/reference/logicalNotOperatorWithStringType.types index 5ca820ea6d0..0d3c1e88fd1 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.types +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.types @@ -6,12 +6,12 @@ var STRING: string; var STRING1: string[] = ["", "abc"]; >STRING1 : string[] >["", "abc"] : string[] ->"" : string ->"abc" : string +>"" : "" +>"abc" : "abc" function foo(): string { return "abc"; } >foo : () => string ->"abc" : string +>"abc" : "abc" class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return ""; } >foo : () => string ->"" : string +>"" : "" } module M { >M : typeof M @@ -49,24 +49,24 @@ var ResultIsBoolean2 = !STRING1; // string type literal var ResultIsBoolean3 = !""; >ResultIsBoolean3 : boolean ->!"" : boolean ->"" : string +>!"" : true +>"" : "" var ResultIsBoolean4 = !{ x: "", y: "" }; >ResultIsBoolean4 : boolean >!{ x: "", y: "" } : boolean >{ x: "", y: "" } : { x: string; y: string; } >x : string ->"" : string +>"" : "" >y : string ->"" : string +>"" : "" var ResultIsBoolean5 = !{ x: "", y: (s: string) => { return s; } }; >ResultIsBoolean5 : boolean >!{ x: "", y: (s: string) => { return s; } } : boolean >{ x: "", y: (s: string) => { return s; } } : { x: string; y: (s: string) => string; } >x : string ->"" : string +>"" : "" >y : (s: string) => string >(s: string) => { return s; } : (s: string) => string >s : string @@ -92,7 +92,7 @@ var ResultIsBoolean8 = !STRING1[0]; >!STRING1[0] : boolean >STRING1[0] : string >STRING1 : string[] ->0 : number +>0 : 0 var ResultIsBoolean9 = !foo(); >ResultIsBoolean9 : boolean @@ -123,7 +123,7 @@ var ResultIsBoolean12 = !STRING.charAt(0); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 // multiple ! operator var ResultIsBoolean13 = !!STRING; @@ -144,8 +144,8 @@ var ResultIsBoolean14 = !!!(STRING + STRING); // miss assignment operators !""; ->!"" : boolean ->"" : string +>!"" : true +>"" : "" !STRING; >!STRING : boolean diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 4540e35aaf4..327ae64cf07 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -6,9 +6,9 @@ enum E { a, b, c } >E : E ->a : E ->b : E ->c : E +>a : E.a +>b : E.b +>c : E.c var a1: any; >a1 : any @@ -121,26 +121,26 @@ var rb4 = a4 || a2; // string || boolean is string | boolean >a2 : boolean var rb5 = a5 || a2; // void || boolean is void | boolean ->rb5 : void | boolean ->a5 || a2 : void | boolean +>rb5 : boolean +>a5 || a2 : boolean >a5 : void >a2 : boolean var rb6 = a6 || a2; // enum || boolean is E | boolean ->rb6 : E | boolean ->a6 || a2 : E | boolean +>rb6 : boolean | E +>a6 || a2 : boolean | E >a6 : E >a2 : boolean var rb7 = a7 || a2; // object || boolean is object | boolean ->rb7 : { a: string; } | boolean ->a7 || a2 : { a: string; } | boolean +>rb7 : boolean | { a: string; } +>a7 || a2 : boolean | { a: string; } >a7 : { a: string; } >a2 : boolean var rb8 = a8 || a2; // array || boolean is array | boolean ->rb8 : string[] | boolean ->a8 || a2 : string[] | boolean +>rb8 : boolean | string[] +>a8 || a2 : boolean | string[] >a8 : string[] >a2 : boolean @@ -163,8 +163,8 @@ var rc1 = a1 || a3; // any || number is any >a3 : number var rc2 = a2 || a3; // boolean || number is boolean | number ->rc2 : boolean | number ->a2 || a3 : boolean | number +>rc2 : number | boolean +>a2 || a3 : number | true >a2 : boolean >a3 : number @@ -181,8 +181,8 @@ var rc4 = a4 || a3; // string || number is string | number >a3 : number var rc5 = a5 || a3; // void || number is void | number ->rc5 : void | number ->a5 || a3 : void | number +>rc5 : number +>a5 || a3 : number >a5 : void >a3 : number @@ -193,14 +193,14 @@ var rc6 = a6 || a3; // enum || number is number >a3 : number var rc7 = a7 || a3; // object || number is object | number ->rc7 : { a: string; } | number ->a7 || a3 : { a: string; } | number +>rc7 : number | { a: string; } +>a7 || a3 : number | { a: string; } >a7 : { a: string; } >a3 : number var rc8 = a8 || a3; // array || number is array | number ->rc8 : string[] | number ->a8 || a3 : string[] | number +>rc8 : number | string[] +>a8 || a3 : number | string[] >a8 : string[] >a3 : number @@ -223,14 +223,14 @@ var rd1 = a1 || a4; // any || string is any >a4 : string var rd2 = a2 || a4; // boolean || string is boolean | string ->rd2 : boolean | string ->a2 || a4 : boolean | string +>rd2 : string | boolean +>a2 || a4 : string | true >a2 : boolean >a4 : string var rd3 = a3 || a4; // number || string is number | string ->rd3 : number | string ->a3 || a4 : number | string +>rd3 : string | number +>a3 || a4 : string | number >a3 : number >a4 : string @@ -241,26 +241,26 @@ var rd4 = a4 || a4; // string || string is string >a4 : string var rd5 = a5 || a4; // void || string is void | string ->rd5 : void | string ->a5 || a4 : void | string +>rd5 : string +>a5 || a4 : string >a5 : void >a4 : string var rd6 = a6 || a4; // enum || string is enum | string ->rd6 : E | string ->a6 || a4 : E | string +>rd6 : string | E +>a6 || a4 : string | E >a6 : E >a4 : string var rd7 = a7 || a4; // object || string is object | string ->rd7 : { a: string; } | string ->a7 || a4 : { a: string; } | string +>rd7 : string | { a: string; } +>a7 || a4 : string | { a: string; } >a7 : { a: string; } >a4 : string var rd8 = a8 || a4; // array || string is array | string ->rd8 : string[] | string ->a8 || a4 : string[] | string +>rd8 : string | string[] +>a8 || a4 : string | string[] >a8 : string[] >a4 : string @@ -284,7 +284,7 @@ var re1 = a1 || a5; // any || void is any var re2 = a2 || a5; // boolean || void is boolean | void >re2 : boolean | void ->a2 || a5 : boolean | void +>a2 || a5 : true | void >a2 : boolean >a5 : void @@ -307,20 +307,20 @@ var re5 = a5 || a5; // void || void is void >a5 : void var re6 = a6 || a5; // enum || void is enum | void ->re6 : E | void ->a6 || a5 : E | void +>re6 : void | E +>a6 || a5 : void | E >a6 : E >a5 : void var re7 = a7 || a5; // object || void is object | void ->re7 : { a: string; } | void ->a7 || a5 : { a: string; } | void +>re7 : void | { a: string; } +>a7 || a5 : void | { a: string; } >a7 : { a: string; } >a5 : void var re8 = a8 || a5; // array || void is array | void ->re8 : string[] | void ->a8 || a5 : string[] | void +>re8 : void | string[] +>a8 || a5 : void | string[] >a8 : string[] >a5 : void @@ -344,7 +344,7 @@ var rg1 = a1 || a6; // any || enum is any var rg2 = a2 || a6; // boolean || enum is boolean | enum >rg2 : boolean | E ->a2 || a6 : boolean | E +>a2 || a6 : true | E >a2 : boolean >a6 : E @@ -361,8 +361,8 @@ var rg4 = a4 || a6; // string || enum is string | enum >a6 : E var rg5 = a5 || a6; // void || enum is void | enum ->rg5 : void | E ->a5 || a6 : void | E +>rg5 : E +>a5 || a6 : E >a5 : void >a6 : E @@ -373,14 +373,14 @@ var rg6 = a6 || a6; // enum || enum is E >a6 : E var rg7 = a7 || a6; // object || enum is object | enum ->rg7 : { a: string; } | E ->a7 || a6 : { a: string; } | E +>rg7 : E | { a: string; } +>a7 || a6 : E | { a: string; } >a7 : { a: string; } >a6 : E var rg8 = a8 || a6; // array || enum is array | enum ->rg8 : string[] | E ->a8 || a6 : string[] | E +>rg8 : E | string[] +>a8 || a6 : E | string[] >a8 : string[] >a6 : E @@ -404,7 +404,7 @@ var rh1 = a1 || a7; // any || object is any var rh2 = a2 || a7; // boolean || object is boolean | object >rh2 : boolean | { a: string; } ->a2 || a7 : boolean | { a: string; } +>a2 || a7 : true | { a: string; } >a2 : boolean >a7 : { a: string; } @@ -421,8 +421,8 @@ var rh4 = a4 || a7; // string || object is string | object >a7 : { a: string; } var rh5 = a5 || a7; // void || object is void | object ->rh5 : void | { a: string; } ->a5 || a7 : void | { a: string; } +>rh5 : { a: string; } +>a5 || a7 : { a: string; } >a5 : void >a7 : { a: string; } @@ -439,8 +439,8 @@ var rh7 = a7 || a7; // object || object is object >a7 : { a: string; } var rh8 = a8 || a7; // array || object is array | object ->rh8 : string[] | { a: string; } ->a8 || a7 : string[] | { a: string; } +>rh8 : { a: string; } | string[] +>a8 || a7 : { a: string; } | string[] >a8 : string[] >a7 : { a: string; } @@ -464,7 +464,7 @@ var ri1 = a1 || a8; // any || array is any var ri2 = a2 || a8; // boolean || array is boolean | array >ri2 : boolean | string[] ->a2 || a8 : boolean | string[] +>a2 || a8 : true | string[] >a2 : boolean >a8 : string[] @@ -481,8 +481,8 @@ var ri4 = a4 || a8; // string || array is string | array >a8 : string[] var ri5 = a5 || a8; // void || array is void | array ->ri5 : void | string[] ->a5 || a8 : void | string[] +>ri5 : string[] +>a5 || a8 : string[] >a5 : void >a8 : string[] @@ -524,7 +524,7 @@ var rj1 = a1 || null; // any || null is any var rj2 = a2 || null; // boolean || null is boolean >rj2 : boolean ->a2 || null : boolean +>a2 || null : true >a2 : boolean >null : null @@ -541,8 +541,8 @@ var rj4 = a4 || null; // string || null is string >null : null var rj5 = a5 || null; // void || null is void ->rj5 : void ->a5 || null : void +>rj5 : any +>a5 || null : null >a5 : void >null : null @@ -584,7 +584,7 @@ var rf1 = a1 || undefined; // any || undefined is any var rf2 = a2 || undefined; // boolean || undefined is boolean >rf2 : boolean ->a2 || undefined : boolean +>a2 || undefined : true >a2 : boolean >undefined : undefined @@ -601,8 +601,8 @@ var rf4 = a4 || undefined; // string || undefined is string >undefined : undefined var rf5 = a5 || undefined; // void || undefined is void ->rf5 : void ->a5 || undefined : void +>rf5 : any +>a5 || undefined : undefined >a5 : void >undefined : undefined @@ -626,7 +626,7 @@ var rf8 = a8 || undefined; // array || undefined is array var rf9 = null || undefined; // null || undefined is any >rf9 : any ->null || undefined : null +>null || undefined : undefined >null : null >undefined : undefined diff --git a/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types b/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types index f887ad7ae14..ecd3fc52709 100644 --- a/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types +++ b/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types @@ -112,7 +112,7 @@ function fn3t : T >{ a: '' } : { a: string; } >a : string ->'' : string +>'' : "" var r4: { a: string } = t || u; >r4 : { a: string; } diff --git a/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt b/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt index 744ebed7d08..405fa4d2036 100644 --- a/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt +++ b/tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/matchReturnTypeInAllBranches.ts(30,20): error TS2322: Type 'number' is not assignable to type 'boolean'. +tests/cases/compiler/matchReturnTypeInAllBranches.ts(30,20): error TS2322: Type '12345' is not assignable to type 'boolean'. ==== tests/cases/compiler/matchReturnTypeInAllBranches.ts (1 errors) ==== @@ -33,7 +33,7 @@ tests/cases/compiler/matchReturnTypeInAllBranches.ts(30,20): error TS2322: Type { return 12345; ~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. +!!! error TS2322: Type '12345' is not assignable to type 'boolean'. } } } diff --git a/tests/baselines/reference/matchingOfObjectLiteralConstraints.types b/tests/baselines/reference/matchingOfObjectLiteralConstraints.types index f694571c727..76f61c978a8 100644 --- a/tests/baselines/reference/matchingOfObjectLiteralConstraints.types +++ b/tests/baselines/reference/matchingOfObjectLiteralConstraints.types @@ -15,7 +15,7 @@ foo2({ y: "foo" }, "foo"); >foo2 : (x: U, z: T) => void >{ y: "foo" } : { y: string; } >y : string ->"foo" : string ->"foo" : string +>"foo" : "foo" +>"foo" : "foo" diff --git a/tests/baselines/reference/maxConstraints.errors.txt b/tests/baselines/reference/maxConstraints.errors.txt index a7d07a5b5f2..ad8ba7f3539 100644 --- a/tests/baselines/reference/maxConstraints.errors.txt +++ b/tests/baselines/reference/maxConstraints.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/maxConstraints.ts(8,22): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Comparable'. +tests/cases/compiler/maxConstraints.ts(8,22): error TS2345: Argument of type '1' is not assignable to parameter of type 'Comparable<1 | 2>'. ==== tests/cases/compiler/maxConstraints.ts (1 errors) ==== @@ -11,4 +11,4 @@ tests/cases/compiler/maxConstraints.ts(8,22): error TS2345: Argument of type 'nu var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y }; var maxResult = max2(1, 2); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Comparable'. \ No newline at end of file +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'Comparable<1 | 2>'. \ No newline at end of file diff --git a/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.errors.txt b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.errors.txt new file mode 100644 index 00000000000..2218e7910ae --- /dev/null +++ b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.errors.txt @@ -0,0 +1,26 @@ +/index.ts(4,5): error TS2339: Property 'y' does not exist on type 'typeof "shortid"'. + + +==== /index.ts (1 errors) ==== + /// + import * as foo from "shortid"; + foo.x // found in index.d.ts + foo.y // ignored from shortid/index.js + ~ +!!! error TS2339: Property 'y' does not exist on type 'typeof "shortid"'. + + +==== /node_modules/shortid/node_modules/z/index.js (0 errors) ==== + // z will not be found because maxNodeModulesJsDepth: 0 + module.exports = { z: 'no' }; + +==== /node_modules/shortid/index.js (0 errors) ==== + var z = require('z'); + var y = { y: 'foo' }; + module.exports = y; + +==== /typings/index.d.ts (0 errors) ==== + declare module "shortid" { + export var x: number; + } + \ No newline at end of file diff --git a/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json new file mode 100644 index 00000000000..e53b2a0934f --- /dev/null +++ b/tests/baselines/reference/maxNodeModuleJsDepthDefaultsToZero.trace.json @@ -0,0 +1,28 @@ +[ + "======== Resolving module 'shortid' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'NodeJs'.", + "Loading module 'shortid' from 'node_modules' folder.", + "File '/node_modules/shortid.ts' does not exist.", + "File '/node_modules/shortid.tsx' does not exist.", + "File '/node_modules/shortid.d.ts' does not exist.", + "File '/node_modules/shortid.js' does not exist.", + "File '/node_modules/shortid.jsx' does not exist.", + "File '/node_modules/shortid/package.json' does not exist.", + "File '/node_modules/shortid/index.ts' does not exist.", + "File '/node_modules/shortid/index.tsx' does not exist.", + "File '/node_modules/shortid/index.d.ts' does not exist.", + "File '/node_modules/shortid/index.js' exist - use it as a name resolution result.", + "File '/node_modules/@types/shortid.ts' does not exist.", + "File '/node_modules/@types/shortid.tsx' does not exist.", + "File '/node_modules/@types/shortid.d.ts' does not exist.", + "File '/node_modules/@types/shortid.js' does not exist.", + "File '/node_modules/@types/shortid.jsx' does not exist.", + "File '/node_modules/@types/shortid/package.json' does not exist.", + "File '/node_modules/@types/shortid/index.ts' does not exist.", + "File '/node_modules/@types/shortid/index.tsx' does not exist.", + "File '/node_modules/@types/shortid/index.d.ts' does not exist.", + "File '/node_modules/@types/shortid/index.js' does not exist.", + "File '/node_modules/@types/shortid/index.jsx' does not exist.", + "Resolving real path for '/node_modules/shortid/index.js', result '/node_modules/shortid/index.js'", + "======== Module name 'shortid' was successfully resolved to '/node_modules/shortid/index.js'. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/memberAccessMustUseModuleInstances.js b/tests/baselines/reference/memberAccessMustUseModuleInstances.js index 0071d0dfef0..00f913219a4 100644 --- a/tests/baselines/reference/memberAccessMustUseModuleInstances.js +++ b/tests/baselines/reference/memberAccessMustUseModuleInstances.js @@ -28,7 +28,7 @@ define(["require", "exports"], function (require, exports) { exports.Promise = Promise; }); //// [memberAccessMustUseModuleInstances_1.js] -define(["require", "exports", 'memberAccessMustUseModuleInstances_0'], function (require, exports, WinJS) { +define(["require", "exports", "memberAccessMustUseModuleInstances_0"], function (require, exports, WinJS) { "use strict"; WinJS.Promise.timeout(10); }); diff --git a/tests/baselines/reference/memberAccessMustUseModuleInstances.types b/tests/baselines/reference/memberAccessMustUseModuleInstances.types index b1848660dac..43291fdf8ca 100644 --- a/tests/baselines/reference/memberAccessMustUseModuleInstances.types +++ b/tests/baselines/reference/memberAccessMustUseModuleInstances.types @@ -10,7 +10,7 @@ WinJS.Promise.timeout(10); >WinJS : typeof WinJS >Promise : typeof WinJS.Promise >timeout : (delay: number) => WinJS.Promise ->10 : number +>10 : 10 === tests/cases/compiler/memberAccessMustUseModuleInstances_0.ts === export class Promise { diff --git a/tests/baselines/reference/memberAccessOnConstructorType.types b/tests/baselines/reference/memberAccessOnConstructorType.types index a767336ec12..9b8436d6311 100644 --- a/tests/baselines/reference/memberAccessOnConstructorType.types +++ b/tests/baselines/reference/memberAccessOnConstructorType.types @@ -7,5 +7,5 @@ f.arguments == 0; >f.arguments : any >f : new () => void >arguments : any ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/memberVariableDeclarations1.types b/tests/baselines/reference/memberVariableDeclarations1.types index b7ec0fbaba0..b0c316ced68 100644 --- a/tests/baselines/reference/memberVariableDeclarations1.types +++ b/tests/baselines/reference/memberVariableDeclarations1.types @@ -12,7 +12,7 @@ class Employee { public retired = false; >retired : boolean ->false : boolean +>false : false public manager: Employee = null; >manager : Employee @@ -47,11 +47,11 @@ class Employee2 { constructor() { this.retired = false; ->this.retired = false : boolean +>this.retired = false : false >this.retired : boolean >this : this >retired : boolean ->false : boolean +>false : false this.manager = null; >this.manager = null : null diff --git a/tests/baselines/reference/mergeWithImportedNamespace.types b/tests/baselines/reference/mergeWithImportedNamespace.types index d6c1df3b609..b4cd2bf4e6d 100644 --- a/tests/baselines/reference/mergeWithImportedNamespace.types +++ b/tests/baselines/reference/mergeWithImportedNamespace.types @@ -2,7 +2,7 @@ export namespace N { export var x = 1; } >N : typeof N >x : number ->1 : number +>1 : 1 === tests/cases/compiler/f2.ts === import {N} from "./f1"; diff --git a/tests/baselines/reference/mergedDeclarations1.types b/tests/baselines/reference/mergedDeclarations1.types index 2a4f18947ce..09eaa2a7ca2 100644 --- a/tests/baselines/reference/mergedDeclarations1.types +++ b/tests/baselines/reference/mergedDeclarations1.types @@ -28,8 +28,8 @@ module point { >origin : Point >point(0, 0) : Point >point : typeof point ->0 : number ->0 : number +>0 : 0 +>0 : 0 export function equals(p1: Point, p2: Point) { >equals : (p1: Point, p2: Point) => boolean @@ -60,8 +60,8 @@ var p1 = point(0, 0); >p1 : Point >point(0, 0) : Point >point : typeof point ->0 : number ->0 : number +>0 : 0 +>0 : 0 var p2 = point.origin; >p2 : Point diff --git a/tests/baselines/reference/mergedDeclarations4.types b/tests/baselines/reference/mergedDeclarations4.types index 9c55747c6f6..4bf9f3b896e 100644 --- a/tests/baselines/reference/mergedDeclarations4.types +++ b/tests/baselines/reference/mergedDeclarations4.types @@ -30,7 +30,7 @@ module M { export var hello = 1; >hello : number ->1 : number +>1 : 1 } f(); >f() : void diff --git a/tests/baselines/reference/mergedDeclarations6.js b/tests/baselines/reference/mergedDeclarations6.js index 696ad27b2a6..2ff9d3e6604 100644 --- a/tests/baselines/reference/mergedDeclarations6.js +++ b/tests/baselines/reference/mergedDeclarations6.js @@ -42,7 +42,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -define(["require", "exports", './a'], function (require, exports, a_1) { +define(["require", "exports", "./a"], function (require, exports, a_1) { "use strict"; var B = (function (_super) { __extends(B, _super); diff --git a/tests/baselines/reference/mergedInterfacesWithIndexers.types b/tests/baselines/reference/mergedInterfacesWithIndexers.types index b228931660a..947c47f6ed7 100644 --- a/tests/baselines/reference/mergedInterfacesWithIndexers.types +++ b/tests/baselines/reference/mergedInterfacesWithIndexers.types @@ -25,17 +25,17 @@ var r = a[1]; >r : string >a[1] : string >a : A ->1 : number +>1 : 1 var r2 = a['1']; >r2 : { length: number; } >a['1'] : { length: number; } >a : A ->'1' : string +>'1' : "1" var r3 = a['hi']; >r3 : { length: number; } >a['hi'] : { length: number; } >a : A ->'hi' : string +>'hi' : "hi" diff --git a/tests/baselines/reference/mergedModuleDeclarationWithSharedExportedVar.types b/tests/baselines/reference/mergedModuleDeclarationWithSharedExportedVar.types index 484cee0b0af..641778fe9bb 100644 --- a/tests/baselines/reference/mergedModuleDeclarationWithSharedExportedVar.types +++ b/tests/baselines/reference/mergedModuleDeclarationWithSharedExportedVar.types @@ -4,7 +4,7 @@ module M { export var v = 10; >v : number ->10 : number +>10 : 10 v; >v : number diff --git a/tests/baselines/reference/methodContainingLocalFunction.types b/tests/baselines/reference/methodContainingLocalFunction.types index 8b6d102ade8..313b457ae70 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.types +++ b/tests/baselines/reference/methodContainingLocalFunction.types @@ -129,7 +129,7 @@ enum E { >localFunction : () => void return 0; ->0 : number +>0 : 0 })() } diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt index e8649cfb567..2fb7bd1bfbb 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(10,30): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. - Type 'number | string' is not assignable to type 'number'. +tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(10,30): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(11,11): error TS2346: Supplied parameters do not match any signature of call target. @@ -16,8 +16,8 @@ tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts(11,11): e var r6 = map([1, ""], (x) => x.toString()); var r7 = map([1, ""], (x) => x.toString()); // error ~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'number'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'number'. !!! error TS2345: Type 'string' is not assignable to type 'number'. var r7b = map([1, ""], (x) => x.toString()); // error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/missingDecoratorType.js b/tests/baselines/reference/missingDecoratorType.js index 7356be39798..1dcbb3febc5 100644 --- a/tests/baselines/reference/missingDecoratorType.js +++ b/tests/baselines/reference/missingDecoratorType.js @@ -33,8 +33,8 @@ var C = (function () { function C() { } C.prototype.method = function () { }; - __decorate([ - dec - ], C.prototype, "method", null); return C; }()); +__decorate([ + dec +], C.prototype, "method", null); diff --git a/tests/baselines/reference/missingFunctionImplementation2.errors.txt b/tests/baselines/reference/missingFunctionImplementation2.errors.txt index a695482e1fb..86d8baba6f7 100644 --- a/tests/baselines/reference/missingFunctionImplementation2.errors.txt +++ b/tests/baselines/reference/missingFunctionImplementation2.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/missingFunctionImplementation2_b.ts(1,17): error TS2391: Fu ==== tests/cases/compiler/missingFunctionImplementation2_a.ts (1 errors) ==== export {}; - declare module "./missingFunctionImplementation2_b.ts" { + declare module "./missingFunctionImplementation2_b" { export function f(a, b): void; ~ !!! error TS2384: Overload signatures must all be ambient or non-ambient. diff --git a/tests/baselines/reference/missingFunctionImplementation2.js b/tests/baselines/reference/missingFunctionImplementation2.js index 104b6dd9443..7b3456015c8 100644 --- a/tests/baselines/reference/missingFunctionImplementation2.js +++ b/tests/baselines/reference/missingFunctionImplementation2.js @@ -2,7 +2,7 @@ //// [missingFunctionImplementation2_a.ts] export {}; -declare module "./missingFunctionImplementation2_b.ts" { +declare module "./missingFunctionImplementation2_b" { export function f(a, b): void; } diff --git a/tests/baselines/reference/missingPropertiesOfClassExpression.errors.txt b/tests/baselines/reference/missingPropertiesOfClassExpression.errors.txt index b7331a68271..23e67d7cf0b 100644 --- a/tests/baselines/reference/missingPropertiesOfClassExpression.errors.txt +++ b/tests/baselines/reference/missingPropertiesOfClassExpression.errors.txt @@ -1,8 +1,11 @@ +tests/cases/compiler/missingPropertiesOfClassExpression.ts(1,22): error TS2690: A class must be declared after its base class. tests/cases/compiler/missingPropertiesOfClassExpression.ts(1,52): error TS2339: Property 'y' does not exist on type '(Anonymous class)'. -==== tests/cases/compiler/missingPropertiesOfClassExpression.ts (1 errors) ==== +==== tests/cases/compiler/missingPropertiesOfClassExpression.ts (2 errors) ==== class George extends class { reset() { return this.y; } } { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. ~ !!! error TS2339: Property 'y' does not exist on type '(Anonymous class)'. constructor() { diff --git a/tests/baselines/reference/missingSemicolonInModuleSpecifier.types b/tests/baselines/reference/missingSemicolonInModuleSpecifier.types index b68c68b62e0..f7730558b68 100644 --- a/tests/baselines/reference/missingSemicolonInModuleSpecifier.types +++ b/tests/baselines/reference/missingSemicolonInModuleSpecifier.types @@ -1,16 +1,16 @@ === tests/cases/compiler/a.ts === export const x = 1; ->x : number ->1 : number +>x : 1 +>1 : 1 === tests/cases/compiler/b.ts === import {x} from "./a" ->x : number +>x : 1 (function() { return 1; }()) >(function() { return 1; }()) : number >function() { return 1; }() : number >function() { return 1; } : () => number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.types b/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.types index dfd482a6bc8..097383ee75e 100644 --- a/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.types +++ b/tests/baselines/reference/modifierOnClassDeclarationMemberInFunction.types @@ -8,7 +8,7 @@ function f() { public baz = 1; >baz : number ->1 : number +>1 : 1 static foo() { } >foo : () => void diff --git a/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.js b/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.js index 70eea5b2c5c..211c80bcce8 100644 --- a/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.js +++ b/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.js @@ -10,14 +10,16 @@ function g() { //// [modifierOnClassExpressionMemberInFunction.js] function g() { - var x = (function () { - function C() { - this.prop1 = 1; - } - C.prototype.foo = function () { }; - C.prop2 = 43; - return C; - }()); + var x = (_a = (function () { + function C() { + this.prop1 = 1; + } + C.prototype.foo = function () { }; + return C; + }()), + _a.prop2 = 43, + _a); + var _a; } diff --git a/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.types b/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.types index 87a200ee56e..4f454754b2b 100644 --- a/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.types +++ b/tests/baselines/reference/modifierOnClassExpressionMemberInFunction.types @@ -10,13 +10,13 @@ function g() { public prop1 = 1; >prop1 : number ->1 : number +>1 : 1 private foo() { } >foo : () => void static prop2 = 43; >prop2 : number ->43 : number +>43 : 43 } } diff --git a/tests/baselines/reference/modifierOnParameter1.js b/tests/baselines/reference/modifierOnParameter1.js index 7b76a805c99..dd800aeb886 100644 --- a/tests/baselines/reference/modifierOnParameter1.js +++ b/tests/baselines/reference/modifierOnParameter1.js @@ -5,7 +5,7 @@ class C { //// [modifierOnParameter1.js] var C = (function () { - function C() { + function C(p) { } return C; }()); diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.errors.txt b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.errors.txt index b5da9f97867..f5a8b84ac29 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.errors.txt +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts(8,1): error TS2322: Type 'boolean' is not assignable to type 'string'. +tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts(8,1): error TS2322: Type 'false' is not assignable to type 'string'. tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts(8,3): error TS2304: Cannot find name 'Symbol'. @@ -12,6 +12,6 @@ tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6We let a = ['c', 'd']; a[Symbol.isConcatSpreadable] = false; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'boolean' is not assignable to type 'string'. +!!! error TS2322: Type 'false' is not assignable to type 'string'. ~~~~~~ !!! error TS2304: Cannot find name 'Symbol'. \ No newline at end of file diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index e0d0c492f4d..34f51fea3f3 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -18,9 +18,9 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); // no error >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 // Using ES6 collection var m = new Map(); @@ -56,12 +56,12 @@ function* gen() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -78,12 +78,12 @@ function* gen2() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -101,7 +101,7 @@ Math.sign(1); >Math.sign : (x: number) => number >Math : Math >sign : (x: number) => number ->1 : number +>1 : 1 // Using ES6 object var o = { @@ -110,7 +110,7 @@ var o = { a: 2, >a : number ->2 : number +>2 : 2 [Symbol.hasInstance](value: any) { >Symbol.hasInstance : symbol @@ -119,14 +119,14 @@ var o = { >value : any return false; ->false : boolean +>false : false } }; o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean ->o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>o.hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >o : { a: number; [Symbol.hasInstance](value: any): boolean; } ->hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >Symbol.hasInstance : symbol >Symbol : SymbolConstructor >hasInstance : symbol @@ -159,7 +159,7 @@ out().then(() => { >console.log : any >console : any >log : any ->"Yea!" : string +>"Yea!" : "Yea!" }); @@ -188,7 +188,7 @@ var reg = new RegExp("/s"); >reg : RegExp >new RegExp("/s") : RegExp >RegExp : RegExpConstructor ->"/s" : string +>"/s" : "/s" reg.flags; >reg.flags : string @@ -198,15 +198,15 @@ reg.flags; // Using ES6 string var str = "Hello world"; >str : string ->"Hello world" : string +>"Hello world" : "Hello world" str.includes("hello", 0); >str.includes("hello", 0) : boolean >str.includes : (searchString: string, position?: number) => boolean >str : string >includes : (searchString: string, position?: number) => boolean ->"hello" : string ->0 : number +>"hello" : "hello" +>0 : 0 // Using ES6 symbol var s = Symbol(); @@ -226,6 +226,6 @@ const o1 = { >value : any return false; ->false : boolean +>false : false } } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 21e658e29ce..0d5847133ec 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -18,9 +18,9 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); // no error >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 // Using ES6 collection var m = new Map(); @@ -56,12 +56,12 @@ function* gen() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -78,12 +78,12 @@ function* gen2() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -101,7 +101,7 @@ Math.sign(1); >Math.sign : (x: number) => number >Math : Math >sign : (x: number) => number ->1 : number +>1 : 1 // Using ES6 object var o = { @@ -110,7 +110,7 @@ var o = { a: 2, >a : number ->2 : number +>2 : 2 [Symbol.hasInstance](value: any) { >Symbol.hasInstance : symbol @@ -119,14 +119,14 @@ var o = { >value : any return false; ->false : boolean +>false : false } }; o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean ->o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>o.hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >o : { a: number; [Symbol.hasInstance](value: any): boolean; } ->hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >Symbol.hasInstance : symbol >Symbol : SymbolConstructor >hasInstance : symbol @@ -159,7 +159,7 @@ out().then(() => { >console.log : any >console : any >log : any ->"Yea!" : string +>"Yea!" : "Yea!" }); @@ -188,7 +188,7 @@ var reg = new RegExp("/s"); >reg : RegExp >new RegExp("/s") : RegExp >RegExp : RegExpConstructor ->"/s" : string +>"/s" : "/s" reg.flags; >reg.flags : string @@ -198,15 +198,15 @@ reg.flags; // Using ES6 string var str = "Hello world"; >str : string ->"Hello world" : string +>"Hello world" : "Hello world" str.includes("hello", 0); >str.includes("hello", 0) : boolean >str.includes : (searchString: string, position?: number) => boolean >str : string >includes : (searchString: string, position?: number) => boolean ->"hello" : string ->0 : number +>"hello" : "hello" +>0 : 0 // Using ES6 symbol var s = Symbol(); @@ -226,6 +226,6 @@ const o1 = { >value : any return false; ->false : boolean +>false : false } } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 24ff905f166..12950cf56b2 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -18,9 +18,9 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); // no error >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 // Using ES6 collection var m = new Map(); @@ -56,12 +56,12 @@ function* gen() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -78,12 +78,12 @@ function* gen2() { let i = 0; >i : number ->0 : number +>0 : 0 while (i < 10) { >i < 10 : boolean >i : number ->10 : number +>10 : 10 yield i; >yield i : any @@ -101,7 +101,7 @@ Math.sign(1); >Math.sign : (x: number) => number >Math : Math >sign : (x: number) => number ->1 : number +>1 : 1 // Using ES6 object var o = { @@ -110,7 +110,7 @@ var o = { a: 2, >a : number ->2 : number +>2 : 2 [Symbol.hasInstance](value: any) { >Symbol.hasInstance : symbol @@ -119,14 +119,14 @@ var o = { >value : any return false; ->false : boolean +>false : false } }; o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean ->o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>o.hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >o : { a: number; [Symbol.hasInstance](value: any): boolean; } ->hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; } +>hasOwnProperty : { (v: PropertyKey): boolean; (v: string): boolean; } >Symbol.hasInstance : symbol >Symbol : SymbolConstructor >hasInstance : symbol @@ -159,7 +159,7 @@ out().then(() => { >console.log : any >console : any >log : any ->"Yea!" : string +>"Yea!" : "Yea!" }); @@ -188,7 +188,7 @@ var reg = new RegExp("/s"); >reg : RegExp >new RegExp("/s") : RegExp >RegExp : RegExpConstructor ->"/s" : string +>"/s" : "/s" reg.flags; >reg.flags : string @@ -198,15 +198,15 @@ reg.flags; // Using ES6 string var str = "Hello world"; >str : string ->"Hello world" : string +>"Hello world" : "Hello world" str.includes("hello", 0); >str.includes("hello", 0) : boolean >str.includes : (searchString: string, position?: number) => boolean >str : string >includes : (searchString: string, position?: number) => boolean ->"hello" : string ->0 : number +>"hello" : "hello" +>0 : 0 // Using ES6 symbol var s = Symbol(); @@ -226,6 +226,6 @@ const o1 = { >value : any return false; ->false : boolean +>false : false } } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index 7af40d3684c..5b96ce987bc 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -18,9 +18,9 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); // no error >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 // Using ES6 collection var m = new Map(); @@ -56,7 +56,7 @@ Math.sign(1); >Math.sign : (x: number) => number >Math : Math >sign : (x: number) => number ->1 : number +>1 : 1 // Using ES6 object var o = { @@ -65,7 +65,7 @@ var o = { a: 2, >a : number ->2 : number +>2 : 2 [Symbol.hasInstance](value: any) { >Symbol.hasInstance : symbol @@ -74,14 +74,14 @@ var o = { >value : any return false; ->false : boolean +>false : false } }; o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean ->o.hasOwnProperty : { (v: string): boolean; (v: string | number | symbol): boolean; } +>o.hasOwnProperty : { (v: string): boolean; (v: PropertyKey): boolean; } >o : { a: number; [Symbol.hasInstance](value: any): boolean; } ->hasOwnProperty : { (v: string): boolean; (v: string | number | symbol): boolean; } +>hasOwnProperty : { (v: string): boolean; (v: PropertyKey): boolean; } >Symbol.hasInstance : symbol >Symbol : SymbolConstructor >hasInstance : symbol @@ -111,7 +111,7 @@ var reg = new RegExp("/s"); >reg : RegExp >new RegExp("/s") : RegExp >RegExp : RegExpConstructor ->"/s" : string +>"/s" : "/s" reg.flags; >reg.flags : string @@ -121,15 +121,15 @@ reg.flags; // Using ES6 string var str = "Hello world"; >str : string ->"Hello world" : string +>"Hello world" : "Hello world" str.includes("hello", 0); >str.includes("hello", 0) : boolean >str.includes : (searchString: string, position?: number) => boolean >str : string >includes : (searchString: string, position?: number) => boolean ->"hello" : string ->0 : number +>"hello" : "hello" +>0 : 0 // Using ES6 symbol var s = Symbol(); @@ -149,6 +149,6 @@ const o1 = { >value : any return false; ->false : boolean +>false : false } } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types index d17a6fcbcbb..a097b116186 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types @@ -18,7 +18,7 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types index 820c2f6dc8a..cceb9a1925e 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types @@ -17,10 +17,10 @@ var p = new Proxy(t, {}); >{} : {} Reflect.ownKeys({}); ->Reflect.ownKeys({}) : (string | number | symbol)[] ->Reflect.ownKeys : (target: any) => (string | number | symbol)[] +>Reflect.ownKeys({}) : PropertyKey[] +>Reflect.ownKeys : (target: any) => PropertyKey[] >Reflect : typeof Reflect ->ownKeys : (target: any) => (string | number | symbol)[] +>ownKeys : (target: any) => PropertyKey[] >{} : {} function* idGen() { @@ -28,18 +28,18 @@ function* idGen() { let i = 10; >i : number ->10 : number +>10 : 10 while (i < 20) { >i < 20 : boolean >i : number ->20 : number +>20 : 20 yield i + 2; >yield i + 2 : any >i + 2 : number >i : number ->2 : number +>2 : 2 } } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types index 3ae08c79fd4..6accc7e7905 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types @@ -17,22 +17,22 @@ function f(x: number, y: number, z: number) { f(1, 2, 3); // no error >f(1, 2, 3) : any[] >f : (x: number, y: number, z: number) => any[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 let a = ['c', 'd']; >a : string[] >['c', 'd'] : string[] ->'c' : string ->'d' : string +>'c' : "c" +>'d' : "d" a[Symbol.isConcatSpreadable] = false; ->a[Symbol.isConcatSpreadable] = false : boolean +>a[Symbol.isConcatSpreadable] = false : false >a[Symbol.isConcatSpreadable] : any >a : string[] >Symbol.isConcatSpreadable : symbol >Symbol : SymbolConstructor >isConcatSpreadable : symbol ->false : boolean +>false : false diff --git a/tests/baselines/reference/moduleAliasAsFunctionArgument.js b/tests/baselines/reference/moduleAliasAsFunctionArgument.js index 3706eae6ae2..b75161da458 100644 --- a/tests/baselines/reference/moduleAliasAsFunctionArgument.js +++ b/tests/baselines/reference/moduleAliasAsFunctionArgument.js @@ -19,7 +19,7 @@ define(["require", "exports"], function (require, exports) { "use strict"; }); //// [moduleAliasAsFunctionArgument_1.js] -define(["require", "exports", 'moduleAliasAsFunctionArgument_0'], function (require, exports, a) { +define(["require", "exports", "moduleAliasAsFunctionArgument_0"], function (require, exports, a) { "use strict"; function fn(arg) { } diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types index fad835029c2..6c693b2b23b 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types @@ -79,5 +79,5 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types index 85e4ead2ac0..ee302e6407e 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types @@ -79,7 +79,7 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 let z1 = Observable.someValue.toFixed(); >z1 : string diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types index e6ee79e3585..6c2c8c8e781 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types @@ -20,7 +20,7 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 === tests/cases/compiler/map.ts === diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types index 70288e48f02..b938cf9944e 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types @@ -20,7 +20,7 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 let z1 = Observable.someValue.toFixed(); >z1 : string diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types index fad835029c2..6c693b2b23b 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types @@ -79,5 +79,5 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types index 85e4ead2ac0..ee302e6407e 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types @@ -79,7 +79,7 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 let z1 = Observable.someValue.toFixed(); >z1 : string diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.symbols b/tests/baselines/reference/moduleAugmentationGlobal1.symbols index 4115379b0f2..53cc4500e07 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal1.symbols @@ -10,7 +10,7 @@ import {A} from "./f1"; // change the shape of Array declare global { ->global : Symbol(, Decl(f2.ts, 0, 23)) +>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)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.types b/tests/baselines/reference/moduleAugmentationGlobal1.types index 9963cbe1162..48ed21e2145 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.types +++ b/tests/baselines/reference/moduleAugmentationGlobal1.types @@ -25,7 +25,7 @@ declare global { let x = [1]; >x : number[] >[1] : number[] ->1 : number +>1 : 1 let y = x.getA().x; >y : number diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.symbols b/tests/baselines/reference/moduleAugmentationGlobal2.symbols index 48fe93353fb..0e6d8a6024d 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal2.symbols @@ -10,7 +10,7 @@ import {A} from "./f1"; >A : Symbol(A, Decl(f2.ts, 2, 8)) declare global { ->global : Symbol(, Decl(f2.ts, 2, 23)) +>global : Symbol(global, Decl(f2.ts, 2, 23)) interface Array { >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 16)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.types b/tests/baselines/reference/moduleAugmentationGlobal2.types index 96252569da6..f80f0ec7c72 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.types +++ b/tests/baselines/reference/moduleAugmentationGlobal2.types @@ -24,7 +24,7 @@ declare global { let x = [1]; >x : number[] >[1] : number[] ->1 : number +>1 : 1 let y = x.getCountAsString().toLowerCase(); >y : string diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.symbols b/tests/baselines/reference/moduleAugmentationGlobal3.symbols index 41c7f25b818..1521fbb6e34 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal3.symbols @@ -10,7 +10,7 @@ import {A} from "./f1"; >A : Symbol(A, Decl(f2.ts, 2, 8)) declare global { ->global : Symbol(, Decl(f2.ts, 2, 23)) +>global : Symbol(global, Decl(f2.ts, 2, 23)) interface Array { >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(f2.ts, 4, 16)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.types b/tests/baselines/reference/moduleAugmentationGlobal3.types index 0e8e731aec1..3b9ed24a452 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.types +++ b/tests/baselines/reference/moduleAugmentationGlobal3.types @@ -27,7 +27,7 @@ import "./f2"; let x = [1]; >x : number[] >[1] : number[] ->1 : number +>1 : 1 let y = x.getCountAsString().toLowerCase(); >y : string diff --git a/tests/baselines/reference/moduleAugmentationGlobal4.symbols b/tests/baselines/reference/moduleAugmentationGlobal4.symbols index f9cdac3fc2e..6aaa587234b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal4.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal4.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/f1.ts === declare global { ->global : Symbol(, Decl(f1.ts, 0, 0)) +>global : Symbol(global, Decl(f1.ts, 0, 0)) interface Something {x} >Something : Symbol(Something, Decl(f1.ts, 1, 16), Decl(f2.ts, 1, 16)) @@ -11,7 +11,7 @@ export {}; === tests/cases/compiler/f2.ts === declare global { ->global : Symbol(, Decl(f2.ts, 0, 0)) +>global : Symbol(global, Decl(f2.ts, 0, 0)) interface Something {y} >Something : Symbol(Something, Decl(f1.ts, 1, 16), Decl(f2.ts, 1, 16)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal5.symbols b/tests/baselines/reference/moduleAugmentationGlobal5.symbols index 27548b05ef2..4c4693601e8 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal5.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal5.symbols @@ -9,7 +9,7 @@ No type information for this code.=== tests/cases/compiler/f1.d.ts === declare module "A" { global { ->global : Symbol(, Decl(f1.d.ts, 1, 20)) +>global : Symbol(global, Decl(f1.d.ts, 1, 20)) interface Something {x} >Something : Symbol(Something, Decl(f1.d.ts, 2, 12), Decl(f2.d.ts, 1, 12)) @@ -19,7 +19,7 @@ declare module "A" { === tests/cases/compiler/f2.d.ts === declare module "B" { global { ->global : Symbol(, Decl(f2.d.ts, 0, 20)) +>global : Symbol(global, Decl(f2.d.ts, 0, 20)) interface Something {y} >Something : Symbol(Something, Decl(f1.d.ts, 2, 12), Decl(f2.d.ts, 1, 12)) diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols index 76b135307dd..a8cc1a3412e 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.symbols @@ -26,7 +26,7 @@ declare module "array" { >A : Symbol(A, Decl(array.d.ts, 6, 12)) global { ->global : Symbol(, Decl(array.d.ts, 6, 24)) +>global : Symbol(global, Decl(array.d.ts, 6, 24)) interface Array { >Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(array.d.ts, 7, 12)) diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types index 998452be450..d6d81f97a3a 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types @@ -5,7 +5,7 @@ import "array"; let x = [1]; >x : number[] >[1] : number[] ->1 : number +>1 : 1 let y = x.getA().x; >y : number diff --git a/tests/baselines/reference/moduleAugmentationNoNewNames.types b/tests/baselines/reference/moduleAugmentationNoNewNames.types index 37dc54b6663..06eab66c8d1 100644 --- a/tests/baselines/reference/moduleAugmentationNoNewNames.types +++ b/tests/baselines/reference/moduleAugmentationNoNewNames.types @@ -82,5 +82,5 @@ let y = x.map(x => x + 1); >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types index 80e9127905d..c3cac91fa38 100644 --- a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types +++ b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types @@ -18,7 +18,7 @@ import {Cls} from "./m1"; >prototype : Cls >foo : any >function() { return 1; } : () => number ->1 : number +>1 : 1 (Cls.prototype).bar = function() { return "1"; }; >(Cls.prototype).bar = function() { return "1"; } : () => string @@ -30,7 +30,7 @@ import {Cls} from "./m1"; >prototype : Cls >bar : any >function() { return "1"; } : () => string ->"1" : string +>"1" : "1" declare module "./m1" { interface Cls { diff --git a/tests/baselines/reference/moduleCodeGenTest3.types b/tests/baselines/reference/moduleCodeGenTest3.types index 288b794326f..77c59d8fc73 100644 --- a/tests/baselines/reference/moduleCodeGenTest3.types +++ b/tests/baselines/reference/moduleCodeGenTest3.types @@ -2,12 +2,12 @@ module Baz { export var x = "hello"; } >Baz : typeof Baz >x : string ->"hello" : string +>"hello" : "hello" Baz.x = "goodbye"; ->Baz.x = "goodbye" : string +>Baz.x = "goodbye" : "goodbye" >Baz.x : string >Baz : typeof Baz >x : string ->"goodbye" : string +>"goodbye" : "goodbye" diff --git a/tests/baselines/reference/moduleCodeGenTest5.types b/tests/baselines/reference/moduleCodeGenTest5.types index c2e4ccf6d65..b49c0c895d2 100644 --- a/tests/baselines/reference/moduleCodeGenTest5.types +++ b/tests/baselines/reference/moduleCodeGenTest5.types @@ -1,11 +1,11 @@ === tests/cases/compiler/moduleCodeGenTest5.ts === export var x = 0; >x : number ->0 : number +>0 : 0 var y = 0; >y : number ->0 : number +>0 : 0 export function f1() {} >f1 : () => void @@ -18,7 +18,7 @@ export class C1 { public p1 = 0; >p1 : number ->0 : number +>0 : 0 public p2() {} >p2 : () => void @@ -28,7 +28,7 @@ class C2{ public p1 = 0; >p1 : number ->0 : number +>0 : 0 public p2() {} >p2 : () => void @@ -37,7 +37,7 @@ class C2{ export enum E1 {A=0} >E1 : E1 >A : E1 ->0 : number +>0 : 0 var u = E1.A; >u : E1 @@ -48,7 +48,7 @@ var u = E1.A; enum E2 {B=0} >E2 : E2 >B : E2 ->0 : number +>0 : 0 var v = E2.B; >v : E2 diff --git a/tests/baselines/reference/moduleCodegenTest4.types b/tests/baselines/reference/moduleCodegenTest4.types index 919432c938f..1c419e8710f 100644 --- a/tests/baselines/reference/moduleCodegenTest4.types +++ b/tests/baselines/reference/moduleCodegenTest4.types @@ -2,16 +2,16 @@ export module Baz { export var x = "hello"; } >Baz : typeof Baz >x : string ->"hello" : string +>"hello" : "hello" Baz.x = "goodbye"; ->Baz.x = "goodbye" : string +>Baz.x = "goodbye" : "goodbye" >Baz.x : string >Baz : typeof Baz >x : string ->"goodbye" : string +>"goodbye" : "goodbye" void 0; >void 0 : undefined ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/moduleDuplicateIdentifiers.js b/tests/baselines/reference/moduleDuplicateIdentifiers.js index 1d64c0490c5..1da296d7d12 100644 --- a/tests/baselines/reference/moduleDuplicateIdentifiers.js +++ b/tests/baselines/reference/moduleDuplicateIdentifiers.js @@ -77,4 +77,3 @@ var Utensils = exports.Utensils; (function (Utensils) { Utensils[Utensils["Spork"] = 3] = "Spork"; })(exports.Utensils || (exports.Utensils = {})); -var Utensils = exports.Utensils; diff --git a/tests/baselines/reference/moduleElementsInWrongContext.errors.txt b/tests/baselines/reference/moduleElementsInWrongContext.errors.txt index 4ab5c5b42c0..0ab411e03c4 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext.errors.txt +++ b/tests/baselines/reference/moduleElementsInWrongContext.errors.txt @@ -6,7 +6,6 @@ tests/cases/compiler/moduleElementsInWrongContext.ts(13,5): error TS1231: An exp tests/cases/compiler/moduleElementsInWrongContext.ts(17,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext.ts(18,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext.ts(19,5): error TS1233: An export declaration can only be used in a module. -tests/cases/compiler/moduleElementsInWrongContext.ts(19,14): error TS2305: Module '"ambient"' has no exported member 'baz'. tests/cases/compiler/moduleElementsInWrongContext.ts(20,5): error TS1231: An export assignment can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext.ts(21,5): error TS1184: Modifiers cannot appear here. tests/cases/compiler/moduleElementsInWrongContext.ts(22,5): error TS1184: Modifiers cannot appear here. @@ -18,7 +17,7 @@ tests/cases/compiler/moduleElementsInWrongContext.ts(27,5): error TS1232: An imp tests/cases/compiler/moduleElementsInWrongContext.ts(28,5): error TS1232: An import declaration can only be used in a namespace or module. -==== tests/cases/compiler/moduleElementsInWrongContext.ts (18 errors) ==== +==== tests/cases/compiler/moduleElementsInWrongContext.ts (17 errors) ==== { module M { } ~~~~~~ @@ -54,8 +53,6 @@ tests/cases/compiler/moduleElementsInWrongContext.ts(28,5): error TS1232: An imp export { baz as b } from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. - ~~~ -!!! error TS2305: Module '"ambient"' has no exported member 'baz'. export default v; ~~~~~~ !!! error TS1231: An export assignment can only be used in a module. diff --git a/tests/baselines/reference/moduleElementsInWrongContext.js b/tests/baselines/reference/moduleElementsInWrongContext.js index 0f898ce3818..cd440bd6017 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext.js +++ b/tests/baselines/reference/moduleElementsInWrongContext.js @@ -32,17 +32,23 @@ //// [moduleElementsInWrongContext.js] { + export = M; var v; function foo() { } - var ambient_2 = require("ambient"); - exports.b = ambient_2.baz; - exports["default"] = v; + export * from "ambient"; + export { foo }; + export { baz as b } from "ambient"; + export default v; var C = (function () { function C() { } return C; }()); - exports["default"] = C; + export default C; function bee() { } - exports.bee = bee; + import I2 = require("foo"); + import * as Foo from "ambient"; + import bar from "ambient"; + import { baz } from "ambient"; + import "ambient"; } diff --git a/tests/baselines/reference/moduleElementsInWrongContext2.errors.txt b/tests/baselines/reference/moduleElementsInWrongContext2.errors.txt index d6611e71831..223f14684fe 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext2.errors.txt +++ b/tests/baselines/reference/moduleElementsInWrongContext2.errors.txt @@ -6,7 +6,6 @@ tests/cases/compiler/moduleElementsInWrongContext2.ts(13,5): error TS1231: An ex tests/cases/compiler/moduleElementsInWrongContext2.ts(17,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(18,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(19,5): error TS1233: An export declaration can only be used in a module. -tests/cases/compiler/moduleElementsInWrongContext2.ts(19,30): error TS2307: Cannot find module 'ambient'. tests/cases/compiler/moduleElementsInWrongContext2.ts(20,5): error TS1231: An export assignment can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(21,5): error TS1184: Modifiers cannot appear here. tests/cases/compiler/moduleElementsInWrongContext2.ts(22,5): error TS1184: Modifiers cannot appear here. @@ -18,7 +17,7 @@ tests/cases/compiler/moduleElementsInWrongContext2.ts(27,5): error TS1232: An im tests/cases/compiler/moduleElementsInWrongContext2.ts(28,5): error TS1232: An import declaration can only be used in a namespace or module. -==== tests/cases/compiler/moduleElementsInWrongContext2.ts (18 errors) ==== +==== tests/cases/compiler/moduleElementsInWrongContext2.ts (17 errors) ==== function blah () { module M { } ~~~~~~ @@ -54,8 +53,6 @@ tests/cases/compiler/moduleElementsInWrongContext2.ts(28,5): error TS1232: An im export { baz as b } from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. - ~~~~~~~~~ -!!! error TS2307: Cannot find module 'ambient'. export default v; ~~~~~~ !!! error TS1231: An export assignment can only be used in a module. diff --git a/tests/baselines/reference/moduleElementsInWrongContext2.js b/tests/baselines/reference/moduleElementsInWrongContext2.js index f5810d15dc7..cc4aca0dec0 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext2.js +++ b/tests/baselines/reference/moduleElementsInWrongContext2.js @@ -32,17 +32,23 @@ function blah () { //// [moduleElementsInWrongContext2.js] function blah() { + export = M; var v; function foo() { } - var ambient_2 = require("ambient"); - exports.b = ambient_2.baz; - exports["default"] = v; + export * from "ambient"; + export { foo }; + export { baz as b } from "ambient"; + export default v; var C = (function () { function C() { } return C; }()); - exports["default"] = C; + export default C; function bee() { } - exports.bee = bee; + import I2 = require("foo"); + import * as Foo from "ambient"; + import bar from "ambient"; + import { baz } from "ambient"; + import "ambient"; } diff --git a/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt b/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt index f5361319b68..5d4b190bb65 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt +++ b/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt @@ -6,7 +6,6 @@ tests/cases/compiler/moduleElementsInWrongContext3.ts(14,9): error TS1231: An ex tests/cases/compiler/moduleElementsInWrongContext3.ts(18,9): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext3.ts(19,9): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext3.ts(20,9): error TS1233: An export declaration can only be used in a module. -tests/cases/compiler/moduleElementsInWrongContext3.ts(20,34): error TS2307: Cannot find module 'ambient'. tests/cases/compiler/moduleElementsInWrongContext3.ts(21,9): error TS1231: An export assignment can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext3.ts(22,9): error TS1184: Modifiers cannot appear here. tests/cases/compiler/moduleElementsInWrongContext3.ts(23,9): error TS1184: Modifiers cannot appear here. @@ -18,7 +17,7 @@ tests/cases/compiler/moduleElementsInWrongContext3.ts(28,9): error TS1232: An im tests/cases/compiler/moduleElementsInWrongContext3.ts(29,9): error TS1232: An import declaration can only be used in a namespace or module. -==== tests/cases/compiler/moduleElementsInWrongContext3.ts (18 errors) ==== +==== tests/cases/compiler/moduleElementsInWrongContext3.ts (17 errors) ==== module P { { module M { } @@ -55,8 +54,6 @@ tests/cases/compiler/moduleElementsInWrongContext3.ts(29,9): error TS1232: An im export { baz as b } from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. - ~~~~~~~~~ -!!! error TS2307: Cannot find module 'ambient'. export default v; ~~~~~~ !!! error TS1231: An export assignment can only be used in a module. diff --git a/tests/baselines/reference/moduleElementsInWrongContext3.js b/tests/baselines/reference/moduleElementsInWrongContext3.js index 11e3637041a..76220eab251 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext3.js +++ b/tests/baselines/reference/moduleElementsInWrongContext3.js @@ -35,18 +35,25 @@ module P { var P; (function (P) { { + export = M; var v; function foo() { } - var ambient_2 = require("ambient"); - P.b = ambient_2.baz; - P["default"] = v; + export * from "ambient"; + export { foo }; + export { baz as b } from "ambient"; + export default v; var C = (function () { function C() { } return C; }()); - exports["default"] = C; + P.C = C; function bee() { } P.bee = bee; + import I2 = require("foo"); + import * as Foo from "ambient"; + import bar from "ambient"; + import { baz } from "ambient"; + import "ambient"; } })(P || (P = {})); diff --git a/tests/baselines/reference/moduleIdentifiers.types b/tests/baselines/reference/moduleIdentifiers.types index dc540823815..fccf8a9a904 100644 --- a/tests/baselines/reference/moduleIdentifiers.types +++ b/tests/baselines/reference/moduleIdentifiers.types @@ -9,7 +9,7 @@ module M { export var a = 1 >a : number ->1 : number +>1 : 1 } //var p: M.P; diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types index c308f535a7a..a9a0c4bbd5c 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.types @@ -64,7 +64,7 @@ module TypeScript { >findToken : (position: number, includeSkippedTokens?: boolean) => PositionedToken >position : number >includeSkippedTokens : boolean ->false : boolean +>false : false >PositionedToken : PositionedToken var positionedToken = this.findTokenInternal(null, position, 0); @@ -75,7 +75,7 @@ module TypeScript { >findTokenInternal : (x: any, y: any, z: any) => any >null : null >position : number ->0 : number +>0 : 0 return null; >null : null diff --git a/tests/baselines/reference/moduleMerge.types b/tests/baselines/reference/moduleMerge.types index 06d532673ed..99fe3c2a7c6 100644 --- a/tests/baselines/reference/moduleMerge.types +++ b/tests/baselines/reference/moduleMerge.types @@ -11,7 +11,7 @@ module A >Hello : () => string { return "from private B"; ->"from private B" : string +>"from private B" : "from private B" } } } @@ -26,7 +26,7 @@ module A >Hello : () => string { return "from export B"; ->"from export B" : string +>"from export B" : "from export B" } } } diff --git a/tests/baselines/reference/moduleNoEmit.types b/tests/baselines/reference/moduleNoEmit.types index 1097bea5a4c..da5f58fde37 100644 --- a/tests/baselines/reference/moduleNoEmit.types +++ b/tests/baselines/reference/moduleNoEmit.types @@ -4,6 +4,6 @@ module Foo { 1+1; >1+1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 } diff --git a/tests/baselines/reference/modulePrologueAMD.types b/tests/baselines/reference/modulePrologueAMD.types index b57b5a8bf2f..f4c390ac060 100644 --- a/tests/baselines/reference/modulePrologueAMD.types +++ b/tests/baselines/reference/modulePrologueAMD.types @@ -1,6 +1,6 @@ === tests/cases/compiler/modulePrologueAMD.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Foo {} >Foo : Foo diff --git a/tests/baselines/reference/modulePrologueCommonjs.types b/tests/baselines/reference/modulePrologueCommonjs.types index 5d76532b3e4..0aeaef6c38e 100644 --- a/tests/baselines/reference/modulePrologueCommonjs.types +++ b/tests/baselines/reference/modulePrologueCommonjs.types @@ -1,6 +1,6 @@ === tests/cases/compiler/modulePrologueCommonjs.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Foo {} >Foo : Foo diff --git a/tests/baselines/reference/modulePrologueES6.types b/tests/baselines/reference/modulePrologueES6.types index 5f09a60ac6a..4b6a74608cb 100644 --- a/tests/baselines/reference/modulePrologueES6.types +++ b/tests/baselines/reference/modulePrologueES6.types @@ -1,6 +1,6 @@ === tests/cases/compiler/modulePrologueES6.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Foo {} >Foo : Foo diff --git a/tests/baselines/reference/modulePrologueSystem.js b/tests/baselines/reference/modulePrologueSystem.js index 13f7d35b001..c3919669a8d 100644 --- a/tests/baselines/reference/modulePrologueSystem.js +++ b/tests/baselines/reference/modulePrologueSystem.js @@ -4,13 +4,13 @@ export class Foo {} //// [modulePrologueSystem.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = (function () { function Foo() { } @@ -18,5 +18,5 @@ System.register([], function(exports_1, context_1) { }()); exports_1("Foo", Foo); } - } + }; }); diff --git a/tests/baselines/reference/modulePrologueSystem.types b/tests/baselines/reference/modulePrologueSystem.types index ac0d52e4a2b..f54048b79a4 100644 --- a/tests/baselines/reference/modulePrologueSystem.types +++ b/tests/baselines/reference/modulePrologueSystem.types @@ -1,6 +1,6 @@ === tests/cases/compiler/modulePrologueSystem.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Foo {} >Foo : Foo diff --git a/tests/baselines/reference/modulePrologueUmd.js b/tests/baselines/reference/modulePrologueUmd.js index a573559b7e9..fb366945d66 100644 --- a/tests/baselines/reference/modulePrologueUmd.js +++ b/tests/baselines/reference/modulePrologueUmd.js @@ -4,14 +4,14 @@ export class Foo {} //// [modulePrologueUmd.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { "use strict"; var Foo = (function () { function Foo() { diff --git a/tests/baselines/reference/modulePrologueUmd.types b/tests/baselines/reference/modulePrologueUmd.types index 2a1064da8e2..02f90df9704 100644 --- a/tests/baselines/reference/modulePrologueUmd.types +++ b/tests/baselines/reference/modulePrologueUmd.types @@ -1,6 +1,6 @@ === tests/cases/compiler/modulePrologueUmd.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Foo {} >Foo : Foo diff --git a/tests/baselines/reference/moduleResolutionNoResolve.types b/tests/baselines/reference/moduleResolutionNoResolve.types index 3e96ed2b197..dbec43bf1a2 100644 --- a/tests/baselines/reference/moduleResolutionNoResolve.types +++ b/tests/baselines/reference/moduleResolutionNoResolve.types @@ -6,5 +6,5 @@ import a = require('./b'); === tests/cases/compiler/b.ts === export var c = ''; >c : string ->'' : string +>'' : "" diff --git a/tests/baselines/reference/moduleResolutionNoTs.errors.txt b/tests/baselines/reference/moduleResolutionNoTs.errors.txt new file mode 100644 index 00000000000..c0543307311 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionNoTs.errors.txt @@ -0,0 +1,31 @@ +tests/cases/compiler/user.ts(1,15): error TS2691: An import path cannot end with a '.ts' extension. Consider importing './x' instead. +tests/cases/compiler/user.ts(2,15): error TS2691: An import path cannot end with a '.tsx' extension. Consider importing './y' instead. +tests/cases/compiler/user.ts(3,15): error TS2691: An import path cannot end with a '.d.ts' extension. Consider importing './z' instead. + + +==== tests/cases/compiler/x.ts (0 errors) ==== + export default 0; + +==== tests/cases/compiler/y.tsx (0 errors) ==== + export default 0; + +==== tests/cases/compiler/z.d.ts (0 errors) ==== + declare const x: number; + export default x; + +==== tests/cases/compiler/user.ts (3 errors) ==== + import x from "./x.ts"; + ~~~~~~~~ +!!! error TS2691: An import path cannot end with a '.ts' extension. Consider importing './x' instead. + import y from "./y.tsx"; + ~~~~~~~~~ +!!! error TS2691: An import path cannot end with a '.tsx' extension. Consider importing './y' instead. + import z from "./z.d.ts"; + ~~~~~~~~~~ +!!! error TS2691: An import path cannot end with a '.d.ts' extension. Consider importing './z' instead. + + // Making sure the suggested fixes are valid: + import x2 from "./x"; + import y2 from "./y"; + import z2 from "./z"; + \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionNoTs.js b/tests/baselines/reference/moduleResolutionNoTs.js new file mode 100644 index 00000000000..9ff33d688ea --- /dev/null +++ b/tests/baselines/reference/moduleResolutionNoTs.js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/moduleResolutionNoTs.ts] //// + +//// [x.ts] +export default 0; + +//// [y.tsx] +export default 0; + +//// [z.d.ts] +declare const x: number; +export default x; + +//// [user.ts] +import x from "./x.ts"; +import y from "./y.tsx"; +import z from "./z.d.ts"; + +// Making sure the suggested fixes are valid: +import x2 from "./x"; +import y2 from "./y"; +import z2 from "./z"; + + +//// [x.js] +"use strict"; +exports.__esModule = true; +exports["default"] = 0; +//// [y.js] +"use strict"; +exports.__esModule = true; +exports["default"] = 0; +//// [user.js] +"use strict"; diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.js b/tests/baselines/reference/moduleResolutionWithExtensions.js index df12a3531bc..16d176872ca 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.js +++ b/tests/baselines/reference/moduleResolutionWithExtensions.js @@ -8,10 +8,6 @@ export default 0; //// [b.ts] import a from './a'; -// Matching extension -//// [c.ts] -import a from './a.ts'; - // '.js' extension: stripped and replaced with '.ts' //// [d.ts] import a from './a.js'; @@ -36,9 +32,6 @@ exports["default"] = 0; // No extension: '.ts' added //// [b.js] "use strict"; -// Matching extension -//// [c.js] -"use strict"; // '.js' extension: stripped and replaced with '.ts' //// [d.js] "use strict"; diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.symbols b/tests/baselines/reference/moduleResolutionWithExtensions.symbols index e9934946a64..eaaa1d51cc0 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.symbols +++ b/tests/baselines/reference/moduleResolutionWithExtensions.symbols @@ -7,11 +7,6 @@ No type information for this code.=== /src/b.ts === import a from './a'; >a : Symbol(a, Decl(b.ts, 0, 6)) -// Matching extension -=== /src/c.ts === -import a from './a.ts'; ->a : Symbol(a, Decl(c.ts, 0, 6)) - // '.js' extension: stripped and replaced with '.ts' === /src/d.ts === import a from './a.js'; diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions.trace.json index 7dc9e8c104b..5060006ac56 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions.trace.json @@ -5,12 +5,6 @@ "File '/src/a.ts' exist - use it as a name resolution result.", "Resolving real path for '/src/a.ts', result '/src/a.ts'", "======== Module name './a' was successfully resolved to '/src/a.ts'. ========", - "======== Resolving module './a.ts' from '/src/c.ts'. ========", - "Module resolution kind is not specified, using 'NodeJs'.", - "Loading module as file / folder, candidate module location '/src/a.ts'.", - "File '/src/a.ts' exist - use it as a name resolution result.", - "Resolving real path for '/src/a.ts', result '/src/a.ts'", - "======== Module name './a.ts' was successfully resolved to '/src/a.ts'. ========", "======== Resolving module './a.js' from '/src/d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module as file / folder, candidate module location '/src/a.js'.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.types b/tests/baselines/reference/moduleResolutionWithExtensions.types index fbc0091ee3b..60196f2b25d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions.types @@ -5,17 +5,12 @@ No type information for this code. No type information for this code.// No extension: '.ts' added No type information for this code.=== /src/b.ts === import a from './a'; ->a : number - -// Matching extension -=== /src/c.ts === -import a from './a.ts'; ->a : number +>a : 0 // '.js' extension: stripped and replaced with '.ts' === /src/d.ts === import a from './a.js'; ->a : number +>a : 0 === /src/jquery.d.ts === declare var x: number; diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types index 57be71c802b..bfeb5a14c94 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types @@ -8,5 +8,5 @@ No type information for this code. No type information for this code.=== tests/cases/compiler/c.ts === export var foo = 42; >foo : number ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types index 600b0d946c6..1e1f0be5101 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types @@ -11,9 +11,9 @@ export enum Animals { >Animals : Animals Cat, ->Cat : Animals +>Cat : Animals.Cat Dog ->Dog : Animals +>Dog : Animals.Dog }; diff --git a/tests/baselines/reference/moduleScoping.js b/tests/baselines/reference/moduleScoping.js index adfcd3673a8..f987c0c652d 100644 --- a/tests/baselines/reference/moduleScoping.js +++ b/tests/baselines/reference/moduleScoping.js @@ -33,7 +33,7 @@ exports.v3 = true; var v2 = [1, 2, 3]; // Module scope. Should not appear in global scope //// [file4.js] "use strict"; -var file3 = require('./file3'); +var file3 = require("./file3"); var t1 = v1; var t2 = v2; var t3 = file3.v3; diff --git a/tests/baselines/reference/moduleScoping.types b/tests/baselines/reference/moduleScoping.types index b2ee83dc69b..7ae2c0a2abf 100644 --- a/tests/baselines/reference/moduleScoping.types +++ b/tests/baselines/reference/moduleScoping.types @@ -1,29 +1,29 @@ === tests/cases/conformance/externalModules/file1.ts === var v1 = "sausages"; // Global scope >v1 : string ->"sausages" : string +>"sausages" : "sausages" === tests/cases/conformance/externalModules/file2.ts === var v2 = 42; // Global scope >v2 : number ->42 : number +>42 : 42 var v4 = () => 5; >v4 : () => number >() => 5 : () => number ->5 : number +>5 : 5 === tests/cases/conformance/externalModules/file3.ts === export var v3 = true; >v3 : boolean ->true : boolean +>true : true var v2 = [1,2,3]; // Module scope. Should not appear in global scope >v2 : number[] >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 === tests/cases/conformance/externalModules/file4.ts === import file3 = require('./file3'); @@ -47,7 +47,7 @@ var v4 = {a: true, b: NaN}; // Should shadow global v2 in this module >v4 : { a: boolean; b: number; } >{a: true, b: NaN} : { a: boolean; b: number; } >a : boolean ->true : boolean +>true : true >b : number >NaN : number diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt.types b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt.types index b473adf2aa4..865546d12fa 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt.types +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt.types @@ -7,7 +7,7 @@ module Z.M { >bar : () => string return ""; ->"" : string +>"" : "" } } module A.M { diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt2.types b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt2.types index 56160637e0f..b2a3198eab8 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt2.types +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt2.types @@ -7,7 +7,7 @@ module Z.M { >bar : () => string return ""; ->"" : string +>"" : "" } } module A.M { diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt4.types b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt4.types index b8574a2c71f..02f47ec112b 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt4.types +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt4.types @@ -7,7 +7,7 @@ module Z.M { >bar : () => string return ""; ->"" : string +>"" : "" } } module A.M { diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.types b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.types index 65f820e0606..32e5cbd850e 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.types +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.types @@ -7,7 +7,7 @@ module Z.M { >bar : () => string return ""; ->"" : string +>"" : "" } } module A.M { diff --git a/tests/baselines/reference/moduleUnassignedVariable.types b/tests/baselines/reference/moduleUnassignedVariable.types index 3e5ab538ad5..cfc3cb0b3d2 100644 --- a/tests/baselines/reference/moduleUnassignedVariable.types +++ b/tests/baselines/reference/moduleUnassignedVariable.types @@ -4,7 +4,7 @@ module Bar { export var a = 1; >a : number ->1 : number +>1 : 1 function fooA() { return a; } // Correct: return Bar.a >fooA : () => number diff --git a/tests/baselines/reference/moduleVariableArrayIndexer.types b/tests/baselines/reference/moduleVariableArrayIndexer.types index 4c8e73b9478..aa31ab27c6a 100644 --- a/tests/baselines/reference/moduleVariableArrayIndexer.types +++ b/tests/baselines/reference/moduleVariableArrayIndexer.types @@ -4,7 +4,7 @@ module Bar { export var a = 1; >a : number ->1 : number +>1 : 1 var t = undefined[a][a]; // CG: var t = undefined[Bar.a][a]; >t : any diff --git a/tests/baselines/reference/moduleVariables.types b/tests/baselines/reference/moduleVariables.types index 5bdf8490aed..71cd74bd078 100644 --- a/tests/baselines/reference/moduleVariables.types +++ b/tests/baselines/reference/moduleVariables.types @@ -4,14 +4,14 @@ declare var console: any; var x = 1; >x : number ->1 : number +>1 : 1 module M { >M : typeof M export var x = 2; >x : number ->2 : number +>2 : 2 console.log(x); // 2 >console.log(x) : any @@ -37,7 +37,7 @@ module M { var x = 3; >x : number ->3 : number +>3 : 3 console.log(x); // 3 >console.log(x) : any diff --git a/tests/baselines/reference/moduleVisibilityTest1.types b/tests/baselines/reference/moduleVisibilityTest1.types index b54f897d014..c8b7a1a8e31 100644 --- a/tests/baselines/reference/moduleVisibilityTest1.types +++ b/tests/baselines/reference/moduleVisibilityTest1.types @@ -6,15 +6,15 @@ module OuterMod { export function someExportedOuterFunc() { return -1; } >someExportedOuterFunc : () => number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 export module OuterInnerMod { >OuterInnerMod : typeof OuterInnerMod export function someExportedOuterInnerFunc() { return "foo"; } >someExportedOuterInnerFunc : () => string ->"foo" : string +>"foo" : "foo" } } @@ -31,26 +31,26 @@ module M { export function someExportedInnerFunc() { return -2; } >someExportedInnerFunc : () => number ->-2 : number ->2 : number +>-2 : -2 +>2 : 2 } export enum E { >E : E A, ->A : E +>A : E.A B, ->B : E +>B : E.B C, ->C : E +>C : E.C } export var x = 5; >x : number ->5 : number +>5 : 5 export declare var exported_var; >exported_var : any @@ -72,7 +72,7 @@ module M { class B {public b = 0;} >B : B >b : number ->0 : number +>0 : 0 export class C implements I { >C : C @@ -101,30 +101,30 @@ module M { public someMethod() { return 0; } >someMethod : () => number ->0 : number +>0 : 0 public someProp = 1; >someProp : number ->1 : number +>1 : 1 constructor() { function someInnerFunc() { return 2; } >someInnerFunc : () => number ->2 : number +>2 : 2 var someInnerVar = 3; >someInnerVar : number ->3 : number +>3 : 3 } } var someModuleVar = 4; >someModuleVar : number ->4 : number +>4 : 4 function someModuleFunction() { return 5;} >someModuleFunction : () => number ->5 : number +>5 : 5 } module M { @@ -136,11 +136,11 @@ module M { export var meb = M.E.B; >meb : E ->M.E.B : E +>M.E.B : E.B >M.E : typeof E >M : typeof M >E : typeof E ->B : E +>B : E.B } var cprime : M.I = null; @@ -167,11 +167,11 @@ var z = M.x; var alpha = M.E.A; >alpha : M.E ->M.E.A : M.E +>M.E.A : M.E.A >M.E : typeof M.E >M : typeof M >E : typeof M.E ->A : M.E +>A : M.E.A var omega = M.exported_var; >omega : any diff --git a/tests/baselines/reference/moduleWithStatementsOfEveryKind.types b/tests/baselines/reference/moduleWithStatementsOfEveryKind.types index c6f4be850be..6f2d5243704 100644 --- a/tests/baselines/reference/moduleWithStatementsOfEveryKind.types +++ b/tests/baselines/reference/moduleWithStatementsOfEveryKind.types @@ -40,19 +40,19 @@ module A { } enum Color { Blue, Red } >Color : Color ->Blue : Color ->Red : Color +>Blue : Color.Blue +>Red : Color.Red var x = 12; >x : number ->12 : number +>12 : 12 function F(s: string): number { >F : (s: string) => number >s : string return 2; ->2 : number +>2 : 2 } var array: I[] = null; >array : I[] @@ -66,18 +66,18 @@ module A { return 'hello ' + s; >'hello ' + s : string ->'hello ' : string +>'hello ' : "hello " >s : string } var ol = { s: 'hello', id: 2, isvalid: true }; >ol : { s: string; id: number; isvalid: boolean; } >{ s: 'hello', id: 2, isvalid: true } : { s: string; id: number; isvalid: boolean; } >s : string ->'hello' : string +>'hello' : "hello" >id : number ->2 : number +>2 : 2 >isvalid : boolean ->true : boolean +>true : true declare class DC { >DC : DC @@ -128,19 +128,19 @@ module Y { } export enum Color { Blue, Red } >Color : Color ->Blue : Color ->Red : Color +>Blue : Color.Blue +>Red : Color.Red export var x = 12; >x : number ->12 : number +>12 : 12 export function F(s: string): number { >F : (s: string) => number >s : string return 2; ->2 : number +>2 : 2 } export var array: I[] = null; >array : I[] @@ -154,18 +154,18 @@ module Y { return 'hello ' + s; >'hello ' + s : string ->'hello ' : string +>'hello ' : "hello " >s : string } export var ol = { s: 'hello', id: 2, isvalid: true }; >ol : { s: string; id: number; isvalid: boolean; } >{ s: 'hello', id: 2, isvalid: true } : { s: string; id: number; isvalid: boolean; } >s : string ->'hello' : string +>'hello' : "hello" >id : number ->2 : number +>2 : 2 >isvalid : boolean ->true : boolean +>true : true export declare class DC { >DC : DC diff --git a/tests/baselines/reference/module_augmentUninstantiatedModule.symbols b/tests/baselines/reference/module_augmentUninstantiatedModule.symbols index d405f9549ea..4ea073b0254 100644 --- a/tests/baselines/reference/module_augmentUninstantiatedModule.symbols +++ b/tests/baselines/reference/module_augmentUninstantiatedModule.symbols @@ -1,10 +1,10 @@ === tests/cases/compiler/module_augmentUninstantiatedModule.ts === declare module "foo" { namespace M {} ->M : Symbol(, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) +>M : Symbol(M, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) var M; ->M : Symbol(, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) +>M : Symbol(M, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6), Decl(module_augmentUninstantiatedModule.ts, 6, 22)) export = M; >M : Symbol(M, Decl(module_augmentUninstantiatedModule.ts, 0, 22), Decl(module_augmentUninstantiatedModule.ts, 2, 6)) diff --git a/tests/baselines/reference/moduledecl.types b/tests/baselines/reference/moduledecl.types index 0c117fb5184..e6382861972 100644 --- a/tests/baselines/reference/moduledecl.types +++ b/tests/baselines/reference/moduledecl.types @@ -156,7 +156,7 @@ module m1 { >d : () => string return "Hello"; ->"Hello" : string +>"Hello" : "Hello" } public e: { x: number; y: string; }; @@ -220,7 +220,7 @@ module m { var a = 10; >a : number ->10 : number +>10 : 10 export var b: number; >b : number @@ -270,7 +270,7 @@ module m13 { >f : () => number return 20; ->20 : number +>20 : 20 } } } @@ -318,14 +318,14 @@ module exportTests { >f2 : () => number return 30; ->30 : number +>30 : 30 } public f3() { >f3 : () => string return "string"; ->"string" : string +>"string" : "string" } } class C2_private { @@ -335,14 +335,14 @@ module exportTests { >f2 : () => number return 30; ->30 : number +>30 : 30 } public f3() { >f3 : () => string return "string"; ->"string" : string +>"string" : "string" } } diff --git a/tests/baselines/reference/multiImportExport.js b/tests/baselines/reference/multiImportExport.js index 34832c93966..2cd5440ce6e 100644 --- a/tests/baselines/reference/multiImportExport.js +++ b/tests/baselines/reference/multiImportExport.js @@ -37,17 +37,17 @@ var Adder = (function () { module.exports = Adder; //// [Math.js] "use strict"; -var Adder = require('./Adder'); +var Adder = require("./Adder"); var Math = { Adder: Adder }; module.exports = Math; //// [Drawing.js] "use strict"; -exports.Math = require('./Math/Math'); +exports.Math = require("./Math/Math"); //// [consumer.js] "use strict"; -var Drawing = require('./Drawing'); +var Drawing = require("./Drawing"); var addr = new Drawing.Math.Adder(); diff --git a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.js b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.js index 4821f1fe69c..2ada9f1bb52 100644 --- a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.js +++ b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.js @@ -6,8 +6,9 @@ return this.edit(role) //// [multiLinePropertyAccessAndArrowFunctionIndent1.js] +var _this = this; return this.edit(role) .then(function (role) { - return this.roleService.add(role) + return _this.roleService.add(role) .then(function (data) { return data.data; }); }); diff --git a/tests/baselines/reference/multiModuleClodule1.types b/tests/baselines/reference/multiModuleClodule1.types index b958d18f984..86749bd1935 100644 --- a/tests/baselines/reference/multiModuleClodule1.types +++ b/tests/baselines/reference/multiModuleClodule1.types @@ -20,11 +20,11 @@ module C { export var x = 1; >x : number ->1 : number +>1 : 1 var y = 2; >y : number ->2 : number +>2 : 2 } module C { >C : typeof C @@ -34,7 +34,7 @@ module C { function baz() { return ''; } >baz : () => string ->'' : string +>'' : "" } var c = new C(C.x); diff --git a/tests/baselines/reference/multiModuleFundule1.types b/tests/baselines/reference/multiModuleFundule1.types index 7eed100c199..aed6f825a7c 100644 --- a/tests/baselines/reference/multiModuleFundule1.types +++ b/tests/baselines/reference/multiModuleFundule1.types @@ -8,7 +8,7 @@ module C { export var x = 1; >x : number ->1 : number +>1 : 1 } module C { >C : typeof C @@ -21,13 +21,13 @@ var r = C(2); >r : void >C(2) : void >C : typeof C ->2 : number +>2 : 2 var r2 = new C(2); // using void returning function as constructor >r2 : any >new C(2) : any >C : typeof C ->2 : number +>2 : 2 var r3 = C.foo(); >r3 : void diff --git a/tests/baselines/reference/multipleDeclarations.js b/tests/baselines/reference/multipleDeclarations.js index 5f5ac29e909..7fb7e0bca02 100644 --- a/tests/baselines/reference/multipleDeclarations.js +++ b/tests/baselines/reference/multipleDeclarations.js @@ -1,11 +1,38 @@ //// [input.js] - function C() { this.m = null; } C.prototype.m = function() { this.nothing(); -}; +} +class X { + constructor() { + this.m = this.m.bind(this); + this.mistake = 'frankly, complete nonsense'; + } + m() { + } + mistake() { + } +} +let x = new X(); +X.prototype.mistake = false; +x.m(); +x.mistake; +class Y { + mistake() { + } + m() { + } + constructor() { + this.m = this.m.bind(this); + this.mistake = 'even more nonsense'; + } +} +Y.prototype.mistake = true; +let y = new Y(); +y.m(); +y.mistake(); //// [output.js] @@ -15,3 +42,33 @@ function C() { C.prototype.m = function () { this.nothing(); }; +var X = (function () { + function X() { + this.m = this.m.bind(this); + this.mistake = 'frankly, complete nonsense'; + } + X.prototype.m = function () { + }; + X.prototype.mistake = function () { + }; + return X; +}()); +var x = new X(); +X.prototype.mistake = false; +x.m(); +x.mistake; +var Y = (function () { + function Y() { + this.m = this.m.bind(this); + this.mistake = 'even more nonsense'; + } + Y.prototype.mistake = function () { + }; + Y.prototype.m = function () { + }; + return Y; +}()); +Y.prototype.mistake = true; +var y = new Y(); +y.m(); +y.mistake(); diff --git a/tests/baselines/reference/multipleDeclarations.symbols b/tests/baselines/reference/multipleDeclarations.symbols index a256943dd50..9e49c2fc00c 100644 --- a/tests/baselines/reference/multipleDeclarations.symbols +++ b/tests/baselines/reference/multipleDeclarations.symbols @@ -1,19 +1,106 @@ === tests/cases/conformance/salsa/input.js === - function C() { >C : Symbol(C, Decl(input.js, 0, 0)) this.m = null; ->m : Symbol(C.m, Decl(input.js, 1, 14), Decl(input.js, 3, 1)) +>m : Symbol(C.m, Decl(input.js, 0, 14), Decl(input.js, 2, 1)) } C.prototype.m = function() { ->C.prototype : Symbol(C.m, Decl(input.js, 1, 14), Decl(input.js, 3, 1)) +>C.prototype : Symbol(C.m, Decl(input.js, 0, 14), Decl(input.js, 2, 1)) >C : Symbol(C, Decl(input.js, 0, 0)) >prototype : Symbol(Function.prototype, Decl(lib.d.ts, --, --)) ->m : Symbol(C.m, Decl(input.js, 1, 14), Decl(input.js, 3, 1)) +>m : Symbol(C.m, Decl(input.js, 0, 14), Decl(input.js, 2, 1)) this.nothing(); >this : Symbol(C, Decl(input.js, 0, 0)) +} +class X { +>X : Symbol(X, Decl(input.js, 5, 1)) -}; + constructor() { + this.m = this.m.bind(this); +>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 : 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, --, --)) +>this : Symbol(X, Decl(input.js, 5, 1)) + + this.mistake = 'frankly, complete nonsense'; +>this.mistake : Symbol(X.mistake, Decl(input.js, 12, 5)) +>this : Symbol(X, Decl(input.js, 5, 1)) +>mistake : Symbol(X.mistake, Decl(input.js, 8, 35)) + } + m() { +>m : Symbol(X.m, Decl(input.js, 10, 5)) + } + mistake() { +>mistake : Symbol(X.mistake, Decl(input.js, 12, 5)) + } +} +let x = new X(); +>x : Symbol(x, Decl(input.js, 16, 3)) +>X : Symbol(X, Decl(input.js, 5, 1)) + +X.prototype.mistake = false; +>X.prototype.mistake : Symbol(X.mistake, Decl(input.js, 12, 5)) +>X : Symbol(X, Decl(input.js, 5, 1)) +>prototype : Symbol(X.prototype) + +x.m(); +>x.m : Symbol(X.m, Decl(input.js, 10, 5)) +>x : Symbol(x, Decl(input.js, 16, 3)) +>m : Symbol(X.m, Decl(input.js, 10, 5)) + +x.mistake; +>x.mistake : Symbol(X.mistake, Decl(input.js, 12, 5)) +>x : Symbol(x, Decl(input.js, 16, 3)) +>mistake : Symbol(X.mistake, Decl(input.js, 12, 5)) + +class Y { +>Y : Symbol(Y, Decl(input.js, 19, 10)) + + mistake() { +>mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) + } + m() { +>m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) + } + constructor() { + this.m = this.m.bind(this); +>this.m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) +>this : Symbol(Y, Decl(input.js, 19, 10)) +>m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) +>this.m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) +>this : Symbol(Y, Decl(input.js, 19, 10)) +>m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) +>this : Symbol(Y, Decl(input.js, 19, 10)) + + this.mistake = 'even more nonsense'; +>this.mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) +>this : Symbol(Y, Decl(input.js, 19, 10)) +>mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) + } +} +Y.prototype.mistake = true; +>Y.prototype.mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) +>Y : Symbol(Y, Decl(input.js, 19, 10)) +>prototype : Symbol(Y.prototype) + +let y = new Y(); +>y : Symbol(y, Decl(input.js, 31, 3)) +>Y : Symbol(Y, Decl(input.js, 19, 10)) + +y.m(); +>y.m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) +>y : Symbol(y, Decl(input.js, 31, 3)) +>m : Symbol(Y.m, Decl(input.js, 22, 5), Decl(input.js, 25, 19)) + +y.mistake(); +>y.mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) +>y : Symbol(y, Decl(input.js, 31, 3)) +>mistake : Symbol(Y.mistake, Decl(input.js, 20, 9), Decl(input.js, 26, 35)) diff --git a/tests/baselines/reference/multipleDeclarations.types b/tests/baselines/reference/multipleDeclarations.types index 7c0a3de70c9..195bdc2ad0d 100644 --- a/tests/baselines/reference/multipleDeclarations.types +++ b/tests/baselines/reference/multipleDeclarations.types @@ -1,5 +1,4 @@ === tests/cases/conformance/salsa/input.js === - function C() { >C : () => void @@ -24,6 +23,117 @@ C.prototype.m = function() { >this.nothing : any >this : { m: () => void; } >nothing : any +} +class X { +>X : X -}; + constructor() { + this.m = this.m.bind(this); +>this.m = this.m.bind(this) : any +>this.m : () => void +>this : this +>m : () => void +>this.m.bind(this) : any +>this.m.bind : (this: Function, thisArg: any, ...argArray: any[]) => any +>this.m : () => void +>this : this +>m : () => void +>bind : (this: Function, thisArg: any, ...argArray: any[]) => any +>this : this + + this.mistake = 'frankly, complete nonsense'; +>this.mistake = 'frankly, complete nonsense' : "frankly, complete nonsense" +>this.mistake : () => void +>this : this +>mistake : () => void +>'frankly, complete nonsense' : "frankly, complete nonsense" + } + m() { +>m : () => void + } + mistake() { +>mistake : () => void + } +} +let x = new X(); +>x : X +>new X() : X +>X : typeof X + +X.prototype.mistake = false; +>X.prototype.mistake = false : false +>X.prototype.mistake : () => void +>X.prototype : X +>X : typeof X +>prototype : X +>mistake : () => void +>false : false + +x.m(); +>x.m() : void +>x.m : () => void +>x : X +>m : () => void + +x.mistake; +>x.mistake : () => void +>x : X +>mistake : () => void + +class Y { +>Y : Y + + mistake() { +>mistake : any + } + m() { +>m : any + } + constructor() { + this.m = this.m.bind(this); +>this.m = this.m.bind(this) : any +>this.m : any +>this : this +>m : any +>this.m.bind(this) : any +>this.m.bind : any +>this.m : any +>this : this +>m : any +>bind : any +>this : this + + this.mistake = 'even more nonsense'; +>this.mistake = 'even more nonsense' : "even more nonsense" +>this.mistake : any +>this : this +>mistake : any +>'even more nonsense' : "even more nonsense" + } +} +Y.prototype.mistake = true; +>Y.prototype.mistake = true : true +>Y.prototype.mistake : any +>Y.prototype : Y +>Y : typeof Y +>prototype : Y +>mistake : any +>true : true + +let y = new Y(); +>y : Y +>new Y() : Y +>Y : typeof Y + +y.m(); +>y.m() : any +>y.m : any +>y : Y +>m : any + +y.mistake(); +>y.mistake() : any +>y.mistake : any +>y : Y +>mistake : any diff --git a/tests/baselines/reference/nameCollision.types b/tests/baselines/reference/nameCollision.types index e8badb7ab92..cfb56fb61e9 100644 --- a/tests/baselines/reference/nameCollision.types +++ b/tests/baselines/reference/nameCollision.types @@ -6,11 +6,11 @@ module A { // in the generated function call. var A = 12; >A : number ->12 : number +>12 : 12 var _A = ''; >_A : string ->'' : string +>'' : "" } module B { @@ -18,7 +18,7 @@ module B { var A = 12; >A : number ->12 : number +>12 : 12 } module B { @@ -39,29 +39,29 @@ module X { var X = 13; >X : number ->13 : number +>13 : 13 export module Y { >Y : typeof X.Y var Y = 13; >Y : number ->13 : number +>13 : 13 export module Z { >Z : typeof X.Y.Z var X = 12; >X : number ->12 : number +>12 : 12 var Y = 12; >Y : number ->12 : number +>12 : 12 var Z = 12; >Z : number ->12 : number +>12 : 12 } } } @@ -74,8 +74,8 @@ module Y.Y { >Y : Y Red, Blue ->Red : Y ->Blue : Y +>Red : Y.Red +>Blue : Y.Blue } } @@ -93,5 +93,5 @@ module D { export var E = 'hello'; >E : string ->'hello' : string +>'hello' : "hello" } diff --git a/tests/baselines/reference/nameCollisionWithBlockScopedVariable1.types b/tests/baselines/reference/nameCollisionWithBlockScopedVariable1.types index 7a3c07af187..43b91520db3 100644 --- a/tests/baselines/reference/nameCollisionWithBlockScopedVariable1.types +++ b/tests/baselines/reference/nameCollisionWithBlockScopedVariable1.types @@ -10,7 +10,7 @@ module M { { let M = 0; >M : number ->0 : number +>0 : 0 new C(); >new C() : C diff --git a/tests/baselines/reference/nameCollisionsInPropertyAssignments.types b/tests/baselines/reference/nameCollisionsInPropertyAssignments.types index bffe75896c4..d1064ea3abb 100644 --- a/tests/baselines/reference/nameCollisionsInPropertyAssignments.types +++ b/tests/baselines/reference/nameCollisionsInPropertyAssignments.types @@ -1,7 +1,7 @@ === tests/cases/compiler/nameCollisionsInPropertyAssignments.ts === var x = 1 >x : number ->1 : number +>1 : 1 var y = { x() { x++; } }; >y : { x(): void; } diff --git a/tests/baselines/reference/nameDelimitedBySlashes.js b/tests/baselines/reference/nameDelimitedBySlashes.js index 6d00b54d69b..93cf4e29d49 100644 --- a/tests/baselines/reference/nameDelimitedBySlashes.js +++ b/tests/baselines/reference/nameDelimitedBySlashes.js @@ -13,5 +13,5 @@ var x = foo.foo + 42; exports.foo = 42; //// [foo_1.js] "use strict"; -var foo = require('./test/foo_0'); +var foo = require("./test/foo_0"); var x = foo.foo + 42; diff --git a/tests/baselines/reference/nameDelimitedBySlashes.types b/tests/baselines/reference/nameDelimitedBySlashes.types index 4987a52196f..03f4437ff67 100644 --- a/tests/baselines/reference/nameDelimitedBySlashes.types +++ b/tests/baselines/reference/nameDelimitedBySlashes.types @@ -8,10 +8,10 @@ var x = foo.foo + 42; >foo.foo : number >foo : typeof foo >foo : number ->42 : number +>42 : 42 === tests/cases/conformance/externalModules/test/foo_0.ts === export var foo = 42; >foo : number ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/nameWithFileExtension.js b/tests/baselines/reference/nameWithFileExtension.js index 8a7506c2d42..156d1b03a1a 100644 --- a/tests/baselines/reference/nameWithFileExtension.js +++ b/tests/baselines/reference/nameWithFileExtension.js @@ -13,5 +13,5 @@ var x = foo.foo + 42; exports.foo = 42; //// [foo_1.js] "use strict"; -var foo = require('./foo_0.js'); +var foo = require("./foo_0.js"); var x = foo.foo + 42; diff --git a/tests/baselines/reference/nameWithFileExtension.types b/tests/baselines/reference/nameWithFileExtension.types index a0fca3d4562..3f3e96eae1c 100644 --- a/tests/baselines/reference/nameWithFileExtension.types +++ b/tests/baselines/reference/nameWithFileExtension.types @@ -8,10 +8,10 @@ var x = foo.foo + 42; >foo.foo : number >foo : typeof foo >foo : number ->42 : number +>42 : 42 === tests/cases/conformance/externalModules/foo_0.ts === export var foo = 42; >foo : number ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/nameWithRelativePaths.js b/tests/baselines/reference/nameWithRelativePaths.js index e348c5b1ced..d8b0eed43cf 100644 --- a/tests/baselines/reference/nameWithRelativePaths.js +++ b/tests/baselines/reference/nameWithRelativePaths.js @@ -40,9 +40,9 @@ var M2; })(M2 = exports.M2 || (exports.M2 = {})); //// [foo_3.js] "use strict"; -var foo0 = require('../foo_0'); -var foo1 = require('./test/foo_1'); -var foo2 = require('./.././test/foo_2'); +var foo0 = require("../foo_0"); +var foo1 = require("./test/foo_1"); +var foo2 = require("./.././test/foo_2"); if (foo2.M2.x) { var x = foo0.foo + foo1.f(); } diff --git a/tests/baselines/reference/nameWithRelativePaths.types b/tests/baselines/reference/nameWithRelativePaths.types index ea552cfa531..e27170e82f9 100644 --- a/tests/baselines/reference/nameWithRelativePaths.types +++ b/tests/baselines/reference/nameWithRelativePaths.types @@ -30,14 +30,14 @@ if(foo2.M2.x){ === tests/cases/conformance/externalModules/foo_0.ts === export var foo = 42; >foo : number ->42 : number +>42 : 42 === tests/cases/conformance/externalModules/test/test/foo_1.ts === export function f(){ >f : () => number return 42; ->42 : number +>42 : 42 } === tests/cases/conformance/externalModules/test/foo_2.ts === @@ -46,6 +46,6 @@ export module M2 { export var x = true; >x : boolean ->true : boolean +>true : true } diff --git a/tests/baselines/reference/namedFunctionExpressionInModule.types b/tests/baselines/reference/namedFunctionExpressionInModule.types index 8202cfbaf1b..2a361de76fb 100644 --- a/tests/baselines/reference/namedFunctionExpressionInModule.types +++ b/tests/baselines/reference/namedFunctionExpressionInModule.types @@ -13,8 +13,8 @@ module Variables{ x(1, 2, 3); >x(1, 2, 3) : void >x : (a: any, b: any, c: any) => void ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 } diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt b/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt new file mode 100644 index 00000000000..e435b98050d --- /dev/null +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt @@ -0,0 +1,33 @@ +tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts(11,17): error TS2339: Property 'doPanic' does not exist on type '{ type: "foo"; dontPanic(): any; }'. +tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts(16,17): error TS2339: Property 'massage' does not exist on type 'Error'. + + +==== tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts (2 errors) ==== + declare function isFooError(x: any): x is { type: 'foo'; dontPanic(); }; + + function tryCatch() { + try { + // do stuff... + } + catch (err) { // err is implicitly 'any' and cannot be annotated + + if (isFooError(err)) { + err.dontPanic(); // OK + err.doPanic(); // ERROR: Property 'doPanic' does not exist on type '{...}' + ~~~~~~~ +!!! error TS2339: Property 'doPanic' does not exist on type '{ type: "foo"; dontPanic(): any; }'. + } + + else if (err instanceof Error) { + err.message; + err.massage; // ERROR: Property 'massage' does not exist on type 'Error' + ~~~~~~~ +!!! error TS2339: Property 'massage' does not exist on type 'Error'. + } + + else { + throw err; + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.js b/tests/baselines/reference/narrowExceptionVariableInCatchClause.js new file mode 100644 index 00000000000..5808ed76826 --- /dev/null +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.js @@ -0,0 +1,44 @@ +//// [narrowExceptionVariableInCatchClause.ts] +declare function isFooError(x: any): x is { type: 'foo'; dontPanic(); }; + +function tryCatch() { + try { + // do stuff... + } + catch (err) { // err is implicitly 'any' and cannot be annotated + + if (isFooError(err)) { + err.dontPanic(); // OK + err.doPanic(); // ERROR: Property 'doPanic' does not exist on type '{...}' + } + + else if (err instanceof Error) { + err.message; + err.massage; // ERROR: Property 'massage' does not exist on type 'Error' + } + + else { + throw err; + } + } +} + + +//// [narrowExceptionVariableInCatchClause.js] +function tryCatch() { + try { + } + catch (err) { + if (isFooError(err)) { + err.dontPanic(); // OK + err.doPanic(); // ERROR: Property 'doPanic' does not exist on type '{...}' + } + else if (err instanceof Error) { + err.message; + err.massage; // ERROR: Property 'massage' does not exist on type 'Error' + } + else { + throw err; + } + } +} diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt b/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt new file mode 100644 index 00000000000..3e152b0faf4 --- /dev/null +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt @@ -0,0 +1,33 @@ +tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts(17,7): error TS2339: Property 'mesage' does not exist on type 'Error'. +tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts(22,7): error TS2339: Property 'getHuors' does not exist on type 'Date'. + + +==== tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts (2 errors) ==== + declare var x: any; + + if (x instanceof Function) { // 'any' is not narrowed when target type is 'Function' + x(); + x(1, 2, 3); + x("hello!"); + x.prop; + } + + if (x instanceof Object) { // 'any' is not narrowed when target type is 'Object' + x.method(); + x(); + } + + if (x instanceof Error) { // 'any' is narrowed to types other than 'Function'/'Object' + x.message; + x.mesage; + ~~~~~~ +!!! error TS2339: Property 'mesage' does not exist on type 'Error'. + } + + if (x instanceof Date) { + x.getDate(); + x.getHuors(); + ~~~~~~~~ +!!! error TS2339: Property 'getHuors' does not exist on type 'Date'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.js b/tests/baselines/reference/narrowFromAnyWithInstanceof.js new file mode 100644 index 00000000000..4cf1ca174aa --- /dev/null +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.js @@ -0,0 +1,45 @@ +//// [narrowFromAnyWithInstanceof.ts] +declare var x: any; + +if (x instanceof Function) { // 'any' is not narrowed when target type is 'Function' + x(); + x(1, 2, 3); + x("hello!"); + x.prop; +} + +if (x instanceof Object) { // 'any' is not narrowed when target type is 'Object' + x.method(); + x(); +} + +if (x instanceof Error) { // 'any' is narrowed to types other than 'Function'/'Object' + x.message; + x.mesage; +} + +if (x instanceof Date) { + x.getDate(); + x.getHuors(); +} + + +//// [narrowFromAnyWithInstanceof.js] +if (x instanceof Function) { + x(); + x(1, 2, 3); + x("hello!"); + x.prop; +} +if (x instanceof Object) { + x.method(); + x(); +} +if (x instanceof Error) { + x.message; + x.mesage; +} +if (x instanceof Date) { + x.getDate(); + x.getHuors(); +} diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt b/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt new file mode 100644 index 00000000000..94f41becdad --- /dev/null +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt @@ -0,0 +1,50 @@ +tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(22,7): error TS2339: Property 'method' does not exist on type '{}'. +tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(23,5): error TS2349: Cannot invoke an expression whose type lacks a call signature. +tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(28,7): error TS2339: Property 'mesage' does not exist on type 'Error'. +tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error TS2339: Property 'getHuors' does not exist on type 'Date'. + + +==== tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts (4 errors) ==== + declare var x: any; + declare function isFunction(x): x is Function; + declare function isObject(x): x is Object; + declare function isAnything(x): x is {}; + declare function isError(x): x is Error; + declare function isDate(x): x is Date; + + + if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function' + x(); + x(1, 2, 3); + x("hello!"); + x.prop; + } + + if (isObject(x)) { // 'any' is not narrowed when target type is 'Object' + x.method(); + x(); + } + + if (isAnything(x)) { // 'any' is narrowed to types other than 'Function'/'Object' (including {}) + x.method(); + ~~~~~~ +!!! error TS2339: Property 'method' does not exist on type '{}'. + x(); + ~~~ +!!! error TS2349: Cannot invoke an expression whose type lacks a call signature. + } + + if (isError(x)) { + x.message; + x.mesage; + ~~~~~~ +!!! error TS2339: Property 'mesage' does not exist on type 'Error'. + } + + if (isDate(x)) { + x.getDate(); + x.getHuors(); + ~~~~~~~~ +!!! error TS2339: Property 'getHuors' does not exist on type 'Date'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.js b/tests/baselines/reference/narrowFromAnyWithTypePredicate.js new file mode 100644 index 00000000000..958a3cfd70d --- /dev/null +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.js @@ -0,0 +1,60 @@ +//// [narrowFromAnyWithTypePredicate.ts] +declare var x: any; +declare function isFunction(x): x is Function; +declare function isObject(x): x is Object; +declare function isAnything(x): x is {}; +declare function isError(x): x is Error; +declare function isDate(x): x is Date; + + +if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function' + x(); + x(1, 2, 3); + x("hello!"); + x.prop; +} + +if (isObject(x)) { // 'any' is not narrowed when target type is 'Object' + x.method(); + x(); +} + +if (isAnything(x)) { // 'any' is narrowed to types other than 'Function'/'Object' (including {}) + x.method(); + x(); +} + +if (isError(x)) { + x.message; + x.mesage; +} + +if (isDate(x)) { + x.getDate(); + x.getHuors(); +} + + +//// [narrowFromAnyWithTypePredicate.js] +if (isFunction(x)) { + x(); + x(1, 2, 3); + x("hello!"); + x.prop; +} +if (isObject(x)) { + x.method(); + x(); +} +if (isAnything(x)) { + x.method(); + x(); +} +if (isError(x)) { + x.message; + x.mesage; +} +if (isDate(x)) { + x.getDate(); + x.getHuors(); +} diff --git a/tests/baselines/reference/narrowTypeByInstanceof.types b/tests/baselines/reference/narrowTypeByInstanceof.types index 8bc13d12ca1..2d4936f3807 100644 --- a/tests/baselines/reference/narrowTypeByInstanceof.types +++ b/tests/baselines/reference/narrowTypeByInstanceof.types @@ -22,24 +22,24 @@ } type FileMatchOrMatch = FileMatch | Match; ->FileMatchOrMatch : FileMatch | Match +>FileMatchOrMatch : FileMatchOrMatch >FileMatch : FileMatch >Match : Match let elementA: FileMatchOrMatch, elementB: FileMatchOrMatch; ->elementA : FileMatch | Match ->FileMatchOrMatch : FileMatch | Match ->elementB : FileMatch | Match ->FileMatchOrMatch : FileMatch | Match +>elementA : FileMatchOrMatch +>FileMatchOrMatch : FileMatchOrMatch +>elementB : FileMatchOrMatch +>FileMatchOrMatch : FileMatchOrMatch if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >elementA instanceof FileMatch && elementB instanceof FileMatch : boolean >elementA instanceof FileMatch : boolean ->elementA : FileMatch | Match +>elementA : FileMatchOrMatch >FileMatch : typeof FileMatch >elementB instanceof FileMatch : boolean ->elementB : FileMatch | Match +>elementB : FileMatchOrMatch >FileMatch : typeof FileMatch let a = elementA.resource().path; @@ -63,10 +63,10 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { } else if (elementA instanceof Match && elementB instanceof Match) { >elementA instanceof Match && elementB instanceof Match : boolean >elementA instanceof Match : boolean ->elementA : Match | FileMatch +>elementA : FileMatchOrMatch >Match : typeof Match >elementB instanceof Match : boolean ->elementB : FileMatch | Match +>elementB : FileMatchOrMatch >Match : typeof Match let a = elementA.range(); diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.js b/tests/baselines/reference/narrowingByDiscriminantInLoop.js new file mode 100644 index 00000000000..88cc87772dd --- /dev/null +++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.js @@ -0,0 +1,139 @@ +//// [narrowingByDiscriminantInLoop.ts] + +// Repro from #9977 + +type IDLMemberTypes = OperationMemberType | ConstantMemberType; + +interface IDLTypeDescription { + origin: string; +} + +interface InterfaceType { + members: IDLMemberTypes[]; +} + +interface OperationMemberType { + type: "operation"; + idlType: IDLTypeDescription; +} + +interface ConstantMemberType { + type: "const"; + idlType: string; +} + +function insertInterface(callbackType: InterfaceType) { + for (const memberType of callbackType.members) { + if (memberType.type === "const") { + memberType.idlType; // string + } + else if (memberType.type === "operation") { + memberType.idlType.origin; // string + (memberType.idlType as IDLTypeDescription); + } + } +} + +function insertInterface2(callbackType: InterfaceType) { + for (const memberType of callbackType.members) { + if (memberType.type === "operation") { + memberType.idlType.origin; // string + } + } +} + +function foo(memberType: IDLMemberTypes) { + if (memberType.type === "const") { + memberType.idlType; // string + } + else if (memberType.type === "operation") { + memberType.idlType.origin; // string + } +} + +// Repro for issue similar to #8383 + +interface A { + kind: true; + prop: { a: string; }; +} + +interface B { + kind: false; + prop: { b: string; } +} + +function f1(x: A | B) { + while (true) { + x.prop; + if (x.kind === true) { + x.prop.a; + } + if (x.kind === false) { + x.prop.b; + } + } +} + +function f2(x: A | B) { + while (true) { + if (x.kind) { + x.prop.a; + } + if (!x.kind) { + x.prop.b; + } + } +} + +//// [narrowingByDiscriminantInLoop.js] +// Repro from #9977 +function insertInterface(callbackType) { + for (var _i = 0, _a = callbackType.members; _i < _a.length; _i++) { + var memberType = _a[_i]; + if (memberType.type === "const") { + memberType.idlType; // string + } + else if (memberType.type === "operation") { + memberType.idlType.origin; // string + memberType.idlType; + } + } +} +function insertInterface2(callbackType) { + for (var _i = 0, _a = callbackType.members; _i < _a.length; _i++) { + var memberType = _a[_i]; + if (memberType.type === "operation") { + memberType.idlType.origin; // string + } + } +} +function foo(memberType) { + if (memberType.type === "const") { + memberType.idlType; // string + } + else if (memberType.type === "operation") { + memberType.idlType.origin; // string + } +} +function f1(x) { + while (true) { + x.prop; + if (x.kind === true) { + x.prop.a; + } + if (x.kind === false) { + x.prop.b; + } + } +} +function f2(x) { + while (true) { + if (x.kind) { + x.prop.a; + } + if (!x.kind) { + x.prop.b; + } + } +} diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.symbols b/tests/baselines/reference/narrowingByDiscriminantInLoop.symbols new file mode 100644 index 00000000000..edb0f1958c2 --- /dev/null +++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.symbols @@ -0,0 +1,238 @@ +=== tests/cases/compiler/narrowingByDiscriminantInLoop.ts === + +// Repro from #9977 + +type IDLMemberTypes = OperationMemberType | ConstantMemberType; +>IDLMemberTypes : Symbol(IDLMemberTypes, Decl(narrowingByDiscriminantInLoop.ts, 0, 0)) +>OperationMemberType : Symbol(OperationMemberType, Decl(narrowingByDiscriminantInLoop.ts, 11, 1)) +>ConstantMemberType : Symbol(ConstantMemberType, Decl(narrowingByDiscriminantInLoop.ts, 16, 1)) + +interface IDLTypeDescription { +>IDLTypeDescription : Symbol(IDLTypeDescription, Decl(narrowingByDiscriminantInLoop.ts, 3, 63)) + + origin: string; +>origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) +} + +interface InterfaceType { +>InterfaceType : Symbol(InterfaceType, Decl(narrowingByDiscriminantInLoop.ts, 7, 1)) + + members: IDLMemberTypes[]; +>members : Symbol(InterfaceType.members, Decl(narrowingByDiscriminantInLoop.ts, 9, 25)) +>IDLMemberTypes : Symbol(IDLMemberTypes, Decl(narrowingByDiscriminantInLoop.ts, 0, 0)) +} + +interface OperationMemberType { +>OperationMemberType : Symbol(OperationMemberType, Decl(narrowingByDiscriminantInLoop.ts, 11, 1)) + + type: "operation"; +>type : Symbol(OperationMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31)) + + idlType: IDLTypeDescription; +>idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>IDLTypeDescription : Symbol(IDLTypeDescription, Decl(narrowingByDiscriminantInLoop.ts, 3, 63)) +} + +interface ConstantMemberType { +>ConstantMemberType : Symbol(ConstantMemberType, Decl(narrowingByDiscriminantInLoop.ts, 16, 1)) + + type: "const"; +>type : Symbol(ConstantMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) + + idlType: string; +>idlType : Symbol(ConstantMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 19, 18)) +} + +function insertInterface(callbackType: InterfaceType) { +>insertInterface : Symbol(insertInterface, Decl(narrowingByDiscriminantInLoop.ts, 21, 1)) +>callbackType : Symbol(callbackType, Decl(narrowingByDiscriminantInLoop.ts, 23, 25)) +>InterfaceType : Symbol(InterfaceType, Decl(narrowingByDiscriminantInLoop.ts, 7, 1)) + + for (const memberType of callbackType.members) { +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>callbackType.members : Symbol(InterfaceType.members, Decl(narrowingByDiscriminantInLoop.ts, 9, 25)) +>callbackType : Symbol(callbackType, Decl(narrowingByDiscriminantInLoop.ts, 23, 25)) +>members : Symbol(InterfaceType.members, Decl(narrowingByDiscriminantInLoop.ts, 9, 25)) + + if (memberType.type === "const") { +>memberType.type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) + + memberType.idlType; // string +>memberType.idlType : Symbol(ConstantMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 19, 18)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>idlType : Symbol(ConstantMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 19, 18)) + } + else if (memberType.type === "operation") { +>memberType.type : Symbol(OperationMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>type : Symbol(OperationMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31)) + + memberType.idlType.origin; // string +>memberType.idlType.origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) +>memberType.idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) + + (memberType.idlType as IDLTypeDescription); +>memberType.idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 24, 14)) +>idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>IDLTypeDescription : Symbol(IDLTypeDescription, Decl(narrowingByDiscriminantInLoop.ts, 3, 63)) + } + } +} + +function insertInterface2(callbackType: InterfaceType) { +>insertInterface2 : Symbol(insertInterface2, Decl(narrowingByDiscriminantInLoop.ts, 33, 1)) +>callbackType : Symbol(callbackType, Decl(narrowingByDiscriminantInLoop.ts, 35, 26)) +>InterfaceType : Symbol(InterfaceType, Decl(narrowingByDiscriminantInLoop.ts, 7, 1)) + + for (const memberType of callbackType.members) { +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 36, 14)) +>callbackType.members : Symbol(InterfaceType.members, Decl(narrowingByDiscriminantInLoop.ts, 9, 25)) +>callbackType : Symbol(callbackType, Decl(narrowingByDiscriminantInLoop.ts, 35, 26)) +>members : Symbol(InterfaceType.members, Decl(narrowingByDiscriminantInLoop.ts, 9, 25)) + + if (memberType.type === "operation") { +>memberType.type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 36, 14)) +>type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) + + memberType.idlType.origin; // string +>memberType.idlType.origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) +>memberType.idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 36, 14)) +>idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) + } + } +} + +function foo(memberType: IDLMemberTypes) { +>foo : Symbol(foo, Decl(narrowingByDiscriminantInLoop.ts, 41, 1)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 43, 13)) +>IDLMemberTypes : Symbol(IDLMemberTypes, Decl(narrowingByDiscriminantInLoop.ts, 0, 0)) + + if (memberType.type === "const") { +>memberType.type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 43, 13)) +>type : Symbol(type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31), Decl(narrowingByDiscriminantInLoop.ts, 18, 30)) + + memberType.idlType; // string +>memberType.idlType : Symbol(ConstantMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 19, 18)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 43, 13)) +>idlType : Symbol(ConstantMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 19, 18)) + } + else if (memberType.type === "operation") { +>memberType.type : Symbol(OperationMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 43, 13)) +>type : Symbol(OperationMemberType.type, Decl(narrowingByDiscriminantInLoop.ts, 13, 31)) + + memberType.idlType.origin; // string +>memberType.idlType.origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) +>memberType.idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>memberType : Symbol(memberType, Decl(narrowingByDiscriminantInLoop.ts, 43, 13)) +>idlType : Symbol(OperationMemberType.idlType, Decl(narrowingByDiscriminantInLoop.ts, 14, 22)) +>origin : Symbol(IDLTypeDescription.origin, Decl(narrowingByDiscriminantInLoop.ts, 5, 30)) + } +} + +// Repro for issue similar to #8383 + +interface A { +>A : Symbol(A, Decl(narrowingByDiscriminantInLoop.ts, 50, 1)) + + kind: true; +>kind : Symbol(A.kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13)) + + prop: { a: string; }; +>prop : Symbol(A.prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15)) +>a : Symbol(a, Decl(narrowingByDiscriminantInLoop.ts, 56, 11)) +} + +interface B { +>B : Symbol(B, Decl(narrowingByDiscriminantInLoop.ts, 57, 1)) + + kind: false; +>kind : Symbol(B.kind, Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) + + prop: { b: string; } +>prop : Symbol(B.prop, Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>b : Symbol(b, Decl(narrowingByDiscriminantInLoop.ts, 61, 11)) +} + +function f1(x: A | B) { +>f1 : Symbol(f1, Decl(narrowingByDiscriminantInLoop.ts, 62, 1)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>A : Symbol(A, Decl(narrowingByDiscriminantInLoop.ts, 50, 1)) +>B : Symbol(B, Decl(narrowingByDiscriminantInLoop.ts, 57, 1)) + + while (true) { + x.prop; +>x.prop : Symbol(prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15), Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>prop : Symbol(prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15), Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) + + if (x.kind === true) { +>x.kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) + + x.prop.a; +>x.prop.a : Symbol(a, Decl(narrowingByDiscriminantInLoop.ts, 56, 11)) +>x.prop : Symbol(A.prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>prop : Symbol(A.prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15)) +>a : Symbol(a, Decl(narrowingByDiscriminantInLoop.ts, 56, 11)) + } + if (x.kind === false) { +>x.kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) + + x.prop.b; +>x.prop.b : Symbol(b, Decl(narrowingByDiscriminantInLoop.ts, 61, 11)) +>x.prop : Symbol(B.prop, Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 64, 12)) +>prop : Symbol(B.prop, Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>b : Symbol(b, Decl(narrowingByDiscriminantInLoop.ts, 61, 11)) + } + } +} + +function f2(x: A | B) { +>f2 : Symbol(f2, Decl(narrowingByDiscriminantInLoop.ts, 74, 1)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 76, 12)) +>A : Symbol(A, Decl(narrowingByDiscriminantInLoop.ts, 50, 1)) +>B : Symbol(B, Decl(narrowingByDiscriminantInLoop.ts, 57, 1)) + + while (true) { + if (x.kind) { +>x.kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 76, 12)) +>kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) + + x.prop.a; +>x.prop.a : Symbol(a, Decl(narrowingByDiscriminantInLoop.ts, 56, 11)) +>x.prop : Symbol(A.prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 76, 12)) +>prop : Symbol(A.prop, Decl(narrowingByDiscriminantInLoop.ts, 55, 15)) +>a : Symbol(a, Decl(narrowingByDiscriminantInLoop.ts, 56, 11)) + } + if (!x.kind) { +>x.kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 76, 12)) +>kind : Symbol(kind, Decl(narrowingByDiscriminantInLoop.ts, 54, 13), Decl(narrowingByDiscriminantInLoop.ts, 59, 13)) + + x.prop.b; +>x.prop.b : Symbol(b, Decl(narrowingByDiscriminantInLoop.ts, 61, 11)) +>x.prop : Symbol(B.prop, Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>x : Symbol(x, Decl(narrowingByDiscriminantInLoop.ts, 76, 12)) +>prop : Symbol(B.prop, Decl(narrowingByDiscriminantInLoop.ts, 60, 16)) +>b : Symbol(b, Decl(narrowingByDiscriminantInLoop.ts, 61, 11)) + } + } +} diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.types b/tests/baselines/reference/narrowingByDiscriminantInLoop.types new file mode 100644 index 00000000000..c0f6fe73bca --- /dev/null +++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.types @@ -0,0 +1,261 @@ +=== tests/cases/compiler/narrowingByDiscriminantInLoop.ts === + +// Repro from #9977 + +type IDLMemberTypes = OperationMemberType | ConstantMemberType; +>IDLMemberTypes : IDLMemberTypes +>OperationMemberType : OperationMemberType +>ConstantMemberType : ConstantMemberType + +interface IDLTypeDescription { +>IDLTypeDescription : IDLTypeDescription + + origin: string; +>origin : string +} + +interface InterfaceType { +>InterfaceType : InterfaceType + + members: IDLMemberTypes[]; +>members : IDLMemberTypes[] +>IDLMemberTypes : IDLMemberTypes +} + +interface OperationMemberType { +>OperationMemberType : OperationMemberType + + type: "operation"; +>type : "operation" + + idlType: IDLTypeDescription; +>idlType : IDLTypeDescription +>IDLTypeDescription : IDLTypeDescription +} + +interface ConstantMemberType { +>ConstantMemberType : ConstantMemberType + + type: "const"; +>type : "const" + + idlType: string; +>idlType : string +} + +function insertInterface(callbackType: InterfaceType) { +>insertInterface : (callbackType: InterfaceType) => void +>callbackType : InterfaceType +>InterfaceType : InterfaceType + + for (const memberType of callbackType.members) { +>memberType : IDLMemberTypes +>callbackType.members : IDLMemberTypes[] +>callbackType : InterfaceType +>members : IDLMemberTypes[] + + if (memberType.type === "const") { +>memberType.type === "const" : boolean +>memberType.type : "operation" | "const" +>memberType : IDLMemberTypes +>type : "operation" | "const" +>"const" : "const" + + memberType.idlType; // string +>memberType.idlType : string +>memberType : ConstantMemberType +>idlType : string + } + else if (memberType.type === "operation") { +>memberType.type === "operation" : boolean +>memberType.type : "operation" +>memberType : OperationMemberType +>type : "operation" +>"operation" : "operation" + + memberType.idlType.origin; // string +>memberType.idlType.origin : string +>memberType.idlType : IDLTypeDescription +>memberType : OperationMemberType +>idlType : IDLTypeDescription +>origin : string + + (memberType.idlType as IDLTypeDescription); +>(memberType.idlType as IDLTypeDescription) : IDLTypeDescription +>memberType.idlType as IDLTypeDescription : IDLTypeDescription +>memberType.idlType : IDLTypeDescription +>memberType : OperationMemberType +>idlType : IDLTypeDescription +>IDLTypeDescription : IDLTypeDescription + } + } +} + +function insertInterface2(callbackType: InterfaceType) { +>insertInterface2 : (callbackType: InterfaceType) => void +>callbackType : InterfaceType +>InterfaceType : InterfaceType + + for (const memberType of callbackType.members) { +>memberType : IDLMemberTypes +>callbackType.members : IDLMemberTypes[] +>callbackType : InterfaceType +>members : IDLMemberTypes[] + + if (memberType.type === "operation") { +>memberType.type === "operation" : boolean +>memberType.type : "operation" | "const" +>memberType : IDLMemberTypes +>type : "operation" | "const" +>"operation" : "operation" + + memberType.idlType.origin; // string +>memberType.idlType.origin : string +>memberType.idlType : IDLTypeDescription +>memberType : OperationMemberType +>idlType : IDLTypeDescription +>origin : string + } + } +} + +function foo(memberType: IDLMemberTypes) { +>foo : (memberType: IDLMemberTypes) => void +>memberType : IDLMemberTypes +>IDLMemberTypes : IDLMemberTypes + + if (memberType.type === "const") { +>memberType.type === "const" : boolean +>memberType.type : "operation" | "const" +>memberType : IDLMemberTypes +>type : "operation" | "const" +>"const" : "const" + + memberType.idlType; // string +>memberType.idlType : string +>memberType : ConstantMemberType +>idlType : string + } + else if (memberType.type === "operation") { +>memberType.type === "operation" : boolean +>memberType.type : "operation" +>memberType : OperationMemberType +>type : "operation" +>"operation" : "operation" + + memberType.idlType.origin; // string +>memberType.idlType.origin : string +>memberType.idlType : IDLTypeDescription +>memberType : OperationMemberType +>idlType : IDLTypeDescription +>origin : string + } +} + +// Repro for issue similar to #8383 + +interface A { +>A : A + + kind: true; +>kind : true +>true : true + + prop: { a: string; }; +>prop : { a: string; } +>a : string +} + +interface B { +>B : B + + kind: false; +>kind : false +>false : false + + prop: { b: string; } +>prop : { b: string; } +>b : string +} + +function f1(x: A | B) { +>f1 : (x: A | B) => void +>x : A | B +>A : A +>B : B + + while (true) { +>true : true + + x.prop; +>x.prop : { a: string; } | { b: string; } +>x : A | B +>prop : { a: string; } | { b: string; } + + if (x.kind === true) { +>x.kind === true : boolean +>x.kind : boolean +>x : A | B +>kind : boolean +>true : true + + x.prop.a; +>x.prop.a : string +>x.prop : { a: string; } +>x : A +>prop : { a: string; } +>a : string + } + if (x.kind === false) { +>x.kind === false : boolean +>x.kind : boolean +>x : A | B +>kind : boolean +>false : false + + x.prop.b; +>x.prop.b : string +>x.prop : { b: string; } +>x : B +>prop : { b: string; } +>b : string + } + } +} + +function f2(x: A | B) { +>f2 : (x: A | B) => void +>x : A | B +>A : A +>B : B + + while (true) { +>true : true + + if (x.kind) { +>x.kind : boolean +>x : A | B +>kind : boolean + + x.prop.a; +>x.prop.a : string +>x.prop : { a: string; } +>x : A +>prop : { a: string; } +>a : string + } + if (!x.kind) { +>!x.kind : boolean +>x.kind : boolean +>x : A | B +>kind : boolean + + x.prop.b; +>x.prop.b : string +>x.prop : { b: string; } +>x : B +>prop : { b: string; } +>b : string + } + } +} diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.js b/tests/baselines/reference/narrowingConstrainedTypeParameter.js new file mode 100644 index 00000000000..3107585d941 --- /dev/null +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.js @@ -0,0 +1,32 @@ +//// [narrowingConstrainedTypeParameter.ts] + +// Repro from #10811 + +interface Pet { + name: string; +} + +function isPet(pet: any): pet is Pet { + return typeof pet.name === "string"; +} + +export function speak(pet: TPet, voice: (pet: TPet) => string): string { + if (!isPet(pet)) { + throw new Error("Expected \"pet\" to be a Pet"); + } + return voice(pet); +} + +//// [narrowingConstrainedTypeParameter.js] +// Repro from #10811 +"use strict"; +function isPet(pet) { + return typeof pet.name === "string"; +} +function speak(pet, voice) { + if (!isPet(pet)) { + throw new Error("Expected \"pet\" to be a Pet"); + } + return voice(pet); +} +exports.speak = speak; diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols b/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols new file mode 100644 index 00000000000..89ca39e98a2 --- /dev/null +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/narrowingConstrainedTypeParameter.ts === + +// Repro from #10811 + +interface Pet { +>Pet : Symbol(Pet, Decl(narrowingConstrainedTypeParameter.ts, 0, 0)) + + name: string; +>name : Symbol(Pet.name, Decl(narrowingConstrainedTypeParameter.ts, 3, 15)) +} + +function isPet(pet: any): pet is Pet { +>isPet : Symbol(isPet, Decl(narrowingConstrainedTypeParameter.ts, 5, 1)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 7, 15)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 7, 15)) +>Pet : Symbol(Pet, Decl(narrowingConstrainedTypeParameter.ts, 0, 0)) + + return typeof pet.name === "string"; +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 7, 15)) +} + +export function speak(pet: TPet, voice: (pet: TPet) => string): string { +>speak : Symbol(speak, Decl(narrowingConstrainedTypeParameter.ts, 9, 1)) +>TPet : Symbol(TPet, Decl(narrowingConstrainedTypeParameter.ts, 11, 22)) +>Pet : Symbol(Pet, Decl(narrowingConstrainedTypeParameter.ts, 0, 0)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 11, 40)) +>TPet : Symbol(TPet, Decl(narrowingConstrainedTypeParameter.ts, 11, 22)) +>voice : Symbol(voice, Decl(narrowingConstrainedTypeParameter.ts, 11, 50)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 11, 59)) +>TPet : Symbol(TPet, Decl(narrowingConstrainedTypeParameter.ts, 11, 22)) + + if (!isPet(pet)) { +>isPet : Symbol(isPet, Decl(narrowingConstrainedTypeParameter.ts, 5, 1)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 11, 40)) + + throw new Error("Expected \"pet\" to be a Pet"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + } + return voice(pet); +>voice : Symbol(voice, Decl(narrowingConstrainedTypeParameter.ts, 11, 50)) +>pet : Symbol(pet, Decl(narrowingConstrainedTypeParameter.ts, 11, 40)) +} diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.types b/tests/baselines/reference/narrowingConstrainedTypeParameter.types new file mode 100644 index 00000000000..942b9f7055d --- /dev/null +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.types @@ -0,0 +1,52 @@ +=== tests/cases/compiler/narrowingConstrainedTypeParameter.ts === + +// Repro from #10811 + +interface Pet { +>Pet : Pet + + name: string; +>name : string +} + +function isPet(pet: any): pet is Pet { +>isPet : (pet: any) => pet is Pet +>pet : any +>pet : any +>Pet : Pet + + return typeof pet.name === "string"; +>typeof pet.name === "string" : boolean +>typeof pet.name : string +>pet.name : any +>pet : any +>name : any +>"string" : "string" +} + +export function speak(pet: TPet, voice: (pet: TPet) => string): string { +>speak : (pet: TPet, voice: (pet: TPet) => string) => string +>TPet : TPet +>Pet : Pet +>pet : TPet +>TPet : TPet +>voice : (pet: TPet) => string +>pet : TPet +>TPet : TPet + + if (!isPet(pet)) { +>!isPet(pet) : boolean +>isPet(pet) : boolean +>isPet : (pet: any) => pet is Pet +>pet : TPet + + throw new Error("Expected \"pet\" to be a Pet"); +>new Error("Expected \"pet\" to be a Pet") : Error +>Error : ErrorConstructor +>"Expected \"pet\" to be a Pet" : "Expected \"pet\" to be a Pet" + } + return voice(pet); +>voice(pet) : string +>voice : (pet: TPet) => string +>pet : TPet +} diff --git a/tests/baselines/reference/narrowingOfDottedNames.types b/tests/baselines/reference/narrowingOfDottedNames.types index 697e080b661..c9c3392b0c3 100644 --- a/tests/baselines/reference/narrowingOfDottedNames.types +++ b/tests/baselines/reference/narrowingOfDottedNames.types @@ -48,7 +48,7 @@ function f1(x: A | B) { >B : B while (true) { ->true : boolean +>true : true if (x instanceof A) { >x instanceof A : boolean @@ -84,7 +84,7 @@ function f2(x: A | B) { >B : B while (true) { ->true : boolean +>true : true if (isA(x)) { >isA(x) : boolean diff --git a/tests/baselines/reference/nativeToBoxedTypes.errors.txt b/tests/baselines/reference/nativeToBoxedTypes.errors.txt new file mode 100644 index 00000000000..03186a6d7e3 --- /dev/null +++ b/tests/baselines/reference/nativeToBoxedTypes.errors.txt @@ -0,0 +1,36 @@ +tests/cases/compiler/nativeToBoxedTypes.ts(3,1): error TS2322: Type 'Number' is not assignable to type 'number'. + 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. +tests/cases/compiler/nativeToBoxedTypes.ts(7,1): error TS2322: Type 'String' is not assignable to type 'string'. + 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. +tests/cases/compiler/nativeToBoxedTypes.ts(11,1): error TS2322: Type 'Boolean' is not assignable to type 'boolean'. + 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. +tests/cases/compiler/nativeToBoxedTypes.ts(14,10): error TS2304: Cannot find name 'Symbol'. + + +==== tests/cases/compiler/nativeToBoxedTypes.ts (4 errors) ==== + var N = new Number(); + var n = 100; + n = N; + ~ +!!! error TS2322: Type 'Number' is not assignable to type 'number'. +!!! error TS2322: 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. + + var S = new String(); + var s = "foge"; + s = S; + ~ +!!! error TS2322: Type 'String' is not assignable to type 'string'. +!!! error TS2322: 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible. + + var B = new Boolean(); + var b = true; + b = B; + ~ +!!! error TS2322: Type 'Boolean' is not assignable to type 'boolean'. +!!! error TS2322: 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible. + + var sym: symbol; + var Sym: Symbol; + ~~~~~~ +!!! error TS2304: Cannot find name 'Symbol'. + sym = Sym; \ No newline at end of file diff --git a/tests/baselines/reference/nativeToBoxedTypes.js b/tests/baselines/reference/nativeToBoxedTypes.js new file mode 100644 index 00000000000..db47c72fa10 --- /dev/null +++ b/tests/baselines/reference/nativeToBoxedTypes.js @@ -0,0 +1,30 @@ +//// [nativeToBoxedTypes.ts] +var N = new Number(); +var n = 100; +n = N; + +var S = new String(); +var s = "foge"; +s = S; + +var B = new Boolean(); +var b = true; +b = B; + +var sym: symbol; +var Sym: Symbol; +sym = Sym; + +//// [nativeToBoxedTypes.js] +var N = new Number(); +var n = 100; +n = N; +var S = new String(); +var s = "foge"; +s = S; +var B = new Boolean(); +var b = true; +b = B; +var sym; +var Sym; +sym = Sym; diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.types b/tests/baselines/reference/negateOperatorWithAnyOtherType.types index f864c9d166c..75054b49573 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.types @@ -10,8 +10,8 @@ var ANY1; var ANY2: any[] = ["", ""]; >ANY2 : any[] >["", ""] : string[] ->"" : string ->"" : string +>"" : "" +>"" : "" var obj: () => {} >obj : () => {} @@ -20,7 +20,7 @@ var obj1 = { x: "", y: () => { }}; >obj1 : { x: string; y: () => void; } >{ x: "", y: () => { }} : { x: string; y: () => void; } >x : string ->"" : string +>"" : "" >y : () => void >() => { } : () => void @@ -108,7 +108,7 @@ var ResultIsNumber8 = -ANY2[0]; >-ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 var ResultIsNumber9 = -obj1.x; >ResultIsNumber9 : number @@ -173,7 +173,7 @@ var ResultIsNumber15 = -(ANY - ANY1); >-ANY2[0] : number >ANY2[0] : any >ANY2 : any[] ->0 : number +>0 : 0 -ANY, ANY1; >-ANY, ANY1 : any diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.types b/tests/baselines/reference/negateOperatorWithBooleanType.types index 89f5afc1c2b..ca383455ec8 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.types +++ b/tests/baselines/reference/negateOperatorWithBooleanType.types @@ -5,7 +5,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -15,7 +15,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -39,16 +39,16 @@ var ResultIsNumber1 = -BOOLEAN; var ResultIsNumber2 = -true; >ResultIsNumber2 : number >-true : number ->true : boolean +>true : true var ResultIsNumber3 = -{ x: true, y: false }; >ResultIsNumber3 : number >-{ x: true, y: false } : number >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsNumber4 = -objA.a; @@ -82,7 +82,7 @@ var ResultIsNumber7 = -A.foo(); // miss assignment operators -true; >-true : number ->true : boolean +>true : true -BOOLEAN; >-BOOLEAN : number @@ -94,10 +94,10 @@ var ResultIsNumber7 = -A.foo(); >foo : () => boolean -true, false; ->-true, false : boolean +>-true, false : false >-true : number ->true : boolean ->false : boolean +>true : true +>false : false -objA.a; >-objA.a : number diff --git a/tests/baselines/reference/negateOperatorWithEnumType.types b/tests/baselines/reference/negateOperatorWithEnumType.types index 2f39a581ef8..d49f01c7f0d 100644 --- a/tests/baselines/reference/negateOperatorWithEnumType.types +++ b/tests/baselines/reference/negateOperatorWithEnumType.types @@ -6,8 +6,8 @@ enum ENUM { }; enum ENUM1 { A, B, "" }; >ENUM1 : ENUM1 ->A : ENUM1 ->B : ENUM1 +>A : ENUM1.A +>B : ENUM1.B // enum type var var ResultIsNumber1 = -ENUM; @@ -19,21 +19,21 @@ var ResultIsNumber1 = -ENUM; var ResultIsNumber2 = -ENUM1["B"]; >ResultIsNumber2 : number >-ENUM1["B"] : number ->ENUM1["B"] : ENUM1 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]); >ResultIsNumber3 : number >-(ENUM1.B + ENUM1[""]) : number >(ENUM1.B + ENUM1[""]) : number >ENUM1.B + ENUM1[""] : number ->ENUM1.B : ENUM1 +>ENUM1.B : ENUM1.B >ENUM1 : typeof ENUM1 ->B : ENUM1 ->ENUM1[""] : ENUM1 +>B : ENUM1.B +>ENUM1[""] : ENUM1."" >ENUM1 : typeof ENUM1 ->"" : string +>"" : "" // miss assignment operators -ENUM; @@ -46,9 +46,9 @@ var ResultIsNumber3 = -(ENUM1.B + ENUM1[""]); -ENUM1["B"]; >-ENUM1["B"] : number ->ENUM1["B"] : ENUM1 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" -ENUM, ENUM1; >-ENUM, ENUM1 : typeof ENUM1 diff --git a/tests/baselines/reference/negateOperatorWithNumberType.types b/tests/baselines/reference/negateOperatorWithNumberType.types index e53a4e54444..d3d9b474637 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.types +++ b/tests/baselines/reference/negateOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -49,24 +49,24 @@ var ResultIsNumber2 = -NUMBER1; // number type literal var ResultIsNumber3 = -1; >ResultIsNumber3 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 var ResultIsNumber4 = -{ x: 1, y: 2}; >ResultIsNumber4 : number >-{ x: 1, y: 2} : number >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsNumber5 = -{ x: 1, y: (n: number) => { return n; } }; >ResultIsNumber5 : number >-{ x: 1, y: (n: number) => { return n; } } : number >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsNumber8 = -NUMBER1[0]; >-NUMBER1[0] : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsNumber9 = -foo(); >ResultIsNumber9 : number @@ -118,8 +118,8 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); // miss assignment operators -1; ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 -NUMBER; >-NUMBER : number diff --git a/tests/baselines/reference/negateOperatorWithStringType.types b/tests/baselines/reference/negateOperatorWithStringType.types index 6ef570557fe..053fd113801 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.types +++ b/tests/baselines/reference/negateOperatorWithStringType.types @@ -6,12 +6,12 @@ var STRING: string; var STRING1: string[] = ["", "abc"]; >STRING1 : string[] >["", "abc"] : string[] ->"" : string ->"abc" : string +>"" : "" +>"abc" : "abc" function foo(): string { return "abc"; } >foo : () => string ->"abc" : string +>"abc" : "abc" class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return ""; } >foo : () => string ->"" : string +>"" : "" } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsNumber2 = -STRING1; var ResultIsNumber3 = -""; >ResultIsNumber3 : number >-"" : number ->"" : string +>"" : "" var ResultIsNumber4 = -{ x: "", y: "" }; >ResultIsNumber4 : number >-{ x: "", y: "" } : number >{ x: "", y: "" } : { x: string; y: string; } >x : string ->"" : string +>"" : "" >y : string ->"" : string +>"" : "" var ResultIsNumber5 = -{ x: "", y: (s: string) => { return s; } }; >ResultIsNumber5 : number >-{ x: "", y: (s: string) => { return s; } } : number >{ x: "", y: (s: string) => { return s; } } : { x: string; y: (s: string) => string; } >x : string ->"" : string +>"" : "" >y : (s: string) => string >(s: string) => { return s; } : (s: string) => string >s : string @@ -92,7 +92,7 @@ var ResultIsNumber8 = -STRING1[0]; >-STRING1[0] : number >STRING1[0] : string >STRING1 : string[] ->0 : number +>0 : 0 var ResultIsNumber9 = -foo(); >ResultIsNumber9 : number @@ -123,12 +123,12 @@ var ResultIsNumber12 = -STRING.charAt(0); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 // miss assignment operators -""; >-"" : number ->"" : string +>"" : "" -STRING; >-STRING : number diff --git a/tests/baselines/reference/negativeZero.types b/tests/baselines/reference/negativeZero.types index 3468e22fdb2..114dc337927 100644 --- a/tests/baselines/reference/negativeZero.types +++ b/tests/baselines/reference/negativeZero.types @@ -1,6 +1,6 @@ === tests/cases/compiler/negativeZero.ts === var x = -0 >x : number ->-0 : number ->0 : number +>-0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/nestedBlockScopedBindings1.types b/tests/baselines/reference/nestedBlockScopedBindings1.types index 6d5b47a348b..1812d54e370 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings1.types +++ b/tests/baselines/reference/nestedBlockScopedBindings1.types @@ -4,12 +4,12 @@ function a0() { { let x = 1; >x : number ->1 : number +>1 : 1 } { let x = 1; >x : number ->1 : number +>1 : 1 } } @@ -22,7 +22,7 @@ function a1() { { let x = 1; >x : number ->1 : number +>1 : 1 } } @@ -31,7 +31,7 @@ function a2() { { let x = 1; >x : number ->1 : number +>1 : 1 } { let x; @@ -44,13 +44,13 @@ function a3() { { let x = 1; >x : number ->1 : number +>1 : 1 } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -67,14 +67,14 @@ function a4() { >x : any } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x = 1; >x : number ->1 : number +>1 : 1 break; } diff --git a/tests/baselines/reference/nestedBlockScopedBindings10.types b/tests/baselines/reference/nestedBlockScopedBindings10.types index ee2701cdcf1..d002a4f8cb4 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings10.types +++ b/tests/baselines/reference/nestedBlockScopedBindings10.types @@ -4,24 +4,24 @@ >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let y; >y : any y = 1; ->y = 1 : number +>y = 1 : 1 >y : any ->1 : number +>1 : 1 break; } diff --git a/tests/baselines/reference/nestedBlockScopedBindings11.types b/tests/baselines/reference/nestedBlockScopedBindings11.types index ab7b4228278..ed356c53ad9 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings11.types +++ b/tests/baselines/reference/nestedBlockScopedBindings11.types @@ -14,10 +14,10 @@ var y; >y : any switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let y; >y : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings12.types b/tests/baselines/reference/nestedBlockScopedBindings12.types index 8c1fdda0ce0..1ac7dc39bf0 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings12.types +++ b/tests/baselines/reference/nestedBlockScopedBindings12.types @@ -6,27 +6,27 @@ var x; >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 } var y; >y : any switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let y; >y : any y = 1; ->y = 1 : number +>y = 1 : 1 >y : any ->1 : number +>1 : 1 break; } diff --git a/tests/baselines/reference/nestedBlockScopedBindings13.js b/tests/baselines/reference/nestedBlockScopedBindings13.js index 86e5635df68..6100e24ac09 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings13.js +++ b/tests/baselines/reference/nestedBlockScopedBindings13.js @@ -10,7 +10,7 @@ for (; false;) { } //// [nestedBlockScopedBindings13.js] -var _loop_1 = function() { +var _loop_1 = function () { var x; (function () { return x; }); }; diff --git a/tests/baselines/reference/nestedBlockScopedBindings14.js b/tests/baselines/reference/nestedBlockScopedBindings14.js index 1180f587420..1aaa29abd3c 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings14.js +++ b/tests/baselines/reference/nestedBlockScopedBindings14.js @@ -13,7 +13,7 @@ for (; false;) { //// [nestedBlockScopedBindings14.js] var x; -var _loop_1 = function() { +var _loop_1 = function () { var x_1; (function () { return x_1; }); }; diff --git a/tests/baselines/reference/nestedBlockScopedBindings15.js b/tests/baselines/reference/nestedBlockScopedBindings15.js index 8e294de98e4..de8e85f1b1d 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings15.js +++ b/tests/baselines/reference/nestedBlockScopedBindings15.js @@ -32,7 +32,7 @@ for (; false;) { } //// [nestedBlockScopedBindings15.js] -var _loop_1 = function() { +var _loop_1 = function () { { var x_1; (function () { return x_1; }); @@ -47,7 +47,7 @@ for (; false;) { y = 1; } } -var _loop_2 = function() { +var _loop_2 = function () { switch (1) { case 1: var z0_1; diff --git a/tests/baselines/reference/nestedBlockScopedBindings16.js b/tests/baselines/reference/nestedBlockScopedBindings16.js index 91f67d0d8f2..8fcbdde823a 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings16.js +++ b/tests/baselines/reference/nestedBlockScopedBindings16.js @@ -37,7 +37,7 @@ for (; false;) { //// [nestedBlockScopedBindings16.js] var x; -var _loop_1 = function() { +var _loop_1 = function () { { var x_1; (function () { return x_1; }); @@ -54,7 +54,7 @@ for (; false;) { } } var z0; -var _loop_2 = function() { +var _loop_2 = function () { switch (1) { case 1: var z0_1; diff --git a/tests/baselines/reference/nestedBlockScopedBindings2.types b/tests/baselines/reference/nestedBlockScopedBindings2.types index adb33b4dc76..2a7d077ad71 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings2.types +++ b/tests/baselines/reference/nestedBlockScopedBindings2.types @@ -4,7 +4,7 @@ function a0() { { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -13,7 +13,7 @@ function a0() { { let x = 1; >x : number ->1 : number +>1 : 1 } } @@ -26,7 +26,7 @@ function a1() { { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -39,7 +39,7 @@ function a2() { { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -61,17 +61,17 @@ function a3() { { let x = 1; >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number >x : number } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -92,10 +92,10 @@ function a4() { >x : any } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -120,10 +120,10 @@ function a5() { >x : any } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -136,10 +136,10 @@ function a6() { >a6 : () => void switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -147,10 +147,10 @@ function a6() { break; } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -163,10 +163,10 @@ function a7() { >a7 : () => void switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -178,10 +178,10 @@ function a7() { break; } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -194,10 +194,10 @@ function a8() { >a8 : () => void switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -205,10 +205,10 @@ function a8() { break; } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -225,10 +225,10 @@ function a9() { >a9 : () => void switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -240,10 +240,10 @@ function a9() { break; } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings3.js b/tests/baselines/reference/nestedBlockScopedBindings3.js index f9474381816..d8b3df0c6ae 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings3.js +++ b/tests/baselines/reference/nestedBlockScopedBindings3.js @@ -71,7 +71,7 @@ function a5() { //// [nestedBlockScopedBindings3.js] function a0() { { - var _loop_1 = function(x) { + var _loop_1 = function (x) { (function () { return x; }); }; for (var x = 0; x < 1;) { @@ -79,7 +79,7 @@ function a0() { } } { - var _loop_2 = function(x) { + var _loop_2 = function (x) { (function () { return x; }); }; for (var x = void 0;;) { @@ -88,13 +88,13 @@ function a0() { } } function a1() { - var _loop_3 = function(x) { + var _loop_3 = function (x) { (function () { return x; }); }; for (var x = void 0; x < 1;) { _loop_3(x); } - var _loop_4 = function(x) { + var _loop_4 = function (x) { (function () { return x; }); }; for (var x = void 0;;) { @@ -120,7 +120,7 @@ function a3() { } } function a4() { - var _loop_5 = function(x) { + var _loop_5 = function (x) { x = x + 1; (function () { return x; }); out_x_1 = x; @@ -137,7 +137,7 @@ function a4() { } } function a5() { - var _loop_6 = function(x) { + var _loop_6 = function (x) { x = x + 1; (function () { return x; }); out_x_2 = x; diff --git a/tests/baselines/reference/nestedBlockScopedBindings3.types b/tests/baselines/reference/nestedBlockScopedBindings3.types index 37b89242f3e..0de8123861d 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings3.types +++ b/tests/baselines/reference/nestedBlockScopedBindings3.types @@ -4,10 +4,10 @@ function a0() { { for (let x = 0; x < 1; ) { >x : number ->0 : number +>0 : 0 >x < 1 : boolean >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -32,7 +32,7 @@ function a1() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 () => x; >() => x : () => any @@ -54,14 +54,14 @@ function a2() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 } for (let x;;) { >x : any @@ -71,7 +71,7 @@ function a2() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 } } @@ -83,20 +83,20 @@ function a3() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -112,24 +112,24 @@ function a4() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 () => x; >() => x : () => any >x : any } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -146,24 +146,24 @@ function a5() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 () => x; >() => x : () => any >x : any } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings4.js b/tests/baselines/reference/nestedBlockScopedBindings4.js index 6b391070d93..0a73cc11148 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings4.js +++ b/tests/baselines/reference/nestedBlockScopedBindings4.js @@ -50,7 +50,7 @@ function a0() { } } function a1() { - var _loop_1 = function(x) { + var _loop_1 = function (x) { x = x + 1; (function () { return x; }); out_x_1 = x; @@ -68,7 +68,7 @@ function a2() { for (var x = void 0; x < 1;) { x = x + 1; } - var _loop_2 = function(x) { + var _loop_2 = function (x) { x = x + 2; (function () { return x; }); out_x_2 = x; @@ -80,7 +80,7 @@ function a2() { } } function a3() { - var _loop_3 = function(x) { + var _loop_3 = function (x) { x = x + 1; (function () { return x; }); out_x_3 = x; @@ -90,7 +90,7 @@ function a3() { _loop_3(x); x = out_x_3; } - var _loop_4 = function(x) { + var _loop_4 = function (x) { x = x + 2; (function () { return x; }); out_x_4 = x; diff --git a/tests/baselines/reference/nestedBlockScopedBindings4.types b/tests/baselines/reference/nestedBlockScopedBindings4.types index b38d61f3f44..65b5d73db9d 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings4.types +++ b/tests/baselines/reference/nestedBlockScopedBindings4.types @@ -6,14 +6,14 @@ function a0() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 } for (let x;;) { >x : any @@ -23,7 +23,7 @@ function a0() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 } } @@ -34,14 +34,14 @@ function a1() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 () => x; >() => x : () => any @@ -55,7 +55,7 @@ function a1() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 } } @@ -66,14 +66,14 @@ function a2() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 } for (let x;;) { >x : any @@ -83,7 +83,7 @@ function a2() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 () => x; >() => x : () => any @@ -99,14 +99,14 @@ function a3() { >x : any >x < 1 : boolean >x : any ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : any >x : any >x + 1 : any >x : any ->1 : number +>1 : 1 () => x; >() => x : () => any @@ -120,7 +120,7 @@ function a3() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 () => x; >() => x : () => any diff --git a/tests/baselines/reference/nestedBlockScopedBindings5.js b/tests/baselines/reference/nestedBlockScopedBindings5.js index df4fcf76423..dcaa0aae6d5 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings5.js +++ b/tests/baselines/reference/nestedBlockScopedBindings5.js @@ -90,7 +90,7 @@ function a0() { } } function a1() { - var _loop_1 = function(x) { + var _loop_1 = function (x) { x = x + 1; (function () { return x; }); }; @@ -105,7 +105,7 @@ function a2() { for (var x in []) { x = x + 1; } - var _loop_2 = function(x) { + var _loop_2 = function (x) { x = x + 2; (function () { return x; }); out_x_1 = x; @@ -117,14 +117,14 @@ function a2() { } } function a3() { - var _loop_3 = function(x) { + var _loop_3 = function (x) { x = x + 1; (function () { return x; }); }; for (var x in []) { _loop_3(x); } - var _loop_4 = function(x) { + var _loop_4 = function (x) { x = x + 2; (function () { return x; }); out_x_2 = x; @@ -160,7 +160,7 @@ function a5() { for (var x in []) { x = x + 1; } - var _loop_5 = function(x) { + var _loop_5 = function (x) { x = x + 2; (function () { return x; }); out_x_3 = x; diff --git a/tests/baselines/reference/nestedBlockScopedBindings6.js b/tests/baselines/reference/nestedBlockScopedBindings6.js index be9771471e9..2bcaeff2d0e 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings6.js +++ b/tests/baselines/reference/nestedBlockScopedBindings6.js @@ -99,7 +99,7 @@ function a0() { } } function a1() { - var _loop_1 = function(x) { + var _loop_1 = function (x) { x = x + 1; (function () { return x; }); }; @@ -116,7 +116,7 @@ function a2() { var x = _a[_i]; x = x + 1; } - var _loop_2 = function(x) { + var _loop_2 = function (x) { x = x + 2; (function () { return x; }); out_x_1 = x; @@ -128,7 +128,7 @@ function a2() { } } function a3() { - var _loop_3 = function(x) { + var _loop_3 = function (x) { x = x + 1; (function () { return x; }); }; @@ -136,7 +136,7 @@ function a3() { var x = _a[_i]; _loop_3(x); } - var _loop_4 = function(x) { + var _loop_4 = function (x) { x = x + 2; (function () { return x; }); out_x_2 = x; @@ -148,7 +148,7 @@ function a3() { } } function a4() { - var _loop_5 = function(x) { + var _loop_5 = function (x) { x = x + 1; (function () { return x; }); }; @@ -186,7 +186,7 @@ function a6() { } } function a7() { - var _loop_6 = function(x) { + var _loop_6 = function (x) { x = x + 1; (function () { return x; }); }; diff --git a/tests/baselines/reference/nestedBlockScopedBindings6.types b/tests/baselines/reference/nestedBlockScopedBindings6.types index 5c8c1fa68fa..865dea31e37 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings6.types +++ b/tests/baselines/reference/nestedBlockScopedBindings6.types @@ -5,14 +5,14 @@ function a0() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 } for (let x;;) { >x : any @@ -22,7 +22,7 @@ function a0() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 } } @@ -32,14 +32,14 @@ function a1() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -53,7 +53,7 @@ function a1() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 } } @@ -63,14 +63,14 @@ function a2() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 } for (let x;;) { >x : any @@ -80,7 +80,7 @@ function a2() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 () => x; >() => x : () => any @@ -94,14 +94,14 @@ function a3() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number @@ -115,7 +115,7 @@ function a3() { >x : any >x + 2 : any >x : any ->2 : number +>2 : 2 () => x; >() => x : () => any @@ -129,24 +129,24 @@ function a4() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number >x : number } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -162,20 +162,20 @@ function a5() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -194,20 +194,20 @@ function a6() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any @@ -222,24 +222,24 @@ function a7() { for (let x of [1]) { >x : number >[1] : number[] ->1 : number +>1 : 1 x = x + 1; >x = x + 1 : number >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 () => x; >() => x : () => number >x : number } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings7.js b/tests/baselines/reference/nestedBlockScopedBindings7.js index df0e6c52a62..54b5ac3e744 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings7.js +++ b/tests/baselines/reference/nestedBlockScopedBindings7.js @@ -8,7 +8,7 @@ for (let y; false;) { } //// [nestedBlockScopedBindings7.js] -var _loop_1 = function(x) { +var _loop_1 = function (x) { (function () { return x; }); }; for (var x = void 0; false;) { diff --git a/tests/baselines/reference/nestedBlockScopedBindings8.js b/tests/baselines/reference/nestedBlockScopedBindings8.js index 772dc020d6d..dcc4edec5d9 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings8.js +++ b/tests/baselines/reference/nestedBlockScopedBindings8.js @@ -11,7 +11,7 @@ for (let y; false; ) { //// [nestedBlockScopedBindings8.js] var x; -var _loop_1 = function(x_1) { +var _loop_1 = function (x_1) { (function () { return x_1; }); }; for (var x_1; false;) { diff --git a/tests/baselines/reference/nestedBlockScopedBindings9.types b/tests/baselines/reference/nestedBlockScopedBindings9.types index b889421e7dd..0aa2ecaa9d7 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings9.types +++ b/tests/baselines/reference/nestedBlockScopedBindings9.types @@ -9,10 +9,10 @@ } switch (1) { ->1 : number +>1 : 1 case 1: ->1 : number +>1 : 1 let y; >y : any diff --git a/tests/baselines/reference/nestedClassDeclaration.js b/tests/baselines/reference/nestedClassDeclaration.js index f9e3d08144d..04e2f6348ef 100644 --- a/tests/baselines/reference/nestedClassDeclaration.js +++ b/tests/baselines/reference/nestedClassDeclaration.js @@ -38,4 +38,5 @@ function foo() { }()); } var x = { - class: C4 }, _a = void 0; + class: C4 +}, _a = void 0; diff --git a/tests/baselines/reference/nestedIfStatement.types b/tests/baselines/reference/nestedIfStatement.types index 19799d25172..d6ea5b80b4f 100644 --- a/tests/baselines/reference/nestedIfStatement.types +++ b/tests/baselines/reference/nestedIfStatement.types @@ -1,15 +1,15 @@ === tests/cases/compiler/nestedIfStatement.ts === if (0) { ->0 : number +>0 : 0 } else if (1) { ->1 : number +>1 : 1 } else if (2) { ->2 : number +>2 : 2 } else if (3) { ->3 : number +>3 : 3 } else { } diff --git a/tests/baselines/reference/nestedLoopTypeGuards.js b/tests/baselines/reference/nestedLoopTypeGuards.js new file mode 100644 index 00000000000..ab1148413ef --- /dev/null +++ b/tests/baselines/reference/nestedLoopTypeGuards.js @@ -0,0 +1,63 @@ +//// [nestedLoopTypeGuards.ts] +// Repros from #10378 + +function f1() { + var a: boolean | number | string; + if (typeof a !== 'boolean') { + // a is narrowed to "number | string" + for (var i = 0; i < 1; i++) { + for (var j = 0; j < 1; j++) {} + if (typeof a === 'string') { + // a is narrowed to "string' + for (var j = 0; j < 1; j++) { + a.length; // Should not error here + } + } + } + } +} + +function f2() { + var a: string | number; + if (typeof a === 'string') { + while (1) { + while (1) {} + if (typeof a === 'string') { + while (1) { + a.length; // Should not error here + } + } + } + } +} + +//// [nestedLoopTypeGuards.js] +// Repros from #10378 +function f1() { + var a; + if (typeof a !== 'boolean') { + // a is narrowed to "number | string" + for (var i = 0; i < 1; i++) { + for (var j = 0; j < 1; j++) { } + if (typeof a === 'string') { + // a is narrowed to "string' + for (var j = 0; j < 1; j++) { + a.length; // Should not error here + } + } + } + } +} +function f2() { + var a; + if (typeof a === 'string') { + while (1) { + while (1) { } + if (typeof a === 'string') { + while (1) { + a.length; // Should not error here + } + } + } + } +} diff --git a/tests/baselines/reference/nestedLoopTypeGuards.symbols b/tests/baselines/reference/nestedLoopTypeGuards.symbols new file mode 100644 index 00000000000..74426576d5a --- /dev/null +++ b/tests/baselines/reference/nestedLoopTypeGuards.symbols @@ -0,0 +1,66 @@ +=== tests/cases/compiler/nestedLoopTypeGuards.ts === +// Repros from #10378 + +function f1() { +>f1 : Symbol(f1, Decl(nestedLoopTypeGuards.ts, 0, 0)) + + var a: boolean | number | string; +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 3, 7)) + + if (typeof a !== 'boolean') { +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 3, 7)) + + // a is narrowed to "number | string" + for (var i = 0; i < 1; i++) { +>i : Symbol(i, Decl(nestedLoopTypeGuards.ts, 6, 16)) +>i : Symbol(i, Decl(nestedLoopTypeGuards.ts, 6, 16)) +>i : Symbol(i, Decl(nestedLoopTypeGuards.ts, 6, 16)) + + for (var j = 0; j < 1; j++) {} +>j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) +>j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) +>j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) + + if (typeof a === 'string') { +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 3, 7)) + + // a is narrowed to "string' + for (var j = 0; j < 1; j++) { +>j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) +>j : Symbol(j, Decl(nestedLoopTypeGuards.ts, 7, 20), Decl(nestedLoopTypeGuards.ts, 10, 24)) +>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 : Symbol(a, Decl(nestedLoopTypeGuards.ts, 3, 7)) +>length : Symbol(String.length, Decl(lib.d.ts, --, --)) + } + } + } + } +} + +function f2() { +>f2 : Symbol(f2, Decl(nestedLoopTypeGuards.ts, 16, 1)) + + var a: string | number; +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 19, 7)) + + if (typeof a === 'string') { +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 19, 7)) + + while (1) { + while (1) {} + if (typeof a === 'string') { +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 19, 7)) + + while (1) { + a.length; // Should not error here +>a.length : Symbol(String.length, Decl(lib.d.ts, --, --)) +>a : Symbol(a, Decl(nestedLoopTypeGuards.ts, 19, 7)) +>length : Symbol(String.length, Decl(lib.d.ts, --, --)) + } + } + } + } +} diff --git a/tests/baselines/reference/nestedLoopTypeGuards.types b/tests/baselines/reference/nestedLoopTypeGuards.types new file mode 100644 index 00000000000..9d7b793badf --- /dev/null +++ b/tests/baselines/reference/nestedLoopTypeGuards.types @@ -0,0 +1,96 @@ +=== tests/cases/compiler/nestedLoopTypeGuards.ts === +// Repros from #10378 + +function f1() { +>f1 : () => void + + var a: boolean | number | string; +>a : string | number | boolean + + if (typeof a !== 'boolean') { +>typeof a !== 'boolean' : boolean +>typeof a : string +>a : string | number | boolean +>'boolean' : "boolean" + + // a is narrowed to "number | string" + for (var i = 0; i < 1; i++) { +>i : number +>0 : 0 +>i < 1 : boolean +>i : number +>1 : 1 +>i++ : number +>i : number + + for (var j = 0; j < 1; j++) {} +>j : number +>0 : 0 +>j < 1 : boolean +>j : number +>1 : 1 +>j++ : number +>j : number + + if (typeof a === 'string') { +>typeof a === 'string' : boolean +>typeof a : string +>a : string | number +>'string' : "string" + + // a is narrowed to "string' + for (var j = 0; j < 1; j++) { +>j : number +>0 : 0 +>j < 1 : boolean +>j : number +>1 : 1 +>j++ : number +>j : number + + a.length; // Should not error here +>a.length : number +>a : string +>length : number + } + } + } + } +} + +function f2() { +>f2 : () => void + + var a: string | number; +>a : string | number + + if (typeof a === 'string') { +>typeof a === 'string' : boolean +>typeof a : string +>a : string | number +>'string' : "string" + + while (1) { +>1 : 1 + + while (1) {} +>1 : 1 + + if (typeof a === 'string') { +>typeof a === 'string' : boolean +>typeof a : string +>a : string +>'string' : "string" + + while (1) { +>1 : 1 + + a.length; // Should not error here +>a.length : number +>a : string +>length : number + } + } + } + } +} diff --git a/tests/baselines/reference/nestedModules.types b/tests/baselines/reference/nestedModules.types index eee3ee3968a..95f6ae40669 100644 --- a/tests/baselines/reference/nestedModules.types +++ b/tests/baselines/reference/nestedModules.types @@ -27,9 +27,9 @@ module A { >Point : C.Point >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/nestedRedeclarationInES6AMD.types b/tests/baselines/reference/nestedRedeclarationInES6AMD.types index 2b8d971e3c1..ebc93abd3af 100644 --- a/tests/baselines/reference/nestedRedeclarationInES6AMD.types +++ b/tests/baselines/reference/nestedRedeclarationInES6AMD.types @@ -4,11 +4,11 @@ function a() { { let status = 1; >status : number ->1 : number +>1 : 1 status = 2; ->status = 2 : number +>status = 2 : 2 >status : number ->2 : number +>2 : 2 } } diff --git a/tests/baselines/reference/nestedSelf.types b/tests/baselines/reference/nestedSelf.types index ed7f084246a..9fb4b0bd65d 100644 --- a/tests/baselines/reference/nestedSelf.types +++ b/tests/baselines/reference/nestedSelf.types @@ -7,16 +7,16 @@ module M { public n = 42; >n : number ->42 : number +>42 : 42 public foo() { [1,2,3].map((x) => { return this.n * x; })} >foo : () => void >[1,2,3].map((x) => { return this.n * x; }) : number[] >[1,2,3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] >(x) => { return this.n * x; } : (x: number) => number >x : number diff --git a/tests/baselines/reference/neverType.js b/tests/baselines/reference/neverType.js index 56a1373903e..a1e4c71f803 100644 --- a/tests/baselines/reference/neverType.js +++ b/tests/baselines/reference/neverType.js @@ -180,8 +180,8 @@ declare function fail(): never; declare function failOrThrow(shouldFail: boolean): never; declare function infiniteLoop1(): void; declare function infiniteLoop2(): never; -declare function move1(direction: "up" | "down"): number; -declare function move2(direction: "up" | "down"): number; +declare function move1(direction: "up" | "down"): 1 | -1; +declare function move2(direction: "up" | "down"): 1 | -1; declare function check(x: T | undefined): T; declare class C { void1(): void; diff --git a/tests/baselines/reference/neverType.types b/tests/baselines/reference/neverType.types index 5424f61d1ed..bdb1ff56c3e 100644 --- a/tests/baselines/reference/neverType.types +++ b/tests/baselines/reference/neverType.types @@ -27,7 +27,7 @@ function fail() { return error("Something failed"); >error("Something failed") : never >error : (message: string) => never ->"Something failed" : string +>"Something failed" : "Something failed" } function failOrThrow(shouldFail: boolean) { @@ -50,7 +50,7 @@ function infiniteLoop1() { >infiniteLoop1 : () => void while (true) { ->true : boolean +>true : true } } @@ -58,59 +58,59 @@ function infiniteLoop2(): never { >infiniteLoop2 : () => never while (true) { ->true : boolean +>true : true } } function move1(direction: "up" | "down") { ->move1 : (direction: "up" | "down") => number +>move1 : (direction: "up" | "down") => 1 | -1 >direction : "up" | "down" switch (direction) { >direction : "up" | "down" case "up": ->"up" : string +>"up" : "up" return 1; ->1 : number +>1 : 1 case "down": ->"down" : string +>"down" : "down" return -1; ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 } return error("Should never get here"); >error("Should never get here") : never >error : (message: string) => never ->"Should never get here" : string +>"Should never get here" : "Should never get here" } function move2(direction: "up" | "down") { ->move2 : (direction: "up" | "down") => number +>move2 : (direction: "up" | "down") => 1 | -1 >direction : "up" | "down" return direction === "up" ? 1 : ->direction === "up" ? 1 : direction === "down" ? -1 : error("Should never get here") : number +>direction === "up" ? 1 : direction === "down" ? -1 : error("Should never get here") : 1 | -1 >direction === "up" : boolean >direction : "up" | "down" ->"up" : string ->1 : number +>"up" : "up" +>1 : 1 direction === "down" ? -1 : ->direction === "down" ? -1 : error("Should never get here") : number +>direction === "down" ? -1 : error("Should never get here") : -1 >direction === "down" : boolean ->direction : "up" | "down" ->"down" : string ->-1 : number ->1 : number +>direction : "down" +>"down" : "down" +>-1 : -1 +>1 : 1 error("Should never get here"); >error("Should never get here") : never >error : (message: string) => never ->"Should never get here" : string +>"Should never get here" : "Should never get here" } function check(x: T | undefined) { @@ -124,7 +124,7 @@ function check(x: T | undefined) { >x : T | undefined >error("Undefined value") : never >error : (message: string) => never ->"Undefined value" : string +>"Undefined value" : "Undefined value" } class C { @@ -141,7 +141,7 @@ class C { >void2 : () => void while (true) {} ->true : boolean +>true : true } never1(): never { >never1 : () => never @@ -154,7 +154,7 @@ class C { >never2 : () => never while (true) {} ->true : boolean +>true : true } } @@ -166,7 +166,7 @@ function f1(x: string | number) { >typeof x === "boolean" : boolean >typeof x : string >x : string | number ->"boolean" : string +>"boolean" : "boolean" x; // never >x : never @@ -178,13 +178,13 @@ function f2(x: string | number) { >x : string | number while (true) { ->true : boolean +>true : true if (typeof x === "boolean") { >typeof x === "boolean" : boolean >typeof x : string >x : string | number ->"boolean" : string +>"boolean" : "boolean" return x; // never >x : never @@ -210,13 +210,13 @@ let errorCallback = () => error("Error callback"); >() => error("Error callback") : () => never >error("Error callback") : never >error : (message: string) => never ->"Error callback" : string +>"Error callback" : "Error callback" test(() => "hello"); >test(() => "hello") : string >test : (cb: () => string) => string >() => "hello" : () => string ->"hello" : string +>"hello" : "hello" test(() => fail()); >test(() => fail()) : string diff --git a/tests/baselines/reference/neverTypeErrors1.errors.txt b/tests/baselines/reference/neverTypeErrors1.errors.txt index 8fd6f9c924e..cb79c0c19fb 100644 --- a/tests/baselines/reference/neverTypeErrors1.errors.txt +++ b/tests/baselines/reference/neverTypeErrors1.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/types/never/neverTypeErrors1.ts(3,5): error TS2322: Type 'number' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors1.ts(4,5): error TS2322: Type 'string' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors1.ts(5,5): error TS2322: Type 'boolean' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors1.ts(3,5): error TS2322: Type '1' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors1.ts(4,5): error TS2322: Type '"abc"' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors1.ts(5,5): error TS2322: Type 'false' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors1.ts(6,5): error TS2322: Type 'undefined' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors1.ts(7,5): error TS2322: Type 'null' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors1.ts(8,5): error TS2322: Type '{}' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors1.ts(12,5): error TS2322: Type 'undefined' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors1.ts(16,12): error TS2322: Type 'number' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors1.ts(16,12): error TS2322: Type '1' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors1.ts(19,16): error TS2534: A function returning 'never' cannot have a reachable end point. @@ -14,13 +14,13 @@ tests/cases/conformance/types/never/neverTypeErrors1.ts(19,16): error TS2534: A let x: never; x = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'never'. +!!! error TS2322: Type '1' is not assignable to type 'never'. x = "abc"; ~ -!!! error TS2322: Type 'string' is not assignable to type 'never'. +!!! error TS2322: Type '"abc"' is not assignable to type 'never'. x = false; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'never'. +!!! error TS2322: Type 'false' is not assignable to type 'never'. x = undefined; ~ !!! error TS2322: Type 'undefined' is not assignable to type 'never'. @@ -41,7 +41,7 @@ tests/cases/conformance/types/never/neverTypeErrors1.ts(19,16): error TS2534: A function f3(): never { return 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'never'. +!!! error TS2322: Type '1' is not assignable to type 'never'. } function f4(): never { diff --git a/tests/baselines/reference/neverTypeErrors2.errors.txt b/tests/baselines/reference/neverTypeErrors2.errors.txt index c6292657ad1..ed27e615ea1 100644 --- a/tests/baselines/reference/neverTypeErrors2.errors.txt +++ b/tests/baselines/reference/neverTypeErrors2.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/types/never/neverTypeErrors2.ts(4,5): error TS2322: Type 'number' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors2.ts(5,5): error TS2322: Type 'string' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors2.ts(6,5): error TS2322: Type 'boolean' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors2.ts(4,5): error TS2322: Type '1' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors2.ts(5,5): error TS2322: Type '"abc"' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors2.ts(6,5): error TS2322: Type 'false' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors2.ts(7,5): error TS2322: Type 'undefined' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors2.ts(8,5): error TS2322: Type 'null' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors2.ts(9,5): error TS2322: Type '{}' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors2.ts(13,5): error TS2322: Type 'undefined' is not assignable to type 'never'. -tests/cases/conformance/types/never/neverTypeErrors2.ts(17,12): error TS2322: Type 'number' is not assignable to type 'never'. +tests/cases/conformance/types/never/neverTypeErrors2.ts(17,12): error TS2322: Type '1' is not assignable to type 'never'. tests/cases/conformance/types/never/neverTypeErrors2.ts(20,16): error TS2534: A function returning 'never' cannot have a reachable end point. @@ -15,13 +15,13 @@ tests/cases/conformance/types/never/neverTypeErrors2.ts(20,16): error TS2534: A let x: never; x = 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'never'. +!!! error TS2322: Type '1' is not assignable to type 'never'. x = "abc"; ~ -!!! error TS2322: Type 'string' is not assignable to type 'never'. +!!! error TS2322: Type '"abc"' is not assignable to type 'never'. x = false; ~ -!!! error TS2322: Type 'boolean' is not assignable to type 'never'. +!!! error TS2322: Type 'false' is not assignable to type 'never'. x = undefined; ~ !!! error TS2322: Type 'undefined' is not assignable to type 'never'. @@ -42,7 +42,7 @@ tests/cases/conformance/types/never/neverTypeErrors2.ts(20,16): error TS2534: A function f3(): never { return 1; ~ -!!! error TS2322: Type 'number' is not assignable to type 'never'. +!!! error TS2322: Type '1' is not assignable to type 'never'. } function f4(): never { diff --git a/tests/baselines/reference/newArrays.types b/tests/baselines/reference/newArrays.types index 3c0928a46ea..7676b9b14f7 100644 --- a/tests/baselines/reference/newArrays.types +++ b/tests/baselines/reference/newArrays.types @@ -14,11 +14,11 @@ module M { public x = 10; >x : number ->10 : number +>10 : 10 public y = 10; >y : number ->10 : number +>10 : 10 public m () { >m : () => void diff --git a/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types index e07fa21fafe..badd17765b8 100644 --- a/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types @@ -16,7 +16,7 @@ var i: I; var y = new i(""); // y should be string >y : string ->new i("") : string +>new i("") : "" >i : I ->"" : string +>"" : "" diff --git a/tests/baselines/reference/newLineFlagWithCRLF.types b/tests/baselines/reference/newLineFlagWithCRLF.types index 4898d2495b2..fc8caa2c324 100644 --- a/tests/baselines/reference/newLineFlagWithCRLF.types +++ b/tests/baselines/reference/newLineFlagWithCRLF.types @@ -1,11 +1,11 @@ === tests/cases/compiler/newLineFlagWithCRLF.ts === var x=1; >x : number ->1 : number +>1 : 1 x=2; ->x=2 : number +>x=2 : 2 >x : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/newLineFlagWithLF.types b/tests/baselines/reference/newLineFlagWithLF.types index bfdf6072e0e..e16a15282a0 100644 --- a/tests/baselines/reference/newLineFlagWithLF.types +++ b/tests/baselines/reference/newLineFlagWithLF.types @@ -1,11 +1,11 @@ === tests/cases/compiler/newLineFlagWithLF.ts === var x=1; >x : number ->1 : number +>1 : 1 x=2; ->x=2 : number +>x=2 : 2 >x : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/newOperatorConformance.types b/tests/baselines/reference/newOperatorConformance.types index 912c0a5c81a..c7fb0125a1a 100644 --- a/tests/baselines/reference/newOperatorConformance.types +++ b/tests/baselines/reference/newOperatorConformance.types @@ -110,7 +110,7 @@ function newFn2(s: T) { >p : string >new s(32) : string >s : T ->32 : number +>32 : 32 var p: string; >p : string diff --git a/tests/baselines/reference/newWithSpread.js b/tests/baselines/reference/newWithSpread.js index 3b4a726b4d4..91c502e50b9 100644 --- a/tests/baselines/reference/newWithSpread.js +++ b/tests/baselines/reference/newWithSpread.js @@ -129,52 +129,53 @@ var h; var i; // Basic expression new f(1, 2, "string"); -new f(1, 2, ...a); -new f(1, 2, ...a, "string"); +new (f.bind.apply(f, [void 0, 1, 2].concat(a)))(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, ["string"])))(); // Multiple spreads arguments -new f2(...a, ...a); -new f(1, 2, ...a, ...a); +new (f2.bind.apply(f2, [void 0].concat(a, a)))(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, a)))(); // Call expression new f(1, 2, "string")(); -new f(1, 2, ...a)(); -new f(1, 2, ...a, "string")(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a)))()(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, ["string"])))()(); // Property access expression new b.f(1, 2, "string"); -new b.f(1, 2, ...a); -new b.f(1, 2, ...a, "string"); +new ((_a = b.f).bind.apply(_a, [void 0, 1, 2].concat(a)))(); +new ((_b = b.f).bind.apply(_b, [void 0, 1, 2].concat(a, ["string"])))(); // Parenthesised expression new (b.f)(1, 2, "string"); -new (b.f)(1, 2, ...a); -new (b.f)(1, 2, ...a, "string"); +new ((_c = (b.f)).bind.apply(_c, [void 0, 1, 2].concat(a)))(); +new ((_d = (b.f)).bind.apply(_d, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression new d[1].f(1, 2, "string"); -new d[1].f(1, 2, ...a); -new d[1].f(1, 2, ...a, "string"); +new ((_e = d[1].f).bind.apply(_e, [void 0, 1, 2].concat(a)))(); +new ((_f = d[1].f).bind.apply(_f, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a punctuated key new e["a-b"].f(1, 2, "string"); -new e["a-b"].f(1, 2, ...a); -new e["a-b"].f(1, 2, ...a, "string"); +new ((_g = e["a-b"].f).bind.apply(_g, [void 0, 1, 2].concat(a)))(); +new ((_h = e["a-b"].f).bind.apply(_h, [void 0, 1, 2].concat(a, ["string"])))(); // Basic expression new B(1, 2, "string"); -new B(1, 2, ...a); -new B(1, 2, ...a, "string"); +new (B.bind.apply(B, [void 0, 1, 2].concat(a)))(); +new (B.bind.apply(B, [void 0, 1, 2].concat(a, ["string"])))(); // Property access expression new c["a-b"](1, 2, "string"); -new c["a-b"](1, 2, ...a); -new c["a-b"](1, 2, ...a, "string"); +new ((_j = c["a-b"]).bind.apply(_j, [void 0, 1, 2].concat(a)))(); +new ((_k = c["a-b"]).bind.apply(_k, [void 0, 1, 2].concat(a, ["string"])))(); // Parenthesised expression new (c["a-b"])(1, 2, "string"); -new (c["a-b"])(1, 2, ...a); -new (c["a-b"])(1, 2, ...a, "string"); +new ((_l = (c["a-b"])).bind.apply(_l, [void 0, 1, 2].concat(a)))(); +new ((_m = (c["a-b"])).bind.apply(_m, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression new g[1]["a-b"](1, 2, "string"); -new g[1]["a-b"](1, 2, ...a); -new g[1]["a-b"](1, 2, ...a, "string"); +new ((_o = g[1]["a-b"]).bind.apply(_o, [void 0, 1, 2].concat(a)))(); +new ((_p = g[1]["a-b"]).bind.apply(_p, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a punctuated key new h["a-b"]["a-b"](1, 2, "string"); -new h["a-b"]["a-b"](1, 2, ...a); -new h["a-b"]["a-b"](1, 2, ...a, "string"); +new ((_q = h["a-b"]["a-b"]).bind.apply(_q, [void 0, 1, 2].concat(a)))(); +new ((_r = h["a-b"]["a-b"]).bind.apply(_r, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a number new i["a-b"][1](1, 2, "string"); -new i["a-b"][1](1, 2, ...a); -new i["a-b"][1](1, 2, ...a, "string"); +new ((_s = i["a-b"][1]).bind.apply(_s, [void 0, 1, 2].concat(a)))(); +new ((_t = i["a-b"][1]).bind.apply(_t, [void 0, 1, 2].concat(a, ["string"])))(); +var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t; diff --git a/tests/baselines/reference/newWithSpreadES5.js b/tests/baselines/reference/newWithSpreadES5.js index fffa53d7c90..92904062d0a 100644 --- a/tests/baselines/reference/newWithSpreadES5.js +++ b/tests/baselines/reference/newWithSpreadES5.js @@ -128,53 +128,53 @@ var h; var i; // Basic expression new f(1, 2, "string"); -new (f.bind.apply(f, [void 0].concat([1, 2], a)))(); -new (f.bind.apply(f, [void 0].concat([1, 2], a, ["string"])))(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a)))(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, ["string"])))(); // Multiple spreads arguments new (f2.bind.apply(f2, [void 0].concat(a, a)))(); -new (f.bind.apply(f, [void 0].concat([1, 2], a, a)))(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, a)))(); // Call expression new f(1, 2, "string")(); -new (f.bind.apply(f, [void 0].concat([1, 2], a)))()(); -new (f.bind.apply(f, [void 0].concat([1, 2], a, ["string"])))()(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a)))()(); +new (f.bind.apply(f, [void 0, 1, 2].concat(a, ["string"])))()(); // Property access expression new b.f(1, 2, "string"); -new ((_a = b.f).bind.apply(_a, [void 0].concat([1, 2], a)))(); -new ((_b = b.f).bind.apply(_b, [void 0].concat([1, 2], a, ["string"])))(); +new ((_a = b.f).bind.apply(_a, [void 0, 1, 2].concat(a)))(); +new ((_b = b.f).bind.apply(_b, [void 0, 1, 2].concat(a, ["string"])))(); // Parenthesised expression new (b.f)(1, 2, "string"); -new ((_c = (b.f)).bind.apply(_c, [void 0].concat([1, 2], a)))(); -new ((_d = (b.f)).bind.apply(_d, [void 0].concat([1, 2], a, ["string"])))(); +new ((_c = (b.f)).bind.apply(_c, [void 0, 1, 2].concat(a)))(); +new ((_d = (b.f)).bind.apply(_d, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression new d[1].f(1, 2, "string"); -new ((_e = d[1].f).bind.apply(_e, [void 0].concat([1, 2], a)))(); -new ((_f = d[1].f).bind.apply(_f, [void 0].concat([1, 2], a, ["string"])))(); +new ((_e = d[1].f).bind.apply(_e, [void 0, 1, 2].concat(a)))(); +new ((_f = d[1].f).bind.apply(_f, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a punctuated key new e["a-b"].f(1, 2, "string"); -new ((_g = e["a-b"].f).bind.apply(_g, [void 0].concat([1, 2], a)))(); -new ((_h = e["a-b"].f).bind.apply(_h, [void 0].concat([1, 2], a, ["string"])))(); +new ((_g = e["a-b"].f).bind.apply(_g, [void 0, 1, 2].concat(a)))(); +new ((_h = e["a-b"].f).bind.apply(_h, [void 0, 1, 2].concat(a, ["string"])))(); // Basic expression new B(1, 2, "string"); -new (B.bind.apply(B, [void 0].concat([1, 2], a)))(); -new (B.bind.apply(B, [void 0].concat([1, 2], a, ["string"])))(); +new (B.bind.apply(B, [void 0, 1, 2].concat(a)))(); +new (B.bind.apply(B, [void 0, 1, 2].concat(a, ["string"])))(); // Property access expression new c["a-b"](1, 2, "string"); -new ((_j = c["a-b"]).bind.apply(_j, [void 0].concat([1, 2], a)))(); -new ((_k = c["a-b"]).bind.apply(_k, [void 0].concat([1, 2], a, ["string"])))(); +new ((_j = c["a-b"]).bind.apply(_j, [void 0, 1, 2].concat(a)))(); +new ((_k = c["a-b"]).bind.apply(_k, [void 0, 1, 2].concat(a, ["string"])))(); // Parenthesised expression new (c["a-b"])(1, 2, "string"); -new ((_l = (c["a-b"])).bind.apply(_l, [void 0].concat([1, 2], a)))(); -new ((_m = (c["a-b"])).bind.apply(_m, [void 0].concat([1, 2], a, ["string"])))(); +new ((_l = (c["a-b"])).bind.apply(_l, [void 0, 1, 2].concat(a)))(); +new ((_m = (c["a-b"])).bind.apply(_m, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression new g[1]["a-b"](1, 2, "string"); -new ((_o = g[1]["a-b"]).bind.apply(_o, [void 0].concat([1, 2], a)))(); -new ((_p = g[1]["a-b"]).bind.apply(_p, [void 0].concat([1, 2], a, ["string"])))(); +new ((_o = g[1]["a-b"]).bind.apply(_o, [void 0, 1, 2].concat(a)))(); +new ((_p = g[1]["a-b"]).bind.apply(_p, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a punctuated key new h["a-b"]["a-b"](1, 2, "string"); -new ((_q = h["a-b"]["a-b"]).bind.apply(_q, [void 0].concat([1, 2], a)))(); -new ((_r = h["a-b"]["a-b"]).bind.apply(_r, [void 0].concat([1, 2], a, ["string"])))(); +new ((_q = h["a-b"]["a-b"]).bind.apply(_q, [void 0, 1, 2].concat(a)))(); +new ((_r = h["a-b"]["a-b"]).bind.apply(_r, [void 0, 1, 2].concat(a, ["string"])))(); // Element access expression with a number new i["a-b"][1](1, 2, "string"); -new ((_s = i["a-b"][1]).bind.apply(_s, [void 0].concat([1, 2], a)))(); -new ((_t = i["a-b"][1]).bind.apply(_t, [void 0].concat([1, 2], a, ["string"])))(); +new ((_s = i["a-b"][1]).bind.apply(_s, [void 0, 1, 2].concat(a)))(); +new ((_t = i["a-b"][1]).bind.apply(_t, [void 0, 1, 2].concat(a, ["string"])))(); var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t; diff --git a/tests/baselines/reference/newWithSpreadES5.types b/tests/baselines/reference/newWithSpreadES5.types index a2c83ed6372..dfa45b33ee1 100644 --- a/tests/baselines/reference/newWithSpreadES5.types +++ b/tests/baselines/reference/newWithSpreadES5.types @@ -84,26 +84,26 @@ var i: C[][]; new f(1, 2, "string"); >new f(1, 2, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new f(1, 2, ...a); >new f(1, 2, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] new f(1, 2, ...a, "string"); >new f(1, 2, ...a, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Multiple spreads arguments new f2(...a, ...a); @@ -117,8 +117,8 @@ new f2(...a, ...a); new f(1 ,2, ...a, ...a); >new f(1 ,2, ...a, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] >...a : string @@ -129,16 +129,16 @@ new f(1, 2, "string")(); >new f(1, 2, "string")() : any >new f(1, 2, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new f(1, 2, ...a)(); >new f(1, 2, ...a)() : any >new f(1, 2, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -146,11 +146,11 @@ new f(1, 2, ...a, "string")(); >new f(1, 2, ...a, "string")() : any >new f(1, 2, ...a, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Property access expression new b.f(1, 2, "string"); @@ -158,17 +158,17 @@ new b.f(1, 2, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new b.f(1, 2, ...a); >new b.f(1, 2, ...a) : any >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -177,11 +177,11 @@ new b.f(1, 2, ...a, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Parenthesised expression new (b.f)(1, 2, "string"); @@ -190,9 +190,9 @@ new (b.f)(1, 2, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new (b.f)(1, 2, ...a); >new (b.f)(1, 2, ...a) : any @@ -200,8 +200,8 @@ new (b.f)(1, 2, ...a); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -211,11 +211,11 @@ new (b.f)(1, 2, ...a, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression new d[1].f(1, 2, "string"); @@ -223,21 +223,21 @@ new d[1].f(1, 2, "string"); >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new d[1].f(1, 2, ...a); >new d[1].f(1, 2, ...a) : any >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -246,13 +246,13 @@ new d[1].f(1, 2, ...a, "string"); >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a punctuated key new e["a-b"].f(1, 2, "string"); @@ -260,21 +260,21 @@ new e["a-b"].f(1, 2, "string"); >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new e["a-b"].f(1, 2, ...a); >new e["a-b"].f(1, 2, ...a) : any >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -283,56 +283,56 @@ new e["a-b"].f(1, 2, ...a, "string"); >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Basic expression new B(1, 2, "string"); >new B(1, 2, "string") : B >B : typeof B ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new B(1, 2, ...a); >new B(1, 2, ...a) : B >B : typeof B ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] new B(1, 2, ...a, "string"); >new B(1, 2, ...a, "string") : B >B : typeof B ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Property access expression new c["a-b"](1, 2, "string"); >new c["a-b"](1, 2, "string") : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new c["a-b"](1, 2, ...a); >new c["a-b"](1, 2, ...a) : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -340,12 +340,12 @@ new c["a-b"](1, 2, ...a, "string"); >new c["a-b"](1, 2, ...a, "string") : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Parenthesised expression new (c["a-b"])(1, 2, "string"); @@ -353,19 +353,19 @@ new (c["a-b"])(1, 2, "string"); >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new (c["a-b"])(1, 2, ...a); >new (c["a-b"])(1, 2, ...a) : B >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -374,12 +374,12 @@ new (c["a-b"])(1, 2, ...a, "string"); >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression new g[1]["a-b"](1, 2, "string"); @@ -387,21 +387,21 @@ new g[1]["a-b"](1, 2, "string"); >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new g[1]["a-b"](1, 2, ...a); >new g[1]["a-b"](1, 2, ...a) : B >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -410,13 +410,13 @@ new g[1]["a-b"](1, 2, ...a, "string"); >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a punctuated key new h["a-b"]["a-b"](1, 2, "string"); @@ -424,21 +424,21 @@ new h["a-b"]["a-b"](1, 2, "string"); >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new h["a-b"]["a-b"](1, 2, ...a); >new h["a-b"]["a-b"](1, 2, ...a) : B >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -447,13 +447,13 @@ new h["a-b"]["a-b"](1, 2, ...a, "string"); >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a number new i["a-b"][1](1, 2, "string"); @@ -461,21 +461,21 @@ new i["a-b"][1](1, 2, "string"); >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 +>"string" : "string" new i["a-b"][1](1, 2, ...a); >new i["a-b"][1](1, 2, ...a) : any >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -484,11 +484,11 @@ new i["a-b"][1](1, 2, ...a, "string"); >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" diff --git a/tests/baselines/reference/newWithSpreadES6.js b/tests/baselines/reference/newWithSpreadES6.js index b712984f05e..dca5264cb3f 100644 --- a/tests/baselines/reference/newWithSpreadES6.js +++ b/tests/baselines/reference/newWithSpreadES6.js @@ -103,8 +103,7 @@ function f(x, y, ...z) { function f2(...x) { } class B { - constructor(x, y, ...z) { - } + constructor(x, y, ...z) { } } var a; var b; diff --git a/tests/baselines/reference/newWithSpreadES6.types b/tests/baselines/reference/newWithSpreadES6.types index 52951729e3d..587e7683e6a 100644 --- a/tests/baselines/reference/newWithSpreadES6.types +++ b/tests/baselines/reference/newWithSpreadES6.types @@ -85,26 +85,26 @@ var i: C[][]; new f(1, 2, "string"); >new f(1, 2, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new f(1, 2, ...a); >new f(1, 2, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] new f(1, 2, ...a, "string"); >new f(1, 2, ...a, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Multiple spreads arguments new f2(...a, ...a); @@ -118,8 +118,8 @@ new f2(...a, ...a); new f(1 ,2, ...a, ...a); >new f(1 ,2, ...a, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] >...a : string @@ -130,16 +130,16 @@ new f(1, 2, "string")(); >new f(1, 2, "string")() : any >new f(1, 2, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new f(1, 2, ...a)(); >new f(1, 2, ...a)() : any >new f(1, 2, ...a) : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -147,11 +147,11 @@ new f(1, 2, ...a, "string")(); >new f(1, 2, ...a, "string")() : any >new f(1, 2, ...a, "string") : any >f : (x: number, y: number, ...z: string[]) => void ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Property access expression new b.f(1, 2, "string"); @@ -159,17 +159,17 @@ new b.f(1, 2, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new b.f(1, 2, ...a); >new b.f(1, 2, ...a) : any >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -178,11 +178,11 @@ new b.f(1, 2, ...a, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Parenthesised expression new (b.f)(1, 2, "string"); @@ -191,9 +191,9 @@ new (b.f)(1, 2, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new (b.f)(1, 2, ...a); >new (b.f)(1, 2, ...a) : any @@ -201,8 +201,8 @@ new (b.f)(1, 2, ...a); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -212,11 +212,11 @@ new (b.f)(1, 2, ...a, "string"); >b.f : new (x: number, y: number, ...z: string[]) => any >b : A >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression new d[1].f(1, 2, "string"); @@ -224,21 +224,21 @@ new d[1].f(1, 2, "string"); >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new d[1].f(1, 2, ...a); >new d[1].f(1, 2, ...a) : any >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -247,13 +247,13 @@ new d[1].f(1, 2, ...a, "string"); >d[1].f : new (x: number, y: number, ...z: string[]) => any >d[1] : A >d : A[] ->1 : number +>1 : 1 >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a punctuated key new e["a-b"].f(1, 2, "string"); @@ -261,21 +261,21 @@ new e["a-b"].f(1, 2, "string"); >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new e["a-b"].f(1, 2, ...a); >new e["a-b"].f(1, 2, ...a) : any >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -284,56 +284,56 @@ new e["a-b"].f(1, 2, ...a, "string"); >e["a-b"].f : new (x: number, y: number, ...z: string[]) => any >e["a-b"] : A >e : { [key: string]: A; } ->"a-b" : string +>"a-b" : "a-b" >f : new (x: number, y: number, ...z: string[]) => any ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Basic expression new B(1, 2, "string"); >new B(1, 2, "string") : B >B : typeof B ->1 : number ->2 : number ->"string" : string +>1 : 1 +>2 : 2 +>"string" : "string" new B(1, 2, ...a); >new B(1, 2, ...a) : B >B : typeof B ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] new B(1, 2, ...a, "string"); >new B(1, 2, ...a, "string") : B >B : typeof B ->1 : number ->2 : number +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Property access expression new c["a-b"](1, 2, "string"); >new c["a-b"](1, 2, "string") : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new c["a-b"](1, 2, ...a); >new c["a-b"](1, 2, ...a) : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -341,12 +341,12 @@ new c["a-b"](1, 2, ...a, "string"); >new c["a-b"](1, 2, ...a, "string") : B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Parenthesised expression new (c["a-b"])(1, 2, "string"); @@ -354,19 +354,19 @@ new (c["a-b"])(1, 2, "string"); >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new (c["a-b"])(1, 2, ...a); >new (c["a-b"])(1, 2, ...a) : B >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -375,12 +375,12 @@ new (c["a-b"])(1, 2, ...a, "string"); >(c["a-b"]) : typeof B >c["a-b"] : typeof B >c : C ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression new g[1]["a-b"](1, 2, "string"); @@ -388,21 +388,21 @@ new g[1]["a-b"](1, 2, "string"); >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new g[1]["a-b"](1, 2, ...a); >new g[1]["a-b"](1, 2, ...a) : B >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -411,13 +411,13 @@ new g[1]["a-b"](1, 2, ...a, "string"); >g[1]["a-b"] : typeof B >g[1] : C >g : C[] ->1 : number ->"a-b" : string ->1 : number ->2 : number +>1 : 1 +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a punctuated key new h["a-b"]["a-b"](1, 2, "string"); @@ -425,21 +425,21 @@ new h["a-b"]["a-b"](1, 2, "string"); >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 +>"string" : "string" new h["a-b"]["a-b"](1, 2, ...a); >new h["a-b"]["a-b"](1, 2, ...a) : B >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -448,13 +448,13 @@ new h["a-b"]["a-b"](1, 2, ...a, "string"); >h["a-b"]["a-b"] : typeof B >h["a-b"] : C >h : { [key: string]: C; } ->"a-b" : string ->"a-b" : string ->1 : number ->2 : number +>"a-b" : "a-b" +>"a-b" : "a-b" +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" // Element access expression with a number new i["a-b"][1](1, 2, "string"); @@ -462,21 +462,21 @@ new i["a-b"][1](1, 2, "string"); >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number ->"string" : string +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 +>"string" : "string" new i["a-b"][1](1, 2, ...a); >new i["a-b"][1](1, 2, ...a) : any >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 >...a : string >a : string[] @@ -485,11 +485,11 @@ new i["a-b"][1](1, 2, ...a, "string"); >i["a-b"][1] : any >i["a-b"] : any >i : C[][] ->"a-b" : string ->1 : number ->1 : number ->2 : number +>"a-b" : "a-b" +>1 : 1 +>1 : 1 +>2 : 2 >...a : string >a : string[] ->"string" : string +>"string" : "string" diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types index 8c3cc633c10..da98162609f 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.types @@ -15,7 +15,7 @@ class class1 { var _this = 2; >_this : number ->2 : number +>2 : 2 return callback(_this); >callback(_this) : any @@ -32,7 +32,7 @@ class class2 { constructor() { var _this = 2; >_this : number ->2 : number +>2 : 2 var x2 = { >x2 : { doStuff: (callback: any) => () => any; } diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInFunction.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInFunction.types index 3edf54a594f..1094638c7a1 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInFunction.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInFunction.types @@ -11,7 +11,7 @@ function x() { var _this = 5; >_this : number ->5 : number +>5 : 5 x => { console.log(_this); }; >x => { console.log(_this); } : (x: any) => void diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types index 83732f9c350..a0a9a25c516 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types @@ -15,7 +15,7 @@ var x = { var _this = 2; >_this : number ->2 : number +>2 : 2 return callback(_this); >callback(_this) : any diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types index 49d0e3ed93a..6cec96104b5 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.types @@ -1,7 +1,7 @@ === tests/cases/compiler/noCollisionThisExpressionAndLocalVarInMethod.ts === var _this = 2; >_this : number ->2 : number +>2 : 2 class a { >a : a @@ -20,7 +20,7 @@ class a { var _this = 2; >_this : number ->2 : number +>2 : 2 return callback(_this); >callback(_this) : any @@ -34,7 +34,7 @@ class a { var _this = 2; >_this : number ->2 : number +>2 : 2 return { >{ doStuff: (callback) => () => { return callback(_this); } } : { doStuff: (callback: any) => () => any; } diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types index 8918ccc825c..e118d925515 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.types @@ -14,7 +14,7 @@ class class1 { var _this = 2; >_this : number ->2 : number +>2 : 2 return callback(_this); >callback(_this) : any @@ -30,7 +30,7 @@ class class2 { constructor() { var _this = 2; >_this : number ->2 : number +>2 : 2 } public prop1 = { >prop1 : { doStuff: (callback: any) => () => any; } @@ -45,7 +45,7 @@ class class2 { return callback(10); >callback(10) : any >callback : any ->10 : number +>10 : 10 } } } diff --git a/tests/baselines/reference/noCollisionThisExpressionAndVarInGlobal.types b/tests/baselines/reference/noCollisionThisExpressionAndVarInGlobal.types index c5943ef5c14..36332f39505 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndVarInGlobal.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndVarInGlobal.types @@ -1,7 +1,7 @@ === tests/cases/compiler/noCollisionThisExpressionAndVarInGlobal.ts === var _this = 1; >_this : number ->1 : number +>1 : 1 var f = () => _this; >f : () => number diff --git a/tests/baselines/reference/noCollisionThisExpressionInFunctionAndVarInGlobal.types b/tests/baselines/reference/noCollisionThisExpressionInFunctionAndVarInGlobal.types index ba65e03ba59..6fb54bbdf9e 100644 --- a/tests/baselines/reference/noCollisionThisExpressionInFunctionAndVarInGlobal.types +++ b/tests/baselines/reference/noCollisionThisExpressionInFunctionAndVarInGlobal.types @@ -8,7 +8,7 @@ var console: { } var _this = 5; >_this : number ->5 : number +>5 : 5 function x() { >x : () => void diff --git a/tests/baselines/reference/noEmitHelpers2.js b/tests/baselines/reference/noEmitHelpers2.js index f3bbfe54896..64acadf07e3 100644 --- a/tests/baselines/reference/noEmitHelpers2.js +++ b/tests/baselines/reference/noEmitHelpers2.js @@ -12,10 +12,10 @@ class A { var A = (function () { function A(a, b) { } - A = __decorate([ - decorator, - __param(1, decorator), - __metadata('design:paramtypes', [Number, String]) - ], A); return A; }()); +A = __decorate([ + decorator, + __param(1, decorator), + __metadata("design:paramtypes", [Number, String]) +], A); diff --git a/tests/baselines/reference/noEmitOnError.errors.txt b/tests/baselines/reference/noEmitOnError.errors.txt index e03e5948092..87a71c30756 100644 --- a/tests/baselines/reference/noEmitOnError.errors.txt +++ b/tests/baselines/reference/noEmitOnError.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/noEmitOnError.ts(2,5): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/noEmitOnError.ts(2,5): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/compiler/noEmitOnError.ts (1 errors) ==== var x: number = ""; ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/noErrorTruncation.errors.txt b/tests/baselines/reference/noErrorTruncation.errors.txt new file mode 100644 index 00000000000..af3acb54bba --- /dev/null +++ b/tests/baselines/reference/noErrorTruncation.errors.txt @@ -0,0 +1,22 @@ +tests/cases/compiler/noErrorTruncation.ts(10,7): error TS2322: Type '42' is not assignable to type '{ someLongOptionA: string; } | { someLongOptionB: string; } | { someLongOptionC: string; } | { someLongOptionD: string; } | { someLongOptionE: string; } | { someLongOptionF: string; }'. + + +==== tests/cases/compiler/noErrorTruncation.ts (1 errors) ==== + // @noErrorTruncation + + type SomeLongOptionA = { someLongOptionA: string } + type SomeLongOptionB = { someLongOptionB: string } + type SomeLongOptionC = { someLongOptionC: string } + type SomeLongOptionD = { someLongOptionD: string } + type SomeLongOptionE = { someLongOptionE: string } + type SomeLongOptionF = { someLongOptionF: string } + + const x: SomeLongOptionA + ~ +!!! error TS2322: Type '42' is not assignable to type '{ someLongOptionA: string; } | { someLongOptionB: string; } | { someLongOptionC: string; } | { someLongOptionD: string; } | { someLongOptionE: string; } | { someLongOptionF: string; }'. + | SomeLongOptionB + | SomeLongOptionC + | SomeLongOptionD + | SomeLongOptionE + | SomeLongOptionF = 42; + \ No newline at end of file diff --git a/tests/baselines/reference/noErrorTruncation.js b/tests/baselines/reference/noErrorTruncation.js new file mode 100644 index 00000000000..70bbc6bd8dc --- /dev/null +++ b/tests/baselines/reference/noErrorTruncation.js @@ -0,0 +1,21 @@ +//// [noErrorTruncation.ts] +// @noErrorTruncation + +type SomeLongOptionA = { someLongOptionA: string } +type SomeLongOptionB = { someLongOptionB: string } +type SomeLongOptionC = { someLongOptionC: string } +type SomeLongOptionD = { someLongOptionD: string } +type SomeLongOptionE = { someLongOptionE: string } +type SomeLongOptionF = { someLongOptionF: string } + +const x: SomeLongOptionA + | SomeLongOptionB + | SomeLongOptionC + | SomeLongOptionD + | SomeLongOptionE + | SomeLongOptionF = 42; + + +//// [noErrorTruncation.js] +// @noErrorTruncation +var x = 42; diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.symbols b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.symbols new file mode 100644 index 00000000000..d3d338e0d14 --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/0.d.ts === + +export = a; +>a : Symbol(a, Decl(0.d.ts, 2, 11)) + +declare var a: number; +>a : Symbol(a, Decl(0.d.ts, 2, 11)) + diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.types b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.types new file mode 100644 index 00000000000..c5e2c0b80f8 --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/0.d.ts === + +export = a; +>a : number + +declare var a: number; +>a : number + diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.errors.txt b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.errors.txt new file mode 100644 index 00000000000..bcf5d91c015 --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/1.ts(2,1): error TS1148: Cannot use imports, exports, or module augmentations when '--module' is 'none'. + + +==== tests/cases/compiler/1.ts (1 errors) ==== + + export var j = "hello"; // error + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1148: Cannot use imports, exports, or module augmentations when '--module' is 'none'. + +==== tests/cases/compiler/0.d.ts (0 errors) ==== + export = a; + declare var a: number; \ No newline at end of file diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.js b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.js new file mode 100644 index 00000000000..b56988de44c --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.js @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.ts] //// + +//// [1.ts] + +export var j = "hello"; // error + +//// [0.d.ts] +export = a; +declare var a: number; + +//// [1.js] +"use strict"; +exports.j = "hello"; // error diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.errors.txt b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.errors.txt new file mode 100644 index 00000000000..eb215693cd7 --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/1.ts(1,1): error TS1148: Cannot use imports, exports, or module augmentations when '--module' is 'none'. + + +==== tests/cases/compiler/0.d.ts (0 errors) ==== + + export = a; + declare var a: number; + +==== tests/cases/compiler/1.ts (1 errors) ==== + export var j = "hello"; // error + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1148: Cannot use imports, exports, or module augmentations when '--module' is 'none'. + \ No newline at end of file diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.js b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.js new file mode 100644 index 00000000000..8c75af24034 --- /dev/null +++ b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.ts] //// + +//// [0.d.ts] + +export = a; +declare var a: number; + +//// [1.ts] +export var j = "hello"; // error + + +//// [1.js] +"use strict"; +exports.j = "hello"; // error diff --git a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.errors.txt b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.errors.txt index 10d6b05c622..f7e6475b971 100644 --- a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.errors.txt +++ b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.errors.txt @@ -15,11 +15,14 @@ tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(5,18): error TS tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(7,5): error TS1182: A destructuring declaration must have an initializer. tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(7,13): error TS7008: Member 'b3' implicitly has an 'any' type. tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(7,25): error TS7008: Member 'b3' implicitly has an 'any' type. -tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,6): error TS7031: Binding element 'a1' implicitly has an 'any' type. -tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,26): error TS7031: Binding element 'b1' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,6): error TS7031: Binding element 'a4' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,26): error TS7031: Binding element 'b4' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,46): error TS7005: Variable 'c4' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,62): error TS7005: Variable 'd4' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(11,6): error TS7031: Binding element 'a5' implicitly has an 'any' type. -==== tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts (19 errors) ==== +==== tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts (22 errors) ==== var [a], {b}, c, d; // error ~~~ !!! error TS1182: A destructuring declaration must have an initializer. @@ -62,8 +65,16 @@ tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration.ts(9,26): error TS ~~ !!! error TS7008: Member 'b3' implicitly has an 'any' type. - var [a1] = [undefined], {b1} = { b1: null }, c1 = undefined, d1 = null; // error + var [a4] = [undefined], {b4} = { b4: null }, c4 = undefined, d4 = null; // error ~~ -!!! error TS7031: Binding element 'a1' implicitly has an 'any' type. +!!! error TS7031: Binding element 'a4' implicitly has an 'any' type. ~~ -!!! error TS7031: Binding element 'b1' implicitly has an 'any' type. \ No newline at end of file +!!! error TS7031: Binding element 'b4' implicitly has an 'any' type. + ~~ +!!! error TS7005: Variable 'c4' implicitly has an 'any' type. + ~~ +!!! error TS7005: Variable 'd4' implicitly has an 'any' type. + + var [a5 = undefined] = []; // error + ~~ +!!! error TS7031: Binding element 'a5' implicitly has an 'any' type. \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.js b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.js index cbc15c01e9e..85358df666e 100644 --- a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.js +++ b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration.js @@ -7,11 +7,14 @@ var [a2]: [any], {b2}: { b2: any }, c2: any, d2: any; var {b3}: { b3 }, c3: { b3 }; // error in type instead -var [a1] = [undefined], {b1} = { b1: null }, c1 = undefined, d1 = null; // error +var [a4] = [undefined], {b4} = { b4: null }, c4 = undefined, d4 = null; // error + +var [a5 = undefined] = []; // error //// [noImplicitAnyDestructuringVarDeclaration.js] var a = (void 0)[0], b = (void 0).b, c, d; // error var _a = (void 0)[0], a1 = _a === void 0 ? undefined : _a, _b = (void 0).b1, b1 = _b === void 0 ? null : _b, c1 = undefined, d1 = null; // error var a2 = (void 0)[0], b2 = (void 0).b2, c2, d2; var b3 = (void 0).b3, c3; // error in type instead -var a1 = [undefined][0], b1 = { b1: null }.b1, c1 = undefined, d1 = null; // error +var a4 = [undefined][0], b4 = { b4: null }.b4, c4 = undefined, d4 = null; // error +var _c = [][0], a5 = _c === void 0 ? undefined : _c; // error diff --git a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.js b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.js new file mode 100644 index 00000000000..79ee0b8830f --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.js @@ -0,0 +1,25 @@ +//// [noImplicitAnyDestructuringVarDeclaration2.ts] +let [a, b, c] = [1, 2, 3]; // no error +let [a1 = 10, b1 = 10, c1 = 10] = [1, 2, 3]; // no error +let [a2 = undefined, b2 = undefined, c2 = undefined] = [1, 2, 3]; // no error +let [a3 = undefined, b3 = null, c3 = undefined] = [1, 2, 3]; // no error +let [a4] = [undefined], [b4] = [null], c4 = undefined, d4 = null; // no error + +let {x, y, z} = { x: 1, y: 2, z: 3 }; // no error +let {x1 = 10, y1 = 10, z1 = 10} = { x1: 1, y1: 2, z1: 3 }; // no error +let {x2 = undefined, y2 = undefined, z2 = undefined} = { x2: 1, y2: 2, z2: 3 }; // no error +let {x3 = undefined, y3 = null, z3 = undefined} = { x3: 1, y3: 2, z3: 3 }; // no error +let {x4} = { x4: undefined }, {y4} = { y4: null }; // no error + + +//// [noImplicitAnyDestructuringVarDeclaration2.js] +var _a = [1, 2, 3], a = _a[0], b = _a[1], c = _a[2]; // no error +var _b = [1, 2, 3], _c = _b[0], a1 = _c === void 0 ? 10 : _c, _d = _b[1], b1 = _d === void 0 ? 10 : _d, _e = _b[2], c1 = _e === void 0 ? 10 : _e; // no error +var _f = [1, 2, 3], _g = _f[0], a2 = _g === void 0 ? undefined : _g, _h = _f[1], b2 = _h === void 0 ? undefined : _h, _j = _f[2], c2 = _j === void 0 ? undefined : _j; // no error +var _k = [1, 2, 3], _l = _k[0], a3 = _l === void 0 ? undefined : _l, _m = _k[1], b3 = _m === void 0 ? null : _m, _o = _k[2], c3 = _o === void 0 ? undefined : _o; // no error +var a4 = [undefined][0], b4 = [null][0], c4 = undefined, d4 = null; // no error +var _p = { x: 1, y: 2, z: 3 }, x = _p.x, y = _p.y, z = _p.z; // no error +var _q = { x1: 1, y1: 2, z1: 3 }, _r = _q.x1, x1 = _r === void 0 ? 10 : _r, _s = _q.y1, y1 = _s === void 0 ? 10 : _s, _t = _q.z1, z1 = _t === void 0 ? 10 : _t; // no error +var _u = { x2: 1, y2: 2, z2: 3 }, _v = _u.x2, x2 = _v === void 0 ? undefined : _v, _w = _u.y2, y2 = _w === void 0 ? undefined : _w, _x = _u.z2, z2 = _x === void 0 ? undefined : _x; // no error +var _y = { x3: 1, y3: 2, z3: 3 }, _z = _y.x3, x3 = _z === void 0 ? undefined : _z, _0 = _y.y3, y3 = _0 === void 0 ? null : _0, _1 = _y.z3, z3 = _1 === void 0 ? undefined : _1; // no error +var x4 = { x4: undefined }.x4, y4 = { y4: null }.y4; // no error diff --git a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.symbols b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.symbols new file mode 100644 index 00000000000..ee7fe9f7edd --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.symbols @@ -0,0 +1,78 @@ +=== tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration2.ts === +let [a, b, c] = [1, 2, 3]; // no error +>a : Symbol(a, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 0, 5)) +>b : Symbol(b, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 0, 7)) +>c : Symbol(c, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 0, 10)) + +let [a1 = 10, b1 = 10, c1 = 10] = [1, 2, 3]; // no error +>a1 : Symbol(a1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 1, 5)) +>b1 : Symbol(b1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 1, 13)) +>c1 : Symbol(c1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 1, 22)) + +let [a2 = undefined, b2 = undefined, c2 = undefined] = [1, 2, 3]; // no error +>a2 : Symbol(a2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 2, 5)) +>undefined : Symbol(undefined) +>b2 : Symbol(b2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 2, 20)) +>undefined : Symbol(undefined) +>c2 : Symbol(c2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 2, 36)) +>undefined : Symbol(undefined) + +let [a3 = undefined, b3 = null, c3 = undefined] = [1, 2, 3]; // no error +>a3 : Symbol(a3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 3, 5)) +>undefined : Symbol(undefined) +>b3 : Symbol(b3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 3, 25)) +>c3 : Symbol(c3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 3, 41)) +>undefined : Symbol(undefined) + +let [a4] = [undefined], [b4] = [null], c4 = undefined, d4 = null; // no error +>a4 : Symbol(a4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 4, 5)) +>undefined : Symbol(undefined) +>b4 : Symbol(b4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 4, 30)) +>c4 : Symbol(c4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 4, 48)) +>undefined : Symbol(undefined) +>d4 : Symbol(d4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 4, 69)) + +let {x, y, z} = { x: 1, y: 2, z: 3 }; // no error +>x : Symbol(x, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 5)) +>y : Symbol(y, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 7)) +>z : Symbol(z, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 10)) +>x : Symbol(x, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 17)) +>y : Symbol(y, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 23)) +>z : Symbol(z, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 6, 29)) + +let {x1 = 10, y1 = 10, z1 = 10} = { x1: 1, y1: 2, z1: 3 }; // no error +>x1 : Symbol(x1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 5)) +>y1 : Symbol(y1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 13)) +>z1 : Symbol(z1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 22)) +>x1 : Symbol(x1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 35)) +>y1 : Symbol(y1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 42)) +>z1 : Symbol(z1, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 7, 49)) + +let {x2 = undefined, y2 = undefined, z2 = undefined} = { x2: 1, y2: 2, z2: 3 }; // no error +>x2 : Symbol(x2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 5)) +>undefined : Symbol(undefined) +>y2 : Symbol(y2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 20)) +>undefined : Symbol(undefined) +>z2 : Symbol(z2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 36)) +>undefined : Symbol(undefined) +>x2 : Symbol(x2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 56)) +>y2 : Symbol(y2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 63)) +>z2 : Symbol(z2, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 8, 70)) + +let {x3 = undefined, y3 = null, z3 = undefined} = { x3: 1, y3: 2, z3: 3 }; // no error +>x3 : Symbol(x3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 5)) +>undefined : Symbol(undefined) +>y3 : Symbol(y3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 25)) +>z3 : Symbol(z3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 41)) +>undefined : Symbol(undefined) +>x3 : Symbol(x3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 66)) +>y3 : Symbol(y3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 73)) +>z3 : Symbol(z3, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 9, 80)) + +let {x4} = { x4: undefined }, {y4} = { y4: null }; // no error +>x4 : Symbol(x4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 10, 5)) +>x4 : Symbol(x4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 10, 12)) +>undefined : Symbol(undefined) +>y4 : Symbol(y4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 10, 36)) +>y4 : Symbol(y4, Decl(noImplicitAnyDestructuringVarDeclaration2.ts, 10, 43)) + diff --git a/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.types b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.types new file mode 100644 index 00000000000..c494d0795dd --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyDestructuringVarDeclaration2.types @@ -0,0 +1,137 @@ +=== tests/cases/compiler/noImplicitAnyDestructuringVarDeclaration2.ts === +let [a, b, c] = [1, 2, 3]; // no error +>a : number +>b : number +>c : number +>[1, 2, 3] : [number, number, number] +>1 : 1 +>2 : 2 +>3 : 3 + +let [a1 = 10, b1 = 10, c1 = 10] = [1, 2, 3]; // no error +>a1 : number +>10 : 10 +>b1 : number +>10 : 10 +>c1 : number +>10 : 10 +>[1, 2, 3] : [number, number, number] +>1 : 1 +>2 : 2 +>3 : 3 + +let [a2 = undefined, b2 = undefined, c2 = undefined] = [1, 2, 3]; // no error +>a2 : number +>undefined : undefined +>b2 : number +>undefined : undefined +>c2 : number +>undefined : undefined +>[1, 2, 3] : [number, number, number] +>1 : 1 +>2 : 2 +>3 : 3 + +let [a3 = undefined, b3 = null, c3 = undefined] = [1, 2, 3]; // no error +>a3 : any +>undefined : any +>undefined : undefined +>b3 : any +>null : any +>null : null +>c3 : any +>undefined : any +>undefined : undefined +>[1, 2, 3] : [number, number, number] +>1 : 1 +>2 : 2 +>3 : 3 + +let [a4] = [undefined], [b4] = [null], c4 = undefined, d4 = null; // no error +>a4 : any +>[undefined] : [any] +>undefined : any +>undefined : undefined +>b4 : any +>[null] : [any] +>null : any +>null : null +>c4 : any +>undefined : any +>undefined : undefined +>d4 : any +>null : any +>null : null + +let {x, y, z} = { x: 1, y: 2, z: 3 }; // no error +>x : number +>y : number +>z : number +>{ x: 1, y: 2, z: 3 } : { x: number; y: number; z: number; } +>x : number +>1 : 1 +>y : number +>2 : 2 +>z : number +>3 : 3 + +let {x1 = 10, y1 = 10, z1 = 10} = { x1: 1, y1: 2, z1: 3 }; // no error +>x1 : number +>10 : 10 +>y1 : number +>10 : 10 +>z1 : number +>10 : 10 +>{ x1: 1, y1: 2, z1: 3 } : { x1?: number; y1?: number; z1?: number; } +>x1 : number +>1 : 1 +>y1 : number +>2 : 2 +>z1 : number +>3 : 3 + +let {x2 = undefined, y2 = undefined, z2 = undefined} = { x2: 1, y2: 2, z2: 3 }; // no error +>x2 : number +>undefined : undefined +>y2 : number +>undefined : undefined +>z2 : number +>undefined : undefined +>{ x2: 1, y2: 2, z2: 3 } : { x2?: number; y2?: number; z2?: number; } +>x2 : number +>1 : 1 +>y2 : number +>2 : 2 +>z2 : number +>3 : 3 + +let {x3 = undefined, y3 = null, z3 = undefined} = { x3: 1, y3: 2, z3: 3 }; // no error +>x3 : any +>undefined : any +>undefined : undefined +>y3 : any +>null : any +>null : null +>z3 : any +>undefined : any +>undefined : undefined +>{ x3: 1, y3: 2, z3: 3 } : { x3?: number; y3?: number; z3?: number; } +>x3 : number +>1 : 1 +>y3 : number +>2 : 2 +>z3 : number +>3 : 3 + +let {x4} = { x4: undefined }, {y4} = { y4: null }; // no error +>x4 : any +>{ x4: undefined } : { x4: any; } +>x4 : any +>undefined : any +>undefined : undefined +>y4 : any +>{ y4: null } : { y4: any; } +>y4 : any +>null : any +>null : null + diff --git a/tests/baselines/reference/noImplicitAnyInCastExpression.js b/tests/baselines/reference/noImplicitAnyInCastExpression.js index 1b7cc59c7c0..b0a6907a5b4 100644 --- a/tests/baselines/reference/noImplicitAnyInCastExpression.js +++ b/tests/baselines/reference/noImplicitAnyInCastExpression.js @@ -19,8 +19,8 @@ interface IFoo { //// [noImplicitAnyInCastExpression.js] // verify no noImplictAny errors reported with cast expression // Expr type not assignable to target type -{ a: null }; +({ a: null }); // Expr type assignable to target type -{ a: 2, b: undefined }; +({ a: 2, b: undefined }); // Neither types is assignable to each other -{ c: null }; +({ c: null }); diff --git a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types index afe2ff7bd22..928185a0953 100644 --- a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types +++ b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types @@ -3,8 +3,8 @@ var regexMatchList = ['', '']; >regexMatchList : string[] >['', ''] : string[] ->'' : string ->'' : string +>'' : "" +>'' : "" regexMatchList.forEach(match => ''.replace(match, '')); >regexMatchList.forEach(match => ''.replace(match, '')) : void @@ -15,8 +15,8 @@ regexMatchList.forEach(match => ''.replace(match, '')); >match : string >''.replace(match, '') : string >''.replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } ->'' : string +>'' : "" >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } >match : string ->'' : string +>'' : "" diff --git a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types index d82b37e0f9e..6bb0c04fbb0 100644 --- a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types +++ b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types @@ -12,7 +12,7 @@ var strRepresentation1 = MyEmusEnum[0] >strRepresentation1 : string >MyEmusEnum[0] : string >MyEmusEnum : typeof MyEmusEnum ->0 : number +>0 : 0 // Should be okay; should be a string. var strRepresentation2 = MyEmusEnum[MyEmusEnum.emu] @@ -28,14 +28,14 @@ var strRepresentation3 = MyEmusEnum["monehh"]; >strRepresentation3 : any >MyEmusEnum["monehh"] : any >MyEmusEnum : typeof MyEmusEnum ->"monehh" : string +>"monehh" : "monehh" // Should be okay; should be a MyEmusEnum var strRepresentation4 = MyEmusEnum["emu"]; >strRepresentation4 : MyEmusEnum >MyEmusEnum["emu"] : MyEmusEnum >MyEmusEnum : typeof MyEmusEnum ->"emu" : string +>"emu" : "emu" // Should be okay, as we suppress implicit 'any' property access checks @@ -43,18 +43,18 @@ var x = {}["hi"]; >x : any >{}["hi"] : any >{} : {} ->"hi" : string +>"hi" : "hi" // Should be okay, as we suppress implicit 'any' property access checks var y = {}[10]; >y : any >{}[10] : any >{} : {} ->10 : number +>10 : 10 var hi: any = "hi"; >hi : any ->"hi" : string +>"hi" : "hi" var emptyObj = {}; >emptyObj : {} @@ -90,13 +90,13 @@ var m: MyMap = { >{ "0": 0, "1": 1, "2": 2, "Okay that's enough for today.": NaN} : { "0": number; "1": number; "2": number; "Okay that's enough for today.": number; } "0": 0, ->0 : number +>0 : 0 "1": 1, ->1 : number +>1 : 1 "2": 2, ->2 : number +>2 : 2 "Okay that's enough for today.": NaN >NaN : number diff --git a/tests/baselines/reference/noImplicitAnyMissingGetAccessor.errors.txt b/tests/baselines/reference/noImplicitAnyMissingGetAccessor.errors.txt new file mode 100644 index 00000000000..ef2a273711f --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyMissingGetAccessor.errors.txt @@ -0,0 +1,27 @@ +tests/cases/compiler/noImplicitAnyMissingGetAccessor.ts(4,25): error TS7032: Property 'message' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +tests/cases/compiler/noImplicitAnyMissingGetAccessor.ts(4,33): error TS7006: Parameter 'str' implicitly has an 'any' type. +tests/cases/compiler/noImplicitAnyMissingGetAccessor.ts(9,16): error TS7032: Property 'message' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +tests/cases/compiler/noImplicitAnyMissingGetAccessor.ts(9,24): error TS7006: Parameter 'str' implicitly has an 'any' type. + + +==== tests/cases/compiler/noImplicitAnyMissingGetAccessor.ts (4 errors) ==== + + abstract class Parent + { + public abstract set message(str); + ~~~~~~~ +!!! error TS7032: Property 'message' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~ +!!! error TS7006: Parameter 'str' implicitly has an 'any' type. + } + + class Child extends Parent { + _x: any; + public set message(str) { + ~~~~~~~ +!!! error TS7032: Property 'message' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~ +!!! error TS7006: Parameter 'str' implicitly has an 'any' type. + this._x = str; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyMissingGetAccessor.js b/tests/baselines/reference/noImplicitAnyMissingGetAccessor.js new file mode 100644 index 00000000000..69d98d4b0c6 --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyMissingGetAccessor.js @@ -0,0 +1,39 @@ +//// [noImplicitAnyMissingGetAccessor.ts] + +abstract class Parent +{ + public abstract set message(str); +} + +class Child extends Parent { + _x: any; + public set message(str) { + this._x = str; + } +} + +//// [noImplicitAnyMissingGetAccessor.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Parent = (function () { + function Parent() { + } + return Parent; +}()); +var Child = (function (_super) { + __extends(Child, _super); + function Child() { + _super.apply(this, arguments); + } + Object.defineProperty(Child.prototype, "message", { + set: function (str) { + this._x = str; + }, + enumerable: true, + configurable: true + }); + return Child; +}(Parent)); diff --git a/tests/baselines/reference/noImplicitAnyMissingSetAccessor.errors.txt b/tests/baselines/reference/noImplicitAnyMissingSetAccessor.errors.txt new file mode 100644 index 00000000000..ba104209189 --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyMissingSetAccessor.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/noImplicitAnyMissingSetAccessor.ts(4,25): error TS7033: Property 'message' implicitly has type 'any', because its get accessor lacks a return type annotation. + + +==== tests/cases/compiler/noImplicitAnyMissingSetAccessor.ts (1 errors) ==== + + abstract class Parent + { + public abstract get message(); + ~~~~~~~ +!!! error TS7033: Property 'message' implicitly has type 'any', because its get accessor lacks a return type annotation. + } + + class Child extends Parent { + public get message() { + return ""; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyMissingSetAccessor.js b/tests/baselines/reference/noImplicitAnyMissingSetAccessor.js new file mode 100644 index 00000000000..7ad703fd3b7 --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyMissingSetAccessor.js @@ -0,0 +1,38 @@ +//// [noImplicitAnyMissingSetAccessor.ts] + +abstract class Parent +{ + public abstract get message(); +} + +class Child extends Parent { + public get message() { + return ""; + } +} + +//// [noImplicitAnyMissingSetAccessor.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Parent = (function () { + function Parent() { + } + return Parent; +}()); +var Child = (function (_super) { + __extends(Child, _super); + function Child() { + _super.apply(this, arguments); + } + Object.defineProperty(Child.prototype, "message", { + get: function () { + return ""; + }, + enumerable: true, + configurable: true + }); + return Child; +}(Parent)); diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index 23f0892f30e..19da8fdfaf4 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -3,12 +3,12 @@ async function test(isError: boolean = false) { >test : (isError?: boolean) => Promise >isError : boolean ->false : boolean +>false : false if (isError === true) { >isError === true : boolean >isError : boolean ->true : boolean +>true : true return; } @@ -19,5 +19,5 @@ async function test(isError: boolean = false) { >Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } >Promise : PromiseConstructor >resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->"The test is passed without an error." : string +>"The test is passed without an error." : "The test is passed without an error." } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types index 90db4fb42e1..87214276b7c 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types @@ -18,6 +18,6 @@ function main1() : number { log("in finally"); >log("in finally") : void >log : (s: string) => void ->"in finally" : string +>"in finally" : "in finally" } } diff --git a/tests/baselines/reference/noImplicitUseStrict_amd.types b/tests/baselines/reference/noImplicitUseStrict_amd.types index c9e1b5749dc..5eec5bf57af 100644 --- a/tests/baselines/reference/noImplicitUseStrict_amd.types +++ b/tests/baselines/reference/noImplicitUseStrict_amd.types @@ -2,5 +2,5 @@ export var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/noImplicitUseStrict_commonjs.types b/tests/baselines/reference/noImplicitUseStrict_commonjs.types index 9999d3b94ba..ad7ed27dfe6 100644 --- a/tests/baselines/reference/noImplicitUseStrict_commonjs.types +++ b/tests/baselines/reference/noImplicitUseStrict_commonjs.types @@ -2,5 +2,5 @@ export var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/noImplicitUseStrict_es6.types b/tests/baselines/reference/noImplicitUseStrict_es6.types index 838c7316be0..38a83033ff7 100644 --- a/tests/baselines/reference/noImplicitUseStrict_es6.types +++ b/tests/baselines/reference/noImplicitUseStrict_es6.types @@ -2,5 +2,5 @@ export var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/noImplicitUseStrict_system.js b/tests/baselines/reference/noImplicitUseStrict_system.js index cf5a7e1b261..f1100e20fd7 100644 --- a/tests/baselines/reference/noImplicitUseStrict_system.js +++ b/tests/baselines/reference/noImplicitUseStrict_system.js @@ -3,13 +3,13 @@ export var x = 0; //// [noImplicitUseStrict_system.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = 0); } - } + }; }); diff --git a/tests/baselines/reference/noImplicitUseStrict_system.types b/tests/baselines/reference/noImplicitUseStrict_system.types index 1da563f938b..66246719284 100644 --- a/tests/baselines/reference/noImplicitUseStrict_system.types +++ b/tests/baselines/reference/noImplicitUseStrict_system.types @@ -2,5 +2,5 @@ export var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/noImplicitUseStrict_umd.js b/tests/baselines/reference/noImplicitUseStrict_umd.js index ca252daeb9d..566c3bbe0b6 100644 --- a/tests/baselines/reference/noImplicitUseStrict_umd.js +++ b/tests/baselines/reference/noImplicitUseStrict_umd.js @@ -3,13 +3,13 @@ export var x = 0; //// [noImplicitUseStrict_umd.js] -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports"], function (require, exports) { exports.x = 0; }); diff --git a/tests/baselines/reference/noImplicitUseStrict_umd.types b/tests/baselines/reference/noImplicitUseStrict_umd.types index 6a3fd6ece77..102f21c238b 100644 --- a/tests/baselines/reference/noImplicitUseStrict_umd.types +++ b/tests/baselines/reference/noImplicitUseStrict_umd.types @@ -2,5 +2,5 @@ export var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/noReachabilityErrorsOnEmptyStatement.types b/tests/baselines/reference/noReachabilityErrorsOnEmptyStatement.types index e90fa04699b..c971741c5f1 100644 --- a/tests/baselines/reference/noReachabilityErrorsOnEmptyStatement.types +++ b/tests/baselines/reference/noReachabilityErrorsOnEmptyStatement.types @@ -3,5 +3,5 @@ function foo() { >foo : () => number return 1;; ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/nodeResolution1.types b/tests/baselines/reference/nodeResolution1.types index 4f29acfcc03..cd4feb3aba8 100644 --- a/tests/baselines/reference/nodeResolution1.types +++ b/tests/baselines/reference/nodeResolution1.types @@ -6,5 +6,5 @@ import y = require("./a"); export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/nodeResolution4.types b/tests/baselines/reference/nodeResolution4.types index b273b203bde..f52f28df25a 100644 --- a/tests/baselines/reference/nodeResolution4.types +++ b/tests/baselines/reference/nodeResolution4.types @@ -6,7 +6,7 @@ import y = require("./a"); var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/a.ts === /// diff --git a/tests/baselines/reference/nodeResolution6.types b/tests/baselines/reference/nodeResolution6.types index 13c5d6d9276..9e685e8c493 100644 --- a/tests/baselines/reference/nodeResolution6.types +++ b/tests/baselines/reference/nodeResolution6.types @@ -6,7 +6,7 @@ import y = require("a"); var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/node_modules/a.d.ts === /// diff --git a/tests/baselines/reference/nodeResolution8.types b/tests/baselines/reference/nodeResolution8.types index cced0d3008d..757af64a0ef 100644 --- a/tests/baselines/reference/nodeResolution8.types +++ b/tests/baselines/reference/nodeResolution8.types @@ -6,7 +6,7 @@ import y = require("a"); var x = 1; >x : number ->1 : number +>1 : 1 === tests/cases/compiler/node_modules/a/index.d.ts === /// diff --git a/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols b/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols index 2d921f6631c..43d7539b6b9 100644 --- a/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols +++ b/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols @@ -28,8 +28,8 @@ var e: Ellement; >Ellement : Symbol(Ellement, Decl(nonContextuallyTypedLogicalOr.ts, 3, 1)) (c || e).dummy; ->(c || e).dummy : Symbol(dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22), Decl(nonContextuallyTypedLogicalOr.ts, 5, 20)) +>(c || e).dummy : Symbol(Contextual.dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22)) >c : Symbol(c, Decl(nonContextuallyTypedLogicalOr.ts, 10, 3)) >e : Symbol(e, Decl(nonContextuallyTypedLogicalOr.ts, 11, 3)) ->dummy : Symbol(dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22), Decl(nonContextuallyTypedLogicalOr.ts, 5, 20)) +>dummy : Symbol(Contextual.dummy, Decl(nonContextuallyTypedLogicalOr.ts, 0, 22)) diff --git a/tests/baselines/reference/nonContextuallyTypedLogicalOr.types b/tests/baselines/reference/nonContextuallyTypedLogicalOr.types index aeb9d1409c6..5061ad1d975 100644 --- a/tests/baselines/reference/nonContextuallyTypedLogicalOr.types +++ b/tests/baselines/reference/nonContextuallyTypedLogicalOr.types @@ -29,8 +29,8 @@ var e: Ellement; (c || e).dummy; >(c || e).dummy : any ->(c || e) : Contextual | Ellement ->c || e : Contextual | Ellement +>(c || e) : Contextual +>c || e : Contextual >c : Contextual >e : Ellement >dummy : any diff --git a/tests/baselines/reference/nonInstantiatedModule.types b/tests/baselines/reference/nonInstantiatedModule.types index c1aac2824dc..97231a5e2c6 100644 --- a/tests/baselines/reference/nonInstantiatedModule.types +++ b/tests/baselines/reference/nonInstantiatedModule.types @@ -9,7 +9,7 @@ module M { export var a = 1; >a : number ->1 : number +>1 : 1 } // primary expression @@ -52,9 +52,9 @@ module M2 { return { x: 0, y: 0 }; >{ x: 0, y: 0 } : { x: number; y: number; } >x : number ->0 : number +>0 : 0 >y : number ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/nonIterableRestElement1.types b/tests/baselines/reference/nonIterableRestElement1.types index a15fe5afd38..c226eb04138 100644 --- a/tests/baselines/reference/nonIterableRestElement1.types +++ b/tests/baselines/reference/nonIterableRestElement1.types @@ -9,6 +9,6 @@ var c = {}; >...c : any >c : {} >["", 0] : (string | number)[] ->"" : string ->0 : number +>"" : "" +>0 : 0 diff --git a/tests/baselines/reference/nonIterableRestElement2.types b/tests/baselines/reference/nonIterableRestElement2.types index c39a592d2e6..af99cc04655 100644 --- a/tests/baselines/reference/nonIterableRestElement2.types +++ b/tests/baselines/reference/nonIterableRestElement2.types @@ -9,6 +9,6 @@ var c = {}; >...c : any >c : {} >["", 0] : (string | number)[] ->"" : string ->0 : number +>"" : "" +>0 : 0 diff --git a/tests/baselines/reference/null.types b/tests/baselines/reference/null.types index 6fd8b423f13..35c084c3cbf 100644 --- a/tests/baselines/reference/null.types +++ b/tests/baselines/reference/null.types @@ -7,13 +7,13 @@ var x=null; var y=3+x; >y : any >3+x : any ->3 : number +>3 : 3 >x : any var z=3+null; >z : number >3+null : number ->3 : number +>3 : 3 >null : null class C { @@ -36,7 +36,7 @@ function g() { >null : null return 3; ->3 : number +>3 : 3 } interface I { >I : I @@ -54,7 +54,7 @@ var w:I={x:null,y:3}; >x : null >null : null >y : number ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types index 42243076e9f..a65baab4442 100644 --- a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types +++ b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.types @@ -4,14 +4,14 @@ var r0 = true ? null : null; >r0 : any >true ? null : null : null ->true : boolean +>true : true >null : null >null : null var r0 = true ? null : null; >r0 : any >true ? null : null : null ->true : boolean +>true : true >null : null >null : null @@ -22,63 +22,63 @@ var u: typeof undefined; var r0b = true ? u : null; >r0b : any >true ? u : null : any ->true : boolean +>true : true >u : any >null : null var r0b = true ? null : u; >r0b : any >true ? null : u : any ->true : boolean +>true : true >null : null >u : any var r1 = true ? 1 : null; >r1 : number ->true ? 1 : null : number ->true : boolean ->1 : number +>true ? 1 : null : 1 +>true : true +>1 : 1 >null : null var r1 = true ? null : 1; >r1 : number ->true ? null : 1 : number ->true : boolean +>true ? null : 1 : 1 +>true : true >null : null ->1 : number +>1 : 1 var r2 = true ? '' : null; >r2 : string ->true ? '' : null : string ->true : boolean ->'' : string +>true ? '' : null : "" +>true : true +>'' : "" >null : null var r2 = true ? null : ''; >r2 : string ->true ? null : '' : string ->true : boolean +>true ? null : '' : "" +>true : true >null : null ->'' : string +>'' : "" var r3 = true ? true : null; >r3 : boolean ->true ? true : null : boolean ->true : boolean ->true : boolean +>true ? true : null : true +>true : true +>true : true >null : null var r3 = true ? null : true; >r3 : boolean ->true ? null : true : boolean ->true : boolean +>true ? null : true : true +>true : true >null : null ->true : boolean +>true : true var r4 = true ? new Date() : null; >r4 : Date >true ? new Date() : null : Date ->true : boolean +>true : true >new Date() : Date >Date : DateConstructor >null : null @@ -86,7 +86,7 @@ var r4 = true ? new Date() : null; var r4 = true ? null : new Date(); >r4 : Date >true ? null : new Date() : Date ->true : boolean +>true : true >null : null >new Date() : Date >Date : DateConstructor @@ -94,53 +94,53 @@ var r4 = true ? null : new Date(); var r5 = true ? /1/ : null; >r5 : RegExp >true ? /1/ : null : RegExp ->true : boolean +>true : true >/1/ : RegExp >null : null var r5 = true ? null : /1/; >r5 : RegExp >true ? null : /1/ : RegExp ->true : boolean +>true : true >null : null >/1/ : RegExp var r6 = true ? { foo: 1 } : null; >r6 : { foo: number; } >true ? { foo: 1 } : null : { foo: number; } ->true : boolean +>true : true >{ foo: 1 } : { foo: number; } >foo : number ->1 : number +>1 : 1 >null : null var r6 = true ? null : { foo: 1 }; >r6 : { foo: number; } >true ? null : { foo: 1 } : { foo: number; } ->true : boolean +>true : true >null : null >{ foo: 1 } : { foo: number; } >foo : number ->1 : number +>1 : 1 var r7 = true ? () => { } : null; >r7 : () => void >true ? () => { } : null : () => void ->true : boolean +>true : true >() => { } : () => void >null : null var r7 = true ? null : () => { }; >r7 : () => void >true ? null : () => { } : () => void ->true : boolean +>true : true >null : null >() => { } : () => void var r8 = true ? (x: T) => { return x } : null; >r8 : (x: T) => T >true ? (x: T) => { return x } : null : (x: T) => T ->true : boolean +>true : true >(x: T) => { return x } : (x: T) => T >T : T >x : T @@ -151,7 +151,7 @@ var r8 = true ? (x: T) => { return x } : null; var r8b = true ? null : (x: T) => { return x }; // type parameters not identical across declarations >r8b : (x: T) => T >true ? null : (x: T) => { return x } : (x: T) => T ->true : boolean +>true : true >null : null >(x: T) => { return x } : (x: T) => T >T : T @@ -170,14 +170,14 @@ var i1: I1; var r9 = true ? i1 : null; >r9 : I1 >true ? i1 : null : I1 ->true : boolean +>true : true >i1 : I1 >null : null var r9 = true ? null : i1; >r9 : I1 >true ? null : i1 : I1 ->true : boolean +>true : true >null : null >i1 : I1 @@ -192,14 +192,14 @@ var c1: C1; var r10 = true ? c1 : null; >r10 : C1 >true ? c1 : null : C1 ->true : boolean +>true : true >c1 : C1 >null : null var r10 = true ? null : c1; >r10 : C1 >true ? null : c1 : C1 ->true : boolean +>true : true >null : null >c1 : C1 @@ -216,14 +216,14 @@ var c2: C2; var r12 = true ? c2 : null; >r12 : C2 >true ? c2 : null : C2 ->true : boolean +>true : true >c2 : C2 >null : null var r12 = true ? null : c2; >r12 : C2 >true ? null : c2 : C2 ->true : boolean +>true : true >null : null >c2 : C2 @@ -234,21 +234,21 @@ enum E { A } var r13 = true ? E : null; >r13 : typeof E >true ? E : null : typeof E ->true : boolean +>true : true >E : typeof E >null : null var r13 = true ? null : E; >r13 : typeof E >true ? null : E : typeof E ->true : boolean +>true : true >null : null >E : typeof E var r14 = true ? E.A : null; >r14 : E >true ? E.A : null : E ->true : boolean +>true : true >E.A : E >E : typeof E >A : E @@ -257,7 +257,7 @@ var r14 = true ? E.A : null; var r14 = true ? null : E.A; >r14 : E >true ? null : E.A : E ->true : boolean +>true : true >null : null >E.A : E >E : typeof E @@ -271,7 +271,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } var af: typeof f; >af : typeof f @@ -280,14 +280,14 @@ var af: typeof f; var r15 = true ? af : null; >r15 : typeof f >true ? af : null : typeof f ->true : boolean +>true : true >af : typeof f >null : null var r15 = true ? null : af; >r15 : typeof f >true ? null : af : typeof f ->true : boolean +>true : true >null : null >af : typeof f @@ -300,7 +300,7 @@ module c { export var bar = 1; >bar : number ->1 : number +>1 : 1 } var ac: typeof c; >ac : typeof c @@ -309,14 +309,14 @@ var ac: typeof c; var r16 = true ? ac : null; >r16 : typeof c >true ? ac : null : typeof c ->true : boolean +>true : true >ac : typeof c >null : null var r16 = true ? null : ac; >r16 : typeof c >true ? null : ac : typeof c ->true : boolean +>true : true >null : null >ac : typeof c @@ -329,14 +329,14 @@ function f17(x: T) { var r17 = true ? x : null; >r17 : T >true ? x : null : T ->true : boolean +>true : true >x : T >null : null var r17 = true ? null : x; >r17 : T >true ? null : x : T ->true : boolean +>true : true >null : null >x : T } @@ -351,14 +351,14 @@ function f18(x: U) { var r18 = true ? x : null; >r18 : U >true ? x : null : U ->true : boolean +>true : true >x : U >null : null var r18 = true ? null : x; >r18 : U >true ? null : x : U ->true : boolean +>true : true >null : null >x : U } @@ -370,7 +370,7 @@ function f18(x: U) { var r19 = true ? new Object() : null; >r19 : Object >true ? new Object() : null : Object ->true : boolean +>true : true >new Object() : Object >Object : ObjectConstructor >null : null @@ -378,7 +378,7 @@ var r19 = true ? new Object() : null; var r19 = true ? null : new Object(); >r19 : Object >true ? null : new Object() : Object ->true : boolean +>true : true >null : null >new Object() : Object >Object : ObjectConstructor @@ -386,14 +386,14 @@ var r19 = true ? null : new Object(); var r20 = true ? {} : null; >r20 : {} >true ? {} : null : {} ->true : boolean +>true : true >{} : {} >null : null var r20 = true ? null : {}; >r20 : {} >true ? null : {} : {} ->true : boolean +>true : true >null : null >{} : {} diff --git a/tests/baselines/reference/nullOrUndefinedTypeGuardIsOrderIndependent.types b/tests/baselines/reference/nullOrUndefinedTypeGuardIsOrderIndependent.types index f599366e66e..4d5f6d11538 100644 --- a/tests/baselines/reference/nullOrUndefinedTypeGuardIsOrderIndependent.types +++ b/tests/baselines/reference/nullOrUndefinedTypeGuardIsOrderIndependent.types @@ -7,7 +7,7 @@ function test(strOrNull: string | null, strOrUndefined: string | undefined) { var str: string = "original"; >str : string ->"original" : string +>"original" : "original" var nil: null; >nil : null diff --git a/tests/baselines/reference/numberAsInLHS.types b/tests/baselines/reference/numberAsInLHS.types index 848f937c618..af2541bffe7 100644 --- a/tests/baselines/reference/numberAsInLHS.types +++ b/tests/baselines/reference/numberAsInLHS.types @@ -1,8 +1,8 @@ === tests/cases/compiler/numberAsInLHS.ts === 3 in [0, 1] >3 in [0, 1] : boolean ->3 : number +>3 : 3 >[0, 1] : number[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/numberPropertyAccess.types b/tests/baselines/reference/numberPropertyAccess.types index b7f5479ed79..e7ffcbc246d 100644 --- a/tests/baselines/reference/numberPropertyAccess.types +++ b/tests/baselines/reference/numberPropertyAccess.types @@ -1,7 +1,7 @@ === tests/cases/conformance/types/primitives/number/numberPropertyAccess.ts === var x = 1; >x : number ->1 : number +>1 : 1 var a = x.toExponential(); >a : string @@ -16,20 +16,20 @@ var b = x.hasOwnProperty('toFixed'); >x.hasOwnProperty : (v: string) => boolean >x : number >hasOwnProperty : (v: string) => boolean ->'toFixed' : string +>'toFixed' : "toFixed" var c = x['toExponential'](); >c : string >x['toExponential']() : string >x['toExponential'] : (fractionDigits?: number) => string >x : number ->'toExponential' : string +>'toExponential' : "toExponential" var d = x['hasOwnProperty']('toFixed'); >d : boolean >x['hasOwnProperty']('toFixed') : boolean >x['hasOwnProperty'] : (v: string) => boolean >x : number ->'hasOwnProperty' : string ->'toFixed' : string +>'hasOwnProperty' : "hasOwnProperty" +>'toFixed' : "toFixed" diff --git a/tests/baselines/reference/numberToString.errors.txt b/tests/baselines/reference/numberToString.errors.txt index 07cc9009a67..60a382e47c3 100644 --- a/tests/baselines/reference/numberToString.errors.txt +++ b/tests/baselines/reference/numberToString.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/numberToString.ts(2,12): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/numberToString.ts(9,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/numberToString.ts(9,4): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/numberToString.ts (2 errors) ==== @@ -15,6 +15,6 @@ tests/cases/compiler/numberToString.ts(9,4): error TS2345: Argument of type 'num f1(3); f2(3); // error no coercion to string ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. f2(3+""); // ok + operator promotes \ No newline at end of file diff --git a/tests/baselines/reference/numericIndexExpressions.errors.txt b/tests/baselines/reference/numericIndexExpressions.errors.txt index 2c3b8d76796..da0993ffee3 100644 --- a/tests/baselines/reference/numericIndexExpressions.errors.txt +++ b/tests/baselines/reference/numericIndexExpressions.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/numericIndexExpressions.ts(10,1): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/numericIndexExpressions.ts(11,1): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/numericIndexExpressions.ts(14,1): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/numericIndexExpressions.ts(15,1): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/numericIndexExpressions.ts(10,1): error TS2322: Type '4' is not assignable to type 'string'. +tests/cases/compiler/numericIndexExpressions.ts(11,1): error TS2322: Type '4' is not assignable to type 'string'. +tests/cases/compiler/numericIndexExpressions.ts(14,1): error TS2322: Type '4' is not assignable to type 'string'. +tests/cases/compiler/numericIndexExpressions.ts(15,1): error TS2322: Type '4' is not assignable to type 'string'. ==== tests/cases/compiler/numericIndexExpressions.ts (4 errors) ==== @@ -16,15 +16,15 @@ tests/cases/compiler/numericIndexExpressions.ts(15,1): error TS2322: Type 'numbe var x: Numbers1; x[1] = 4; // error ~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '4' is not assignable to type 'string'. x['1'] = 4; // error ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '4' is not assignable to type 'string'. var y: Strings1; y['1'] = 4; // should be error ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '4' is not assignable to type 'string'. y[1] = 4; // should be error ~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2322: Type '4' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/numericIndexingResults.types b/tests/baselines/reference/numericIndexingResults.types index 9a060b388e3..8d25a44eab0 100644 --- a/tests/baselines/reference/numericIndexingResults.types +++ b/tests/baselines/reference/numericIndexingResults.types @@ -6,10 +6,10 @@ class C { >x : number 1 = ''; ->'' : string +>'' : "" "2" = '' ->'' : string +>'' : "" } var c: C; @@ -20,37 +20,37 @@ var r1 = c['1']; >r1 : string >c['1'] : string >c : C ->'1' : string +>'1' : "1" var r2 = c['2']; >r2 : string >c['2'] : string >c : C ->'2' : string +>'2' : "2" var r3 = c['3']; >r3 : any >c['3'] : any >c : C ->'3' : string +>'3' : "3" var r4 = c[1]; >r4 : string >c[1] : string >c : C ->1 : number +>1 : 1 var r5 = c[2]; >r5 : string >c[2] : string >c : C ->2 : number +>2 : 2 var r6 = c[3]; >r6 : string >c[3] : string >c : C ->3 : number +>3 : 3 interface I { >I : I @@ -70,37 +70,37 @@ var r1 = i['1']; >r1 : string >i['1'] : string >i : I ->'1' : string +>'1' : "1" var r2 = i['2']; >r2 : string >i['2'] : string >i : I ->'2' : string +>'2' : "2" var r3 = i['3']; >r3 : any >i['3'] : any >i : I ->'3' : string +>'3' : "3" var r4 = i[1]; >r4 : string >i[1] : string >i : I ->1 : number +>1 : 1 var r5 = i[2]; >r5 : string >i[2] : string >i : I ->2 : number +>2 : 2 var r6 = i[3]; >r6 : string >i[3] : string >i : I ->3 : number +>3 : 3 var a: { >a : { [x: number]: string; 1: string; "2": string; } @@ -116,121 +116,121 @@ var r1 = a['1']; >r1 : string >a['1'] : string >a : { [x: number]: string; 1: string; "2": string; } ->'1' : string +>'1' : "1" var r2 = a['2']; >r2 : string >a['2'] : string >a : { [x: number]: string; 1: string; "2": string; } ->'2' : string +>'2' : "2" var r3 = a['3']; >r3 : any >a['3'] : any >a : { [x: number]: string; 1: string; "2": string; } ->'3' : string +>'3' : "3" var r4 = a[1]; >r4 : string >a[1] : string >a : { [x: number]: string; 1: string; "2": string; } ->1 : number +>1 : 1 var r5 = a[2]; >r5 : string >a[2] : string >a : { [x: number]: string; 1: string; "2": string; } ->2 : number +>2 : 2 var r6 = a[3]; >r6 : string >a[3] : string >a : { [x: number]: string; 1: string; "2": string; } ->3 : number +>3 : 3 var b: { [x: number]: string } = { 1: '', "2": '' } >b : { [x: number]: string; } >x : number >{ 1: '', "2": '' } : { 1: string; "2": string; } ->'' : string ->'' : string +>'' : "" +>'' : "" var r1a = b['1']; >r1a : any >b['1'] : any >b : { [x: number]: string; } ->'1' : string +>'1' : "1" var r2a = b['2']; >r2a : any >b['2'] : any >b : { [x: number]: string; } ->'2' : string +>'2' : "2" var r3 = b['3']; >r3 : any >b['3'] : any >b : { [x: number]: string; } ->'3' : string +>'3' : "3" var r4 = b[1]; >r4 : string >b[1] : string >b : { [x: number]: string; } ->1 : number +>1 : 1 var r5 = b[2]; >r5 : string >b[2] : string >b : { [x: number]: string; } ->2 : number +>2 : 2 var r6 = b[3]; >r6 : string >b[3] : string >b : { [x: number]: string; } ->3 : number +>3 : 3 var b2: { [x: number]: string; 1: string; "2": string; } = { 1: '', "2": '' } >b2 : { [x: number]: string; 1: string; "2": string; } >x : number >{ 1: '', "2": '' } : { 1: string; "2": string; } ->'' : string ->'' : string +>'' : "" +>'' : "" var r1b = b2['1']; >r1b : string >b2['1'] : string >b2 : { [x: number]: string; 1: string; "2": string; } ->'1' : string +>'1' : "1" var r2b = b2['2']; >r2b : string >b2['2'] : string >b2 : { [x: number]: string; 1: string; "2": string; } ->'2' : string +>'2' : "2" var r3 = b2['3']; >r3 : any >b2['3'] : any >b2 : { [x: number]: string; 1: string; "2": string; } ->'3' : string +>'3' : "3" var r4 = b2[1]; >r4 : string >b2[1] : string >b2 : { [x: number]: string; 1: string; "2": string; } ->1 : number +>1 : 1 var r5 = b2[2]; >r5 : string >b2[2] : string >b2 : { [x: number]: string; 1: string; "2": string; } ->2 : number +>2 : 2 var r6 = b2[3]; >r6 : string >b2[3] : string >b2 : { [x: number]: string; 1: string; "2": string; } ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/numericLiteralTypes1.js b/tests/baselines/reference/numericLiteralTypes1.js new file mode 100644 index 00000000000..17c24d872ef --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes1.js @@ -0,0 +1,247 @@ +//// [numericLiteralTypes1.ts] +type A1 = 1; +type A2 = 1.0; +type A3 = 1e0; +type A4 = 10e-1; +type A5 = 1 | 1.0 | 1e0 | 10e-1; + +function f1() { + var a: A1 = 1; + var a: A2 = 1; + var a: A3 = 1; + var a: A4 = 1; + var a: A5 = 1; +} + +type B1 = -1 | 0 | 1; +type B2 = 1 | 0 | -1; +type B3 = 0 | -1 | 1; + +function f2() { + var b: B1 = -1; + var b: B2 = 0; + var b: B3 = 1; +} + +function f3(a: 1, b: 0 | 1 | 2) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} + +function f4(a: 1, b: 0 | 1 | 2) { + a++; + b++; +} + +declare function g(x: 0): string; +declare function g(x: 1): boolean; +declare function g(x: number): number; + +function f5(a: 1, b: 0 | 1 | 2) { + var z1 = g(0); + var z2 = g(1); + var z3 = g(2); + var z4 = g(a); + var z5 = g(b); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +type Tag = 0 | 1 | 2; + +function f10(x: Tag) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} + +function f11(x: Tag) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +} + +function f12(x: Tag) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: Tag) { + if (x === 0 || x === 2) { + x; + } + else { + x; + } +} + +function f14(x: 0 | 1 | 2, y: string) { + var a = x && y; + var b = x || y; +} + +function f15(x: 0 | false, y: 1 | "one") { + var a = x && y; + var b = y && x; + var c = x || y; + var d = y || x; + var e = !x; + var f = !y; +} + +type Item = + { kind: 0, a: string } | + { kind: 1, b: string } | + { kind: 2, c: string }; + +function f20(x: Item) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } +} + +function f21(x: Item) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } + return assertNever(x); +} + +//// [numericLiteralTypes1.js] +function f1() { + var a = 1; + var a = 1; + var a = 1; + var a = 1; + var a = 1; +} +function f2() { + var b = -1; + var b = 0; + var b = 1; +} +function f3(a, b) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} +function f4(a, b) { + a++; + b++; +} +function f5(a, b) { + var z1 = g(0); + var z2 = g(1); + var z3 = g(2); + var z4 = g(a); + var z5 = g(b); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} +function f11(x) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === 0 || x === 2) { + x; + } + else { + x; + } +} +function f14(x, y) { + var a = x && y; + var b = x || y; +} +function f15(x, y) { + var a = x && y; + var b = y && x; + var c = x || y; + var d = y || x; + var e = !x; + var f = !y; +} +function f20(x) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } +} +function f21(x) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/numericLiteralTypes1.symbols b/tests/baselines/reference/numericLiteralTypes1.symbols new file mode 100644 index 00000000000..87d2a15b291 --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes1.symbols @@ -0,0 +1,413 @@ +=== tests/cases/conformance/types/literal/numericLiteralTypes1.ts === +type A1 = 1; +>A1 : Symbol(A1, Decl(numericLiteralTypes1.ts, 0, 0)) + +type A2 = 1.0; +>A2 : Symbol(A2, Decl(numericLiteralTypes1.ts, 0, 12)) + +type A3 = 1e0; +>A3 : Symbol(A3, Decl(numericLiteralTypes1.ts, 1, 14)) + +type A4 = 10e-1; +>A4 : Symbol(A4, Decl(numericLiteralTypes1.ts, 2, 14)) + +type A5 = 1 | 1.0 | 1e0 | 10e-1; +>A5 : Symbol(A5, Decl(numericLiteralTypes1.ts, 3, 16)) + +function f1() { +>f1 : Symbol(f1, Decl(numericLiteralTypes1.ts, 4, 32)) + + var a: A1 = 1; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 7, 7), Decl(numericLiteralTypes1.ts, 8, 7), Decl(numericLiteralTypes1.ts, 9, 7), Decl(numericLiteralTypes1.ts, 10, 7), Decl(numericLiteralTypes1.ts, 11, 7)) +>A1 : Symbol(A1, Decl(numericLiteralTypes1.ts, 0, 0)) + + var a: A2 = 1; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 7, 7), Decl(numericLiteralTypes1.ts, 8, 7), Decl(numericLiteralTypes1.ts, 9, 7), Decl(numericLiteralTypes1.ts, 10, 7), Decl(numericLiteralTypes1.ts, 11, 7)) +>A2 : Symbol(A2, Decl(numericLiteralTypes1.ts, 0, 12)) + + var a: A3 = 1; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 7, 7), Decl(numericLiteralTypes1.ts, 8, 7), Decl(numericLiteralTypes1.ts, 9, 7), Decl(numericLiteralTypes1.ts, 10, 7), Decl(numericLiteralTypes1.ts, 11, 7)) +>A3 : Symbol(A3, Decl(numericLiteralTypes1.ts, 1, 14)) + + var a: A4 = 1; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 7, 7), Decl(numericLiteralTypes1.ts, 8, 7), Decl(numericLiteralTypes1.ts, 9, 7), Decl(numericLiteralTypes1.ts, 10, 7), Decl(numericLiteralTypes1.ts, 11, 7)) +>A4 : Symbol(A4, Decl(numericLiteralTypes1.ts, 2, 14)) + + var a: A5 = 1; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 7, 7), Decl(numericLiteralTypes1.ts, 8, 7), Decl(numericLiteralTypes1.ts, 9, 7), Decl(numericLiteralTypes1.ts, 10, 7), Decl(numericLiteralTypes1.ts, 11, 7)) +>A5 : Symbol(A5, Decl(numericLiteralTypes1.ts, 3, 16)) +} + +type B1 = -1 | 0 | 1; +>B1 : Symbol(B1, Decl(numericLiteralTypes1.ts, 12, 1)) + +type B2 = 1 | 0 | -1; +>B2 : Symbol(B2, Decl(numericLiteralTypes1.ts, 14, 21)) + +type B3 = 0 | -1 | 1; +>B3 : Symbol(B3, Decl(numericLiteralTypes1.ts, 15, 21)) + +function f2() { +>f2 : Symbol(f2, Decl(numericLiteralTypes1.ts, 16, 21)) + + var b: B1 = -1; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 19, 7), Decl(numericLiteralTypes1.ts, 20, 7), Decl(numericLiteralTypes1.ts, 21, 7)) +>B1 : Symbol(B1, Decl(numericLiteralTypes1.ts, 12, 1)) + + var b: B2 = 0; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 19, 7), Decl(numericLiteralTypes1.ts, 20, 7), Decl(numericLiteralTypes1.ts, 21, 7)) +>B2 : Symbol(B2, Decl(numericLiteralTypes1.ts, 14, 21)) + + var b: B3 = 1; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 19, 7), Decl(numericLiteralTypes1.ts, 20, 7), Decl(numericLiteralTypes1.ts, 21, 7)) +>B3 : Symbol(B3, Decl(numericLiteralTypes1.ts, 15, 21)) +} + +function f3(a: 1, b: 0 | 1 | 2) { +>f3 : Symbol(f3, Decl(numericLiteralTypes1.ts, 22, 1)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a + b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a - b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a * b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a / b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a % b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a | b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a & b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = a ^ b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = -b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var x = ~b; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 25, 7), Decl(numericLiteralTypes1.ts, 26, 7), Decl(numericLiteralTypes1.ts, 27, 7), Decl(numericLiteralTypes1.ts, 28, 7), Decl(numericLiteralTypes1.ts, 29, 7), Decl(numericLiteralTypes1.ts, 30, 7), Decl(numericLiteralTypes1.ts, 31, 7), Decl(numericLiteralTypes1.ts, 32, 7), Decl(numericLiteralTypes1.ts, 33, 7), Decl(numericLiteralTypes1.ts, 34, 7)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a == b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a != b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a === b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a !== b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a > b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a < b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a >= b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = a <= b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 24, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) + + var y = !b; +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 35, 7), Decl(numericLiteralTypes1.ts, 36, 7), Decl(numericLiteralTypes1.ts, 37, 7), Decl(numericLiteralTypes1.ts, 38, 7), Decl(numericLiteralTypes1.ts, 39, 7), Decl(numericLiteralTypes1.ts, 40, 7), Decl(numericLiteralTypes1.ts, 41, 7), Decl(numericLiteralTypes1.ts, 42, 7), Decl(numericLiteralTypes1.ts, 43, 7)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 24, 17)) +} + +function f4(a: 1, b: 0 | 1 | 2) { +>f4 : Symbol(f4, Decl(numericLiteralTypes1.ts, 44, 1)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 46, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 46, 17)) + + a++; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 46, 12)) + + b++; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 46, 17)) +} + +declare function g(x: 0): string; +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 51, 19)) + +declare function g(x: 1): boolean; +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 52, 19)) + +declare function g(x: number): number; +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 53, 19)) + +function f5(a: 1, b: 0 | 1 | 2) { +>f5 : Symbol(f5, Decl(numericLiteralTypes1.ts, 53, 38)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 55, 12)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 55, 17)) + + var z1 = g(0); +>z1 : Symbol(z1, Decl(numericLiteralTypes1.ts, 56, 7)) +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) + + var z2 = g(1); +>z2 : Symbol(z2, Decl(numericLiteralTypes1.ts, 57, 7)) +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) + + var z3 = g(2); +>z3 : Symbol(z3, Decl(numericLiteralTypes1.ts, 58, 7)) +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) + + var z4 = g(a); +>z4 : Symbol(z4, Decl(numericLiteralTypes1.ts, 59, 7)) +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 55, 12)) + + var z5 = g(b); +>z5 : Symbol(z5, Decl(numericLiteralTypes1.ts, 60, 7)) +>g : Symbol(g, Decl(numericLiteralTypes1.ts, 49, 1), Decl(numericLiteralTypes1.ts, 51, 33), Decl(numericLiteralTypes1.ts, 52, 34)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 55, 17)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes1.ts, 61, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 63, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +type Tag = 0 | 1 | 2; +>Tag : Symbol(Tag, Decl(numericLiteralTypes1.ts, 65, 1)) + +function f10(x: Tag) { +>f10 : Symbol(f10, Decl(numericLiteralTypes1.ts, 67, 21)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 69, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes1.ts, 65, 1)) + + switch (x) { +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 69, 13)) + + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} + +function f11(x: Tag) { +>f11 : Symbol(f11, Decl(numericLiteralTypes1.ts, 75, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 77, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes1.ts, 65, 1)) + + switch (x) { +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 77, 13)) + + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes1.ts, 61, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 77, 13)) +} + +function f12(x: Tag) { +>f12 : Symbol(f12, Decl(numericLiteralTypes1.ts, 84, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 86, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes1.ts, 65, 1)) + + if (x) { +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 86, 13)) + + x; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 86, 13)) + } + else { + x; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 86, 13)) + } +} + +function f13(x: Tag) { +>f13 : Symbol(f13, Decl(numericLiteralTypes1.ts, 93, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 95, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes1.ts, 65, 1)) + + if (x === 0 || x === 2) { +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 95, 13)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 95, 13)) + + x; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 95, 13)) + } + else { + x; +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 95, 13)) + } +} + +function f14(x: 0 | 1 | 2, y: string) { +>f14 : Symbol(f14, Decl(numericLiteralTypes1.ts, 102, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 104, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 104, 26)) + + var a = x && y; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 105, 7)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 104, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 104, 26)) + + var b = x || y; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 106, 7)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 104, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 104, 26)) +} + +function f15(x: 0 | false, y: 1 | "one") { +>f15 : Symbol(f15, Decl(numericLiteralTypes1.ts, 107, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) + + var a = x && y; +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 110, 7)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) + + var b = y && x; +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 111, 7)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) + + var c = x || y; +>c : Symbol(c, Decl(numericLiteralTypes1.ts, 112, 7)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) + + var d = y || x; +>d : Symbol(d, Decl(numericLiteralTypes1.ts, 113, 7)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) + + var e = !x; +>e : Symbol(e, Decl(numericLiteralTypes1.ts, 114, 7)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 109, 13)) + + var f = !y; +>f : Symbol(f, Decl(numericLiteralTypes1.ts, 115, 7)) +>y : Symbol(y, Decl(numericLiteralTypes1.ts, 109, 26)) +} + +type Item = +>Item : Symbol(Item, Decl(numericLiteralTypes1.ts, 116, 1)) + + { kind: 0, a: string } | +>kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 119, 5)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 119, 14)) + + { kind: 1, b: string } | +>kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 120, 5)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 120, 14)) + + { kind: 2, c: string }; +>kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 121, 5)) +>c : Symbol(c, Decl(numericLiteralTypes1.ts, 121, 14)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(numericLiteralTypes1.ts, 121, 27)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 123, 13)) +>Item : Symbol(Item, Decl(numericLiteralTypes1.ts, 116, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 119, 5), Decl(numericLiteralTypes1.ts, 120, 5), Decl(numericLiteralTypes1.ts, 121, 5)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 123, 13)) +>kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 119, 5), Decl(numericLiteralTypes1.ts, 120, 5), Decl(numericLiteralTypes1.ts, 121, 5)) + + case 0: return x.a; +>x.a : Symbol(a, Decl(numericLiteralTypes1.ts, 119, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 123, 13)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 119, 14)) + + case 1: return x.b; +>x.b : Symbol(b, Decl(numericLiteralTypes1.ts, 120, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 123, 13)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 120, 14)) + + case 2: return x.c; +>x.c : Symbol(c, Decl(numericLiteralTypes1.ts, 121, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 123, 13)) +>c : Symbol(c, Decl(numericLiteralTypes1.ts, 121, 14)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(numericLiteralTypes1.ts, 129, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +>Item : Symbol(Item, Decl(numericLiteralTypes1.ts, 116, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 119, 5), Decl(numericLiteralTypes1.ts, 120, 5), Decl(numericLiteralTypes1.ts, 121, 5)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +>kind : Symbol(kind, Decl(numericLiteralTypes1.ts, 119, 5), Decl(numericLiteralTypes1.ts, 120, 5), Decl(numericLiteralTypes1.ts, 121, 5)) + + case 0: return x.a; +>x.a : Symbol(a, Decl(numericLiteralTypes1.ts, 119, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +>a : Symbol(a, Decl(numericLiteralTypes1.ts, 119, 14)) + + case 1: return x.b; +>x.b : Symbol(b, Decl(numericLiteralTypes1.ts, 120, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +>b : Symbol(b, Decl(numericLiteralTypes1.ts, 120, 14)) + + case 2: return x.c; +>x.c : Symbol(c, Decl(numericLiteralTypes1.ts, 121, 14)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +>c : Symbol(c, Decl(numericLiteralTypes1.ts, 121, 14)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes1.ts, 61, 1)) +>x : Symbol(x, Decl(numericLiteralTypes1.ts, 131, 13)) +} diff --git a/tests/baselines/reference/numericLiteralTypes1.types b/tests/baselines/reference/numericLiteralTypes1.types new file mode 100644 index 00000000000..f091dd99d60 --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes1.types @@ -0,0 +1,497 @@ +=== tests/cases/conformance/types/literal/numericLiteralTypes1.ts === +type A1 = 1; +>A1 : 1 + +type A2 = 1.0; +>A2 : 1 + +type A3 = 1e0; +>A3 : 1 + +type A4 = 10e-1; +>A4 : 1 + +type A5 = 1 | 1.0 | 1e0 | 10e-1; +>A5 : 1 + +function f1() { +>f1 : () => void + + var a: A1 = 1; +>a : 1 +>A1 : 1 +>1 : 1 + + var a: A2 = 1; +>a : 1 +>A2 : 1 +>1 : 1 + + var a: A3 = 1; +>a : 1 +>A3 : 1 +>1 : 1 + + var a: A4 = 1; +>a : 1 +>A4 : 1 +>1 : 1 + + var a: A5 = 1; +>a : 1 +>A5 : 1 +>1 : 1 +} + +type B1 = -1 | 0 | 1; +>B1 : B1 +>-1 : -1 +>1 : 1 + +type B2 = 1 | 0 | -1; +>B2 : B1 +>-1 : -1 +>1 : 1 + +type B3 = 0 | -1 | 1; +>B3 : B1 +>-1 : -1 +>1 : 1 + +function f2() { +>f2 : () => void + + var b: B1 = -1; +>b : B1 +>B1 : B1 +>-1 : -1 +>1 : 1 + + var b: B2 = 0; +>b : B1 +>B2 : B1 +>0 : 0 + + var b: B3 = 1; +>b : B1 +>B3 : B1 +>1 : 1 +} + +function f3(a: 1, b: 0 | 1 | 2) { +>f3 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + var x = a + b; +>x : number +>a + b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a - b; +>x : number +>a - b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a * b; +>x : number +>a * b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a / b; +>x : number +>a / b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a % b; +>x : number +>a % b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a | b; +>x : number +>a | b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a & b; +>x : number +>a & b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a ^ b; +>x : number +>a ^ b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = -b; +>x : number +>-b : number +>b : 0 | 1 | 2 + + var x = ~b; +>x : number +>~b : number +>b : 0 | 1 | 2 + + var y = a == b; +>y : boolean +>a == b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a != b; +>y : boolean +>a != b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a === b; +>y : boolean +>a === b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a !== b; +>y : boolean +>a !== b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a > b; +>y : boolean +>a > b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a < b; +>y : boolean +>a < b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a >= b; +>y : boolean +>a >= b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a <= b; +>y : boolean +>a <= b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = !b; +>y : boolean +>!b : boolean +>b : 0 | 1 | 2 +} + +function f4(a: 1, b: 0 | 1 | 2) { +>f4 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + a++; +>a++ : number +>a : 1 + + b++; +>b++ : number +>b : 0 | 1 | 2 +} + +declare function g(x: 0): string; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : 0 + +declare function g(x: 1): boolean; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : 1 + +declare function g(x: number): number; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : number + +function f5(a: 1, b: 0 | 1 | 2) { +>f5 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + var z1 = g(0); +>z1 : string +>g(0) : string +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>0 : 0 + + var z2 = g(1); +>z2 : boolean +>g(1) : boolean +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>1 : 1 + + var z3 = g(2); +>z3 : number +>g(2) : number +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>2 : 2 + + var z4 = g(a); +>z4 : boolean +>g(a) : boolean +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>a : 1 + + var z5 = g(b); +>z5 : number +>g(b) : number +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>b : 0 | 1 | 2 +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +type Tag = 0 | 1 | 2; +>Tag : 0 | 1 | 2 + +function f10(x: Tag) { +>f10 : (x: 0 | 1 | 2) => "a" | "b" | "c" +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : "a" + + case 1: return "b"; +>1 : 1 +>"b" : "b" + + case 2: return "c"; +>2 : 2 +>"c" : "c" + } +} + +function f11(x: Tag) { +>f11 : (x: 0 | 1 | 2) => "a" | "b" | "c" +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : "a" + + case 1: return "b"; +>1 : 1 +>"b" : "b" + + case 2: return "c"; +>2 : 2 +>"c" : "c" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: Tag) { +>f12 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + if (x) { +>x : 0 | 1 | 2 + + x; +>x : 1 | 2 + } + else { + x; +>x : 0 | 1 | 2 + } +} + +function f13(x: Tag) { +>f13 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + if (x === 0 || x === 2) { +>x === 0 || x === 2 : boolean +>x === 0 : boolean +>x : 0 | 1 | 2 +>0 : 0 +>x === 2 : boolean +>x : 1 | 2 +>2 : 2 + + x; +>x : 0 | 2 + } + else { + x; +>x : 1 + } +} + +function f14(x: 0 | 1 | 2, y: string) { +>f14 : (x: 0 | 1 | 2, y: string) => void +>x : 0 | 1 | 2 +>y : string + + var a = x && y; +>a : string +>x && y : string +>x : 0 | 1 | 2 +>y : string + + var b = x || y; +>b : string | number +>x || y : string | 1 | 2 +>x : 0 | 1 | 2 +>y : string +} + +function f15(x: 0 | false, y: 1 | "one") { +>f15 : (x: false | 0, y: 1 | "one") => void +>x : false | 0 +>false : false +>y : 1 | "one" + + var a = x && y; +>a : number | boolean +>x && y : false | 0 +>x : false | 0 +>y : 1 | "one" + + var b = y && x; +>b : number | boolean +>y && x : false | 0 +>y : 1 | "one" +>x : false | 0 + + var c = x || y; +>c : string | number +>x || y : 1 | "one" +>x : false | 0 +>y : 1 | "one" + + var d = y || x; +>d : string | number | boolean +>y || x : false | 0 | 1 | "one" +>y : 1 | "one" +>x : false | 0 + + var e = !x; +>e : boolean +>!x : true +>x : false | 0 + + var f = !y; +>f : boolean +>!y : boolean +>y : 1 | "one" +} + +type Item = +>Item : Item + + { kind: 0, a: string } | +>kind : 0 +>a : string + + { kind: 1, b: string } | +>kind : 1 +>b : string + + { kind: 2, c: string }; +>kind : 2 +>c : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : 0 | 1 | 2 +>x : Item +>kind : 0 | 1 | 2 + + case 0: return x.a; +>0 : 0 +>x.a : string +>x : { kind: 0; a: string; } +>a : string + + case 1: return x.b; +>1 : 1 +>x.b : string +>x : { kind: 1; b: string; } +>b : string + + case 2: return x.c; +>2 : 2 +>x.c : string +>x : { kind: 2; c: string; } +>c : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : 0 | 1 | 2 +>x : Item +>kind : 0 | 1 | 2 + + case 0: return x.a; +>0 : 0 +>x.a : string +>x : { kind: 0; a: string; } +>a : string + + case 1: return x.b; +>1 : 1 +>x.b : string +>x : { kind: 1; b: string; } +>b : string + + case 2: return x.c; +>2 : 2 +>x.c : string +>x : { kind: 2; c: string; } +>c : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/numericLiteralTypes2.js b/tests/baselines/reference/numericLiteralTypes2.js new file mode 100644 index 00000000000..ea82d00832c --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes2.js @@ -0,0 +1,248 @@ +//// [numericLiteralTypes2.ts] + +type A1 = 1; +type A2 = 1.0; +type A3 = 1e0; +type A4 = 10e-1; +type A5 = 1 | 1.0 | 1e0 | 10e-1; + +function f1() { + var a: A1 = 1; + var a: A2 = 1; + var a: A3 = 1; + var a: A4 = 1; + var a: A5 = 1; +} + +type B1 = -1 | 0 | 1; +type B2 = 1 | 0 | -1; +type B3 = 0 | -1 | 1; + +function f2() { + var b: B1 = -1; + var b: B2 = 0; + var b: B3 = 1; +} + +function f3(a: 1, b: 0 | 1 | 2) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} + +function f4(a: 1, b: 0 | 1 | 2) { + a++; + b++; +} + +declare function g(x: 0): string; +declare function g(x: 1): boolean; +declare function g(x: number): number; + +function f5(a: 1, b: 0 | 1 | 2) { + var z1 = g(0); + var z2 = g(1); + var z3 = g(2); + var z4 = g(a); + var z5 = g(b); +} + +function assertNever(x: never): never { + throw new Error("Unexpected value"); +} + +type Tag = 0 | 1 | 2; + +function f10(x: Tag) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} + +function f11(x: Tag) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +} + +function f12(x: Tag) { + if (x) { + x; + } + else { + x; + } +} + +function f13(x: Tag) { + if (x === 0 || x === 2) { + x; + } + else { + x; + } +} + +function f14(x: 0 | 1 | 2, y: string) { + var a = x && y; + var b = x || y; +} + +function f15(x: 0 | false, y: 1 | "one") { + var a = x && y; + var b = y && x; + var c = x || y; + var d = y || x; + var e = !x; + var f = !y; +} + +type Item = + { kind: 0, a: string } | + { kind: 1, b: string } | + { kind: 2, c: string }; + +function f20(x: Item) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } +} + +function f21(x: Item) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } + return assertNever(x); +} + +//// [numericLiteralTypes2.js] +function f1() { + var a = 1; + var a = 1; + var a = 1; + var a = 1; + var a = 1; +} +function f2() { + var b = -1; + var b = 0; + var b = 1; +} +function f3(a, b) { + var x = a + b; + var x = a - b; + var x = a * b; + var x = a / b; + var x = a % b; + var x = a | b; + var x = a & b; + var x = a ^ b; + var x = -b; + var x = ~b; + var y = a == b; + var y = a != b; + var y = a === b; + var y = a !== b; + var y = a > b; + var y = a < b; + var y = a >= b; + var y = a <= b; + var y = !b; +} +function f4(a, b) { + a++; + b++; +} +function f5(a, b) { + var z1 = g(0); + var z2 = g(1); + var z3 = g(2); + var z4 = g(a); + var z5 = g(b); +} +function assertNever(x) { + throw new Error("Unexpected value"); +} +function f10(x) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} +function f11(x) { + switch (x) { + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +} +function f12(x) { + if (x) { + x; + } + else { + x; + } +} +function f13(x) { + if (x === 0 || x === 2) { + x; + } + else { + x; + } +} +function f14(x, y) { + var a = x && y; + var b = x || y; +} +function f15(x, y) { + var a = x && y; + var b = y && x; + var c = x || y; + var d = y || x; + var e = !x; + var f = !y; +} +function f20(x) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } +} +function f21(x) { + switch (x.kind) { + case 0: return x.a; + case 1: return x.b; + case 2: return x.c; + } + return assertNever(x); +} diff --git a/tests/baselines/reference/numericLiteralTypes2.symbols b/tests/baselines/reference/numericLiteralTypes2.symbols new file mode 100644 index 00000000000..f0dbbda502e --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes2.symbols @@ -0,0 +1,414 @@ +=== tests/cases/conformance/types/literal/numericLiteralTypes2.ts === + +type A1 = 1; +>A1 : Symbol(A1, Decl(numericLiteralTypes2.ts, 0, 0)) + +type A2 = 1.0; +>A2 : Symbol(A2, Decl(numericLiteralTypes2.ts, 1, 12)) + +type A3 = 1e0; +>A3 : Symbol(A3, Decl(numericLiteralTypes2.ts, 2, 14)) + +type A4 = 10e-1; +>A4 : Symbol(A4, Decl(numericLiteralTypes2.ts, 3, 14)) + +type A5 = 1 | 1.0 | 1e0 | 10e-1; +>A5 : Symbol(A5, Decl(numericLiteralTypes2.ts, 4, 16)) + +function f1() { +>f1 : Symbol(f1, Decl(numericLiteralTypes2.ts, 5, 32)) + + var a: A1 = 1; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 8, 7), Decl(numericLiteralTypes2.ts, 9, 7), Decl(numericLiteralTypes2.ts, 10, 7), Decl(numericLiteralTypes2.ts, 11, 7), Decl(numericLiteralTypes2.ts, 12, 7)) +>A1 : Symbol(A1, Decl(numericLiteralTypes2.ts, 0, 0)) + + var a: A2 = 1; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 8, 7), Decl(numericLiteralTypes2.ts, 9, 7), Decl(numericLiteralTypes2.ts, 10, 7), Decl(numericLiteralTypes2.ts, 11, 7), Decl(numericLiteralTypes2.ts, 12, 7)) +>A2 : Symbol(A2, Decl(numericLiteralTypes2.ts, 1, 12)) + + var a: A3 = 1; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 8, 7), Decl(numericLiteralTypes2.ts, 9, 7), Decl(numericLiteralTypes2.ts, 10, 7), Decl(numericLiteralTypes2.ts, 11, 7), Decl(numericLiteralTypes2.ts, 12, 7)) +>A3 : Symbol(A3, Decl(numericLiteralTypes2.ts, 2, 14)) + + var a: A4 = 1; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 8, 7), Decl(numericLiteralTypes2.ts, 9, 7), Decl(numericLiteralTypes2.ts, 10, 7), Decl(numericLiteralTypes2.ts, 11, 7), Decl(numericLiteralTypes2.ts, 12, 7)) +>A4 : Symbol(A4, Decl(numericLiteralTypes2.ts, 3, 14)) + + var a: A5 = 1; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 8, 7), Decl(numericLiteralTypes2.ts, 9, 7), Decl(numericLiteralTypes2.ts, 10, 7), Decl(numericLiteralTypes2.ts, 11, 7), Decl(numericLiteralTypes2.ts, 12, 7)) +>A5 : Symbol(A5, Decl(numericLiteralTypes2.ts, 4, 16)) +} + +type B1 = -1 | 0 | 1; +>B1 : Symbol(B1, Decl(numericLiteralTypes2.ts, 13, 1)) + +type B2 = 1 | 0 | -1; +>B2 : Symbol(B2, Decl(numericLiteralTypes2.ts, 15, 21)) + +type B3 = 0 | -1 | 1; +>B3 : Symbol(B3, Decl(numericLiteralTypes2.ts, 16, 21)) + +function f2() { +>f2 : Symbol(f2, Decl(numericLiteralTypes2.ts, 17, 21)) + + var b: B1 = -1; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 20, 7), Decl(numericLiteralTypes2.ts, 21, 7), Decl(numericLiteralTypes2.ts, 22, 7)) +>B1 : Symbol(B1, Decl(numericLiteralTypes2.ts, 13, 1)) + + var b: B2 = 0; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 20, 7), Decl(numericLiteralTypes2.ts, 21, 7), Decl(numericLiteralTypes2.ts, 22, 7)) +>B2 : Symbol(B2, Decl(numericLiteralTypes2.ts, 15, 21)) + + var b: B3 = 1; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 20, 7), Decl(numericLiteralTypes2.ts, 21, 7), Decl(numericLiteralTypes2.ts, 22, 7)) +>B3 : Symbol(B3, Decl(numericLiteralTypes2.ts, 16, 21)) +} + +function f3(a: 1, b: 0 | 1 | 2) { +>f3 : Symbol(f3, Decl(numericLiteralTypes2.ts, 23, 1)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a + b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a - b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a * b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a / b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a % b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a | b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a & b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = a ^ b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = -b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var x = ~b; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 26, 7), Decl(numericLiteralTypes2.ts, 27, 7), Decl(numericLiteralTypes2.ts, 28, 7), Decl(numericLiteralTypes2.ts, 29, 7), Decl(numericLiteralTypes2.ts, 30, 7), Decl(numericLiteralTypes2.ts, 31, 7), Decl(numericLiteralTypes2.ts, 32, 7), Decl(numericLiteralTypes2.ts, 33, 7), Decl(numericLiteralTypes2.ts, 34, 7), Decl(numericLiteralTypes2.ts, 35, 7)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a == b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a != b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a === b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a !== b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a > b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a < b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a >= b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = a <= b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 25, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) + + var y = !b; +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 36, 7), Decl(numericLiteralTypes2.ts, 37, 7), Decl(numericLiteralTypes2.ts, 38, 7), Decl(numericLiteralTypes2.ts, 39, 7), Decl(numericLiteralTypes2.ts, 40, 7), Decl(numericLiteralTypes2.ts, 41, 7), Decl(numericLiteralTypes2.ts, 42, 7), Decl(numericLiteralTypes2.ts, 43, 7), Decl(numericLiteralTypes2.ts, 44, 7)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 25, 17)) +} + +function f4(a: 1, b: 0 | 1 | 2) { +>f4 : Symbol(f4, Decl(numericLiteralTypes2.ts, 45, 1)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 47, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 47, 17)) + + a++; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 47, 12)) + + b++; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 47, 17)) +} + +declare function g(x: 0): string; +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 52, 19)) + +declare function g(x: 1): boolean; +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 53, 19)) + +declare function g(x: number): number; +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 54, 19)) + +function f5(a: 1, b: 0 | 1 | 2) { +>f5 : Symbol(f5, Decl(numericLiteralTypes2.ts, 54, 38)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 56, 12)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 56, 17)) + + var z1 = g(0); +>z1 : Symbol(z1, Decl(numericLiteralTypes2.ts, 57, 7)) +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) + + var z2 = g(1); +>z2 : Symbol(z2, Decl(numericLiteralTypes2.ts, 58, 7)) +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) + + var z3 = g(2); +>z3 : Symbol(z3, Decl(numericLiteralTypes2.ts, 59, 7)) +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) + + var z4 = g(a); +>z4 : Symbol(z4, Decl(numericLiteralTypes2.ts, 60, 7)) +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 56, 12)) + + var z5 = g(b); +>z5 : Symbol(z5, Decl(numericLiteralTypes2.ts, 61, 7)) +>g : Symbol(g, Decl(numericLiteralTypes2.ts, 50, 1), Decl(numericLiteralTypes2.ts, 52, 33), Decl(numericLiteralTypes2.ts, 53, 34)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 56, 17)) +} + +function assertNever(x: never): never { +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes2.ts, 62, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 64, 21)) + + throw new Error("Unexpected value"); +>Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +} + +type Tag = 0 | 1 | 2; +>Tag : Symbol(Tag, Decl(numericLiteralTypes2.ts, 66, 1)) + +function f10(x: Tag) { +>f10 : Symbol(f10, Decl(numericLiteralTypes2.ts, 68, 21)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 70, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes2.ts, 66, 1)) + + switch (x) { +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 70, 13)) + + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } +} + +function f11(x: Tag) { +>f11 : Symbol(f11, Decl(numericLiteralTypes2.ts, 76, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 78, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes2.ts, 66, 1)) + + switch (x) { +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 78, 13)) + + case 0: return "a"; + case 1: return "b"; + case 2: return "c"; + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes2.ts, 62, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 78, 13)) +} + +function f12(x: Tag) { +>f12 : Symbol(f12, Decl(numericLiteralTypes2.ts, 85, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 87, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes2.ts, 66, 1)) + + if (x) { +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 87, 13)) + + x; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 87, 13)) + } + else { + x; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 87, 13)) + } +} + +function f13(x: Tag) { +>f13 : Symbol(f13, Decl(numericLiteralTypes2.ts, 94, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 96, 13)) +>Tag : Symbol(Tag, Decl(numericLiteralTypes2.ts, 66, 1)) + + if (x === 0 || x === 2) { +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 96, 13)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 96, 13)) + + x; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 96, 13)) + } + else { + x; +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 96, 13)) + } +} + +function f14(x: 0 | 1 | 2, y: string) { +>f14 : Symbol(f14, Decl(numericLiteralTypes2.ts, 103, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 105, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 105, 26)) + + var a = x && y; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 106, 7)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 105, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 105, 26)) + + var b = x || y; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 107, 7)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 105, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 105, 26)) +} + +function f15(x: 0 | false, y: 1 | "one") { +>f15 : Symbol(f15, Decl(numericLiteralTypes2.ts, 108, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) + + var a = x && y; +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 111, 7)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) + + var b = y && x; +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 112, 7)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) + + var c = x || y; +>c : Symbol(c, Decl(numericLiteralTypes2.ts, 113, 7)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) + + var d = y || x; +>d : Symbol(d, Decl(numericLiteralTypes2.ts, 114, 7)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) + + var e = !x; +>e : Symbol(e, Decl(numericLiteralTypes2.ts, 115, 7)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 110, 13)) + + var f = !y; +>f : Symbol(f, Decl(numericLiteralTypes2.ts, 116, 7)) +>y : Symbol(y, Decl(numericLiteralTypes2.ts, 110, 26)) +} + +type Item = +>Item : Symbol(Item, Decl(numericLiteralTypes2.ts, 117, 1)) + + { kind: 0, a: string } | +>kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 120, 5)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 120, 14)) + + { kind: 1, b: string } | +>kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 121, 5)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 121, 14)) + + { kind: 2, c: string }; +>kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 122, 5)) +>c : Symbol(c, Decl(numericLiteralTypes2.ts, 122, 14)) + +function f20(x: Item) { +>f20 : Symbol(f20, Decl(numericLiteralTypes2.ts, 122, 27)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 124, 13)) +>Item : Symbol(Item, Decl(numericLiteralTypes2.ts, 117, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 120, 5), Decl(numericLiteralTypes2.ts, 121, 5), Decl(numericLiteralTypes2.ts, 122, 5)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 124, 13)) +>kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 120, 5), Decl(numericLiteralTypes2.ts, 121, 5), Decl(numericLiteralTypes2.ts, 122, 5)) + + case 0: return x.a; +>x.a : Symbol(a, Decl(numericLiteralTypes2.ts, 120, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 124, 13)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 120, 14)) + + case 1: return x.b; +>x.b : Symbol(b, Decl(numericLiteralTypes2.ts, 121, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 124, 13)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 121, 14)) + + case 2: return x.c; +>x.c : Symbol(c, Decl(numericLiteralTypes2.ts, 122, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 124, 13)) +>c : Symbol(c, Decl(numericLiteralTypes2.ts, 122, 14)) + } +} + +function f21(x: Item) { +>f21 : Symbol(f21, Decl(numericLiteralTypes2.ts, 130, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +>Item : Symbol(Item, Decl(numericLiteralTypes2.ts, 117, 1)) + + switch (x.kind) { +>x.kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 120, 5), Decl(numericLiteralTypes2.ts, 121, 5), Decl(numericLiteralTypes2.ts, 122, 5)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +>kind : Symbol(kind, Decl(numericLiteralTypes2.ts, 120, 5), Decl(numericLiteralTypes2.ts, 121, 5), Decl(numericLiteralTypes2.ts, 122, 5)) + + case 0: return x.a; +>x.a : Symbol(a, Decl(numericLiteralTypes2.ts, 120, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +>a : Symbol(a, Decl(numericLiteralTypes2.ts, 120, 14)) + + case 1: return x.b; +>x.b : Symbol(b, Decl(numericLiteralTypes2.ts, 121, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +>b : Symbol(b, Decl(numericLiteralTypes2.ts, 121, 14)) + + case 2: return x.c; +>x.c : Symbol(c, Decl(numericLiteralTypes2.ts, 122, 14)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +>c : Symbol(c, Decl(numericLiteralTypes2.ts, 122, 14)) + } + return assertNever(x); +>assertNever : Symbol(assertNever, Decl(numericLiteralTypes2.ts, 62, 1)) +>x : Symbol(x, Decl(numericLiteralTypes2.ts, 132, 13)) +} diff --git a/tests/baselines/reference/numericLiteralTypes2.types b/tests/baselines/reference/numericLiteralTypes2.types new file mode 100644 index 00000000000..a5744de2a34 --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes2.types @@ -0,0 +1,498 @@ +=== tests/cases/conformance/types/literal/numericLiteralTypes2.ts === + +type A1 = 1; +>A1 : 1 + +type A2 = 1.0; +>A2 : 1 + +type A3 = 1e0; +>A3 : 1 + +type A4 = 10e-1; +>A4 : 1 + +type A5 = 1 | 1.0 | 1e0 | 10e-1; +>A5 : 1 + +function f1() { +>f1 : () => void + + var a: A1 = 1; +>a : 1 +>A1 : 1 +>1 : 1 + + var a: A2 = 1; +>a : 1 +>A2 : 1 +>1 : 1 + + var a: A3 = 1; +>a : 1 +>A3 : 1 +>1 : 1 + + var a: A4 = 1; +>a : 1 +>A4 : 1 +>1 : 1 + + var a: A5 = 1; +>a : 1 +>A5 : 1 +>1 : 1 +} + +type B1 = -1 | 0 | 1; +>B1 : B1 +>-1 : -1 +>1 : 1 + +type B2 = 1 | 0 | -1; +>B2 : B1 +>-1 : -1 +>1 : 1 + +type B3 = 0 | -1 | 1; +>B3 : B1 +>-1 : -1 +>1 : 1 + +function f2() { +>f2 : () => void + + var b: B1 = -1; +>b : B1 +>B1 : B1 +>-1 : -1 +>1 : 1 + + var b: B2 = 0; +>b : B1 +>B2 : B1 +>0 : 0 + + var b: B3 = 1; +>b : B1 +>B3 : B1 +>1 : 1 +} + +function f3(a: 1, b: 0 | 1 | 2) { +>f3 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + var x = a + b; +>x : number +>a + b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a - b; +>x : number +>a - b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a * b; +>x : number +>a * b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a / b; +>x : number +>a / b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a % b; +>x : number +>a % b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a | b; +>x : number +>a | b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a & b; +>x : number +>a & b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = a ^ b; +>x : number +>a ^ b : number +>a : 1 +>b : 0 | 1 | 2 + + var x = -b; +>x : number +>-b : number +>b : 0 | 1 | 2 + + var x = ~b; +>x : number +>~b : number +>b : 0 | 1 | 2 + + var y = a == b; +>y : boolean +>a == b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a != b; +>y : boolean +>a != b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a === b; +>y : boolean +>a === b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a !== b; +>y : boolean +>a !== b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a > b; +>y : boolean +>a > b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a < b; +>y : boolean +>a < b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a >= b; +>y : boolean +>a >= b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = a <= b; +>y : boolean +>a <= b : boolean +>a : 1 +>b : 0 | 1 | 2 + + var y = !b; +>y : boolean +>!b : boolean +>b : 0 | 1 | 2 +} + +function f4(a: 1, b: 0 | 1 | 2) { +>f4 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + a++; +>a++ : number +>a : 1 + + b++; +>b++ : number +>b : 0 | 1 | 2 +} + +declare function g(x: 0): string; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : 0 + +declare function g(x: 1): boolean; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : 1 + +declare function g(x: number): number; +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>x : number + +function f5(a: 1, b: 0 | 1 | 2) { +>f5 : (a: 1, b: 0 | 1 | 2) => void +>a : 1 +>b : 0 | 1 | 2 + + var z1 = g(0); +>z1 : string +>g(0) : string +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>0 : 0 + + var z2 = g(1); +>z2 : boolean +>g(1) : boolean +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>1 : 1 + + var z3 = g(2); +>z3 : number +>g(2) : number +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>2 : 2 + + var z4 = g(a); +>z4 : boolean +>g(a) : boolean +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>a : 1 + + var z5 = g(b); +>z5 : number +>g(b) : number +>g : { (x: 0): string; (x: 1): boolean; (x: number): number; } +>b : 0 | 1 | 2 +} + +function assertNever(x: never): never { +>assertNever : (x: never) => never +>x : never + + throw new Error("Unexpected value"); +>new Error("Unexpected value") : Error +>Error : ErrorConstructor +>"Unexpected value" : "Unexpected value" +} + +type Tag = 0 | 1 | 2; +>Tag : 0 | 1 | 2 + +function f10(x: Tag) { +>f10 : (x: 0 | 1 | 2) => "a" | "b" | "c" +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : "a" + + case 1: return "b"; +>1 : 1 +>"b" : "b" + + case 2: return "c"; +>2 : 2 +>"c" : "c" + } +} + +function f11(x: Tag) { +>f11 : (x: 0 | 1 | 2) => "a" | "b" | "c" +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : "a" + + case 1: return "b"; +>1 : 1 +>"b" : "b" + + case 2: return "c"; +>2 : 2 +>"c" : "c" + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} + +function f12(x: Tag) { +>f12 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + if (x) { +>x : 0 | 1 | 2 + + x; +>x : 1 | 2 + } + else { + x; +>x : 0 + } +} + +function f13(x: Tag) { +>f13 : (x: 0 | 1 | 2) => void +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + if (x === 0 || x === 2) { +>x === 0 || x === 2 : boolean +>x === 0 : boolean +>x : 0 | 1 | 2 +>0 : 0 +>x === 2 : boolean +>x : 1 | 2 +>2 : 2 + + x; +>x : 0 | 2 + } + else { + x; +>x : 1 + } +} + +function f14(x: 0 | 1 | 2, y: string) { +>f14 : (x: 0 | 1 | 2, y: string) => void +>x : 0 | 1 | 2 +>y : string + + var a = x && y; +>a : string | number +>x && y : string | 0 +>x : 0 | 1 | 2 +>y : string + + var b = x || y; +>b : string | number +>x || y : string | 1 | 2 +>x : 0 | 1 | 2 +>y : string +} + +function f15(x: 0 | false, y: 1 | "one") { +>f15 : (x: false | 0, y: 1 | "one") => void +>x : false | 0 +>false : false +>y : 1 | "one" + + var a = x && y; +>a : number | boolean +>x && y : false | 0 +>x : false | 0 +>y : 1 | "one" + + var b = y && x; +>b : number | boolean +>y && x : false | 0 +>y : 1 | "one" +>x : false | 0 + + var c = x || y; +>c : string | number +>x || y : 1 | "one" +>x : false | 0 +>y : 1 | "one" + + var d = y || x; +>d : string | number +>y || x : 1 | "one" +>y : 1 | "one" +>x : false | 0 + + var e = !x; +>e : boolean +>!x : true +>x : false | 0 + + var f = !y; +>f : boolean +>!y : false +>y : 1 | "one" +} + +type Item = +>Item : Item + + { kind: 0, a: string } | +>kind : 0 +>a : string + + { kind: 1, b: string } | +>kind : 1 +>b : string + + { kind: 2, c: string }; +>kind : 2 +>c : string + +function f20(x: Item) { +>f20 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : 0 | 1 | 2 +>x : Item +>kind : 0 | 1 | 2 + + case 0: return x.a; +>0 : 0 +>x.a : string +>x : { kind: 0; a: string; } +>a : string + + case 1: return x.b; +>1 : 1 +>x.b : string +>x : { kind: 1; b: string; } +>b : string + + case 2: return x.c; +>2 : 2 +>x.c : string +>x : { kind: 2; c: string; } +>c : string + } +} + +function f21(x: Item) { +>f21 : (x: Item) => string +>x : Item +>Item : Item + + switch (x.kind) { +>x.kind : 0 | 1 | 2 +>x : Item +>kind : 0 | 1 | 2 + + case 0: return x.a; +>0 : 0 +>x.a : string +>x : { kind: 0; a: string; } +>a : string + + case 1: return x.b; +>1 : 1 +>x.b : string +>x : { kind: 1; b: string; } +>b : string + + case 2: return x.c; +>2 : 2 +>x.c : string +>x : { kind: 2; c: string; } +>c : string + } + return assertNever(x); +>assertNever(x) : never +>assertNever : (x: never) => never +>x : never +} diff --git a/tests/baselines/reference/numericLiteralTypes3.errors.txt b/tests/baselines/reference/numericLiteralTypes3.errors.txt new file mode 100644 index 00000000000..f89ea2ff10b --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes3.errors.txt @@ -0,0 +1,203 @@ +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(8,5): error TS2322: Type 'B' is not assignable to type '1'. + Type '2' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(9,5): error TS2322: Type 'C' is not assignable to type '1'. + Type '2' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(10,5): error TS2322: Type 'D' is not assignable to type '1'. + Type '0' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(14,5): error TS2322: Type '1' is not assignable to type 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(16,5): error TS2322: Type 'C' is not assignable to type 'B'. + Type '1' is not assignable to type 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(17,5): error TS2322: Type 'D' is not assignable to type 'B'. + Type '0' is not assignable to type 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(24,5): error TS2322: Type 'D' is not assignable to type 'C'. + Type '0' is not assignable to type 'C'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(29,5): error TS2322: Type 'B' is not assignable to type 'D'. + Type '3' is not assignable to type 'D'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(30,5): error TS2322: Type 'C' is not assignable to type 'D'. + Type '3' is not assignable to type 'D'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(35,5): error TS2322: Type '0' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(37,5): error TS2322: Type '2' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(38,5): error TS2322: Type '3' is not assignable to type '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(39,5): error TS2322: Type '0' is not assignable to type 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(40,5): error TS2322: Type '1' is not assignable to type 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(43,5): error TS2322: Type '0' is not assignable to type 'C'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(50,5): error TS2322: Type '3' is not assignable to type 'D'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(54,5): error TS2365: Operator '===' cannot be applied to types '1' and '0'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(56,5): error TS2365: Operator '===' cannot be applied to types '1' and '2'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(57,5): error TS2365: Operator '===' cannot be applied to types '1' and '3'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(58,5): error TS2365: Operator '===' cannot be applied to types 'B' and '0'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(59,5): error TS2365: Operator '===' cannot be applied to types 'B' and '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(62,5): error TS2365: Operator '===' cannot be applied to types 'C' and '0'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(69,5): error TS2365: Operator '===' cannot be applied to types 'D' and '3'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(74,5): error TS2365: Operator '===' cannot be applied to types '1' and 'B'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(77,5): error TS2365: Operator '===' cannot be applied to types 'B' and '1'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(94,14): error TS2678: Type '1' is not comparable to type '0 | 2 | 4'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(96,14): error TS2678: Type '3' is not comparable to type '0 | 2 | 4'. +tests/cases/conformance/types/literal/numericLiteralTypes3.ts(98,14): error TS2678: Type '5' is not comparable to type '0 | 2 | 4'. + + +==== tests/cases/conformance/types/literal/numericLiteralTypes3.ts (28 errors) ==== + type A = 1; + type B = 2 | 3; + type C = 1 | 2 | 3; + type D = 0 | 1 | 2; + + function f1(a: A, b: B, c: C, d: D) { + a = a; + a = b; + ~ +!!! error TS2322: Type 'B' is not assignable to type '1'. +!!! error TS2322: Type '2' is not assignable to type '1'. + a = c; + ~ +!!! error TS2322: Type 'C' is not assignable to type '1'. +!!! error TS2322: Type '2' is not assignable to type '1'. + a = d; + ~ +!!! error TS2322: Type 'D' is not assignable to type '1'. +!!! error TS2322: Type '0' is not assignable to type '1'. + } + + function f2(a: A, b: B, c: C, d: D) { + b = a; + ~ +!!! error TS2322: Type '1' is not assignable to type 'B'. + b = b; + b = c; + ~ +!!! error TS2322: Type 'C' is not assignable to type 'B'. +!!! error TS2322: Type '1' is not assignable to type 'B'. + b = d; + ~ +!!! error TS2322: Type 'D' is not assignable to type 'B'. +!!! error TS2322: Type '0' is not assignable to type 'B'. + } + + function f3(a: A, b: B, c: C, d: D) { + c = a; + c = b; + c = c; + c = d; + ~ +!!! error TS2322: Type 'D' is not assignable to type 'C'. +!!! error TS2322: Type '0' is not assignable to type 'C'. + } + + function f4(a: A, b: B, c: C, d: D) { + d = a; + d = b; + ~ +!!! error TS2322: Type 'B' is not assignable to type 'D'. +!!! error TS2322: Type '3' is not assignable to type 'D'. + d = c; + ~ +!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Type '3' is not assignable to type 'D'. + d = d; + } + + function f5(a: A, b: B, c: C, d: D) { + a = 0; + ~ +!!! error TS2322: Type '0' is not assignable to type '1'. + a = 1; + a = 2; + ~ +!!! error TS2322: Type '2' is not assignable to type '1'. + a = 3; + ~ +!!! error TS2322: Type '3' is not assignable to type '1'. + b = 0; + ~ +!!! error TS2322: Type '0' is not assignable to type 'B'. + b = 1; + ~ +!!! error TS2322: Type '1' is not assignable to type 'B'. + b = 2; + b = 3; + c = 0; + ~ +!!! error TS2322: Type '0' is not assignable to type 'C'. + c = 1; + c = 2; + c = 3; + d = 0; + d = 1; + d = 2; + d = 3; + ~ +!!! error TS2322: Type '3' is not assignable to type 'D'. + } + + function f6(a: A, b: B, c: C, d: D) { + a === 0; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '1' and '0'. + a === 1; + a === 2; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '1' and '2'. + a === 3; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '1' and '3'. + b === 0; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'B' and '0'. + b === 1; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'B' and '1'. + b === 2; + b === 3; + c === 0; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'C' and '0'. + c === 1; + c === 2; + c === 3; + d === 0; + d === 1; + d === 2; + d === 3; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'D' and '3'. + } + + function f7(a: A, b: B, c: C, d: D) { + a === a; + a === b; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '1' and 'B'. + a === c; + a === d; + b === a; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'B' and '1'. + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; + } + + function f8(x: 0 | 2 | 4) { + switch (x) { + case 0: return; + case 1: return; + ~ +!!! error TS2678: Type '1' is not comparable to type '0 | 2 | 4'. + case 2: return; + case 3: return; + ~ +!!! error TS2678: Type '3' is not comparable to type '0 | 2 | 4'. + case 4: return; + case 5: return; + ~ +!!! error TS2678: Type '5' is not comparable to type '0 | 2 | 4'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/numericLiteralTypes3.js b/tests/baselines/reference/numericLiteralTypes3.js new file mode 100644 index 00000000000..730314be8ef --- /dev/null +++ b/tests/baselines/reference/numericLiteralTypes3.js @@ -0,0 +1,191 @@ +//// [numericLiteralTypes3.ts] +type A = 1; +type B = 2 | 3; +type C = 1 | 2 | 3; +type D = 0 | 1 | 2; + +function f1(a: A, b: B, c: C, d: D) { + a = a; + a = b; + a = c; + a = d; +} + +function f2(a: A, b: B, c: C, d: D) { + b = a; + b = b; + b = c; + b = d; +} + +function f3(a: A, b: B, c: C, d: D) { + c = a; + c = b; + c = c; + c = d; +} + +function f4(a: A, b: B, c: C, d: D) { + d = a; + d = b; + d = c; + d = d; +} + +function f5(a: A, b: B, c: C, d: D) { + a = 0; + a = 1; + a = 2; + a = 3; + b = 0; + b = 1; + b = 2; + b = 3; + c = 0; + c = 1; + c = 2; + c = 3; + d = 0; + d = 1; + d = 2; + d = 3; +} + +function f6(a: A, b: B, c: C, d: D) { + a === 0; + a === 1; + a === 2; + a === 3; + b === 0; + b === 1; + b === 2; + b === 3; + c === 0; + c === 1; + c === 2; + c === 3; + d === 0; + d === 1; + d === 2; + d === 3; +} + +function f7(a: A, b: B, c: C, d: D) { + a === a; + a === b; + a === c; + a === d; + b === a; + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; +} + +function f8(x: 0 | 2 | 4) { + switch (x) { + case 0: return; + case 1: return; + case 2: return; + case 3: return; + case 4: return; + case 5: return; + } +} + +//// [numericLiteralTypes3.js] +function f1(a, b, c, d) { + a = a; + a = b; + a = c; + a = d; +} +function f2(a, b, c, d) { + b = a; + b = b; + b = c; + b = d; +} +function f3(a, b, c, d) { + c = a; + c = b; + c = c; + c = d; +} +function f4(a, b, c, d) { + d = a; + d = b; + d = c; + d = d; +} +function f5(a, b, c, d) { + a = 0; + a = 1; + a = 2; + a = 3; + b = 0; + b = 1; + b = 2; + b = 3; + c = 0; + c = 1; + c = 2; + c = 3; + d = 0; + d = 1; + d = 2; + d = 3; +} +function f6(a, b, c, d) { + a === 0; + a === 1; + a === 2; + a === 3; + b === 0; + b === 1; + b === 2; + b === 3; + c === 0; + c === 1; + c === 2; + c === 3; + d === 0; + d === 1; + d === 2; + d === 3; +} +function f7(a, b, c, d) { + a === a; + a === b; + a === c; + a === d; + b === a; + b === b; + b === c; + b === d; + c === a; + c === b; + c === c; + c === d; + d === a; + d === b; + d === c; + d === d; +} +function f8(x) { + switch (x) { + case 0: return; + case 1: return; + case 2: return; + case 3: return; + case 4: return; + case 5: return; + } +} diff --git a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.js b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.js index 0b1ce1f0736..54a0328c27c 100644 --- a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.js +++ b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.js @@ -28,9 +28,9 @@ toString(); var i = 1; var test1 = i.toString(); var test2 = 2., toString = (); -var test3 = 3 .toString(); -var test4 = 3 .toString(); -var test5 = 3 .toString(); +var test3 = 3..toString(); +var test4 = 3..toString(); +var test5 = 3..toString(); var test6 = 3.['toString'](); var test7 = 3 .toString(); diff --git a/tests/baselines/reference/numericMethodName1.types b/tests/baselines/reference/numericMethodName1.types index e6e631fc705..4f907f06feb 100644 --- a/tests/baselines/reference/numericMethodName1.types +++ b/tests/baselines/reference/numericMethodName1.types @@ -3,6 +3,6 @@ class C { >C : C 1 = 2; ->2 : number +>2 : 2 } diff --git a/tests/baselines/reference/objectBindingPatternKeywordIdentifiers05.types b/tests/baselines/reference/objectBindingPatternKeywordIdentifiers05.types index d736121a3b7..d5838d7174a 100644 --- a/tests/baselines/reference/objectBindingPatternKeywordIdentifiers05.types +++ b/tests/baselines/reference/objectBindingPatternKeywordIdentifiers05.types @@ -4,5 +4,5 @@ var { as } = { as: 1 } >as : number >{ as: 1 } : { as: number; } >as : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/objectBindingPatternKeywordIdentifiers06.types b/tests/baselines/reference/objectBindingPatternKeywordIdentifiers06.types index 739771385b2..427957c1ef8 100644 --- a/tests/baselines/reference/objectBindingPatternKeywordIdentifiers06.types +++ b/tests/baselines/reference/objectBindingPatternKeywordIdentifiers06.types @@ -5,5 +5,5 @@ var { as: as } = { as: 1 } >as : number >{ as: 1 } : { as: number; } >as : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/objectCreationExpressionInFunctionParameter.errors.txt b/tests/baselines/reference/objectCreationExpressionInFunctionParameter.errors.txt index bd9e021494c..6948f080aef 100644 --- a/tests/baselines/reference/objectCreationExpressionInFunctionParameter.errors.txt +++ b/tests/baselines/reference/objectCreationExpressionInFunctionParameter.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/objectCreationExpressionInFunctionParameter.ts(5,24): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/objectCreationExpressionInFunctionParameter.ts(5,24): error TS2345: Argument of type '123' is not assignable to parameter of type 'string'. tests/cases/compiler/objectCreationExpressionInFunctionParameter.ts(6,2): error TS1128: Declaration or statement expected. @@ -9,7 +9,7 @@ tests/cases/compiler/objectCreationExpressionInFunctionParameter.ts(6,2): error } function foo(x = new A(123)) { //should error, 123 is not string ~~~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '123' is not assignable to parameter of type 'string'. }} ~ !!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/objectLitGetterSetter.types b/tests/baselines/reference/objectLitGetterSetter.types index 4f7865374e2..12801b65340 100644 --- a/tests/baselines/reference/objectLitGetterSetter.types +++ b/tests/baselines/reference/objectLitGetterSetter.types @@ -9,7 +9,7 @@ >Object : ObjectConstructor >defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any >obj : {} ->"accProperty" : string +>"accProperty" : "accProperty" >({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : PropertyDescriptor >PropertyDescriptor : PropertyDescriptor >({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : { get: () => number; set: (v: any) => void; } @@ -22,10 +22,10 @@ eval("public = 1;"); >eval("public = 1;") : any >eval : (x: string) => any ->"public = 1;" : string +>"public = 1;" : "public = 1;" return 11; ->11 : number +>11 : 11 }, set: function (v) { diff --git a/tests/baselines/reference/objectLiteral1.types b/tests/baselines/reference/objectLiteral1.types index 491b4ce365b..244cb62dbef 100644 --- a/tests/baselines/reference/objectLiteral1.types +++ b/tests/baselines/reference/objectLiteral1.types @@ -3,7 +3,7 @@ var v30 = {a:1, b:2}; >v30 : { a: number; b: number; } >{a:1, b:2} : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/objectLiteral2.types b/tests/baselines/reference/objectLiteral2.types index 387bd0ba90f..52184a27833 100644 --- a/tests/baselines/reference/objectLiteral2.types +++ b/tests/baselines/reference/objectLiteral2.types @@ -3,8 +3,8 @@ var v30 = {a:1, b:2}, v31; >v30 : { a: number; b: number; } >{a:1, b:2} : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 >v31 : any diff --git a/tests/baselines/reference/objectLiteralArraySpecialization.types b/tests/baselines/reference/objectLiteralArraySpecialization.types index b32eaa0441e..d51b7ffc3cf 100644 --- a/tests/baselines/reference/objectLiteralArraySpecialization.types +++ b/tests/baselines/reference/objectLiteralArraySpecialization.types @@ -31,14 +31,14 @@ var thing = create([ { name: "bob", id: 24 }, { name: "doug", id: 32 } ]); // sh >[ { name: "bob", id: 24 }, { name: "doug", id: 32 } ] : { name: string; id: number; }[] >{ name: "bob", id: 24 } : { name: string; id: number; } >name : string ->"bob" : string +>"bob" : "bob" >id : number ->24 : number +>24 : 24 >{ name: "doug", id: 32 } : { name: string; id: number; } >name : string ->"doug" : string +>"doug" : "doug" >id : number ->32 : number +>32 : 32 thing.doSomething((x, y) => x.name === "bob"); // should not error >thing.doSomething((x, y) => x.name === "bob") : void @@ -52,5 +52,5 @@ thing.doSomething((x, y) => x.name === "bob"); // should not error >x.name : string >x : { name: string; id: number; } >name : string ->"bob" : string +>"bob" : "bob" diff --git a/tests/baselines/reference/objectLiteralContextualTyping.types b/tests/baselines/reference/objectLiteralContextualTyping.types index 8100b7a5446..a0c6ff7417b 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.types +++ b/tests/baselines/reference/objectLiteralContextualTyping.types @@ -29,7 +29,7 @@ var x = foo({ name: "Sprocket" }); >foo : { (item: Item): string; (item: any): number; } >{ name: "Sprocket" } : { name: string; } >name : string ->"Sprocket" : string +>"Sprocket" : "Sprocket" var x: string; >x : string @@ -40,9 +40,9 @@ var y = foo({ name: "Sprocket", description: "Bumpy wheel" }); >foo : { (item: Item): string; (item: any): number; } >{ name: "Sprocket", description: "Bumpy wheel" } : { name: string; description: string; } >name : string ->"Sprocket" : string +>"Sprocket" : "Sprocket" >description : string ->"Bumpy wheel" : string +>"Bumpy wheel" : "Bumpy wheel" var y: string; >y : string @@ -53,9 +53,9 @@ var z = foo({ name: "Sprocket", description: false }); >foo : { (item: Item): string; (item: any): number; } >{ name: "Sprocket", description: false } : { name: string; description: boolean; } >name : string ->"Sprocket" : string +>"Sprocket" : "Sprocket" >description : boolean ->false : boolean +>false : false var z: number; >z : number @@ -66,7 +66,7 @@ var w = foo({ a: 10 }); >foo : { (item: Item): string; (item: any): number; } >{ a: 10 } : { a: number; } >a : number ->10 : number +>10 : 10 var w: number; >w : number diff --git a/tests/baselines/reference/objectLiteralErrors.errors.txt b/tests/baselines/reference/objectLiteralErrors.errors.txt index 2505748760c..234ac24a8fd 100644 --- a/tests/baselines/reference/objectLiteralErrors.errors.txt +++ b/tests/baselines/reference/objectLiteralErrors.errors.txt @@ -73,7 +73,7 @@ tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(40,46) tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(40,46): error TS2300: Duplicate identifier 'a'. tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(43,16): error TS2380: 'get' and 'set' accessor must have the same type. tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(43,47): error TS2380: 'get' and 'set' accessor must have the same type. -tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(44,29): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(44,29): error TS2322: Type '4' is not assignable to type 'string'. tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(45,16): error TS2380: 'get' and 'set' accessor must have the same type. tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(45,55): error TS2380: 'get' and 'set' accessor must have the same type. @@ -274,7 +274,7 @@ tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts(45,55) !!! error TS2380: 'get' and 'set' accessor must have the same type. var g2 = { get a() { return 4; }, set a(n: string) { } }; ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '4' is not assignable to type 'string'. var g3 = { get a(): number { return undefined; }, set a(n: string) { } }; ~ !!! error TS2380: 'get' and 'set' accessor must have the same type. diff --git a/tests/baselines/reference/objectLiteralExcessProperties.errors.txt b/tests/baselines/reference/objectLiteralExcessProperties.errors.txt index b96b9b0c542..98f2e30287c 100644 --- a/tests/baselines/reference/objectLiteralExcessProperties.errors.txt +++ b/tests/baselines/reference/objectLiteralExcessProperties.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/objectLiteralExcessProperties.ts(9,18): error TS2322: Type '{ forword: string; }' is not assignable to type 'Book'. Object literal may only specify known properties, and 'forword' does not exist in type 'Book'. -tests/cases/compiler/objectLiteralExcessProperties.ts(11,27): error TS2322: Type '{ foreward: string; }' is not assignable to type 'Book | string'. - Object literal may only specify known properties, and 'foreward' does not exist in type 'Book | string'. +tests/cases/compiler/objectLiteralExcessProperties.ts(11,27): error TS2322: Type '{ foreward: string; }' is not assignable to type 'string | Book'. + Object literal may only specify known properties, and 'foreward' does not exist in type 'string | Book'. tests/cases/compiler/objectLiteralExcessProperties.ts(13,53): error TS2322: Type '({ foreword: string; } | { forwards: string; })[]' is not assignable to type 'Book | Book[]'. Type '({ foreword: string; } | { forwards: string; })[]' is not assignable to type 'Book[]'. Type '{ foreword: string; } | { forwards: string; }' is not assignable to type 'Book'. @@ -41,8 +41,8 @@ tests/cases/compiler/objectLiteralExcessProperties.ts(33,27): error TS2322: Type var b2: Book | string = { foreward: "nope" }; ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type '{ foreward: string; }' is not assignable to type 'Book | string'. -!!! error TS2322: Object literal may only specify known properties, and 'foreward' does not exist in type 'Book | string'. +!!! error TS2322: Type '{ foreward: string; }' is not assignable to type 'string | Book'. +!!! error TS2322: Object literal may only specify known properties, and 'foreward' does not exist in type 'string | Book'. var b3: Book | (Book[]) = [{ foreword: "hello" }, { forwards: "back" }]; ~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/objectLiteralMemberWithoutBlock1.js b/tests/baselines/reference/objectLiteralMemberWithoutBlock1.js index d6a8579be04..7e5f63255af 100644 --- a/tests/baselines/reference/objectLiteralMemberWithoutBlock1.js +++ b/tests/baselines/reference/objectLiteralMemberWithoutBlock1.js @@ -2,4 +2,4 @@ var v = { foo(); } //// [objectLiteralMemberWithoutBlock1.js] -var v = { foo: function () { } }; +var v = {}; diff --git a/tests/baselines/reference/objectLiteralShorthandProperties.types b/tests/baselines/reference/objectLiteralShorthandProperties.types index 9d537173d49..4f4482906aa 100644 --- a/tests/baselines/reference/objectLiteralShorthandProperties.types +++ b/tests/baselines/reference/objectLiteralShorthandProperties.types @@ -27,7 +27,7 @@ var x3 = { a: 0, >a : number ->0 : number +>0 : 0 b, >b : any diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types index 869a67fb22f..88a910a99fb 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts === var id: number = 10000; >id : number ->10000 : number +>10000 : 10000 var name: string = "my name"; >name : string ->"my name" : string +>"my name" : "my name" var person: { name: string; id: number } = { name, id }; >person : { name: string; id: number; } @@ -54,16 +54,16 @@ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 var person2: { name: string } = bar("Hello", 5); >person2 : { name: string; } >name : string >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 var person3: { name: string; id:number } = bar("Hello", 5); >person3 : { name: string; id: number; } @@ -71,6 +71,6 @@ var person3: { name: string; id:number } = bar("Hello", 5); >id : number >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types index 710fc430339..527c9c5fb6c 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentES6.ts === var id: number = 10000; >id : number ->10000 : number +>10000 : 10000 var name: string = "my name"; >name : string ->"my name" : string +>"my name" : "my name" var person: { name: string; id: number } = { name, id }; >person : { name: string; id: number; } @@ -54,16 +54,16 @@ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 var person2: { name: string } = bar("Hello", 5); >person2 : { name: string; } >name : string >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 var person3: { name: string; id: number } = bar("Hello", 5); >person3 : { name: string; id: number; } @@ -71,6 +71,6 @@ var person3: { name: string; id: number } = bar("Hello", 5); >id : number >bar("Hello", 5) : { name: string; id: number; } >bar : (name: string, id: number) => { name: string; id: number; } ->"Hello" : string ->5 : number +>"Hello" : "Hello" +>5 : 5 diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.errors.txt b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.errors.txt index 50839d5e56b..6f405facceb 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.errors.txt +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.errors.txt @@ -1,8 +1,5 @@ tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts(4,43): error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ b: string; id: number; }'. Object literal may only specify known properties, and 'name' does not exist in type '{ b: string; id: number; }'. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts(5,16): error TS1131: Property or signature expected. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts(5,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'id' must be of type 'number', but here has type 'any'. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts(5,25): error TS1128: Declaration or statement expected. tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts(6,79): error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ id: string; name: number; }'. Types of property 'id' are incompatible. Type 'number' is not assignable to type 'string'. @@ -11,7 +8,7 @@ tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPr Type 'number' is not assignable to type 'boolean'. -==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts (6 errors) ==== +==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentError.ts (3 errors) ==== var id: number = 10000; var name: string = "my name"; @@ -19,13 +16,7 @@ tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPr ~~~~ !!! error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ b: string; id: number; }'. !!! error TS2322: Object literal may only specify known properties, and 'name' does not exist in type '{ b: string; id: number; }'. - var person1: { name, id }; // error: can't use short-hand property assignment in type position - ~~~~ -!!! error TS1131: Property or signature expected. - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'id' must be of type 'number', but here has type 'any'. - ~ -!!! error TS1128: Declaration or statement expected. + var person1: { name, id }; // ok function foo(name: string, id: number): { id: string, name: number } { return { name, id }; } // error ~~~~~~~~~~~~ !!! error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ id: string; name: number; }'. diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js index 8e2d7f80356..4d01f799348 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js @@ -3,7 +3,7 @@ var id: number = 10000; var name: string = "my name"; var person: { b: string; id: number } = { name, id }; // error -var person1: { name, id }; // error: can't use short-hand property assignment in type position +var person1: { name, id }; // ok function foo(name: string, id: number): { id: string, name: number } { return { name, id }; } // error function bar(obj: { name: string; id: boolean }) { } bar({ name, id }); // error @@ -14,8 +14,7 @@ bar({ name, id }); // error var id = 10000; var name = "my name"; var person = { name: name, id: id }; // error -var person1 = name, id; -; // error: can't use short-hand property assignment in type position +var person1; // ok function foo(name, id) { return { name: name, id: id }; } // error function bar(obj) { } bar({ name: name, id: id }); // error diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.errors.txt b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.errors.txt index b4f695c835d..92750fd29a0 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.errors.txt +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.errors.txt @@ -3,15 +3,12 @@ tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPr tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts(5,79): error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ name: number; id: string; }'. Types of property 'name' are incompatible. Type 'string' is not assignable to type 'number'. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts(7,16): error TS1131: Property or signature expected. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts(7,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'id' must be of type 'number', but here has type 'any'. -tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts(7,25): error TS1128: Declaration or statement expected. tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts(8,5): error TS2322: Type '{ name: number; id: string; }' is not assignable to type '{ name: string; id: number; }'. Types of property 'name' are incompatible. Type 'number' is not assignable to type 'string'. -==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts (6 errors) ==== +==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.ts (3 errors) ==== var id: number = 10000; var name: string = "my name"; @@ -25,15 +22,10 @@ tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPr !!! error TS2322: Types of property 'name' are incompatible. !!! error TS2322: Type 'string' is not assignable to type 'number'. function foo(name: string, id: number): { name: string, id: number } { return { name, id }; } // error - var person1: { name, id }; // error : Can't use shorthand in the type position - ~~~~ -!!! error TS1131: Property or signature expected. - ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'id' must be of type 'number', but here has type 'any'. - ~ -!!! error TS1128: Declaration or statement expected. + var person1: { name, id }; // ok var person2: { name: string, id: number } = bar("hello", 5); ~~~~~~~ !!! error TS2322: Type '{ name: number; id: string; }' is not assignable to type '{ name: string; id: number; }'. !!! error TS2322: Types of property 'name' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2322: Type 'number' is not assignable to type 'string'. + \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.js index 71449746add..7800cbff53e 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.js @@ -5,8 +5,9 @@ var name: string = "my name"; var person: { b: string; id: number } = { name, id }; // error function bar(name: string, id: number): { name: number, id: string } { return { name, id }; } // error function foo(name: string, id: number): { name: string, id: number } { return { name, id }; } // error -var person1: { name, id }; // error : Can't use shorthand in the type position -var person2: { name: string, id: number } = bar("hello", 5); +var person1: { name, id }; // ok +var person2: { name: string, id: number } = bar("hello", 5); + //// [objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.js] var id = 10000; @@ -14,6 +15,5 @@ var name = "my name"; var person = { name: name, id: id }; // error function bar(name, id) { return { name: name, id: id }; } // error function foo(name, id) { return { name: name, id: id }; } // error -var person1 = name, id; -; // error : Can't use shorthand in the type position +var person1; // ok var person2 = bar("hello", 5); diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesES6.types index 5c36262f695..1565be04625 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesES6.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesES6.types @@ -27,7 +27,7 @@ var x3 = { a: 0, >a : number ->0 : number +>0 : 0 b, >b : any diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types index 083d4118128..fe67e59dd7b 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts === var id: number = 10000; >id : number ->10000 : number +>10000 : 10000 var name: string = "my name"; >name : string ->"my name" : string +>"my name" : "my name" var person = { name, id }; >person : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralWithSemicolons4.js b/tests/baselines/reference/objectLiteralWithSemicolons4.js index a01d52548ee..9e1e3dea4b9 100644 --- a/tests/baselines/reference/objectLiteralWithSemicolons4.js +++ b/tests/baselines/reference/objectLiteralWithSemicolons4.js @@ -5,4 +5,5 @@ var v = { //// [objectLiteralWithSemicolons4.js] var v = { - a: }; + a: +}; diff --git a/tests/baselines/reference/objectTypePropertyAccess.types b/tests/baselines/reference/objectTypePropertyAccess.types index 5fc03bd86ed..6f9bffaf0de 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.types +++ b/tests/baselines/reference/objectTypePropertyAccess.types @@ -23,7 +23,7 @@ var r2 = c['toString'](); >c['toString']() : string >c['toString'] : () => string >c : C ->'toString' : string +>'toString' : "toString" var r3 = c.foo; >r3 : string @@ -35,7 +35,7 @@ var r4 = c['foo']; >r4 : string >c['foo'] : string >c : C ->'foo' : string +>'foo' : "foo" interface I { >I : I @@ -59,7 +59,7 @@ var r5 = i['toString'](); >i['toString']() : string >i['toString'] : () => string >i : I ->'toString' : string +>'toString' : "toString" var r6 = i.bar; >r6 : string @@ -71,7 +71,7 @@ var r7 = i['bar']; >r7 : string >i['bar'] : string >i : I ->'bar' : string +>'bar' : "bar" var a = { >a : { foo: string; } @@ -79,7 +79,7 @@ var a = { foo: '' >foo : string ->'' : string +>'' : "" } var r8 = a.toString(); @@ -94,7 +94,7 @@ var r9 = a['toString'](); >a['toString']() : string >a['toString'] : () => string >a : { foo: string; } ->'toString' : string +>'toString' : "toString" var r10 = a.foo; >r10 : string @@ -106,5 +106,5 @@ var r11 = a['foo']; >r11 : string >a['foo'] : string >a : { foo: string; } ->'foo' : string +>'foo' : "foo" diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types index 93caca61bfa..ea0ee84b575 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types @@ -64,7 +64,7 @@ var r1e = i['hm']; // should be Object >r1e : any >i['hm'] : any >i : I ->'hm' : string +>'hm' : "hm" var x: { >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } @@ -113,5 +113,5 @@ var r2e = x['hm']; // should be Object >r2e : any >x['hm'] : any >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } ->'hm' : string +>'hm' : "hm" diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types index 427b700fb59..c0b5c9d5a77 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types @@ -61,7 +61,7 @@ var r1e = i['hm']; // should be Object >r1e : any >i['hm'] : any >i : I ->'hm' : string +>'hm' : "hm" var x: { >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } @@ -110,5 +110,5 @@ var r2e = x['hm']; // should be Object >r2e : any >x['hm'] : any >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } ->'hm' : string +>'hm' : "hm" diff --git a/tests/baselines/reference/objectTypeWithNumericProperty.types b/tests/baselines/reference/objectTypeWithNumericProperty.types index 32efd3398fb..52a27ea09af 100644 --- a/tests/baselines/reference/objectTypeWithNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithNumericProperty.types @@ -16,25 +16,25 @@ var r1 = c[1]; >r1 : number >c[1] : number >c : C ->1 : number +>1 : 1 var r2 = c[1.1]; >r2 : string >c[1.1] : string >c : C ->1.1 : number +>1.1 : 1.1 var r3 = c['1']; >r3 : number >c['1'] : number >c : C ->'1' : string +>'1' : "1" var r4 = c['1.1']; >r4 : string >c['1.1'] : string >c : C ->'1.1' : string +>'1.1' : "1.1" interface I { >I : I @@ -51,25 +51,25 @@ var r1 = i[1]; >r1 : number >i[1] : number >i : I ->1 : number +>1 : 1 var r2 = i[1.1]; >r2 : string >i[1.1] : string >i : I ->1.1 : number +>1.1 : 1.1 var r3 = i['1']; >r3 : number >i['1'] : number >i : I ->'1' : string +>'1' : "1" var r4 = i['1.1']; >r4 : string >i['1.1'] : string >i : I ->'1.1' : string +>'1.1' : "1.1" var a: { >a : { 1: number; 1.1: string; } @@ -82,58 +82,58 @@ var r1 = a[1]; >r1 : number >a[1] : number >a : { 1: number; 1.1: string; } ->1 : number +>1 : 1 var r2 = a[1.1]; >r2 : string >a[1.1] : string >a : { 1: number; 1.1: string; } ->1.1 : number +>1.1 : 1.1 var r3 = a['1']; >r3 : number >a['1'] : number >a : { 1: number; 1.1: string; } ->'1' : string +>'1' : "1" var r4 = a['1.1']; >r4 : string >a['1.1'] : string >a : { 1: number; 1.1: string; } ->'1.1' : string +>'1.1' : "1.1" var b = { >b : { 1: number; 1.1: string; } >{ 1: 1, 1.1: ""} : { 1: number; 1.1: string; } 1: 1, ->1 : number +>1 : 1 1.1: "" ->"" : string +>"" : "" } var r1 = b[1]; >r1 : number >b[1] : number >b : { 1: number; 1.1: string; } ->1 : number +>1 : 1 var r2 = b[1.1]; >r2 : string >b[1.1] : string >b : { 1: number; 1.1: string; } ->1.1 : number +>1.1 : 1.1 var r3 = b['1']; >r3 : number >b['1'] : number >b : { 1: number; 1.1: string; } ->'1' : string +>'1' : "1" var r4 = b['1.1']; >r4 : string >b['1.1'] : string >b : { 1: number; 1.1: string; } ->'1.1' : string +>'1.1' : "1.1" diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index 490f3101751..5e664fadd20 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -32,108 +32,108 @@ var r1 = c['0.1']; >r1 : void >c['0.1'] : void >c : C ->'0.1' : string +>'0.1' : "0.1" var r2 = c['.1']; >r2 : Object >c['.1'] : Object >c : C ->'.1' : string +>'.1' : ".1" var r3 = c['1']; >r3 : number >c['1'] : number >c : C ->'1' : string +>'1' : "1" var r3 = c[1]; >r3 : number >c[1] : number >c : C ->1 : number +>1 : 1 var r4 = c['1.']; >r4 : string >c['1.'] : string >c : C ->'1.' : string +>'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : number >c[1.] : number >c : C ->1. : number +>1. : 1 var r5 = c['1..']; >r5 : boolean >c['1..'] : boolean >c : C ->'1..' : string +>'1..' : "1.." var r6 = c['1.0']; >r6 : Date >c['1.0'] : Date >c : C ->'1.0' : string +>'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : number >c[1.0] : number >c : C ->1.0 : number +>1.0 : 1 // BUG 823822 var r7 = i[-1]; >r7 : any >i[-1] : any >i : I ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 var r7 = i[-1.0]; >r7 : any >i[-1.0] : any >i : I ->-1.0 : number ->1.0 : number +>-1.0 : -1 +>1.0 : 1 var r8 = i["-1.0"]; >r8 : RegExp >i["-1.0"] : RegExp >i : I ->"-1.0" : string +>"-1.0" : "-1.0" var r9 = i["-1"]; >r9 : Date >i["-1"] : Date >i : I ->"-1" : string +>"-1" : "-1" var r10 = i[0x1] >r10 : number >i[0x1] : number >i : I ->0x1 : number +>0x1 : 1 var r11 = i[-0x1] >r11 : any >i[-0x1] : any >i : I ->-0x1 : number ->0x1 : number +>-0x1 : -1 +>0x1 : 1 var r12 = i[01] >r12 : number >i[01] : number >i : I ->01 : number +>01 : 1 var r13 = i[-01] >r13 : any >i[-01] : any >i : I ->-01 : number ->01 : number +>-01 : -1 +>01 : 1 interface I { >I : I @@ -163,108 +163,108 @@ var r1 = i['0.1']; >r1 : void >i['0.1'] : void >i : I ->'0.1' : string +>'0.1' : "0.1" var r2 = i['.1']; >r2 : Object >i['.1'] : Object >i : I ->'.1' : string +>'.1' : ".1" var r3 = i['1']; >r3 : number >i['1'] : number >i : I ->'1' : string +>'1' : "1" var r3 = c[1]; >r3 : number >c[1] : number >c : C ->1 : number +>1 : 1 var r4 = i['1.']; >r4 : string >i['1.'] : string >i : I ->'1.' : string +>'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : number >c[1.] : number >c : C ->1. : number +>1. : 1 var r5 = i['1..']; >r5 : boolean >i['1..'] : boolean >i : I ->'1..' : string +>'1..' : "1.." var r6 = i['1.0']; >r6 : Date >i['1.0'] : Date >i : I ->'1.0' : string +>'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : number >c[1.0] : number >c : C ->1.0 : number +>1.0 : 1 // BUG 823822 var r7 = i[-1]; >r7 : any >i[-1] : any >i : I ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 var r7 = i[-1.0]; >r7 : any >i[-1.0] : any >i : I ->-1.0 : number ->1.0 : number +>-1.0 : -1 +>1.0 : 1 var r8 = i["-1.0"]; >r8 : RegExp >i["-1.0"] : RegExp >i : I ->"-1.0" : string +>"-1.0" : "-1.0" var r9 = i["-1"]; >r9 : Date >i["-1"] : Date >i : I ->"-1" : string +>"-1" : "-1" var r10 = i[0x1] >r10 : number >i[0x1] : number >i : I ->0x1 : number +>0x1 : 1 var r11 = i[-0x1] >r11 : any >i[-0x1] : any >i : I ->-0x1 : number ->0x1 : number +>-0x1 : -1 +>0x1 : 1 var r12 = i[01] >r12 : number >i[01] : number >i : I ->01 : number +>01 : 1 var r13 = i[-01] >r13 : any >i[-01] : any >i : I ->-01 : number ->01 : number +>-01 : -1 +>01 : 1 var a: { >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } @@ -290,108 +290,108 @@ var r1 = a['0.1']; >r1 : void >a['0.1'] : void >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'0.1' : string +>'0.1' : "0.1" var r2 = a['.1']; >r2 : Object >a['.1'] : Object >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'.1' : string +>'.1' : ".1" var r3 = a['1']; >r3 : number >a['1'] : number >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'1' : string +>'1' : "1" var r3 = c[1]; >r3 : number >c[1] : number >c : C ->1 : number +>1 : 1 var r4 = a['1.']; >r4 : string >a['1.'] : string >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'1.' : string +>'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : number >c[1.] : number >c : C ->1. : number +>1. : 1 var r5 = a['1..']; >r5 : boolean >a['1..'] : boolean >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'1..' : string +>'1..' : "1.." var r6 = a['1.0']; >r6 : Date >a['1.0'] : Date >a : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } ->'1.0' : string +>'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : number >c[1.0] : number >c : C ->1.0 : number +>1.0 : 1 // BUG 823822 var r7 = i[-1]; >r7 : any >i[-1] : any >i : I ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 var r7 = i[-1.0]; >r7 : any >i[-1.0] : any >i : I ->-1.0 : number ->1.0 : number +>-1.0 : -1 +>1.0 : 1 var r8 = i["-1.0"]; >r8 : RegExp >i["-1.0"] : RegExp >i : I ->"-1.0" : string +>"-1.0" : "-1.0" var r9 = i["-1"]; >r9 : Date >i["-1"] : Date >i : I ->"-1" : string +>"-1" : "-1" var r10 = i[0x1] >r10 : number >i[0x1] : number >i : I ->0x1 : number +>0x1 : 1 var r11 = i[-0x1] >r11 : any >i[-0x1] : any >i : I ->-0x1 : number ->0x1 : number +>-0x1 : -1 +>0x1 : 1 var r12 = i[01] >r12 : number >i[01] : number >i : I ->01 : number +>01 : 1 var r13 = i[-01] >r13 : any >i[-01] : any >i : I ->-01 : number ->01 : number +>-01 : -1 +>01 : 1 var b = { >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } @@ -406,13 +406,13 @@ var b = { >Object : ObjectConstructor "1": 1, ->1 : number +>1 : 1 "1.": "", ->"" : string +>"" : "" "1..": true, ->true : boolean +>true : true "1.0": new Date(), >new Date() : Date @@ -430,106 +430,106 @@ var r1 = b['0.1']; >r1 : void >b['0.1'] : void >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'0.1' : string +>'0.1' : "0.1" var r2 = b['.1']; >r2 : Object >b['.1'] : Object >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'.1' : string +>'.1' : ".1" var r3 = b['1']; >r3 : number >b['1'] : number >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'1' : string +>'1' : "1" var r3 = c[1]; >r3 : number >c[1] : number >c : C ->1 : number +>1 : 1 var r4 = b['1.']; >r4 : string >b['1.'] : string >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'1.' : string +>'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically >r3 : number >c[1.] : number >c : C ->1. : number +>1. : 1 var r5 = b['1..']; >r5 : boolean >b['1..'] : boolean >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'1..' : string +>'1..' : "1.." var r6 = b['1.0']; >r6 : Date >b['1.0'] : Date >b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->'1.0' : string +>'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically >r3 : number >c[1.0] : number >c : C ->1.0 : number +>1.0 : 1 // BUG 823822 var r7 = i[-1]; >r7 : any >i[-1] : any >i : I ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 var r7 = i[-1.0]; >r7 : any >i[-1.0] : any >i : I ->-1.0 : number ->1.0 : number +>-1.0 : -1 +>1.0 : 1 var r8 = i["-1.0"]; >r8 : RegExp >i["-1.0"] : RegExp >i : I ->"-1.0" : string +>"-1.0" : "-1.0" var r9 = i["-1"]; >r9 : Date >i["-1"] : Date >i : I ->"-1" : string +>"-1" : "-1" var r10 = i[0x1] >r10 : number >i[0x1] : number >i : I ->0x1 : number +>0x1 : 1 var r11 = i[-0x1] >r11 : any >i[-0x1] : any >i : I ->-0x1 : number ->0x1 : number +>-0x1 : -1 +>0x1 : 1 var r12 = i[01] >r12 : number >i[01] : number >i : I ->01 : number +>01 : 1 var r13 = i[-01] >r13 : any >i[-01] : any >i : I ->-01 : number ->01 : number +>-01 : -1 +>01 : 1 diff --git a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types index b676d284e70..ca200efcebf 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types +++ b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types @@ -17,26 +17,26 @@ var r = c[" "]; >r : number >c[" "] : number >c : C ->" " : string +>" " : " " var r2 = c[" "]; >r2 : any >c[" "] : any >c : C ->" " : string +>" " : " " var r3 = c["a b"]; >r3 : string >c["a b"] : string >c : C ->"a b" : string +>"a b" : "a b" // BUG 817263 var r4 = c["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >c["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number >c : C ->"~!@#$%^&*()_+{}|:'<>?\/.,`" : string +>"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" interface I { >I : I @@ -54,26 +54,26 @@ var r = i[" "]; >r : number >i[" "] : number >i : I ->" " : string +>" " : " " var r2 = i[" "]; >r2 : any >i[" "] : any >i : I ->" " : string +>" " : " " var r3 = i["a b"]; >r3 : string >i["a b"] : string >i : I ->"a b" : string +>"a b" : "a b" // BUG 817263 var r4 = i["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >i["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number >i : I ->"~!@#$%^&*()_+{}|:'<>?\/.,`" : string +>"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" var a: { @@ -88,63 +88,63 @@ var r = a[" "]; >r : number >a[" "] : number >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->" " : string +>" " : " " var r2 = a[" "]; >r2 : any >a[" "] : any >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->" " : string +>" " : " " var r3 = a["a b"]; >r3 : string >a["a b"] : string >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->"a b" : string +>"a b" : "a b" // BUG 817263 var r4 = a["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >a["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->"~!@#$%^&*()_+{}|:'<>?\/.,`" : string +>"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" var b = { >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } >{ " ": 1, "a b": "", "~!@#$%^&*()_+{}|:'<>?\/.,`": 1,} : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } " ": 1, ->1 : number +>1 : 1 "a b": "", ->"" : string +>"" : "" "~!@#$%^&*()_+{}|:'<>?\/.,`": 1, ->1 : number +>1 : 1 } var r = b[" "]; >r : number >b[" "] : number >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->" " : string +>" " : " " var r2 = b[" "]; >r2 : any >b[" "] : any >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->" " : string +>" " : " " var r3 = b["a b"]; >r3 : string >b["a b"] : string >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->"a b" : string +>"a b" : "a b" // BUG 817263 var r4 = b["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >b["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number >b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->"~!@#$%^&*()_+{}|:'<>?\/.,`" : string +>"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" diff --git a/tests/baselines/reference/objectTypesIdentity.types b/tests/baselines/reference/objectTypesIdentity.types index 3491682954a..af9957f9aee 100644 --- a/tests/baselines/reference/objectTypesIdentity.types +++ b/tests/baselines/reference/objectTypesIdentity.types @@ -39,7 +39,7 @@ var b = { foo: '' }; >b : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types index 545e2376bb3..86a2ebec7c9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types @@ -60,7 +60,7 @@ var b = { foo(x: string) { return ''; } }; >{ foo(x: string) { return ''; } } : { foo(x: string): string; } >foo : (x: string) => string >x : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types index 378c5c4fa0c..12ebec233aa 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types @@ -62,7 +62,7 @@ var b = { foo(x: RegExp) { return ''; } }; >foo : (x: RegExp) => string >x : RegExp >RegExp : RegExp ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types index 62426cb0333..7808037fd70 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types @@ -64,7 +64,7 @@ var b = { foo(x: string) { return ''; } }; >{ foo(x: string) { return ''; } } : { foo(x: string): string; } >foo : (x: string) => string >x : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types index edaad51b32e..ea89bbc059e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types @@ -110,7 +110,7 @@ var b = { >foo : (x: any) => any >x : any >'' : any ->'' : string +>'' : "" }; diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types index 2e5e7231721..4dd31ec26d3 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types @@ -47,7 +47,7 @@ var b = { new(x: RegExp) { return ''; } }; // not a construct signature, functio >new : (x: RegExp) => string >x : RegExp >RegExp : RegExp ->'' : string +>'' : "" function foo1b(x: B); >foo1b : { (x: B): any; (x: B): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types index b7f59953959..b7d4b42a83e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types @@ -49,7 +49,7 @@ var b = { new(x: string) { return ''; } }; // not a construct signature, functio >{ new(x: string) { return ''; } } : { new(x: string): string; } >new : (x: string) => string >x : string ->'' : string +>'' : "" function foo1b(x: B); >foo1b : { (x: B): any; (x: B): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types index 90ed7fd0945..33598fe815f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types @@ -77,7 +77,7 @@ var b = { foo(x: T) { return ''; } }; >RegExp : RegExp >x : T >T : T ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types index 4974b0874eb..265dd91784b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types @@ -121,7 +121,7 @@ var b = { foo(x: T, y: U) { return ''; } }; >T : T >y : U >U : U ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types index b5c2f6bdef0..89d0ceb2c73 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types @@ -155,7 +155,7 @@ var b = { foo(x: T, y: U) { return ''; } }; >T : T >y : U >U : U ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types index ef3ec91f479..40c1733a1e1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types @@ -60,7 +60,7 @@ var b = { new(x: T) { return ''; } }; // not a construct signa >RegExp : RegExp >x : T >T : T ->'' : string +>'' : "" function foo1b(x: B>); >foo1b : { (x: B): any; (x: B): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types index b1d1d79ac05..2c214565809 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types @@ -99,7 +99,7 @@ var b = { new(x: T, y: U) { return ''; } }; // no >T : T >y : U >U : U ->'' : string +>'' : "" function foo1b(x: B, Array>); >foo1b : { (x: B): any; (x: B): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types index d8109a6a826..6b3dab83ded 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types @@ -133,7 +133,7 @@ var b = { new(x: T, y: U) { return ''; } }; // not a >T : T >y : U >U : U ->'' : string +>'' : "" function foo1b(x: B); >foo1b : { (x: B): any; (x: B): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types index 78c69f0cdd3..8ac7b807cba 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types @@ -51,7 +51,7 @@ var b: { [x: number]: string; } = { 0: '' }; >b : { [x: number]: string; } >x : number >{ 0: '' } : { 0: string; } ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types index a6ea5a292e5..bcf2ef6d733 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types @@ -51,7 +51,7 @@ var b: { [x: number]: string; } = { 0: '' }; >b : { [x: number]: string; } >x : number >{ 0: '' } : { 0: string; } ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.types b/tests/baselines/reference/objectTypesIdentityWithOptionality.types index bab319f3598..0e02350de9a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.types +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.types @@ -39,7 +39,7 @@ var b = { foo: '' }; >b : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" function foo2(x: I); >foo2 : { (x: I): any; (x: I): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.types b/tests/baselines/reference/objectTypesIdentityWithPrivates.types index c828f45ac5a..6a0cf84850f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.types @@ -49,7 +49,7 @@ var b = { foo: '' }; >b : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.types b/tests/baselines/reference/objectTypesIdentityWithPublics.types index daae624a7d1..5fe82c099ef 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.types +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.types @@ -39,7 +39,7 @@ var b = { foo: '' }; >b : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types index 8393eaf68a0..4028835a9c4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types @@ -52,7 +52,7 @@ var b: { [x: string]: string; } = { foo: '' }; >x : string >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" function foo1(x: A); >foo1 : { (x: A): any; (x: A): any; } diff --git a/tests/baselines/reference/objectTypesWithOptionalProperties2.js b/tests/baselines/reference/objectTypesWithOptionalProperties2.js index eabb1a153a6..1612e6785c7 100644 --- a/tests/baselines/reference/objectTypesWithOptionalProperties2.js +++ b/tests/baselines/reference/objectTypesWithOptionalProperties2.js @@ -32,16 +32,15 @@ var a; var C = (function () { function C() { } - C.prototype.x = ; + C.prototype.x = function () { }; return C; }()); var C2 = (function () { function C2() { } - C2.prototype.x = ; + C2.prototype.x = function () { }; return C2; }()); var b = { - x: function () { }, 1: // error - // error + x: function () { }, 1: // error }; diff --git a/tests/baselines/reference/octalIntegerLiteral.types b/tests/baselines/reference/octalIntegerLiteral.types index 8352e5fac0c..f8f07da9a4b 100644 --- a/tests/baselines/reference/octalIntegerLiteral.types +++ b/tests/baselines/reference/octalIntegerLiteral.types @@ -1,30 +1,30 @@ === tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteral.ts === var oct1 = 0o45436; >oct1 : number ->0o45436 : number +>0o45436 : 19230 var oct2 = 0O45436; >oct2 : number ->0O45436 : number +>0O45436 : 19230 var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; >oct3 : number ->0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : number +>0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : Infinity var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; >oct4 : number ->0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : number +>0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : 5.462437423415177e+244 var obj1 = { >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } >{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } 0o45436: "Hello", ->"Hello" : string +>"Hello" : "Hello" a: 0o45436, >a : number ->0o45436 : number +>0o45436 : 19230 b: oct1, >b : number @@ -34,7 +34,7 @@ var obj1 = { >oct1 : number 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true ->true : boolean +>true : true } var obj2 = { @@ -42,11 +42,11 @@ var obj2 = { >{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } 0O45436: "hi", ->"hi" : string +>"hi" : "hi" a: 0O45436, >a : number ->0O45436 : number +>0O45436 : 19230 b: oct2, >b : number @@ -56,96 +56,96 @@ var obj2 = { >oct2 : number 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false, ->false : boolean +>false : false } obj1[0o45436]; // string >obj1[0o45436] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->0o45436 : number +>0o45436 : 19230 obj1["0o45436"]; // any >obj1["0o45436"] : any >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"0o45436" : string +>"0o45436" : "0o45436" obj1["19230"]; // string >obj1["19230"] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"19230" : string +>"19230" : "19230" obj1[19230]; // string >obj1[19230] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->19230 : number +>19230 : 19230 obj1["a"]; // number >obj1["a"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"a" : string +>"a" : "a" obj1["b"]; // number >obj1["b"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"b" : string +>"b" : "b" obj1["oct1"]; // number >obj1["oct1"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"oct1" : string +>"oct1" : "oct1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" obj2[0O45436]; // string >obj2[0O45436] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->0O45436 : number +>0O45436 : 19230 obj2["0O45436"]; // any >obj2["0O45436"] : any >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"0O45436" : string +>"0O45436" : "0O45436" obj2["19230"]; // string >obj2["19230"] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"19230" : string +>"19230" : "19230" obj2[19230]; // string >obj2[19230] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->19230 : number +>19230 : 19230 obj2["a"]; // number >obj2["a"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"a" : string +>"a" : "a" obj2["b"]; // number >obj2["b"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"b" : string +>"b" : "b" obj2["oct2"]; // number >obj2["oct2"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"oct2" : string +>"oct2" : "oct2" obj2[5.462437423415177e+244]; // boolean >obj2[5.462437423415177e+244] : boolean >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->5.462437423415177e+244 : number +>5.462437423415177e+244 : 5.462437423415177e+244 obj2["5.462437423415177e+244"]; // boolean >obj2["5.462437423415177e+244"] : boolean >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"5.462437423415177e+244" : string +>"5.462437423415177e+244" : "5.462437423415177e+244" obj2["Infinity"]; // any >obj2["Infinity"] : any >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" diff --git a/tests/baselines/reference/octalIntegerLiteralES6.types b/tests/baselines/reference/octalIntegerLiteralES6.types index 7ef32b49289..06061be5d58 100644 --- a/tests/baselines/reference/octalIntegerLiteralES6.types +++ b/tests/baselines/reference/octalIntegerLiteralES6.types @@ -1,30 +1,30 @@ === tests/cases/conformance/es6/binaryAndOctalIntegerLiteral/octalIntegerLiteralES6.ts === var oct1 = 0o45436; >oct1 : number ->0o45436 : number +>0o45436 : 19230 var oct2 = 0O45436; >oct2 : number ->0O45436 : number +>0O45436 : 19230 var oct3 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; >oct3 : number ->0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : number +>0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : Infinity var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; >oct4 : number ->0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : number +>0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : 5.462437423415177e+244 var obj1 = { >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } >{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } 0o45436: "Hello", ->"Hello" : string +>"Hello" : "Hello" a: 0o45436, >a : number ->0o45436 : number +>0o45436 : 19230 b: oct1, >b : number @@ -34,7 +34,7 @@ var obj1 = { >oct1 : number 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true ->true : boolean +>true : true } var obj2 = { @@ -42,11 +42,11 @@ var obj2 = { >{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } 0O45436: "hi", ->"hi" : string +>"hi" : "hi" a: 0O45436, >a : number ->0O45436 : number +>0O45436 : 19230 b: oct2, >b : number @@ -56,96 +56,96 @@ var obj2 = { >oct2 : number 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false, ->false : boolean +>false : false } obj1[0o45436]; // string >obj1[0o45436] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->0o45436 : number +>0o45436 : 19230 obj1["0o45436"]; // any >obj1["0o45436"] : any >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"0o45436" : string +>"0o45436" : "0o45436" obj1["19230"]; // string >obj1["19230"] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"19230" : string +>"19230" : "19230" obj1[19230]; // string >obj1[19230] : string >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->19230 : number +>19230 : 19230 obj1["a"]; // number >obj1["a"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"a" : string +>"a" : "a" obj1["b"]; // number >obj1["b"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"b" : string +>"b" : "b" obj1["oct1"]; // number >obj1["oct1"] : number >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"oct1" : string +>"oct1" : "oct1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean >obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" obj2[0O45436]; // string >obj2[0O45436] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->0O45436 : number +>0O45436 : 19230 obj2["0O45436"]; // any >obj2["0O45436"] : any >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"0O45436" : string +>"0O45436" : "0O45436" obj2["19230"]; // string >obj2["19230"] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"19230" : string +>"19230" : "19230" obj2[19230]; // string >obj2[19230] : string >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->19230 : number +>19230 : 19230 obj2["a"]; // number >obj2["a"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"a" : string +>"a" : "a" obj2["b"]; // number >obj2["b"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"b" : string +>"b" : "b" obj2["oct2"]; // number >obj2["oct2"] : number >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"oct2" : string +>"oct2" : "oct2" obj2[5.462437423415177e+244]; // boolean >obj2[5.462437423415177e+244] : boolean >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->5.462437423415177e+244 : number +>5.462437423415177e+244 : 5.462437423415177e+244 obj2["5.462437423415177e+244"]; // boolean >obj2["5.462437423415177e+244"] : boolean >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"5.462437423415177e+244" : string +>"5.462437423415177e+244" : "5.462437423415177e+244" obj2["Infinity"]; // any >obj2["Infinity"] : any >obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->"Infinity" : string +>"Infinity" : "Infinity" diff --git a/tests/baselines/reference/operatorsAndIntersectionTypes.types b/tests/baselines/reference/operatorsAndIntersectionTypes.types index 6b5987d3a69..7c594b08812 100644 --- a/tests/baselines/reference/operatorsAndIntersectionTypes.types +++ b/tests/baselines/reference/operatorsAndIntersectionTypes.types @@ -1,28 +1,28 @@ === tests/cases/conformance/types/intersection/operatorsAndIntersectionTypes.ts === type Guid = string & { $Guid }; // Tagged string type ->Guid : string & { $Guid: any; } +>Guid : Guid >$Guid : any type SerialNo = number & { $SerialNo }; // Tagged number type ->SerialNo : number & { $SerialNo: any; } +>SerialNo : SerialNo >$SerialNo : any function createGuid() { ->createGuid : () => string & { $Guid: any; } +>createGuid : () => Guid return "21EC2020-3AEA-4069-A2DD-08002B30309D" as Guid; ->"21EC2020-3AEA-4069-A2DD-08002B30309D" as Guid : string & { $Guid: any; } ->"21EC2020-3AEA-4069-A2DD-08002B30309D" : string ->Guid : string & { $Guid: any; } +>"21EC2020-3AEA-4069-A2DD-08002B30309D" as Guid : Guid +>"21EC2020-3AEA-4069-A2DD-08002B30309D" : "21EC2020-3AEA-4069-A2DD-08002B30309D" +>Guid : Guid } function createSerialNo() { ->createSerialNo : () => number & { $SerialNo: any; } +>createSerialNo : () => SerialNo return 12345 as SerialNo; ->12345 as SerialNo : number & { $SerialNo: any; } ->12345 : number ->SerialNo : number & { $SerialNo: any; } +>12345 as SerialNo : SerialNo +>12345 : 12345 +>SerialNo : SerialNo } let map1: { [x: string]: number } = {}; @@ -31,16 +31,16 @@ let map1: { [x: string]: number } = {}; >{} : {} let guid = createGuid(); ->guid : string & { $Guid: any; } ->createGuid() : string & { $Guid: any; } ->createGuid : () => string & { $Guid: any; } +>guid : Guid +>createGuid() : Guid +>createGuid : () => Guid map1[guid] = 123; // Can with tagged string ->map1[guid] = 123 : number +>map1[guid] = 123 : 123 >map1[guid] : number >map1 : { [x: string]: number; } ->guid : string & { $Guid: any; } ->123 : number +>guid : Guid +>123 : 123 let map2: { [x: number]: string } = {}; >map2 : { [x: number]: string; } @@ -48,85 +48,85 @@ let map2: { [x: number]: string } = {}; >{} : {} let serialNo = createSerialNo(); ->serialNo : number & { $SerialNo: any; } ->createSerialNo() : number & { $SerialNo: any; } ->createSerialNo : () => number & { $SerialNo: any; } +>serialNo : SerialNo +>createSerialNo() : SerialNo +>createSerialNo : () => SerialNo map2[serialNo] = "hello"; // Can index with tagged number ->map2[serialNo] = "hello" : string +>map2[serialNo] = "hello" : "hello" >map2[serialNo] : string >map2 : { [x: number]: string; } ->serialNo : number & { $SerialNo: any; } ->"hello" : string +>serialNo : SerialNo +>"hello" : "hello" const s1 = "{" + guid + "}"; >s1 : string >"{" + guid + "}" : string >"{" + guid : string ->"{" : string ->guid : string & { $Guid: any; } ->"}" : string +>"{" : "{" +>guid : Guid +>"}" : "}" const s2 = guid.toLowerCase(); >s2 : string >guid.toLowerCase() : string >guid.toLowerCase : () => string ->guid : string & { $Guid: any; } +>guid : Guid >toLowerCase : () => string const s3 = guid + guid; >s3 : string >guid + guid : string ->guid : string & { $Guid: any; } ->guid : string & { $Guid: any; } +>guid : Guid +>guid : Guid const s4 = guid + serialNo; >s4 : string >guid + serialNo : string ->guid : string & { $Guid: any; } ->serialNo : number & { $SerialNo: any; } +>guid : Guid +>serialNo : SerialNo const s5 = serialNo.toPrecision(0); >s5 : string >serialNo.toPrecision(0) : string >serialNo.toPrecision : (precision?: number) => string ->serialNo : number & { $SerialNo: any; } +>serialNo : SerialNo >toPrecision : (precision?: number) => string ->0 : number +>0 : 0 const n1 = serialNo * 3; >n1 : number >serialNo * 3 : number ->serialNo : number & { $SerialNo: any; } ->3 : number +>serialNo : SerialNo +>3 : 3 const n2 = serialNo + serialNo; >n2 : number >serialNo + serialNo : number ->serialNo : number & { $SerialNo: any; } ->serialNo : number & { $SerialNo: any; } +>serialNo : SerialNo +>serialNo : SerialNo const b1 = guid === ""; >b1 : boolean >guid === "" : boolean ->guid : string & { $Guid: any; } ->"" : string +>guid : Guid +>"" : "" const b2 = guid === guid; >b2 : boolean >guid === guid : boolean ->guid : string & { $Guid: any; } ->guid : string & { $Guid: any; } +>guid : Guid +>guid : Guid const b3 = serialNo === 0; >b3 : boolean >serialNo === 0 : boolean ->serialNo : number & { $SerialNo: any; } ->0 : number +>serialNo : SerialNo +>0 : 0 const b4 = serialNo === serialNo; >b4 : boolean >serialNo === serialNo : boolean ->serialNo : number & { $SerialNo: any; } ->serialNo : number & { $SerialNo: any; } +>serialNo : SerialNo +>serialNo : SerialNo diff --git a/tests/baselines/reference/optionalAccessorsInInterface1.types b/tests/baselines/reference/optionalAccessorsInInterface1.types index d030849e554..c4894fd30dc 100644 --- a/tests/baselines/reference/optionalAccessorsInInterface1.types +++ b/tests/baselines/reference/optionalAccessorsInInterface1.types @@ -21,11 +21,11 @@ defineMyProperty({}, "name", { get: function () { return 5; } }); >defineMyProperty({}, "name", { get: function () { return 5; } }) : any >defineMyProperty : (o: any, p: string, attributes: MyPropertyDescriptor) => any >{} : {} ->"name" : string +>"name" : "name" >{ get: function () { return 5; } } : { get: () => number; } >get : () => number >function () { return 5; } : () => number ->5 : number +>5 : 5 interface MyPropertyDescriptor2 { >MyPropertyDescriptor2 : MyPropertyDescriptor2 @@ -49,9 +49,9 @@ defineMyProperty2({}, "name", { get: function () { return 5; } }); >defineMyProperty2({}, "name", { get: function () { return 5; } }) : any >defineMyProperty2 : (o: any, p: string, attributes: MyPropertyDescriptor2) => any >{} : {} ->"name" : string +>"name" : "name" >{ get: function () { return 5; } } : { get: () => number; } >get : () => number >function () { return 5; } : () => number ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/optionalBindingParameters1.errors.txt b/tests/baselines/reference/optionalBindingParameters1.errors.txt index 78fc1cbddf1..66256edf727 100644 --- a/tests/baselines/reference/optionalBindingParameters1.errors.txt +++ b/tests/baselines/reference/optionalBindingParameters1.errors.txt @@ -1,7 +1,6 @@ tests/cases/conformance/es6/destructuring/optionalBindingParameters1.ts(2,14): error TS2463: A binding pattern parameter cannot be optional in an implementation signature. -tests/cases/conformance/es6/destructuring/optionalBindingParameters1.ts(8,5): error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. - Types of property '0' are incompatible. - Type 'boolean' is not assignable to type 'string'. +tests/cases/conformance/es6/destructuring/optionalBindingParameters1.ts(8,5): error TS2345: Argument of type '[boolean, number, ""]' is not assignable to parameter of type '[string, number, boolean]'. + Type 'boolean' is not assignable to type 'string'. ==== tests/cases/conformance/es6/destructuring/optionalBindingParameters1.ts (2 errors) ==== @@ -16,6 +15,5 @@ tests/cases/conformance/es6/destructuring/optionalBindingParameters1.ts(8,5): er foo([false, 0, ""]); ~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. -!!! error TS2345: Types of property '0' are incompatible. -!!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '[boolean, number, ""]' is not assignable to parameter of type '[string, number, boolean]'. +!!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalBindingParameters2.errors.txt b/tests/baselines/reference/optionalBindingParameters2.errors.txt index e67687722d0..34f36d32380 100644 --- a/tests/baselines/reference/optionalBindingParameters2.errors.txt +++ b/tests/baselines/reference/optionalBindingParameters2.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts(2,14): error TS2463: A binding pattern parameter cannot be optional in an implementation signature. -tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts(8,5): error TS2345: Argument of type '{ x: boolean; y: number; z: string; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. +tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts(8,5): error TS2345: Argument of type '{ x: boolean; y: number; z: ""; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. Types of property 'x' are incompatible. Type 'boolean' is not assignable to type 'string'. @@ -16,6 +16,6 @@ tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts(8,5): er foo({ x: false, y: 0, z: "" }); ~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '{ x: boolean; y: number; z: string; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. +!!! error TS2345: Argument of type '{ x: boolean; y: number; z: ""; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. !!! error TS2345: Types of property 'x' are incompatible. !!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalBindingParametersInOverloads1.errors.txt b/tests/baselines/reference/optionalBindingParametersInOverloads1.errors.txt index 312603d2c2e..771ada1a464 100644 --- a/tests/baselines/reference/optionalBindingParametersInOverloads1.errors.txt +++ b/tests/baselines/reference/optionalBindingParametersInOverloads1.errors.txt @@ -1,6 +1,5 @@ -tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1.ts(9,5): error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. - Types of property '0' are incompatible. - Type 'boolean' is not assignable to type 'string'. +tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1.ts(9,5): error TS2345: Argument of type '[boolean, number, ""]' is not assignable to parameter of type '[string, number, boolean]'. + Type 'boolean' is not assignable to type 'string'. ==== tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1.ts (1 errors) ==== @@ -14,6 +13,5 @@ tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads1. foo([false, 0, ""]); ~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '[boolean, number, string]' is not assignable to parameter of type '[string, number, boolean]'. -!!! error TS2345: Types of property '0' are incompatible. -!!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '[boolean, number, ""]' is not assignable to parameter of type '[string, number, boolean]'. +!!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalBindingParametersInOverloads2.errors.txt b/tests/baselines/reference/optionalBindingParametersInOverloads2.errors.txt index 765fd5e3de6..e2546aff724 100644 --- a/tests/baselines/reference/optionalBindingParametersInOverloads2.errors.txt +++ b/tests/baselines/reference/optionalBindingParametersInOverloads2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads2.ts(9,5): error TS2345: Argument of type '{ x: boolean; y: number; z: string; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. +tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads2.ts(9,5): error TS2345: Argument of type '{ x: boolean; y: number; z: ""; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. Types of property 'x' are incompatible. Type 'boolean' is not assignable to type 'string'. @@ -14,6 +14,6 @@ tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads2. foo({ x: false, y: 0, z: "" }); ~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '{ x: boolean; y: number; z: string; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. +!!! error TS2345: Argument of type '{ x: boolean; y: number; z: ""; }' is not assignable to parameter of type '{ x: string; y: number; z: boolean; }'. !!! error TS2345: Types of property 'x' are incompatible. !!! error TS2345: Type 'boolean' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/optionalMethods.js b/tests/baselines/reference/optionalMethods.js index 42decf512e4..98629f5718b 100644 --- a/tests/baselines/reference/optionalMethods.js +++ b/tests/baselines/reference/optionalMethods.js @@ -126,7 +126,7 @@ interface Foo { } declare function test1(x: Foo): void; declare class Bar { - d?: number; + d: number; e: number; a: number; b?: number; diff --git a/tests/baselines/reference/optionalMethods.types b/tests/baselines/reference/optionalMethods.types index 70fda27c012..cf545eda509 100644 --- a/tests/baselines/reference/optionalMethods.types +++ b/tests/baselines/reference/optionalMethods.types @@ -69,7 +69,7 @@ function test1(x: Foo) { >x.g : () => number >x : Foo >g : () => number ->0 : number +>0 : 0 } class Bar { @@ -83,18 +83,18 @@ class Bar { c? = 2; >c : number | undefined ->2 : number +>2 : 2 constructor(public d?: number, public e = 10) {} >d : number | undefined >e : number ->10 : number +>10 : 10 f() { >f : () => number return 1; ->1 : number +>1 : 1 } g?(): number; // Body of optional method can be omitted >g : (() => number) | undefined @@ -103,7 +103,7 @@ class Bar { >h : (() => number) | undefined return 2; ->2 : number +>2 : 2 } } @@ -175,7 +175,7 @@ function test2(x: Bar) { >x.g : () => number >x : Bar >g : () => number ->0 : number +>0 : 0 let h1 = x.h && x.h(); >h1 : number | undefined @@ -198,7 +198,7 @@ function test2(x: Bar) { >x.h : () => number >x : Bar >h : () => number ->0 : number +>0 : 0 } class Base { @@ -217,10 +217,10 @@ class Derived extends Base { a = 1; >a : number ->1 : number +>1 : 1 f(): number { return 1; } >f : () => number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/optionalParamReferencingOtherParams1.types b/tests/baselines/reference/optionalParamReferencingOtherParams1.types index 5a8963b8b33..ed8f0472191 100644 --- a/tests/baselines/reference/optionalParamReferencingOtherParams1.types +++ b/tests/baselines/reference/optionalParamReferencingOtherParams1.types @@ -5,7 +5,7 @@ function strange(x: number, y = x * 1, z = x + y) { >y : number >x * 1 : number >x : number ->1 : number +>1 : 1 >z : number >x + y : number >x : number diff --git a/tests/baselines/reference/optionalParamterAndVariableDeclaration.types b/tests/baselines/reference/optionalParamterAndVariableDeclaration.types index 36c74bf00b9..ad153779039 100644 --- a/tests/baselines/reference/optionalParamterAndVariableDeclaration.types +++ b/tests/baselines/reference/optionalParamterAndVariableDeclaration.types @@ -10,7 +10,7 @@ class C { >(options || 0) : number >options || 0 : number >options : number ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/optionsInlineSourceMapSourceRoot.types b/tests/baselines/reference/optionsInlineSourceMapSourceRoot.types index 1f6a5fc9dc6..a1a47c3f975 100644 --- a/tests/baselines/reference/optionsInlineSourceMapSourceRoot.types +++ b/tests/baselines/reference/optionsInlineSourceMapSourceRoot.types @@ -2,5 +2,5 @@ var a = 10; >a : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/optionsOutAndNoModuleGen.errors.txt b/tests/baselines/reference/optionsOutAndNoModuleGen.errors.txt new file mode 100644 index 00000000000..9fa887c53b3 --- /dev/null +++ b/tests/baselines/reference/optionsOutAndNoModuleGen.errors.txt @@ -0,0 +1,8 @@ +tests/cases/compiler/optionsOutAndNoModuleGen.ts(2,1): error TS6131: Cannot compile modules using option 'out' unless the '--module' flag is 'amd' or 'system'. + + +==== tests/cases/compiler/optionsOutAndNoModuleGen.ts (1 errors) ==== + + export var x = 10; + ~~~~~~~~~~~~~~~~~~ +!!! error TS6131: Cannot compile modules using option 'out' unless the '--module' flag is 'amd' or 'system'. \ No newline at end of file diff --git a/tests/baselines/reference/optionsSourcemapInlineSources.types b/tests/baselines/reference/optionsSourcemapInlineSources.types index 42fa1839371..1c9865777bb 100644 --- a/tests/baselines/reference/optionsSourcemapInlineSources.types +++ b/tests/baselines/reference/optionsSourcemapInlineSources.types @@ -2,5 +2,5 @@ var a = 10; >a : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/optionsSourcemapInlineSourcesMapRoot.types b/tests/baselines/reference/optionsSourcemapInlineSourcesMapRoot.types index 77abb6f7b11..cfe881d34f5 100644 --- a/tests/baselines/reference/optionsSourcemapInlineSourcesMapRoot.types +++ b/tests/baselines/reference/optionsSourcemapInlineSourcesMapRoot.types @@ -2,5 +2,5 @@ var a = 10; >a : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/optionsSourcemapInlineSourcesSourceRoot.types b/tests/baselines/reference/optionsSourcemapInlineSourcesSourceRoot.types index 3689afc382c..02226ff945a 100644 --- a/tests/baselines/reference/optionsSourcemapInlineSourcesSourceRoot.types +++ b/tests/baselines/reference/optionsSourcemapInlineSourcesSourceRoot.types @@ -2,5 +2,5 @@ var a = 10; >a : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/out-flag.types b/tests/baselines/reference/out-flag.types index b182e4e53d9..f1dee2d3c4a 100644 --- a/tests/baselines/reference/out-flag.types +++ b/tests/baselines/reference/out-flag.types @@ -10,7 +10,7 @@ class MyClass >Count : () => number { return 42; ->42 : number +>42 : 42 } public SetCount(value: number) diff --git a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js index 18ec6ecc19b..6754f3ef89a 100644 --- a/tests/baselines/reference/outFilerootDirModuleNamesSystem.js +++ b/tests/baselines/reference/outFilerootDirModuleNamesSystem.js @@ -11,36 +11,37 @@ export default function foo() { new Foo(); } //// [output.js] -System.register("b", ["a"], function(exports_1, context_1) { +System.register("b", ["a"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var a_1; function foo() { new a_1.default(); } + var a_1; exports_1("default", foo); return { - setters:[ + setters: [ function (a_1_1) { a_1 = a_1_1; - }], - execute: function() { + } + ], + execute: function () { } - } + }; }); -System.register("a", ["b"], function(exports_2, context_2) { +System.register("a", ["b"], function (exports_2, context_2) { "use strict"; var __moduleName = context_2 && context_2.id; - var b_1; - var Foo; + var b_1, Foo; return { - setters:[ + setters: [ function (b_1_1) { b_1 = b_1_1; - }], - execute: function() { + } + ], + execute: function () { Foo = class Foo { }; exports_2("default", Foo); b_1.default(); } - } + }; }); diff --git a/tests/baselines/reference/outModuleConcatAmd.js.map b/tests/baselines/reference/outModuleConcatAmd.js.map index 5c34fd866a4..7f9893b2346 100644 --- a/tests/baselines/reference/outModuleConcatAmd.js.map +++ b/tests/baselines/reference/outModuleConcatAmd.js.map @@ -1,2 +1,2 @@ //// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;;;IACA;QAAA;QAAiB,CAAC;QAAD,QAAC;IAAD,CAAC,AAAlB,IAAkB;IAAL,SAAC,IAAI,CAAA;;;;ICAlB;QAAuB,qBAAC;QAAxB;YAAuB,8BAAC;QAAG,CAAC;QAAD,QAAC;IAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;IAAf,SAAC,IAAc,CAAA"} \ No newline at end of file +{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;;;IACA;QAAA;QAAiB,CAAC;QAAD,QAAC;IAAD,CAAC,AAAlB,IAAkB;IAAlB,cAAkB;;;;ICAlB;QAAuB,qBAAC;QAAxB;YAAuB,8BAAC;QAAG,CAAC;QAAD,QAAC;IAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;IAA5B,cAA4B"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatAmd.sourcemap.txt b/tests/baselines/reference/outModuleConcatAmd.sourcemap.txt index 76370d95c32..ba7f1d93245 100644 --- a/tests/baselines/reference/outModuleConcatAmd.sourcemap.txt +++ b/tests/baselines/reference/outModuleConcatAmd.sourcemap.txt @@ -62,17 +62,11 @@ sourceFile:tests/cases/compiler/ref/a.ts --- >>> exports.A = A; 1->^^^^ -2 > ^^^^^^^^^ -3 > ^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^ 1-> -2 > A -3 > { } -4 > -1->Emitted(13, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(13, 14) Source(2, 15) + SourceIndex(0) -3 >Emitted(13, 18) Source(2, 19) + SourceIndex(0) -4 >Emitted(13, 19) Source(2, 19) + SourceIndex(0) +2 > export class A { } +1->Emitted(13, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(13, 19) Source(2, 19) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:all.js @@ -150,17 +144,11 @@ sourceFile:tests/cases/compiler/b.ts --- >>> exports.B = B; 1->^^^^ -2 > ^^^^^^^^^ -3 > ^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^ 1-> -2 > B -3 > extends A { } -4 > -1->Emitted(24, 5) Source(2, 14) + SourceIndex(1) -2 >Emitted(24, 14) Source(2, 15) + SourceIndex(1) -3 >Emitted(24, 18) Source(2, 29) + SourceIndex(1) -4 >Emitted(24, 19) Source(2, 29) + SourceIndex(1) +2 > export class B extends A { } +1->Emitted(24, 5) Source(2, 1) + SourceIndex(1) +2 >Emitted(24, 19) Source(2, 29) + SourceIndex(1) --- >>>}); >>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatCommonjs.js b/tests/baselines/reference/outModuleConcatCommonjs.js deleted file mode 100644 index 0dbaee88004..00000000000 --- a/tests/baselines/reference/outModuleConcatCommonjs.js +++ /dev/null @@ -1,31 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatCommonjs.ts] //// - -//// [a.ts] - -// This should be an error - -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - -//// [all.js] -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -// This should be an error -//# sourceMappingURL=all.js.map - -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/outModuleConcatCommonjs.js.map b/tests/baselines/reference/outModuleConcatCommonjs.js.map deleted file mode 100644 index 09646467406..00000000000 --- a/tests/baselines/reference/outModuleConcatCommonjs.js.map +++ /dev/null @@ -1,2 +0,0 @@ -//// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;AACA,0BAA0B"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatCommonjs.sourcemap.txt b/tests/baselines/reference/outModuleConcatCommonjs.sourcemap.txt deleted file mode 100644 index 698328649e2..00000000000 --- a/tests/baselines/reference/outModuleConcatCommonjs.sourcemap.txt +++ /dev/null @@ -1,26 +0,0 @@ -=================================================================== -JsFile: all.js -mapUrl: all.js.map -sourceRoot: -sources: tests/cases/compiler/ref/a.ts,tests/cases/compiler/b.ts -=================================================================== -------------------------------------------------------------------- -emittedFile:all.js -sourceFile:tests/cases/compiler/ref/a.ts -------------------------------------------------------------------- ->>>var __extends = (this && this.__extends) || function (d, b) { ->>> for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; ->>> function __() { this.constructor = d; } ->>> d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); ->>>}; ->>>// This should be an error -1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^-> -1 > - > -2 >// This should be an error -1 >Emitted(6, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(6, 27) Source(2, 27) + SourceIndex(0) ---- ->>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatES6.js b/tests/baselines/reference/outModuleConcatES6.js deleted file mode 100644 index 45e58d2d773..00000000000 --- a/tests/baselines/reference/outModuleConcatES6.js +++ /dev/null @@ -1,26 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatES6.ts] //// - -//// [a.ts] - -// This should be an error - -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - -//// [all.js] -// This should be an error -//# sourceMappingURL=all.js.map - -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/outModuleConcatES6.js.map b/tests/baselines/reference/outModuleConcatES6.js.map deleted file mode 100644 index bd3e6f58731..00000000000 --- a/tests/baselines/reference/outModuleConcatES6.js.map +++ /dev/null @@ -1,2 +0,0 @@ -//// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":"AACA,0BAA0B"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatES6.sourcemap.txt b/tests/baselines/reference/outModuleConcatES6.sourcemap.txt deleted file mode 100644 index 78b6e98ac15..00000000000 --- a/tests/baselines/reference/outModuleConcatES6.sourcemap.txt +++ /dev/null @@ -1,21 +0,0 @@ -=================================================================== -JsFile: all.js -mapUrl: all.js.map -sourceRoot: -sources: tests/cases/compiler/ref/a.ts,tests/cases/compiler/b.ts -=================================================================== -------------------------------------------------------------------- -emittedFile:all.js -sourceFile:tests/cases/compiler/ref/a.ts -------------------------------------------------------------------- ->>>// This should be an error -1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^-> -1 > - > -2 >// This should be an error -1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(1, 27) Source(2, 27) + SourceIndex(0) ---- ->>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatSystem.js b/tests/baselines/reference/outModuleConcatSystem.js index 59bbb363022..b23b73caf83 100644 --- a/tests/baselines/reference/outModuleConcatSystem.js +++ b/tests/baselines/reference/outModuleConcatSystem.js @@ -14,13 +14,13 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -System.register("ref/a", [], function(exports_1, context_1) { +System.register("ref/a", [], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var A; return { - setters:[], - execute: function() { + setters: [], + execute: function () { A = (function () { function A() { } @@ -28,19 +28,19 @@ System.register("ref/a", [], function(exports_1, context_1) { }()); exports_1("A", A); } - } + }; }); -System.register("b", ["ref/a"], function(exports_2, context_2) { +System.register("b", ["ref/a"], function (exports_2, context_2) { "use strict"; var __moduleName = context_2 && context_2.id; - var a_1; - var B; + var a_1, B; return { - setters:[ + setters: [ function (a_1_1) { a_1 = a_1_1; - }], - execute: function() { + } + ], + execute: function () { B = (function (_super) { __extends(B, _super); function B() { @@ -50,7 +50,7 @@ System.register("b", ["ref/a"], function(exports_2, context_2) { }(a_1.A)); exports_2("B", B); } - } + }; }); //# sourceMappingURL=all.js.map diff --git a/tests/baselines/reference/outModuleConcatSystem.js.map b/tests/baselines/reference/outModuleConcatSystem.js.map index be6e66c3cf4..59ab70de531 100644 --- a/tests/baselines/reference/outModuleConcatSystem.js.map +++ b/tests/baselines/reference/outModuleConcatSystem.js.map @@ -1,2 +1,2 @@ //// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;;;;;;;;YACA;gBAAA;gBAAiB,CAAC;gBAAD,QAAC;YAAD,CAAC,AAAlB,IAAkB;YAAlB,iBAAkB,CAAA;;;;;;;;;;;;;;;YCAlB;gBAAuB,qBAAC;gBAAxB;oBAAuB,8BAAC;gBAAG,CAAC;gBAAD,QAAC;YAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;YAA5B,iBAA4B,CAAA"} \ No newline at end of file +{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;;;;;;;;YACA;gBAAA;gBAAiB,CAAC;gBAAD,QAAC;YAAD,CAAC,AAAlB,IAAkB;;QAClB,CAAC;;;;;;;;;;;;;;YCDD;gBAAuB,qBAAC;gBAAxB;oBAAuB,8BAAC;gBAAG,CAAC;gBAAD,QAAC;YAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;;QAAA,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt b/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt index 0281bdec5bd..86573493e20 100644 --- a/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt +++ b/tests/baselines/reference/outModuleConcatSystem.sourcemap.txt @@ -13,13 +13,13 @@ sourceFile:tests/cases/compiler/ref/a.ts >>> function __() { this.constructor = d; } >>> d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); >>>}; ->>>System.register("ref/a", [], function(exports_1, context_1) { +>>>System.register("ref/a", [], function (exports_1, context_1) { >>> "use strict"; >>> var __moduleName = context_1 && context_1.id; >>> var A; >>> return { ->>> setters:[], ->>> execute: function() { +>>> setters: [], +>>> execute: function () { >>> A = (function () { 1 >^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^-> @@ -66,34 +66,32 @@ sourceFile:tests/cases/compiler/ref/a.ts 4 >Emitted(17, 18) Source(2, 19) + SourceIndex(0) --- >>> exports_1("A", A); -1->^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^ -1-> -2 > export class A { } -3 > -1->Emitted(18, 13) Source(2, 1) + SourceIndex(0) -2 >Emitted(18, 30) Source(2, 19) + SourceIndex(0) -3 >Emitted(18, 31) Source(2, 19) + SourceIndex(0) +>>> } +1->^^^^^^^^ +2 > ^ +1-> + > +2 > +1->Emitted(19, 9) Source(3, 1) + SourceIndex(0) +2 >Emitted(19, 10) Source(3, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:all.js sourceFile:tests/cases/compiler/b.ts ------------------------------------------------------------------- ->>> } ->>> } +>>> }; >>>}); ->>>System.register("b", ["ref/a"], function(exports_2, context_2) { +>>>System.register("b", ["ref/a"], function (exports_2, context_2) { >>> "use strict"; >>> var __moduleName = context_2 && context_2.id; ->>> var a_1; ->>> var B; +>>> var a_1, B; >>> return { ->>> setters:[ +>>> setters: [ >>> function (a_1_1) { >>> a_1 = a_1_1; ->>> }], ->>> execute: function() { +>>> } +>>> ], +>>> execute: function () { >>> B = (function (_super) { 1 >^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^-> @@ -162,17 +160,14 @@ sourceFile:tests/cases/compiler/b.ts 6 >Emitted(39, 23) Source(2, 29) + SourceIndex(1) --- >>> exports_2("B", B); -1->^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^ -1-> -2 > export class B extends A { } -3 > -1->Emitted(40, 13) Source(2, 1) + SourceIndex(1) -2 >Emitted(40, 30) Source(2, 29) + SourceIndex(1) -3 >Emitted(40, 31) Source(2, 29) + SourceIndex(1) ---- >>> } ->>> } +1->^^^^^^^^ +2 > ^ +1-> +2 > +1->Emitted(41, 9) Source(2, 29) + SourceIndex(1) +2 >Emitted(41, 10) Source(2, 30) + SourceIndex(1) +--- +>>> }; >>>}); >>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatUmd.js b/tests/baselines/reference/outModuleConcatUmd.js deleted file mode 100644 index 6c60a13c892..00000000000 --- a/tests/baselines/reference/outModuleConcatUmd.js +++ /dev/null @@ -1,31 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatUmd.ts] //// - -//// [a.ts] - -// This should error - -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - -//// [all.js] -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -// This should error -//# sourceMappingURL=all.js.map - -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/outModuleConcatUmd.js.map b/tests/baselines/reference/outModuleConcatUmd.js.map deleted file mode 100644 index 7a9fcd77bdf..00000000000 --- a/tests/baselines/reference/outModuleConcatUmd.js.map +++ /dev/null @@ -1,2 +0,0 @@ -//// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;AACA,oBAAoB"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleConcatUmd.sourcemap.txt b/tests/baselines/reference/outModuleConcatUmd.sourcemap.txt deleted file mode 100644 index d2fbe17fe65..00000000000 --- a/tests/baselines/reference/outModuleConcatUmd.sourcemap.txt +++ /dev/null @@ -1,26 +0,0 @@ -=================================================================== -JsFile: all.js -mapUrl: all.js.map -sourceRoot: -sources: tests/cases/compiler/ref/a.ts,tests/cases/compiler/b.ts -=================================================================== -------------------------------------------------------------------- -emittedFile:all.js -sourceFile:tests/cases/compiler/ref/a.ts -------------------------------------------------------------------- ->>>var __extends = (this && this.__extends) || function (d, b) { ->>> for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; ->>> function __() { this.constructor = d; } ->>> d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); ->>>}; ->>>// This should error -1 > -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^^^^^-> -1 > - > -2 >// This should error -1 >Emitted(6, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(6, 21) Source(2, 21) + SourceIndex(0) ---- ->>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/outModuleTripleSlashRefs.js.map b/tests/baselines/reference/outModuleTripleSlashRefs.js.map index 7d0c11de99c..c6e1aab6bc8 100644 --- a/tests/baselines/reference/outModuleTripleSlashRefs.js.map +++ b/tests/baselines/reference/outModuleTripleSlashRefs.js.map @@ -1,2 +1,2 @@ //// [all.js.map] -{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/b.ts","tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;AAAA,iCAAiC;AACjC;IAAA;IAEA,CAAC;IAAD,UAAC;AAAD,CAAC,AAFD,IAEC;;;ICFD,+BAA+B;IAC/B;QAAA;QAEA,CAAC;QAAD,QAAC;IAAD,CAAC,AAFD,IAEC;IAFY,SAAC,IAEb,CAAA;;;;ICHD;QAAuB,qBAAC;QAAxB;YAAuB,8BAAC;QAAG,CAAC;QAAD,QAAC;IAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;IAAf,SAAC,IAAc,CAAA"} \ No newline at end of file +{"version":3,"file":"all.js","sourceRoot":"","sources":["tests/cases/compiler/ref/b.ts","tests/cases/compiler/ref/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":";;;;;AAAA,iCAAiC;AACjC;IAAA;IAEA,CAAC;IAAD,UAAC;AAAD,CAAC,AAFD,IAEC;;;ICFD,+BAA+B;IAC/B;QAAA;QAEA,CAAC;QAAD,QAAC;IAAD,CAAC,AAFD,IAEC;IAFD,cAEC;;;;ICHD;QAAuB,qBAAC;QAAxB;YAAuB,8BAAC;QAAG,CAAC;QAAD,QAAC;IAAD,CAAC,AAA5B,CAAuB,KAAC,GAAI;IAA5B,cAA4B"} \ No newline at end of file diff --git a/tests/baselines/reference/outModuleTripleSlashRefs.sourcemap.txt b/tests/baselines/reference/outModuleTripleSlashRefs.sourcemap.txt index a689c611ef0..8be43826419 100644 --- a/tests/baselines/reference/outModuleTripleSlashRefs.sourcemap.txt +++ b/tests/baselines/reference/outModuleTripleSlashRefs.sourcemap.txt @@ -136,19 +136,13 @@ sourceFile:tests/cases/compiler/ref/a.ts --- >>> exports.A = A; 1->^^^^ -2 > ^^^^^^^^^ -3 > ^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^ 1-> -2 > A -3 > { - > member: typeof GlobalFoo; - > } -4 > -1->Emitted(20, 5) Source(3, 14) + SourceIndex(1) -2 >Emitted(20, 14) Source(3, 15) + SourceIndex(1) -3 >Emitted(20, 18) Source(5, 2) + SourceIndex(1) -4 >Emitted(20, 19) Source(5, 2) + SourceIndex(1) +2 > export class A { + > member: typeof GlobalFoo; + > } +1->Emitted(20, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(20, 19) Source(5, 2) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:all.js @@ -226,17 +220,11 @@ sourceFile:tests/cases/compiler/b.ts --- >>> exports.B = B; 1->^^^^ -2 > ^^^^^^^^^ -3 > ^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^ 1-> -2 > B -3 > extends A { } -4 > -1->Emitted(31, 5) Source(2, 14) + SourceIndex(2) -2 >Emitted(31, 14) Source(2, 15) + SourceIndex(2) -3 >Emitted(31, 18) Source(2, 29) + SourceIndex(2) -4 >Emitted(31, 19) Source(2, 29) + SourceIndex(2) +2 > export class B extends A { } +1->Emitted(31, 5) Source(2, 1) + SourceIndex(2) +2 >Emitted(31, 19) Source(2, 29) + SourceIndex(2) --- >>>}); >>>//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/tests/baselines/reference/overload1.errors.txt b/tests/baselines/reference/overload1.errors.txt index a1d8c5a6232..a88b4f81519 100644 --- a/tests/baselines/reference/overload1.errors.txt +++ b/tests/baselines/reference/overload1.errors.txt @@ -3,7 +3,7 @@ tests/cases/compiler/overload1.ts(29,1): error TS2322: Type 'number' is not assi tests/cases/compiler/overload1.ts(31,3): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/overload1.ts(32,3): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/compiler/overload1.ts(33,1): error TS2322: Type 'C' is not assignable to type 'string'. -tests/cases/compiler/overload1.ts(34,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/overload1.ts(34,9): error TS2345: Argument of type '2' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/overload1.ts (6 errors) ==== @@ -52,7 +52,7 @@ tests/cases/compiler/overload1.ts(34,9): error TS2345: Argument of type 'number' !!! error TS2322: Type 'C' is not assignable to type 'string'. z=x.h(2,2); // no match ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '2' is not assignable to parameter of type 'string'. z=x.h("hello",0); // good var v=x.g; diff --git a/tests/baselines/reference/overloadCallTest.types b/tests/baselines/reference/overloadCallTest.types index bd719311975..8b35c56bf57 100644 --- a/tests/baselines/reference/overloadCallTest.types +++ b/tests/baselines/reference/overloadCallTest.types @@ -13,13 +13,13 @@ class foo { function bar(foo?: string) { return "foo" }; >bar : { (): string; (s: string): any; } >foo : string ->"foo" : string +>"foo" : "foo" var test = bar("test"); >test : any >bar("test") : any >bar : { (): string; (s: string): any; } ->"test" : string +>"test" : "test" var goo = bar(); >goo : string @@ -31,7 +31,7 @@ class foo { >goo : string >bar("test") : any >bar : { (): string; (s: string): any; } ->"test" : string +>"test" : "test" } } diff --git a/tests/baselines/reference/overloadConsecutiveness.js b/tests/baselines/reference/overloadConsecutiveness.js index 68e478a30b5..6a245ea18fa 100644 --- a/tests/baselines/reference/overloadConsecutiveness.js +++ b/tests/baselines/reference/overloadConsecutiveness.js @@ -14,13 +14,15 @@ class C { //// [overloadConsecutiveness.js] // Making sure compiler won't break with declarations that are consecutive in the AST but not consecutive in the source. Syntax errors intentional. +function f1() { } +function f2() { } function f2() { } function f3() { } var C = (function () { function C() { } - C.prototype.m1 = ; - C.prototype.m2 = ; + C.prototype.m1 = function () { }; + C.prototype.m2 = function () { }; C.prototype.m2 = function () { }; C.prototype.m3 = function () { }; return C; diff --git a/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types b/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types index 10a185708d4..382fddfb78a 100644 --- a/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types +++ b/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types @@ -5,5 +5,5 @@ var f: (x: 'hi') => number = (x: 'hi') => { return 1; }; >x : "hi" >(x: 'hi') => { return 1; } : (x: "hi") => number >x : "hi" ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.types b/tests/baselines/reference/overloadOnConstConstraintChecks3.types index 0348d3d4b79..293d92d4674 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.types @@ -2,7 +2,7 @@ class A { private x = 1} >A : A >x : number ->1 : number +>1 : 1 class B extends A {} >B : B diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.types b/tests/baselines/reference/overloadOnConstConstraintChecks4.types index 6ca7288ead9..7b3900038d4 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.types @@ -6,7 +6,7 @@ class A extends Z { private x = 1 } >A : A >Z : Z >x : number ->1 : number +>1 : 1 class B extends A {} >B : B diff --git a/tests/baselines/reference/overloadOnConstInCallback1.types b/tests/baselines/reference/overloadOnConstInCallback1.types index c8c123df1e8..c9d954aa282 100644 --- a/tests/baselines/reference/overloadOnConstInCallback1.types +++ b/tests/baselines/reference/overloadOnConstInCallback1.types @@ -17,16 +17,16 @@ class C { callback('hi'); >callback('hi') : number >callback : (x: any) => number ->'hi' : string +>'hi' : "hi" callback('bye'); >callback('bye') : number >callback : (x: any) => number ->'bye' : string +>'bye' : "bye" var hm = "hm"; >hm : string ->"hm" : string +>"hm" : "hm" callback(hm); >callback(hm) : number diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation.errors.txt b/tests/baselines/reference/overloadOnConstNoAnyImplementation.errors.txt index fe5219606ff..0573c6ed79e 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/overloadOnConstNoAnyImplementation.ts(9,8): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/overloadOnConstNoAnyImplementation.ts(9,8): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/overloadOnConstNoAnyImplementation.ts (1 errors) ==== @@ -12,7 +12,7 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation.ts(9,8): error TS2345: A cb('uh'); cb(1); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. } var cb: (number) => number = (x: number) => 1; diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt index 8723a79d474..24047578ec6 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(12,18): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(12,18): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(18,9): error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. Type '"hi"' is not assignable to type '"bye"'. @@ -21,7 +21,7 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: callback(hm); callback(1); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. } } diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation.types b/tests/baselines/reference/overloadOnConstNoStringImplementation.types index 9161620841f..0fdbc97e380 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation.types @@ -20,16 +20,16 @@ function x2(a: number, cb: (x: any) => number) { cb('hi'); >cb('hi') : number >cb : (x: any) => number ->'hi' : string +>'hi' : "hi" cb('bye'); >cb('bye') : number >cb : (x: any) => number ->'bye' : string +>'bye' : "bye" var hm = 'hm'; >hm : string ->'hm' : string +>'hm' : "hm" cb(hm); // should this work without a string definition? >cb(hm) : number @@ -39,12 +39,12 @@ function x2(a: number, cb: (x: any) => number) { cb('uh'); >cb('uh') : number >cb : (x: any) => number ->'uh' : string +>'uh' : "uh" cb(1); >cb(1) : number >cb : (x: any) => number ->1 : number +>1 : 1 } var cb: (number) => number = (x: number) => 1; @@ -52,27 +52,27 @@ var cb: (number) => number = (x: number) => 1; >number : any >(x: number) => 1 : (x: number) => number >x : number ->1 : number +>1 : 1 x2(1, cb); // error >x2(1, cb) : any >x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } ->1 : number +>1 : 1 >cb : (number: any) => number x2(1, (x: 'hi') => 1); // error >x2(1, (x: 'hi') => 1) : any >x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } ->1 : number +>1 : 1 >(x: 'hi') => 1 : (x: "hi") => number >x : "hi" ->1 : number +>1 : 1 x2(1, (x: string) => 1); >x2(1, (x: string) => 1) : any >x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } ->1 : number +>1 : 1 >(x: string) => 1 : (x: string) => number >x : string ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/overloadResolution.errors.txt b/tests/baselines/reference/overloadResolution.errors.txt index e0a65f7475e..b8b2cdfe888 100644 --- a/tests/baselines/reference/overloadResolution.errors.txt +++ b/tests/baselines/reference/overloadResolution.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(27,5): error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(41,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(41,11): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(63,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(70,21): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(71,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(70,21): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(71,21): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(81,5): error TS2344: Type 'boolean' does not satisfy the constraint 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(84,5): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(85,11): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(84,5): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(85,11): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'n' must be of type 'number', but here has type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,22): error TS2339: Property 'toFixed' does not exist on type 'string'. @@ -55,7 +55,7 @@ tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,22): // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments fn2('', 0); // Error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments fn2('', 0); // OK @@ -88,10 +88,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,22): fn4('', 3); fn4(3, ''); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. fn4('', 3); // Error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. fn4(3, ''); // Generic overloads with constraints called without type arguments but with types that satisfy the constraints @@ -108,10 +108,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,22): // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4(true, null); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. fn4(null, true); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. // Non - generic overloads where contextual typing of function arguments has errors function fn5(f: (n: string) => void): string; diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.errors.txt b/tests/baselines/reference/overloadResolutionClassConstructors.errors.txt index c6737c3d792..4c8e9b2513a 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.errors.txt +++ b/tests/baselines/reference/overloadResolutionClassConstructors.errors.txt @@ -2,14 +2,14 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstru tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(60,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(61,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(65,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(73,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(73,25): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(74,9): error TS2344: Type 'number' does not satisfy the constraint 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(75,9): error TS2344: Type 'number' does not satisfy the constraint 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(79,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(80,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(79,9): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(80,9): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(84,9): error TS2344: Type 'boolean' does not satisfy the constraint 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(87,9): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(88,15): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(87,9): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(88,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(96,18): error TS2339: Property 'toFixed' does not exist on type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts(98,18): error TS2339: Property 'blah' does not exist on type 'string'. @@ -97,7 +97,7 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstru new fn4('', 3); new fn4(3, ''); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new fn4('', 3); // Error ~~~~~~ !!! error TS2344: Type 'number' does not satisfy the constraint 'string'. @@ -109,10 +109,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstru new fn4('', 3); new fn4(3, ''); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new fn4(3, undefined); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new fn4('', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints @@ -123,10 +123,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstru // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. new fn4(null, true); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. // Non - generic overloads where contextual typing of function arguments has errors class fn5 { diff --git a/tests/baselines/reference/overloadResolutionConstructors.errors.txt b/tests/baselines/reference/overloadResolutionConstructors.errors.txt index 540e12774c7..9a112eaf2ef 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.errors.txt +++ b/tests/baselines/reference/overloadResolutionConstructors.errors.txt @@ -1,11 +1,11 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(27,9): error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(43,15): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(43,15): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(67,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(77,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(78,25): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(77,25): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(78,25): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(88,9): error TS2344: Type 'boolean' does not satisfy the constraint 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(91,9): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. -tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(92,15): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(91,9): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. +tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(92,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(100,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'n' must be of type 'number', but here has type 'string'. tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts(100,26): error TS2339: Property 'toFixed' does not exist on type 'string'. @@ -57,7 +57,7 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments new fn2('', 0); // Error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. // Generic and non - generic overload where non - generic overload is the only candidate when called without type arguments new fn2('', 0); // OK @@ -95,10 +95,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors new fn4('', 3); new fn4(3, ''); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new fn4('', 3); // Error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. new fn4(3, ''); // Generic overloads with constraints called without type arguments but with types that satisfy the constraints @@ -115,10 +115,10 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. new fn4(null, true); // Error ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. // Non - generic overloads where contextual typing of function arguments has errors interface fn5 { diff --git a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types index 066015389d2..ee5c336ba9c 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types @@ -27,7 +27,7 @@ module Bugs { >index : any >rest[0] : any >rest : any[] ->0 : number +>0 : 0 return typeof args[index] !== 'undefined' >typeof args[index] !== 'undefined' ? args[index] : match : any @@ -36,7 +36,7 @@ module Bugs { >args[index] : any >args : any[] >index : any ->'undefined' : string +>'undefined' : "undefined" ? args[index] >args[index] : any @@ -58,7 +58,7 @@ function bug3(f:(x:string)=>string) { return f("s") } >x : string >f("s") : string >f : (x: string) => string ->"s" : string +>"s" : "s" function fprime(x:string):string { return x; } >fprime : (x: string) => string diff --git a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types index e6ff0cda468..d5a06781eec 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types @@ -46,11 +46,11 @@ module Bugs { >push : (...items: IToken[]) => number >{ startIndex: 1, type: '', bracket: 3 } : { startIndex: number; type: string; bracket: number; } >startIndex : number ->1 : number +>1 : 1 >type : string ->'' : string +>'' : "" >bracket : number ->3 : number +>3 : 3 tokens.push(({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 })); >tokens.push(({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 })) : number @@ -62,14 +62,14 @@ module Bugs { >({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 }) : { startIndex: number; type: string; bracket: number; state: null; length: number; } >{ startIndex: 1, type: '', bracket: 3, state: null, length: 10 } : { startIndex: number; type: string; bracket: number; state: null; length: number; } >startIndex : number ->1 : number +>1 : 1 >type : string ->'' : string +>'' : "" >bracket : number ->3 : number +>3 : 3 >state : null >null : null >length : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/overloadResolutionTest1.errors.txt b/tests/baselines/reference/overloadResolutionTest1.errors.txt index 9f51c0fa10b..1bb1fb2041a 100644 --- a/tests/baselines/reference/overloadResolutionTest1.errors.txt +++ b/tests/baselines/reference/overloadResolutionTest1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/overloadResolutionTest1.ts(8,16): error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. - Type '{ a: string; }' is not assignable to type '{ a: boolean; }'. +tests/cases/compiler/overloadResolutionTest1.ts(8,16): error TS2345: Argument of type '{ a: "s"; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. + Type '{ a: "s"; }' is not assignable to type '{ a: boolean; }'. Types of property 'a' are incompatible. - Type 'string' is not assignable to type 'boolean'. -tests/cases/compiler/overloadResolutionTest1.ts(19,15): error TS2345: Argument of type '{ a: string; }' is not assignable to parameter of type '{ a: boolean; }'. + Type '"s"' is not assignable to type 'boolean'. +tests/cases/compiler/overloadResolutionTest1.ts(19,15): error TS2345: Argument of type '{ a: "s"; }' is not assignable to parameter of type '{ a: boolean; }'. Types of property 'a' are incompatible. - Type 'string' is not assignable to type 'boolean'. + Type '"s"' is not assignable to type 'boolean'. tests/cases/compiler/overloadResolutionTest1.ts(25,14): error TS2345: Argument of type '{ a: boolean; }' is not assignable to parameter of type '{ a: string; }'. Types of property 'a' are incompatible. Type 'boolean' is not assignable to type 'string'. @@ -20,10 +20,10 @@ tests/cases/compiler/overloadResolutionTest1.ts(25,14): error TS2345: Argument o var x11 = foo([{a:0}]); // works var x111 = foo([{a:"s"}]); // error - does not match any signature ~~~~~~~~~ -!!! error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. -!!! error TS2345: Type '{ a: string; }' is not assignable to type '{ a: boolean; }'. +!!! error TS2345: Argument of type '{ a: "s"; }[]' is not assignable to parameter of type '{ a: boolean; }[]'. +!!! error TS2345: Type '{ a: "s"; }' is not assignable to type '{ a: boolean; }'. !!! error TS2345: Types of property 'a' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'boolean'. +!!! error TS2345: Type '"s"' is not assignable to type 'boolean'. var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the first in the overload set so this returns a string @@ -36,9 +36,9 @@ tests/cases/compiler/overloadResolutionTest1.ts(25,14): error TS2345: Argument o var x3 = foo2({a:true}); // works var x4 = foo2({a:"s"}); // error ~~~~~~~ -!!! error TS2345: Argument of type '{ a: string; }' is not assignable to parameter of type '{ a: boolean; }'. +!!! error TS2345: Argument of type '{ a: "s"; }' is not assignable to parameter of type '{ a: boolean; }'. !!! error TS2345: Types of property 'a' are incompatible. -!!! error TS2345: Type 'string' is not assignable to type 'boolean'. +!!! error TS2345: Type '"s"' is not assignable to type 'boolean'. function foo4(bar:{a:number;}):number; diff --git a/tests/baselines/reference/overloadResolutionWithAny.types b/tests/baselines/reference/overloadResolutionWithAny.types index e66368d3554..362c70f6162 100644 --- a/tests/baselines/reference/overloadResolutionWithAny.types +++ b/tests/baselines/reference/overloadResolutionWithAny.types @@ -13,12 +13,12 @@ var func: { func(""); // number >func("") : number >func : { (s: string): number; (s: any): string; } ->"" : string +>"" : "" func(3); // string >func(3) : string >func : { (s: string): number; (s: any): string; } ->3 : number +>3 : 3 var x: any; >x : any @@ -58,18 +58,18 @@ func2(x, x); // string func2("", ""); // number >func2("", "") : number >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } ->"" : string ->"" : string +>"" : "" +>"" : "" func2(x, ""); // boolean >func2(x, "") : boolean >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } >x : any ->"" : string +>"" : "" func2("", x); // RegExp >func2("", x) : RegExp >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } ->"" : string +>"" : "" >x : any diff --git a/tests/baselines/reference/overloadReturnTypes.types b/tests/baselines/reference/overloadReturnTypes.types index 3de1aec1196..c0f573fb980 100644 --- a/tests/baselines/reference/overloadReturnTypes.types +++ b/tests/baselines/reference/overloadReturnTypes.types @@ -28,7 +28,7 @@ function attr(nameOrMap: any, value?: string): any { >typeof nameOrMap === "object" : boolean >typeof nameOrMap : string >nameOrMap : any ->"object" : string +>"object" : "object" // handle map case return new Accessor; @@ -38,7 +38,7 @@ function attr(nameOrMap: any, value?: string): any { else { // handle string case return "s"; ->"s" : string +>"s" : "s" } } diff --git a/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.types b/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.types index b9ea7d98270..9b44e197cd8 100644 --- a/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.types +++ b/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.types @@ -18,12 +18,12 @@ x2(() => 1); >x2(() => 1) : any >x2 : { (callback: (x?: number) => number): any; (callback: (x: string) => number): any; } >() => 1 : () => number ->1 : number +>1 : 1 x2((x) => 1 ); >x2((x) => 1 ) : any >x2 : { (callback: (x?: number) => number): any; (callback: (x: string) => number): any; } >(x) => 1 : (x: number) => number >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArity.types b/tests/baselines/reference/overloadsAndTypeArgumentArity.types index b69f394e83d..bd86c19beb9 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArity.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArity.types @@ -24,10 +24,10 @@ declare function Callbacks(flags?: string): void; Callbacks('s'); // no error >Callbacks('s') : void >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } ->'s' : string +>'s' : "s" new Callbacks('s'); // no error >new Callbacks('s') : any >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } ->'s' : string +>'s' : "s" diff --git a/tests/baselines/reference/overloadsWithConstraints.types b/tests/baselines/reference/overloadsWithConstraints.types index b045904ece5..87974482f43 100644 --- a/tests/baselines/reference/overloadsWithConstraints.types +++ b/tests/baselines/reference/overloadsWithConstraints.types @@ -19,5 +19,5 @@ var v = f(""); >v : string >f("") : string >f : { (x: T): T; (x: T): T; } ->"" : string +>"" : "" diff --git a/tests/baselines/reference/parameterReferenceInInitializer1.js b/tests/baselines/reference/parameterReferenceInInitializer1.js index 51f98603de8..c1ebb1722d6 100644 --- a/tests/baselines/reference/parameterReferenceInInitializer1.js +++ b/tests/baselines/reference/parameterReferenceInInitializer1.js @@ -18,9 +18,9 @@ function fn(y, set) { } var C = (function () { function C(y, x // expected to work, but actually doesn't - ) { - if (x === void 0) { x = fn(y, function (y, x) { return y.x = x; }); } - this.x = x; + ) { + if (x === void 0) { x = fn(y, function (y, x) { return y.x = x; }); } // expected to work, but actually doesn't + this.x = x; // expected to work, but actually doesn't } return C; }()); diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.types b/tests/baselines/reference/parenthesizedContexualTyping1.types index 61ec1a24ec5..387e80d349f 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping1.types +++ b/tests/baselines/reference/parenthesizedContexualTyping1.types @@ -50,7 +50,7 @@ var a = fun(x => x, 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var b = fun((x => x), 10); >b : number @@ -60,7 +60,7 @@ var b = fun((x => x), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var c = fun(((x => x)), 10); >c : number @@ -71,7 +71,7 @@ var c = fun(((x => x)), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var d = fun((((x => x))), 10); >d : number @@ -83,7 +83,7 @@ var d = fun((((x => x))), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var e = fun(x => x, x => x, 10); >e : number @@ -95,7 +95,7 @@ var e = fun(x => x, x => x, 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var f = fun((x => x), (x => x), 10); >f : number @@ -109,7 +109,7 @@ var f = fun((x => x), (x => x), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var g = fun(((x => x)), ((x => x)), 10); >g : number @@ -125,7 +125,7 @@ var g = fun(((x => x)), ((x => x)), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var h = fun((((x => x))), ((x => x)), 10); >h : number @@ -142,7 +142,7 @@ var h = fun((((x => x))), ((x => x)), 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 // Ternaries in parens var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); @@ -156,14 +156,14 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >x => x : (x: number) => number >x : number >x : number >x => undefined : (x: number) => any >x : number >undefined : undefined ->10 : number +>10 : 10 var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >j : number @@ -176,7 +176,7 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >(x => x) : (x: number) => number >x => x : (x: number) => number >x : number @@ -185,7 +185,7 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >x => undefined : (x: number) => any >x : number >undefined : undefined ->10 : number +>10 : 10 var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >k : number @@ -198,7 +198,7 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >(x => x) : (x: number) => number >x => x : (x: number) => number >x : number @@ -210,7 +210,7 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10); >l : number @@ -224,7 +224,7 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >((x => x)) : (x: number) => number >(x => x) : (x: number) => number >x => x : (x: number) => number @@ -240,7 +240,7 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var lambda1: (x: number) => number = x => x; >lambda1 : (x: number) => number diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index a055f2f1bbd..7944f6f43de 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.types +++ b/tests/baselines/reference/parenthesizedContexualTyping2.types @@ -6,7 +6,7 @@ // back if contextual typing is not taking effect. type FuncType = (x: (p: T) => T) => typeof x; ->FuncType : (x: (p: T) => T) => (p: T) => T +>FuncType : FuncType >x : (p: T) => T >T : T >p : T @@ -15,27 +15,27 @@ type FuncType = (x: (p: T) => T) => typeof x; >x : (p: T) => T function fun(f: FuncType, x: T): T; ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >T : T ->f : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>f : FuncType +>FuncType : FuncType >x : T >T : T >T : T function fun(f: FuncType, g: FuncType, x: T): T; ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >T : T ->f : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T ->g : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>f : FuncType +>FuncType : FuncType +>g : FuncType +>FuncType : FuncType >x : T >T : T >T : T function fun(...rest: any[]): T { ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >T : T >rest : any[] >T : T @@ -46,20 +46,20 @@ function fun(...rest: any[]): T { var a = fun(x => { x(undefined); return x; }, 10); >a : number ->fun(x => { x(undefined); return x; }, 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun(x => { x(undefined); return x; }, 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var b = fun((x => { x(undefined); return x; }), 10); >b : number ->fun((x => { x(undefined); return x; }), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((x => { x(undefined); return x; }), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -67,12 +67,12 @@ var b = fun((x => { x(undefined); return x; }), 10); >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var c = fun(((x => { x(undefined); return x; })), 10); >c : number ->fun(((x => { x(undefined); return x; })), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun(((x => { x(undefined); return x; })), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -81,12 +81,12 @@ var c = fun(((x => { x(undefined); return x; })), 10); >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var d = fun((((x => { x(undefined); return x; }))), 10); >d : number ->fun((((x => { x(undefined); return x; }))), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((((x => { x(undefined); return x; }))), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T @@ -96,12 +96,12 @@ var d = fun((((x => { x(undefined); return x; }))), 10); >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var e = fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10); >e : number ->fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number @@ -114,12 +114,12 @@ var e = fun(x => { x(undefined); return x; }, x => { x(undefined >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var f = fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10); >f : number ->fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -134,12 +134,12 @@ var f = fun((x => { x(undefined); return x; }),(x => { x(undefin >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var g = fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10); >g : number ->fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -156,12 +156,12 @@ var g = fun(((x => { x(undefined); return x; })),((x => { x(unde >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var h = fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10); >h : number ->fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T @@ -179,13 +179,13 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 // Ternaries in parens var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10); >i : number ->fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -193,7 +193,7 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number @@ -203,12 +203,12 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x >x => undefined : (x: (p: T) => T) => any >x : (p: T) => T >undefined : undefined ->10 : number +>10 : 10 var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10); >j : number ->fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -216,7 +216,7 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -228,12 +228,12 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >x => undefined : (x: (p: T) => T) => any >x : (p: T) => T >undefined : undefined ->10 : number +>10 : 10 var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10); >k : number ->fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -241,7 +241,7 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -259,12 +259,12 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10); >l : number ->fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10) : number ->fun : { (f: (x: (p: T) => T) => (p: T) => T, x: T): T; (f: (x: (p: T) => T) => (p: T) => T, g: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10) : 10 +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } >((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))) : (x: (p: T) => T) => any >(Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined))) : (x: (p: T) => T) => any >Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)) : (x: (p: T) => T) => any @@ -273,7 +273,7 @@ var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) >Math.random : () => number >Math : Math >random : () => number ->0.5 : number +>0.5 : 0.5 >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -295,11 +295,11 @@ var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 var lambda1: FuncType = x => { x(undefined); return x; }; ->lambda1 : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>lambda1 : FuncType +>FuncType : FuncType >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number @@ -308,8 +308,8 @@ var lambda1: FuncType = x => { x(undefined); return x; }; >x : (p: T) => T var lambda2: FuncType = (x => { x(undefined); return x; }); ->lambda2 : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>lambda2 : FuncType +>FuncType : FuncType >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T diff --git a/tests/baselines/reference/parenthesizedContexualTyping3.types b/tests/baselines/reference/parenthesizedContexualTyping3.types index 5d424e5a7b0..522228b260d 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping3.types +++ b/tests/baselines/reference/parenthesizedContexualTyping3.types @@ -62,7 +62,7 @@ var a = tempFun `${ x => x } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var b = tempFun `${ (x => x) } ${ 10 }` >b : number @@ -73,7 +73,7 @@ var b = tempFun `${ (x => x) } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var c = tempFun `${ ((x => x)) } ${ 10 }` >c : number @@ -85,7 +85,7 @@ var c = tempFun `${ ((x => x)) } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var d = tempFun `${ x => x } ${ x => x } ${ 10 }` >d : number @@ -98,7 +98,7 @@ var d = tempFun `${ x => x } ${ x => x } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` >e : number @@ -112,7 +112,7 @@ var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` >f : number @@ -127,7 +127,7 @@ var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` >g : number @@ -144,7 +144,7 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` >x => x : (x: number) => number >x : number >x : number ->10 : number +>10 : 10 var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` >h : any diff --git a/tests/baselines/reference/parseClassDeclarationInStrictModeByDefaultInES6.errors.txt b/tests/baselines/reference/parseClassDeclarationInStrictModeByDefaultInES6.errors.txt index 6f45030a650..16eb82ecb34 100644 --- a/tests/baselines/reference/parseClassDeclarationInStrictModeByDefaultInES6.errors.txt +++ b/tests/baselines/reference/parseClassDeclarationInStrictModeByDefaultInES6.errors.txt @@ -1,7 +1,7 @@ tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(4,16): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode. tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(5,17): error TS1210: Invalid use of 'eval'. Class definitions are automatically in strict mode. tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode. -tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS2322: Type 'string' is not assignable to type 'IArguments'. +tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts(6,9): error TS2322: Type '"hello"' is not assignable to type 'IArguments'. ==== tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeByDefaultInES6.ts (4 errors) ==== @@ -18,6 +18,6 @@ tests/cases/conformance/es6/classDeclaration/parseClassDeclarationInStrictModeBy ~~~~~~~~~ !!! error TS1210: Invalid use of 'arguments'. Class definitions are automatically in strict mode. ~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'IArguments'. +!!! error TS2322: Type '"hello"' is not assignable to type 'IArguments'. } } \ No newline at end of file diff --git a/tests/baselines/reference/parseObjectLiteralsWithoutTypes.js b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.js new file mode 100644 index 00000000000..4872cb8773b --- /dev/null +++ b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.js @@ -0,0 +1,10 @@ +//// [parseObjectLiteralsWithoutTypes.ts] +let x: { foo, bar } +let y: { foo: number, bar } +let z: { foo, bar: number } + + +//// [parseObjectLiteralsWithoutTypes.js] +var x; +var y; +var z; diff --git a/tests/baselines/reference/parseObjectLiteralsWithoutTypes.symbols b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.symbols new file mode 100644 index 00000000000..1e0bd775d10 --- /dev/null +++ b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/parseObjectLiteralsWithoutTypes.ts === +let x: { foo, bar } +>x : Symbol(x, Decl(parseObjectLiteralsWithoutTypes.ts, 0, 3)) +>foo : Symbol(foo, Decl(parseObjectLiteralsWithoutTypes.ts, 0, 8)) +>bar : Symbol(bar, Decl(parseObjectLiteralsWithoutTypes.ts, 0, 13)) + +let y: { foo: number, bar } +>y : Symbol(y, Decl(parseObjectLiteralsWithoutTypes.ts, 1, 3)) +>foo : Symbol(foo, Decl(parseObjectLiteralsWithoutTypes.ts, 1, 8)) +>bar : Symbol(bar, Decl(parseObjectLiteralsWithoutTypes.ts, 1, 21)) + +let z: { foo, bar: number } +>z : Symbol(z, Decl(parseObjectLiteralsWithoutTypes.ts, 2, 3)) +>foo : Symbol(foo, Decl(parseObjectLiteralsWithoutTypes.ts, 2, 8)) +>bar : Symbol(bar, Decl(parseObjectLiteralsWithoutTypes.ts, 2, 13)) + diff --git a/tests/baselines/reference/parseObjectLiteralsWithoutTypes.types b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.types new file mode 100644 index 00000000000..dcd9cb79d19 --- /dev/null +++ b/tests/baselines/reference/parseObjectLiteralsWithoutTypes.types @@ -0,0 +1,16 @@ +=== tests/cases/compiler/parseObjectLiteralsWithoutTypes.ts === +let x: { foo, bar } +>x : { foo: any; bar: any; } +>foo : any +>bar : any + +let y: { foo: number, bar } +>y : { foo: number; bar: any; } +>foo : number +>bar : any + +let z: { foo, bar: number } +>z : { foo: any; bar: number; } +>foo : any +>bar : number + diff --git a/tests/baselines/reference/parseRegularExpressionMixedWithComments.js b/tests/baselines/reference/parseRegularExpressionMixedWithComments.js index 78752a77f75..a955ba31f2f 100644 --- a/tests/baselines/reference/parseRegularExpressionMixedWithComments.js +++ b/tests/baselines/reference/parseRegularExpressionMixedWithComments.js @@ -10,5 +10,5 @@ var regex5 = /**// asdf/**/ /; var regex1 = / asdf /; var regex2 = / asdf /; var regex3 = 1; -var regex4 = Math.pow(/ /, /asdf /); -var regex5 = Math.pow(/ asdf/, / /); +var regex4 = Math.pow(/**/ / /, /asdf /); +var regex5 = Math.pow(/**/ / asdf/, / /); diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt b/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt index 940083ca93a..2c721724b3e 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt +++ b/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(16,15): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'boolean' is not a valid type argument because it is not a supertype of candidate 'string'. + Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'false'. tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(25,1): error TS2304: Cannot find name 'runTestCase'. @@ -22,7 +22,7 @@ tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(25,1): error T var a = new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3)); ~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'boolean' is not a valid type argument because it is not a supertype of candidate 'string'. +!!! error TS2453: Type argument candidate 'number' is not a valid type argument because it is not a supertype of candidate 'false'. if (a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3) a.indexOf(0) === 7 && // a[7] = +0, 0===+0 a.indexOf(-0) === 7 && // a[7] = +0, -0===+0 diff --git a/tests/baselines/reference/parser509546_2.types b/tests/baselines/reference/parser509546_2.types index 211553286a5..819b972254d 100644 --- a/tests/baselines/reference/parser509546_2.types +++ b/tests/baselines/reference/parser509546_2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509546_2.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" export class Logger { >Logger : Logger diff --git a/tests/baselines/reference/parser630933.types b/tests/baselines/reference/parser630933.types index 3f991f58d30..9a0ba9e7205 100644 --- a/tests/baselines/reference/parser630933.types +++ b/tests/baselines/reference/parser630933.types @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser630933.ts === var a = "Hello"; >a : string ->"Hello" : string +>"Hello" : "Hello" var b = a.match(/\/ver=([^/]+)/); >b : RegExpMatchArray diff --git a/tests/baselines/reference/parser768531.types b/tests/baselines/reference/parser768531.types index 434535b5cc9..17bae7161fa 100644 --- a/tests/baselines/reference/parser768531.types +++ b/tests/baselines/reference/parser768531.types @@ -2,7 +2,7 @@ {a: 3} >a : any ->3 : number +>3 : 3 /x/ >/x/ : RegExp diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic3.js b/tests/baselines/reference/parserAccessibilityAfterStatic3.js index 7a9ae06e439..38202bc5dc8 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic3.js +++ b/tests/baselines/reference/parserAccessibilityAfterStatic3.js @@ -9,6 +9,6 @@ static public = 1; var Outer = (function () { function Outer() { } - Outer.public = 1; return Outer; }()); +Outer.public = 1; diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic3.types b/tests/baselines/reference/parserAccessibilityAfterStatic3.types index c85c5077392..3bf87f8807f 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic3.types +++ b/tests/baselines/reference/parserAccessibilityAfterStatic3.types @@ -4,6 +4,6 @@ class Outer { static public = 1; >public : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.types b/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.types index bdeb5ab7bbc..234375fb46d 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.types +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.types @@ -17,5 +17,5 @@ function f1() { >(c + 1) : any >c + 1 : any >c : any ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.types b/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.types index 79eb212163e..ed3b4b903bb 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.types +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.types @@ -17,5 +17,5 @@ function f() { >(c + 1) : any >c + 1 : any >c : any ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.types b/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.types index aba5f4872d8..61601d8bdf6 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.types +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.types @@ -17,6 +17,6 @@ function f() { >(c + 1) : any >c + 1 : any >c : any ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/parserArrayLiteralExpression10.types b/tests/baselines/reference/parserArrayLiteralExpression10.types index 370e9fb6c9d..7960490e7cf 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression10.types +++ b/tests/baselines/reference/parserArrayLiteralExpression10.types @@ -2,6 +2,6 @@ var v = [1,1,]; >v : number[] >[1,1,] : number[] ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression11.types b/tests/baselines/reference/parserArrayLiteralExpression11.types index aba6e30a291..36491c96655 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression11.types +++ b/tests/baselines/reference/parserArrayLiteralExpression11.types @@ -2,7 +2,7 @@ var v = [1,,1]; >v : number[] >[1,,1] : number[] ->1 : number +>1 : 1 > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression12.types b/tests/baselines/reference/parserArrayLiteralExpression12.types index 7d9e4c38976..cd861667501 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression12.types +++ b/tests/baselines/reference/parserArrayLiteralExpression12.types @@ -2,8 +2,8 @@ var v = [1,,,1]; >v : number[] >[1,,,1] : number[] ->1 : number +>1 : 1 > : undefined > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression13.types b/tests/baselines/reference/parserArrayLiteralExpression13.types index 62fb9aea5f7..7d377e9ac5a 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression13.types +++ b/tests/baselines/reference/parserArrayLiteralExpression13.types @@ -2,9 +2,9 @@ var v = [1,,1,,1]; >v : number[] >[1,,1,,1] : number[] ->1 : number +>1 : 1 > : undefined ->1 : number +>1 : 1 > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression14.types b/tests/baselines/reference/parserArrayLiteralExpression14.types index 9d3a029aed2..aa08d2b13d0 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression14.types +++ b/tests/baselines/reference/parserArrayLiteralExpression14.types @@ -4,13 +4,13 @@ var v = [,,1,1,,1,,1,1,,1]; >[,,1,1,,1,,1,1,,1] : number[] > : undefined > : undefined ->1 : number ->1 : number +>1 : 1 +>1 : 1 > : undefined ->1 : number +>1 : 1 > : undefined ->1 : number ->1 : number +>1 : 1 +>1 : 1 > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression15.types b/tests/baselines/reference/parserArrayLiteralExpression15.types index 75afab3731c..7f7b855a007 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression15.types +++ b/tests/baselines/reference/parserArrayLiteralExpression15.types @@ -4,13 +4,13 @@ var v = [,,1,1,,1,,1,1,,1,]; >[,,1,1,,1,,1,1,,1,] : number[] > : undefined > : undefined ->1 : number ->1 : number +>1 : 1 +>1 : 1 > : undefined ->1 : number +>1 : 1 > : undefined ->1 : number ->1 : number +>1 : 1 +>1 : 1 > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression5.types b/tests/baselines/reference/parserArrayLiteralExpression5.types index 48fdaa024fc..b1b2e59b8d4 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression5.types +++ b/tests/baselines/reference/parserArrayLiteralExpression5.types @@ -2,5 +2,5 @@ var v = [1]; >v : number[] >[1] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression6.types b/tests/baselines/reference/parserArrayLiteralExpression6.types index 66df1cda219..f13db817901 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression6.types +++ b/tests/baselines/reference/parserArrayLiteralExpression6.types @@ -3,5 +3,5 @@ var v = [,1]; >v : number[] >[,1] : number[] > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression7.types b/tests/baselines/reference/parserArrayLiteralExpression7.types index 65225500eb2..35d786ea67b 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression7.types +++ b/tests/baselines/reference/parserArrayLiteralExpression7.types @@ -2,5 +2,5 @@ var v = [1,]; >v : number[] >[1,] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression8.types b/tests/baselines/reference/parserArrayLiteralExpression8.types index e14c99f3b57..7ea2b3b8e5c 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression8.types +++ b/tests/baselines/reference/parserArrayLiteralExpression8.types @@ -3,5 +3,5 @@ var v = [,1,]; >v : number[] >[,1,] : number[] > : undefined ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserArrayLiteralExpression9.types b/tests/baselines/reference/parserArrayLiteralExpression9.types index 96bb1595326..3dc1326c812 100644 --- a/tests/baselines/reference/parserArrayLiteralExpression9.types +++ b/tests/baselines/reference/parserArrayLiteralExpression9.types @@ -2,6 +2,6 @@ var v = [1,1]; >v : number[] >[1,1] : number[] ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/parserDoStatement2.types b/tests/baselines/reference/parserDoStatement2.types index 5affaa958d6..9e83f6ad6d2 100644 --- a/tests/baselines/reference/parserDoStatement2.types +++ b/tests/baselines/reference/parserDoStatement2.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserDoStatement2.ts === do{;}while(false)false ->false : boolean ->false : boolean +>false : false +>false : false diff --git a/tests/baselines/reference/parserES5ForOfStatement4.js b/tests/baselines/reference/parserES5ForOfStatement4.js index 8ad35187e51..79bee90168d 100644 --- a/tests/baselines/reference/parserES5ForOfStatement4.js +++ b/tests/baselines/reference/parserES5ForOfStatement4.js @@ -4,5 +4,5 @@ for (var a = 1 of X) { //// [parserES5ForOfStatement4.js] for (var _i = 0, X_1 = X; _i < X_1.length; _i++) { - var a = 1 = X_1[_i]; + var a = X_1[_i]; } diff --git a/tests/baselines/reference/parserES5ForOfStatement6.js b/tests/baselines/reference/parserES5ForOfStatement6.js index 75454de208e..fd3c20d9484 100644 --- a/tests/baselines/reference/parserES5ForOfStatement6.js +++ b/tests/baselines/reference/parserES5ForOfStatement6.js @@ -4,5 +4,5 @@ for (var a = 1, b = 2 of X) { //// [parserES5ForOfStatement6.js] for (var _i = 0, X_1 = X; _i < X_1.length; _i++) { - var a = 1 = X_1[_i]; + var a = X_1[_i]; } diff --git a/tests/baselines/reference/parserES5ForOfStatement7.js b/tests/baselines/reference/parserES5ForOfStatement7.js index ef3a02e45eb..f1c0fd394db 100644 --- a/tests/baselines/reference/parserES5ForOfStatement7.js +++ b/tests/baselines/reference/parserES5ForOfStatement7.js @@ -4,5 +4,5 @@ for (var a: number = 1, b: string = "" of X) { //// [parserES5ForOfStatement7.js] for (var _i = 0, X_1 = X; _i < X_1.length; _i++) { - var a = 1 = X_1[_i]; + var a = X_1[_i]; } diff --git a/tests/baselines/reference/parserEmptyStatement1.types b/tests/baselines/reference/parserEmptyStatement1.types index a581dd6e871..1cb1e33b2b8 100644 --- a/tests/baselines/reference/parserEmptyStatement1.types +++ b/tests/baselines/reference/parserEmptyStatement1.types @@ -2,7 +2,7 @@ ; ; var a = 1; >a : number ->1 : number +>1 : 1 ; diff --git a/tests/baselines/reference/parserEnum1.types b/tests/baselines/reference/parserEnum1.types index 34d11a1858d..42161656a1e 100644 --- a/tests/baselines/reference/parserEnum1.types +++ b/tests/baselines/reference/parserEnum1.types @@ -6,21 +6,21 @@ None = 0, >None : SignatureFlags ->0 : number +>0 : 0 IsIndexer = 1, >IsIndexer : SignatureFlags ->1 : number +>1 : 1 IsStringIndexer = 1 << 1, >IsStringIndexer : SignatureFlags >1 << 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 IsNumberIndexer = 1 << 2, >IsNumberIndexer : SignatureFlags >1 << 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 } diff --git a/tests/baselines/reference/parserEnum2.types b/tests/baselines/reference/parserEnum2.types index 6d119d8f079..5c0a8fec2d4 100644 --- a/tests/baselines/reference/parserEnum2.types +++ b/tests/baselines/reference/parserEnum2.types @@ -6,21 +6,21 @@ None = 0, >None : SignatureFlags ->0 : number +>0 : 0 IsIndexer = 1, >IsIndexer : SignatureFlags ->1 : number +>1 : 1 IsStringIndexer = 1 << 1, >IsStringIndexer : SignatureFlags >1 << 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 IsNumberIndexer = 1 << 2 >IsNumberIndexer : SignatureFlags >1 << 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 } diff --git a/tests/baselines/reference/parserEnum5.js b/tests/baselines/reference/parserEnum5.js index 50781f40dd7..89d92dee6cf 100644 --- a/tests/baselines/reference/parserEnum5.js +++ b/tests/baselines/reference/parserEnum5.js @@ -11,14 +11,14 @@ var E2; var E3; (function (E3) { E3[E3["a"] = 0] = "a"; - E3[E3["1"] = 1] = "1"; + E3[E3[1] = 1] = 1; })(E3 || (E3 = {})); var E1; (function (E1) { E1[E1["a"] = 0] = "a"; E1[E1["b"] = 1] = "b"; - E1[E1["1"] = 2] = "1"; + E1[E1[1] = 2] = 1; E1[E1["c"] = 3] = "c"; E1[E1["d"] = 4] = "d"; - E1[E1["2"] = 3] = "2"; + E1[E1[2] = 3] = 2; })(E1 || (E1 = {})); diff --git a/tests/baselines/reference/parserEnum7.js b/tests/baselines/reference/parserEnum7.js index 3781167bbba..86809cf325f 100644 --- a/tests/baselines/reference/parserEnum7.js +++ b/tests/baselines/reference/parserEnum7.js @@ -6,7 +6,7 @@ enum E { //// [parserEnum7.js] var E; (function (E) { - E[E["1"] = 0] = "1"; - E[E["2"] = 1] = "2"; - E[E["3"] = 2] = "3"; + E[E[1] = 0] = 1; + E[E[2] = 1] = 2; + E[E[3] = 2] = 3; })(E || (E = {})); diff --git a/tests/baselines/reference/parserEnumDeclaration1.types b/tests/baselines/reference/parserEnumDeclaration1.types index de99855b310..cd58d5dc89a 100644 --- a/tests/baselines/reference/parserEnumDeclaration1.types +++ b/tests/baselines/reference/parserEnumDeclaration1.types @@ -3,9 +3,9 @@ enum E { >E : E Foo = 1, ->Foo : E ->1 : number +>Foo : E.Foo +>1 : 1 Bar ->Bar : E +>Bar : E.Bar } diff --git a/tests/baselines/reference/parserEnumDeclaration3.types b/tests/baselines/reference/parserEnumDeclaration3.types index b427a795eb6..027f837229f 100644 --- a/tests/baselines/reference/parserEnumDeclaration3.types +++ b/tests/baselines/reference/parserEnumDeclaration3.types @@ -4,5 +4,5 @@ declare enum E { A = 1 >A : E ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/parserEnumDeclaration5.types b/tests/baselines/reference/parserEnumDeclaration5.types index bbb596b7b0f..4068eed0a4b 100644 --- a/tests/baselines/reference/parserEnumDeclaration5.types +++ b/tests/baselines/reference/parserEnumDeclaration5.types @@ -3,16 +3,16 @@ enum E { >E : E A = 1, ->A : E ->1 : number +>A : E.A +>1 : 1 B, ->B : E +>B : E.B C = 2, ->C : E ->2 : number +>C : E.B +>2 : 2 D ->D : E +>D : E.D } diff --git a/tests/baselines/reference/parserEnumDeclaration6.types b/tests/baselines/reference/parserEnumDeclaration6.types index c13d66db41c..53d1e636750 100644 --- a/tests/baselines/reference/parserEnumDeclaration6.types +++ b/tests/baselines/reference/parserEnumDeclaration6.types @@ -4,7 +4,7 @@ enum E { A = 1, >A : E ->1 : number +>1 : 1 B, >B : E @@ -12,8 +12,8 @@ enum E { C = 1 << 1, >C : E >1 << 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 D, >D : E diff --git a/tests/baselines/reference/parserEqualsGreaterThanAfterFunction1.js b/tests/baselines/reference/parserEqualsGreaterThanAfterFunction1.js index 5358a25fd82..3a2ff9e3ae7 100644 --- a/tests/baselines/reference/parserEqualsGreaterThanAfterFunction1.js +++ b/tests/baselines/reference/parserEqualsGreaterThanAfterFunction1.js @@ -2,3 +2,4 @@ function => //// [parserEqualsGreaterThanAfterFunction1.js] +function () { } diff --git a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.js b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.js index c1b2f517b45..f39b641efd7 100644 --- a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.js +++ b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.js @@ -2,4 +2,5 @@ function f() => 4; //// [parserErrantEqualsGreaterThanAfterFunction1.js] +function f() { } 4; diff --git a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.js b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.js index 5b4b71cab1f..83586363466 100644 --- a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.js +++ b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.js @@ -2,4 +2,5 @@ function f(p: A) => p; //// [parserErrantEqualsGreaterThanAfterFunction2.js] +function f(p) { } p; diff --git a/tests/baselines/reference/parserErrorRecovery_Block3.js b/tests/baselines/reference/parserErrorRecovery_Block3.js index 1851d148bc8..842533c6801 100644 --- a/tests/baselines/reference/parserErrorRecovery_Block3.js +++ b/tests/baselines/reference/parserErrorRecovery_Block3.js @@ -10,7 +10,8 @@ class C { var C = (function () { function C() { } - C.prototype.a = function () { }; + C.prototype.a = function () { + }; C.prototype.b = function () { }; return C; diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.js b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.js index 9bb4395e556..57d0536e975 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.js +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.js @@ -41,10 +41,10 @@ var Shapes; } // Instance member Point.prototype.getDist = function () { return Math.sqrt(this.x * this.x + this.y * this.y); }; - // Static member - Point.origin = new Point(0, 0); return Point; }()); + // Static member + Point.origin = new Point(0, 0); Shapes.Point = Point; })(Shapes || (Shapes = {})); // Local variables diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types index b38bbbfe64d..161824e512d 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types @@ -52,8 +52,8 @@ module Shapes { >origin : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 } } @@ -66,8 +66,8 @@ var p: IPoint = new Shapes.Point(3, 4); >Shapes.Point : typeof Shapes.Point >Shapes : typeof Shapes >Point : typeof Shapes.Point ->3 : number ->4 : number +>3 : 3 +>4 : 4 var dist = p.getDist(); >dist : number diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.js b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.js index 0ee73b8b1e5..2bb08a14e35 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.js +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.js @@ -42,10 +42,10 @@ var Shapes; } // Instance member Point.prototype.getDist = function () { return Math.sqrt(this.x * this.x + this.y * this.y); }; - // Static member - Point.origin = new Point(0, 0); return Point; }()); + // Static member + Point.origin = new Point(0, 0); Shapes.Point = Point; })(Shapes || (Shapes = {})); // Local variables diff --git a/tests/baselines/reference/parserErrorRecovery_ParameterList5.js b/tests/baselines/reference/parserErrorRecovery_ParameterList5.js index 7ff32fd1873..3de7d0593c5 100644 --- a/tests/baselines/reference/parserErrorRecovery_ParameterList5.js +++ b/tests/baselines/reference/parserErrorRecovery_ParameterList5.js @@ -2,4 +2,4 @@ (a:number => { } //// [parserErrorRecovery_ParameterList5.js] -(); +(function (a, _a) { return ; }); diff --git a/tests/baselines/reference/parserErrorRecovery_ParameterList6.js b/tests/baselines/reference/parserErrorRecovery_ParameterList6.js index 21e43f31512..c3d5a838f88 100644 --- a/tests/baselines/reference/parserErrorRecovery_ParameterList6.js +++ b/tests/baselines/reference/parserErrorRecovery_ParameterList6.js @@ -7,7 +7,7 @@ class Foo { var Foo = (function () { function Foo() { } - Foo.prototype.banana = ; + Foo.prototype.banana = function (x) { }; return Foo; }()); break ; diff --git a/tests/baselines/reference/parserExportAssignment5.js b/tests/baselines/reference/parserExportAssignment5.js index ac2a1202e5e..03b1d798d5d 100644 --- a/tests/baselines/reference/parserExportAssignment5.js +++ b/tests/baselines/reference/parserExportAssignment5.js @@ -6,4 +6,5 @@ module M { //// [parserExportAssignment5.js] var M; (function (M) { + export = A; })(M || (M = {})); diff --git a/tests/baselines/reference/parserForInStatement2.js b/tests/baselines/reference/parserForInStatement2.js index 9f522eadc5d..0f55fd32c65 100644 --- a/tests/baselines/reference/parserForInStatement2.js +++ b/tests/baselines/reference/parserForInStatement2.js @@ -3,5 +3,5 @@ for (var in X) { } //// [parserForInStatement2.js] -for ( in X) { +for (var in X) { } diff --git a/tests/baselines/reference/parserForInStatement3.js b/tests/baselines/reference/parserForInStatement3.js index 4964c108ca0..076acbf68e8 100644 --- a/tests/baselines/reference/parserForInStatement3.js +++ b/tests/baselines/reference/parserForInStatement3.js @@ -3,5 +3,5 @@ for (var a, b in X) { } //// [parserForInStatement3.js] -for (var a in X) { +for (var a, b in X) { } diff --git a/tests/baselines/reference/parserForInStatement6.js b/tests/baselines/reference/parserForInStatement6.js index b80d13f3184..f35a550252e 100644 --- a/tests/baselines/reference/parserForInStatement6.js +++ b/tests/baselines/reference/parserForInStatement6.js @@ -3,5 +3,5 @@ for (var a = 1, b = 2 in X) { } //// [parserForInStatement6.js] -for (var a = 1 in X) { +for (var a = 1, b = 2 in X) { } diff --git a/tests/baselines/reference/parserForInStatement7.js b/tests/baselines/reference/parserForInStatement7.js index 5c056abedb6..ee8c948a9d2 100644 --- a/tests/baselines/reference/parserForInStatement7.js +++ b/tests/baselines/reference/parserForInStatement7.js @@ -3,5 +3,5 @@ for (var a: number = 1, b: string = "" in X) { } //// [parserForInStatement7.js] -for (var a = 1 in X) { +for (var a = 1, b = "" in X) { } diff --git a/tests/baselines/reference/parserForOfStatement2.js b/tests/baselines/reference/parserForOfStatement2.js index 84d23d4e2aa..0ede351060b 100644 --- a/tests/baselines/reference/parserForOfStatement2.js +++ b/tests/baselines/reference/parserForOfStatement2.js @@ -3,5 +3,5 @@ for (var of X) { } //// [parserForOfStatement2.js] -for ( of X) { +for (var of X) { } diff --git a/tests/baselines/reference/parserForOfStatement21.js b/tests/baselines/reference/parserForOfStatement21.js index 5db883e18a0..8852b91b413 100644 --- a/tests/baselines/reference/parserForOfStatement21.js +++ b/tests/baselines/reference/parserForOfStatement21.js @@ -2,4 +2,4 @@ for (var of of) { } //// [parserForOfStatement21.js] -for ( of of) { } +for (var of of) { } diff --git a/tests/baselines/reference/parserForOfStatement3.js b/tests/baselines/reference/parserForOfStatement3.js index 206e8fe5af8..497eef03142 100644 --- a/tests/baselines/reference/parserForOfStatement3.js +++ b/tests/baselines/reference/parserForOfStatement3.js @@ -3,5 +3,5 @@ for (var a, b of X) { } //// [parserForOfStatement3.js] -for (var a of X) { +for (var a, b of X) { } diff --git a/tests/baselines/reference/parserForOfStatement6.js b/tests/baselines/reference/parserForOfStatement6.js index 37f3560a29c..0268b1dc676 100644 --- a/tests/baselines/reference/parserForOfStatement6.js +++ b/tests/baselines/reference/parserForOfStatement6.js @@ -3,5 +3,5 @@ for (var a = 1, b = 2 of X) { } //// [parserForOfStatement6.js] -for (var a = 1 of X) { +for (var a = 1, b = 2 of X) { } diff --git a/tests/baselines/reference/parserForOfStatement7.js b/tests/baselines/reference/parserForOfStatement7.js index 0b18d0358b4..a8867d6974c 100644 --- a/tests/baselines/reference/parserForOfStatement7.js +++ b/tests/baselines/reference/parserForOfStatement7.js @@ -3,5 +3,5 @@ for (var a: number = 1, b: string = "" of X) { } //// [parserForOfStatement7.js] -for (var a = 1 of X) { +for (var a = 1, b = "" of X) { } diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity1.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity1.types index 0449fdda85a..1c82fb807d8 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity1.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity1.ts === 1 >> 2; >1 >> 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types index 8b3d5dd2ba3..cda7a97701e 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.types @@ -1,10 +1,10 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity10.ts === 1 >1 // before>>> // after2 : number ->1 : number +>1 : 1 // before >>> // after 2; ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.errors.txt b/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.errors.txt index 30ede342a85..ee2d3666682 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.errors.txt +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts(1,5): error TS1109: Expression expected. ==== tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts (2 errors) ==== 1 > > 2; ~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. ~ !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.errors.txt b/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.errors.txt index baebfd81304..1651009bf0d 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.errors.txt +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts(1,8): error TS1109: Expression expected. ==== tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts (2 errors) ==== 1 >/**/> 2; ~~~~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. ~ !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.errors.txt b/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.errors.txt index 924c9440d16..dff69b37612 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.errors.txt +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity4.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity4.ts(1,1): error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity4.ts(2,1): error TS1109: Expression expected. @@ -7,6 +7,6 @@ tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbigu ~~~ > 2; ~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and 'number'. +!!! error TS2365: Operator '>' cannot be applied to types 'boolean' and '2'. ~ !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types index 609901bfdd5..0dc774103aa 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.types @@ -1,10 +1,10 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity5.ts === 1 >1 // before>> // after2 : number ->1 : number +>1 : 1 // before >> // after 2; ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.types b/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.types index e7aa311113c..171211bfbab 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.types +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity6.ts === 1 >>> 2; >1 >>> 2 : number ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/parserInterfaceKeywordInEnum1.types b/tests/baselines/reference/parserInterfaceKeywordInEnum1.types index f6b613f3f60..57c4ef2ebec 100644 --- a/tests/baselines/reference/parserInterfaceKeywordInEnum1.types +++ b/tests/baselines/reference/parserInterfaceKeywordInEnum1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserInterfaceKeywordInEnum1.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" enum Bar { >Bar : Bar diff --git a/tests/baselines/reference/parserKeywordsAsIdentifierName1.types b/tests/baselines/reference/parserKeywordsAsIdentifierName1.types index bc586e8a4bb..74b9e0b30de 100644 --- a/tests/baselines/reference/parserKeywordsAsIdentifierName1.types +++ b/tests/baselines/reference/parserKeywordsAsIdentifierName1.types @@ -5,14 +5,14 @@ var big = { break : 0, >break : number ->0 : number +>0 : 0 super : 0, >super : number ->0 : number +>0 : 0 const : 0 >const : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/parserMemberAccessorDeclaration10.js b/tests/baselines/reference/parserMemberAccessorDeclaration10.js index fd02058d06c..6dd5e190198 100644 --- a/tests/baselines/reference/parserMemberAccessorDeclaration10.js +++ b/tests/baselines/reference/parserMemberAccessorDeclaration10.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - get: function () { } - exports.Foo = Foo;, + get: function () { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserMemberAccessorDeclaration3.js b/tests/baselines/reference/parserMemberAccessorDeclaration3.js index acde7a1daed..c8c87111d92 100644 --- a/tests/baselines/reference/parserMemberAccessorDeclaration3.js +++ b/tests/baselines/reference/parserMemberAccessorDeclaration3.js @@ -7,7 +7,7 @@ class C { var C = (function () { function C() { } - Object.defineProperty(C.prototype, "0", { + Object.defineProperty(C.prototype, 0, { get: function () { }, enumerable: true, configurable: true diff --git a/tests/baselines/reference/parserMemberAccessorDeclaration6.js b/tests/baselines/reference/parserMemberAccessorDeclaration6.js index 3f9f6d9bea9..52977e1b7dc 100644 --- a/tests/baselines/reference/parserMemberAccessorDeclaration6.js +++ b/tests/baselines/reference/parserMemberAccessorDeclaration6.js @@ -7,7 +7,7 @@ class C { var C = (function () { function C() { } - Object.defineProperty(C.prototype, "0", { + Object.defineProperty(C.prototype, 0, { set: function (i) { }, enumerable: true, configurable: true diff --git a/tests/baselines/reference/parserMemberFunctionDeclaration4.js b/tests/baselines/reference/parserMemberFunctionDeclaration4.js index f082a450346..8911fe60c1f 100644 --- a/tests/baselines/reference/parserMemberFunctionDeclaration4.js +++ b/tests/baselines/reference/parserMemberFunctionDeclaration4.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.Foo = function () { } - exports.Foo = Foo;; + C.prototype.Foo = function () { }; return C; }()); diff --git a/tests/baselines/reference/parserModifierOnStatementInBlock1.js b/tests/baselines/reference/parserModifierOnStatementInBlock1.js index e7234a4d274..352ee0cc511 100644 --- a/tests/baselines/reference/parserModifierOnStatementInBlock1.js +++ b/tests/baselines/reference/parserModifierOnStatementInBlock1.js @@ -7,6 +7,6 @@ export function foo() { //// [parserModifierOnStatementInBlock1.js] "use strict"; function foo() { - exports.x = this; + export var x = this; } exports.foo = foo; diff --git a/tests/baselines/reference/parserModifierOnStatementInBlock3.js b/tests/baselines/reference/parserModifierOnStatementInBlock3.js index 0520d0e1d07..2815af43708 100644 --- a/tests/baselines/reference/parserModifierOnStatementInBlock3.js +++ b/tests/baselines/reference/parserModifierOnStatementInBlock3.js @@ -10,6 +10,5 @@ export function foo() { function foo() { function bar() { } - exports.bar = bar; } exports.foo = foo; diff --git a/tests/baselines/reference/parserModifierOnStatementInBlock4.js b/tests/baselines/reference/parserModifierOnStatementInBlock4.js index 82d2475a689..34b390468eb 100644 --- a/tests/baselines/reference/parserModifierOnStatementInBlock4.js +++ b/tests/baselines/reference/parserModifierOnStatementInBlock4.js @@ -9,5 +9,4 @@ { function bar() { } - exports.bar = bar; } diff --git a/tests/baselines/reference/parserModule1.types b/tests/baselines/reference/parserModule1.types index 2d3b670aaa6..b32651a71a4 100644 --- a/tests/baselines/reference/parserModule1.types +++ b/tests/baselines/reference/parserModule1.types @@ -4,7 +4,7 @@ export var debug = false; >debug : boolean ->false : boolean +>false : false export interface IDiagnosticWriter { >IDiagnosticWriter : IDiagnosticWriter @@ -21,7 +21,7 @@ export var analysisPass: number = 0; >analysisPass : number ->0 : number +>0 : 0 export function Alert(output: string) { >Alert : (output: string) => void diff --git a/tests/baselines/reference/parserModuleDeclaration11.types b/tests/baselines/reference/parserModuleDeclaration11.types index 98075a505f7..21d9f0803ea 100644 --- a/tests/baselines/reference/parserModuleDeclaration11.types +++ b/tests/baselines/reference/parserModuleDeclaration11.types @@ -14,7 +14,7 @@ string.foo("abc"); >string.foo : (s: string) => any >string : typeof string >foo : (s: string) => any ->"abc" : string +>"abc" : "abc" var x: string.X; >x : string.X diff --git a/tests/baselines/reference/parserObjectLiterals1.types b/tests/baselines/reference/parserObjectLiterals1.types index b6bca18e360..fb85352747f 100644 --- a/tests/baselines/reference/parserObjectLiterals1.types +++ b/tests/baselines/reference/parserObjectLiterals1.types @@ -3,7 +3,7 @@ var v = { a: 1, b: 2 }; >v : { a: number; b: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/parserParameterList1.js b/tests/baselines/reference/parserParameterList1.js index 7fabad715e1..01ef6a149dc 100644 --- a/tests/baselines/reference/parserParameterList1.js +++ b/tests/baselines/reference/parserParameterList1.js @@ -7,6 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.F = function (A, B) { }; + C.prototype.F = function (B) { }; return C; }()); diff --git a/tests/baselines/reference/parserRealSource4.js b/tests/baselines/reference/parserRealSource4.js index c06bd191fb5..39d17fb6ef4 100644 --- a/tests/baselines/reference/parserRealSource4.js +++ b/tests/baselines/reference/parserRealSource4.js @@ -319,7 +319,7 @@ var TypeScript; var StringHashTable = (function () { function StringHashTable() { this.itemCount = 0; - this.table = (new BlockIntrinsics()); + this.table = new BlockIntrinsics(); } StringHashTable.prototype.getAllKeys = function () { var result = []; diff --git a/tests/baselines/reference/parserSbp_7.9_A9_T3.types b/tests/baselines/reference/parserSbp_7.9_A9_T3.types index 5e1eed4dd98..58147a37a67 100644 --- a/tests/baselines/reference/parserSbp_7.9_A9_T3.types +++ b/tests/baselines/reference/parserSbp_7.9_A9_T3.types @@ -13,7 +13,7 @@ do { ; } while (false) true ->false : boolean ->true : boolean +>false : false +>true : true diff --git a/tests/baselines/reference/parserSkippedTokens16.js b/tests/baselines/reference/parserSkippedTokens16.js index dfbd8a4277a..2c3a9be876d 100644 --- a/tests/baselines/reference/parserSkippedTokens16.js +++ b/tests/baselines/reference/parserSkippedTokens16.js @@ -12,6 +12,7 @@ var x = foo(); Bar; { } +function Foo() { } { } 4 + ; 5; diff --git a/tests/baselines/reference/parserStrictMode16.types b/tests/baselines/reference/parserStrictMode16.types index a7a68ab7811..fbe701f374b 100644 --- a/tests/baselines/reference/parserStrictMode16.types +++ b/tests/baselines/reference/parserStrictMode16.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode16.ts === "use strict"; ->"use strict" : string +>"use strict" : "use strict" delete this; >delete this : boolean @@ -8,7 +8,7 @@ delete this; delete 1; >delete 1 : boolean ->1 : number +>1 : 1 delete null; >delete null : boolean @@ -16,5 +16,5 @@ delete null; delete "a"; >delete "a" : boolean ->"a" : string +>"a" : "a" diff --git a/tests/baselines/reference/parserStrictMode5.errors.txt b/tests/baselines/reference/parserStrictMode5.errors.txt index 4b3dc48f2b4..e541963a1fb 100644 --- a/tests/baselines/reference/parserStrictMode5.errors.txt +++ b/tests/baselines/reference/parserStrictMode5.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts(2,1): error TS1100: Invalid use of 'eval' in strict mode. -tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts(2,1): error TS2365: Operator '+=' cannot be applied to types '(x: string) => any' and 'number'. +tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts(2,1): error TS2365: Operator '+=' cannot be applied to types '(x: string) => any' and '1'. ==== tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts (2 errors) ==== @@ -8,4 +8,4 @@ tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts(2,1): ~~~~ !!! error TS1100: Invalid use of 'eval' in strict mode. ~~~~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types '(x: string) => any' and 'number'. \ No newline at end of file +!!! error TS2365: Operator '+=' cannot be applied to types '(x: string) => any' and '1'. \ No newline at end of file diff --git a/tests/baselines/reference/parserSymbolProperty6.types b/tests/baselines/reference/parserSymbolProperty6.types index a802765cb4f..13553eb27c6 100644 --- a/tests/baselines/reference/parserSymbolProperty6.types +++ b/tests/baselines/reference/parserSymbolProperty6.types @@ -6,5 +6,5 @@ class C { >Symbol.toStringTag : symbol >Symbol : SymbolConstructor >toStringTag : symbol ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/parserUnicode2.types b/tests/baselines/reference/parserUnicode2.types index 1051b23905f..5e25bef8306 100644 --- a/tests/baselines/reference/parserUnicode2.types +++ b/tests/baselines/reference/parserUnicode2.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/parserUnicode2.ts === var 才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 = 1; >才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüß才能ソЫⅨ蒤郳र्क्ड्राüışğİliيونيكودöÄüßAbcd123 : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/parserVoidExpression1.types b/tests/baselines/reference/parserVoidExpression1.types index a2d9988eee3..a4495f987e6 100644 --- a/tests/baselines/reference/parserVoidExpression1.types +++ b/tests/baselines/reference/parserVoidExpression1.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/parserVoidExpression1.ts === void 0; >void 0 : undefined ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/parser_breakInIterationOrSwitchStatement1.types b/tests/baselines/reference/parser_breakInIterationOrSwitchStatement1.types index 6688f334a86..d00c1e6f708 100644 --- a/tests/baselines/reference/parser_breakInIterationOrSwitchStatement1.types +++ b/tests/baselines/reference/parser_breakInIterationOrSwitchStatement1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement1.ts === while (true) { ->true : boolean +>true : true break; } diff --git a/tests/baselines/reference/parser_breakInIterationOrSwitchStatement2.types b/tests/baselines/reference/parser_breakInIterationOrSwitchStatement2.types index 7def75c322a..1d490ef1040 100644 --- a/tests/baselines/reference/parser_breakInIterationOrSwitchStatement2.types +++ b/tests/baselines/reference/parser_breakInIterationOrSwitchStatement2.types @@ -3,5 +3,5 @@ do { break; } while (true); ->true : boolean +>true : true diff --git a/tests/baselines/reference/parser_breakTarget2.types b/tests/baselines/reference/parser_breakTarget2.types index 8a1e7a991db..550a3d39de3 100644 --- a/tests/baselines/reference/parser_breakTarget2.types +++ b/tests/baselines/reference/parser_breakTarget2.types @@ -3,7 +3,7 @@ target: >target : any while (true) { ->true : boolean +>true : true break target; >target : any diff --git a/tests/baselines/reference/parser_breakTarget3.types b/tests/baselines/reference/parser_breakTarget3.types index b1ce9f8d94d..eb5c2cf68a5 100644 --- a/tests/baselines/reference/parser_breakTarget3.types +++ b/tests/baselines/reference/parser_breakTarget3.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true break target1; >target1 : any diff --git a/tests/baselines/reference/parser_breakTarget4.types b/tests/baselines/reference/parser_breakTarget4.types index 04bb129c919..3a368eeb6c9 100644 --- a/tests/baselines/reference/parser_breakTarget4.types +++ b/tests/baselines/reference/parser_breakTarget4.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true break target2; >target2 : any diff --git a/tests/baselines/reference/parser_continueInIterationStatement1.types b/tests/baselines/reference/parser_continueInIterationStatement1.types index c6819ba2c18..0e1bd38266c 100644 --- a/tests/baselines/reference/parser_continueInIterationStatement1.types +++ b/tests/baselines/reference/parser_continueInIterationStatement1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement1.ts === while (true) { ->true : boolean +>true : true continue; } diff --git a/tests/baselines/reference/parser_continueInIterationStatement2.types b/tests/baselines/reference/parser_continueInIterationStatement2.types index ead70157de4..701f5e5ffaf 100644 --- a/tests/baselines/reference/parser_continueInIterationStatement2.types +++ b/tests/baselines/reference/parser_continueInIterationStatement2.types @@ -3,5 +3,5 @@ do { continue; } while (true); ->true : boolean +>true : true diff --git a/tests/baselines/reference/parser_continueLabel.types b/tests/baselines/reference/parser_continueLabel.types index a8a240ac18b..24f1ed509de 100644 --- a/tests/baselines/reference/parser_continueLabel.types +++ b/tests/baselines/reference/parser_continueLabel.types @@ -2,10 +2,10 @@ label1: for(var i = 0; i < 1; i++) { >label1 : any >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/parser_continueTarget2.types b/tests/baselines/reference/parser_continueTarget2.types index ba01f3b8927..0dc073fda3f 100644 --- a/tests/baselines/reference/parser_continueTarget2.types +++ b/tests/baselines/reference/parser_continueTarget2.types @@ -3,7 +3,7 @@ target: >target : any while (true) { ->true : boolean +>true : true continue target; >target : any diff --git a/tests/baselines/reference/parser_continueTarget3.types b/tests/baselines/reference/parser_continueTarget3.types index fd8aedc357f..273c47f97cf 100644 --- a/tests/baselines/reference/parser_continueTarget3.types +++ b/tests/baselines/reference/parser_continueTarget3.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true continue target1; >target1 : any diff --git a/tests/baselines/reference/parser_continueTarget4.types b/tests/baselines/reference/parser_continueTarget4.types index be1e5458f4b..21381823e7c 100644 --- a/tests/baselines/reference/parser_continueTarget4.types +++ b/tests/baselines/reference/parser_continueTarget4.types @@ -7,7 +7,7 @@ target2: >target2 : any while (true) { ->true : boolean +>true : true continue target2; >target2 : any diff --git a/tests/baselines/reference/parser_duplicateLabel3.types b/tests/baselines/reference/parser_duplicateLabel3.types index 88ea435bf3e..8d62ee2a14d 100644 --- a/tests/baselines/reference/parser_duplicateLabel3.types +++ b/tests/baselines/reference/parser_duplicateLabel3.types @@ -4,7 +4,7 @@ target: >target : any while (true) { ->true : boolean +>true : true function f() { >f : () => void @@ -13,7 +13,7 @@ while (true) { >target : any while (true) { ->true : boolean +>true : true } } } diff --git a/tests/baselines/reference/parser_duplicateLabel4.types b/tests/baselines/reference/parser_duplicateLabel4.types index b70dd12c695..483cf8a0051 100644 --- a/tests/baselines/reference/parser_duplicateLabel4.types +++ b/tests/baselines/reference/parser_duplicateLabel4.types @@ -4,12 +4,12 @@ target: >target : any while (true) { ->true : boolean +>true : true } target: >target : any while (true) { ->true : boolean +>true : true } diff --git a/tests/baselines/reference/parserharness.js b/tests/baselines/reference/parserharness.js index 6b38a8c9e4c..1a525c49d19 100644 --- a/tests/baselines/reference/parserharness.js +++ b/tests/baselines/reference/parserharness.js @@ -2371,11 +2371,11 @@ var Harness; errorHandlerStack[errorHandlerStack.length - 1](e); } }; - // The current stack of Runnable objects - Runnable.currentStack = []; - Runnable.errorHandlerStack = []; return Runnable; }()); + // The current stack of Runnable objects + Runnable.currentStack = []; + Runnable.errorHandlerStack = []; Harness.Runnable = Runnable; var TestCase = (function (_super) { __extends(TestCase, _super); diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types index 359811ff3b2..17f93932265 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types @@ -35,10 +35,10 @@ export var x = a + b; === c:/root/folder2/file3.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/file4.ts === export var y = 100; >y : number ->100 : number +>100 : 100 diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types index 78597cf50ef..2c85b8ebcbd 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types @@ -35,7 +35,7 @@ export var x = a + b; === c:/root/folder2/file3.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/node_modules/file4/index.d.ts === export var y: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types index d225246e2f9..6cb2db1bc5c 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types @@ -32,10 +32,10 @@ export var x = a + b; === c:/root/folder2/file3.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/file4.ts === export var y = 100; >y : number ->100 : number +>100 : 100 diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types index 5478a601f02..871446b5ebb 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types @@ -32,7 +32,7 @@ export var x = a + b; === c:/root/folder2/file3.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/node_modules/file4/index.d.ts === export var y: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types index 32a1f42bc0f..7a15355b157 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types @@ -50,20 +50,20 @@ use(z1.toExponential()); === c:/root/folder2/file1.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/root/generated/folder3/file2.ts === export var y = 1; >y : number ->1 : number +>1 : 1 === c:/root/shared/components/file3.ts === export var z = 1; >z : number ->1 : number +>1 : 1 === c:/file4.ts === export var z1 = 1; >z1 : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types index 1b96e3f4f22..2cdc99dcd8c 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types @@ -50,12 +50,12 @@ use(z1.toExponential()); === c:/root/folder2/file1.ts === export var x = 1; >x : number ->1 : number +>1 : 1 === c:/root/generated/folder3/file2.ts === export var y = 1; >y : number ->1 : number +>1 : 1 === c:/root/shared/components/file3/index.d.ts === export var z: number; @@ -64,5 +64,5 @@ export var z: number; === c:/node_modules/file4.ts === export var z1 = 1; >z1 : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/pathsValidation3.errors.txt b/tests/baselines/reference/pathsValidation3.errors.txt new file mode 100644 index 00000000000..3bb85203e6e --- /dev/null +++ b/tests/baselines/reference/pathsValidation3.errors.txt @@ -0,0 +1,6 @@ +error TS5066: Substitutions for pattern 'foo' shouldn't be an empty array. + + +!!! error TS5066: Substitutions for pattern 'foo' shouldn't be an empty array. +==== tests/cases/compiler/a.ts (0 errors) ==== + let x = 1; \ No newline at end of file diff --git a/tests/baselines/reference/pathsValidation3.js b/tests/baselines/reference/pathsValidation3.js new file mode 100644 index 00000000000..bfffc647f63 --- /dev/null +++ b/tests/baselines/reference/pathsValidation3.js @@ -0,0 +1,5 @@ +//// [a.ts] +let x = 1; + +//// [a.js] +var x = 1; diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.types b/tests/baselines/reference/plusOperatorWithBooleanType.types index d2218d3cc95..8fd2ee350eb 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.types +++ b/tests/baselines/reference/plusOperatorWithBooleanType.types @@ -5,7 +5,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -15,7 +15,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -39,16 +39,16 @@ var ResultIsNumber1 = +BOOLEAN; var ResultIsNumber2 = +true; >ResultIsNumber2 : number >+true : number ->true : boolean +>true : true var ResultIsNumber3 = +{ x: true, y: false }; >ResultIsNumber3 : number >+{ x: true, y: false } : number >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsNumber4 = +objA.a; @@ -82,7 +82,7 @@ var ResultIsNumber7 = +A.foo(); // miss assignment operators +true; >+true : number ->true : boolean +>true : true +BOOLEAN; >+BOOLEAN : number @@ -94,10 +94,10 @@ var ResultIsNumber7 = +A.foo(); >foo : () => boolean +true, false; ->+true, false : boolean +>+true, false : false >+true : number ->true : boolean ->false : boolean +>true : true +>false : false +objA.a; >+objA.a : number diff --git a/tests/baselines/reference/plusOperatorWithEnumType.types b/tests/baselines/reference/plusOperatorWithEnumType.types index e6dd769900e..f0b7df10756 100644 --- a/tests/baselines/reference/plusOperatorWithEnumType.types +++ b/tests/baselines/reference/plusOperatorWithEnumType.types @@ -6,8 +6,8 @@ enum ENUM { }; enum ENUM1 { A, B, "" }; >ENUM1 : ENUM1 ->A : ENUM1 ->B : ENUM1 +>A : ENUM1.A +>B : ENUM1.B // enum type var var ResultIsNumber1 = +ENUM; @@ -24,9 +24,9 @@ var ResultIsNumber2 = +ENUM1; var ResultIsNumber3 = +ENUM1["A"]; >ResultIsNumber3 : number >+ENUM1["A"] : number ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string +>"A" : "A" var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]); >ResultIsNumber4 : number @@ -35,10 +35,10 @@ var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]); >ENUM[0] + ENUM1["B"] : string >ENUM[0] : string >ENUM : typeof ENUM ->0 : number ->ENUM1["B"] : ENUM1 +>0 : 0 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" // miss assignment operators +ENUM; @@ -51,9 +51,9 @@ var ResultIsNumber4 = +(ENUM[0] + ENUM1["B"]); +ENUM1.B; >+ENUM1.B : number ->ENUM1.B : ENUM1 +>ENUM1.B : ENUM1.B >ENUM1 : typeof ENUM1 ->B : ENUM1 +>B : ENUM1.B +ENUM, ENUM1; >+ENUM, ENUM1 : typeof ENUM1 diff --git a/tests/baselines/reference/plusOperatorWithNumberType.types b/tests/baselines/reference/plusOperatorWithNumberType.types index 2db1288de4a..f24785ffa06 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.types +++ b/tests/baselines/reference/plusOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsNumber2 = +NUMBER1; var ResultIsNumber3 = +1; >ResultIsNumber3 : number >+1 : number ->1 : number +>1 : 1 var ResultIsNumber4 = +{ x: 1, y: 2}; >ResultIsNumber4 : number >+{ x: 1, y: 2} : number >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsNumber5 = +{ x: 1, y: (n: number) => { return n; } }; >ResultIsNumber5 : number >+{ x: 1, y: (n: number) => { return n; } } : number >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsNumber8 = +NUMBER1[0]; >+NUMBER1[0] : number >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsNumber9 = +foo(); >ResultIsNumber9 : number @@ -119,7 +119,7 @@ var ResultIsNumber11 = +(NUMBER + NUMBER); // miss assignment operators +1; >+1 : number ->1 : number +>1 : 1 +NUMBER; >+NUMBER : number diff --git a/tests/baselines/reference/plusOperatorWithStringType.types b/tests/baselines/reference/plusOperatorWithStringType.types index c285a88c5d9..ec19aaed497 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.types +++ b/tests/baselines/reference/plusOperatorWithStringType.types @@ -6,12 +6,12 @@ var STRING: string; var STRING1: string[] = ["", "abc"]; >STRING1 : string[] >["", "abc"] : string[] ->"" : string ->"abc" : string +>"" : "" +>"abc" : "abc" function foo(): string { return "abc"; } >foo : () => string ->"abc" : string +>"abc" : "abc" class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return ""; } >foo : () => string ->"" : string +>"" : "" } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsNumber2 = +STRING1; var ResultIsNumber3 = +""; >ResultIsNumber3 : number >+"" : number ->"" : string +>"" : "" var ResultIsNumber4 = +{ x: "", y: "" }; >ResultIsNumber4 : number >+{ x: "", y: "" } : number >{ x: "", y: "" } : { x: string; y: string; } >x : string ->"" : string +>"" : "" >y : string ->"" : string +>"" : "" var ResultIsNumber5 = +{ x: "", y: (s: string) => { return s; } }; >ResultIsNumber5 : number >+{ x: "", y: (s: string) => { return s; } } : number >{ x: "", y: (s: string) => { return s; } } : { x: string; y: (s: string) => string; } >x : string ->"" : string +>"" : "" >y : (s: string) => string >(s: string) => { return s; } : (s: string) => string >s : string @@ -92,7 +92,7 @@ var ResultIsNumber8 = +STRING1[0]; >+STRING1[0] : number >STRING1[0] : string >STRING1 : string[] ->0 : number +>0 : 0 var ResultIsNumber9 = +foo(); >ResultIsNumber9 : number @@ -123,12 +123,12 @@ var ResultIsNumber12 = +STRING.charAt(0); >STRING.charAt : (pos: number) => string >STRING : string >charAt : (pos: number) => string ->0 : number +>0 : 0 // miss assignment operators +""; >+"" : number ->"" : string +>"" : "" +STRING; >+STRING : number diff --git a/tests/baselines/reference/prefixIncrementAsOperandOfPlusExpression.types b/tests/baselines/reference/prefixIncrementAsOperandOfPlusExpression.types index d5c9b03cc56..8e041acda38 100644 --- a/tests/baselines/reference/prefixIncrementAsOperandOfPlusExpression.types +++ b/tests/baselines/reference/prefixIncrementAsOperandOfPlusExpression.types @@ -1,11 +1,11 @@ === tests/cases/compiler/prefixIncrementAsOperandOfPlusExpression.ts === var x = 1; >x : number ->1 : number +>1 : 1 var y = 1; >y : number ->1 : number +>1 : 1 + ++x; >+ ++x : number diff --git a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js index cf88f4e9ba6..d51c2624b1c 100644 --- a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js +++ b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.js @@ -31,13 +31,13 @@ if (++y) { } //// [prefixUnaryOperatorsOnExportedVariables.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x, y; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = false); exports_1("y", y = 1); if (!x) { @@ -55,5 +55,5 @@ System.register([], function(exports_1, context_1) { if (exports_1("y", ++y)) { } } - } + }; }); diff --git a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.types b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.types index c75ba492c31..4e4dbe93372 100644 --- a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.types +++ b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.types @@ -2,45 +2,45 @@ export var x = false; >x : boolean ->false : boolean +>false : false export var y = 1; >y : number ->1 : number +>1 : 1 if (!x) { ->!x : boolean ->x : boolean +>!x : true +>x : false } if (+x) { >+x : number ->x : boolean +>x : false } if (-x) { >-x : number ->x : boolean +>x : false } if (~x) { >~x : number ->x : boolean +>x : false } if (void x) { >void x : undefined ->x : boolean +>x : false } if (typeof x) { >typeof x : string ->x : boolean +>x : false } diff --git a/tests/baselines/reference/preserveConstEnums.types b/tests/baselines/reference/preserveConstEnums.types index f128b4a831b..9f2d30a3604 100644 --- a/tests/baselines/reference/preserveConstEnums.types +++ b/tests/baselines/reference/preserveConstEnums.types @@ -4,7 +4,7 @@ const enum E { Value = 1, Value2 = Value >Value : E ->1 : number +>1 : 1 >Value2 : E >Value : E } diff --git a/tests/baselines/reference/primitiveConstraints2.errors.txt b/tests/baselines/reference/primitiveConstraints2.errors.txt index e571ee73417..822846540f7 100644 --- a/tests/baselines/reference/primitiveConstraints2.errors.txt +++ b/tests/baselines/reference/primitiveConstraints2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/primitiveConstraints2.ts(8,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/primitiveConstraints2.ts(8,11): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/compiler/primitiveConstraints2.ts(9,8): error TS2344: Type 'string' does not satisfy the constraint 'number'. @@ -12,7 +12,7 @@ tests/cases/compiler/primitiveConstraints2.ts(9,8): error TS2344: Type 'string' var x = new C(); x.bar2(2, ""); // should error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. x.bar2(2, ""); // should error ~~~~~~ !!! error TS2344: Type 'string' does not satisfy the constraint 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/primitiveMembers.errors.txt b/tests/baselines/reference/primitiveMembers.errors.txt index da8b75f9bc5..49ef8c4e3cf 100644 --- a/tests/baselines/reference/primitiveMembers.errors.txt +++ b/tests/baselines/reference/primitiveMembers.errors.txt @@ -1,5 +1,6 @@ tests/cases/compiler/primitiveMembers.ts(5,3): error TS2339: Property 'toBAZ' does not exist on type 'number'. tests/cases/compiler/primitiveMembers.ts(11,1): error TS2322: Type 'Number' is not assignable to type 'number'. + 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. ==== tests/cases/compiler/primitiveMembers.ts (2 errors) ==== @@ -18,6 +19,7 @@ tests/cases/compiler/primitiveMembers.ts(11,1): error TS2322: Type 'Number' is n n = N; // should not work, as 'number' has a different brand ~ !!! error TS2322: Type 'Number' is not assignable to type 'number'. +!!! error TS2322: 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. N = n; // should work var o: Object = {} diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js index 6c2dcf304cf..cebf700aa59 100644 --- a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js +++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js @@ -159,13 +159,13 @@ var publicClassWithWithPrivatePropertyTypes = (function () { this.myPublicProperty1 = exporter.createExportedWidget3(); // Error this.myPrivateProperty1 = exporter.createExportedWidget3(); } - publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); // Error - publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); - publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); // Error - publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); return publicClassWithWithPrivatePropertyTypes; }()); exports.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; +publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); // Error +publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); +publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); // Error +publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); var privateClassWithWithPrivatePropertyTypes = (function () { function privateClassWithWithPrivatePropertyTypes() { this.myPublicProperty = exporter.createExportedWidget1(); @@ -173,12 +173,12 @@ var privateClassWithWithPrivatePropertyTypes = (function () { this.myPublicProperty1 = exporter.createExportedWidget3(); this.myPrivateProperty1 = exporter.createExportedWidget3(); } - privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); - privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); - privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); - privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); return privateClassWithWithPrivatePropertyTypes; }()); +privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); +privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); +privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); +privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); exports.publicVarWithPrivatePropertyTypes = exporter.createExportedWidget1(); // Error var privateVarWithPrivatePropertyTypes = exporter.createExportedWidget1(); exports.publicVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); // Error @@ -188,11 +188,11 @@ var publicClassWithPrivateModulePropertyTypes = (function () { this.myPublicProperty = exporter.createExportedWidget2(); // Error this.myPublicProperty1 = exporter.createExportedWidget4(); // Error } - publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); // Error - publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); // Error return publicClassWithPrivateModulePropertyTypes; }()); exports.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; +publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); // Error +publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); // Error exports.publicVarWithPrivateModulePropertyTypes = exporter.createExportedWidget2(); // Error exports.publicVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); // Error var privateClassWithPrivateModulePropertyTypes = (function () { @@ -200,10 +200,10 @@ var privateClassWithPrivateModulePropertyTypes = (function () { this.myPublicProperty = exporter.createExportedWidget2(); this.myPublicProperty1 = exporter.createExportedWidget4(); } - privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); - privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); return privateClassWithPrivateModulePropertyTypes; }()); +privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); +privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); var privateVarWithPrivateModulePropertyTypes = exporter.createExportedWidget2(); var privateVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types index c8e4d237091..0c025ceaee3 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types @@ -1,7 +1,7 @@ === tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts === export var x = 1; // Makes this an external module >x : number ->1 : number +>1 : 1 interface Iterator { >Iterator : Iterator @@ -31,11 +31,11 @@ module Query { return fromDoWhile(test => { >fromDoWhile(test => { return true; }) : Iterator<{}> >fromDoWhile : (doWhile: (test: Iterator) => boolean) => Iterator ->test => { return true; } : (test: Iterator<{}>) => boolean +>test => { return true; } : (test: Iterator<{}>) => true >test : Iterator<{}> return true; ->true : boolean +>true : true }); } diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types index 445e318c0fb..de05ac5f740 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types @@ -1,7 +1,7 @@ === tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts === export var x = 1; // Makes this an external module >x : number ->1 : number +>1 : 1 interface Iterator { x: T } >Iterator : Iterator diff --git a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.types b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.types index ce785983ce8..fcb0a27388b 100644 --- a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.types +++ b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.types @@ -24,6 +24,6 @@ module Foo { export var x = "hello"; >x : string ->"hello" : string +>"hello" : "hello" } diff --git a/tests/baselines/reference/privacyClassExtendsClauseDeclFile.errors.txt b/tests/baselines/reference/privacyClassExtendsClauseDeclFile.errors.txt index f3c21baed3c..8b66d02b238 100644 --- a/tests/baselines/reference/privacyClassExtendsClauseDeclFile.errors.txt +++ b/tests/baselines/reference/privacyClassExtendsClauseDeclFile.errors.txt @@ -1,11 +1,13 @@ tests/cases/compiler/privacyClassExtendsClauseDeclFile_GlobalFile.ts(16,67): error TS4020: Extends clause of exported class 'publicClassExtendingPrivateClassInModule' has or is using private name 'privateClassInPublicModule'. tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(17,67): error TS4020: Extends clause of exported class 'publicClassExtendingPrivateClassInModule' has or is using private name 'privateClassInPublicModule'. +tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(20,63): error TS2690: A class must be declared after its base class. tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(22,69): error TS4020: Extends clause of exported class 'publicClassExtendingFromPrivateModuleClass' has or is using private name 'privateModule'. +tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(22,69): error TS2690: A class must be declared after its base class. tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(64,55): error TS4020: Extends clause of exported class 'publicClassExtendingPrivateClass' has or is using private name 'privateClass'. tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(69,65): error TS4020: Extends clause of exported class 'publicClassExtendingFromPrivateModuleClass' has or is using private name 'privateModule'. -==== tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts (4 errors) ==== +==== tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts (6 errors) ==== export module publicModule { export class publicClassInPublicModule { @@ -28,10 +30,14 @@ tests/cases/compiler/privacyClassExtendsClauseDeclFile_externalModule.ts(69,65): } class privateClassExtendingFromPrivateModuleClass extends privateModule.publicClassInPrivateModule { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. } export class publicClassExtendingFromPrivateModuleClass extends privateModule.publicClassInPrivateModule { // Should error ~~~~~~~~~~~~~ !!! error TS4020: Extends clause of exported class 'publicClassExtendingFromPrivateModuleClass' has or is using private name 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. } } diff --git a/tests/baselines/reference/privacyGloImport.js b/tests/baselines/reference/privacyGloImport.js index 407ac5bb8d5..ecafec9d639 100644 --- a/tests/baselines/reference/privacyGloImport.js +++ b/tests/baselines/reference/privacyGloImport.js @@ -235,6 +235,8 @@ var m1; //var m1_im4_private_v4_private = m1_im4_private.f1(); m1.m1_im1_public = m1_M1_public; m1.m1_im2_public = m1_M2_private; + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); })(m1 || (m1 = {})); var glo_M1_public; (function (glo_M1_public) { @@ -256,5 +258,6 @@ var m2; var m4; (function (m4) { var a = 10; + //import m2 = require("use_glo_M1_public"); })(m4 || (m4 = {})); })(m2 || (m2 = {})); diff --git a/tests/baselines/reference/privacyImport.js b/tests/baselines/reference/privacyImport.js index debb1e3b4bd..fcac37bac36 100644 --- a/tests/baselines/reference/privacyImport.js +++ b/tests/baselines/reference/privacyImport.js @@ -440,6 +440,8 @@ var m1; //var m1_im4_private_v4_private = m1_im4_private.f1(); m1.m1_im1_public = m1_M1_public; m1.m1_im2_public = m1_M2_private; + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); })(m1 = exports.m1 || (exports.m1 = {})); var m2; (function (m2) { @@ -524,6 +526,8 @@ var m2; // Parse error to export module m2.m1_im1_public = m2_M1_public; m2.m1_im2_public = m2_M2_private; + //export import m1_im3_public = require("m2_M3_public"); + //export import m1_im4_public = require("m2_M4_private"); })(m2 || (m2 = {})); var glo_M1_public; (function (glo_M1_public) { @@ -686,6 +690,7 @@ var m2; var m4; (function (m4) { var a = 10; + //import m2 = require("use_glo_M1_public"); })(m4 || (m4 = {})); })(m2 || (m2 = {})); var m3; @@ -694,5 +699,6 @@ var m3; var m4; (function (m4) { var a = 10; + //import m2 = require("use_glo_M1_public"); })(m4 || (m4 = {})); })(m3 = exports.m3 || (exports.m3 = {})); diff --git a/tests/baselines/reference/privateIndexer2.js b/tests/baselines/reference/privateIndexer2.js index 1268c6e4c25..a90e03a5bc2 100644 --- a/tests/baselines/reference/privateIndexer2.js +++ b/tests/baselines/reference/privateIndexer2.js @@ -14,7 +14,6 @@ var y: { var x = (_a = {}, _a[x] = string, _a.string = , - _a -); + _a); var y; var _a; diff --git a/tests/baselines/reference/privateStaticMemberAccessibility.js b/tests/baselines/reference/privateStaticMemberAccessibility.js index 2074e5aa864..352256ac9bd 100644 --- a/tests/baselines/reference/privateStaticMemberAccessibility.js +++ b/tests/baselines/reference/privateStaticMemberAccessibility.js @@ -25,6 +25,6 @@ var Derived = (function (_super) { _super.apply(this, arguments); this.bing = function () { return Base.foo; }; // error } - Derived.bar = Base.foo; // error return Derived; }(Base)); +Derived.bar = Base.foo; // error diff --git a/tests/baselines/reference/privateVisibles.types b/tests/baselines/reference/privateVisibles.types index 71e26d7e264..95f60839fc1 100644 --- a/tests/baselines/reference/privateVisibles.types +++ b/tests/baselines/reference/privateVisibles.types @@ -4,7 +4,7 @@ class Foo { private pvar = 0; >pvar : number ->0 : number +>0 : 0 constructor() { var n = this.pvar; diff --git a/tests/baselines/reference/project/declarationDir3/node/declarationDir3.json b/tests/baselines/reference/project/declarationDir3/node/declarationDir3.json index 7c26154e17b..3025d1c8d37 100644 --- a/tests/baselines/reference/project/declarationDir3/node/declarationDir3.json +++ b/tests/baselines/reference/project/declarationDir3/node/declarationDir3.json @@ -16,8 +16,5 @@ "a.ts", "subfolder/c.ts" ], - "emittedFiles": [ - "out.js", - "out.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/declarationDir3/node/out.d.ts b/tests/baselines/reference/project/declarationDir3/node/out.d.ts deleted file mode 100644 index 60950f066bc..00000000000 --- a/tests/baselines/reference/project/declarationDir3/node/out.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -declare module "subfolder/b" { - export class B { - } -} -declare module "a" { - import { B } from "subfolder/b"; - export class A { - b: B; - } -} -declare module "subfolder/c" { - import { A } from "a"; - export class C { - a: A; - } -} diff --git a/tests/baselines/reference/project/declarationDir3/node/out.js b/tests/baselines/reference/project/declarationDir3/node/out.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/amd/main.js b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/amd/main.js index 41ab9194c4e..8b73fc550cf 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/amd/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/amd/main.js @@ -13,12 +13,12 @@ define(["require", "exports", "angular2/core"], function (require, exports, ng) function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); exports.MyClass1 = MyClass1; + var _a; }); diff --git a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/node/main.js b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/node/main.js index e8bd90fc475..3c1d2cd6da6 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/node/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModules/node/main.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); exports.MyClass1 = MyClass1; +var _a; diff --git a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/amd/main.js b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/amd/main.js index 41ab9194c4e..8b73fc550cf 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/amd/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/amd/main.js @@ -13,12 +13,12 @@ define(["require", "exports", "angular2/core"], function (require, exports, ng) function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); exports.MyClass1 = MyClass1; + var _a; }); diff --git a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/node/main.js b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/node/main.js index e8bd90fc475..3c1d2cd6da6 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/node/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataCommonJSISolatedModulesNoResolve/node/main.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); exports.MyClass1 = MyClass1; +var _a; diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/amd/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/amd/main.js index 41ab9194c4e..8b73fc550cf 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/amd/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/amd/main.js @@ -13,12 +13,12 @@ define(["require", "exports", "angular2/core"], function (require, exports, ng) function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); exports.MyClass1 = MyClass1; + var _a; }); diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/node/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/node/main.js index e8bd90fc475..3c1d2cd6da6 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/node/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJS/node/main.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); exports.MyClass1 = MyClass1; +var _a; diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/amd/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/amd/main.js index 41ab9194c4e..8b73fc550cf 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/amd/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/amd/main.js @@ -13,12 +13,12 @@ define(["require", "exports", "angular2/core"], function (require, exports, ng) function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); exports.MyClass1 = MyClass1; + var _a; }); diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/node/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/node/main.js index e8bd90fc475..3c1d2cd6da6 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/node/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModules/node/main.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); exports.MyClass1 = MyClass1; +var _a; diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/amd/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/amd/main.js index 41ab9194c4e..8b73fc550cf 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/amd/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/amd/main.js @@ -13,12 +13,12 @@ define(["require", "exports", "angular2/core"], function (require, exports, ng) function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); exports.MyClass1 = MyClass1; + var _a; }); diff --git a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/node/main.js b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/node/main.js index e8bd90fc475..3c1d2cd6da6 100644 --- a/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/node/main.js +++ b/tests/baselines/reference/project/emitDecoratorMetadataSystemJSISolatedModulesNoResolve/node/main.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - foo, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + foo, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); exports.MyClass1 = MyClass1; +var _a; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map index 1928d5965fb..c0e40d9e56c 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map index b295037df93..5f6fc59aa0e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 1928d5965fb..c0e40d9e56c 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index b295037df93..5f6fc59aa0e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 04c42ed11d0..06567a4fddd 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index b3feff79cab..0865ddc2903 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index babc80c4d26..d3c0e8697cd 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index 7813d8d45f1..8430db389ed 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map index 383cd93a9db..048c2816811 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map index df92966a910..8e4c69b85ca 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map index 6c8ee2b7bf2..adc497fc60f 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map index 74fc6200ba9..3c11f6387b3 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map index a1ba2747bea..f102ba902d9 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map index 7fe59ee242c..c84a8f5c835 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index df92966a910..8e4c69b85ca 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index 6c8ee2b7bf2..adc497fc60f 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 383cd93a9db..048c2816811 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index a1ba2747bea..f102ba902d9 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index 7fe59ee242c..c84a8f5c835 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 74fc6200ba9..3c11f6387b3 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index bbd9ace39b6..51320616653 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 18e06e5bc50..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=/tests/cases/projects/outputdir_module_multifolder/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 2974abdc1cc..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 14643d2565d..5843f218e63 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -16,9 +16,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 5b0497285e2..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: /tests/cases/projects/outputdir_module_multifolder/mapFiles/test.js.map -sourceRoot: -sources: ../ref/m1.ts,../../outputdir_module_multifolder_ref/m2.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=/tests/cases/projects/outputdir_module_multifolder/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map index 7a239e36dfd..cb20dafd0e6 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map index 70ee8ff61e0..379e5b9d7b2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map index ced269a7dca..2a7d88eea53 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map index 1977336ea8e..99658249a09 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index 7a239e36dfd..cb20dafd0e6 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 70ee8ff61e0..379e5b9d7b2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index ced269a7dca..2a7d88eea53 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 1977336ea8e..99658249a09 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index f8787f0f018..105ebefb06e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index f6e3eb542f4..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=/tests/cases/projects/outputdir_module_simple/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f491a9ec373..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json index 40d72149fd9..18f4cc0381a 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -15,9 +15,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 1eef0eba6f2..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: /tests/cases/projects/outputdir_module_simple/mapFiles/test.js.map -sourceRoot: -sources: ../m1.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=/tests/cases/projects/outputdir_module_simple/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map index 3875e8cb03a..9eb482b6438 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map index 70ee8ff61e0..379e5b9d7b2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map index eda395c6137..764cd7db3b4 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map index 9b4031ad9ad..48a5bd9efa8 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 3875e8cb03a..9eb482b6438 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 70ee8ff61e0..379e5b9d7b2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index eda395c6137..764cd7db3b4 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index 9b4031ad9ad..48a5bd9efa8 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index f2d94cd0ab2..12c15dd7143 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 7ff280253f1..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=/tests/cases/projects/outputdir_module_subfolder/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index bfdacf69428..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index 8787d932d29..49df7a3186b 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 20f2ab47188..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: /tests/cases/projects/outputdir_module_subfolder/mapFiles/test.js.map -sourceRoot: -sources: ../ref/m1.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=/tests/cases/projects/outputdir_module_subfolder/mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map index 8046b4e56e9..26b3342e168 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map index 3d767492427..2137f48e86b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 8046b4e56e9..26b3342e168 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 3d767492427..2137f48e86b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index ad91316934a..6e903b7c370 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index b54fffed73f..2118f70902b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index 946ba761aef..4767cb6f425 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index c5cc839430f..c9efc4d02d1 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/ref/m2.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../outputdir_mixed_subfolder/ref/m1.ts","../outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map index 319f5bbb7d5..60700ad9d17 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map index 07fcee5d5c6..1c3270c1034 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map index ed3a0f816aa..eb045bec338 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map index 261053c5b8a..4b491bfe9bb 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map index c6fe688528b..70285d9fdb4 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js.map index 9bc78eedda3..3b815b52961 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 07fcee5d5c6..1c3270c1034 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index ed3a0f816aa..eb045bec338 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 319f5bbb7d5..60700ad9d17 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index c6fe688528b..70285d9fdb4 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index 9bc78eedda3..3b815b52961 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 261053c5b8a..4b491bfe9bb 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index 692f9bdb8e9..e5f2d235179 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../projects/outputdir_module_multifolder/ref/m1.ts","../projects/outputdir_module_multifolder_ref/m2.ts","../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../projects/outputdir_module_multifolder/ref/m1.ts","../projects/outputdir_module_multifolder_ref/m2.ts","../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index f359cef4be2..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=../../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index ca280b23052..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../projects/outputdir_module_multifolder/ref/m1.ts","../projects/outputdir_module_multifolder_ref/m2.ts","../projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json index 2f6c92af199..3ef58f1b25c 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index ce08ef2c878..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: ../../../mapFiles/test.js.map -sourceRoot: -sources: ../projects/outputdir_module_multifolder/ref/m1.ts,../projects/outputdir_module_multifolder_ref/m2.ts,../projects/outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=../../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map index 054150c2654..a623d2caaa6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js.map index c82c9aa7814..579a6a187e3 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js.map index d2943328caf..3a1b7b27c58 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js.map index 5dec3e818a6..a9589e1fed8 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index 054150c2654..a623d2caaa6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index c82c9aa7814..579a6a187e3 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index d2943328caf..3a1b7b27c58 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 5dec3e818a6..a9589e1fed8 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index 3f784bfa553..5ac4a707e39 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts","../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts","../outputdir_module_simple/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 58e831a041d..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 847236565f8..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_simple/m1.ts","../outputdir_module_simple/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json index 2346dd23910..9cb1b89ebe2 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -14,9 +14,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 4c009331988..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: ../../mapFiles/test.js.map -sourceRoot: -sources: ../outputdir_module_simple/m1.ts,../outputdir_module_simple/test.ts -=================================================================== ->>>//# sourceMappingURL=../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map index 5c31d767ece..943ae3c5b8e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map index 2653e1320a0..478bae202d6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map index c0316079a93..9fea18a6b02 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js.map index f057481c9b1..e96624acd65 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 5c31d767ece..943ae3c5b8e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 2653e1320a0..478bae202d6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index c0316079a93..9fea18a6b02 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index f057481c9b1..e96624acd65 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index b8840d8440c..4c60ddd29d4 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/ref/m1.ts","../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/ref/m1.ts","../outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 58e831a041d..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index b8c7cced3ae..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../outputdir_module_subfolder/ref/m1.ts","../outputdir_module_subfolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json index c688513f28f..a1ae6fc57cf 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -14,9 +14,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index a57632c4e07..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: ../../mapFiles/test.js.map -sourceRoot: -sources: ../outputdir_module_subfolder/ref/m1.ts,../outputdir_module_subfolder/test.ts -=================================================================== ->>>//# sourceMappingURL=../../mapFiles/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map index 4a3d2534830..a1de0913da5 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map index 66453b1e9b4..861972de209 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 4a3d2534830..a1de0913da5 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 66453b1e9b4..861972de209 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 5c82f181545..64ad8eb1642 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index b322a9dd0bb..0e5790298d1 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index 41be9779546..63bc893832b 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index 7cf551e7dc0..83c95ed2c07 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_mixed_subfolder/test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map index abf7a2ecd19..7a409515607 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map index fa40ecf4816..3343670eb84 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js.map index 3fe49d9c7af..57bb373e054 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map index 165dd78d6c9..2da721ff1a0 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map index 40ad29ac6e6..c1f7e172c9d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js.map index 386c14e8731..474dd107529 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index fa40ecf4816..3343670eb84 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index 3fe49d9c7af..57bb373e054 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index abf7a2ecd19..7a409515607 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 40ad29ac6e6..c1f7e172c9d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index 386c14e8731..474dd107529 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 165dd78d6c9..2da721ff1a0 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index e5b77da53eb..155baf7912b 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts","file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts","file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 1c42486b782..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts","file:///tests/cases/projects/outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json index d6640cdb404..fc97eb8c912 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index e66e92ff5cf..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: -sources: file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts,file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts,file:///tests/cases/projects/outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js.map index f794e0c5d09..e9f1d54cc87 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js.map index 9cf904bdb36..4c83678dafd 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js.map index 546a52762dc..e96a1a904e7 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js.map index 2a6e8fef128..e0513a8b07b 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index f794e0c5d09..e9f1d54cc87 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 9cf904bdb36..4c83678dafd 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index 546a52762dc..e96a1a904e7 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 2a6e8fef128..e0513a8b07b 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index 6aaa713e8f4..ecbd039578c 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts","file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts","file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index a7424e92122..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_simple/m1.ts","file:///tests/cases/projects/outputdir_module_simple/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json index e96204c5faa..a2aac5c1574 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json @@ -14,9 +14,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index ef808a08b3f..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: -sources: file:///tests/cases/projects/outputdir_module_simple/m1.ts,file:///tests/cases/projects/outputdir_module_simple/test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map index b21a6141b7c..94b0fd005cb 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js.map index 527dcc9a33d..76cc81a74f4 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map index 00d7fafd83c..637153a8c7a 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js.map index b8f2b007951..99312830f1c 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index b21a6141b7c..94b0fd005cb 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 527dcc9a33d..76cc81a74f4 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index 00d7fafd83c..637153a8c7a 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index b8f2b007951..99312830f1c 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index 130a41cfbba..d962fcf11cb 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 44276925bda..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts","file:///tests/cases/projects/outputdir_module_subfolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json index 10de4bede9e..a0d82365b29 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json @@ -14,9 +14,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 16bcb98e00c..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: -sources: file:///tests/cases/projects/outputdir_module_subfolder/ref/m1.ts,file:///tests/cases/projects/outputdir_module_subfolder/test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map index 830a328e144..e68a248d5d7 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map index 790459b963d..c6ff2cc27ce 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 830a328e144..e68a248d5d7 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 790459b963d..c6ff2cc27ce 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 38ee6987e2c..35e555688e0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index facd1d09335..2d0fd86fc16 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index d2eeb5074b5..19bcc3ee32a 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index f3f77743f87..7b3f8edb8a6 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map index aedc29a2978..a8c35bc15c6 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map index 312d2f052cc..f1623c531a6 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map index 2330fbc104b..b199c0dc1ad 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map index 0b0599e7f62..ef338fcc887 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map index f53f427de90..10777c25bd4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js.map index fc3dfdd8306..dbab2cdf457 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 312d2f052cc..f1623c531a6 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index 2330fbc104b..b199c0dc1ad 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index aedc29a2978..a8c35bc15c6 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index f53f427de90..10777c25bd4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index fc3dfdd8306..dbab2cdf457 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 0b0599e7f62..ef338fcc887 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index f142c1edf9b..5a120cbe800 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f84040526ba..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json index 98804be1c15..c65824ad4d1 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -16,9 +16,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 909ae1c3750..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref/m2.ts,outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map index 7e292316432..26e7b01ccdb 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js.map index 3bb503f2c26..1b563cf259d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js.map index 13298067344..46e8000caa0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index 7e292316432..26e7b01ccdb 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index 3bb503f2c26..1b563cf259d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 13298067344..46e8000caa0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index c324029a742..28d5511a5ee 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 3b75f2878c9..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json index 7b5ccb6c071..b44b23ab837 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -15,9 +15,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index d9df59725a9..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map index 422fe41a79d..88ce97eeeff 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map index bee1ea97f83..e28d378dfc0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js.map index f851a615aef..c956b034f6f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 422fe41a79d..88ce97eeeff 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index bee1ea97f83..e28d378dfc0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index f851a615aef..c956b034f6f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index ade8b34024d..a46d68e9b05 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 52f1b822100..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 4409af8d0a7..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json index 66a2c90e80f..733f90f84d9 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 3a403373a8f..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: http://www.typescriptlang.org/test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: ref/m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=http://www.typescriptlang.org/test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesImportHigher/amd/nodeModulesImportHigher.errors.txt b/tests/baselines/reference/project/nodeModulesImportHigher/amd/nodeModulesImportHigher.errors.txt index 68a1ef3b7c9..8b4e11eb606 100644 --- a/tests/baselines/reference/project/nodeModulesImportHigher/amd/nodeModulesImportHigher.errors.txt +++ b/tests/baselines/reference/project/nodeModulesImportHigher/amd/nodeModulesImportHigher.errors.txt @@ -1,4 +1,4 @@ -importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type 'number'. +importHigher/root.ts(6,1): error TS2322: Type '"10"' is not assignable to type 'number'. ==== entry.js (0 errors) ==== @@ -36,5 +36,5 @@ importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type m1.f2.a = 10; m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible). ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesImportHigher/node/nodeModulesImportHigher.errors.txt b/tests/baselines/reference/project/nodeModulesImportHigher/node/nodeModulesImportHigher.errors.txt index 68a1ef3b7c9..8b4e11eb606 100644 --- a/tests/baselines/reference/project/nodeModulesImportHigher/node/nodeModulesImportHigher.errors.txt +++ b/tests/baselines/reference/project/nodeModulesImportHigher/node/nodeModulesImportHigher.errors.txt @@ -1,4 +1,4 @@ -importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type 'number'. +importHigher/root.ts(6,1): error TS2322: Type '"10"' is not assignable to type 'number'. ==== entry.js (0 errors) ==== @@ -36,5 +36,5 @@ importHigher/root.ts(6,1): error TS2322: Type 'string' is not assignable to type m1.f2.a = 10; m1.f2.person.age = "10"; // Error: Should be number (if direct import of m2 made the m3 module visible). ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/amd/nodeModulesMaxDepthExceeded.errors.txt b/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/amd/nodeModulesMaxDepthExceeded.errors.txt index 7099c05d577..6d95ac42c8f 100644 --- a/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/amd/nodeModulesMaxDepthExceeded.errors.txt +++ b/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/amd/nodeModulesMaxDepthExceeded.errors.txt @@ -1,5 +1,5 @@ -maxDepthExceeded/root.ts(3,1): error TS2322: Type 'string' is not assignable to type 'number'. -maxDepthExceeded/root.ts(4,1): error TS2322: Type 'number' is not assignable to type 'boolean'. +maxDepthExceeded/root.ts(3,1): error TS2322: Type '"10"' is not assignable to type 'number'. +maxDepthExceeded/root.ts(4,1): error TS2322: Type '42' is not assignable to type 'true'. ==== entry.js (0 errors) ==== @@ -34,10 +34,10 @@ maxDepthExceeded/root.ts(4,1): error TS2322: Type 'number' is not assignable to m1.f1("test"); m1.f2.a = "10"; // Error: Should be number ~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. m1.rel = 42; // Error: Should be boolean ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. +!!! error TS2322: Type '42' is not assignable to type 'true'. m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any". \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/node/nodeModulesMaxDepthExceeded.errors.txt b/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/node/nodeModulesMaxDepthExceeded.errors.txt index 7099c05d577..6d95ac42c8f 100644 --- a/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/node/nodeModulesMaxDepthExceeded.errors.txt +++ b/tests/baselines/reference/project/nodeModulesMaxDepthExceeded/node/nodeModulesMaxDepthExceeded.errors.txt @@ -1,5 +1,5 @@ -maxDepthExceeded/root.ts(3,1): error TS2322: Type 'string' is not assignable to type 'number'. -maxDepthExceeded/root.ts(4,1): error TS2322: Type 'number' is not assignable to type 'boolean'. +maxDepthExceeded/root.ts(3,1): error TS2322: Type '"10"' is not assignable to type 'number'. +maxDepthExceeded/root.ts(4,1): error TS2322: Type '42' is not assignable to type 'true'. ==== entry.js (0 errors) ==== @@ -34,10 +34,10 @@ maxDepthExceeded/root.ts(4,1): error TS2322: Type 'number' is not assignable to m1.f1("test"); m1.f2.a = "10"; // Error: Should be number ~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. m1.rel = 42; // Error: Should be boolean ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'boolean'. +!!! error TS2322: Type '42' is not assignable to type 'true'. m1.f2.person.age = "10"; // OK if stopped at 2 modules: person will be "any". \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/amd/nodeModulesMaxDepthIncreased.errors.txt b/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/amd/nodeModulesMaxDepthIncreased.errors.txt index f511000d5ac..684821d60a2 100644 --- a/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/amd/nodeModulesMaxDepthIncreased.errors.txt +++ b/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/amd/nodeModulesMaxDepthIncreased.errors.txt @@ -1,4 +1,4 @@ -maxDepthIncreased/root.ts(7,1): error TS2322: Type 'string' is not assignable to type 'number'. +maxDepthIncreased/root.ts(7,1): error TS2322: Type '"10"' is not assignable to type 'number'. ==== index.js (0 errors) ==== @@ -40,7 +40,7 @@ maxDepthIncreased/root.ts(7,1): error TS2322: Type 'string' is not assignable to m1.f2.person.age = "10"; // Should error if loaded the .js files correctly ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. let r2 = 3 + m4.foo; // Should be OK if correctly using the @types .d.ts file \ No newline at end of file diff --git a/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/node/nodeModulesMaxDepthIncreased.errors.txt b/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/node/nodeModulesMaxDepthIncreased.errors.txt index f511000d5ac..684821d60a2 100644 --- a/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/node/nodeModulesMaxDepthIncreased.errors.txt +++ b/tests/baselines/reference/project/nodeModulesMaxDepthIncreased/node/nodeModulesMaxDepthIncreased.errors.txt @@ -1,4 +1,4 @@ -maxDepthIncreased/root.ts(7,1): error TS2322: Type 'string' is not assignable to type 'number'. +maxDepthIncreased/root.ts(7,1): error TS2322: Type '"10"' is not assignable to type 'number'. ==== index.js (0 errors) ==== @@ -40,7 +40,7 @@ maxDepthIncreased/root.ts(7,1): error TS2322: Type 'string' is not assignable to m1.f2.person.age = "10"; // Should error if loaded the .js files correctly ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. let r2 = 3 + m4.foo; // Should be OK if correctly using the @types .d.ts file \ No newline at end of file diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json index ef27e5d6f40..4f6001ccc51 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json @@ -13,8 +13,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json index 11bd042a34c..7b0f7634a86 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json @@ -12,8 +12,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json index d37850e3f0b..8def3a29073 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json @@ -12,8 +12,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map index a62495f753a..fa8f5c4613e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map index 1dea57986d9..3d7c6263ee6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index a62495f753a..fa8f5c4613e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 1dea57986d9..3d7c6263ee6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 5ff4ba61874..28783dfb983 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index 11f204cc242..b5bfe6f35c7 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index 98d50582c81..1361d34702b 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index a4bacca9ebe..9f13c07cc7c 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"/tests/cases/projects/outputdir_mixed_subfolder/src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map index 8bf3ef49561..90860d39fe5 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map index 0fc51f5e341..b9400dc5624 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map index f0be560aaaf..c50aee154a2 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map index ab5f17a63ea..11747238b4e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map index cec71625f40..186a8fb3753 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map index 4bdb1bfdb51..450cff64fa1 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 0fc51f5e341..b9400dc5624 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index f0be560aaaf..c50aee154a2 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 8bf3ef49561..90860d39fe5 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index cec71625f40..186a8fb3753 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index 4bdb1bfdb51..450cff64fa1 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index ab5f17a63ea..11747238b4e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index 4e1b085eb4c..c1afcd019cc 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 027f9569ebc..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_multifolder/src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 279857bce8b..c1f5e250cf8 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -16,9 +16,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index e129af6a045..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: /tests/cases/projects/outputdir_module_multifolder/src/ -sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref/m2.ts,outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map index 3d65f47e63a..3539fcb8d17 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map index fb10b5b1de9..6355e109114 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map index 1ba37ab45d0..4347d2eb3ea 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map index 7611cfa9649..647c302260c 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index 3d65f47e63a..3539fcb8d17 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index fb10b5b1de9..6355e109114 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index 1ba37ab45d0..4347d2eb3ea 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 7611cfa9649..647c302260c 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index c94ffed292f..13c43235b2b 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 487d57bd2ae..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_simple/src/","sources":["m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json index eed9ed1ea34..f12c5aff508 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -15,9 +15,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 0a161bb4886..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: /tests/cases/projects/outputdir_module_simple/src/ -sources: m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map index 9a60e0b6f5d..d39589e4f3e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map index 5a25b5d4656..63351122f3e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map index a40c4244c47..4cd2a39d1c1 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map index fd5f31062e0..993894958b0 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 9a60e0b6f5d..d39589e4f3e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 5a25b5d4656..63351122f3e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index a40c4244c47..4cd2a39d1c1 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index fd5f31062e0..993894958b0 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index 3910a6170d3..8dca8ba1a6c 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 622f2c91c95..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"/tests/cases/projects/outputdir_module_subfolder/src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index 048d4296ae5..d52fb087d34 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 5d837611e49..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: /tests/cases/projects/outputdir_module_subfolder/src/ -sources: ref/m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map index 06b2a8b3dfc..5685e41f2bb 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map index 43700cb4537..ea96dcd448f 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 06b2a8b3dfc..5685e41f2bb 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 43700cb4537..ea96dcd448f 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 5005743418e..f9f1f0cd10e 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index f406d61a6f1..2e303ee1885 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index 0cefe1f1642..19977a8159b 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index 6bd9a36c15d..8fa001f03aa 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"../src/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"../src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map index d14f89c2c6e..0f5e1f6de5c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map index 0a78c398416..453bd036286 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map index bb03821c385..019c9ca53da 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map index e173a64c64d..d32dfbe0fa3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map index daef8ad6d4e..a923e39f3eb 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js.map index 530c3cb016c..faf9a0a8d50 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 0a78c398416..453bd036286 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index bb03821c385..019c9ca53da 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index d14f89c2c6e..0f5e1f6de5c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index daef8ad6d4e..a923e39f3eb 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index 530c3cb016c..faf9a0a8d50 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index e173a64c64d..d32dfbe0fa3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index 38fef635f82..bb8c756a0b9 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index a3ab2ebecdb..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json index 328a26d1086..7b1cda2a19b 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 7ef7adace73..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: ../src/ -sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref/m2.ts,outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map index c8f4d72f22f..05d9f8cb3da 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js.map index a87178e07e2..e446b64679d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js.map index 87446d16463..cca0e50d762 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js.map index f8ad3c6a445..46798ce7bb4 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index c8f4d72f22f..05d9f8cb3da 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index a87178e07e2..e446b64679d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index 87446d16463..cca0e50d762 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index f8ad3c6a445..46798ce7bb4 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index a8a3b1c51da..d70e1816041 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f55a72e7977..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json index d16c4a53d9c..32b2fa4d7dc 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -14,9 +14,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 2910ad61478..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: ../src/ -sources: m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map index 934216cc931..43194290d9d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map index a87178e07e2..e446b64679d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map index d7788bd6bb9..cd7b5d10db4 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js.map index f5191f2dd02..b77575bb8b5 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 934216cc931..43194290d9d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index a87178e07e2..e446b64679d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index d7788bd6bb9..cd7b5d10db4 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"../src/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index f5191f2dd02..b77575bb8b5 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index 209b545b609..3c2cbaf1342 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f803a29f3bf..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"../src/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json index f1ef0403d6e..03ecf07f373 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -14,9 +14,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index b05ffee34ca..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: ../src/ -sources: ref/m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js.map index 37d956756ce..b7c7a763318 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js.map index 107c53778e2..57aea3578c6 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 01d0cee6543..af5f11f8dd3 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index ac0b3d2dc48..3d8629098dc 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 04c42ed11d0..06567a4fddd 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index b3feff79cab..0865ddc2903 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index babc80c4d26..d3c0e8697cd 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index 7813d8d45f1..8430db389ed 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../ref/m2.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile0.js.map index 37d956756ce..b7c7a763318 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js.map index 7613820ab99..41a7fb93ee6 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js.map index 02d734d6a23..dc6ab342a51 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile0.js.map index 107c53778e2..57aea3578c6 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js.map index d3e8930bf4e..6af45080bd6 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js.map index 63de9801efe..c51718c91d8 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 2655f2c655e..a77c789e625 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index 05f63e35111..5890568ea24 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 8bc0b5d0e4c..502b9145dc8 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 4a4c8a4ab2e..1bc2118f2b7 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index efe375c82cc..48cc4f7aa98 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 213e3024d61..476d3d93966 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"","sources":["../../../../outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index bbd9ace39b6..51320616653 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 2974abdc1cc..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../../outputdir_module_multifolder_ref/m2.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json index 7ba960c4bef..0b341bae56d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json @@ -14,9 +14,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 70054e8f1c6..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: -sources: ../ref/m1.ts,../../outputdir_module_multifolder_ref/m2.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js.map index 7613820ab99..41a7fb93ee6 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js.map index 1e9d1cc6ddf..0deeb01864d 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js.map index d3e8930bf4e..6af45080bd6 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js.map index 0af52e5facd..40fdb33821b 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index c93393fadd7..761471d9d82 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 3ee95c75c95..d3fedc589bf 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index d9691d43fc2..2923aa0a014 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 814caa426d9..8cd970cb557 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index f8787f0f018..105ebefb06e 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f491a9ec373..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../m1.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json index c9889aff69b..afd9e2385c0 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json @@ -13,9 +13,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 056b7a1c7f2..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: -sources: ../m1.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js.map index 7613820ab99..41a7fb93ee6 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js.map index 1e9d1cc6ddf..0deeb01864d 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js.map index d3e8930bf4e..6af45080bd6 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js.map index bbd1ffd7b98..92ae347312c 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index df92966a910..8e4c69b85ca 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 3ee95c75c95..d3fedc589bf 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index a1ba2747bea..f102ba902d9 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"","sources":["../../../ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index 1ea6b49a9b9..be65d1d02a5 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../../test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index f2d94cd0ab2..12c15dd7143 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index bfdacf69428..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ref/m1.ts","../test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json index da85c1bf06c..4dabc0fcefa 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json @@ -13,9 +13,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 282a64dbc6f..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: -sources: ../ref/m1.ts,../test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map index 830a328e144..e68a248d5d7 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map index 790459b963d..c6ff2cc27ce 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map index 830a328e144..e68a248d5d7 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map index 790459b963d..c6ff2cc27ce 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map index 38ee6987e2c..35e555688e0 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map index facd1d09335..2d0fd86fc16 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map index d2eeb5074b5..19bcc3ee32a 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts index c3a64f5b6eb..984a65ed100 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts @@ -4,14 +4,6 @@ declare class m1_c1 { } declare var m1_instance1: m1_c1; declare function m1_f1(): m1_c1; -declare module "ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} declare var a1: number; declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map index f3f77743f87..7b3f8edb8a6 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map @@ -1 +1 @@ -{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","ref/m2.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;AERD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file +{"version":3,"file":"outAndOutDirFile.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAG,EAAE,CAAC;AACf;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B;IACI,MAAM,CAAC,YAAY,CAAC;AACxB,CAAC;ACRD,iCAAiC;AACjC,iCAAiC;AACjC,IAAI,EAAE,GAAG,EAAE,CAAC;AACZ;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AACzB;IACI,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map index aedc29a2978..a8c35bc15c6 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map index 312d2f052cc..f1623c531a6 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map index 2330fbc104b..b199c0dc1ad 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map index 0b0599e7f62..ef338fcc887 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map index f53f427de90..10777c25bd4 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js.map index fc3dfdd8306..dbab2cdf457 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index 312d2f052cc..f1623c531a6 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map index 2330fbc104b..b199c0dc1ad 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAEW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index aedc29a2978..a8c35bc15c6 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map index f53f427de90..10777c25bd4 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map index fc3dfdd8306..dbab2cdf457 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AAC9B,IAAO,EAAE,WAAW,wCAAwC,CAAC,CAAC;AACnD,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AAC9B,2DAA8D;AACnD,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;AACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map index 0b0599e7f62..ef338fcc887 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map @@ -1 +1 @@ -{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m2.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder_ref/m2.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map index f142c1edf9b..5a120cbe800 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICRU,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICNU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICRU,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICNU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IACd,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index b66a73a7c90..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "outputdir_module_multifolder/ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "outputdir_module_multifolder/test" { - import m1 = require("outputdir_module_multifolder/ref/m1"); - import m2 = require("outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index f84040526ba..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["outputdir_module_multifolder/ref/m1.ts","outputdir_module_multifolder_ref/m2.ts","outputdir_module_multifolder/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json index 4b7656e044e..d56b17556fc 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -15,9 +15,5 @@ "../outputdir_module_multifolder_ref/m2.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 95f7d3cee8f..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref/m2.ts,outputdir_module_multifolder/test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map index 7e292316432..26e7b01ccdb 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt index ac92d511dce..3040116f9df 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt @@ -12,21 +12,24 @@ sourceFile:m1.ts >>> "use strict"; >>> exports.m1_a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 > m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(1, 12) + SourceIndex(0) -2 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) -3 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) -4 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) -5 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) +2 >Emitted(3, 13) Source(1, 12) + SourceIndex(0) +3 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) +4 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) +6 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) --- >>> var m1_c1 = (function () { 1->^^^^ @@ -79,45 +82,42 @@ sourceFile:m1.ts --- >>> exports.m1_c1 = m1_c1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(9, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(9, 18) Source(2, 19) + SourceIndex(0) -3 >Emitted(9, 26) Source(4, 2) + SourceIndex(0) -4 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) +2 > export class m1_c1 { + > public m1_c1_p1: number; + > } +1->Emitted(9, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) --- >>> exports.m1_instance1 = new m1_c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(6, 12) + SourceIndex(0) -2 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) -3 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) -4 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) -5 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) -6 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) -7 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) +2 >Emitted(10, 13) Source(6, 12) + SourceIndex(0) +3 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) +4 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) +5 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) +6 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) +7 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) +8 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) --- >>> function m1_f1() { 1 >^^^^ @@ -156,19 +156,13 @@ sourceFile:m1.ts --- >>> exports.m1_f1 = m1_f1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(14, 5) Source(7, 17) + SourceIndex(0) -2 >Emitted(14, 18) Source(7, 22) + SourceIndex(0) -3 >Emitted(14, 26) Source(9, 2) + SourceIndex(0) -4 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) +2 > export function m1_f1() { + > return m1_instance1; + > } +1->Emitted(14, 5) Source(7, 1) + SourceIndex(0) +2 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=m1.js.map=================================================================== @@ -185,22 +179,25 @@ sourceFile:test.ts >>> "use strict"; >>> exports.a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >import m1 = require("m1"); >export var -2 > a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 13) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) --- >>> var c1 = (function () { 1->^^^^ @@ -253,45 +250,42 @@ sourceFile:test.ts --- >>> exports.c1 = c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 5) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 15) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 20) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) +2 > export class c1 { + > public p1: number; + > } +1->Emitted(9, 5) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) --- >>> exports.instance1 = new c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 13) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) --- >>> function f1() { 1 >^^^^ @@ -330,45 +324,42 @@ sourceFile:test.ts --- >>> exports.f1 = f1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 > f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 5) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 15) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 20) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) +2 > export function f1() { + > return instance1; + > } +1->Emitted(14, 5) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) --- >>> exports.a2 = m1.m1_c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ 1-> > >export var -2 > a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 5) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 13) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js.map index 3bb503f2c26..1b563cf259d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt index 6ab1c1d6310..43f0e8169c0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt @@ -11,21 +11,24 @@ sourceFile:m1.ts >>>"use strict"; >>>exports.m1_a1 = 10; 1 > -2 >^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 >m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(2, 1) Source(1, 12) + SourceIndex(0) -2 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) -3 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) -4 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) -5 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) +2 >Emitted(2, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) +4 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) +5 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) +6 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) --- >>>var m1_c1 = (function () { 1-> @@ -78,45 +81,42 @@ sourceFile:m1.ts --- >>>exports.m1_c1 = m1_c1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(8, 1) Source(2, 14) + SourceIndex(0) -2 >Emitted(8, 14) Source(2, 19) + SourceIndex(0) -3 >Emitted(8, 22) Source(4, 2) + SourceIndex(0) -4 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) +2 >export class m1_c1 { + > public m1_c1_p1: number; + >} +1->Emitted(8, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) --- >>>exports.m1_instance1 = new m1_c1(); 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(9, 1) Source(6, 12) + SourceIndex(0) -2 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) -3 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) -4 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) -5 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) -6 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) -7 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) +2 >Emitted(9, 9) Source(6, 12) + SourceIndex(0) +3 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) +4 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) +5 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) +6 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) +7 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) +8 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) --- >>>function m1_f1() { 1 > @@ -155,20 +155,14 @@ sourceFile:m1.ts --- >>>exports.m1_f1 = m1_f1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(13, 1) Source(7, 17) + SourceIndex(0) -2 >Emitted(13, 14) Source(7, 22) + SourceIndex(0) -3 >Emitted(13, 22) Source(9, 2) + SourceIndex(0) -4 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) +2 >export function m1_f1() { + > return m1_instance1; + >} +1->Emitted(13, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) --- >>>//# sourceMappingURL=m1.js.map=================================================================== JsFile: test.js @@ -183,45 +177,33 @@ sourceFile:test.ts >>>"use strict"; >>>var m1 = require("m1"); 1 > -2 >^^^^ -3 > ^^ -4 > ^^^^^^^^^^^ -5 > ^^^^ -6 > ^ -7 > ^ +2 >^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 >import -3 > m1 -4 > = require( -5 > "m1" -6 > ) -7 > ; +2 >import m1 = require("m1"); 1 >Emitted(2, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(1, 8) + SourceIndex(0) -3 >Emitted(2, 7) Source(1, 10) + SourceIndex(0) -4 >Emitted(2, 18) Source(1, 21) + SourceIndex(0) -5 >Emitted(2, 22) Source(1, 25) + SourceIndex(0) -6 >Emitted(2, 23) Source(1, 26) + SourceIndex(0) -7 >Emitted(2, 24) Source(1, 27) + SourceIndex(0) +2 >Emitted(2, 24) Source(1, 27) + SourceIndex(0) --- >>>exports.a1 = 10; 1 > -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 > >export var -2 >a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 1) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 9) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) --- >>>var c1 = (function () { 1-> @@ -274,45 +256,42 @@ sourceFile:test.ts --- >>>exports.c1 = c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 1) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 11) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 16) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) +2 >export class c1 { + > public p1: number; + >} +1->Emitted(9, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) --- >>>exports.instance1 = new c1(); 1-> -2 >^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 1) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 9) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) --- >>>function f1() { 1 > @@ -351,45 +330,42 @@ sourceFile:test.ts --- >>>exports.f1 = f1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 1) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 11) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 16) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) +2 >export function f1() { + > return instance1; + >} +1->Emitted(14, 1) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) --- >>>exports.a2 = m1.m1_c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ -8 > ^^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ +9 > ^^^^^^^^^-> 1-> > >export var -2 >a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 1) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 9) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) --- >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js.map index 13298067344..46e8000caa0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map index 7e292316432..26e7b01ccdb 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt index c29900cfdc9..73d7191bc56 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt @@ -12,21 +12,24 @@ sourceFile:m1.ts >>> "use strict"; >>> exports.m1_a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 > m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(1, 12) + SourceIndex(0) -2 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) -3 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) -4 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) -5 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) +2 >Emitted(3, 13) Source(1, 12) + SourceIndex(0) +3 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) +4 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) +6 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) --- >>> var m1_c1 = (function () { 1->^^^^ @@ -79,45 +82,42 @@ sourceFile:m1.ts --- >>> exports.m1_c1 = m1_c1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(9, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(9, 18) Source(2, 19) + SourceIndex(0) -3 >Emitted(9, 26) Source(4, 2) + SourceIndex(0) -4 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) +2 > export class m1_c1 { + > public m1_c1_p1: number; + > } +1->Emitted(9, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) --- >>> exports.m1_instance1 = new m1_c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(6, 12) + SourceIndex(0) -2 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) -3 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) -4 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) -5 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) -6 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) -7 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) +2 >Emitted(10, 13) Source(6, 12) + SourceIndex(0) +3 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) +4 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) +5 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) +6 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) +7 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) +8 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) --- >>> function m1_f1() { 1 >^^^^ @@ -156,19 +156,13 @@ sourceFile:m1.ts --- >>> exports.m1_f1 = m1_f1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(14, 5) Source(7, 17) + SourceIndex(0) -2 >Emitted(14, 18) Source(7, 22) + SourceIndex(0) -3 >Emitted(14, 26) Source(9, 2) + SourceIndex(0) -4 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) +2 > export function m1_f1() { + > return m1_instance1; + > } +1->Emitted(14, 5) Source(7, 1) + SourceIndex(0) +2 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=m1.js.map=================================================================== @@ -185,22 +179,25 @@ sourceFile:test.ts >>> "use strict"; >>> exports.a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >import m1 = require("m1"); >export var -2 > a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 13) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) --- >>> var c1 = (function () { 1->^^^^ @@ -253,45 +250,42 @@ sourceFile:test.ts --- >>> exports.c1 = c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 5) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 15) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 20) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) +2 > export class c1 { + > public p1: number; + > } +1->Emitted(9, 5) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) --- >>> exports.instance1 = new c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 13) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) --- >>> function f1() { 1 >^^^^ @@ -330,45 +324,42 @@ sourceFile:test.ts --- >>> exports.f1 = f1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 > f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 5) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 15) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 20) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) +2 > export function f1() { + > return instance1; + > } +1->Emitted(14, 5) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) --- >>> exports.a2 = m1.m1_c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ 1-> > >export var -2 > a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 5) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 13) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map index 3bb503f2c26..1b563cf259d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map index 13298067344..46e8000caa0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,IAAI,CAAC,CAAC;AACf,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,uBAA0B;AACf,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt index f4c1f40d95b..fa1fcffc859 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt @@ -11,21 +11,24 @@ sourceFile:m1.ts >>>"use strict"; >>>exports.m1_a1 = 10; 1 > -2 >^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 >m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(2, 1) Source(1, 12) + SourceIndex(0) -2 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) -3 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) -4 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) -5 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) +2 >Emitted(2, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) +4 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) +5 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) +6 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) --- >>>var m1_c1 = (function () { 1-> @@ -78,45 +81,42 @@ sourceFile:m1.ts --- >>>exports.m1_c1 = m1_c1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(8, 1) Source(2, 14) + SourceIndex(0) -2 >Emitted(8, 14) Source(2, 19) + SourceIndex(0) -3 >Emitted(8, 22) Source(4, 2) + SourceIndex(0) -4 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) +2 >export class m1_c1 { + > public m1_c1_p1: number; + >} +1->Emitted(8, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) --- >>>exports.m1_instance1 = new m1_c1(); 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(9, 1) Source(6, 12) + SourceIndex(0) -2 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) -3 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) -4 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) -5 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) -6 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) -7 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) +2 >Emitted(9, 9) Source(6, 12) + SourceIndex(0) +3 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) +4 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) +5 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) +6 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) +7 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) +8 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) --- >>>function m1_f1() { 1 > @@ -155,20 +155,14 @@ sourceFile:m1.ts --- >>>exports.m1_f1 = m1_f1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(13, 1) Source(7, 17) + SourceIndex(0) -2 >Emitted(13, 14) Source(7, 22) + SourceIndex(0) -3 >Emitted(13, 22) Source(9, 2) + SourceIndex(0) -4 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) +2 >export function m1_f1() { + > return m1_instance1; + >} +1->Emitted(13, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) --- >>>//# sourceMappingURL=m1.js.map=================================================================== JsFile: test.js @@ -183,45 +177,33 @@ sourceFile:test.ts >>>"use strict"; >>>var m1 = require("m1"); 1 > -2 >^^^^ -3 > ^^ -4 > ^^^^^^^^^^^ -5 > ^^^^ -6 > ^ -7 > ^ +2 >^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 >import -3 > m1 -4 > = require( -5 > "m1" -6 > ) -7 > ; +2 >import m1 = require("m1"); 1 >Emitted(2, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(1, 8) + SourceIndex(0) -3 >Emitted(2, 7) Source(1, 10) + SourceIndex(0) -4 >Emitted(2, 18) Source(1, 21) + SourceIndex(0) -5 >Emitted(2, 22) Source(1, 25) + SourceIndex(0) -6 >Emitted(2, 23) Source(1, 26) + SourceIndex(0) -7 >Emitted(2, 24) Source(1, 27) + SourceIndex(0) +2 >Emitted(2, 24) Source(1, 27) + SourceIndex(0) --- >>>exports.a1 = 10; 1 > -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 > >export var -2 >a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 1) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 9) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) --- >>>var c1 = (function () { 1-> @@ -274,45 +256,42 @@ sourceFile:test.ts --- >>>exports.c1 = c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 1) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 11) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 16) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) +2 >export class c1 { + > public p1: number; + >} +1->Emitted(9, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) --- >>>exports.instance1 = new c1(); 1-> -2 >^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 1) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 9) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) --- >>>function f1() { 1 > @@ -351,45 +330,42 @@ sourceFile:test.ts --- >>>exports.f1 = f1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 1) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 11) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 16) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) +2 >export function f1() { + > return instance1; + >} +1->Emitted(14, 1) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) --- >>>exports.a2 = m1.m1_c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ -8 > ^^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ +9 > ^^^^^^^^^-> 1-> > >export var -2 >a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 1) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 9) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) --- >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map index c324029a742..28d5511a5ee 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt index adb1e2c76b3..9a706f5a2b8 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt @@ -12,21 +12,24 @@ sourceFile:m1.ts >>> "use strict"; >>> exports.m1_a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 > m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(1, 12) + SourceIndex(0) -2 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) -3 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) -4 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) -5 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) +2 >Emitted(3, 13) Source(1, 12) + SourceIndex(0) +3 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) +4 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) +6 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) --- >>> var m1_c1 = (function () { 1->^^^^ @@ -79,45 +82,42 @@ sourceFile:m1.ts --- >>> exports.m1_c1 = m1_c1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(9, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(9, 18) Source(2, 19) + SourceIndex(0) -3 >Emitted(9, 26) Source(4, 2) + SourceIndex(0) -4 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) +2 > export class m1_c1 { + > public m1_c1_p1: number; + > } +1->Emitted(9, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) --- >>> exports.m1_instance1 = new m1_c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(6, 12) + SourceIndex(0) -2 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) -3 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) -4 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) -5 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) -6 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) -7 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) +2 >Emitted(10, 13) Source(6, 12) + SourceIndex(0) +3 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) +4 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) +5 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) +6 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) +7 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) +8 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) --- >>> function m1_f1() { 1 >^^^^ @@ -156,19 +156,13 @@ sourceFile:m1.ts --- >>> exports.m1_f1 = m1_f1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(14, 5) Source(7, 17) + SourceIndex(0) -2 >Emitted(14, 18) Source(7, 22) + SourceIndex(0) -3 >Emitted(14, 26) Source(9, 2) + SourceIndex(0) -4 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) +2 > export function m1_f1() { + > return m1_instance1; + > } +1->Emitted(14, 5) Source(7, 1) + SourceIndex(0) +2 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:bin/test.js @@ -179,22 +173,25 @@ sourceFile:test.ts >>> "use strict"; >>> exports.a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >import m1 = require("m1"); >export var -2 > a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(18, 5) Source(2, 12) + SourceIndex(1) -2 >Emitted(18, 15) Source(2, 14) + SourceIndex(1) -3 >Emitted(18, 18) Source(2, 17) + SourceIndex(1) -4 >Emitted(18, 20) Source(2, 19) + SourceIndex(1) -5 >Emitted(18, 21) Source(2, 20) + SourceIndex(1) +2 >Emitted(18, 13) Source(2, 12) + SourceIndex(1) +3 >Emitted(18, 15) Source(2, 14) + SourceIndex(1) +4 >Emitted(18, 18) Source(2, 17) + SourceIndex(1) +5 >Emitted(18, 20) Source(2, 19) + SourceIndex(1) +6 >Emitted(18, 21) Source(2, 20) + SourceIndex(1) --- >>> var c1 = (function () { 1->^^^^ @@ -247,45 +244,42 @@ sourceFile:test.ts --- >>> exports.c1 = c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(24, 5) Source(3, 14) + SourceIndex(1) -2 >Emitted(24, 15) Source(3, 16) + SourceIndex(1) -3 >Emitted(24, 20) Source(5, 2) + SourceIndex(1) -4 >Emitted(24, 21) Source(5, 2) + SourceIndex(1) +2 > export class c1 { + > public p1: number; + > } +1->Emitted(24, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(24, 21) Source(5, 2) + SourceIndex(1) --- >>> exports.instance1 = new c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(25, 5) Source(7, 12) + SourceIndex(1) -2 >Emitted(25, 22) Source(7, 21) + SourceIndex(1) -3 >Emitted(25, 25) Source(7, 24) + SourceIndex(1) -4 >Emitted(25, 29) Source(7, 28) + SourceIndex(1) -5 >Emitted(25, 31) Source(7, 30) + SourceIndex(1) -6 >Emitted(25, 33) Source(7, 32) + SourceIndex(1) -7 >Emitted(25, 34) Source(7, 33) + SourceIndex(1) +2 >Emitted(25, 13) Source(7, 12) + SourceIndex(1) +3 >Emitted(25, 22) Source(7, 21) + SourceIndex(1) +4 >Emitted(25, 25) Source(7, 24) + SourceIndex(1) +5 >Emitted(25, 29) Source(7, 28) + SourceIndex(1) +6 >Emitted(25, 31) Source(7, 30) + SourceIndex(1) +7 >Emitted(25, 33) Source(7, 32) + SourceIndex(1) +8 >Emitted(25, 34) Source(7, 33) + SourceIndex(1) --- >>> function f1() { 1 >^^^^ @@ -324,45 +318,42 @@ sourceFile:test.ts --- >>> exports.f1 = f1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 > f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(29, 5) Source(8, 17) + SourceIndex(1) -2 >Emitted(29, 15) Source(8, 19) + SourceIndex(1) -3 >Emitted(29, 20) Source(10, 2) + SourceIndex(1) -4 >Emitted(29, 21) Source(10, 2) + SourceIndex(1) +2 > export function f1() { + > return instance1; + > } +1->Emitted(29, 5) Source(8, 1) + SourceIndex(1) +2 >Emitted(29, 21) Source(10, 2) + SourceIndex(1) --- >>> exports.a2 = m1.m1_c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ 1-> > >export var -2 > a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(30, 5) Source(12, 12) + SourceIndex(1) -2 >Emitted(30, 15) Source(12, 14) + SourceIndex(1) -3 >Emitted(30, 18) Source(12, 17) + SourceIndex(1) -4 >Emitted(30, 20) Source(12, 19) + SourceIndex(1) -5 >Emitted(30, 21) Source(12, 20) + SourceIndex(1) -6 >Emitted(30, 26) Source(12, 25) + SourceIndex(1) -7 >Emitted(30, 27) Source(12, 26) + SourceIndex(1) +2 >Emitted(30, 13) Source(12, 12) + SourceIndex(1) +3 >Emitted(30, 15) Source(12, 14) + SourceIndex(1) +4 >Emitted(30, 18) Source(12, 17) + SourceIndex(1) +5 >Emitted(30, 20) Source(12, 19) + SourceIndex(1) +6 >Emitted(30, 21) Source(12, 20) + SourceIndex(1) +7 >Emitted(30, 26) Source(12, 25) + SourceIndex(1) +8 >Emitted(30, 27) Source(12, 26) + SourceIndex(1) --- >>>}); >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index df062274b3e..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 3b75f2878c9..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json index 49abba9156c..3958ba2389d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -14,9 +14,5 @@ "m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index dfbb5f48fff..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map index 422fe41a79d..88ce97eeeff 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map index bee1ea97f83..e28d378dfc0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js.map index f851a615aef..c956b034f6f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map index 422fe41a79d..88ce97eeeff 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map index 67f4a8faf60..f92c491640f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";;IACW,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt index 6c57ae57e72..5c24bd16a28 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt @@ -12,21 +12,24 @@ sourceFile:ref/m1.ts >>> "use strict"; >>> exports.m1_a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 > m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(1, 12) + SourceIndex(0) -2 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) -3 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) -4 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) -5 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) +2 >Emitted(3, 13) Source(1, 12) + SourceIndex(0) +3 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) +4 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) +6 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) --- >>> var m1_c1 = (function () { 1->^^^^ @@ -79,45 +82,42 @@ sourceFile:ref/m1.ts --- >>> exports.m1_c1 = m1_c1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(9, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(9, 18) Source(2, 19) + SourceIndex(0) -3 >Emitted(9, 26) Source(4, 2) + SourceIndex(0) -4 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) +2 > export class m1_c1 { + > public m1_c1_p1: number; + > } +1->Emitted(9, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) --- >>> exports.m1_instance1 = new m1_c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(6, 12) + SourceIndex(0) -2 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) -3 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) -4 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) -5 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) -6 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) -7 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) +2 >Emitted(10, 13) Source(6, 12) + SourceIndex(0) +3 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) +4 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) +5 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) +6 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) +7 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) +8 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) --- >>> function m1_f1() { 1 >^^^^ @@ -156,19 +156,13 @@ sourceFile:ref/m1.ts --- >>> exports.m1_f1 = m1_f1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(14, 5) Source(7, 17) + SourceIndex(0) -2 >Emitted(14, 18) Source(7, 22) + SourceIndex(0) -3 >Emitted(14, 26) Source(9, 2) + SourceIndex(0) -4 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) +2 > export function m1_f1() { + > return m1_instance1; + > } +1->Emitted(14, 5) Source(7, 1) + SourceIndex(0) +2 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=m1.js.map=================================================================== @@ -185,22 +179,25 @@ sourceFile:test.ts >>> "use strict"; >>> exports.a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >import m1 = require("ref/m1"); >export var -2 > a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 13) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 15) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 18) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 20) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 21) Source(2, 20) + SourceIndex(0) --- >>> var c1 = (function () { 1->^^^^ @@ -253,45 +250,42 @@ sourceFile:test.ts --- >>> exports.c1 = c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 5) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 15) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 20) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) +2 > export class c1 { + > public p1: number; + > } +1->Emitted(9, 5) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 21) Source(5, 2) + SourceIndex(0) --- >>> exports.instance1 = new c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 13) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 22) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 25) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 29) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 31) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 33) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 34) Source(7, 33) + SourceIndex(0) --- >>> function f1() { 1 >^^^^ @@ -330,45 +324,42 @@ sourceFile:test.ts --- >>> exports.f1 = f1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 > f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 5) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 15) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 20) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) +2 > export function f1() { + > return instance1; + > } +1->Emitted(14, 5) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 21) Source(10, 2) + SourceIndex(0) --- >>> exports.a2 = m1.m1_c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ 1-> > >export var -2 > a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 5) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 13) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 15) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 18) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 20) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 21) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 26) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 27) Source(12, 26) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map index bee1ea97f83..e28d378dfc0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map @@ -1 +1 @@ -{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,aAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA;AAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFe,aAAK,QAEpB,CAAA"} \ No newline at end of file +{"version":3,"file":"m1.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts"],"names":[],"mappings":";AAAW,QAAA,KAAK,GAAG,EAAE,CAAC;AACtB;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAAC,AAFD,IAEC;AAFD,sBAEC;AAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;AACtC;IACI,MAAM,CAAC,oBAAY,CAAC;AACxB,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map index f851a615aef..c956b034f6f 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,IAAO,EAAE,WAAW,QAAQ,CAAC,CAAC;AACnB,UAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFY,UAAE,KAEd,CAAA;AAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFe,UAAE,KAEjB,CAAA;AAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["test.ts"],"names":[],"mappings":";AAAA,2BAA8B;AACnB,QAAA,EAAE,GAAG,EAAE,CAAC;AACnB;IAAA;IAEA,CAAC;IAAD,SAAC;AAAD,CAAC,AAFD,IAEC;AAFD,gBAEC;AAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;AAChC;IACI,MAAM,CAAC,iBAAS,CAAC;AACrB,CAAC;AAFD,gBAEC;AAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt index db57e7cba0c..f6b26376856 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt @@ -11,21 +11,24 @@ sourceFile:ref/m1.ts >>>"use strict"; >>>exports.m1_a1 = 10; 1 > -2 >^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 >m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(2, 1) Source(1, 12) + SourceIndex(0) -2 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) -3 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) -4 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) -5 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) +2 >Emitted(2, 9) Source(1, 12) + SourceIndex(0) +3 >Emitted(2, 14) Source(1, 17) + SourceIndex(0) +4 >Emitted(2, 17) Source(1, 20) + SourceIndex(0) +5 >Emitted(2, 19) Source(1, 22) + SourceIndex(0) +6 >Emitted(2, 20) Source(1, 23) + SourceIndex(0) --- >>>var m1_c1 = (function () { 1-> @@ -78,45 +81,42 @@ sourceFile:ref/m1.ts --- >>>exports.m1_c1 = m1_c1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(8, 1) Source(2, 14) + SourceIndex(0) -2 >Emitted(8, 14) Source(2, 19) + SourceIndex(0) -3 >Emitted(8, 22) Source(4, 2) + SourceIndex(0) -4 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) +2 >export class m1_c1 { + > public m1_c1_p1: number; + >} +1->Emitted(8, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(8, 23) Source(4, 2) + SourceIndex(0) --- >>>exports.m1_instance1 = new m1_c1(); 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(9, 1) Source(6, 12) + SourceIndex(0) -2 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) -3 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) -4 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) -5 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) -6 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) -7 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) +2 >Emitted(9, 9) Source(6, 12) + SourceIndex(0) +3 >Emitted(9, 21) Source(6, 24) + SourceIndex(0) +4 >Emitted(9, 24) Source(6, 27) + SourceIndex(0) +5 >Emitted(9, 28) Source(6, 31) + SourceIndex(0) +6 >Emitted(9, 33) Source(6, 36) + SourceIndex(0) +7 >Emitted(9, 35) Source(6, 38) + SourceIndex(0) +8 >Emitted(9, 36) Source(6, 39) + SourceIndex(0) --- >>>function m1_f1() { 1 > @@ -155,20 +155,14 @@ sourceFile:ref/m1.ts --- >>>exports.m1_f1 = m1_f1; 1-> -2 >^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(13, 1) Source(7, 17) + SourceIndex(0) -2 >Emitted(13, 14) Source(7, 22) + SourceIndex(0) -3 >Emitted(13, 22) Source(9, 2) + SourceIndex(0) -4 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) +2 >export function m1_f1() { + > return m1_instance1; + >} +1->Emitted(13, 1) Source(7, 1) + SourceIndex(0) +2 >Emitted(13, 23) Source(9, 2) + SourceIndex(0) --- >>>//# sourceMappingURL=m1.js.map=================================================================== JsFile: test.js @@ -183,45 +177,33 @@ sourceFile:test.ts >>>"use strict"; >>>var m1 = require("ref/m1"); 1 > -2 >^^^^ -3 > ^^ -4 > ^^^^^^^^^^^ -5 > ^^^^^^^^ -6 > ^ -7 > ^ +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 >import -3 > m1 -4 > = require( -5 > "ref/m1" -6 > ) -7 > ; +2 >import m1 = require("ref/m1"); 1 >Emitted(2, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(1, 8) + SourceIndex(0) -3 >Emitted(2, 7) Source(1, 10) + SourceIndex(0) -4 >Emitted(2, 18) Source(1, 21) + SourceIndex(0) -5 >Emitted(2, 26) Source(1, 29) + SourceIndex(0) -6 >Emitted(2, 27) Source(1, 30) + SourceIndex(0) -7 >Emitted(2, 28) Source(1, 31) + SourceIndex(0) +2 >Emitted(2, 28) Source(1, 31) + SourceIndex(0) --- >>>exports.a1 = 10; 1 > -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 > >export var -2 >a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 1) Source(2, 12) + SourceIndex(0) -2 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) -3 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) -4 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) -5 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) +2 >Emitted(3, 9) Source(2, 12) + SourceIndex(0) +3 >Emitted(3, 11) Source(2, 14) + SourceIndex(0) +4 >Emitted(3, 14) Source(2, 17) + SourceIndex(0) +5 >Emitted(3, 16) Source(2, 19) + SourceIndex(0) +6 >Emitted(3, 17) Source(2, 20) + SourceIndex(0) --- >>>var c1 = (function () { 1-> @@ -274,45 +256,42 @@ sourceFile:test.ts --- >>>exports.c1 = c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 >c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(9, 1) Source(3, 14) + SourceIndex(0) -2 >Emitted(9, 11) Source(3, 16) + SourceIndex(0) -3 >Emitted(9, 16) Source(5, 2) + SourceIndex(0) -4 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) +2 >export class c1 { + > public p1: number; + >} +1->Emitted(9, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(9, 17) Source(5, 2) + SourceIndex(0) --- >>>exports.instance1 = new c1(); 1-> -2 >^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 >^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 >instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(10, 1) Source(7, 12) + SourceIndex(0) -2 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) -3 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) -4 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) -5 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) -6 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) -7 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) +2 >Emitted(10, 9) Source(7, 12) + SourceIndex(0) +3 >Emitted(10, 18) Source(7, 21) + SourceIndex(0) +4 >Emitted(10, 21) Source(7, 24) + SourceIndex(0) +5 >Emitted(10, 25) Source(7, 28) + SourceIndex(0) +6 >Emitted(10, 27) Source(7, 30) + SourceIndex(0) +7 >Emitted(10, 29) Source(7, 32) + SourceIndex(0) +8 >Emitted(10, 30) Source(7, 33) + SourceIndex(0) --- >>>function f1() { 1 > @@ -351,45 +330,42 @@ sourceFile:test.ts --- >>>exports.f1 = f1; 1-> -2 >^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 >^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 >f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(14, 1) Source(8, 17) + SourceIndex(0) -2 >Emitted(14, 11) Source(8, 19) + SourceIndex(0) -3 >Emitted(14, 16) Source(10, 2) + SourceIndex(0) -4 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) +2 >export function f1() { + > return instance1; + >} +1->Emitted(14, 1) Source(8, 1) + SourceIndex(0) +2 >Emitted(14, 17) Source(10, 2) + SourceIndex(0) --- >>>exports.a2 = m1.m1_c1; 1-> -2 >^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ -8 > ^^^^^^^^^-> +2 >^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ +9 > ^^^^^^^^^-> 1-> > >export var -2 >a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(15, 1) Source(12, 12) + SourceIndex(0) -2 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) -3 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) -4 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) -5 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) -6 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) -7 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) +2 >Emitted(15, 9) Source(12, 12) + SourceIndex(0) +3 >Emitted(15, 11) Source(12, 14) + SourceIndex(0) +4 >Emitted(15, 14) Source(12, 17) + SourceIndex(0) +5 >Emitted(15, 16) Source(12, 19) + SourceIndex(0) +6 >Emitted(15, 17) Source(12, 20) + SourceIndex(0) +7 >Emitted(15, 22) Source(12, 25) + SourceIndex(0) +8 >Emitted(15, 23) Source(12, 26) + SourceIndex(0) --- >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map index ade8b34024d..a46d68e9b05 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,aAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFY,aAAK,QAEjB,CAAA;IAEU,oBAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFe,aAAK,QAEpB,CAAA;;;;ICPU,UAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFY,UAAE,KAEd,CAAA;IAEU,iBAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFe,UAAE,KAEjB,CAAA;IAEU,UAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":";;IAAW,QAAA,KAAK,GAAG,EAAE,CAAC;IACtB;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAAC,AAFD,IAEC;IAFD,sBAEC;IAEU,QAAA,YAAY,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC;QACI,MAAM,CAAC,oBAAY,CAAC;IACxB,CAAC;IAFD,sBAEC;;;;ICPU,QAAA,EAAE,GAAG,EAAE,CAAC;IACnB;QAAA;QAEA,CAAC;QAAD,SAAC;IAAD,CAAC,AAFD,IAEC;IAFD,gBAEC;IAEU,QAAA,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC;IAChC;QACI,MAAM,CAAC,iBAAS,CAAC;IACrB,CAAC;IAFD,gBAEC;IAEU,QAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt index edca6852f84..8fca8ab873e 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt @@ -12,21 +12,24 @@ sourceFile:ref/m1.ts >>> "use strict"; >>> exports.m1_a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^^^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >export var -2 > m1_a1 -3 > = -4 > 10 -5 > ; +2 > +3 > m1_a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(3, 5) Source(1, 12) + SourceIndex(0) -2 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) -3 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) -4 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) -5 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) +2 >Emitted(3, 13) Source(1, 12) + SourceIndex(0) +3 >Emitted(3, 18) Source(1, 17) + SourceIndex(0) +4 >Emitted(3, 21) Source(1, 20) + SourceIndex(0) +5 >Emitted(3, 23) Source(1, 22) + SourceIndex(0) +6 >Emitted(3, 24) Source(1, 23) + SourceIndex(0) --- >>> var m1_c1 = (function () { 1->^^^^ @@ -79,45 +82,42 @@ sourceFile:ref/m1.ts --- >>> exports.m1_c1 = m1_c1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > m1_c1 -3 > { - > public m1_c1_p1: number; - > } -4 > -1->Emitted(9, 5) Source(2, 14) + SourceIndex(0) -2 >Emitted(9, 18) Source(2, 19) + SourceIndex(0) -3 >Emitted(9, 26) Source(4, 2) + SourceIndex(0) -4 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) +2 > export class m1_c1 { + > public m1_c1_p1: number; + > } +1->Emitted(9, 5) Source(2, 1) + SourceIndex(0) +2 >Emitted(9, 27) Source(4, 2) + SourceIndex(0) --- >>> exports.m1_instance1 = new m1_c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^^^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > m1_instance1 -3 > = -4 > new -5 > m1_c1 -6 > () -7 > ; +2 > +3 > m1_instance1 +4 > = +5 > new +6 > m1_c1 +7 > () +8 > ; 1->Emitted(10, 5) Source(6, 12) + SourceIndex(0) -2 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) -3 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) -4 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) -5 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) -6 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) -7 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) +2 >Emitted(10, 13) Source(6, 12) + SourceIndex(0) +3 >Emitted(10, 25) Source(6, 24) + SourceIndex(0) +4 >Emitted(10, 28) Source(6, 27) + SourceIndex(0) +5 >Emitted(10, 32) Source(6, 31) + SourceIndex(0) +6 >Emitted(10, 37) Source(6, 36) + SourceIndex(0) +7 >Emitted(10, 39) Source(6, 38) + SourceIndex(0) +8 >Emitted(10, 40) Source(6, 39) + SourceIndex(0) --- >>> function m1_f1() { 1 >^^^^ @@ -156,19 +156,13 @@ sourceFile:ref/m1.ts --- >>> exports.m1_f1 = m1_f1; 1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^^^^^^^ -4 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > m1_f1 -3 > () { - > return m1_instance1; - > } -4 > -1->Emitted(14, 5) Source(7, 17) + SourceIndex(0) -2 >Emitted(14, 18) Source(7, 22) + SourceIndex(0) -3 >Emitted(14, 26) Source(9, 2) + SourceIndex(0) -4 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) +2 > export function m1_f1() { + > return m1_instance1; + > } +1->Emitted(14, 5) Source(7, 1) + SourceIndex(0) +2 >Emitted(14, 27) Source(9, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:bin/test.js @@ -179,22 +173,25 @@ sourceFile:test.ts >>> "use strict"; >>> exports.a1 = 10; 1 >^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^-> 1 >import m1 = require("ref/m1"); >export var -2 > a1 -3 > = -4 > 10 -5 > ; +2 > +3 > a1 +4 > = +5 > 10 +6 > ; 1 >Emitted(18, 5) Source(2, 12) + SourceIndex(1) -2 >Emitted(18, 15) Source(2, 14) + SourceIndex(1) -3 >Emitted(18, 18) Source(2, 17) + SourceIndex(1) -4 >Emitted(18, 20) Source(2, 19) + SourceIndex(1) -5 >Emitted(18, 21) Source(2, 20) + SourceIndex(1) +2 >Emitted(18, 13) Source(2, 12) + SourceIndex(1) +3 >Emitted(18, 15) Source(2, 14) + SourceIndex(1) +4 >Emitted(18, 18) Source(2, 17) + SourceIndex(1) +5 >Emitted(18, 20) Source(2, 19) + SourceIndex(1) +6 >Emitted(18, 21) Source(2, 20) + SourceIndex(1) --- >>> var c1 = (function () { 1->^^^^ @@ -247,45 +244,42 @@ sourceFile:test.ts --- >>> exports.c1 = c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^-> 1-> -2 > c1 -3 > { - > public p1: number; - > } -4 > -1->Emitted(24, 5) Source(3, 14) + SourceIndex(1) -2 >Emitted(24, 15) Source(3, 16) + SourceIndex(1) -3 >Emitted(24, 20) Source(5, 2) + SourceIndex(1) -4 >Emitted(24, 21) Source(5, 2) + SourceIndex(1) +2 > export class c1 { + > public p1: number; + > } +1->Emitted(24, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(24, 21) Source(5, 2) + SourceIndex(1) --- >>> exports.instance1 = new c1(); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^ -6 > ^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^^^^^^^^ +4 > ^^^ +5 > ^^^^ +6 > ^^ +7 > ^^ +8 > ^ 1-> > >export var -2 > instance1 -3 > = -4 > new -5 > c1 -6 > () -7 > ; +2 > +3 > instance1 +4 > = +5 > new +6 > c1 +7 > () +8 > ; 1->Emitted(25, 5) Source(7, 12) + SourceIndex(1) -2 >Emitted(25, 22) Source(7, 21) + SourceIndex(1) -3 >Emitted(25, 25) Source(7, 24) + SourceIndex(1) -4 >Emitted(25, 29) Source(7, 28) + SourceIndex(1) -5 >Emitted(25, 31) Source(7, 30) + SourceIndex(1) -6 >Emitted(25, 33) Source(7, 32) + SourceIndex(1) -7 >Emitted(25, 34) Source(7, 33) + SourceIndex(1) +2 >Emitted(25, 13) Source(7, 12) + SourceIndex(1) +3 >Emitted(25, 22) Source(7, 21) + SourceIndex(1) +4 >Emitted(25, 25) Source(7, 24) + SourceIndex(1) +5 >Emitted(25, 29) Source(7, 28) + SourceIndex(1) +6 >Emitted(25, 31) Source(7, 30) + SourceIndex(1) +7 >Emitted(25, 33) Source(7, 32) + SourceIndex(1) +8 >Emitted(25, 34) Source(7, 33) + SourceIndex(1) --- >>> function f1() { 1 >^^^^ @@ -324,45 +318,42 @@ sourceFile:test.ts --- >>> exports.f1 = f1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^^^ -4 > ^ -5 > ^^^^^^^-> +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> 1-> -2 > f1 -3 > () { - > return instance1; - > } -4 > -1->Emitted(29, 5) Source(8, 17) + SourceIndex(1) -2 >Emitted(29, 15) Source(8, 19) + SourceIndex(1) -3 >Emitted(29, 20) Source(10, 2) + SourceIndex(1) -4 >Emitted(29, 21) Source(10, 2) + SourceIndex(1) +2 > export function f1() { + > return instance1; + > } +1->Emitted(29, 5) Source(8, 1) + SourceIndex(1) +2 >Emitted(29, 21) Source(10, 2) + SourceIndex(1) --- >>> exports.a2 = m1.m1_c1; 1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^^ -7 > ^ +2 > ^^^^^^^^ +3 > ^^ +4 > ^^^ +5 > ^^ +6 > ^ +7 > ^^^^^ +8 > ^ 1-> > >export var -2 > a2 -3 > = -4 > m1 -5 > . -6 > m1_c1 -7 > ; +2 > +3 > a2 +4 > = +5 > m1 +6 > . +7 > m1_c1 +8 > ; 1->Emitted(30, 5) Source(12, 12) + SourceIndex(1) -2 >Emitted(30, 15) Source(12, 14) + SourceIndex(1) -3 >Emitted(30, 18) Source(12, 17) + SourceIndex(1) -4 >Emitted(30, 20) Source(12, 19) + SourceIndex(1) -5 >Emitted(30, 21) Source(12, 20) + SourceIndex(1) -6 >Emitted(30, 26) Source(12, 25) + SourceIndex(1) -7 >Emitted(30, 27) Source(12, 26) + SourceIndex(1) +2 >Emitted(30, 13) Source(12, 12) + SourceIndex(1) +3 >Emitted(30, 15) Source(12, 14) + SourceIndex(1) +4 >Emitted(30, 18) Source(12, 17) + SourceIndex(1) +5 >Emitted(30, 20) Source(12, 19) + SourceIndex(1) +6 >Emitted(30, 21) Source(12, 20) + SourceIndex(1) +7 >Emitted(30, 26) Source(12, 25) + SourceIndex(1) +8 >Emitted(30, 27) Source(12, 26) + SourceIndex(1) --- >>>}); >>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts deleted file mode 100644 index 18eee0fd4df..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; -} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js deleted file mode 100644 index 6f3fefb9498..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map deleted file mode 100644 index 4409af8d0a7..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"http://typescript.codeplex.com/","sources":["ref/m1.ts","test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json index 7db8ebc6926..81c758acde2 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -14,9 +14,5 @@ "ref/m1.ts", "test.ts" ], - "emittedFiles": [ - "bin/test.js.map", - "bin/test.js", - "bin/test.d.ts" - ] + "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt deleted file mode 100644 index 2903ad0141c..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt +++ /dev/null @@ -1,7 +0,0 @@ -=================================================================== -JsFile: test.js -mapUrl: test.js.map -sourceRoot: http://typescript.codeplex.com/ -sources: ref/m1.ts,test.ts -=================================================================== ->>>//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/tests/baselines/reference/promiseChaining.js b/tests/baselines/reference/promiseChaining.js index 3f0900f7748..afa55acb894 100644 --- a/tests/baselines/reference/promiseChaining.js +++ b/tests/baselines/reference/promiseChaining.js @@ -19,7 +19,7 @@ var Chain = (function () { Chain.prototype.then = function (cb) { var result = cb(this.value); // should get a fresh type parameter which each then call - var z = this.then(function (x) { return result; }) /*S*/.then(function (x) { return "abc"; }) /*string*/.then(function (x) { return x.length; }); // No error + var z = this.then(function (x) { return result; }) /*S*/.then(function (x) { return "abc"; }) /*string*/.then(function (x) { return x.length; }) /*number*/; // No error return new Chain(result); }; return Chain; diff --git a/tests/baselines/reference/promiseChaining.types b/tests/baselines/reference/promiseChaining.types index 23a8b276fdc..fa40d8b68fc 100644 --- a/tests/baselines/reference/promiseChaining.types +++ b/tests/baselines/reference/promiseChaining.types @@ -42,7 +42,7 @@ class Chain { >then : (cb: (x: S) => S) => Chain >x => "abc" : (x: S) => string >x : S ->"abc" : string +>"abc" : "abc" >then : (cb: (x: string) => S) => Chain >x => x.length : (x: string) => number >x : string diff --git a/tests/baselines/reference/promiseChaining1.js b/tests/baselines/reference/promiseChaining1.js index b396261a59e..ad2ddcf694b 100644 --- a/tests/baselines/reference/promiseChaining1.js +++ b/tests/baselines/reference/promiseChaining1.js @@ -19,7 +19,7 @@ var Chain2 = (function () { Chain2.prototype.then = function (cb) { var result = cb(this.value); // should get a fresh type parameter which each then call - var z = this.then(function (x) { return result; }) /*S*/.then(function (x) { return "abc"; }) /*Function*/.then(function (x) { return x.length; }); // Should error on "abc" because it is not a Function + var z = this.then(function (x) { return result; }) /*S*/.then(function (x) { return "abc"; }) /*Function*/.then(function (x) { return x.length; }) /*number*/; // Should error on "abc" because it is not a Function return new Chain2(result); }; return Chain2; diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index 42f885eff68..3271c2aee90 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -18,20 +18,20 @@ const b = p.then(b => 1); >then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >b => 1 : (b: boolean) => number >b : boolean ->1 : number +>1 : 1 const c = p.then(b => 1, e => 'error'); ->c : Promise ->p.then(b => 1, e => 'error') : Promise +>c : Promise +>p.then(b => 1, e => 'error') : Promise >p.then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >p : Promise >then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >b => 1 : (b: boolean) => number >b : boolean ->1 : number +>1 : 1 >e => 'error' : (e: any) => string >e : any ->'error' : string +>'error' : "error" const d = p.then(b => 1, e => { }); >d : Promise @@ -41,7 +41,7 @@ const d = p.then(b => 1, e => { }); >then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >b => 1 : (b: boolean) => number >b : boolean ->1 : number +>1 : 1 >e => { } : (e: any) => void >e : any @@ -53,7 +53,7 @@ const e = p.then(b => 1, e => { throw Error(); }); >then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >b => 1 : (b: boolean) => number >b : boolean ->1 : number +>1 : 1 >e => { throw Error(); } : (e: any) => never >e : any >Error() : Error @@ -67,7 +67,7 @@ const f = p.then(b => 1, e => Promise.reject(Error())); >then : { (onfulfilled: (value: boolean) => TResult1 | PromiseLike, onrejected: (reason: any) => TResult2 | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike, onrejected: (reason: any) => TResult | PromiseLike): Promise; (onfulfilled: (value: boolean) => TResult | PromiseLike): Promise; (): Promise; } >b => 1 : (b: boolean) => number >b : boolean ->1 : number +>1 : 1 >e => Promise.reject(Error()) : (e: any) => Promise >e : any >Promise.reject(Error()) : Promise @@ -78,14 +78,14 @@ const f = p.then(b => 1, e => Promise.reject(Error())); >Error : ErrorConstructor const g = p.catch(e => 'error'); ->g : Promise ->p.catch(e => 'error') : Promise +>g : Promise +>p.catch(e => 'error') : Promise >p.catch : { (onrejected: (reason: any) => TResult | PromiseLike): Promise; (onrejected: (reason: any) => boolean | PromiseLike): Promise; } >p : Promise >catch : { (onrejected: (reason: any) => TResult | PromiseLike): Promise; (onrejected: (reason: any) => boolean | PromiseLike): Promise; } >e => 'error' : (e: any) => string >e : any ->'error' : string +>'error' : "error" const h = p.catch(e => { }); >h : Promise @@ -143,7 +143,7 @@ async function B() { >p : Promise return 1; ->1 : number +>1 : 1 } // NOTE: This reports a "No best comment type exists among return expressions." error, and is @@ -168,7 +168,7 @@ async function D() { >p : Promise return 1; ->1 : number +>1 : 1 } catch (e) { >e : any @@ -185,7 +185,7 @@ async function E() { >p : Promise return 1; ->1 : number +>1 : 1 } catch (e) { >e : any @@ -206,7 +206,7 @@ async function F() { >p : Promise return 1; ->1 : number +>1 : 1 } catch (e) { >e : any diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index 2789f710876..f3026c68f21 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -45,7 +45,7 @@ var $$x = load("something").then(s => convert(s)); >load("something").then : (success?: (value: string) => Promise) => Promise >load("something") : Promise >load : (name: string) => Promise ->"something" : string +>"something" : "something" >then : (success?: (value: string) => Promise) => Promise >s => convert(s) : (s: string) => IPromise >s : string diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index 94773394ade..cd3c67bc813 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -32,7 +32,7 @@ function f1(): Promise { >resolve : { (value: T | PromiseLike): Promise; (): Promise; } >{ __t1: "foo_t1" } : { __t1: string; } >__t1 : string ->"foo_t1" : string +>"foo_t1" : "foo_t1" } function f2(x: T1): T2 { @@ -48,7 +48,7 @@ function f2(x: T1): T2 { >x.__t1 : string >x : T1 >__t1 : string ->":foo_21" : string +>":foo_21" : ":foo_21" } var x3 = f1() @@ -84,6 +84,6 @@ var x3 = f1() >x.__t2 : string >x : T2 >__t2 : string ->"bar" : string +>"bar" : "bar" }); diff --git a/tests/baselines/reference/propagationOfPromiseInitialization.types b/tests/baselines/reference/propagationOfPromiseInitialization.types index bd100f75b3e..0ec973474bc 100644 --- a/tests/baselines/reference/propagationOfPromiseInitialization.types +++ b/tests/baselines/reference/propagationOfPromiseInitialization.types @@ -33,7 +33,7 @@ foo.then((x) => { // x is inferred to be a number return "asdf"; ->"asdf" : string +>"asdf" : "asdf" }).then((x) => { >then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise @@ -47,7 +47,7 @@ foo.then((x) => { >length : number return 123; ->123 : number +>123 : 123 }); diff --git a/tests/baselines/reference/properties.types b/tests/baselines/reference/properties.types index d51ab4a95d2..99ff875a087 100644 --- a/tests/baselines/reference/properties.types +++ b/tests/baselines/reference/properties.types @@ -7,7 +7,7 @@ class MyClass >Count : number { return 42; ->42 : number +>42 : 42 } public set Count(value: number) diff --git a/tests/baselines/reference/propertyAccess6.types b/tests/baselines/reference/propertyAccess6.types index 18f39f447c5..b899f4c53ec 100644 --- a/tests/baselines/reference/propertyAccess6.types +++ b/tests/baselines/reference/propertyAccess6.types @@ -3,9 +3,9 @@ var foo: any; >foo : any foo.bar = 4; ->foo.bar = 4 : number +>foo.bar = 4 : 4 >foo.bar : any >foo : any >bar : any ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types index d808cddef83..5faaf4d0216 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types @@ -19,7 +19,7 @@ class C { >x['getDate']() : number >x['getDate'] : () => number >x : T ->'getDate' : string +>'getDate' : "getDate" return a + x.getDate(); >a + x.getDate() : number @@ -71,7 +71,7 @@ var r2b = i.foo['getDate'](); >i.foo : Date >i : I >foo : Date ->'getDate' : string +>'getDate' : "getDate" var a: { >a : () => T @@ -96,7 +96,7 @@ var r3b = a()['getDate'](); >a()['getDate'] : () => number >a() : Date >a : () => T ->'getDate' : string +>'getDate' : "getDate" var b = { >b : { foo: (x: T) => number; } @@ -115,7 +115,7 @@ var b = { >x['getDate']() : number >x['getDate'] : () => number >x : T ->'getDate' : string +>'getDate' : "getDate" return a + x.getDate(); >a + x.getDate() : number diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types index 9ea015cc9ce..ad2ba3e829d 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types @@ -6,7 +6,7 @@ class A { foo(): string { return ''; } >foo : () => string ->'' : string +>'' : "" } class B extends A { @@ -17,7 +17,7 @@ class B extends A { >bar : () => string return ''; ->'' : string +>'' : "" } } @@ -40,7 +40,7 @@ class C { >x['foo']() : string >x['foo'] : () => string >x : U ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string @@ -61,7 +61,7 @@ class C { >x['foo']() : string >x['foo'] : () => string >x : U ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string @@ -145,7 +145,7 @@ var r2b = i.foo['foo'](); >i.foo : B >i : I >foo : B ->'foo' : string +>'foo' : "foo" var a: { >a : { (): U; (x: U): U; (x: U, y: T): U; } @@ -198,7 +198,7 @@ var r3b = a()['foo'](); >a()['foo'] : () => string >a() : A >a : { (): U; (x: U): U; (x: U, y: T): U; } ->'foo' : string +>'foo' : "foo" // parameter supplied for type argument inference to succeed var aB = new B(); @@ -224,7 +224,7 @@ var r3d = a(aB, aB)['foo'](); >a : { (): U; (x: U): U; (x: U, y: T): U; } >aB : B >aB : B ->'foo' : string +>'foo' : "foo" var b = { >b : { foo: (x: U, y: T) => string; } @@ -247,7 +247,7 @@ var b = { >x['foo']() : string >x['foo'] : () => string >x : U ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types index f2423f2bff8..30a17935fc1 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types @@ -6,7 +6,7 @@ class A { foo(): string { return ''; } >foo : () => string ->'' : string +>'' : "" } class B extends A { @@ -17,7 +17,7 @@ class B extends A { >bar : () => string return ''; ->'' : string +>'' : "" } } @@ -41,7 +41,7 @@ class C { >x['foo']() : string >x['foo'] : () => string >x : T ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string @@ -63,7 +63,7 @@ class C { >x['foo']() : string >x['foo'] : () => string >x : U ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string @@ -132,7 +132,7 @@ var r2b = i.foo['foo'](); >i.foo : B >i : I >foo : B ->'foo' : string +>'foo' : "foo" var a: { >a : { (): T; (x: U): U; } @@ -167,7 +167,7 @@ var r3b = a()['foo'](); >a()['foo'] : () => string >a() : A >a : { (): T; (x: U): U; } ->'foo' : string +>'foo' : "foo" // parameter supplied for type argument inference for U var r3c = a(new B()).foo(); // valid call to an invalid function, U is inferred as B, which has a foo @@ -188,7 +188,7 @@ var r3d = a(new B())['foo'](); // valid call to an invalid function, U is inferr >a : { (): T; (x: U): U; } >new B() : B >B : typeof B ->'foo' : string +>'foo' : "foo" var b = { >b : { foo: (x: T) => string; } @@ -210,7 +210,7 @@ var b = { >x['foo']() : string >x['foo'] : () => string >x : T ->'foo' : string +>'foo' : "foo" return a + x.foo(); >a + x.foo() : string diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types index 9d25bebea37..2946b88b432 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types @@ -15,7 +15,7 @@ class C { >x['toString']() : string >x['toString'] : () => string >x : T ->'toString' : string +>'toString' : "toString" return a + x.toString(); >a + x.toString() : string @@ -64,7 +64,7 @@ var r2b = i.foo['toString'](); >i.foo : number >i : I >foo : number ->'toString' : string +>'toString' : "toString" var a: { >a : () => T @@ -87,7 +87,7 @@ var r3b: string = a()['toString'](); >a()['toString'] : () => string >a() : {} >a : () => T ->'toString' : string +>'toString' : "toString" var b = { >b : { foo: (x: T) => string; } @@ -105,7 +105,7 @@ var b = { >x['toString']() : string >x['toString'] : () => string >x : T ->'toString' : string +>'toString' : "toString" return a + x.toString(); >a + x.toString() : string @@ -123,5 +123,5 @@ var r4 = b.foo(1); >b.foo : (x: T) => string >b : { foo: (x: T) => string; } >foo : (x: T) => string ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/propertyAccessibility2.js b/tests/baselines/reference/propertyAccessibility2.js index afce6c4c24a..3618b86fcc5 100644 --- a/tests/baselines/reference/propertyAccessibility2.js +++ b/tests/baselines/reference/propertyAccessibility2.js @@ -9,7 +9,7 @@ var c = C.x; var C = (function () { function C() { } - C.x = 1; return C; }()); +C.x = 1; var c = C.x; diff --git a/tests/baselines/reference/propertyNamesOfReservedWords.types b/tests/baselines/reference/propertyNamesOfReservedWords.types index 2554a7f61dd..82780db2250 100644 --- a/tests/baselines/reference/propertyNamesOfReservedWords.types +++ b/tests/baselines/reference/propertyNamesOfReservedWords.types @@ -625,204 +625,204 @@ enum E { >E : E abstract, ->abstract : E +>abstract : E.abstract as, ->as : E +>as : E.as boolean, ->boolean : E +>boolean : E.boolean break, ->break : E +>break : E.break byte, ->byte : E +>byte : E.byte case, ->case : E +>case : E.case catch, ->catch : E +>catch : E.catch char, ->char : E +>char : E.char class, ->class : E +>class : E.class continue, ->continue : E +>continue : E.continue const, ->const : E +>const : E.const debugger, ->debugger : E +>debugger : E.debugger default, ->default : E +>default : E.default delete, ->delete : E +>delete : E.delete do, ->do : E +>do : E.do double, ->double : E +>double : E.double else, ->else : E +>else : E.else enum, ->enum : E +>enum : E.enum export, ->export : E +>export : E.export extends, ->extends : E +>extends : E.extends false, ->false : E +>false : E.false final, ->final : E +>final : E.final finally, ->finally : E +>finally : E.finally float, ->float : E +>float : E.float for, ->for : E +>for : E.for function, ->function : E +>function : E.function goto, ->goto : E +>goto : E.goto if, ->if : E +>if : E.if implements, ->implements : E +>implements : E.implements import, ->import : E +>import : E.import in, ->in : E +>in : E.in instanceof, ->instanceof : E +>instanceof : E.instanceof int, ->int : E +>int : E.int interface, ->interface : E +>interface : E.interface is, ->is : E +>is : E.is long, ->long : E +>long : E.long namespace, ->namespace : E +>namespace : E.namespace native, ->native : E +>native : E.native new, ->new : E +>new : E.new null, ->null : E +>null : E.null package, ->package : E +>package : E.package private, ->private : E +>private : E.private protected, ->protected : E +>protected : E.protected public, ->public : E +>public : E.public return, ->return : E +>return : E.return short, ->short : E +>short : E.short static, ->static : E +>static : E.static super, ->super : E +>super : E.super switch, ->switch : E +>switch : E.switch synchronized, ->synchronized : E +>synchronized : E.synchronized this, ->this : E +>this : E.this throw, ->throw : E +>throw : E.throw throws, ->throws : E +>throws : E.throws transient, ->transient : E +>transient : E.transient true, ->true : E +>true : E.true try, ->try : E +>try : E.try typeof, ->typeof : E +>typeof : E.typeof use, ->use : E +>use : E.use var, ->var : E +>var : E.var void, ->void : E +>void : E.void volatile, ->volatile : E +>volatile : E.volatile while, ->while : E +>while : E.while with, ->with : E +>with : E.with } var r7 = E.abstract; >r7 : E ->E.abstract : E +>E.abstract : E.abstract >E : typeof E ->abstract : E +>abstract : E.abstract var r8 = E.as; >r8 : E ->E.as : E +>E.as : E.as >E : typeof E ->as : E +>as : E.as diff --git a/tests/baselines/reference/propertyNamesWithStringLiteral.types b/tests/baselines/reference/propertyNamesWithStringLiteral.types index 9c3eb5f2015..4e3c9c6080c 100644 --- a/tests/baselines/reference/propertyNamesWithStringLiteral.types +++ b/tests/baselines/reference/propertyNamesWithStringLiteral.types @@ -35,7 +35,7 @@ var a = Color.namedColors["azure"]; >Color.namedColors : NamedColors >Color : typeof Color >namedColors : NamedColors ->"azure" : string +>"azure" : "azure" var a = Color.namedColors.blue; // Should not error >a : _Color @@ -51,5 +51,5 @@ var a = Color.namedColors["pale blue"]; // should not error >Color.namedColors : NamedColors >Color : typeof Color >namedColors : NamedColors ->"pale blue" : string +>"pale blue" : "pale blue" diff --git a/tests/baselines/reference/protoAsIndexInIndexExpression.types b/tests/baselines/reference/protoAsIndexInIndexExpression.types index 56650cbf4eb..b761aa2c7a7 100644 --- a/tests/baselines/reference/protoAsIndexInIndexExpression.types +++ b/tests/baselines/reference/protoAsIndexInIndexExpression.types @@ -17,7 +17,7 @@ WorkspacePrototype['__proto__'] = EntityPrototype; >WorkspacePrototype['__proto__'] = EntityPrototype : any >WorkspacePrototype['__proto__'] : any >WorkspacePrototype : { serialize: () => any; } ->'__proto__' : string +>'__proto__' : "___proto__" >EntityPrototype : any var o = { @@ -25,14 +25,14 @@ var o = { >{ "__proto__": 0} : { "__proto__": number; } "__proto__": 0 ->0 : number +>0 : 0 }; class C { >C : C "__proto__" = 0; ->0 : number +>0 : 0 } === tests/cases/compiler/protoAsIndexInIndexExpression_0.ts === export var x; diff --git a/tests/baselines/reference/protoInIndexer.types b/tests/baselines/reference/protoInIndexer.types index bfafc56404a..27f1f721fd3 100644 --- a/tests/baselines/reference/protoInIndexer.types +++ b/tests/baselines/reference/protoInIndexer.types @@ -7,7 +7,7 @@ class X { >this['__proto__'] = null : null >this['__proto__'] : any >this : this ->'__proto__' : string +>'__proto__' : "___proto__" >null : null } } diff --git a/tests/baselines/reference/prototypeOnConstructorFunctions.types b/tests/baselines/reference/prototypeOnConstructorFunctions.types index 8d1b16e7a21..949cb4d7499 100644 --- a/tests/baselines/reference/prototypeOnConstructorFunctions.types +++ b/tests/baselines/reference/prototypeOnConstructorFunctions.types @@ -15,7 +15,7 @@ var i: I1; i.const.prototype.prop = "yo"; ->i.const.prototype.prop = "yo" : string +>i.const.prototype.prop = "yo" : "yo" >i.const.prototype.prop : any >i.const.prototype : any >i.const : new (options?: any, element?: any) => any @@ -23,5 +23,5 @@ i.const.prototype.prop = "yo"; >const : new (options?: any, element?: any) => any >prototype : any >prop : any ->"yo" : string +>"yo" : "yo" diff --git a/tests/baselines/reference/qualifiedModuleLocals.js b/tests/baselines/reference/qualifiedModuleLocals.js index b7ba5b70e81..7fcbc0700f8 100644 --- a/tests/baselines/reference/qualifiedModuleLocals.js +++ b/tests/baselines/reference/qualifiedModuleLocals.js @@ -14,7 +14,7 @@ A.a(); var A; (function (A) { function b() { } - function a() { A.b(); } - A.a = a; // A.b should be an unresolved symbol error + function a() { A.b(); } // A.b should be an unresolved symbol error + A.a = a; })(A || (A = {})); A.a(); diff --git a/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types b/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types index 7c05f6a1006..d507fb42323 100644 --- a/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types +++ b/tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.types @@ -4,7 +4,7 @@ module Alpha { export var x = 100; >x : number ->100 : number +>100 : 100 } module Beta { diff --git a/tests/baselines/reference/qualify.errors.txt b/tests/baselines/reference/qualify.errors.txt index c3447664c96..53c9927737f 100644 --- a/tests/baselines/reference/qualify.errors.txt +++ b/tests/baselines/reference/qualify.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/qualify.ts(21,13): error TS2322: Type 'number' is not assignable to type 'I'. -tests/cases/compiler/qualify.ts(30,13): error TS2322: Type 'number' is not assignable to type 'I2'. +tests/cases/compiler/qualify.ts(21,13): error TS2322: Type '3' is not assignable to type 'I'. +tests/cases/compiler/qualify.ts(30,13): error TS2322: Type '3' is not assignable to type 'I2'. tests/cases/compiler/qualify.ts(45,13): error TS2322: Type 'I4' is not assignable to type 'I3'. Property 'zeep' is missing in type 'I4'. tests/cases/compiler/qualify.ts(46,13): error TS2322: Type 'I4' is not assignable to type 'I3[]'. @@ -37,7 +37,7 @@ tests/cases/compiler/qualify.ts(58,5): error TS2322: Type 'I' is not assignable export module U { var z:I=3; ~ -!!! error TS2322: Type 'number' is not assignable to type 'I'. +!!! error TS2322: Type '3' is not assignable to type 'I'. export interface I2 { q; } @@ -48,7 +48,7 @@ tests/cases/compiler/qualify.ts(58,5): error TS2322: Type 'I' is not assignable export module U2 { var z:T.U.I2=3; ~ -!!! error TS2322: Type 'number' is not assignable to type 'I2'. +!!! error TS2322: Type '3' is not assignable to type 'I2'. } } diff --git a/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline b/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline new file mode 100644 index 00000000000..7ee4e5b25cd --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline @@ -0,0 +1,514 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 4 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 8 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 8, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 21 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 21, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "y", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 26 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 26, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 29 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 43 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 43, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "z", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 48 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 48, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts", + "position": 70 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 70, + "length": 2 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "z2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsClass.baseline new file mode 100644 index 00000000000..0b048b737a6 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsClass.baseline @@ -0,0 +1,199 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts", + "position": 6 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 6, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts", + "position": 16 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 16, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts", + "position": 32 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 32, + "length": 1 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts", + "position": 41 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts", + "position": 48 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 48, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline new file mode 100644 index 00000000000..b0c27fd9d28 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline @@ -0,0 +1,1738 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 25 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 25, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 72 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 72, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 118 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 118, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 167 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 167, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 216 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 216, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 269 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 269, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 317 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 317, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 364 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 364, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 418 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 418, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 480 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 480, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 542 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 542, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 608 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 608, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 703 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 703, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 736 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 736, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 770 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 770, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 803 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 803, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 833 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 833, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 870 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 870, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 908 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 908, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 942 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 942, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 977 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 977, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1011 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 1011, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1042 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 1042, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1080 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 1080, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1162 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 1162, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1172 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 1172, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1192 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 1192, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1194 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 1194, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1210 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 1210, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1220 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 1220, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1240 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 1240, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts", + "position": 1242 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 1242, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline new file mode 100644 index 00000000000..76ca00a4048 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline @@ -0,0 +1,1696 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 14 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 14, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 42 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 42, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 58 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 58, + "length": 1 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 67 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 67, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 74 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 74, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 104 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 104, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 132 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 132, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 160 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 160, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 194 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 194, + "length": 22 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloadsInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 223 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 223, + "length": 14 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 252 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 252, + "length": 23 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloadsInstance2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 282 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 282, + "length": 14 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 306 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 306, + "length": 17 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloadsVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 326 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 326, + "length": 14 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 377 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 377, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 405 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 405, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 433 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 433, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 462 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 462, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 496 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 496, + "length": 30 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloadsInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 533 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 533, + "length": 22 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 570 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 570, + "length": 31 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloadsInstance2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 608 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 608, + "length": 22 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 640 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 640, + "length": 31 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloadsInstance3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 678 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 678, + "length": 22 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 712 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 712, + "length": 25 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloadsVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts", + "position": 740 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 740, + "length": 22 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cWithMultipleOverloads", + "kind": "className" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline new file mode 100644 index 00000000000..d6f3f187d02 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline @@ -0,0 +1,982 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 21 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 21, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 52 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private", + "textSpan": { + "start": 52, + "length": 13 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 86 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected", + "textSpan": { + "start": 86, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 119 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "static", + "textSpan": { + "start": 119, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 157 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private,static", + "textSpan": { + "start": 157, + "length": 19 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 204 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected,static", + "textSpan": { + "start": 204, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 260 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 260, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 289 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private", + "textSpan": { + "start": 289, + "length": 13 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 319 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected", + "textSpan": { + "start": 319, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 348 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "static", + "textSpan": { + "start": 348, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 374 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private,static", + "textSpan": { + "start": 374, + "length": 19 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 407 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected,static", + "textSpan": { + "start": 407, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 465 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 465, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 475 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 475, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 491 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 491, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts", + "position": 493 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "static", + "textSpan": { + "start": 493, + "length": 12 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticMethod", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline new file mode 100644 index 00000000000..b49fb80c38a --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline @@ -0,0 +1,870 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 21 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 21, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 57 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 57, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 96 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 96, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 134 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 134, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 177 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 177, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 229 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 229, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 290 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 290, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 319 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private", + "textSpan": { + "start": 319, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 349 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected", + "textSpan": { + "start": 349, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 378 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 378, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 404 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "private,static", + "textSpan": { + "start": 404, + "length": 21 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "privateStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 437 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "protected,static", + "textSpan": { + "start": 437, + "length": 23 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "protectedStaticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 495 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 495, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 505 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "public", + "textSpan": { + "start": 505, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "publicProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 521 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 521, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts", + "position": 523 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "static", + "textSpan": { + "start": 523, + "length": 14 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "staticProperty", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsConst.baseline b/tests/baselines/reference/quickInfoDisplayPartsConst.baseline new file mode 100644 index 00000000000..7493d001bd3 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsConst.baseline @@ -0,0 +1,1186 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 6 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 6, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 41 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 45 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 45, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 75 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 75, + "length": 2 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 113 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 113, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 138 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "export", + "textSpan": { + "start": 138, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "d", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 173 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 173, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "e", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 195 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 195, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 229 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 229, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "g", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 233 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 233, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 236 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 236, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 247 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 247, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 312 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 312, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 316 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 316, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 319 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 319, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts", + "position": 326 + }, + "quickInfo": { + "kind": "const", + "kindModifiers": "", + "textSpan": { + "start": 326, + "length": 1 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline new file mode 100644 index 00000000000..142840b9f01 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline @@ -0,0 +1,1392 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 5 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 5, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 13 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 13, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e1", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 21 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 21, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e2", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 34 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 34, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e3", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 43 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 43, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 54 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 54, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 57 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 57, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 69 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 69, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 71 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 71, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e1", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 75 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 75, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 87 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 87, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 89 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 89, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e2", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 93 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 93, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 105 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 105, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 107 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 107, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e3", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 122 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 122, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 135 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 135, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e1", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 143 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 143, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e2", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 156 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 156, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e3", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 165 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 165, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 177 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 177, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 185 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 185, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 198 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 198, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 205 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 205, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e1", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 209 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 209, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 222 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 222, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 229 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 229, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e2", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 233 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 233, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 246 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 246, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts", + "position": 253 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 253, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "e3", + "kind": "enumMemberName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline new file mode 100644 index 00000000000..efdff818b0f --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline @@ -0,0 +1,1440 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 5 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 5, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 13 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 13, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 23 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 23, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 38 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 38, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 49 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 49, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 60 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 60, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 63 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 63, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 75 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 75, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 77 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 77, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 81 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 81, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 93 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 93, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 95 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 95, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 99 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 99, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 111 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 111, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 113 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 113, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 128 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 128, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 141 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 141, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 151 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 151, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 166 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 166, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 177 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 177, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 189 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 189, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 197 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 197, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 210 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 210, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 217 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 217, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 221 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 221, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 234 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 234, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 241 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 241, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 245 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 245, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 258 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 258, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts", + "position": 265 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 265, + "length": 2 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline new file mode 100644 index 00000000000..919816394e2 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline @@ -0,0 +1,1440 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 5 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 5, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 13 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 13, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 23 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 23, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 38 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 38, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 49 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 49, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 60 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 60, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 63 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 63, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 75 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 75, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 77 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 77, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 84 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 84, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 96 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 96, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 98 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 98, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 105 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 105, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 117 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 117, + "length": 1 + }, + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 119 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 119, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "E", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 137 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 137, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 150 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 150, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 160 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 160, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 175 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 175, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 186 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 186, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 198 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 198, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 206 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 206, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 219 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 219, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 226 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 226, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e1\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "0", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 233 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 233, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 246 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 246, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 253 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 253, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "'e2'", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "10", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 260 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 260, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 273 + }, + "quickInfo": { + "kind": "enum", + "kindModifiers": "", + "textSpan": { + "start": 273, + "length": 6 + }, + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "enum", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts", + "position": 280 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 280, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "enum member", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "constE", + "kind": "enumName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"e3\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "11", + "kind": "numericLiteral" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline b/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline new file mode 100644 index 00000000000..78667e7c6e6 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline @@ -0,0 +1,288 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 7 + }, + "quickInfo": { + "kind": "alias", + "kindModifiers": "", + "textSpan": { + "start": 7, + "length": 2 + }, + "displayParts": [ + { + "text": "import", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a1", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "require", + "kind": "keyword" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 20 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 20, + "length": 50 + }, + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a1", + "kind": "aliasName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 77 + }, + "quickInfo": { + "kind": "alias", + "kindModifiers": "", + "textSpan": { + "start": 77, + "length": 2 + }, + "displayParts": [ + { + "text": "import", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a1", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "require", + "kind": "keyword" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 102 + }, + "quickInfo": { + "kind": "alias", + "kindModifiers": "export", + "textSpan": { + "start": 102, + "length": 2 + }, + "displayParts": [ + { + "text": "import", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a2", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "require", + "kind": "keyword" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 115 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 115, + "length": 50 + }, + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a1", + "kind": "aliasName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts", + "position": 172 + }, + "quickInfo": { + "kind": "alias", + "kindModifiers": "export", + "textSpan": { + "start": 172, + "length": 2 + }, + "displayParts": [ + { + "text": "import", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a2", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "require", + "kind": "keyword" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline b/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline new file mode 100644 index 00000000000..fa548470a76 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline @@ -0,0 +1,687 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 17 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 17, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 29 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 26 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "namespaceElemWithoutExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 77 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 77, + "length": 23 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "namespaceElemWithExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 120 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 120, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 124 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 124, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 138 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 138, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 148 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 148, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 168 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 168, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 171 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 171, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 184 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 184, + "length": 26 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "namespaceElemWithoutExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 232 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 232, + "length": 23 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "namespaceElemWithExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 275 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 275, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 279 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 279, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 282 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 282, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 297 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 297, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "y", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 307 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 307, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts", + "position": 310 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 310, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline new file mode 100644 index 00000000000..6ac80589629 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline @@ -0,0 +1,1432 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 9 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 9, + "length": 3 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 121 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 121, + "length": 15 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 166 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 166, + "length": 15 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 211 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 211, + "length": 15 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 267 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 267, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 313 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 313, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 359 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 359, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 407 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 407, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 455 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 455, + "length": 3 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 469 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 469, + "length": 15 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 495 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 495, + "length": 15 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 516 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 516, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 543 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 543, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts", + "position": 565 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 565, + "length": 16 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline b/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline new file mode 100644 index 00000000000..ec943e3ac7c --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline @@ -0,0 +1,352 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 4 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 17 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 17, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 29 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 43 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 43, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "y", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 74 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 74, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo1", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts", + "position": 87 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 87, + "length": 4 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo1", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline new file mode 100644 index 00000000000..43b9faa9540 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline @@ -0,0 +1,101 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts", + "position": 10 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 10, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "interfaceName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts", + "position": 20 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 20, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "interfaceName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts", + "position": 31 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 31, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "interfaceName" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline b/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline new file mode 100644 index 00000000000..170c7ed0bff --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline @@ -0,0 +1,507 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 18 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "", + "textSpan": { + "start": 18, + "length": 8 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 40 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 40, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 109 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 109, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 119 + }, + "quickInfo": { + "kind": "property", + "kindModifiers": "", + "textSpan": { + "start": 119, + "length": 8 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 130 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 130, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 140 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 140, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 150 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 150, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 167 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 167, + "length": 15 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "anotherInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts", + "position": 189 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 189, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsLet.baseline b/tests/baselines/reference/quickInfoDisplayPartsLet.baseline new file mode 100644 index 00000000000..2153c0b132b --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsLet.baseline @@ -0,0 +1,1186 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 4 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 37 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 37, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 41 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 69 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 69, + "length": 2 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 105 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 105, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 128 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "export", + "textSpan": { + "start": 128, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "d", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 161 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 161, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "e", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 181 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 181, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 202 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 202, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "g", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 206 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 206, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 209 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 209, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 218 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 218, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 272 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 272, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 276 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 276, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 279 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 279, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts", + "position": 286 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 286, + "length": 1 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline b/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline new file mode 100644 index 00000000000..71b971b7340 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline @@ -0,0 +1,672 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 21 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 21, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "1", + "kind": "methodName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 41 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private", + "textSpan": { + "start": 41, + "length": 8 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "Infinity", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 70 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected", + "textSpan": { + "start": 70, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "NaN", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 91 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "static", + "textSpan": { + "start": 91, + "length": 19 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"stringLiteralName\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 145 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 145, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "1", + "kind": "methodName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 164 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "public", + "textSpan": { + "start": 164, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "1", + "kind": "methodName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 185 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private", + "textSpan": { + "start": 185, + "length": 8 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "Infinity", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 210 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "private", + "textSpan": { + "start": 210, + "length": 10 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "Infinity", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 238 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "protected", + "textSpan": { + "start": 238, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "NaN", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts", + "position": 255 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "static", + "textSpan": { + "start": 255, + "length": 17 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "\"stringLiteralName\"", + "kind": "stringLiteral" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline new file mode 100644 index 00000000000..65c3dc88390 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline @@ -0,0 +1,1642 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 9 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 9, + "length": 8 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "outerFoo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 35 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 35, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 155 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 155, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 204 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 204, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 253 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 253, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 321 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 321, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 371 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 371, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 421 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 421, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 473 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 473, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 533 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 533, + "length": 3 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 551 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 551, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 581 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 581, + "length": 15 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowithoverload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 606 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 606, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 637 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 637, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 663 + }, + "quickInfo": { + "kind": "local function", + "kindModifiers": "", + "textSpan": { + "start": 663, + "length": 16 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local function", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foowith3overload", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "2", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overloads", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts", + "position": 689 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 689, + "length": 8 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "outerFoo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsModules.baseline b/tests/baselines/reference/quickInfoDisplayPartsModules.baseline new file mode 100644 index 00000000000..e2f04ea75e8 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsModules.baseline @@ -0,0 +1,687 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 10 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 10, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 22 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 22, + "length": 26 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "namespaceElemWithoutExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 70 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 70, + "length": 23 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "namespaceElemWithExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 106 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 106, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 110 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 110, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 117 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 117, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 127 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 127, + "length": 1 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 140 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 140, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 143 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 143, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 156 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 156, + "length": 26 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "namespaceElemWithoutExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 204 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 204, + "length": 23 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "namespaceElemWithExport", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 240 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 240, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 244 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 244, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 247 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 247, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 255 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 255, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "y", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 265 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "", + "textSpan": { + "start": 265, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts", + "position": 268 + }, + "quickInfo": { + "kind": "module", + "kindModifiers": "export", + "textSpan": { + "start": 268, + "length": 2 + }, + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m1", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "m2", + "kind": "moduleName" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline new file mode 100644 index 00000000000..45f6128c2b1 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline @@ -0,0 +1,567 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 9 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 9, + "length": 3 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 13 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 13, + "length": 5 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 28 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 28, + "length": 13 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 52 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 52, + "length": 20 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 87 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 87, + "length": 9 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 114 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 114, + "length": 5 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "param", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 135 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 135, + "length": 13 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "optionalParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 164 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 164, + "length": 20 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "paramWithInitializer", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", + "position": 200 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 200, + "length": 9 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "restParam", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline new file mode 100644 index 00000000000..49a97ac6773 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline @@ -0,0 +1,240 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 6 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 6, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 17 + }, + "quickInfo": { + "kind": "type", + "kindModifiers": "", + "textSpan": { + "start": 17, + "length": 2 + }, + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "t1", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 22 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 22, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 29 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 40 + }, + "quickInfo": { + "kind": "type", + "kindModifiers": "", + "textSpan": { + "start": 40, + "length": 2 + }, + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "t1", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts", + "position": 49 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 49, + "length": 1 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline new file mode 100644 index 00000000000..48bd280a1b5 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline @@ -0,0 +1,3519 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 6 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 6, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 8 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 8, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 17 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 17, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 29 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 32 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 32, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 47 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 47, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 54 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 54, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 57 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 57, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 60 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 60, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 63 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 63, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 66 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 66, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 86 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 86, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 101 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 101, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 117 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 117, + "length": 1 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 133 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 133, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 140 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 140, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 143 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 143, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 153 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 153, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 185 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 185, + "length": 2 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 188 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 188, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 198 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 198, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 215 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 215, + "length": 11 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 227 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 227, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 230 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 230, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 245 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 245, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 252 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 252, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 262 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 262, + "length": 1 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 273 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 273, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 276 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 276, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 279 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 279, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 282 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 282, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 302 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 302, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 317 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 317, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 334 + }, + "quickInfo": { + "kind": "constructor", + "kindModifiers": "", + "textSpan": { + "start": 334, + "length": 2 + }, + "displayParts": [ + { + "text": "constructor", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 337 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 337, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 353 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 353, + "length": 5 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cVal2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "typeof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 361 + }, + "quickInfo": { + "kind": "class", + "kindModifiers": "", + "textSpan": { + "start": 361, + "length": 2 + }, + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 365 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 365, + "length": 10 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 376 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 376, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c2", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 383 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 383, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts", + "position": 394 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 394, + "length": 9 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "cInstance", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "className" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline new file mode 100644 index 00000000000..278e9396fb6 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline @@ -0,0 +1,990 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 9 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 9, + "length": 3 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 13 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 13, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 16 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 16, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 19 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 19, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 35 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 35, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 40 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 40, + "length": 3 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"Hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"Hello\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"Hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 63 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 63, + "length": 4 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo2", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 68 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 68, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo2", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 86 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 86, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 89 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 89, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo2", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 105 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 105, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts", + "position": 110 + }, + "quickInfo": { + "kind": "function", + "kindModifiers": "", + "textSpan": { + "start": 110, + "length": 4 + }, + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "foo2", + "kind": "functionName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline new file mode 100644 index 00000000000..50f0ac16a1c --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline @@ -0,0 +1,221 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts", + "position": 30 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 30, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "MixinCtor", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts", + "position": 59 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 59, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "MixinCtor", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts", + "position": 139 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 139, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "MixinCtor", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline new file mode 100644 index 00000000000..1306ed9cc97 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline @@ -0,0 +1,6287 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 10 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 10, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 12 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 12, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 26 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 26, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 29 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 29, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 32 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 32, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 35 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 35, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 38 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 38, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 42 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 42, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 50 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 50, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 53 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 53, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 56 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 56, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 59 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 59, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 62 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 62, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 66 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 66, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 73 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 73, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 80 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 80, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 83 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 83, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 86 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 86, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 89 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 89, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 92 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 92, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 96 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 96, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 105 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 105, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 111 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 111, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 126 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 126, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 150 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 150, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 174 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 174, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 179 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 179, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 215 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 215, + "length": 2 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 218 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 218, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 228 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 228, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 250 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 250, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 260 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 260, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 271 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 271, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 274 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 274, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 277 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 277, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 280 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 280, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 284 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 284, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 292 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 292, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 302 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 302, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 313 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 313, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 316 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 316, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 319 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 319, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 322 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 322, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 326 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 326, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 333 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 333, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 340 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 340, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 350 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 350, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 361 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 361, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 364 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 364, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 367 + }, + "quickInfo": { + "kind": "parameter", + "kindModifiers": "", + "textSpan": { + "start": 367, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 370 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 370, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 374 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 374, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 383 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 383, + "length": 5 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 390 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 390, + "length": 2 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 393 + }, + "quickInfo": { + "kind": "interface", + "kindModifiers": "", + "textSpan": { + "start": 393, + "length": 1 + }, + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 409 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 409, + "length": 5 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 415 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 415, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 421 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 421, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 428 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 428, + "length": 5 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 434 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 434, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 440 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 440, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 447 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 447, + "length": 5 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 453 + }, + "quickInfo": { + "kind": "method", + "kindModifiers": "", + "textSpan": { + "start": 453, + "length": 6 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I1", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "methodName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 460 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 460, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts", + "position": 466 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 466, + "length": 4 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "iVal", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline new file mode 100644 index 00000000000..e6f1d451288 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline @@ -0,0 +1,472 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 5 + }, + "quickInfo": { + "kind": "type", + "kindModifiers": "", + "textSpan": { + "start": 5, + "length": 4 + }, + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 10 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 10, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 15 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 15, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 24 + }, + "quickInfo": { + "kind": "type", + "kindModifiers": "", + "textSpan": { + "start": 24, + "length": 5 + }, + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List2", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 30 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 30, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List2", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts", + "position": 50 + }, + "quickInfo": { + "kind": "type parameter", + "kindModifiers": "", + "textSpan": { + "start": 50, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "type parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "List2", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsVar.baseline b/tests/baselines/reference/quickInfoDisplayPartsVar.baseline new file mode 100644 index 00000000000..b56e1b31542 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsVar.baseline @@ -0,0 +1,1112 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 4 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 37 + }, + "quickInfo": { + "kind": "local var", + "kindModifiers": "", + "textSpan": { + "start": 37, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local var", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 41 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 65 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 65, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 88 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 88, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "d", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 102 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 102, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 123 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 123, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "g", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 127 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 127, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 130 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 130, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 139 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 139, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 193 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 193, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 197 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 197, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 200 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 200, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVar.ts", + "position": 207 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 207, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsVar.shims-pp.baseline b/tests/baselines/reference/quickInfoDisplayPartsVar.shims-pp.baseline new file mode 100644 index 00000000000..dfe65565790 --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsVar.shims-pp.baseline @@ -0,0 +1,1112 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 4 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 37 + }, + "quickInfo": { + "kind": "local var", + "kindModifiers": "", + "textSpan": { + "start": 37, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local var", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 41 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 65 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 65, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 88 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 88, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "d", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 102 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 102, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 123 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 123, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "g", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 127 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 127, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 130 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 130, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 139 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 139, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 193 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 193, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 197 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 197, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 200 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 200, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts", + "position": 207 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 207, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsVar.shims.baseline b/tests/baselines/reference/quickInfoDisplayPartsVar.shims.baseline new file mode 100644 index 00000000000..249772f416e --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsVar.shims.baseline @@ -0,0 +1,1112 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 4 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 37 + }, + "quickInfo": { + "kind": "local var", + "kindModifiers": "", + "textSpan": { + "start": 37, + "length": 1 + }, + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "local var", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 41 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 41, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 65 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 65, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "c", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 88 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "export", + "textSpan": { + "start": 88, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "m", + "kind": "moduleName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "d", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 102 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 102, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 123 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 123, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "g", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 127 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 127, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 130 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 130, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "f", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 139 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 139, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 193 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 193, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "i", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 197 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 197, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 200 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 200, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts", + "position": 207 + }, + "quickInfo": { + "kind": "var", + "kindModifiers": "", + "textSpan": { + "start": 207, + "length": 1 + }, + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "h", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "+", + "kind": "operator" + }, + { + "text": "1", + "kind": "numericLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "overload", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline b/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline new file mode 100644 index 00000000000..3c46a6ba6bd --- /dev/null +++ b/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline @@ -0,0 +1,141 @@ +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts", + "position": 4 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 4, + "length": 5 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "hello", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts", + "position": 44 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 44, + "length": 5 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "world", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"world\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts", + "position": 74 + }, + "quickInfo": { + "kind": "let", + "kindModifiers": "", + "textSpan": { + "start": 74, + "length": 12 + }, + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "helloOrWorld", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"hello\"", + "kind": "stringLiteral" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"world\"", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/quotedPropertyName1.types b/tests/baselines/reference/quotedPropertyName1.types index 4a4e73529b3..a142d607a75 100644 --- a/tests/baselines/reference/quotedPropertyName1.types +++ b/tests/baselines/reference/quotedPropertyName1.types @@ -3,5 +3,5 @@ class Test1 { >Test1 : Test1 "prop1" = 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/quotedPropertyName2.js b/tests/baselines/reference/quotedPropertyName2.js index 1c4d85076ea..550e5299702 100644 --- a/tests/baselines/reference/quotedPropertyName2.js +++ b/tests/baselines/reference/quotedPropertyName2.js @@ -7,6 +7,6 @@ class Test1 { var Test1 = (function () { function Test1() { } - Test1["prop1"] = 0; return Test1; }()); +Test1["prop1"] = 0; diff --git a/tests/baselines/reference/quotedPropertyName2.types b/tests/baselines/reference/quotedPropertyName2.types index fe737758e3e..16b116a5e22 100644 --- a/tests/baselines/reference/quotedPropertyName2.types +++ b/tests/baselines/reference/quotedPropertyName2.types @@ -3,5 +3,5 @@ class Test1 { >Test1 : Test1 static "prop1" = 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/quotedPropertyName3.types b/tests/baselines/reference/quotedPropertyName3.types index 7c957372e0d..f5f1d47bbc8 100644 --- a/tests/baselines/reference/quotedPropertyName3.types +++ b/tests/baselines/reference/quotedPropertyName3.types @@ -11,7 +11,7 @@ class Test { >() => this["prop1"] : () => number >this["prop1"] : number >this : this ->"prop1" : string +>"prop1" : "prop1" var y: number = x(); >y : number diff --git a/tests/baselines/reference/randomSemicolons1.types b/tests/baselines/reference/randomSemicolons1.types index 48a7c307314..4a246eeed21 100644 --- a/tests/baselines/reference/randomSemicolons1.types +++ b/tests/baselines/reference/randomSemicolons1.types @@ -2,7 +2,7 @@ ; ; var a = 1; >a : number ->1 : number +>1 : 1 ; diff --git a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types index 3d01b876473..72c23eae972 100644 --- a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types +++ b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types @@ -11,12 +11,12 @@ function foo(x: any) { >x : any case 1: return; ->1 : number +>1 : 1 default: } print('1'); >print('1') : void >print : (s: string) => void ->'1' : string +>'1' : "1" } diff --git a/tests/baselines/reference/reactNamespaceInvalidInput.js b/tests/baselines/reference/reactNamespaceInvalidInput.js index bf079d6b9a8..69918fe976f 100644 --- a/tests/baselines/reference/reactNamespaceInvalidInput.js +++ b/tests/baselines/reference/reactNamespaceInvalidInput.js @@ -4,4 +4,4 @@ //// [reactNamespaceInvalidInput.js] -my-React-Lib.createElement("foo", {data: true}); +my-React-Lib.createElement("foo", { data: true }); diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.js b/tests/baselines/reference/reactNamespaceJSXEmit.js index ced18ebc031..3a21504bb80 100644 --- a/tests/baselines/reference/reactNamespaceJSXEmit.js +++ b/tests/baselines/reference/reactNamespaceJSXEmit.js @@ -21,8 +21,8 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { } return t; }; -myReactLib.createElement("foo", {data: true}); -myReactLib.createElement(Bar, {x: x}); +myReactLib.createElement("foo", { data: true }); +myReactLib.createElement(Bar, { x: x }); myReactLib.createElement("x-component", null); myReactLib.createElement(Bar, __assign({}, x)); -myReactLib.createElement(Bar, __assign({}, x, {y: 2})); +myReactLib.createElement(Bar, __assign({}, x, { y: 2 })); diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.types b/tests/baselines/reference/reactNamespaceJSXEmit.types index 06c803ef7fd..d2bd88e8fbd 100644 --- a/tests/baselines/reference/reactNamespaceJSXEmit.types +++ b/tests/baselines/reference/reactNamespaceJSXEmit.types @@ -37,5 +37,5 @@ declare var x: any; >Bar : any >x : any >y : any ->2 : number +>2 : 2 diff --git a/tests/baselines/reference/reactNamespaceMissingDeclaration.js b/tests/baselines/reference/reactNamespaceMissingDeclaration.js index d972f319f8f..8faeffa6496 100644 --- a/tests/baselines/reference/reactNamespaceMissingDeclaration.js +++ b/tests/baselines/reference/reactNamespaceMissingDeclaration.js @@ -5,4 +5,4 @@ //// [reactNamespaceMissingDeclaration.js] // Error myReactLib not declared -myReactLib.createElement("foo", {data: true}); +myReactLib.createElement("foo", { data: true }); diff --git a/tests/baselines/reference/readonlyInDeclarationFile.types b/tests/baselines/reference/readonlyInDeclarationFile.types index 7a3e11577c8..ca83a0a4c01 100644 --- a/tests/baselines/reference/readonlyInDeclarationFile.types +++ b/tests/baselines/reference/readonlyInDeclarationFile.types @@ -29,19 +29,19 @@ class C { private get b1() { return 1 } >b1 : number ->1 : number +>1 : 1 protected get b2() { return 1 } >b2 : number ->1 : number +>1 : 1 public get b3() { return 1 } >b3 : number ->1 : number +>1 : 1 private get c1() { return 1 } >c1 : number ->1 : number +>1 : 1 private set c1(value) { } >c1 : number @@ -49,7 +49,7 @@ class C { protected get c2() { return 1 } >c2 : number ->1 : number +>1 : 1 protected set c2(value) { } >c2 : number @@ -57,7 +57,7 @@ class C { public get c3() { return 1 } >c3 : number ->1 : number +>1 : 1 public set c3(value) { } >c3 : number @@ -74,19 +74,19 @@ class C { private static get t1() { return 1 } >t1 : number ->1 : number +>1 : 1 protected static get t2() { return 1 } >t2 : number ->1 : number +>1 : 1 public static get t3() { return 1 } >t3 : number ->1 : number +>1 : 1 private static get u1() { return 1 } >u1 : number ->1 : number +>1 : 1 private static set u1(value) { } >u1 : number @@ -94,7 +94,7 @@ class C { protected static get u2() { return 1 } >u2 : number ->1 : number +>1 : 1 protected static set u2(value) { } >u2 : number @@ -102,7 +102,7 @@ class C { public static get u3() { return 1 } >u3 : number ->1 : number +>1 : 1 public static set u3(value) { } >u3 : number @@ -128,11 +128,11 @@ function f() { get x() { return 1; }, >x : number ->1 : number +>1 : 1 get y() { return 1; }, >y : number ->1 : number +>1 : 1 set y(value) { } >y : number diff --git a/tests/baselines/reference/reassignStaticProp.js b/tests/baselines/reference/reassignStaticProp.js index 2bf2bafa128..d9c37c29ad5 100644 --- a/tests/baselines/reference/reassignStaticProp.js +++ b/tests/baselines/reference/reassignStaticProp.js @@ -15,6 +15,6 @@ class foo { var foo = (function () { function foo() { } - foo.bar = 1; return foo; }()); +foo.bar = 1; diff --git a/tests/baselines/reference/reboundBaseClassSymbol.types b/tests/baselines/reference/reboundBaseClassSymbol.types index 9c62d838f42..602907cb5b3 100644 --- a/tests/baselines/reference/reboundBaseClassSymbol.types +++ b/tests/baselines/reference/reboundBaseClassSymbol.types @@ -8,7 +8,7 @@ module Foo { var A = 1; >A : number ->1 : number +>1 : 1 interface B extends A { b: string; } >B : B diff --git a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types index 482ec707e49..3e74ba7f57b 100644 --- a/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types +++ b/tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.types @@ -14,7 +14,7 @@ export class MemberName { public prefix: string = ""; >prefix : string ->"" : string +>"" : "" } export class MemberNameArray extends MemberName { >MemberNameArray : MemberNameArray diff --git a/tests/baselines/reference/recursiveClassReferenceTest.js.map b/tests/baselines/reference/recursiveClassReferenceTest.js.map index 40f720effce..7e0b27b82b4 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.js.map +++ b/tests/baselines/reference/recursiveClassReferenceTest.js.map @@ -1,2 +1,2 @@ //// [recursiveClassReferenceTest.js.map] -{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;;;;;;AA8B1E,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAAC,IAAA,OAAO,CAUpB;IAVa,WAAA,OAAO;QAAC,IAAA,KAAK,CAU1B;QAVqB,WAAA,OAAK;YAAC,IAAA,IAAI,CAU/B;YAV2B,WAAA,IAAI,EAAC,CAAC;gBACjC;oBAAA;oBAQA,CAAC;oBANO,+BAAK,GAAZ,cAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAExB,6BAAG,GAAV,UAAW,KAA6B;wBAEvC,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBACF,sBAAC;gBAAD,CAAC,AARD,IAQC;gBARY,oBAAe,kBAQ3B,CAAA;YACF,CAAC,EAV2B,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAU/B;QAAD,CAAC,EAVqB,KAAK,GAAL,aAAK,KAAL,aAAK,QAU1B;IAAD,CAAC,EAVa,OAAO,GAAP,cAAO,KAAP,cAAO,QAUpB;AAAD,CAAC,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,IAAO,MAAM,CAoBZ;AApBD,WAAO,MAAM;IAAC,IAAA,KAAK,CAoBlB;IApBa,WAAA,KAAK;QAAC,IAAA,OAAO,CAoB1B;QApBmB,WAAA,OAAO,EAAC,CAAC;YAC5B;gBAKC,oBAAoB,SAAkC;oBAAlC,cAAS,GAAT,SAAS,CAAyB;oBAD9C,YAAO,GAAO,IAAI,CAAC;oBAEvB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBANM,wBAAG,GAAV,UAAW,MAAyC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAQlF,+BAAU,GAAjB;oBACC,MAAM,CAAC,OAAO,CAAC;gBAChB,CAAC;gBAEM,4BAAO,GAAd;gBAEA,CAAC;gBAEF,iBAAC;YAAD,CAAC,AAlBD,IAkBC;YAlBY,kBAAU,aAkBtB,CAAA;QACF,CAAC,EApBmB,OAAO,GAAP,aAAO,KAAP,aAAO,QAoB1B;IAAD,CAAC,EApBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAoBlB;AAAD,CAAC,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD;IAAA;IAAuF,CAAC;IAA3C,sCAAe,GAAtB,cAAmC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC;IAAC,mBAAC;AAAD,CAAC,AAAxF,IAAwF;AASxF,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAAC,IAAA,KAAK,CAwBlB;IAxBa,WAAA,KAAK;QAAC,IAAA,SAAS,CAwB5B;QAxBmB,WAAA,SAAS;YAAC,IAAA,SAAS,CAwBtC;YAxB6B,WAAA,SAAS,EAAC,CAAC;gBAExC;oBACO,eAAoB,IAAW;wBAAX,SAAI,GAAJ,IAAI,CAAO;oBAAI,CAAC;oBACnC,qBAAK,GAAZ;wBACC,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBAEM,sBAAM,GAAb,UAAc,KAAY;wBACzB,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;oBACvB,CAAC;oBAEM,uBAAO,GAAd,cAA0B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,YAAC;gBAAD,CAAC,AAXD,IAWC;gBAXY,eAAK,QAWjB,CAAA;gBAED;oBAA0B,wBAAY;oBAAtC;wBAA0B,8BAAY;oBAQtC,CAAC;oBANA,aAAa;oBACN,8BAAe,GAAtB;wBACC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBAGF,WAAC;gBAAD,CAAC,AARD,CAA0B,YAAY,GAQrC;gBARY,cAAI,OAQhB,CAAA;YACF,CAAC,EAxB6B,SAAS,GAAT,mBAAS,KAAT,mBAAS,QAwBtC;QAAD,CAAC,EAxBmB,SAAS,GAAT,eAAS,KAAT,eAAS,QAwB5B;IAAD,CAAC,EAxBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAwBlB;AAAD,CAAC,EAxBM,MAAM,KAAN,MAAM,QAwBZ"} \ No newline at end of file +{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;;;;;;AA8B1E,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAAC,IAAA,OAAO,CAUpB;IAVa,WAAA,OAAO;QAAC,IAAA,KAAK,CAU1B;QAVqB,WAAA,OAAK;YAAC,IAAA,IAAI,CAU/B;YAV2B,WAAA,IAAI;gBAC/B;oBAAA;oBAQA,CAAC;oBANO,+BAAK,GAAZ,cAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAExB,6BAAG,GAAV,UAAW,KAA6B;wBAEvC,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBACF,sBAAC;gBAAD,CAAC,AARD,IAQC;gBARY,oBAAe,kBAQ3B,CAAA;YACF,CAAC,EAV2B,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAU/B;QAAD,CAAC,EAVqB,KAAK,GAAL,aAAK,KAAL,aAAK,QAU1B;IAAD,CAAC,EAVa,OAAO,GAAP,cAAO,KAAP,cAAO,QAUpB;AAAD,CAAC,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,IAAO,MAAM,CAoBZ;AApBD,WAAO,MAAM;IAAC,IAAA,KAAK,CAoBlB;IApBa,WAAA,KAAK;QAAC,IAAA,OAAO,CAoB1B;QApBmB,WAAA,OAAO;YAC1B;gBAKC,oBAAoB,SAAkC;oBAAlC,cAAS,GAAT,SAAS,CAAyB;oBAD9C,YAAO,GAAO,IAAI,CAAC;oBAEvB,aAAa;oBACb,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBANM,wBAAG,GAAV,UAAW,MAAyC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAA,CAAC,CAAA,CAAC;gBAQlF,+BAAU,GAAjB;oBACC,MAAM,CAAC,OAAO,CAAC;gBAChB,CAAC;gBAEM,4BAAO,GAAd;gBAEA,CAAC;gBAEF,iBAAC;YAAD,CAAC,AAlBD,IAkBC;YAlBY,kBAAU,aAkBtB,CAAA;QACF,CAAC,EApBmB,OAAO,GAAP,aAAO,KAAP,aAAO,QAoB1B;IAAD,CAAC,EApBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAoBlB;AAAD,CAAC,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD;IAAA;IAAuF,CAAC;IAA3C,sCAAe,GAAtB,cAAmC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC;IAAC,mBAAC;AAAD,CAAC,AAAxF,IAAwF;AASxF,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAAC,IAAA,KAAK,CAwBlB;IAxBa,WAAA,KAAK;QAAC,IAAA,SAAS,CAwB5B;QAxBmB,WAAA,SAAS;YAAC,IAAA,SAAS,CAwBtC;YAxB6B,WAAA,SAAS;gBAEtC;oBACO,eAAoB,IAAW;wBAAX,SAAI,GAAJ,IAAI,CAAO;oBAAI,CAAC;oBACnC,qBAAK,GAAZ;wBACC,MAAM,CAAC,IAAI,CAAC;oBACb,CAAC;oBAEM,sBAAM,GAAb,UAAc,KAAY;wBACzB,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;oBACvB,CAAC;oBAEM,uBAAO,GAAd,cAA0B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,YAAC;gBAAD,CAAC,AAXD,IAWC;gBAXY,eAAK,QAWjB,CAAA;gBAED;oBAA0B,wBAAY;oBAAtC;wBAA0B,8BAAY;oBAQtC,CAAC;oBANA,aAAa;oBACN,8BAAe,GAAtB;wBACC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBAGF,WAAC;gBAAD,CAAC,AARD,CAA0B,YAAY,GAQrC;gBARY,cAAI,OAQhB,CAAA;YACF,CAAC,EAxB6B,SAAS,GAAT,mBAAS,KAAT,mBAAS,QAwBtC;QAAD,CAAC,EAxBmB,SAAS,GAAT,eAAS,KAAT,eAAS,QAwB5B;IAAD,CAAC,EAxBa,KAAK,GAAL,YAAK,KAAL,YAAK,QAwBlB;AAAD,CAAC,EAxBM,MAAM,KAAN,MAAM,QAwBZ"} \ No newline at end of file diff --git a/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt b/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt index 25dc6a1900d..7e9da7dddf3 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt +++ b/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt @@ -198,24 +198,18 @@ sourceFile:recursiveClassReferenceTest.ts 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> 2 > 3 > Find -4 > -5 > { 1->Emitted(15, 13) Source(32, 29) + SourceIndex(0) 2 >Emitted(15, 24) Source(32, 29) + SourceIndex(0) 3 >Emitted(15, 28) Source(32, 33) + SourceIndex(0) -4 >Emitted(15, 30) Source(32, 34) + SourceIndex(0) -5 >Emitted(15, 31) Source(32, 35) + SourceIndex(0) --- >>> var StartFindAction = (function () { 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(16, 17) Source(33, 2) + SourceIndex(0) --- @@ -663,24 +657,18 @@ sourceFile:recursiveClassReferenceTest.ts 1->^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^-> 1-> 2 > 3 > Widgets -4 > -5 > { 1->Emitted(35, 9) Source(44, 21) + SourceIndex(0) 2 >Emitted(35, 20) Source(44, 21) + SourceIndex(0) 3 >Emitted(35, 27) Source(44, 28) + SourceIndex(0) -4 >Emitted(35, 29) Source(44, 29) + SourceIndex(0) -5 >Emitted(35, 30) Source(44, 30) + SourceIndex(0) --- >>> var FindWidget = (function () { 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(36, 13) Source(45, 2) + SourceIndex(0) --- @@ -1443,24 +1431,18 @@ sourceFile:recursiveClassReferenceTest.ts 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +4 > ^^^^^^^^^^^-> 1-> 2 > 3 > PlainText -4 > -5 > { 1->Emitted(70, 13) Source(76, 31) + SourceIndex(0) 2 >Emitted(70, 24) Source(76, 31) + SourceIndex(0) 3 >Emitted(70, 33) Source(76, 40) + SourceIndex(0) -4 >Emitted(70, 35) Source(76, 41) + SourceIndex(0) -5 >Emitted(70, 36) Source(76, 42) + SourceIndex(0) --- >>> var State = (function () { 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > > 1->Emitted(71, 17) Source(78, 2) + SourceIndex(0) diff --git a/tests/baselines/reference/recursiveComplicatedClasses.types b/tests/baselines/reference/recursiveComplicatedClasses.types index 1bb48a3c0c9..ea590daca5a 100644 --- a/tests/baselines/reference/recursiveComplicatedClasses.types +++ b/tests/baselines/reference/recursiveComplicatedClasses.types @@ -14,7 +14,7 @@ function aEnclosesB(a: Symbol) { >Symbol : Symbol return true; ->true : boolean +>true : true } class Symbol { diff --git a/tests/baselines/reference/recursiveFunctionTypes.errors.txt b/tests/baselines/reference/recursiveFunctionTypes.errors.txt index 8d5303c0669..8614f747016 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.errors.txt +++ b/tests/baselines/reference/recursiveFunctionTypes.errors.txt @@ -1,23 +1,23 @@ -tests/cases/compiler/recursiveFunctionTypes.ts(1,35): error TS2322: Type 'number' is not assignable to type '() => typeof fn'. +tests/cases/compiler/recursiveFunctionTypes.ts(1,35): error TS2322: Type '1' is not assignable to type '() => typeof fn'. tests/cases/compiler/recursiveFunctionTypes.ts(3,5): error TS2322: Type '() => typeof fn' is not assignable to type 'number'. tests/cases/compiler/recursiveFunctionTypes.ts(4,5): error TS2322: Type '() => typeof fn' is not assignable to type '() => number'. Type '() => typeof fn' is not assignable to type 'number'. tests/cases/compiler/recursiveFunctionTypes.ts(11,16): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. tests/cases/compiler/recursiveFunctionTypes.ts(12,16): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. tests/cases/compiler/recursiveFunctionTypes.ts(17,5): error TS2322: Type '() => I' is not assignable to type 'number'. -tests/cases/compiler/recursiveFunctionTypes.ts(22,5): error TS2345: Argument of type 'number' is not assignable to parameter of type '(t: typeof g) => void'. -tests/cases/compiler/recursiveFunctionTypes.ts(25,1): error TS2322: Type 'number' is not assignable to type '() => any'. +tests/cases/compiler/recursiveFunctionTypes.ts(22,5): error TS2345: Argument of type '3' is not assignable to parameter of type '(t: typeof g) => void'. +tests/cases/compiler/recursiveFunctionTypes.ts(25,1): error TS2322: Type '3' is not assignable to type '() => any'. tests/cases/compiler/recursiveFunctionTypes.ts(30,10): error TS2394: Overload signature is not compatible with function implementation. tests/cases/compiler/recursiveFunctionTypes.ts(33,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/recursiveFunctionTypes.ts(34,4): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ (): typeof f6; (a: typeof f6): () => number; }'. +tests/cases/compiler/recursiveFunctionTypes.ts(34,4): error TS2345: Argument of type '""' is not assignable to parameter of type '{ (): typeof f6; (a: typeof f6): () => number; }'. tests/cases/compiler/recursiveFunctionTypes.ts(42,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2345: Argument of type 'string' is not assignable to parameter of type '{ (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; }'. +tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2345: Argument of type '""' is not assignable to parameter of type '{ (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; }'. ==== tests/cases/compiler/recursiveFunctionTypes.ts (13 errors) ==== function fn(): typeof fn { return 1; } ~ -!!! error TS2322: Type 'number' is not assignable to type '() => typeof fn'. +!!! error TS2322: Type '1' is not assignable to type '() => typeof fn'. var x: number = fn; // error ~ @@ -51,12 +51,12 @@ tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2345: Argument of } C.g(3); // error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type '(t: typeof g) => void'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type '(t: typeof g) => void'. var f4: () => typeof f4; f4 = 3; // error ~~ -!!! error TS2322: Type 'number' is not assignable to type '() => any'. +!!! error TS2322: Type '3' is not assignable to type '() => any'. function f5() { return f5; } @@ -71,7 +71,7 @@ tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2345: Argument of !!! error TS2346: Supplied parameters do not match any signature of call target. f6(""); // ok (function takes an any param) ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '{ (): typeof f6; (a: typeof f6): () => number; }'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type '{ (): typeof f6; (a: typeof f6): () => number; }'. f6(); // ok declare function f7(): typeof f7; @@ -84,5 +84,5 @@ tests/cases/compiler/recursiveFunctionTypes.ts(43,4): error TS2345: Argument of !!! error TS2346: Supplied parameters do not match any signature of call target. f7(""); // ok (function takes an any param) ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '{ (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; }'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type '{ (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; }'. f7(); // ok \ No newline at end of file diff --git a/tests/baselines/reference/recursiveGenericUnionType1.types b/tests/baselines/reference/recursiveGenericUnionType1.types index c153aba0e7c..65b1666fb41 100644 --- a/tests/baselines/reference/recursiveGenericUnionType1.types +++ b/tests/baselines/reference/recursiveGenericUnionType1.types @@ -3,62 +3,62 @@ declare module Test1 { >Test1 : any export type Container = T | { ->Container : T | { [i: string]: T | any; } +>Container : Container >T : T >T : T [i: string]: Container; >i : string ->Container : T | { [i: string]: T | any; } +>Container : Container >T : T }; export type IStringContainer = Container; ->IStringContainer : string | { [i: string]: string | any; } ->Container : T | { [i: string]: T | any; } +>IStringContainer : Container +>Container : Container } declare module Test2 { >Test2 : any export type Container = T | { ->Container : T | { [i: string]: T | any; } +>Container : Container >T : T >T : T [i: string]: Container; >i : string ->Container : T | { [i: string]: T | any; } +>Container : Container >T : T }; export type IStringContainer = Container; ->IStringContainer : string | { [i: string]: string | any; } ->Container : T | { [i: string]: T | any; } +>IStringContainer : Container +>Container : Container } var x: Test1.Container; ->x : number | { [i: string]: number | any; } +>x : Test1.Container >Test1 : any ->Container : T | { [i: string]: T | any; } +>Container : Test1.Container var s1: Test1.IStringContainer; ->s1 : string | { [i: string]: string | any; } +>s1 : Test1.Container >Test1 : any ->IStringContainer : string | { [i: string]: string | any; } +>IStringContainer : Test1.Container var s2: Test2.IStringContainer; ->s2 : string | { [i: string]: string | any; } +>s2 : Test2.Container >Test2 : any ->IStringContainer : string | { [i: string]: string | any; } +>IStringContainer : Test2.Container s1 = s2; ->s1 = s2 : string | { [i: string]: string | any; } ->s1 : string | { [i: string]: string | any; } ->s2 : string | { [i: string]: string | any; } +>s1 = s2 : Test2.Container +>s1 : Test1.Container +>s2 : Test2.Container s2 = s1; ->s2 = s1 : string | { [i: string]: string | any; } ->s2 : string | { [i: string]: string | any; } ->s1 : string | { [i: string]: string | any; } +>s2 = s1 : Test1.Container +>s2 : Test2.Container +>s1 : Test1.Container diff --git a/tests/baselines/reference/recursiveGenericUnionType2.types b/tests/baselines/reference/recursiveGenericUnionType2.types index f98cf144780..2a74ba9558d 100644 --- a/tests/baselines/reference/recursiveGenericUnionType2.types +++ b/tests/baselines/reference/recursiveGenericUnionType2.types @@ -3,62 +3,62 @@ declare module Test1 { >Test1 : any export type Container = T | { ->Container : T | { [i: string]: (T | any)[]; } +>Container : Container >T : T >T : T [i: string]: Container[]; >i : string ->Container : T | { [i: string]: (T | any)[]; } +>Container : Container >T : T }; export type IStringContainer = Container; ->IStringContainer : string | { [i: string]: (string | any)[]; } ->Container : T | { [i: string]: (T | any)[]; } +>IStringContainer : Container +>Container : Container } declare module Test2 { >Test2 : any export type Container = T | { ->Container : T | { [i: string]: (T | any)[]; } +>Container : Container >T : T >T : T [i: string]: Container[]; >i : string ->Container : T | { [i: string]: (T | any)[]; } +>Container : Container >T : T }; export type IStringContainer = Container; ->IStringContainer : string | { [i: string]: (string | any)[]; } ->Container : T | { [i: string]: (T | any)[]; } +>IStringContainer : Container +>Container : Container } var x: Test1.Container; ->x : number | { [i: string]: (number | any)[]; } +>x : Test1.Container >Test1 : any ->Container : T | { [i: string]: (T | any)[]; } +>Container : Test1.Container var s1: Test1.IStringContainer; ->s1 : string | { [i: string]: (string | any)[]; } +>s1 : Test1.Container >Test1 : any ->IStringContainer : string | { [i: string]: (string | any)[]; } +>IStringContainer : Test1.Container var s2: Test2.IStringContainer; ->s2 : string | { [i: string]: (string | any)[]; } +>s2 : Test2.Container >Test2 : any ->IStringContainer : string | { [i: string]: (string | any)[]; } +>IStringContainer : Test2.Container s1 = s2; ->s1 = s2 : string | { [i: string]: (string | any)[]; } ->s1 : string | { [i: string]: (string | any)[]; } ->s2 : string | { [i: string]: (string | any)[]; } +>s1 = s2 : Test2.Container +>s1 : Test1.Container +>s2 : Test2.Container s2 = s1; ->s2 = s1 : string | { [i: string]: (string | any)[]; } ->s2 : string | { [i: string]: (string | any)[]; } ->s1 : string | { [i: string]: (string | any)[]; } +>s2 = s1 : Test1.Container +>s2 : Test2.Container +>s1 : Test1.Container diff --git a/tests/baselines/reference/recursiveInference1.types b/tests/baselines/reference/recursiveInference1.types index 58bb13d18e7..7144dd17abe 100644 --- a/tests/baselines/reference/recursiveInference1.types +++ b/tests/baselines/reference/recursiveInference1.types @@ -5,23 +5,23 @@ function fib(x:number) { return x <= 1 ? x : fib(x - 1) + fib(x - 2); } >x <= 1 ? x : fib(x - 1) + fib(x - 2) : any >x <= 1 : boolean >x : number ->1 : number +>1 : 1 >x : number >fib(x - 1) + fib(x - 2) : any >fib(x - 1) : any >fib : (x: number) => any >x - 1 : number >x : number ->1 : number +>1 : 1 >fib(x - 2) : any >fib : (x: number) => any >x - 2 : number >x : number ->2 : number +>2 : 2 var result = fib(5); >result : any >fib(5) : any >fib : (x: number) => any ->5 : number +>5 : 5 diff --git a/tests/baselines/reference/recursiveInitializer.types b/tests/baselines/reference/recursiveInitializer.types index f5bc2338902..ad6b8059b6c 100644 --- a/tests/baselines/reference/recursiveInitializer.types +++ b/tests/baselines/reference/recursiveInitializer.types @@ -22,7 +22,7 @@ var s1 = s1 + ''; >s1 : any >s1 + '' : string >s1 : any ->'' : string +>'' : "" var s2 /* any */ = s2 + s2; >s2 : any @@ -39,7 +39,7 @@ var s3 : string = s3 + s3; var s4 = '' + s4; >s4 : any >'' + s4 : string ->'' : string +>'' : "" >s4 : any // boolean unless otherwise specified diff --git a/tests/baselines/reference/recursiveIntersectionTypes.errors.txt b/tests/baselines/reference/recursiveIntersectionTypes.errors.txt index 34a25c19712..84762c2cec6 100644 --- a/tests/baselines/reference/recursiveIntersectionTypes.errors.txt +++ b/tests/baselines/reference/recursiveIntersectionTypes.errors.txt @@ -1,6 +1,6 @@ -tests/cases/conformance/types/intersection/recursiveIntersectionTypes.ts(19,1): error TS2322: Type 'Entity & { next: Entity & any; }' is not assignable to type 'Product & { next: Product & any; }'. - Type 'Entity & { next: Entity & any; }' is not assignable to type 'Product'. - Property 'price' is missing in type 'Entity & { next: Entity & any; }'. +tests/cases/conformance/types/intersection/recursiveIntersectionTypes.ts(19,1): error TS2322: Type 'LinkedList' is not assignable to type 'LinkedList'. + Type 'LinkedList' is not assignable to type 'Product'. + Property 'price' is missing in type 'LinkedList'. ==== tests/cases/conformance/types/intersection/recursiveIntersectionTypes.ts (1 errors) ==== @@ -24,7 +24,7 @@ tests/cases/conformance/types/intersection/recursiveIntersectionTypes.ts(19,1): entityList = productList; productList = entityList; // Error ~~~~~~~~~~~ -!!! error TS2322: Type 'Entity & { next: Entity & any; }' is not assignable to type 'Product & { next: Product & any; }'. -!!! error TS2322: Type 'Entity & { next: Entity & any; }' is not assignable to type 'Product'. -!!! error TS2322: Property 'price' is missing in type 'Entity & { next: Entity & any; }'. +!!! error TS2322: Type 'LinkedList' is not assignable to type 'LinkedList'. +!!! error TS2322: Type 'LinkedList' is not assignable to type 'Product'. +!!! error TS2322: Property 'price' is missing in type 'LinkedList'. \ No newline at end of file diff --git a/tests/baselines/reference/recursiveMods.types b/tests/baselines/reference/recursiveMods.types index d4db816daf7..45e803fee1e 100644 --- a/tests/baselines/reference/recursiveMods.types +++ b/tests/baselines/reference/recursiveMods.types @@ -15,7 +15,7 @@ export module Foo { >C : C if (true) { return Bar();} ->true : boolean +>true : true >Bar() : C >Bar : () => C diff --git a/tests/baselines/reference/recursiveReturns.types b/tests/baselines/reference/recursiveReturns.types index c4d9fd31981..b1fdd125ecc 100644 --- a/tests/baselines/reference/recursiveReturns.types +++ b/tests/baselines/reference/recursiveReturns.types @@ -21,7 +21,7 @@ function R3(n:number) { if (n == 0) { >n == 0 : boolean >n : number ->0 : number +>0 : 0 //return; } diff --git a/tests/baselines/reference/recursiveUnionTypeInference.types b/tests/baselines/reference/recursiveUnionTypeInference.types index e5d62a051a5..72fb1efad3e 100644 --- a/tests/baselines/reference/recursiveUnionTypeInference.types +++ b/tests/baselines/reference/recursiveUnionTypeInference.types @@ -9,16 +9,16 @@ interface Foo { } function bar(x: Foo | string): T { ->bar : (x: Foo | string) => T +>bar : (x: string | Foo) => T >T : T ->x : Foo | string +>x : string | Foo >Foo : Foo >T : T >T : T return bar(x); >bar(x) : T ->bar : (x: Foo | string) => T ->x : Foo | string +>bar : (x: string | Foo) => T +>x : string | Foo } diff --git a/tests/baselines/reference/reexportClassDefinition.js b/tests/baselines/reference/reexportClassDefinition.js index ab5279d1d47..a4b68115ac2 100644 --- a/tests/baselines/reference/reexportClassDefinition.js +++ b/tests/baselines/reference/reexportClassDefinition.js @@ -27,7 +27,7 @@ var x = (function () { module.exports = x; //// [foo2.js] "use strict"; -var foo1 = require('./foo1'); +var foo1 = require("./foo1"); module.exports = { x: foo1 }; @@ -38,7 +38,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var foo2 = require('./foo2'); +var foo2 = require("./foo2"); var x = (function (_super) { __extends(x, _super); function x() { diff --git a/tests/baselines/reference/regExpWithSlashInCharClass.types b/tests/baselines/reference/regExpWithSlashInCharClass.types index fafe6e1be69..e866f2bc229 100644 --- a/tests/baselines/reference/regExpWithSlashInCharClass.types +++ b/tests/baselines/reference/regExpWithSlashInCharClass.types @@ -3,26 +3,26 @@ var foo1 = "a/".replace(/.[/]/, ""); >foo1 : string >"a/".replace(/.[/]/, "") : string >"a/".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } ->"a/" : string +>"a/" : "a/" >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } >/.[/]/ : RegExp ->"" : string +>"" : "" var foo2 = "a//".replace(/.[//]/g, ""); >foo2 : string >"a//".replace(/.[//]/g, "") : string >"a//".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } ->"a//" : string +>"a//" : "a//" >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } >/.[//]/g : RegExp ->"" : string +>"" : "" var foo3 = "a/".replace(/.[/no sleep /till/]/, "bugfix"); >foo3 : string >"a/".replace(/.[/no sleep /till/]/, "bugfix") : string >"a/".replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } ->"a/" : string +>"a/" : "a/" >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string; } >/.[/no sleep /till/]/ : RegExp ->"bugfix" : string +>"bugfix" : "bugfix" diff --git a/tests/baselines/reference/relativeModuleWithoutSlash.types b/tests/baselines/reference/relativeModuleWithoutSlash.types index 796ef714dd9..f17185e1e18 100644 --- a/tests/baselines/reference/relativeModuleWithoutSlash.types +++ b/tests/baselines/reference/relativeModuleWithoutSlash.types @@ -3,13 +3,13 @@ export default { a: 0 }; >{ a: 0 } : { a: number; } >a : number ->0 : number +>0 : 0 === /a/index.ts === export default { aIndex: 0 }; >{ aIndex: 0 } : { aIndex: number; } >aIndex : number ->0 : number +>0 : 0 === /a/test.ts === import a from "."; diff --git a/tests/baselines/reference/relativePathMustResolve.js b/tests/baselines/reference/relativePathMustResolve.js index c25ffd4ab65..6986d8ddb68 100644 --- a/tests/baselines/reference/relativePathMustResolve.js +++ b/tests/baselines/reference/relativePathMustResolve.js @@ -10,5 +10,5 @@ var z = foo.x + 10; //// [foo_1.js] "use strict"; -var foo = require('./test/foo'); +var foo = require("./test/foo"); var z = foo.x + 10; diff --git a/tests/baselines/reference/relativePathToDeclarationFile.js b/tests/baselines/reference/relativePathToDeclarationFile.js index 75d6539cb3c..36673510aef 100644 --- a/tests/baselines/reference/relativePathToDeclarationFile.js +++ b/tests/baselines/reference/relativePathToDeclarationFile.js @@ -28,9 +28,9 @@ if(foo.M2.x){ //// [file1.js] "use strict"; -var foo = require('foo'); -var other = require('./other'); -var relMod = require('./sub/relMod'); +var foo = require("foo"); +var other = require("./other"); +var relMod = require("./sub/relMod"); if (foo.M2.x) { var x = new relMod(other.M2.x.charCodeAt(0)); } diff --git a/tests/baselines/reference/relativePathToDeclarationFile.types b/tests/baselines/reference/relativePathToDeclarationFile.types index ef77acc85b4..0c196814b08 100644 --- a/tests/baselines/reference/relativePathToDeclarationFile.types +++ b/tests/baselines/reference/relativePathToDeclarationFile.types @@ -27,7 +27,7 @@ if(foo.M2.x){ >M2 : typeof other.M2 >x : string >charCodeAt : (index: number) => number ->0 : number +>0 : 0 } === tests/cases/conformance/externalModules/test/foo.d.ts === diff --git a/tests/baselines/reference/requireEmitSemicolon.types b/tests/baselines/reference/requireEmitSemicolon.types index 43ca9ef29c8..541cd67cb85 100644 --- a/tests/baselines/reference/requireEmitSemicolon.types +++ b/tests/baselines/reference/requireEmitSemicolon.types @@ -23,7 +23,7 @@ export module Database { >P : typeof P >Models : typeof P.Models >Person : typeof P.Models.Person ->"Rock" : string +>"Rock" : "Rock" } } } diff --git a/tests/baselines/reference/requiredInitializedParameter3.types b/tests/baselines/reference/requiredInitializedParameter3.types index aa37f5e13dd..92b35e2c83c 100644 --- a/tests/baselines/reference/requiredInitializedParameter3.types +++ b/tests/baselines/reference/requiredInitializedParameter3.types @@ -13,6 +13,6 @@ class C1 implements I1 { method(a = 0, b?) { } >method : (a?: number, b?: any) => void >a : number ->0 : number +>0 : 0 >b : any } diff --git a/tests/baselines/reference/requiredInitializedParameter4.types b/tests/baselines/reference/requiredInitializedParameter4.types index c483146a1ba..5465c9d1820 100644 --- a/tests/baselines/reference/requiredInitializedParameter4.types +++ b/tests/baselines/reference/requiredInitializedParameter4.types @@ -5,6 +5,6 @@ class C1 { method(a = 0, b) { } >method : (a: number, b: any) => void >a : number ->0 : number +>0 : 0 >b : any } diff --git a/tests/baselines/reference/reservedWords.types b/tests/baselines/reference/reservedWords.types index 4c76e056ce2..ae5a391bc58 100644 --- a/tests/baselines/reference/reservedWords.types +++ b/tests/baselines/reference/reservedWords.types @@ -5,19 +5,19 @@ var obj = { if: 0, >if : number ->0 : number +>0 : 0 debugger: 2, >debugger : number ->2 : number +>2 : 2 break: 3, >break : number ->3 : number +>3 : 3 function: 4 >function : number ->4 : number +>4 : 4 } //This compiles. @@ -28,22 +28,22 @@ var obj2 = { if: 0, >if : number ->0 : number +>0 : 0 while: 1, >while : number ->1 : number +>1 : 1 debugger: 2, >debugger : number ->2 : number +>2 : 2 break: 3, >break : number ->3 : number +>3 : 3 function: 4 >function : number ->4 : number +>4 : 4 } diff --git a/tests/baselines/reference/reservedWords2.js b/tests/baselines/reference/reservedWords2.js index 69b071c9115..a5f8a680bcc 100644 --- a/tests/baselines/reference/reservedWords2.js +++ b/tests/baselines/reference/reservedWords2.js @@ -23,6 +23,7 @@ while (from) var ; typeof ; 10; +function () { } throw function () { }; module; void {}; diff --git a/tests/baselines/reference/resolveInterfaceNameWithSameLetDeclarationName2.types b/tests/baselines/reference/resolveInterfaceNameWithSameLetDeclarationName2.types index 6c52661ef49..1220152d212 100644 --- a/tests/baselines/reference/resolveInterfaceNameWithSameLetDeclarationName2.types +++ b/tests/baselines/reference/resolveInterfaceNameWithSameLetDeclarationName2.types @@ -6,12 +6,12 @@ interface bar { } >bar : bar let bar: bar | foo; ->bar : bar | foo +>bar : foo | bar >bar : bar >foo : foo let foo: bar | foo; ->foo : bar | foo +>foo : foo | bar >bar : bar >foo : foo diff --git a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.errors.txt b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.errors.txt new file mode 100644 index 00000000000..b9e650b644b --- /dev/null +++ b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.errors.txt @@ -0,0 +1,1094 @@ +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(2,35): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(9,44): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(45,39): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(60,34): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(96,33): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(114,40): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(126,34): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(182,42): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(199,39): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(247,35): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(272,30): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(301,33): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(403,44): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(436,45): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(469,44): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(490,34): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(495,39): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(500,38): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(534,42): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(549,41): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(580,45): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(589,44): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(605,46): error TS2690: A class must be declared after its base class. +tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,42): error TS2690: A class must be declared after its base class. + + +==== tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts (24 errors) ==== + module rionegrensis { + export class caniventer extends Lanthanum.nitidus { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } + uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } + raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } + Uranium() : minutus.inez, trivirgatus.falconeri> { var x : minutus.inez, trivirgatus.falconeri>; () => { var y = this; }; return x; } + nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } + } + export class veraecrucis extends trivirgatus.mixtus { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + naso() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } + vancouverensis() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } + africana() : argurus.gilbertii, sagitta.cinereus> { var x : argurus.gilbertii, sagitta.cinereus>; () => { var y = this; }; return x; } + palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } + nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } + } + } + module julianae { + export class steerii { + } + export class nudicaudus { + brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; } + maxwellii() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } + endoi() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } + venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } + zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + } + export class galapagoensis { + isabellae() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } + rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } + gliroides() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } + banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } + rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } + stuhlmanni() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } + } + export class albidens { + mattheyi() : samarensis.fuscus> { var x : samarensis.fuscus>; () => { var y = this; }; return x; } + Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; } + vincenti() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } + hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } + virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; } + macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } + porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + } + export class oralis extends caurinus.psilurus { + ~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } + porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } + bindi() : caurinus.mahaganus> { var x : caurinus.mahaganus>; () => { var y = this; }; return x; } + puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } + mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } + ignitus() : petrophilus.rosalia, lavali.wilsoni> { var x : petrophilus.rosalia, lavali.wilsoni>; () => { var y = this; }; return x; } + rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; } + monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } + unalascensis() : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; } + wuchihensis() : howi.angulatus, petrophilus.minutilla> { var x : howi.angulatus, petrophilus.minutilla>; () => { var y = this; }; return x; } + leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } + ordii() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } + eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } + } + export class sumatrana extends Lanthanum.jugularis { + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + wolffsohni() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } + geata() : ruatanica.hector { var x : ruatanica.hector; () => { var y = this; }; return x; } + awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } + sturdeei() : lutreolus.cor { var x : lutreolus.cor; () => { var y = this; }; return x; } + pachyurus() : howi.angulatus> { var x : howi.angulatus>; () => { var y = this; }; return x; } + lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } + neohibernicus() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } + } + export class gerbillus { + pundti() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } + tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } + swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } + horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } + diazi() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } + rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } + maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } + muscina() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } + pelengensis() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } + abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } + reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } + } + export class acariensis { + levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } + minous() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } + cinereiventer() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } + longicaudatus() : macrorhinos.marmosurus> { var x : macrorhinos.marmosurus>; () => { var y = this; }; return x; } + baeodon() : argurus.netscheri, argurus.luctuosa> { var x : argurus.netscheri, argurus.luctuosa>; () => { var y = this; }; return x; } + soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } + datae() : daubentonii.arboreus> { var x : daubentonii.arboreus>; () => { var y = this; }; return x; } + spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } + anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } + kihaulei() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } + gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + olchonensis() : rendalli.crenulata { var x : rendalli.crenulata; () => { var y = this; }; return x; } + } + export class durangae extends dogramacii.aurata { + ~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + Californium() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } + Flerovium() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } + phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } + } + } + module ruatanica { + export class hector { + humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } + eurycerus() : panamensis.linulus, lavali.wilsoni> { var x : panamensis.linulus, lavali.wilsoni>; () => { var y = this; }; return x; } + } + } + module Lanthanum { + export class suillus { + spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; } + anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } + } + export class nitidus extends argurus.gilbertii { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } + negligens() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } + lewisi() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } + arge() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } + taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } + tonganus() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } + silvatica() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } + midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } + bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } + } + export class megalonyx extends caurinus.johorensis { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } + melanogaster() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } + elaphus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } + elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } + ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } + caraccioli() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } + parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } + albipes() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } + } + export class jugularis { + torrei() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } + revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } + macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } + compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } + talpinus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } + stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } + dartmouthi() : trivirgatus.mixtus { var x : trivirgatus.mixtus; () => { var y = this; }; return x; } + ogilbyi() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } + incomtus() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } + surdaster() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } + melanorhinus() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } + picticaudata() : minutus.inez, dogramacii.kaiseri> { var x : minutus.inez, dogramacii.kaiseri>; () => { var y = this; }; return x; } + pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } + ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + } + } + module rendalli { + export class zuluensis extends julianae.steerii { + telfairi() : argurus.wetmorei { var x : argurus.wetmorei; () => { var y = this; }; return x; } + keyensis() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } + occasius() : argurus.gilbertii { var x : argurus.gilbertii; () => { var y = this; }; return x; } + damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } + Neptunium() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } + griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } + alborufus() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } + fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } + gordonorum() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } + ruber() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } + desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } + lutillus() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } + salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } + } + export class moojeni { + floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } + montosa() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } + miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } + heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; } + marchei() : panglima.amphibius> { var x : panglima.amphibius>; () => { var y = this; }; return x; } + budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } + maggietaylorae() : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } + poliocephalus() : julianae.gerbillus { var x : julianae.gerbillus; () => { var y = this; }; return x; } + zibethicus() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } + biacensis() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } + } + export class crenulata extends trivirgatus.falconeri { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + salvanius() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } + maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + edax() : lutreolus.cor>, rionegrensis.caniventer> { var x : lutreolus.cor>, rionegrensis.caniventer>; () => { var y = this; }; return x; } + } + } + module trivirgatus { + export class tumidifrons { + nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } + vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } + aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; } + improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } + cervinipes() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } + audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } + vallinus() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } + } + export class mixtus extends argurus.pygmaea> { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; } + bryophilus() : macrorhinos.marmosurus>> { var x : macrorhinos.marmosurus>>; () => { var y = this; }; return x; } + liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } + crawfordi() : howi.coludo> { var x : howi.coludo>; () => { var y = this; }; return x; } + hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } + matacus() : panglima.fundatus, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; } + demidoff() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } + } + export class lotor { + balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } + pullata() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } + } + export class falconeri { + cabrali() : rendalli.moojeni>, daubentonii.arboreus> { var x : rendalli.moojeni>, daubentonii.arboreus>; () => { var y = this; }; return x; } + gouldi() : nigra.dolichurus>, patas.uralensis> { var x : nigra.dolichurus>, patas.uralensis>; () => { var y = this; }; return x; } + fuscicollis() : samarensis.pelurus> { var x : samarensis.pelurus>; () => { var y = this; }; return x; } + martiensseni() : sagitta.cinereus>, dogramacii.koepckeae> { var x : sagitta.cinereus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } + gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } + shawi() : minutus.inez> { var x : minutus.inez>; () => { var y = this; }; return x; } + gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + } + export class oconnelli { + youngsoni() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } + terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } + chrysopus() : sagitta.sicarius> { var x : sagitta.sicarius>; () => { var y = this; }; return x; } + fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } + hellwaldii() : nigra.gracilis, petrophilus.sodyi> { var x : nigra.gracilis, petrophilus.sodyi>; () => { var y = this; }; return x; } + aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } + perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } + entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } + krebsii() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } + cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } + molossinus() : daubentonii.nigricans> { var x : daubentonii.nigricans>; () => { var y = this; }; return x; } + luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } + ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } + } + } + module quasiater { + export class bobrinskoi { + crassicaudatus() : samarensis.cahirinus { var x : samarensis.cahirinus; () => { var y = this; }; return x; } + mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } + ansorgei() : rendalli.moojeni, gabriellae.echinatus> { var x : rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } + Copper() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } + } + } + module ruatanica { + export class americanus extends imperfecta.ciliolabrum { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } + mystacalis() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } + fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } + tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } + } + } + module lavali { + export class wilsoni extends Lanthanum.nitidus { + setiger() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } + lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } + antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } + blossevillii() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } + bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } + franqueti() : panglima.amphibius, imperfecta.subspinosus> { var x : panglima.amphibius, imperfecta.subspinosus>; () => { var y = this; }; return x; } + roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } + degelidus() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + kob() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } + csorbai() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } + dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } + } + export class beisa { + } + export class otion extends howi.coludo { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } + dussumieri() : nigra.gracilis { var x : nigra.gracilis; () => { var y = this; }; return x; } + osvaldoreigi() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } + grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } + hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; } + cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } + darlingtoni() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } + fontanierii() : panamensis.setulosus>, lutreolus.foina> { var x : panamensis.setulosus>, lutreolus.foina>; () => { var y = this; }; return x; } + umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } + chiriquinus() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } + orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } + ilaeus() : caurinus.mahaganus { var x : caurinus.mahaganus; () => { var y = this; }; return x; } + musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } + } + export class xanthognathus { + nanulus() : daubentonii.nigricans { var x : daubentonii.nigricans; () => { var y = this; }; return x; } + albigena() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } + gunnii() : minutus.himalayana, nigra.thalia> { var x : minutus.himalayana, nigra.thalia>; () => { var y = this; }; return x; } + apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } + variegates() : gabriellae.klossii { var x : gabriellae.klossii; () => { var y = this; }; return x; } + goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } + pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } + ineptus() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } + euryotis() : rendalli.moojeni> { var x : rendalli.moojeni>; () => { var y = this; }; return x; } + maurisca() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } + coyhaiquensis() : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> { var x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus>; () => { var y = this; }; return x; } + } + export class thaeleri extends argurus.oreas { + ~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } + parvipes() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } + sponsorius() : rionegrensis.veraecrucis, julianae.steerii> { var x : rionegrensis.veraecrucis, julianae.steerii>; () => { var y = this; }; return x; } + vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } + roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } + rubicola() : rendalli.moojeni, gabriellae.echinatus>> { var x : rendalli.moojeni, gabriellae.echinatus>>; () => { var y = this; }; return x; } + ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } + paramicrus() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } + } + export class lepturus extends Lanthanum.suillus { + ferrumequinum() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } + aequalis() : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; } + } + } + module dogramacii { + export class robustulus extends lavali.wilsoni { + fossor() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } + humboldti() : sagitta.cinereus { var x : sagitta.cinereus; () => { var y = this; }; return x; } + mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } + martini() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } + beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } + leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } + pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } + keaysi() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } + hindei() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } + } + export class koepckeae { + culturatus() : samarensis.pelurus, julianae.sumatrana> { var x : samarensis.pelurus, julianae.sumatrana>; () => { var y = this; }; return x; } + } + export class kaiseri { + bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } + rubidus() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } + juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } + marginata() : argurus.wetmorei>> { var x : argurus.wetmorei>>; () => { var y = this; }; return x; } + Meitnerium() : ruatanica.Praseodymium> { var x : ruatanica.Praseodymium>; () => { var y = this; }; return x; } + pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + hoolock() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } + poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } + Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } + patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } + quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; } + ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + } + export class aurata { + grunniens() : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; } + howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } + karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } + mirapitanga() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } + ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; } + landeri() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } + sonomae() : trivirgatus.lotor, koepckeae> { var x : trivirgatus.lotor, koepckeae>; () => { var y = this; }; return x; } + erythromos() : caurinus.johorensis, nigra.dolichurus> { var x : caurinus.johorensis, nigra.dolichurus>; () => { var y = this; }; return x; } + } + } + module lutreolus { + export class schlegeli extends lavali.beisa { + mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } + blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } + culionensis() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } + scrofa() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } + fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } + Tin() : sagitta.leptoceros> { var x : sagitta.leptoceros>; () => { var y = this; }; return x; } + marmorata() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } + tavaratra() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } + peregrina() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } + frontalis() : macrorhinos.marmosurus>, samarensis.pallidus> { var x : macrorhinos.marmosurus>, samarensis.pallidus>; () => { var y = this; }; return x; } + cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; } + magdalenae() : julianae.gerbillus> { var x : julianae.gerbillus>; () => { var y = this; }; return x; } + andamanensis() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } + dispar() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } + } + } + module argurus { + export class dauricus { + chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } + duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } + foxi() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } + macleayii() : petrophilus.sodyi>, petrophilus.minutilla> { var x : petrophilus.sodyi>, petrophilus.minutilla>; () => { var y = this; }; return x; } + darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } + hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } + albifrons() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } + jacobitus() : caurinus.johorensis>> { var x : caurinus.johorensis>>; () => { var y = this; }; return x; } + guentheri() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } + mahomet() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } + misionensis() : macrorhinos.marmosurus, gabriellae.echinatus> { var x : macrorhinos.marmosurus, gabriellae.echinatus>; () => { var y = this; }; return x; } + } + } + module nigra { + export class dolichurus { + solomonis() : panglima.abidi, argurus.netscheri, julianae.oralis>>> { var x : panglima.abidi, argurus.netscheri, julianae.oralis>>>; () => { var y = this; }; return x; } + alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } + morrisi() : ruatanica.hector, quasiater.wattsi>>> { var x : ruatanica.hector, quasiater.wattsi>>>; () => { var y = this; }; return x; } + lekaguli() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } + dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } + phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } + ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } + sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } + } + } + module panglima { + export class amphibius extends caurinus.johorensis, Lanthanum.jugularis> { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + bottegi(): macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } + jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } + camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } + spadix(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + luismanueli(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } + aceramarcae(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + } + export class fundatus extends lutreolus.schlegeli { + crassulus(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + flamarioni(): imperfecta.lasiurus>, sagitta.leptoceros>> { var x: imperfecta.lasiurus>, sagitta.leptoceros>>; () => { var y = this; }; return x; } + mirabilis(): macrorhinos.marmosurus, lavali.lepturus> { var x: macrorhinos.marmosurus, lavali.lepturus>; () => { var y = this; }; return x; } + } + export class abidi extends argurus.dauricus { + greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } + galili(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } + ega(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } + } + } + module quasiater { + export class carolinensis { + concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } + aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } + aloysiisabaudiae(): argurus.netscheri, lavali.lepturus> { var x: argurus.netscheri, lavali.lepturus>; () => { var y = this; }; return x; } + tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } + andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } + persephone(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } + patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } + } + } + module minutus { + export class himalayana extends lutreolus.punicus { + ~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + simoni(): argurus.netscheri> { var x: argurus.netscheri>; () => { var y = this; }; return x; } + lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } + rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } + latona(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } + famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } + flaviceps(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } + paradoxolophus(): nigra.dolichurus> { var x: nigra.dolichurus>; () => { var y = this; }; return x; } + Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + vulgaris(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } + betsileoensis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } + vespuccii(): argurus.gilbertii, provocax.melanoleuca> { var x: argurus.gilbertii, provocax.melanoleuca>; () => { var y = this; }; return x; } + olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } + } + } + module caurinus { + export class mahaganus extends panglima.fundatus { + martiniquensis(): ruatanica.hector>> { var x: ruatanica.hector>>; () => { var y = this; }; return x; } + devius(): samarensis.pelurus, trivirgatus.falconeri>> { var x: samarensis.pelurus, trivirgatus.falconeri>>; () => { var y = this; }; return x; } + masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + kathleenae(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } + simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } + nigrovittatus(): caurinus.mahaganus>> { var x: caurinus.mahaganus>>; () => { var y = this; }; return x; } + senegalensis(): gabriellae.klossii, dammermani.melanops> { var x: gabriellae.klossii, dammermani.melanops>; () => { var y = this; }; return x; } + acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } + } + } + module macrorhinos { + export class marmosurus { + tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + } + } + module howi { + export class angulatus extends sagitta.stolzmanni { + ~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } + } + } + module daubentonii { + export class nesiotes { + } + } + module nigra { + export class thalia { + dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + arnuxii(): panamensis.linulus, lavali.beisa> { var x: panamensis.linulus, lavali.beisa>; () => { var y = this; }; return x; } + verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } + dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; } + tristriatus(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } + lasiura(): panglima.abidi>, Lanthanum.nitidus> { var x: panglima.abidi>, Lanthanum.nitidus>; () => { var y = this; }; return x; } + gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } + brucei(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + } + } + module sagitta { + export class walkeri extends minutus.portoricensis { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + maracajuensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + } + } + module minutus { + export class inez extends samarensis.pelurus { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + vexillaris(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + } + } + module macrorhinos { + export class konganensis extends imperfecta.lasiurus { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + } + } + module panamensis { + export class linulus extends ruatanica.hector> { + goslingi(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } + fumosus(): rendalli.moojeni, lavali.beisa> { var x: rendalli.moojeni, lavali.beisa>; () => { var y = this; }; return x; } + rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } + lami(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } + regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + nanilla(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } + enganus(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + gomantongensis(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } + } + } + module nigra { + export class gracilis { + weddellii(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } + echinothrix(): Lanthanum.nitidus, argurus.oreas> { var x: Lanthanum.nitidus, argurus.oreas>; () => { var y = this; }; return x; } + garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } + rouxii(): nigra.gracilis, nigra.thalia> { var x: nigra.gracilis, nigra.thalia>; () => { var y = this; }; return x; } + aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } + theresa(): macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus> { var x: macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus>; () => { var y = this; }; return x; } + melanocarpus(): julianae.albidens, julianae.sumatrana> { var x: julianae.albidens, julianae.sumatrana>; () => { var y = this; }; return x; } + dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } + pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } + apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } + grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } + ramirohitra(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } + } + } + module samarensis { + export class pelurus extends sagitta.stolzmanni { + ~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + Palladium(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } + castanea(): argurus.netscheri, julianae.oralis> { var x: argurus.netscheri, julianae.oralis>; () => { var y = this; }; return x; } + chamek(): argurus.pygmaea { var x: argurus.pygmaea; () => { var y = this; }; return x; } + nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + lunatus(): pelurus { var x: pelurus; () => { var y = this; }; return x; } + madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } + chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } + eliasi(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } + proditor(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } + gambianus(): quasiater.wattsi> { var x: quasiater.wattsi>; () => { var y = this; }; return x; } + petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } + nusatenggara(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } + olitor(): rionegrensis.veraecrucis { var x: rionegrensis.veraecrucis; () => { var y = this; }; return x; } + } + export class fuscus extends macrorhinos.daphaenodon { + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + planifrons(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } + prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } + natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } + hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; } + sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; } + macrocercus(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } + nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + suricatta(): daubentonii.nigricans { var x: daubentonii.nigricans; () => { var y = this; }; return x; } + jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } + beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + imaizumii(): minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; } + colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; } + wolfi(): petrophilus.rosalia> { var x: petrophilus.rosalia>; () => { var y = this; }; return x; } + } + export class pallidus { + oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } + watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + glacialis(): sagitta.cinereus, quasiater.wattsi>> { var x: sagitta.cinereus, quasiater.wattsi>>; () => { var y = this; }; return x; } + viaria(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + } + export class cahirinus { + alashanicus(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } + flaviventer(): trivirgatus.tumidifrons> { var x: trivirgatus.tumidifrons>; () => { var y = this; }; return x; } + bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } + pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + saussurei(): rendalli.crenulata, argurus.netscheri, julianae.oralis>> { var x: rendalli.crenulata, argurus.netscheri, julianae.oralis>>; () => { var y = this; }; return x; } + } + } + module sagitta { + export class leptoceros extends caurinus.johorensis> { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } + hoplomyoides(): panglima.fundatus, nigra.gracilis> { var x: panglima.fundatus, nigra.gracilis>; () => { var y = this; }; return x; } + gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } + rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + bolami(): trivirgatus.tumidifrons { var x: trivirgatus.tumidifrons; () => { var y = this; }; return x; } + } + } + module daubentonii { + export class nigricans extends sagitta.stolzmanni { + ~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } + } + } + module dammermani { + export class siberu { + } + } + module argurus { + export class pygmaea extends rendalli.moojeni { + pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } + capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } + cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } + } + } + module chrysaeolus { + export class sarasinorum extends caurinus.psilurus { + ~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } + hinpoon(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } + kandti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } + cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } + Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } + Ununoctium(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } + } + } + module argurus { + export class wetmorei { + leucoptera(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } + ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } + tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } + cracens(): argurus.gilbertii { var x: argurus.gilbertii; () => { var y = this; }; return x; } + jamaicensis(): nigra.thalia> { var x: nigra.thalia>; () => { var y = this; }; return x; } + gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } + mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + } + } + module argurus { + export class oreas extends lavali.wilsoni { + salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } + paniscus(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } + fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + papuanus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } + timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } + nghetinhensis(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } + barbei(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } + } + } + module daubentonii { + export class arboreus { + capreolus(): rendalli.crenulata, lavali.wilsoni> { var x: rendalli.crenulata, lavali.wilsoni>; () => { var y = this; }; return x; } + moreni(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } + hypoleucos(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } + pucheranii(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } + stella(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } + brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } + brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } + huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } + cameroni(): petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> { var x: petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus>; () => { var y = this; }; return x; } + tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } + } + } + module patas { + export class uralensis { + cartilagonodus(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } + pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } + insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } + nigricauda(): caurinus.johorensis, Lanthanum.jugularis> { var x: caurinus.johorensis, Lanthanum.jugularis>; () => { var y = this; }; return x; } + muricauda(): panglima.fundatus> { var x: panglima.fundatus>; () => { var y = this; }; return x; } + albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + fallax(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } + attenuata(): macrorhinos.marmosurus> { var x: macrorhinos.marmosurus>; () => { var y = this; }; return x; } + megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } + neblina(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } + citellus(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + tanezumi(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } + albiventer(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } + } + } + module provocax { + export class melanoleuca extends lavali.wilsoni { + Neodymium(): macrorhinos.marmosurus, lutreolus.foina> { var x: macrorhinos.marmosurus, lutreolus.foina>; () => { var y = this; }; return x; } + baeri(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } + } + } + module sagitta { + export class sicarius { + Chlorine(): samarensis.cahirinus, dogramacii.robustulus> { var x: samarensis.cahirinus, dogramacii.robustulus>; () => { var y = this; }; return x; } + simulator(): macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; } + } + } + module howi { + export class marcanoi extends Lanthanum.megalonyx { + formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } + dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + leander(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } + martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } + beatrix(): imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> { var x: imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>>; () => { var y = this; }; return x; } + griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + zerda(): quasiater.wattsi, howi.coludo>> { var x: quasiater.wattsi, howi.coludo>>; () => { var y = this; }; return x; } + yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } + nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } + jouvenetae(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } + indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } + vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } + Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } + hyaena(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } + } + } + module argurus { + export class gilbertii { + nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } + poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } + sondaicus(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } + auriventer(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } + cherriei(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } + lindberghi(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } + pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + dubosti(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } + opossum(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } + oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } + amurensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + } + } + module petrophilus { + export class minutilla { + } + } + module lutreolus { + export class punicus { + strandi(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } + lar(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } + erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } + trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } + lemniscatus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } + aspalax(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } + marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } + Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } + monochromos(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } + purinus(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } + ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } + tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } + Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; } + } + } + module macrorhinos { + export class daphaenodon { + bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } + othus(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } + hammondi(): julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; } + aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } + callosus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } + } + } + module sagitta { + export class cinereus { + zunigae(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } + microps(): daubentonii.nigricans> { var x: daubentonii.nigricans>; () => { var y = this; }; return x; } + guaporensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + tonkeana(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } + montensis(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } + sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } + glis(): argurus.wetmorei { var x: argurus.wetmorei; () => { var y = this; }; return x; } + dorsalis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } + sara(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + pittieri(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } + } + } + module nigra { + export class caucasica { + } + } + module gabriellae { + export class klossii extends imperfecta.lasiurus { + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2690: A class must be declared after its base class. + } + export class amicus { + pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } + phaeura(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } + voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } + satarae(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } + hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } + perrensi(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } + ridei(): ruatanica.hector> { var x: ruatanica.hector>; () => { var y = this; }; return x; } + audeberti(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } + Lutetium(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } + atrox(): samarensis.fuscus, dogramacii.koepckeae> { var x: samarensis.fuscus, dogramacii.koepckeae>; () => { var y = this; }; return x; } + } + export class echinatus { + tenuipes(): howi.coludo> { var x: howi.coludo>; () => { var y = this; }; return x; } + } + } + module imperfecta { + export class lasiurus { + marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } + fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } + paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } + didactylus(): panglima.abidi> { var x: panglima.abidi>; () => { var y = this; }; return x; } + schreibersii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } + } + export class subspinosus { + monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } + Gadolinium(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } + oasicus(): caurinus.johorensis> { var x: caurinus.johorensis>; () => { var y = this; }; return x; } + paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } + invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } + siskiyou(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } + welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } + Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } + } + export class ciliolabrum extends dogramacii.robustulus { + leschenaultii(): argurus.dauricus> { var x: argurus.dauricus>; () => { var y = this; }; return x; } + ludia(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } + sinicus(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } + } + } + module quasiater { + export class wattsi { + lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } + hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + bilarni(): samarensis.cahirinus>, dogramacii.koepckeae> { var x: samarensis.cahirinus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } + cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } + } + } + module butleri { + } + module petrophilus { + export class sodyi extends quasiater.bobrinskoi { + saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } + imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } + Lawrencium(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } + catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + breviceps(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } + transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } + heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } + bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } + } + } + module caurinus { + export class megaphyllus extends imperfecta.lasiurus> { + montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } + bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } + lepida(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } + graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } + forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } + perotensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + } + } + module minutus { + export class portoricensis { + relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + aequatorianus(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } + rhinogradoides(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } + } + } + module lutreolus { + export class foina { + tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + Promethium(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } + salinae(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } + kerri(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } + scotti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } + camerunensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } + affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } + siebersi(): trivirgatus.lotor> { var x: trivirgatus.lotor>; () => { var y = this; }; return x; } + maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + layardi(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } + bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } + apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } + argentiventer(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } + } + } + module lutreolus { + export class cor extends panglima.fundatus, lavali.beisa>, dammermani.melanops> { + antinorii(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + voi(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } + mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + truncatus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } + achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } + praedatrix(): howi.angulatus { var x: howi.angulatus; () => { var y = this; }; return x; } + mzabi(): quasiater.wattsi, minutus.inez> { var x: quasiater.wattsi, minutus.inez>; () => { var y = this; }; return x; } + xanthinus(): nigra.gracilis, howi.marcanoi> { var x: nigra.gracilis, howi.marcanoi>; () => { var y = this; }; return x; } + tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } + castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } + } + } + module howi { + export class coludo { + bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } + isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } + } + } + module argurus { + export class germaini extends gabriellae.amicus { + sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + palmarum(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } + } + } + module sagitta { + export class stolzmanni { + riparius(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } + dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } + tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } + gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } + walleri(): rendalli.moojeni, gabriellae.echinatus> { var x: rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } + talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } + pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } + lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } + hipposideros(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } + griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } + florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } + } + } + module dammermani { + export class melanops extends minutus.inez { + blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } + harwoodi(): rionegrensis.veraecrucis, lavali.wilsoni> { var x: rionegrensis.veraecrucis, lavali.wilsoni>; () => { var y = this; }; return x; } + ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } + wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } + godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } + condorensis(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } + xerophila(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } + laminatus(): panglima.fundatus>> { var x: panglima.fundatus>>; () => { var y = this; }; return x; } + archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } + hidalgo(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } + unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } + philippii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } + bocagei(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } + } + } + module argurus { + export class peninsulae extends patas.uralensis { + aitkeni(): trivirgatus.mixtus, panglima.amphibius> { var x: trivirgatus.mixtus, panglima.amphibius>; () => { var y = this; }; return x; } + novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } + olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } + anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } + timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } + sordidus(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } + telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } + cavernarum(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } + } + } + module argurus { + export class netscheri { + gravis(): nigra.caucasica, dogramacii.kaiseri> { var x: nigra.caucasica, dogramacii.kaiseri>; () => { var y = this; }; return x; } + ruschii(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } + tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } + fernandezi(): dammermani.siberu, panglima.abidi> { var x: dammermani.siberu, panglima.abidi>; () => { var y = this; }; return x; } + colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } + microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } + eburneae(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } + tatei(): argurus.pygmaea> { var x: argurus.pygmaea>; () => { var y = this; }; return x; } + millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } + pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } + delator(): argurus.netscheri { var x: argurus.netscheri; () => { var y = this; }; return x; } + nyikae(): trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; } + ruemmleri(): panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> { var x: panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } + } + } + module ruatanica { + export class Praseodymium extends ruatanica.hector { + clara(): panglima.amphibius, argurus.dauricus> { var x: panglima.amphibius, argurus.dauricus>; () => { var y = this; }; return x; } + spectabilis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + kamensis(): trivirgatus.lotor, lavali.lepturus> { var x: trivirgatus.lotor, lavali.lepturus>; () => { var y = this; }; return x; } + ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } + bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } + yerbabuenae(): dammermani.siberu, imperfecta.ciliolabrum> { var x: dammermani.siberu, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } + davidi(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } + pilirostris(): argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> { var x: argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis>; () => { var y = this; }; return x; } + catherinae(): imperfecta.lasiurus, petrophilus.sodyi> { var x: imperfecta.lasiurus, petrophilus.sodyi>; () => { var y = this; }; return x; } + frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } + Terbium(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } + thomensis(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } + soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } + } + } + module caurinus { + export class johorensis extends lutreolus.punicus { + maini(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } + } + } + module argurus { + export class luctuosa { + loriae(): rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; } + } + } + module panamensis { + export class setulosus { + duthieae(): caurinus.mahaganus, dogramacii.aurata> { var x: caurinus.mahaganus, dogramacii.aurata>; () => { var y = this; }; return x; } + guereza(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } + buselaphus(): daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> { var x: daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus>; () => { var y = this; }; return x; } + nuttalli(): sagitta.cinereus, chrysaeolus.sarasinorum> { var x: sagitta.cinereus, chrysaeolus.sarasinorum>; () => { var y = this; }; return x; } + pelii(): rendalli.crenulata, julianae.steerii> { var x: rendalli.crenulata, julianae.steerii>; () => { var y = this; }; return x; } + tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } + lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } + vampyrus(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } + } + } + module petrophilus { + export class rosalia { + palmeri(): panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> { var x: panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>>; () => { var y = this; }; return x; } + baeops(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } + ozensis(): imperfecta.lasiurus, lutreolus.foina> { var x: imperfecta.lasiurus, lutreolus.foina>; () => { var y = this; }; return x; } + creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } + montivaga(): panamensis.setulosus> { var x: panamensis.setulosus>; () => { var y = this; }; return x; } + } + } + module caurinus { + export class psilurus extends lutreolus.punicus { + socialis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } + lundi(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } + araeum(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } + calamianensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } + petersoni(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } + nitela(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols deleted file mode 100644 index a4761973db1..00000000000 --- a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.symbols +++ /dev/null @@ -1,13052 +0,0 @@ -=== tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts === -module rionegrensis { ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) - - export class caniventer extends Lanthanum.nitidus { ->caniventer : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum.nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) - - salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } ->salomonseni : Symbol(caniventer.salomonseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1, 96)) ->caniventer : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 36)) ->caniventer : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 64)) ->this : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 36)) - - uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->uchidai : Symbol(caniventer.uchidai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 2, 89)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 42)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 80)) ->this : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 42)) - - raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->raffrayana : Symbol(caniventer.raffrayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 3, 105)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 37)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 67)) ->this : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 37)) - - Uranium() : minutus.inez, trivirgatus.falconeri> { var x : minutus.inez, trivirgatus.falconeri>; () => { var y = this; }; return x; } ->Uranium : Symbol(caniventer.Uranium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 4, 92)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 112)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 220)) ->this : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 112)) - - nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->nayaur : Symbol(caniventer.nayaur, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 5, 245)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 6, 38)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 6, 73)) ->this : Symbol(caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 6, 38)) - } - export class veraecrucis extends trivirgatus.mixtus { ->veraecrucis : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 8, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 8, 30)) ->trivirgatus.mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - naso() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->naso : Symbol(veraecrucis.naso, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 8, 101)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 115)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 229)) ->this : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 115)) - - vancouverensis() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->vancouverensis : Symbol(veraecrucis.vancouverensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 9, 254)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 86)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 161)) ->this : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 86)) - - africana() : argurus.gilbertii, sagitta.cinereus> { var x : argurus.gilbertii, sagitta.cinereus>; () => { var y = this; }; return x; } ->africana : Symbol(veraecrucis.africana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 10, 186)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 147)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 289)) ->this : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 147)) - - palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->palliolata : Symbol(veraecrucis.palliolata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 11, 314)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 44)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 81)) ->this : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 44)) - - nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->nivicola : Symbol(veraecrucis.nivicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 12, 106)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 13, 42)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 13, 79)) ->this : Symbol(veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 13, 42)) - } -} -module julianae { ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) - - export class steerii { ->steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) - } - export class nudicaudus { ->nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) - - brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; } ->brandtii : Symbol(nudicaudus.brandtii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 19, 27)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 39)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 73)) ->this : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 39)) - - maxwellii() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maxwellii : Symbol(nudicaudus.maxwellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 20, 98)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 88)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 170)) ->this : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 88)) - - endoi() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->endoi : Symbol(nudicaudus.endoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 21, 195)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 70)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 138)) ->this : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 70)) - - venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->venezuelae : Symbol(nudicaudus.venezuelae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 22, 163)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 38)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 69)) ->this : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 38)) - - zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->zamicrus : Symbol(nudicaudus.zamicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 23, 94)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 24, 46)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 24, 87)) ->this : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 24, 46)) - } - export class galapagoensis { ->galapagoensis : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) - - isabellae() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->isabellae : Symbol(galapagoensis.isabellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 26, 30)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 84)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 162)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 84)) - - rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->rueppellii : Symbol(galapagoensis.rueppellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 27, 187)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 45)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 83)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 45)) - - peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->peregusna : Symbol(galapagoensis.peregusna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 28, 108)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 42)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 78)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 42)) - - gliroides() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->gliroides : Symbol(galapagoensis.gliroides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 29, 103)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 66)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 126)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 66)) - - banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->banakrisi : Symbol(galapagoensis.banakrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 30, 151)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 47)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 88)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 47)) - - rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->rozendaali : Symbol(galapagoensis.rozendaali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 31, 113)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 40)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 73)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 40)) - - stuhlmanni() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->stuhlmanni : Symbol(galapagoensis.stuhlmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 32, 98)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 33, 87)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 33, 167)) ->this : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 33, 87)) - } - export class albidens { ->albidens : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 27)) - - mattheyi() : samarensis.fuscus> { var x : samarensis.fuscus>; () => { var y = this; }; return x; } ->mattheyi : Symbol(albidens.mattheyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 35, 33)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 126)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 247)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 126)) - - Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; } ->Astatine : Symbol(albidens.Astatine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 36, 272)) ->steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 30)) ->steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 55)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 30)) - - vincenti() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->vincenti : Symbol(albidens.vincenti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 37, 80)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 81)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 157)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 81)) - - hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->hirta : Symbol(albidens.hirta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 38, 182)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 39)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 76)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 39)) - - virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; } ->virginianus : Symbol(albidens.virginianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 39, 101)) ->durangae : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 34)) ->durangae : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 60)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 34)) - - macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->macrophyllum : Symbol(albidens.macrophyllum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 40, 85)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 40)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 71)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 40)) - - porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->porcellus : Symbol(albidens.porcellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 41, 96)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 42, 44)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 42, 82)) ->this : Symbol(albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 42, 44)) - } - export class oralis extends caurinus.psilurus { ->oralis : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 44, 22)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 44, 25)) ->caurinus.psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) - - cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->cepapi : Symbol(oralis.cepapi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 44, 57)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 38)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 73)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 38)) - - porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->porteri : Symbol(oralis.porteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 45, 98)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 37)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 70)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 37)) - - bindi() : caurinus.mahaganus> { var x : caurinus.mahaganus>; () => { var y = this; }; return x; } ->bindi : Symbol(oralis.bindi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 46, 95)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 119)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 236)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 119)) - - puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->puda : Symbol(oralis.puda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 47, 261)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 37)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 73)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 37)) - - mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->mindorensis : Symbol(oralis.mindorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 48, 98)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 47)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 86)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 47)) - - ignitus() : petrophilus.rosalia, lavali.wilsoni> { var x : petrophilus.rosalia, lavali.wilsoni>; () => { var y = this; }; return x; } ->ignitus : Symbol(oralis.ignitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 49, 111)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 110)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->steerii : Symbol(steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 216)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 110)) - - rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; } ->rufus : Symbol(oralis.rufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 50, 241)) ->nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 30)) ->nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 58)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 30)) - - monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->monax : Symbol(oralis.monax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 51, 83)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 42)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 82)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 42)) - - unalascensis() : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; } ->unalascensis : Symbol(oralis.unalascensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 52, 107)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 160)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 311)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 160)) - - wuchihensis() : howi.angulatus, petrophilus.minutilla> { var x : howi.angulatus, petrophilus.minutilla>; () => { var y = this; }; return x; } ->wuchihensis : Symbol(oralis.wuchihensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 53, 336)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 123)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 238)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 123)) - - leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->leucippe : Symbol(oralis.leucippe, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 54, 263)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 35)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 65)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 35)) - - ordii() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->ordii : Symbol(oralis.ordii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 55, 90)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 78)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 154)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 78)) - - eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->eisentrauti : Symbol(oralis.eisentrauti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 56, 179)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 57, 44)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 57, 80)) ->this : Symbol(oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 57, 44)) - } - export class sumatrana extends Lanthanum.jugularis { ->sumatrana : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->Lanthanum.jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) - - wolffsohni() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->wolffsohni : Symbol(sumatrana.wolffsohni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 59, 54)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 87)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 167)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 87)) - - geata() : ruatanica.hector { var x : ruatanica.hector; () => { var y = this; }; return x; } ->geata : Symbol(sumatrana.geata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 60, 192)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->sumatrana : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 69)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->sumatrana : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 136)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 69)) - - awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->awashensis : Symbol(sumatrana.awashensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 61, 161)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 46)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 85)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 46)) - - sturdeei() : lutreolus.cor { var x : lutreolus.cor; () => { var y = this; }; return x; } ->sturdeei : Symbol(sumatrana.sturdeei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 62, 110)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->galapagoensis : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 72)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->galapagoensis : Symbol(galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 139)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 72)) - - pachyurus() : howi.angulatus> { var x : howi.angulatus>; () => { var y = this; }; return x; } ->pachyurus : Symbol(sumatrana.pachyurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 63, 164)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->gerbillus : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 109)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->gerbillus : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 212)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 109)) - - lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->lyelli : Symbol(sumatrana.lyelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 64, 237)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 41)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 79)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 41)) - - neohibernicus() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->neohibernicus : Symbol(sumatrana.neohibernicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 65, 104)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 66, 83)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 66, 156)) ->this : Symbol(sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 66, 83)) - } - export class gerbillus { ->gerbillus : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 28)) - - pundti() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->pundti : Symbol(gerbillus.pundti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 68, 34)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 78)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 153)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 78)) - - tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->tristrami : Symbol(gerbillus.tristrami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 69, 178)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 45)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 84)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 45)) - - swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->swarthi : Symbol(gerbillus.swarthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 70, 109)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 37)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 70)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 37)) - - horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->horsfieldii : Symbol(gerbillus.horsfieldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 71, 95)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 47)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 86)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 47)) - - diazi() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->diazi : Symbol(gerbillus.diazi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 72, 111)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 77)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 152)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 77)) - - rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->rennelli : Symbol(gerbillus.rennelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 73, 177)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 39)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 73)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 39)) - - maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->maulinus : Symbol(gerbillus.maulinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 74, 98)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 38)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 71)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 38)) - - muscina() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->muscina : Symbol(gerbillus.muscina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 75, 96)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 85)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 166)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 85)) - - pelengensis() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->pelengensis : Symbol(gerbillus.pelengensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 76, 191)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 85)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 162)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 85)) - - abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->abramus : Symbol(gerbillus.abramus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 77, 187)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 37)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 70)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 37)) - - reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->reevesi : Symbol(gerbillus.reevesi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 78, 95)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 79, 42)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 79, 80)) ->this : Symbol(gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 79, 42)) - } - export class acariensis { ->acariensis : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) - - levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->levicula : Symbol(acariensis.levicula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 81, 27)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 38)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 71)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 38)) - - minous() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->minous : Symbol(acariensis.minous, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 82, 96)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 75)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 147)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 75)) - - cinereiventer() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->cinereiventer : Symbol(acariensis.cinereiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 83, 172)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 79)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 148)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 79)) - - longicaudatus() : macrorhinos.marmosurus> { var x : macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->longicaudatus : Symbol(acariensis.longicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 84, 173)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 117)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->nudicaudus : Symbol(nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 224)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 117)) - - baeodon() : argurus.netscheri, argurus.luctuosa> { var x : argurus.netscheri, argurus.luctuosa>; () => { var y = this; }; return x; } ->baeodon : Symbol(acariensis.baeodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 85, 249)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 114)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 224)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 114)) - - soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->soricoides : Symbol(acariensis.soricoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 86, 249)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 41)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 75)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 41)) - - datae() : daubentonii.arboreus> { var x : daubentonii.arboreus>; () => { var y = this; }; return x; } ->datae : Symbol(acariensis.datae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 87, 100)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 124)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 246)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 124)) - - spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->spixii : Symbol(acariensis.spixii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 88, 271)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 43)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 83)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 43)) - - anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->anakuma : Symbol(acariensis.anakuma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 89, 108)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 36)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 68)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 36)) - - kihaulei() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->kihaulei : Symbol(acariensis.kihaulei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 90, 93)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 89)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 173)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 89)) - - gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->gymnura : Symbol(acariensis.gymnura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 91, 198)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 44)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 84)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 44)) - - olchonensis() : rendalli.crenulata { var x : rendalli.crenulata; () => { var y = this; }; return x; } ->olchonensis : Symbol(acariensis.olchonensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 92, 109)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 93, 89)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 93, 170)) ->this : Symbol(acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 93, 89)) - } - export class durangae extends dogramacii.aurata { ->durangae : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->dogramacii.aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) - - Californium() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->Californium : Symbol(durangae.Californium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 95, 51)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 86)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 164)) ->this : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 86)) - - Flerovium() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->Flerovium : Symbol(durangae.Flerovium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 96, 189)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 83)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 160)) ->this : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 83)) - - phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->phrudus : Symbol(durangae.phrudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 97, 185)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 98, 40)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 98, 76)) ->this : Symbol(durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 98, 40)) - } -} -module ruatanica { ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) - - export class hector { ->hector : Symbol(hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 22)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 25)) - - humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->humulis : Symbol(hector.humulis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 102, 31)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 38)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 72)) ->this : Symbol(hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 38)) - - eurycerus() : panamensis.linulus, lavali.wilsoni> { var x : panamensis.linulus, lavali.wilsoni>; () => { var y = this; }; return x; } ->eurycerus : Symbol(hector.eurycerus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 103, 97)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 104, 124)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 104, 242)) ->this : Symbol(hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 104, 124)) - } -} -module Lanthanum { ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) - - export class suillus { ->suillus : Symbol(suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 23)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 26)) - - spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->spilosoma : Symbol(suillus.spilosoma, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 108, 32)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 46)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 86)) ->this : Symbol(suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 46)) - - tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; } ->tumbalensis : Symbol(suillus.tumbalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 109, 111)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 46)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 84)) ->this : Symbol(suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 46)) - - anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->anatolicus : Symbol(suillus.anatolicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 110, 109)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 111, 41)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 111, 75)) ->this : Symbol(suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 111, 41)) - } - export class nitidus extends argurus.gilbertii { ->nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 113, 23)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 113, 26)) ->argurus.gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->granatensis : Symbol(nitidus.granatensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 113, 94)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 46)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 84)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 46)) - - negligens() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->negligens : Symbol(nitidus.negligens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 114, 109)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 68)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 130)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 68)) - - lewisi() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->lewisi : Symbol(nitidus.lewisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 115, 155)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 73)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 143)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 73)) - - arge() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->arge : Symbol(nitidus.arge, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 116, 168)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 86)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 171)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 86)) - - dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->dominicensis : Symbol(nitidus.dominicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 117, 196)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 46)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 83)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 46)) - - taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->taurus : Symbol(nitidus.taurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 118, 108)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 44)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 85)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 44)) - - tonganus() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->tonganus : Symbol(nitidus.tonganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 119, 110)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 78)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 151)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 78)) - - silvatica() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->silvatica : Symbol(nitidus.silvatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 120, 176)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 73)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 140)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 73)) - - midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->midas : Symbol(nitidus.midas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 121, 165)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 78)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 40)) - - bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->bicornis : Symbol(nitidus.bicornis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 122, 103)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 123, 41)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 123, 77)) ->this : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 123, 41)) - } - export class megalonyx extends caurinus.johorensis { ->megalonyx : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->caurinus.johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) - - phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->phillipsii : Symbol(megalonyx.phillipsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 125, 94)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 48)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 89)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 48)) - - melanogaster() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->melanogaster : Symbol(megalonyx.melanogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 126, 114)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 98)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 187)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 98)) - - elaphus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->elaphus : Symbol(megalonyx.elaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 127, 212)) ->nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 72)) ->nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 140)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 72)) - - elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->elater : Symbol(megalonyx.elater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 128, 165)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 36)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 69)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 36)) - - ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->ourebi : Symbol(megalonyx.ourebi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 129, 94)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 41)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 79)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 41)) - - caraccioli() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->caraccioli : Symbol(megalonyx.caraccioli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 130, 104)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 130)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 253)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 130)) - - parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->parva : Symbol(megalonyx.parva, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 131, 278)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 40)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 78)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 40)) - - albipes() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->albipes : Symbol(megalonyx.albipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 132, 103)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->megalonyx : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 133, 70)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->megalonyx : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 133, 136)) ->this : Symbol(megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 133, 70)) - } - export class jugularis { ->jugularis : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) - - torrei() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->torrei : Symbol(jugularis.torrei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 135, 26)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 78)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 153)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 78)) - - revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->revoili : Symbol(jugularis.revoili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 136, 178)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 36)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 68)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 36)) - - macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->macrobullatus : Symbol(jugularis.macrobullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 137, 93)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 51)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 92)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 51)) - - compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->compactus : Symbol(jugularis.compactus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 138, 117)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 42)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 78)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 42)) - - talpinus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->talpinus : Symbol(jugularis.talpinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 139, 103)) ->nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 72)) ->nitidus : Symbol(nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 139)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 72)) - - stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->stramineus : Symbol(jugularis.stramineus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 140, 164)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 42)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 77)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 42)) - - dartmouthi() : trivirgatus.mixtus { var x : trivirgatus.mixtus; () => { var y = this; }; return x; } ->dartmouthi : Symbol(jugularis.dartmouthi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 141, 102)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 86)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 165)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 86)) - - ogilbyi() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->ogilbyi : Symbol(jugularis.ogilbyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 142, 190)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 77)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 150)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 77)) - - incomtus() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->incomtus : Symbol(jugularis.incomtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 143, 175)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 87)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 169)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 87)) - - surdaster() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->surdaster : Symbol(jugularis.surdaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 144, 194)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 86)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 166)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 86)) - - melanorhinus() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->melanorhinus : Symbol(jugularis.melanorhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 145, 191)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 86)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 163)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 86)) - - picticaudata() : minutus.inez, dogramacii.kaiseri> { var x : minutus.inez, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->picticaudata : Symbol(jugularis.picticaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 146, 188)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 118)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 227)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 118)) - - pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->pomona : Symbol(jugularis.pomona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 147, 252)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 37)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 71)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 37)) - - ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->ileile : Symbol(jugularis.ileile, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 148, 96)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 149, 43)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 149, 83)) ->this : Symbol(jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 149, 43)) - } -} -module rendalli { ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) - - export class zuluensis extends julianae.steerii { ->zuluensis : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->julianae.steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) - - telfairi() : argurus.wetmorei { var x : argurus.wetmorei; () => { var y = this; }; return x; } ->telfairi : Symbol(zuluensis.telfairi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 153, 51)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 82)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 159)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 82)) - - keyensis() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->keyensis : Symbol(zuluensis.keyensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 154, 184)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 80)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 155)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 80)) - - occasius() : argurus.gilbertii { var x : argurus.gilbertii; () => { var y = this; }; return x; } ->occasius : Symbol(zuluensis.occasius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 155, 180)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 81)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 157)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 81)) - - damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->damarensis : Symbol(zuluensis.damarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 156, 182)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 87)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 47)) - - Neptunium() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->Neptunium : Symbol(zuluensis.Neptunium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 157, 112)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 78)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 150)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 78)) - - griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->griseoflavus : Symbol(zuluensis.griseoflavus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 158, 175)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 47)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 85)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 47)) - - thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->thar : Symbol(zuluensis.thar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 159, 110)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 32)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 63)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 32)) - - alborufus() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->alborufus : Symbol(zuluensis.alborufus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 160, 88)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 74)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 142)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 74)) - - fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->fusicaudus : Symbol(zuluensis.fusicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 161, 167)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 43)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 79)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 43)) - - gordonorum() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->gordonorum : Symbol(zuluensis.gordonorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 162, 104)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 79)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 151)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 79)) - - ruber() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->ruber : Symbol(zuluensis.ruber, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 163, 176)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 77)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 152)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 77)) - - desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->desmarestianus : Symbol(zuluensis.desmarestianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 164, 177)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 45)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 79)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 45)) - - lutillus() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->lutillus : Symbol(zuluensis.lutillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 165, 104)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 70)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 135)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 70)) - - salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->salocco : Symbol(zuluensis.salocco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 166, 160)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 167, 40)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 167, 76)) ->this : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 167, 40)) - } - export class moojeni { ->moojeni : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 23)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 26)) - - floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->floweri : Symbol(moojeni.floweri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 169, 32)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 34)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 64)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 34)) - - montosa() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->montosa : Symbol(moojeni.montosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 170, 89)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 88)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 172)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 88)) - - miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->miletus : Symbol(moojeni.miletus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 171, 197)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 40)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 76)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 40)) - - heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; } ->heaneyi : Symbol(moojeni.heaneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 172, 101)) ->zuluensis : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 31)) ->zuluensis : Symbol(zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 58)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 31)) - - marchei() : panglima.amphibius> { var x : panglima.amphibius>; () => { var y = this; }; return x; } ->marchei : Symbol(moojeni.marchei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 173, 83)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 117)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 230)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 117)) - - budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->budini : Symbol(moojeni.budini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 174, 255)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 38)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 73)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 38)) - - maggietaylorae() : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->maggietaylorae : Symbol(moojeni.maggietaylorae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 175, 98)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 173)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 335)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 173)) - - poliocephalus() : julianae.gerbillus { var x : julianae.gerbillus; () => { var y = this; }; return x; } ->poliocephalus : Symbol(moojeni.poliocephalus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 176, 360)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 86)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 162)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 86)) - - zibethicus() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->zibethicus : Symbol(moojeni.zibethicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 177, 187)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 78)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 149)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 78)) - - biacensis() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->biacensis : Symbol(moojeni.biacensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 178, 174)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 179, 79)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 179, 152)) ->this : Symbol(moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 179, 79)) - } - export class crenulata extends trivirgatus.falconeri { ->crenulata : Symbol(crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 181, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 181, 28)) ->trivirgatus.falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) - - salvanius() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->salvanius : Symbol(crenulata.salvanius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 181, 64)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 75)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 144)) ->this : Symbol(crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 75)) - - maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->maritimus : Symbol(crenulata.maritimus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 182, 169)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 44)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 82)) ->this : Symbol(crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 44)) - - edax() : lutreolus.cor>, rionegrensis.caniventer> { var x : lutreolus.cor>, rionegrensis.caniventer>; () => { var y = this; }; return x; } ->edax : Symbol(crenulata.edax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 183, 107)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 184, 161)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 184, 321)) ->this : Symbol(crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 184, 161)) - } -} -module trivirgatus { ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) - - export class tumidifrons { ->tumidifrons : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 30)) - - nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->nivalis : Symbol(tumidifrons.nivalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 188, 36)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 40)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 76)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 40)) - - vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->vestitus : Symbol(tumidifrons.vestitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 189, 101)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 43)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 81)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 43)) - - aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->aequatorius : Symbol(tumidifrons.aequatorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 190, 106)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 49)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 90)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 49)) - - scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; } ->scherman : Symbol(tumidifrons.scherman, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 191, 115)) ->oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 32)) ->oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 59)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 32)) - - improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->improvisum : Symbol(tumidifrons.improvisum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 192, 84)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 43)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 79)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 43)) - - cervinipes() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->cervinipes : Symbol(tumidifrons.cervinipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 193, 104)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 75)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 143)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 75)) - - audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->audax : Symbol(tumidifrons.audax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 194, 168)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 41)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 80)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 41)) - - vallinus() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->vallinus : Symbol(tumidifrons.vallinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 195, 105)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 196, 74)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 196, 143)) ->this : Symbol(tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 196, 74)) - } - export class mixtus extends argurus.pygmaea> { ->mixtus : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 198, 22)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 198, 25)) ->argurus.pygmaea : Symbol(argurus.pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->pygmaea : Symbol(argurus.pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) - - ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; } ->ochrogaster : Symbol(mixtus.ochrogaster, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 198, 138)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 78)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 43)) - - bryophilus() : macrorhinos.marmosurus>> { var x : macrorhinos.marmosurus>>; () => { var y = this; }; return x; } ->bryophilus : Symbol(mixtus.bryophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 199, 103)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 173)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 339)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 173)) - - liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->liechtensteini : Symbol(mixtus.liechtensteini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 200, 364)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 47)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 83)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 47)) - - crawfordi() : howi.coludo> { var x : howi.coludo>; () => { var y = this; }; return x; } ->crawfordi : Symbol(mixtus.crawfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 201, 108)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 114)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 222)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 114)) - - hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->hypsibia : Symbol(mixtus.hypsibia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 202, 247)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 38)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 71)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 38)) - - matacus() : panglima.fundatus, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; } ->matacus : Symbol(mixtus.matacus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 203, 96)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lotor : Symbol(lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 135)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lotor : Symbol(lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 266)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 135)) - - demidoff() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->demidoff : Symbol(mixtus.demidoff, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 204, 291)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 205, 83)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 205, 161)) ->this : Symbol(mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 205, 83)) - } - export class lotor { ->lotor : Symbol(lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 21)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 24)) - - balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->balensis : Symbol(lotor.balensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 207, 30)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 42)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 79)) ->this : Symbol(lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 42)) - - pullata() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->pullata : Symbol(lotor.pullata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 208, 104)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 209, 90)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 209, 176)) ->this : Symbol(lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 209, 90)) - } - export class falconeri { ->falconeri : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) - - cabrali() : rendalli.moojeni>, daubentonii.arboreus> { var x : rendalli.moojeni>, daubentonii.arboreus>; () => { var y = this; }; return x; } ->cabrali : Symbol(falconeri.cabrali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 211, 26)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 203)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 402)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 203)) - - gouldi() : nigra.dolichurus>, patas.uralensis> { var x : nigra.dolichurus>, patas.uralensis>; () => { var y = this; }; return x; } ->gouldi : Symbol(falconeri.gouldi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 212, 427)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 139)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 275)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 139)) - - fuscicollis() : samarensis.pelurus> { var x : samarensis.pelurus>; () => { var y = this; }; return x; } ->fuscicollis : Symbol(falconeri.fuscicollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 213, 300)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 126)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 244)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 126)) - - martiensseni() : sagitta.cinereus>, dogramacii.koepckeae> { var x : sagitta.cinereus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->martiensseni : Symbol(falconeri.martiensseni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 214, 269)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 166)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 323)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 166)) - - gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->gaoligongensis : Symbol(falconeri.gaoligongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 215, 348)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 49)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 87)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 49)) - - shawi() : minutus.inez> { var x : minutus.inez>; () => { var y = this; }; return x; } ->shawi : Symbol(falconeri.shawi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 216, 112)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 122)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 242)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 122)) - - gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->gmelini : Symbol(falconeri.gmelini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 217, 267)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 218, 45)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 218, 86)) ->this : Symbol(falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 218, 45)) - } - export class oconnelli { ->oconnelli : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) - - youngsoni() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->youngsoni : Symbol(oconnelli.youngsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 220, 26)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 77)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 148)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 77)) - - terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->terrestris : Symbol(oconnelli.terrestris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 221, 173)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 48)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 89)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 48)) - - chrysopus() : sagitta.sicarius> { var x : sagitta.sicarius>; () => { var y = this; }; return x; } ->chrysopus : Symbol(oconnelli.chrysopus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 222, 114)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 121)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->sicarius : Symbol(sagitta.sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 236)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 121)) - - fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->fuscomurina : Symbol(oconnelli.fuscomurina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 223, 261)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 44)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 80)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 44)) - - hellwaldii() : nigra.gracilis, petrophilus.sodyi> { var x : nigra.gracilis, petrophilus.sodyi>; () => { var y = this; }; return x; } ->hellwaldii : Symbol(oconnelli.hellwaldii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 224, 105)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 160)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 313)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 160)) - - aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->aenea : Symbol(oconnelli.aenea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 225, 338)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 36)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 70)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 36)) - - perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->perrini : Symbol(oconnelli.perrini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 226, 95)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 42)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 80)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 42)) - - entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->entellus : Symbol(oconnelli.entellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 227, 105)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 42)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 79)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 42)) - - krebsii() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->krebsii : Symbol(oconnelli.krebsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 228, 104)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 90)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 176)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 90)) - - cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->cephalotes : Symbol(oconnelli.cephalotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 229, 201)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 44)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 81)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 44)) - - molossinus() : daubentonii.nigricans> { var x : daubentonii.nigricans>; () => { var y = this; }; return x; } ->molossinus : Symbol(oconnelli.molossinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 230, 106)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 136)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 265)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 136)) - - luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->luisi : Symbol(oconnelli.luisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 231, 290)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 41)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 80)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 41)) - - ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->ceylonicus : Symbol(oconnelli.ceylonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 232, 105)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 48)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 89)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 48)) - - ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->ralli : Symbol(oconnelli.ralli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 233, 114)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 234, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 234, 78)) ->this : Symbol(oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 234, 40)) - } -} -module quasiater { ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) - - export class bobrinskoi { ->bobrinskoi : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) - - crassicaudatus() : samarensis.cahirinus { var x : samarensis.cahirinus; () => { var y = this; }; return x; } ->crassicaudatus : Symbol(bobrinskoi.crassicaudatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 238, 27)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 92)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 173)) ->this : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 92)) - - mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->mulatta : Symbol(bobrinskoi.mulatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 239, 198)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 35)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 66)) ->this : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 35)) - - ansorgei() : rendalli.moojeni, gabriellae.echinatus> { var x : rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->ansorgei : Symbol(bobrinskoi.ansorgei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 240, 91)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 123)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 241)) ->this : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 123)) - - Copper() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->Copper : Symbol(bobrinskoi.Copper, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 241, 266)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 242, 82)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 242, 161)) ->this : Symbol(bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 242, 82)) - } -} -module ruatanica { ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) - - export class americanus extends imperfecta.ciliolabrum { ->americanus : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->imperfecta.ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) - - nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->nasoloi : Symbol(americanus.nasoloi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 246, 93)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 45)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 86)) ->this : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 45)) - - mystacalis() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->mystacalis : Symbol(americanus.mystacalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 247, 111)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 83)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 159)) ->this : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 83)) - - fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fardoulisi : Symbol(americanus.fardoulisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 248, 184)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 46)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 85)) ->this : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 46)) - - tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->tumidus : Symbol(americanus.tumidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 249, 110)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 250, 39)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 250, 74)) ->this : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 250, 39)) - } -} -module lavali { ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) - - export class wilsoni extends Lanthanum.nitidus { ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->Lanthanum.nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) - - setiger() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->setiger : Symbol(wilsoni.setiger, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 254, 96)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 60)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 116)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 60)) - - lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->lorentzii : Symbol(wilsoni.lorentzii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 255, 141)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 46)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 86)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 46)) - - antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->antisensis : Symbol(wilsoni.antisensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 256, 111)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 40)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 73)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 40)) - - blossevillii() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->blossevillii : Symbol(wilsoni.blossevillii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 257, 98)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 85)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 161)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 85)) - - bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->bontanus : Symbol(wilsoni.bontanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 258, 186)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 46)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 87)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 46)) - - caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->caligata : Symbol(wilsoni.caligata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 259, 112)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 36)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 67)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 36)) - - franqueti() : panglima.amphibius, imperfecta.subspinosus> { var x : panglima.amphibius, imperfecta.subspinosus>; () => { var y = this; }; return x; } ->franqueti : Symbol(wilsoni.franqueti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 260, 92)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 128)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 250)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 128)) - - roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->roberti : Symbol(wilsoni.roberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 261, 275)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 41)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 78)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 41)) - - degelidus() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->degelidus : Symbol(wilsoni.degelidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 262, 103)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 92)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 178)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 92)) - - amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->amoenus : Symbol(wilsoni.amoenus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 263, 203)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 44)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 84)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 44)) - - kob() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->kob : Symbol(wilsoni.kob, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 264, 109)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->beisa : Symbol(beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 57)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->beisa : Symbol(beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 114)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 57)) - - csorbai() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->csorbai : Symbol(wilsoni.csorbai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 265, 139)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 81)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 158)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 81)) - - dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->dorsata : Symbol(wilsoni.dorsata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 266, 183)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 267, 42)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 267, 80)) ->this : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 267, 42)) - } - export class beisa { ->beisa : Symbol(beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) - } - export class otion extends howi.coludo { ->otion : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->howi.coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) - - bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->bonaerensis : Symbol(otion.bonaerensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 271, 72)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 46)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 84)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 46)) - - dussumieri() : nigra.gracilis { var x : nigra.gracilis; () => { var y = this; }; return x; } ->dussumieri : Symbol(otion.dussumieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 272, 109)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 77)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 147)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 77)) - - osvaldoreigi() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->osvaldoreigi : Symbol(otion.osvaldoreigi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 273, 172)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 86)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 163)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 86)) - - grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->grevyi : Symbol(otion.grevyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 274, 188)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 40)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 77)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 40)) - - hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; } ->hirtula : Symbol(otion.hirtula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 275, 102)) ->lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 30)) ->lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 56)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 30)) - - cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->cristatus : Symbol(otion.cristatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 276, 81)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 40)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 74)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 40)) - - darlingtoni() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->darlingtoni : Symbol(otion.darlingtoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 277, 99)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 76)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 144)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 76)) - - fontanierii() : panamensis.setulosus>, lutreolus.foina> { var x : panamensis.setulosus>, lutreolus.foina>; () => { var y = this; }; return x; } ->fontanierii : Symbol(otion.fontanierii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 278, 169)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 161)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 314)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 161)) - - umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->umbrosus : Symbol(otion.umbrosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 279, 339)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 36)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 67)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 36)) - - chiriquinus() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->chiriquinus : Symbol(otion.chiriquinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 280, 92)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 83)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 158)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 83)) - - orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->orarius : Symbol(otion.orarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 281, 183)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 41)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 78)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 41)) - - ilaeus() : caurinus.mahaganus { var x : caurinus.mahaganus; () => { var y = this; }; return x; } ->ilaeus : Symbol(otion.ilaeus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 282, 103)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 80)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 157)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 80)) - - musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->musschenbroekii : Symbol(otion.musschenbroekii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 283, 182)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 284, 51)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 284, 90)) ->this : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 284, 51)) - } - export class xanthognathus { ->xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) - - nanulus() : daubentonii.nigricans { var x : daubentonii.nigricans; () => { var y = this; }; return x; } ->nanulus : Symbol(xanthognathus.nanulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 286, 30)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 88)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 172)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 88)) - - albigena() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->albigena : Symbol(xanthognathus.albigena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 287, 197)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 87)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 169)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 87)) - - onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->onca : Symbol(xanthognathus.onca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 288, 194)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 37)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 73)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 37)) - - gunnii() : minutus.himalayana, nigra.thalia> { var x : minutus.himalayana, nigra.thalia>; () => { var y = this; }; return x; } ->gunnii : Symbol(xanthognathus.gunnii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 289, 98)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->himalayana : Symbol(minutus.himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 135)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->himalayana : Symbol(minutus.himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 267)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 135)) - - apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->apeco : Symbol(xanthognathus.apeco, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 290, 292)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 35)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 68)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 35)) - - variegates() : gabriellae.klossii { var x : gabriellae.klossii; () => { var y = this; }; return x; } ->variegates : Symbol(xanthognathus.variegates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 291, 93)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 73)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->wilsoni : Symbol(wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 139)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 73)) - - goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->goudotii : Symbol(xanthognathus.goudotii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 292, 164)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 44)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 83)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 44)) - - pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->pohlei : Symbol(xanthognathus.pohlei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 293, 108)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 40)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 77)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 40)) - - ineptus() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->ineptus : Symbol(xanthognathus.ineptus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 294, 102)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->beisa : Symbol(beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 64)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->beisa : Symbol(beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 124)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 64)) - - euryotis() : rendalli.moojeni> { var x : rendalli.moojeni>; () => { var y = this; }; return x; } ->euryotis : Symbol(xanthognathus.euryotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 295, 149)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 120)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 235)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 120)) - - maurisca() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->maurisca : Symbol(xanthognathus.maurisca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 296, 260)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 89)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 173)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 89)) - - coyhaiquensis() : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> { var x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus>; () => { var y = this; }; return x; } ->coyhaiquensis : Symbol(xanthognathus.coyhaiquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 297, 198)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 298, 192)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 298, 374)) ->this : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 298, 192)) - } - export class thaeleri extends argurus.oreas { ->thaeleri : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->argurus.oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) - - coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->coromandra : Symbol(thaeleri.coromandra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 300, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 87)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 47)) - - parvipes() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->parvipes : Symbol(thaeleri.parvipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 301, 112)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 78)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 151)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 78)) - - sponsorius() : rionegrensis.veraecrucis, julianae.steerii> { var x : rionegrensis.veraecrucis, julianae.steerii>; () => { var y = this; }; return x; } ->sponsorius : Symbol(thaeleri.sponsorius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 302, 176)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 133)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 259)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 133)) - - vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->vates : Symbol(thaeleri.vates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 303, 284)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 41)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 80)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 41)) - - roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->roosmalenorum : Symbol(thaeleri.roosmalenorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 304, 105)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 48)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 86)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 48)) - - rubicola() : rendalli.moojeni, gabriellae.echinatus>> { var x : rendalli.moojeni, gabriellae.echinatus>>; () => { var y = this; }; return x; } ->rubicola : Symbol(thaeleri.rubicola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 305, 111)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 166)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 327)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 166)) - - ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->ikonnikovi : Symbol(thaeleri.ikonnikovi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 306, 352)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 41)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 75)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 41)) - - paramicrus() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->paramicrus : Symbol(thaeleri.paramicrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 307, 100)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->otion : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 308, 117)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->otion : Symbol(otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 308, 227)) ->this : Symbol(thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 308, 117)) - } - export class lepturus extends Lanthanum.suillus { ->lepturus : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->Lanthanum.suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->suillus : Symbol(Lanthanum.suillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 107, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) - - ferrumequinum() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->ferrumequinum : Symbol(lepturus.ferrumequinum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 310, 96)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 84)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 158)) ->this : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 84)) - - aequalis() : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->aequalis : Symbol(lepturus.aequalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 311, 183)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 312, 204)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->xanthognathus : Symbol(xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 312, 403)) ->this : Symbol(lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 312, 204)) - } -} -module dogramacii { ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) - - export class robustulus extends lavali.wilsoni { ->robustulus : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->lavali.wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) - - fossor() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->fossor : Symbol(robustulus.fossor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 316, 50)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 74)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 145)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 74)) - - humboldti() : sagitta.cinereus { var x : sagitta.cinereus; () => { var y = this; }; return x; } ->humboldti : Symbol(robustulus.humboldti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 317, 170)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 77)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 148)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 77)) - - mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->mexicana : Symbol(robustulus.mexicana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 318, 173)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 46)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 87)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 46)) - - martini() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->martini : Symbol(robustulus.martini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 319, 112)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 72)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 140)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 72)) - - beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->beatus : Symbol(robustulus.beatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 320, 165)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 40)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 77)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 40)) - - leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->leporina : Symbol(robustulus.leporina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 321, 102)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 44)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 83)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 44)) - - pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->pearsonii : Symbol(robustulus.pearsonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 322, 108)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 43)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 80)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 43)) - - keaysi() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->keaysi : Symbol(robustulus.keaysi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 323, 105)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 69)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 135)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 69)) - - hindei() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->hindei : Symbol(robustulus.hindei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 324, 160)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 325, 83)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 325, 163)) ->this : Symbol(robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 325, 83)) - } - export class koepckeae { ->koepckeae : Symbol(koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) - - culturatus() : samarensis.pelurus, julianae.sumatrana> { var x : samarensis.pelurus, julianae.sumatrana>; () => { var y = this; }; return x; } ->culturatus : Symbol(koepckeae.culturatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 327, 26)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 328, 113)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 328, 219)) ->this : Symbol(koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 328, 113)) - } - export class kaiseri { ->kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) - - bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->bedfordiae : Symbol(kaiseri.bedfordiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 330, 24)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 47)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 87)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 47)) - - paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->paramorum : Symbol(kaiseri.paramorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 331, 112)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 43)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 80)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 43)) - - rubidus() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->rubidus : Symbol(kaiseri.rubidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 332, 105)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 78)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 152)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 78)) - - juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->juninensis : Symbol(kaiseri.juninensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 333, 177)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 45)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 83)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 45)) - - marginata() : argurus.wetmorei>> { var x : argurus.wetmorei>>; () => { var y = this; }; return x; } ->marginata : Symbol(kaiseri.marginata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 334, 108)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 175)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 344)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 175)) - - Meitnerium() : ruatanica.Praseodymium> { var x : ruatanica.Praseodymium>; () => { var y = this; }; return x; } ->Meitnerium : Symbol(kaiseri.Meitnerium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 335, 369)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 127)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->cor : Symbol(lutreolus.cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 247)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 127)) - - pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->pinetorum : Symbol(kaiseri.pinetorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 336, 272)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 47)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 88)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 47)) - - hoolock() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->hoolock : Symbol(kaiseri.hoolock, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 337, 113)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 73)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 142)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 73)) - - poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->poeyi : Symbol(kaiseri.poeyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 338, 167)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 40)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 78)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 40)) - - Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->Thulium : Symbol(kaiseri.Thulium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 339, 103)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 39)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 74)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 39)) - - patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->patrius : Symbol(kaiseri.patrius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 340, 99)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 41)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 78)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 41)) - - quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; } ->quadraticauda : Symbol(kaiseri.quadraticauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 341, 103)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 84)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 47)) - - ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->ater : Symbol(kaiseri.ater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 342, 109)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 343, 39)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 343, 77)) ->this : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 343, 39)) - } - export class aurata { ->aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) - - grunniens() : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; } ->grunniens : Symbol(aurata.grunniens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 345, 23)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 150)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->kaiseri : Symbol(kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 294)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 150)) - - howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->howensis : Symbol(aurata.howensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 346, 319)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 43)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 81)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 43)) - - karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->karlkoopmani : Symbol(aurata.karlkoopmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 347, 106)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 44)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 79)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 44)) - - mirapitanga() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->mirapitanga : Symbol(aurata.mirapitanga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 348, 104)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 87)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 166)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 87)) - - ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; } ->ophiodon : Symbol(aurata.ophiodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 349, 191)) ->aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 29)) ->aurata : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 53)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 29)) - - landeri() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->landeri : Symbol(aurata.landeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 350, 78)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 83)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 162)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 83)) - - sonomae() : trivirgatus.lotor, koepckeae> { var x : trivirgatus.lotor, koepckeae>; () => { var y = this; }; return x; } ->sonomae : Symbol(aurata.sonomae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 351, 187)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->koepckeae : Symbol(koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 102)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->koepckeae : Symbol(koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 200)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 102)) - - erythromos() : caurinus.johorensis, nigra.dolichurus> { var x : caurinus.johorensis, nigra.dolichurus>; () => { var y = this; }; return x; } ->erythromos : Symbol(aurata.erythromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 352, 225)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 353, 160)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 353, 313)) ->this : Symbol(aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 353, 160)) - } -} -module lutreolus { ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) - - export class schlegeli extends lavali.beisa { ->schlegeli : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->lavali.beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) - - mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->mittendorfi : Symbol(schlegeli.mittendorfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 357, 47)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 49)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 90)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 49)) - - blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->blicki : Symbol(schlegeli.blicki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 358, 115)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 42)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 81)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 42)) - - culionensis() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->culionensis : Symbol(schlegeli.culionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 359, 106)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 89)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 170)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 89)) - - scrofa() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->scrofa : Symbol(schlegeli.scrofa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 360, 195)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 77)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 151)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 77)) - - fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->fernandoni : Symbol(schlegeli.fernandoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 361, 176)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 47)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 87)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 47)) - - Tin() : sagitta.leptoceros> { var x : sagitta.leptoceros>; () => { var y = this; }; return x; } ->Tin : Symbol(schlegeli.Tin, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 362, 112)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 126)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 252)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 126)) - - marmorata() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->marmorata : Symbol(schlegeli.marmorata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 363, 277)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 129)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 252)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 129)) - - tavaratra() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->tavaratra : Symbol(schlegeli.tavaratra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 364, 277)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 81)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 156)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 81)) - - peregrina() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->peregrina : Symbol(schlegeli.peregrina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 365, 181)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 88)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 170)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 88)) - - frontalis() : macrorhinos.marmosurus>, samarensis.pallidus> { var x : macrorhinos.marmosurus>, samarensis.pallidus>; () => { var y = this; }; return x; } ->frontalis : Symbol(schlegeli.frontalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 366, 195)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 163)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 320)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 163)) - - cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; } ->cuniculus : Symbol(schlegeli.cuniculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 367, 345)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 39)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 72)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 39)) - - magdalenae() : julianae.gerbillus> { var x : julianae.gerbillus>; () => { var y = this; }; return x; } ->magdalenae : Symbol(schlegeli.magdalenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 368, 97)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 131)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 255)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 131)) - - andamanensis() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->andamanensis : Symbol(schlegeli.andamanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 369, 280)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 84)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 159)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 84)) - - dispar() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->dispar : Symbol(schlegeli.dispar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 370, 184)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 371, 82)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 371, 161)) ->this : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 371, 82)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class dauricus { ->dauricus : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 27)) - - chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->chinensis : Symbol(dauricus.chinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 375, 33)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 43)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 80)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 43)) - - duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->duodecimcostatus : Symbol(dauricus.duodecimcostatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 376, 105)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 51)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 89)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 51)) - - foxi() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->foxi : Symbol(dauricus.foxi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 377, 114)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 70)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 139)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 70)) - - macleayii() : petrophilus.sodyi>, petrophilus.minutilla> { var x : petrophilus.sodyi>, petrophilus.minutilla>; () => { var y = this; }; return x; } ->macleayii : Symbol(dauricus.macleayii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 378, 164)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 173)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 340)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 173)) - - darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->darienensis : Symbol(dauricus.darienensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 379, 365)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 47)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 86)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 47)) - - hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->hardwickii : Symbol(dauricus.hardwickii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 380, 111)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 48)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 89)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 48)) - - albifrons() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->albifrons : Symbol(dauricus.albifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 381, 114)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 84)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 162)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 84)) - - jacobitus() : caurinus.johorensis>> { var x : caurinus.johorensis>>; () => { var y = this; }; return x; } ->jacobitus : Symbol(dauricus.jacobitus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 382, 187)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 169)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 332)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 169)) - - guentheri() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->guentheri : Symbol(dauricus.guentheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 383, 357)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 72)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 138)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 72)) - - mahomet() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->mahomet : Symbol(dauricus.mahomet, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 384, 163)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 79)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 154)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 79)) - - misionensis() : macrorhinos.marmosurus, gabriellae.echinatus> { var x : macrorhinos.marmosurus, gabriellae.echinatus>; () => { var y = this; }; return x; } ->misionensis : Symbol(dauricus.misionensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 385, 179)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 386, 141)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 386, 274)) ->this : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 386, 141)) - } -} -module nigra { ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) - - export class dolichurus { ->dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 29)) - - solomonis() : panglima.abidi, argurus.netscheri, julianae.oralis>>> { var x : panglima.abidi, argurus.netscheri, julianae.oralis>>>; () => { var y = this; }; return x; } ->solomonis : Symbol(dolichurus.solomonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 390, 35)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 270)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 534)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 270)) - - alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->alfredi : Symbol(dolichurus.alfredi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 391, 559)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 39)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 74)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 39)) - - morrisi() : ruatanica.hector, quasiater.wattsi>>> { var x : ruatanica.hector, quasiater.wattsi>>>; () => { var y = this; }; return x; } ->morrisi : Symbol(dolichurus.morrisi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 392, 99)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 248)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 492)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 248)) - - lekaguli() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->lekaguli : Symbol(dolichurus.lekaguli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 393, 517)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 78)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 151)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 78)) - - dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->dimissus : Symbol(dolichurus.dimissus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 394, 176)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 45)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 85)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 45)) - - phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->phaeotis : Symbol(dolichurus.phaeotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 395, 110)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 41)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 77)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 41)) - - ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->ustus : Symbol(dolichurus.ustus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 396, 102)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 39)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 76)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 39)) - - sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->sagei : Symbol(dolichurus.sagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 397, 101)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 398, 33)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 398, 64)) ->this : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 398, 33)) - } -} -module panglima { ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) - - export class amphibius extends caurinus.johorensis, Lanthanum.jugularis> { ->amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 402, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 402, 30)) ->caurinus.johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) - - bottegi(): macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->bottegi : Symbol(amphibius.bottegi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 402, 147)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 160)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 312)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 160)) - - jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->jerdoni : Symbol(amphibius.jerdoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 403, 337)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 48)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 88)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 48)) - - camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->camtschatica : Symbol(amphibius.camtschatica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 404, 113)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 49)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 85)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 49)) - - spadix(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spadix : Symbol(amphibius.spadix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 405, 110)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 85)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 163)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 85)) - - luismanueli(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->luismanueli : Symbol(amphibius.luismanueli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 406, 188)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 88)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 164)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 88)) - - aceramarcae(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->aceramarcae : Symbol(amphibius.aceramarcae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 407, 189)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 408, 88)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 408, 164)) ->this : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 408, 88)) - } - export class fundatus extends lutreolus.schlegeli { ->fundatus : Symbol(fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 410, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 410, 29)) ->lutreolus.schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) - - crassulus(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->crassulus : Symbol(fundatus.crassulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 410, 63)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 85)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 160)) ->this : Symbol(fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 85)) - - flamarioni(): imperfecta.lasiurus>, sagitta.leptoceros>> { var x: imperfecta.lasiurus>, sagitta.leptoceros>>; () => { var y = this; }; return x; } ->flamarioni : Symbol(fundatus.flamarioni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 411, 185)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 245)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->amphibius : Symbol(amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 479)) ->this : Symbol(fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 245)) - - mirabilis(): macrorhinos.marmosurus, lavali.lepturus> { var x: macrorhinos.marmosurus, lavali.lepturus>; () => { var y = this; }; return x; } ->mirabilis : Symbol(fundatus.mirabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 412, 504)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 413, 119)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 413, 228)) ->this : Symbol(fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 413, 119)) - } - export class abidi extends argurus.dauricus { ->abidi : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 415, 23)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 415, 26)) ->argurus.dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) - - greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->greyii : Symbol(abidi.greyii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 415, 94)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 45)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 83)) ->this : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 45)) - - macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->macedonicus : Symbol(abidi.macedonicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 416, 108)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 50)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 88)) ->this : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 50)) - - galili(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->galili : Symbol(abidi.galili, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 417, 113)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 86)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 165)) ->this : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 86)) - - thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->thierryi : Symbol(abidi.thierryi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 418, 190)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 47)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 85)) ->this : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 47)) - - ega(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ega : Symbol(abidi.ega, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 419, 110)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 420, 104)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 420, 204)) ->this : Symbol(abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 420, 104)) - } -} -module quasiater { ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) - - export class carolinensis { ->carolinensis : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) - - concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->concinna : Symbol(carolinensis.concinna, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 424, 31)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 44)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 79)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 44)) - - aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->aeneus : Symbol(carolinensis.aeneus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 425, 104)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 37)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 67)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 37)) - - aloysiisabaudiae(): argurus.netscheri, lavali.lepturus> { var x: argurus.netscheri, lavali.lepturus>; () => { var y = this; }; return x; } ->aloysiisabaudiae : Symbol(carolinensis.aloysiisabaudiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 426, 92)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 116)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 215)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 116)) - - tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->tenellus : Symbol(carolinensis.tenellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 427, 240)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 45)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 81)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 45)) - - andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->andium : Symbol(carolinensis.andium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 428, 106)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 36)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 65)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 36)) - - persephone(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->persephone : Symbol(carolinensis.persephone, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 429, 90)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 86)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 161)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 86)) - - patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->patrizii : Symbol(carolinensis.patrizii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 430, 186)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 431, 45)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 431, 81)) ->this : Symbol(carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 431, 45)) - } -} -module minutus { ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) - - export class himalayana extends lutreolus.punicus { ->himalayana : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 435, 28)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 435, 31)) ->lutreolus.punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - simoni(): argurus.netscheri> { var x: argurus.netscheri>; () => { var y = this; }; return x; } ->simoni : Symbol(himalayana.simoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 435, 63)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 115)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 223)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 115)) - - lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->lobata : Symbol(himalayana.lobata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 436, 248)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 43)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 79)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 43)) - - rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->rusticus : Symbol(himalayana.rusticus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 437, 104)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 77)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 43)) - - latona(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->latona : Symbol(himalayana.latona, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 438, 102)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 86)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 165)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 86)) - - famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->famulus : Symbol(himalayana.famulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 439, 190)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 40)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 72)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 40)) - - flaviceps(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->flaviceps : Symbol(himalayana.flaviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 440, 97)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 109)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 208)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 109)) - - paradoxolophus(): nigra.dolichurus> { var x: nigra.dolichurus>; () => { var y = this; }; return x; } ->paradoxolophus : Symbol(himalayana.paradoxolophus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 441, 233)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 139)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 263)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 139)) - - Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Osmium : Symbol(himalayana.Osmium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 442, 288)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 38)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 69)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 38)) - - vulgaris(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->vulgaris : Symbol(himalayana.vulgaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 443, 94)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 81)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 153)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 81)) - - betsileoensis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->betsileoensis : Symbol(himalayana.betsileoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 444, 178)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 88)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 162)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 88)) - - vespuccii(): argurus.gilbertii, provocax.melanoleuca> { var x: argurus.gilbertii, provocax.melanoleuca>; () => { var y = this; }; return x; } ->vespuccii : Symbol(himalayana.vespuccii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 445, 187)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 135)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(argurus.gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 260)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 135)) - - olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->olympus : Symbol(himalayana.olympus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 446, 285)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 447, 44)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 447, 80)) ->this : Symbol(himalayana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 434, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 447, 44)) - } -} -module caurinus { ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) - - export class mahaganus extends panglima.fundatus { ->mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 451, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 451, 30)) ->panglima.fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) - - martiniquensis(): ruatanica.hector>> { var x: ruatanica.hector>>; () => { var y = this; }; return x; } ->martiniquensis : Symbol(mahaganus.martiniquensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 451, 111)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 168)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 321)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 168)) - - devius(): samarensis.pelurus, trivirgatus.falconeri>> { var x: samarensis.pelurus, trivirgatus.falconeri>>; () => { var y = this; }; return x; } ->devius : Symbol(mahaganus.devius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 452, 346)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 153)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 299)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 153)) - - masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->masalai : Symbol(mahaganus.masalai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 453, 324)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 38)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 68)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 38)) - - kathleenae(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->kathleenae : Symbol(mahaganus.kathleenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 454, 93)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 80)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 149)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 80)) - - simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->simulus : Symbol(mahaganus.simulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 455, 174)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 45)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 82)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 45)) - - nigrovittatus(): caurinus.mahaganus>> { var x: caurinus.mahaganus>>; () => { var y = this; }; return x; } ->nigrovittatus : Symbol(mahaganus.nigrovittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 456, 107)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 165)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 316)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 165)) - - senegalensis(): gabriellae.klossii, dammermani.melanops> { var x: gabriellae.klossii, dammermani.melanops>; () => { var y = this; }; return x; } ->senegalensis : Symbol(mahaganus.senegalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 457, 341)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 118)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 223)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 118)) - - acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->acticola : Symbol(mahaganus.acticola, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 458, 248)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 459, 42)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 459, 75)) ->this : Symbol(mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 459, 42)) - } -} -module macrorhinos { ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) - - export class marmosurus { ->marmosurus : Symbol(marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 28)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 31)) - - tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tansaniana : Symbol(marmosurus.tansaniana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 463, 37)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 464, 45)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 464, 79)) ->this : Symbol(marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 464, 45)) - } -} -module howi { ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) - - export class angulatus extends sagitta.stolzmanni { ->angulatus : Symbol(angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 468, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 468, 30)) ->sagitta.stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) - - pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->pennatus : Symbol(angulatus.pennatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 468, 63)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 469, 39)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 469, 69)) ->this : Symbol(angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 469, 39)) - } -} -module daubentonii { ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) - - export class nesiotes { ->nesiotes : Symbol(nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 473, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 473, 29)) - } -} -module nigra { ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) - - export class thalia { ->thalia : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 27)) - - dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->dichotomus : Symbol(thalia.dichotomus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 477, 33)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 50)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 89)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 50)) - - arnuxii(): panamensis.linulus, lavali.beisa> { var x: panamensis.linulus, lavali.beisa>; () => { var y = this; }; return x; } ->arnuxii : Symbol(thalia.arnuxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 478, 114)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 110)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 212)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 110)) - - verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->verheyeni : Symbol(thalia.verheyeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 479, 237)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 47)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 84)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 47)) - - dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; } ->dauuricus : Symbol(thalia.dauuricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 480, 109)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 44)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 78)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 44)) - - tristriatus(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->tristriatus : Symbol(thalia.tristriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 481, 103)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 124)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 236)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 124)) - - lasiura(): panglima.abidi>, Lanthanum.nitidus> { var x: panglima.abidi>, Lanthanum.nitidus>; () => { var y = this; }; return x; } ->lasiura : Symbol(thalia.lasiura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 482, 261)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 201)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 394)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 201)) - - gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->gangetica : Symbol(thalia.gangetica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 483, 419)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 43)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 76)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 43)) - - brucei(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->brucei : Symbol(thalia.brucei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 484, 101)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 485, 87)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 485, 167)) ->this : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 485, 87)) - } -} -module sagitta { ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) - - export class walkeri extends minutus.portoricensis { ->walkeri : Symbol(walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->minutus.portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) - - maracajuensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->maracajuensis : Symbol(walkeri.maracajuensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 489, 56)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 490, 94)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 490, 174)) ->this : Symbol(walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 490, 94)) - } -} -module minutus { ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) - - export class inez extends samarensis.pelurus { ->inez : Symbol(inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 494, 22)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 494, 25)) ->samarensis.pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) - - vexillaris(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->vexillaris : Symbol(inez.vexillaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 494, 95)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 495, 81)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 495, 151)) ->this : Symbol(inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 495, 81)) - } -} -module macrorhinos { ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) - - export class konganensis extends imperfecta.lasiurus { ->konganensis : Symbol(konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->imperfecta.lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) - } -} -module panamensis { ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) - - export class linulus extends ruatanica.hector> { ->linulus : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 503, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 503, 28)) ->ruatanica.hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) - - goslingi(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->goslingi : Symbol(linulus.goslingi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 503, 137)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 85)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 161)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 85)) - - taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->taki : Symbol(linulus.taki, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 504, 186)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 37)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 69)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 37)) - - fumosus(): rendalli.moojeni, lavali.beisa> { var x: rendalli.moojeni, lavali.beisa>; () => { var y = this; }; return x; } ->fumosus : Symbol(linulus.fumosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 505, 94)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 112)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 216)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 112)) - - rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->rufinus : Symbol(linulus.rufinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 506, 241)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 48)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 88)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 48)) - - lami(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->lami : Symbol(linulus.lami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 507, 113)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 74)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 143)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 74)) - - regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->regina : Symbol(linulus.regina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 508, 168)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 45)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 83)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 45)) - - nanilla(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->nanilla : Symbol(linulus.nanilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 509, 108)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 87)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 166)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 87)) - - enganus(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->enganus : Symbol(linulus.enganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 510, 191)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 76)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 144)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 76)) - - gomantongensis(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->gomantongensis : Symbol(linulus.gomantongensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 511, 169)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 512, 134)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 512, 253)) ->this : Symbol(linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 512, 134)) - } -} -module nigra { ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) - - export class gracilis { ->gracilis : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 29)) - - weddellii(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->weddellii : Symbol(gracilis.weddellii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 516, 35)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 80)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 150)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 80)) - - echinothrix(): Lanthanum.nitidus, argurus.oreas> { var x: Lanthanum.nitidus, argurus.oreas>; () => { var y = this; }; return x; } ->echinothrix : Symbol(gracilis.echinothrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 517, 175)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 120)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 228)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 120)) - - garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->garridoi : Symbol(gracilis.garridoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 518, 253)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 46)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 83)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 46)) - - rouxii(): nigra.gracilis, nigra.thalia> { var x: nigra.gracilis, nigra.thalia>; () => { var y = this; }; return x; } ->rouxii : Symbol(gracilis.rouxii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 519, 108)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 153)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 299)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 153)) - - aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->aurita : Symbol(gracilis.aurita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 520, 324)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 42)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 77)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 42)) - - geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->geoffrensis : Symbol(gracilis.geoffrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 521, 102)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 52)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 92)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 52)) - - theresa(): macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus> { var x: macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus>; () => { var y = this; }; return x; } ->theresa : Symbol(gracilis.theresa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 522, 117)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 197)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 386)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 197)) - - melanocarpus(): julianae.albidens, julianae.sumatrana> { var x: julianae.albidens, julianae.sumatrana>; () => { var y = this; }; return x; } ->melanocarpus : Symbol(gracilis.melanocarpus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 523, 411)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 124)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 235)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 124)) - - dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->dubiaquercus : Symbol(gracilis.dubiaquercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 524, 260)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 51)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 89)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 51)) - - pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->pectoralis : Symbol(gracilis.pectoralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 525, 114)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 46)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 81)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 46)) - - apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->apoensis : Symbol(gracilis.apoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 526, 106)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 46)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 83)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 46)) - - grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->grisescens : Symbol(gracilis.grisescens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 527, 108)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 47)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 83)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 47)) - - ramirohitra(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->ramirohitra : Symbol(gracilis.ramirohitra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 528, 108)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 529, 92)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 529, 172)) ->this : Symbol(gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 529, 92)) - } -} -module samarensis { ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) - - export class pelurus extends sagitta.stolzmanni { ->pelurus : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 533, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 533, 28)) ->sagitta.stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) - - Palladium(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->Palladium : Symbol(pelurus.Palladium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 533, 61)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 95)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 180)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 95)) - - castanea(): argurus.netscheri, julianae.oralis> { var x: argurus.netscheri, julianae.oralis>; () => { var y = this; }; return x; } ->castanea : Symbol(pelurus.castanea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 534, 205)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 152)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 295)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 152)) - - chamek(): argurus.pygmaea { var x: argurus.pygmaea; () => { var y = this; }; return x; } ->chamek : Symbol(pelurus.chamek, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 535, 320)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->pygmaea : Symbol(argurus.pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 85)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->pygmaea : Symbol(argurus.pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 163)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 85)) - - nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nigriceps : Symbol(pelurus.nigriceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 536, 188)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 44)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 78)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 44)) - - lunatus(): pelurus { var x: pelurus; () => { var y = this; }; return x; } ->lunatus : Symbol(pelurus.lunatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 537, 103)) ->pelurus : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 70)) ->pelurus : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 132)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 70)) - - madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->madurae : Symbol(pelurus.madurae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 538, 157)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 48)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 88)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 48)) - - chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->chinchilla : Symbol(pelurus.chinchilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 539, 113)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 51)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 91)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 51)) - - eliasi(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->eliasi : Symbol(pelurus.eliasi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 540, 116)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 75)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 143)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 75)) - - proditor(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->proditor : Symbol(pelurus.proditor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 541, 168)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 86)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 163)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 86)) - - gambianus(): quasiater.wattsi> { var x: quasiater.wattsi>; () => { var y = this; }; return x; } ->gambianus : Symbol(pelurus.gambianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 542, 188)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 134)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 258)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 134)) - - petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->petteri : Symbol(pelurus.petteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 543, 283)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 78)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 43)) - - nusatenggara(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->nusatenggara : Symbol(pelurus.nusatenggara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 544, 103)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 89)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 165)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 89)) - - olitor(): rionegrensis.veraecrucis { var x: rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->olitor : Symbol(pelurus.olitor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 545, 190)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 546, 92)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 546, 177)) ->this : Symbol(pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 546, 92)) - } - export class fuscus extends macrorhinos.daphaenodon { ->fuscus : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 548, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 548, 27)) ->macrorhinos.daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) - - planifrons(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->planifrons : Symbol(fuscus.planifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 548, 65)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 82)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 153)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 82)) - - badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->badia : Symbol(fuscus.badia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 549, 178)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 41)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 76)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 41)) - - prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->prymnolopha : Symbol(fuscus.prymnolopha, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 550, 101)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 44)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 76)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 44)) - - natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->natalensis : Symbol(fuscus.natalensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 551, 101)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 49)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 87)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 49)) - - hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; } ->hunteri : Symbol(fuscus.hunteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 552, 112)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 42)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 76)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 42)) - - sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; } ->sapiens : Symbol(fuscus.sapiens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 553, 101)) ->pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 33)) ->pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 58)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 33)) - - macrocercus(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->macrocercus : Symbol(fuscus.macrocercus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 554, 83)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 91)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 170)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 91)) - - nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nimbae : Symbol(fuscus.nimbae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 555, 195)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 41)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 75)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 41)) - - suricatta(): daubentonii.nigricans { var x: daubentonii.nigricans; () => { var y = this; }; return x; } ->suricatta : Symbol(fuscus.suricatta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 556, 100)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 93)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 176)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 93)) - - jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->jagorii : Symbol(fuscus.jagorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 557, 201)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 86)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 47)) - - beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->beecrofti : Symbol(fuscus.beecrofti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 558, 111)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 45)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 80)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 45)) - - imaizumii(): minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->imaizumii : Symbol(fuscus.imaizumii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 559, 105)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 233)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 456)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 233)) - - colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; } ->colocolo : Symbol(fuscus.colocolo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 560, 481)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 46)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 83)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 46)) - - wolfi(): petrophilus.rosalia> { var x: petrophilus.rosalia>; () => { var y = this; }; return x; } ->wolfi : Symbol(fuscus.wolfi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 561, 108)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 562, 115)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 562, 224)) ->this : Symbol(fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 562, 115)) - } - export class pallidus { ->pallidus : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) - - oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->oblativa : Symbol(pallidus.oblativa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 564, 27)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 47)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 85)) ->this : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 47)) - - watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->watersi : Symbol(pallidus.watersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 565, 110)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 39)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 70)) ->this : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 39)) - - glacialis(): sagitta.cinereus, quasiater.wattsi>> { var x: sagitta.cinereus, quasiater.wattsi>>; () => { var y = this; }; return x; } ->glacialis : Symbol(pallidus.glacialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 566, 95)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 212)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 414)) ->this : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 212)) - - viaria(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->viaria : Symbol(pallidus.viaria, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 567, 439)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 568, 88)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 568, 169)) ->this : Symbol(pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 568, 88)) - } - export class cahirinus { ->cahirinus : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 30)) - - alashanicus(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->alashanicus : Symbol(cahirinus.alashanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 570, 36)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 86)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 160)) ->this : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 86)) - - flaviventer(): trivirgatus.tumidifrons> { var x: trivirgatus.tumidifrons>; () => { var y = this; }; return x; } ->flaviventer : Symbol(cahirinus.flaviventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 571, 185)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 134)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 256)) ->this : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 134)) - - bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->bottai : Symbol(cahirinus.bottai, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 572, 281)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 43)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 79)) ->this : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 43)) - - pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->pinetis : Symbol(cahirinus.pinetis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 573, 104)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 38)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 68)) ->this : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 38)) - - saussurei(): rendalli.crenulata, argurus.netscheri, julianae.oralis>> { var x: rendalli.crenulata, argurus.netscheri, julianae.oralis>>; () => { var y = this; }; return x; } ->saussurei : Symbol(cahirinus.saussurei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 574, 93)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 575, 233)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 575, 456)) ->this : Symbol(cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 575, 233)) - } -} -module sagitta { ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) - - export class leptoceros extends caurinus.johorensis> { ->leptoceros : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 579, 28)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 579, 31)) ->caurinus.johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) - - victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->victus : Symbol(leptoceros.victus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 579, 145)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 47)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 87)) ->this : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 47)) - - hoplomyoides(): panglima.fundatus, nigra.gracilis> { var x: panglima.fundatus, nigra.gracilis>; () => { var y = this; }; return x; } ->hoplomyoides : Symbol(leptoceros.hoplomyoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 580, 112)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 168)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 323)) ->this : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 168)) - - gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->gratiosus : Symbol(leptoceros.gratiosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 581, 348)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 42)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 74)) ->this : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 42)) - - rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->rex : Symbol(leptoceros.rex, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 582, 99)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 35)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 66)) ->this : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 35)) - - bolami(): trivirgatus.tumidifrons { var x: trivirgatus.tumidifrons; () => { var y = this; }; return x; } ->bolami : Symbol(leptoceros.bolami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 583, 91)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 584, 90)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 584, 173)) ->this : Symbol(leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 584, 90)) - } -} -module daubentonii { ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) - - export class nigricans extends sagitta.stolzmanni { ->nigricans : Symbol(nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 588, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 588, 30)) ->sagitta.stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) - - woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->woosnami : Symbol(nigricans.woosnami, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 588, 63)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 589, 47)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 589, 85)) ->this : Symbol(nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 589, 47)) - } -} -module dammermani { ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) - - export class siberu { ->siberu : Symbol(siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 593, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 593, 27)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class pygmaea extends rendalli.moojeni { ->pygmaea : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 597, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 597, 28)) ->rendalli.moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) - - pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->pajeros : Symbol(pygmaea.pajeros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 597, 106)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 45)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 82)) ->this : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 45)) - - capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->capucinus : Symbol(pygmaea.capucinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 598, 107)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 45)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 80)) ->this : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 45)) - - cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->cuvieri : Symbol(pygmaea.cuvieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 599, 105)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 600, 48)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 600, 88)) ->this : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 600, 48)) - } -} -module chrysaeolus { ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) - - export class sarasinorum extends caurinus.psilurus { ->sarasinorum : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 604, 29)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 604, 32)) ->caurinus.psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) - - belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->belzebul : Symbol(sarasinorum.belzebul, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 604, 64)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 45)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 81)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 45)) - - hinpoon(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->hinpoon : Symbol(sarasinorum.hinpoon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 605, 106)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 83)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 158)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 83)) - - kandti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->kandti : Symbol(sarasinorum.kandti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 606, 183)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 81)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 155)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 81)) - - cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cynosuros : Symbol(sarasinorum.cynosuros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 607, 180)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 46)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 82)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 46)) - - Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->Germanium : Symbol(sarasinorum.Germanium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 608, 107)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 39)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 68)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 39)) - - Ununoctium(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->Ununoctium : Symbol(sarasinorum.Ununoctium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 609, 93)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 86)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 161)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 86)) - - princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->princeps : Symbol(sarasinorum.princeps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 610, 186)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 611, 47)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 611, 85)) ->this : Symbol(sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 611, 47)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class wetmorei { ->wetmorei : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 29)) - - leucoptera(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->leucoptera : Symbol(wetmorei.leucoptera, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 615, 35)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 86)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 161)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 86)) - - ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->ochraventer : Symbol(wetmorei.ochraventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 616, 186)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 44)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 76)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 44)) - - tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->tephromelas : Symbol(wetmorei.tephromelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 617, 101)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 48)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 84)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 48)) - - cracens(): argurus.gilbertii { var x: argurus.gilbertii; () => { var y = this; }; return x; } ->cracens : Symbol(wetmorei.cracens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 618, 109)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 78)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->gilbertii : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 148)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 78)) - - jamaicensis(): nigra.thalia> { var x: nigra.thalia>; () => { var y = this; }; return x; } ->jamaicensis : Symbol(wetmorei.jamaicensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 619, 173)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 129)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 246)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 129)) - - gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->gymnocaudus : Symbol(wetmorei.gymnocaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 620, 271)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 46)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 80)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 46)) - - mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->mayori : Symbol(wetmorei.mayori, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 621, 105)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 622, 42)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 622, 77)) ->this : Symbol(wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 622, 42)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class oreas extends lavali.wilsoni { ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->lavali.wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) - - salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->salamonis : Symbol(oreas.salamonis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 626, 47)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 47)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 84)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 47)) - - paniscus(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->paniscus : Symbol(oreas.paniscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 627, 109)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 89)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 169)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 89)) - - fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fagani : Symbol(oreas.fagani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 628, 194)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 45)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 83)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 45)) - - papuanus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->papuanus : Symbol(oreas.papuanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 629, 108)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 92)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 175)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 92)) - - timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->timidus : Symbol(oreas.timidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 630, 200)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 44)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 80)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 44)) - - nghetinhensis(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->nghetinhensis : Symbol(oreas.nghetinhensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 631, 105)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 85)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 156)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 85)) - - barbei(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->barbei : Symbol(oreas.barbei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 632, 181)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 85)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 163)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 85)) - - univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->univittatus : Symbol(oreas.univittatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 633, 188)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 634, 47)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 634, 82)) ->this : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 634, 47)) - } -} -module daubentonii { ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) - - export class arboreus { ->arboreus : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 29)) - - capreolus(): rendalli.crenulata, lavali.wilsoni> { var x: rendalli.crenulata, lavali.wilsoni>; () => { var y = this; }; return x; } ->capreolus : Symbol(arboreus.capreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 638, 35)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 124)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 238)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 124)) - - moreni(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->moreni : Symbol(arboreus.moreni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 639, 263)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 84)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 161)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 84)) - - hypoleucos(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->hypoleucos : Symbol(arboreus.hypoleucos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 640, 186)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 83)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 155)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 83)) - - paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->paedulcus : Symbol(arboreus.paedulcus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 641, 180)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 48)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 86)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 48)) - - pucheranii(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pucheranii : Symbol(arboreus.pucheranii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 642, 111)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 86)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 161)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 86)) - - stella(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->stella : Symbol(arboreus.stella, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 643, 186)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 80)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 153)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 80)) - - brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->brasiliensis : Symbol(arboreus.brasiliensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 644, 178)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 52)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 91)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 52)) - - brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->brevicaudata : Symbol(arboreus.brevicaudata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 645, 116)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 51)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 89)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 51)) - - vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->vitticollis : Symbol(arboreus.vitticollis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 646, 114)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 49)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 86)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 49)) - - huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->huangensis : Symbol(arboreus.huangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 647, 111)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 45)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 79)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 45)) - - cameroni(): petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> { var x: petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus>; () => { var y = this; }; return x; } ->cameroni : Symbol(arboreus.cameroni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 648, 104)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 210)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 411)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 210)) - - tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->tianshanica : Symbol(arboreus.tianshanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 649, 436)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 650, 42)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 650, 72)) ->this : Symbol(arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 650, 42)) - } -} -module patas { ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) - - export class uralensis { ->uralensis : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) - - cartilagonodus(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->cartilagonodus : Symbol(uralensis.cartilagonodus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 654, 28)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 95)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 175)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 95)) - - pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->pyrrhinus : Symbol(uralensis.pyrrhinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 655, 200)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 39)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 68)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 39)) - - insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->insulans : Symbol(uralensis.insulans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 656, 93)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 45)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 81)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 45)) - - nigricauda(): caurinus.johorensis, Lanthanum.jugularis> { var x: caurinus.johorensis, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->nigricauda : Symbol(uralensis.nigricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 657, 106)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 130)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 249)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 130)) - - muricauda(): panglima.fundatus> { var x: panglima.fundatus>; () => { var y = this; }; return x; } ->muricauda : Symbol(uralensis.muricauda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 658, 274)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 120)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 230)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 120)) - - albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->albicaudus : Symbol(uralensis.albicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 659, 255)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 46)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 81)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 46)) - - fallax(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->fallax : Symbol(uralensis.fallax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 660, 106)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 78)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 149)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 78)) - - attenuata(): macrorhinos.marmosurus> { var x: macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->attenuata : Symbol(uralensis.attenuata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 661, 174)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 134)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 258)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 134)) - - megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->megalura : Symbol(uralensis.megalura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 662, 283)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 39)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 69)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 39)) - - neblina(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->neblina : Symbol(uralensis.neblina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 663, 94)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 93)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 178)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 93)) - - citellus(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->citellus : Symbol(uralensis.citellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 664, 203)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 95)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 181)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 95)) - - tanezumi(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->tanezumi : Symbol(uralensis.tanezumi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 665, 206)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 87)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 165)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 87)) - - albiventer(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->albiventer : Symbol(uralensis.albiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 666, 190)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 667, 89)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 667, 167)) ->this : Symbol(uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 667, 89)) - } -} -module provocax { ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) - - export class melanoleuca extends lavali.wilsoni { ->melanoleuca : Symbol(melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->lavali.wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) - - Neodymium(): macrorhinos.marmosurus, lutreolus.foina> { var x: macrorhinos.marmosurus, lutreolus.foina>; () => { var y = this; }; return x; } ->Neodymium : Symbol(melanoleuca.Neodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 671, 53)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 130)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 250)) ->this : Symbol(melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 130)) - - baeri(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->baeri : Symbol(melanoleuca.baeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 672, 275)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 673, 81)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 673, 156)) ->this : Symbol(melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 673, 81)) - } -} -module sagitta { ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) - - export class sicarius { ->sicarius : Symbol(sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 29)) - - Chlorine(): samarensis.cahirinus, dogramacii.robustulus> { var x: samarensis.cahirinus, dogramacii.robustulus>; () => { var y = this; }; return x; } ->Chlorine : Symbol(sicarius.Chlorine, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 677, 35)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 127)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 245)) ->this : Symbol(sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 127)) - - simulator(): macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; } ->simulator : Symbol(sicarius.simulator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 678, 270)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 679, 252)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 679, 494)) ->this : Symbol(sicarius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 676, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 679, 252)) - } -} -module howi { ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) - - export class marcanoi extends Lanthanum.megalonyx { ->marcanoi : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->Lanthanum.megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) - - formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->formosae : Symbol(marcanoi.formosae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 683, 55)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 45)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 81)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 45)) - - dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->dudui : Symbol(marcanoi.dudui, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 684, 106)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 40)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 74)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 40)) - - leander(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->leander : Symbol(marcanoi.leander, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 685, 99)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 89)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 170)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 89)) - - martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->martinsi : Symbol(marcanoi.martinsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 686, 195)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 77)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 43)) - - beatrix(): imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> { var x: imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>>; () => { var y = this; }; return x; } ->beatrix : Symbol(marcanoi.beatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 687, 102)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 286)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 564)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 286)) - - griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->griseoventer : Symbol(marcanoi.griseoventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 688, 589)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 43)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 73)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 43)) - - zerda(): quasiater.wattsi, howi.coludo>> { var x: quasiater.wattsi, howi.coludo>>; () => { var y = this; }; return x; } ->zerda : Symbol(marcanoi.zerda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 689, 98)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 183)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 360)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 183)) - - yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->yucatanicus : Symbol(marcanoi.yucatanicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 690, 385)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 48)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 84)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 48)) - - nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->nigrita : Symbol(marcanoi.nigrita, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 691, 109)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 43)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 78)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 43)) - - jouvenetae(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->jouvenetae : Symbol(marcanoi.jouvenetae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 692, 103)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 81)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 151)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 81)) - - indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->indefessus : Symbol(marcanoi.indefessus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 693, 176)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 43)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 75)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 43)) - - vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->vuquangensis : Symbol(marcanoi.vuquangensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 694, 100)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 53)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 93)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 53)) - - Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->Zirconium : Symbol(marcanoi.Zirconium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 695, 118)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 42)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 74)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 42)) - - hyaena(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->hyaena : Symbol(marcanoi.hyaena, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 696, 99)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 697, 68)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 697, 129)) ->this : Symbol(marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 697, 68)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class gilbertii { ->gilbertii : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 30)) - - nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->nasutus : Symbol(gilbertii.nasutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 701, 36)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 72)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 40)) - - poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->poecilops : Symbol(gilbertii.poecilops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 702, 97)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 43)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 76)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 43)) - - sondaicus(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->sondaicus : Symbol(gilbertii.sondaicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 703, 101)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 81)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 152)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 81)) - - auriventer(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->auriventer : Symbol(gilbertii.auriventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 704, 177)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 92)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->rosalia : Symbol(petrophilus.rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 173)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 92)) - - cherriei(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->cherriei : Symbol(gilbertii.cherriei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 705, 198)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 84)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 159)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 84)) - - lindberghi(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->lindberghi : Symbol(gilbertii.lindberghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 706, 184)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 85)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 159)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 85)) - - pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->pipistrellus : Symbol(gilbertii.pipistrellus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 707, 184)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 52)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 91)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 52)) - - paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paranus : Symbol(gilbertii.paranus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 708, 116)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 42)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 76)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 42)) - - dubosti(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->dubosti : Symbol(gilbertii.dubosti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 709, 101)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 78)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 148)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 78)) - - opossum(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->opossum : Symbol(gilbertii.opossum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 710, 173)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 79)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 150)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 79)) - - oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->oreopolus : Symbol(gilbertii.oreopolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 711, 175)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 48)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 86)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 48)) - - amurensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->amurensis : Symbol(gilbertii.amurensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 712, 111)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 713, 86)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 713, 162)) ->this : Symbol(gilbertii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 700, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 713, 86)) - } -} -module petrophilus { ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) - - export class minutilla { ->minutilla : Symbol(minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) - } -} -module lutreolus { ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) - - export class punicus { ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - strandi(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->strandi : Symbol(punicus.strandi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 721, 26)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 85)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 162)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 85)) - - lar(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->lar : Symbol(punicus.lar, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 722, 187)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 74)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 144)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 74)) - - erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->erica : Symbol(punicus.erica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 723, 169)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 80)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 43)) - - trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->trichura : Symbol(punicus.trichura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 724, 105)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 49)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 89)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 49)) - - lemniscatus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->lemniscatus : Symbol(punicus.lemniscatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 725, 114)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 82)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 152)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 82)) - - aspalax(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->aspalax : Symbol(punicus.aspalax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 726, 177)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 90)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 172)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 90)) - - marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->marshalli : Symbol(punicus.marshalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 727, 197)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 46)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 82)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 46)) - - Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->Zinc : Symbol(punicus.Zinc, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 728, 107)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 44)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 83)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 44)) - - monochromos(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->monochromos : Symbol(punicus.monochromos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 729, 108)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 76)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 140)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 76)) - - purinus(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->purinus : Symbol(punicus.purinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 730, 165)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 84)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 160)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 84)) - - ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->ischyrus : Symbol(punicus.ischyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 731, 185)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 41)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 73)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 41)) - - tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->tenuis : Symbol(punicus.tenuis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 732, 98)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 47)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 87)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 47)) - - Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; } ->Helium : Symbol(punicus.Helium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 733, 112)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 734, 43)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 734, 79)) ->this : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 734, 43)) - } -} -module macrorhinos { ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) - - export class daphaenodon { ->daphaenodon : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) - - bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bredanensis : Symbol(daphaenodon.bredanensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 738, 30)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 47)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 82)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 47)) - - othus(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->othus : Symbol(daphaenodon.othus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 739, 107)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 64)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 122)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 64)) - - hammondi(): julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; } ->hammondi : Symbol(daphaenodon.hammondi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 740, 147)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 193)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->otion : Symbol(lavali.otion, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 270, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 377)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 193)) - - aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->aureocollaris : Symbol(daphaenodon.aureocollaris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 741, 402)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 53)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 92)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 53)) - - flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->flavipes : Symbol(daphaenodon.flavipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 742, 117)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 47)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 85)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 47)) - - callosus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->callosus : Symbol(daphaenodon.callosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 743, 110)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 744, 83)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 744, 157)) ->this : Symbol(daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 744, 83)) - } -} -module sagitta { ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) - - export class cinereus { ->cinereus : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 29)) - - zunigae(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->zunigae : Symbol(cinereus.zunigae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 748, 35)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 124)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 240)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 124)) - - microps(): daubentonii.nigricans> { var x: daubentonii.nigricans>; () => { var y = this; }; return x; } ->microps : Symbol(cinereus.microps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 749, 265)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 127)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nigricans : Symbol(daubentonii.nigricans, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 587, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 246)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 127)) - - guaporensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->guaporensis : Symbol(cinereus.guaporensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 750, 271)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 86)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 160)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 86)) - - tonkeana(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->tonkeana : Symbol(cinereus.tonkeana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 751, 185)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 87)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 165)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 87)) - - montensis(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->montensis : Symbol(cinereus.montensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 752, 190)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 86)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 162)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 86)) - - sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->sphinx : Symbol(cinereus.sphinx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 753, 187)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 45)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 83)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 45)) - - glis(): argurus.wetmorei { var x: argurus.wetmorei; () => { var y = this; }; return x; } ->glis : Symbol(cinereus.glis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 754, 108)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 68)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 131)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 68)) - - dorsalis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->dorsalis : Symbol(cinereus.dorsalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 755, 156)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 81)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 153)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 81)) - - fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->fimbriatus : Symbol(cinereus.fimbriatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 756, 178)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 48)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 85)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 48)) - - sara(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->sara : Symbol(cinereus.sara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 757, 110)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 78)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 151)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 78)) - - epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->epimelas : Symbol(cinereus.epimelas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 758, 176)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 44)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 79)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 44)) - - pittieri(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pittieri : Symbol(cinereus.pittieri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 759, 104)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 760, 87)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 760, 165)) ->this : Symbol(cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 760, 87)) - } -} -module nigra { ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) - - export class caucasica { ->caucasica : Symbol(caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 764, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 764, 30)) - } -} -module gabriellae { ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) - - export class klossii extends imperfecta.lasiurus { ->klossii : Symbol(klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 768, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 768, 28)) ->imperfecta.lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) - } - export class amicus { ->amicus : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) - - pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->pirrensis : Symbol(amicus.pirrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 770, 25)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 43)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 76)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 43)) - - phaeura(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->phaeura : Symbol(amicus.phaeura, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 771, 101)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 76)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 144)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 76)) - - voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->voratus : Symbol(amicus.voratus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 772, 169)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 72)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 40)) - - satarae(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->satarae : Symbol(amicus.satarae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 773, 97)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 76)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 144)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 76)) - - hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->hooperi : Symbol(amicus.hooperi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 774, 169)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 42)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 76)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 42)) - - perrensi(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->perrensi : Symbol(amicus.perrensi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 775, 101)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 82)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 155)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 82)) - - ridei(): ruatanica.hector> { var x: ruatanica.hector>; () => { var y = this; }; return x; } ->ridei : Symbol(amicus.ridei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 776, 180)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 117)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(ruatanica.hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 228)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 117)) - - audeberti(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->audeberti : Symbol(amicus.audeberti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 777, 253)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 86)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 162)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 86)) - - Lutetium(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->Lutetium : Symbol(amicus.Lutetium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 778, 187)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 85)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 161)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 85)) - - atrox(): samarensis.fuscus, dogramacii.koepckeae> { var x: samarensis.fuscus, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->atrox : Symbol(amicus.atrox, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 779, 186)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 780, 114)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 780, 222)) ->this : Symbol(amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 780, 114)) - } - export class echinatus { ->echinatus : Symbol(echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) - - tenuipes(): howi.coludo> { var x: howi.coludo>; () => { var y = this; }; return x; } ->tenuipes : Symbol(echinatus.tenuipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 782, 28)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 783, 124)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 783, 239)) ->this : Symbol(echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 783, 124)) - } -} -module imperfecta { ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) - - export class lasiurus { ->lasiurus : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 26)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 29)) - - marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->marisae : Symbol(lasiurus.marisae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 787, 35)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 72)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 40)) - - fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->fulvus : Symbol(lasiurus.fulvus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 788, 97)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 40)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 73)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 40)) - - paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->paranaensis : Symbol(lasiurus.paranaensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 789, 98)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 49)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 86)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 49)) - - didactylus(): panglima.abidi> { var x: panglima.abidi>; () => { var y = this; }; return x; } ->didactylus : Symbol(lasiurus.didactylus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 790, 111)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 130)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 249)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 130)) - - schreibersii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->schreibersii : Symbol(lasiurus.schreibersii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 791, 274)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 84)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(ruatanica.americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 155)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 84)) - - orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->orii : Symbol(lasiurus.orii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 792, 180)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 793, 40)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 793, 75)) ->this : Symbol(lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 793, 40)) - } - export class subspinosus { ->subspinosus : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) - - monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->monticularis : Symbol(subspinosus.monticularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 795, 30)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 53)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 93)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 53)) - - Gadolinium(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->Gadolinium : Symbol(subspinosus.Gadolinium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 796, 118)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 80)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 149)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 80)) - - oasicus(): caurinus.johorensis> { var x: caurinus.johorensis>; () => { var y = this; }; return x; } ->oasicus : Symbol(subspinosus.oasicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 797, 174)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 124)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(argurus.peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 240)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 124)) - - paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paterculus : Symbol(subspinosus.paterculus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 798, 265)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 45)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 79)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 45)) - - punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->punctata : Symbol(subspinosus.punctata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 799, 104)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 41)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 73)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 41)) - - invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->invictus : Symbol(subspinosus.invictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 800, 98)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 44)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 79)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 44)) - - stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->stangeri : Symbol(subspinosus.stangeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 801, 104)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 47)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 85)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 47)) - - siskiyou(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->siskiyou : Symbol(subspinosus.siskiyou, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 802, 110)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 84)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 159)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 84)) - - welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->welwitschii : Symbol(subspinosus.welwitschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 803, 184)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 52)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 92)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 52)) - - Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Polonium : Symbol(subspinosus.Polonium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 804, 117)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 40)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 71)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 40)) - - harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->harpia : Symbol(subspinosus.harpia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 805, 96)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 806, 40)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 806, 73)) ->this : Symbol(subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 806, 40)) - } - export class ciliolabrum extends dogramacii.robustulus { ->ciliolabrum : Symbol(ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 808, 29)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 808, 32)) ->dogramacii.robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) - - leschenaultii(): argurus.dauricus> { var x: argurus.dauricus>; () => { var y = this; }; return x; } ->leschenaultii : Symbol(ciliolabrum.leschenaultii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 808, 68)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 132)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 250)) ->this : Symbol(ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 132)) - - ludia(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->ludia : Symbol(ciliolabrum.ludia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 809, 275)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 86)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 166)) ->this : Symbol(ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 86)) - - sinicus(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->sinicus : Symbol(ciliolabrum.sinicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 810, 191)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 811, 91)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 811, 174)) ->this : Symbol(ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 811, 91)) - } -} -module quasiater { ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) - - export class wattsi { ->wattsi : Symbol(wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 27)) - - lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->lagotis : Symbol(wattsi.lagotis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 815, 33)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 45)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 82)) ->this : Symbol(wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 45)) - - hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->hussoni : Symbol(wattsi.hussoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 816, 107)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 39)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 70)) ->this : Symbol(wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 39)) - - bilarni(): samarensis.cahirinus>, dogramacii.koepckeae> { var x: samarensis.cahirinus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->bilarni : Symbol(wattsi.bilarni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 817, 95)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 158)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 308)) ->this : Symbol(wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 158)) - - cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->cabrerae : Symbol(wattsi.cabrerae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 818, 333)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 819, 41)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 819, 73)) ->this : Symbol(wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 819, 41)) - } -} -module butleri { ->butleri : Symbol(butleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 821, 1)) -} -module petrophilus { ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) - - export class sodyi extends quasiater.bobrinskoi { ->sodyi : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 825, 23)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 825, 26)) ->quasiater.bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) - - saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->saundersiae : Symbol(sodyi.saundersiae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 825, 61)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 48)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 84)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 48)) - - imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->imberbis : Symbol(sodyi.imberbis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 826, 109)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 48)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 87)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 48)) - - cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cansdalei : Symbol(sodyi.cansdalei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 827, 112)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 46)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 82)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 46)) - - Lawrencium(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->Lawrencium : Symbol(sodyi.Lawrencium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 828, 107)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 88)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 165)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 88)) - - catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->catta : Symbol(sodyi.catta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 829, 190)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 36)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 66)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 36)) - - breviceps(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->breviceps : Symbol(sodyi.breviceps, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 830, 91)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 83)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 156)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 83)) - - transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->transitionalis : Symbol(sodyi.transitionalis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 831, 181)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 50)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 85)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 50)) - - heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->heptneri : Symbol(sodyi.heptneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 832, 110)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 42)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 75)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 42)) - - bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->bairdii : Symbol(sodyi.bairdii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 833, 100)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 834, 37)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 834, 66)) ->this : Symbol(sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 834, 37)) - } -} -module caurinus { ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) - - export class megaphyllus extends imperfecta.lasiurus> { ->megaphyllus : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->imperfecta.lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) - - montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->montana : Symbol(megaphyllus.montana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 838, 122)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 38)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 68)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 38)) - - amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->amatus : Symbol(megaphyllus.amatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 839, 93)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 43)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 79)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 43)) - - bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->bucculentus : Symbol(megaphyllus.bucculentus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 840, 104)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 49)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 86)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 49)) - - lepida(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->lepida : Symbol(megaphyllus.lepida, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 841, 111)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 113)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 219)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 113)) - - graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->graecus : Symbol(megaphyllus.graecus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 842, 244)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 43)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 78)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 43)) - - forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->forsteri : Symbol(megaphyllus.forsteri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 843, 103)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 47)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 85)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 47)) - - perotensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->perotensis : Symbol(megaphyllus.perotensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 844, 110)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 88)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 165)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 88)) - - cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->cirrhosus : Symbol(megaphyllus.cirrhosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 845, 190)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 846, 49)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 846, 88)) ->this : Symbol(megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 846, 49)) - } -} -module minutus { ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) - - export class portoricensis { ->portoricensis : Symbol(portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) - - relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->relictus : Symbol(portoricensis.relictus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 850, 32)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 48)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 87)) ->this : Symbol(portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 48)) - - aequatorianus(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->aequatorianus : Symbol(portoricensis.aequatorianus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 851, 112)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 89)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 164)) ->this : Symbol(portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 89)) - - rhinogradoides(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->rhinogradoides : Symbol(portoricensis.rhinogradoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 852, 189)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 853, 95)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->cahirinus : Symbol(samarensis.cahirinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 569, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 853, 175)) ->this : Symbol(portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 853, 95)) - } -} -module lutreolus { ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) - - export class foina { ->foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) - - tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tarfayensis : Symbol(foina.tarfayensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 857, 24)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 46)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 80)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 46)) - - Promethium(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->Promethium : Symbol(foina.Promethium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 858, 105)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 83)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pelurus : Symbol(samarensis.pelurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 532, 19)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 155)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 83)) - - salinae(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->salinae : Symbol(foina.salinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 859, 180)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 92)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 176)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 92)) - - kerri(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->kerri : Symbol(foina.kerri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 860, 201)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 81)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 156)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 81)) - - scotti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->scotti : Symbol(foina.scotti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 861, 181)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 88)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 169)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 88)) - - camerunensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->camerunensis : Symbol(foina.camerunensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 862, 194)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 91)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->durangae : Symbol(julianae.durangae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 94, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 169)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 91)) - - affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->affinis : Symbol(foina.affinis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 863, 194)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 41)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 74)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 41)) - - siebersi(): trivirgatus.lotor> { var x: trivirgatus.lotor>; () => { var y = this; }; return x; } ->siebersi : Symbol(foina.siebersi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 864, 99)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 105)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 201)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 105)) - - maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->maquassiensis : Symbol(foina.maquassiensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 865, 226)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 52)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 90)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 52)) - - layardi(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->layardi : Symbol(foina.layardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 866, 115)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 79)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 150)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 79)) - - bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->bishopi : Symbol(foina.bishopi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 867, 175)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 42)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 76)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 42)) - - apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->apodemoides : Symbol(foina.apodemoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 868, 101)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 46)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 80)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 46)) - - argentiventer(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->argentiventer : Symbol(foina.argentiventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 869, 105)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 870, 87)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 870, 160)) ->this : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 870, 87)) - } -} -module lutreolus { ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) - - export class cor extends panglima.fundatus, lavali.beisa>, dammermani.melanops> { ->cor : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 874, 21)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 874, 24)) ->panglima.fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) - - antinorii(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->antinorii : Symbol(cor.antinorii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 874, 164)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 86)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 162)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 86)) - - voi(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->voi : Symbol(cor.voi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 875, 187)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 86)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->johorensis : Symbol(caurinus.johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 168)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 86)) - - mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->mussoi : Symbol(cor.mussoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 876, 193)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 46)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 85)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 46)) - - truncatus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->truncatus : Symbol(cor.truncatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 877, 110)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 81)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 152)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 81)) - - achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->achates : Symbol(cor.achates, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 878, 177)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 45)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 82)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 45)) - - praedatrix(): howi.angulatus { var x: howi.angulatus; () => { var y = this; }; return x; } ->praedatrix : Symbol(cor.praedatrix, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 879, 107)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 80)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 149)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 80)) - - mzabi(): quasiater.wattsi, minutus.inez> { var x: quasiater.wattsi, minutus.inez>; () => { var y = this; }; return x; } ->mzabi : Symbol(cor.mzabi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 880, 174)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 155)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->wattsi : Symbol(quasiater.wattsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 814, 18)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 304)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 155)) - - xanthinus(): nigra.gracilis, howi.marcanoi> { var x: nigra.gracilis, howi.marcanoi>; () => { var y = this; }; return x; } ->xanthinus : Symbol(cor.xanthinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 881, 329)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 119)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 228)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 119)) - - tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->tapoatafa : Symbol(cor.tapoatafa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 882, 253)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 47)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 84)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 47)) - - castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->castroviejoi : Symbol(cor.castroviejoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 883, 109)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 884, 49)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 884, 85)) ->this : Symbol(cor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 873, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 884, 49)) - } -} -module howi { ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) - - export class coludo { ->coludo : Symbol(coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 24)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 27)) - - bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->bernhardi : Symbol(coludo.bernhardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 888, 33)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 44)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 78)) ->this : Symbol(coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 44)) - - isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->isseli : Symbol(coludo.isseli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 889, 103)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 890, 40)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 890, 73)) ->this : Symbol(coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 890, 40)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class germaini extends gabriellae.amicus { ->germaini : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->gabriellae.amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) - - sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->sharpei : Symbol(germaini.sharpei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 894, 53)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 39)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 70)) ->this : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 39)) - - palmarum(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->palmarum : Symbol(germaini.palmarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 895, 95)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 896, 86)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 896, 163)) ->this : Symbol(germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 896, 86)) - } -} -module sagitta { ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) - - export class stolzmanni { ->stolzmanni : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) - - riparius(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->riparius : Symbol(stolzmanni.riparius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 900, 29)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 83)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 157)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 83)) - - dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->dhofarensis : Symbol(stolzmanni.dhofarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 901, 182)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 44)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 76)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 44)) - - tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->tricolor : Symbol(stolzmanni.tricolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 902, 101)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 42)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->germaini : Symbol(argurus.germaini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 893, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 75)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 42)) - - gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->gardneri : Symbol(stolzmanni.gardneri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 903, 100)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 46)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 83)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 46)) - - walleri(): rendalli.moojeni, gabriellae.echinatus> { var x: rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->walleri : Symbol(stolzmanni.walleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 904, 108)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 132)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 256)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 132)) - - talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->talpoides : Symbol(stolzmanni.talpoides, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 905, 281)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 47)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 84)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 47)) - - pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->pallipes : Symbol(stolzmanni.pallipes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 906, 109)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 45)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 81)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 45)) - - lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->lagurus : Symbol(stolzmanni.lagurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 907, 106)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 37)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 66)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 37)) - - hipposideros(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->hipposideros : Symbol(stolzmanni.hipposideros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 908, 91)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 87)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 161)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 87)) - - griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->griselda : Symbol(stolzmanni.griselda, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 909, 186)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 43)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 77)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 43)) - - florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->florium : Symbol(stolzmanni.florium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 910, 102)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 911, 43)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->zuluensis : Symbol(rendalli.zuluensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 152, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 911, 78)) ->this : Symbol(stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 911, 43)) - } -} -module dammermani { ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) - - export class melanops extends minutus.inez { ->melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->minutus.inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) - - blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->blarina : Symbol(melanops.blarina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 915, 89)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 44)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 80)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 44)) - - harwoodi(): rionegrensis.veraecrucis, lavali.wilsoni> { var x: rionegrensis.veraecrucis, lavali.wilsoni>; () => { var y = this; }; return x; } ->harwoodi : Symbol(melanops.harwoodi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 916, 105)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 122)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->veraecrucis : Symbol(rionegrensis.veraecrucis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 7, 3)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->dolichurus : Symbol(nigra.dolichurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 389, 14)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 235)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 122)) - - ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->ashaninka : Symbol(melanops.ashaninka, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 917, 260)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 46)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 82)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 46)) - - wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->wiedii : Symbol(melanops.wiedii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 918, 107)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 40)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 73)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 40)) - - godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->godmani : Symbol(melanops.godmani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 919, 98)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 47)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 86)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 47)) - - condorensis(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->condorensis : Symbol(melanops.condorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 920, 111)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 91)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 170)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 91)) - - xerophila(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->xerophila : Symbol(melanops.xerophila, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 921, 195)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 81)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 152)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 81)) - - laminatus(): panglima.fundatus>> { var x: panglima.fundatus>>; () => { var y = this; }; return x; } ->laminatus : Symbol(melanops.laminatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 922, 177)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 164)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->fuscus : Symbol(samarensis.fuscus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 547, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->subspinosus : Symbol(imperfecta.subspinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 794, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 318)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 164)) - - archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->archeri : Symbol(melanops.archeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 923, 343)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 38)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 68)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 38)) - - hidalgo(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->hidalgo : Symbol(melanops.hidalgo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 924, 93)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 81)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 154)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 81)) - - unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->unicolor : Symbol(melanops.unicolor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 925, 179)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 45)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 81)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 45)) - - philippii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->philippii : Symbol(melanops.philippii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 926, 106)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 78)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->gracilis : Symbol(nigra.gracilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 515, 14)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 146)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 78)) - - bocagei(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->bocagei : Symbol(melanops.bocagei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 927, 171)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 928, 75)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 928, 142)) ->this : Symbol(melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 928, 75)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class peninsulae extends patas.uralensis { ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->patas.uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) - - aitkeni(): trivirgatus.mixtus, panglima.amphibius> { var x: trivirgatus.mixtus, panglima.amphibius>; () => { var y = this; }; return x; } ->aitkeni : Symbol(peninsulae.aitkeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 932, 53)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 162)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 316)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 162)) - - novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->novaeangliae : Symbol(peninsulae.novaeangliae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 933, 341)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 50)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 87)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 50)) - - olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->olallae : Symbol(peninsulae.olallae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 934, 112)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 43)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 78)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 43)) - - anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->anselli : Symbol(peninsulae.anselli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 935, 103)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 42)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 76)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 42)) - - timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->timminsi : Symbol(peninsulae.timminsi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 936, 101)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 49)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 89)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 49)) - - sordidus(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->sordidus : Symbol(peninsulae.sordidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 937, 114)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 89)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 169)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 89)) - - telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->telfordi : Symbol(peninsulae.telfordi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 938, 194)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 47)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->oconnelli : Symbol(trivirgatus.oconnelli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 219, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 85)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 47)) - - cavernarum(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->cavernarum : Symbol(peninsulae.cavernarum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 939, 110)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 940, 80)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 940, 149)) ->this : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 940, 80)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class netscheri { ->netscheri : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 30)) - - gravis(): nigra.caucasica, dogramacii.kaiseri> { var x: nigra.caucasica, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->gravis : Symbol(netscheri.gravis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 944, 36)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 117)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->caucasica : Symbol(nigra.caucasica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 763, 14)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 227)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 117)) - - ruschii(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ruschii : Symbol(netscheri.ruschii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 945, 252)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 127)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 246)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 127)) - - tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->tricuspidatus : Symbol(netscheri.tricuspidatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 946, 271)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 45)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->wilsoni : Symbol(lavali.wilsoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 253, 15)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 76)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 45)) - - fernandezi(): dammermani.siberu, panglima.abidi> { var x: dammermani.siberu, panglima.abidi>; () => { var y = this; }; return x; } ->fernandezi : Symbol(netscheri.fernandezi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 947, 101)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 153)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->nigra : Symbol(nigra, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 388, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 475, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 514, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 762, 1)) ->thalia : Symbol(nigra.thalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 476, 14)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->peninsulae : Symbol(peninsulae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 931, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 295)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 153)) - - colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->colletti : Symbol(netscheri.colletti, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 948, 320)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 45)) ->samarensis : Symbol(samarensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 531, 1)) ->pallidus : Symbol(samarensis.pallidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 563, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 81)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 45)) - - microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->microbullatus : Symbol(netscheri.microbullatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 949, 106)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 50)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->schlegeli : Symbol(lutreolus.schlegeli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 356, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 86)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 50)) - - eburneae(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->eburneae : Symbol(netscheri.eburneae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 950, 111)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 95)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 181)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 95)) - - tatei(): argurus.pygmaea> { var x: argurus.pygmaea>; () => { var y = this; }; return x; } ->tatei : Symbol(netscheri.tatei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 951, 206)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->pygmaea : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 121)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->pygmaea : Symbol(pygmaea, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 596, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 236)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 121)) - - millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->millardi : Symbol(netscheri.millardi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 952, 261)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 41)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 73)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 41)) - - pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->pruinosus : Symbol(netscheri.pruinosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 953, 98)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 48)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 86)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 48)) - - delator(): argurus.netscheri { var x: argurus.netscheri; () => { var y = this; }; return x; } ->delator : Symbol(netscheri.delator, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 954, 111)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 79)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 150)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 79)) - - nyikae(): trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; } ->nyikae : Symbol(netscheri.nyikae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 955, 175)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 167)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->tumidifrons : Symbol(trivirgatus.tumidifrons, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 187, 20)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->angulatus : Symbol(howi.angulatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 467, 13)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 327)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 167)) - - ruemmleri(): panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> { var x: panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->ruemmleri : Symbol(netscheri.ruemmleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 956, 352)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 957, 242)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 957, 474)) ->this : Symbol(netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 957, 242)) - } -} -module ruatanica { ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) - - export class Praseodymium extends ruatanica.hector { ->Praseodymium : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 961, 30)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 961, 33)) ->ruatanica.hector : Symbol(hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->hector : Symbol(hector, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 101, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) - - clara(): panglima.amphibius, argurus.dauricus> { var x: panglima.amphibius, argurus.dauricus>; () => { var y = this; }; return x; } ->clara : Symbol(Praseodymium.clara, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 961, 102)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 168)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->americanus : Symbol(americanus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 245, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 330)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 168)) - - spectabilis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spectabilis : Symbol(Praseodymium.spectabilis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 962, 355)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 95)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 178)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 95)) - - kamensis(): trivirgatus.lotor, lavali.lepturus> { var x: trivirgatus.lotor, lavali.lepturus>; () => { var y = this; }; return x; } ->kamensis : Symbol(Praseodymium.kamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 963, 203)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 123)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->kaiseri : Symbol(dogramacii.kaiseri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 329, 3)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->portoricensis : Symbol(minutus.portoricensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 849, 16)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 237)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 123)) - - ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->ruddi : Symbol(Praseodymium.ruddi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 964, 262)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 38)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 70)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 38)) - - bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bartelsii : Symbol(Praseodymium.bartelsii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 965, 95)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 45)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->sumatrana : Symbol(julianae.sumatrana, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 58, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 80)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 45)) - - yerbabuenae(): dammermani.siberu, imperfecta.ciliolabrum> { var x: dammermani.siberu, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->yerbabuenae : Symbol(Praseodymium.yerbabuenae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 966, 105)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 173)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->siberu : Symbol(dammermani.siberu, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 592, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->minutilla : Symbol(petrophilus.minutilla, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 716, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 334)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 173)) - - davidi(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->davidi : Symbol(Praseodymium.davidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 967, 359)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 84)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 161)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 84)) - - pilirostris(): argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> { var x: argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->pilirostris : Symbol(Praseodymium.pilirostris, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 968, 186)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 298)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->wetmorei : Symbol(argurus.wetmorei, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 614, 16)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->klossii : Symbol(gabriellae.klossii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 767, 19)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->leptoceros : Symbol(sagitta.leptoceros, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 578, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->arboreus : Symbol(daubentonii.arboreus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 637, 20)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 584)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 298)) - - catherinae(): imperfecta.lasiurus, petrophilus.sodyi> { var x: imperfecta.lasiurus, petrophilus.sodyi>; () => { var y = this; }; return x; } ->catherinae : Symbol(Praseodymium.catherinae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 969, 609)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 169)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->konganensis : Symbol(macrorhinos.konganensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 498, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 327)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 169)) - - frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->frontata : Symbol(Praseodymium.frontata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 970, 352)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 39)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 69)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 39)) - - Terbium(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->Terbium : Symbol(Praseodymium.Terbium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 971, 94)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 85)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->galapagoensis : Symbol(julianae.galapagoensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 25, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 162)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 85)) - - thomensis(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->thomensis : Symbol(Praseodymium.thomensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 972, 187)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 113)) ->minutus : Symbol(minutus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 433, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 492, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 848, 1)) ->inez : Symbol(minutus.inez, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 493, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->albidens : Symbol(julianae.albidens, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 34, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 216)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 113)) - - soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->soricinus : Symbol(Praseodymium.soricinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 973, 241)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 974, 49)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 974, 88)) ->this : Symbol(Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 974, 49)) - } -} -module caurinus { ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) - - export class johorensis extends lutreolus.punicus { ->johorensis : Symbol(johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 978, 28)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 978, 31)) ->lutreolus.punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - maini(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maini : Symbol(johorensis.maini, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 978, 63)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 979, 83)) ->ruatanica : Symbol(ruatanica, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 100, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 244, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 959, 1)) ->Praseodymium : Symbol(ruatanica.Praseodymium, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 960, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->acariensis : Symbol(julianae.acariensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 80, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 979, 160)) ->this : Symbol(johorensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 977, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 979, 83)) - } -} -module argurus { ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) - - export class luctuosa { ->luctuosa : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) - - loriae(): rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; } ->loriae : Symbol(luctuosa.loriae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 983, 27)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 984, 205)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->marmosurus : Symbol(macrorhinos.marmosurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 462, 20)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->moojeni : Symbol(rendalli.moojeni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 168, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->echinatus : Symbol(gabriellae.echinatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 781, 5)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 984, 403)) ->this : Symbol(luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 984, 205)) - } -} -module panamensis { ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) - - export class setulosus { ->setulosus : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 27)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 30)) - - duthieae(): caurinus.mahaganus, dogramacii.aurata> { var x: caurinus.mahaganus, dogramacii.aurata>; () => { var y = this; }; return x; } ->duthieae : Symbol(setulosus.duthieae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 988, 36)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 106)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->mahaganus : Symbol(caurinus.mahaganus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 450, 17)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->oreas : Symbol(argurus.oreas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 625, 16)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 203)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 106)) - - guereza(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->guereza : Symbol(setulosus.guereza, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 989, 228)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 80)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 152)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 80)) - - buselaphus(): daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> { var x: daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus>; () => { var y = this; }; return x; } ->buselaphus : Symbol(setulosus.buselaphus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 990, 177)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 199)) ->daubentonii : Symbol(daubentonii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 471, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 586, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 636, 1)) ->nesiotes : Symbol(daubentonii.nesiotes, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 472, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->lotor : Symbol(trivirgatus.lotor, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 206, 3)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->abidi : Symbol(panglima.abidi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 414, 5)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(caurinus.psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->koepckeae : Symbol(dogramacii.koepckeae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 326, 3)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 387)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 199)) - - nuttalli(): sagitta.cinereus, chrysaeolus.sarasinorum> { var x: sagitta.cinereus, chrysaeolus.sarasinorum>; () => { var y = this; }; return x; } ->nuttalli : Symbol(setulosus.nuttalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 991, 412)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 169)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->cinereus : Symbol(sagitta.cinereus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 747, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->netscheri : Symbol(argurus.netscheri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 943, 16)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->nudicaudus : Symbol(julianae.nudicaudus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 18, 3)) ->chrysaeolus : Symbol(chrysaeolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 602, 1)) ->sarasinorum : Symbol(chrysaeolus.sarasinorum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 603, 20)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->xanthognathus : Symbol(lavali.xanthognathus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 285, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 329)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 169)) - - pelii(): rendalli.crenulata, julianae.steerii> { var x: rendalli.crenulata, julianae.steerii>; () => { var y = this; }; return x; } ->pelii : Symbol(setulosus.pelii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 992, 354)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 124)) ->rendalli : Symbol(rendalli, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 151, 1)) ->crenulata : Symbol(rendalli.crenulata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 180, 3)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->rionegrensis : Symbol(rionegrensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 0)) ->caniventer : Symbol(rionegrensis.caniventer, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 0, 21)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->jugularis : Symbol(Lanthanum.jugularis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 134, 3)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->steerii : Symbol(julianae.steerii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 16, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 242)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 124)) - - tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->tunneyi : Symbol(setulosus.tunneyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 993, 267)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 43)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->stolzmanni : Symbol(sagitta.stolzmanni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 899, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 78)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 43)) - - lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->lamula : Symbol(setulosus.lamula, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 994, 103)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 39)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 71)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 39)) - - vampyrus(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->vampyrus : Symbol(setulosus.vampyrus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 995, 96)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 996, 80)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->oralis : Symbol(julianae.oralis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 43, 3)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->provocax : Symbol(provocax, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 669, 1)) ->melanoleuca : Symbol(provocax.melanoleuca, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 670, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 996, 151)) ->this : Symbol(setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 996, 80)) - } -} -module petrophilus { ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) - - export class rosalia { ->rosalia : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->T0 : Symbol(T0, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 25)) ->T1 : Symbol(T1, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 28)) - - palmeri(): panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> { var x: panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>>; () => { var y = this; }; return x; } ->palmeri : Symbol(rosalia.palmeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1000, 34)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 282)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->coludo : Symbol(howi.coludo, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 887, 13)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->macrorhinos : Symbol(macrorhinos, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 461, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 497, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 736, 1)) ->daphaenodon : Symbol(macrorhinos.daphaenodon, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 737, 20)) ->patas : Symbol(patas, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 652, 1)) ->uralensis : Symbol(patas.uralensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 653, 14)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->mixtus : Symbol(trivirgatus.mixtus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 197, 3)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->dauricus : Symbol(argurus.dauricus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 374, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->aurata : Symbol(dogramacii.aurata, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 344, 3)) ->dammermani : Symbol(dammermani, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 591, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 913, 1)) ->melanops : Symbol(dammermani.melanops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 914, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 556)) ->this : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 282)) - - baeops(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->baeops : Symbol(rosalia.baeops, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1001, 581)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 75)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->nitidus : Symbol(Lanthanum.nitidus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 112, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->lepturus : Symbol(lavali.lepturus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 309, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 143)) ->this : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 75)) - - ozensis(): imperfecta.lasiurus, lutreolus.foina> { var x: imperfecta.lasiurus, lutreolus.foina>; () => { var y = this; }; return x; } ->ozensis : Symbol(rosalia.ozensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1002, 168)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 116)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->lasiurus : Symbol(imperfecta.lasiurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 786, 19)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->fundatus : Symbol(panglima.fundatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 409, 5)) ->gabriellae : Symbol(gabriellae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 766, 1)) ->amicus : Symbol(gabriellae.amicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 769, 5)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->foina : Symbol(lutreolus.foina, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 856, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 224)) ->this : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 116)) - - creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->creaghi : Symbol(rosalia.creaghi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1003, 249)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 41)) ->argurus : Symbol(argurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 373, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 595, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 613, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 624, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 699, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 892, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 930, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 942, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 981, 1)) ->luctuosa : Symbol(argurus.luctuosa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 982, 16)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 74)) ->this : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 41)) - - montivaga(): panamensis.setulosus> { var x: panamensis.setulosus>; () => { var y = this; }; return x; } ->montivaga : Symbol(rosalia.montivaga, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1004, 99)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1005, 125)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->megaphyllus : Symbol(caurinus.megaphyllus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 837, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1005, 240)) ->this : Symbol(rosalia, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 999, 20)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1005, 125)) - } -} -module caurinus { ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) - - export class psilurus extends lutreolus.punicus { ->psilurus : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->lutreolus.punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) ->lutreolus : Symbol(lutreolus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 355, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 719, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 855, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 872, 1)) ->punicus : Symbol(lutreolus.punicus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 720, 18)) - - socialis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->socialis : Symbol(psilurus.socialis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1009, 53)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 86)) ->panglima : Symbol(panglima, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 400, 1)) ->amphibius : Symbol(panglima.amphibius, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 401, 17)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->caurinus : Symbol(caurinus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 449, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 836, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 976, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1007, 1)) ->psilurus : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 163)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 86)) - - lundi(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->lundi : Symbol(psilurus.lundi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1010, 188)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 85)) ->petrophilus : Symbol(petrophilus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 715, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 823, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 998, 1)) ->sodyi : Symbol(petrophilus.sodyi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 824, 20)) ->trivirgatus : Symbol(trivirgatus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 186, 1)) ->falconeri : Symbol(trivirgatus.falconeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 210, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->bobrinskoi : Symbol(quasiater.bobrinskoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 237, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 164)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 85)) - - araeum(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->araeum : Symbol(psilurus.araeum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1011, 189)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 84)) ->imperfecta : Symbol(imperfecta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 785, 1)) ->ciliolabrum : Symbol(imperfecta.ciliolabrum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 807, 5)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->beisa : Symbol(lavali.beisa, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 268, 3)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 161)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 84)) - - calamianensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->calamianensis : Symbol(psilurus.calamianensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1012, 186)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 90)) ->julianae : Symbol(julianae, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 15, 1)) ->gerbillus : Symbol(julianae.gerbillus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 67, 3)) ->lavali : Symbol(lavali, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 252, 1)) ->thaeleri : Symbol(lavali.thaeleri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 299, 3)) ->quasiater : Symbol(quasiater, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 236, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 422, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 813, 1)) ->carolinensis : Symbol(quasiater.carolinensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 423, 18)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 166)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 90)) - - petersoni(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->petersoni : Symbol(psilurus.petersoni, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1013, 191)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 87)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->setulosus : Symbol(panamensis.setulosus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 987, 19)) ->sagitta : Symbol(sagitta, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 487, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 577, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 675, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 746, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 898, 1)) ->walkeri : Symbol(sagitta.walkeri, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 488, 16)) ->dogramacii : Symbol(dogramacii, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 314, 1)) ->robustulus : Symbol(dogramacii.robustulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 315, 19)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 164)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 87)) - - nitela(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->nitela : Symbol(psilurus.nitela, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1014, 189)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1015, 78)) ->panamensis : Symbol(panamensis, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 501, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 986, 1)) ->linulus : Symbol(panamensis.linulus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 502, 19)) ->Lanthanum : Symbol(Lanthanum, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 106, 1)) ->megalonyx : Symbol(Lanthanum.megalonyx, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 124, 3)) ->howi : Symbol(howi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 466, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 681, 1), Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 886, 1)) ->marcanoi : Symbol(howi.marcanoi, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 682, 13)) ->y : Symbol(y, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1015, 149)) ->this : Symbol(psilurus, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1008, 17)) ->x : Symbol(x, Decl(resolvingClassDeclarationWhenInBaseTypeResolution.ts, 1015, 78)) - } -} - diff --git a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types b/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types deleted file mode 100644 index 3b0a3c001b4..00000000000 --- a/tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.types +++ /dev/null @@ -1,13738 +0,0 @@ -=== tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts === -module rionegrensis { ->rionegrensis : typeof rionegrensis - - export class caniventer extends Lanthanum.nitidus { ->caniventer : caniventer ->Lanthanum.nitidus : Lanthanum.nitidus ->Lanthanum : typeof Lanthanum ->nitidus : typeof Lanthanum.nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana - - salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; } ->salomonseni : () => caniventer ->caniventer : caniventer ->x : caniventer ->caniventer : caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caniventer - - uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->uchidai : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->raffrayana : () => lavali.otion ->lavali : any ->otion : lavali.otion ->x : lavali.otion ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.otion - - Uranium() : minutus.inez, trivirgatus.falconeri> { var x : minutus.inez, trivirgatus.falconeri>; () => { var y = this; }; return x; } ->Uranium : () => minutus.inez, trivirgatus.falconeri> ->minutus : any ->inez : minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : minutus.inez, trivirgatus.falconeri> ->minutus : any ->inez : minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez, trivirgatus.falconeri> - - nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->nayaur : () => gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->x : gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.amicus - } - export class veraecrucis extends trivirgatus.mixtus { ->veraecrucis : veraecrucis ->T0 : T0 ->T1 : T1 ->trivirgatus.mixtus : trivirgatus.mixtus ->trivirgatus : typeof trivirgatus ->mixtus : typeof trivirgatus.mixtus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->punicus : lutreolus.punicus - - naso() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->naso : () => panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->lutreolus : any ->punicus : lutreolus.punicus ->howi : any ->coludo : howi.coludo ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->lutreolus : any ->punicus : lutreolus.punicus ->howi : any ->coludo : howi.coludo ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus> - - vancouverensis() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->vancouverensis : () => imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->argurus : any ->oreas : argurus.oreas ->argurus : any ->peninsulae : argurus.peninsulae ->x : imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->argurus : any ->oreas : argurus.oreas ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum - - africana() : argurus.gilbertii, sagitta.cinereus> { var x : argurus.gilbertii, sagitta.cinereus>; () => { var y = this; }; return x; } ->africana : () => argurus.gilbertii, sagitta.cinereus> ->argurus : any ->gilbertii : argurus.gilbertii ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->sagitta : any ->cinereus : sagitta.cinereus ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : argurus.gilbertii, sagitta.cinereus> ->argurus : any ->gilbertii : argurus.gilbertii ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->sagitta : any ->cinereus : sagitta.cinereus ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.gilbertii, sagitta.cinereus> - - palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->palliolata : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->nivicola : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - } -} -module julianae { ->julianae : typeof julianae - - export class steerii { ->steerii : steerii - } - export class nudicaudus { ->nudicaudus : nudicaudus - - brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; } ->brandtii : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - - maxwellii() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maxwellii : () => ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->dammermani : any ->melanops : dammermani.melanops ->x : ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium - - endoi() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->endoi : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->venezuelae : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->zamicrus : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - } - export class galapagoensis { ->galapagoensis : galapagoensis - - isabellae() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->isabellae : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - - rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->rueppellii : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - - peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->peregusna : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - - gliroides() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->gliroides : () => howi.coludo ->howi : any ->coludo : howi.coludo ->howi : any ->marcanoi : howi.marcanoi ->lavali : any ->wilsoni : lavali.wilsoni ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->howi : any ->marcanoi : howi.marcanoi ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->banakrisi : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->rozendaali : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - stuhlmanni() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->stuhlmanni : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - } - export class albidens { ->albidens : albidens ->T0 : T0 ->T1 : T1 - - mattheyi() : samarensis.fuscus> { var x : samarensis.fuscus>; () => { var y = this; }; return x; } ->mattheyi : () => samarensis.fuscus> ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : samarensis.fuscus> ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.fuscus> - - Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; } ->Astatine : () => steerii ->steerii : steerii ->x : steerii ->steerii : steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : steerii - - vincenti() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->vincenti : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->patas : any ->uralensis : patas.uralensis ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->hirta : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; } ->virginianus : () => durangae ->durangae : durangae ->x : durangae ->durangae : durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : durangae - - macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->macrophyllum : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->porcellus : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - } - export class oralis extends caurinus.psilurus { ->oralis : oralis ->T0 : T0 ->T1 : T1 ->caurinus.psilurus : caurinus.psilurus ->caurinus : typeof caurinus ->psilurus : typeof caurinus.psilurus - - cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->cepapi : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->porteri : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - bindi() : caurinus.mahaganus> { var x : caurinus.mahaganus>; () => { var y = this; }; return x; } ->bindi : () => caurinus.mahaganus> ->caurinus : any ->mahaganus : caurinus.mahaganus ->gabriellae : any ->amicus : gabriellae.amicus ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->x : caurinus.mahaganus> ->caurinus : any ->mahaganus : caurinus.mahaganus ->gabriellae : any ->amicus : gabriellae.amicus ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus> - - puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->puda : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->mindorensis : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - ignitus() : petrophilus.rosalia, lavali.wilsoni> { var x : petrophilus.rosalia, lavali.wilsoni>; () => { var y = this; }; return x; } ->ignitus : () => petrophilus.rosalia, lavali.wilsoni> ->petrophilus : any ->rosalia : petrophilus.rosalia ->panamensis : any ->setulosus : panamensis.setulosus ->gabriellae : any ->echinatus : gabriellae.echinatus ->steerii : steerii ->lavali : any ->wilsoni : lavali.wilsoni ->x : petrophilus.rosalia, lavali.wilsoni> ->petrophilus : any ->rosalia : petrophilus.rosalia ->panamensis : any ->setulosus : panamensis.setulosus ->gabriellae : any ->echinatus : gabriellae.echinatus ->steerii : steerii ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia, lavali.wilsoni> - - rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; } ->rufus : () => nudicaudus ->nudicaudus : nudicaudus ->x : nudicaudus ->nudicaudus : nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nudicaudus - - monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->monax : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - unalascensis() : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; } ->unalascensis : () => minutus.inez, gabriellae.echinatus>, dogramacii.aurata> ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata> - - wuchihensis() : howi.angulatus, petrophilus.minutilla> { var x : howi.angulatus, petrophilus.minutilla>; () => { var y = this; }; return x; } ->wuchihensis : () => howi.angulatus, petrophilus.minutilla> ->howi : any ->angulatus : howi.angulatus ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : howi.angulatus, petrophilus.minutilla> ->howi : any ->angulatus : howi.angulatus ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus, petrophilus.minutilla> - - leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->leucippe : () => lavali.otion ->lavali : any ->otion : lavali.otion ->x : lavali.otion ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.otion - - ordii() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->ordii : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : argurus.germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : argurus.germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->eisentrauti : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - } - export class sumatrana extends Lanthanum.jugularis { ->sumatrana : sumatrana ->Lanthanum.jugularis : Lanthanum.jugularis ->Lanthanum : typeof Lanthanum ->jugularis : typeof Lanthanum.jugularis - - wolffsohni() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->wolffsohni : () => Lanthanum.suillus ->Lanthanum : any ->suillus : Lanthanum.suillus ->dammermani : any ->melanops : dammermani.melanops ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : Lanthanum.suillus ->Lanthanum : any ->suillus : Lanthanum.suillus ->dammermani : any ->melanops : dammermani.melanops ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.suillus - - geata() : ruatanica.hector { var x : ruatanica.hector; () => { var y = this; }; return x; } ->geata : () => ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->sumatrana : sumatrana ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->sumatrana : sumatrana ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector - - awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->awashensis : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - sturdeei() : lutreolus.cor { var x : lutreolus.cor; () => { var y = this; }; return x; } ->sturdeei : () => lutreolus.cor ->lutreolus : any ->cor : lutreolus.cor ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->galapagoensis : galapagoensis ->x : lutreolus.cor ->lutreolus : any ->cor : lutreolus.cor ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->galapagoensis : galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.cor - - pachyurus() : howi.angulatus> { var x : howi.angulatus>; () => { var y = this; }; return x; } ->pachyurus : () => howi.angulatus> ->howi : any ->angulatus : howi.angulatus ->dogramacii : any ->aurata : dogramacii.aurata ->gerbillus : gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : howi.angulatus> ->howi : any ->angulatus : howi.angulatus ->dogramacii : any ->aurata : dogramacii.aurata ->gerbillus : gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus> - - lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->lyelli : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - - neohibernicus() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->neohibernicus : () => dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->x : dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu - } - export class gerbillus { ->gerbillus : gerbillus ->T0 : T0 ->T1 : T1 - - pundti() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->pundti : () => sagitta.sicarius ->sagitta : any ->sicarius : sagitta.sicarius ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->caurinus : any ->psilurus : caurinus.psilurus ->x : sagitta.sicarius ->sagitta : any ->sicarius : sagitta.sicarius ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.sicarius - - tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; } ->tristrami : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->swarthi : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->horsfieldii : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - diazi() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->diazi : () => imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->x : imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus - - rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->rennelli : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->maulinus : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - muscina() : daubentonii.arboreus { var x : daubentonii.arboreus; () => { var y = this; }; return x; } ->muscina : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->petrophilus : any ->minutilla : petrophilus.minutilla ->argurus : any ->peninsulae : argurus.peninsulae ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->petrophilus : any ->minutilla : petrophilus.minutilla ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - pelengensis() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->pelengensis : () => sagitta.leptoceros ->sagitta : any ->leptoceros : sagitta.leptoceros ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : sagitta.leptoceros ->sagitta : any ->leptoceros : sagitta.leptoceros ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.leptoceros - - abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->abramus : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->reevesi : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - } - export class acariensis { ->acariensis : acariensis - - levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->levicula : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - minous() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->minous : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->otion : lavali.otion ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - cinereiventer() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->cinereiventer : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->lavali : any ->otion : lavali.otion ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - longicaudatus() : macrorhinos.marmosurus> { var x : macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->longicaudatus : () => macrorhinos.marmosurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dammermani : any ->melanops : dammermani.melanops ->caurinus : any ->mahaganus : caurinus.mahaganus ->nudicaudus : nudicaudus ->lavali : any ->otion : lavali.otion ->x : macrorhinos.marmosurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dammermani : any ->melanops : dammermani.melanops ->caurinus : any ->mahaganus : caurinus.mahaganus ->nudicaudus : nudicaudus ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus> - - baeodon() : argurus.netscheri, argurus.luctuosa> { var x : argurus.netscheri, argurus.luctuosa>; () => { var y = this; }; return x; } ->baeodon : () => argurus.netscheri, argurus.luctuosa> ->argurus : any ->netscheri : argurus.netscheri ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.netscheri, argurus.luctuosa> ->argurus : any ->netscheri : argurus.netscheri ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri, argurus.luctuosa> - - soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->soricoides : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - datae() : daubentonii.arboreus> { var x : daubentonii.arboreus>; () => { var y = this; }; return x; } ->datae : () => daubentonii.arboreus> ->daubentonii : any ->arboreus : daubentonii.arboreus ->provocax : any ->melanoleuca : provocax.melanoleuca ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->x : daubentonii.arboreus> ->daubentonii : any ->arboreus : daubentonii.arboreus ->provocax : any ->melanoleuca : provocax.melanoleuca ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus> - - spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->spixii : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->anakuma : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - kihaulei() : panglima.amphibius { var x : panglima.amphibius; () => { var y = this; }; return x; } ->kihaulei : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - - gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->gymnura : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - olchonensis() : rendalli.crenulata { var x : rendalli.crenulata; () => { var y = this; }; return x; } ->olchonensis : () => rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata - } - export class durangae extends dogramacii.aurata { ->durangae : durangae ->dogramacii.aurata : dogramacii.aurata ->dogramacii : typeof dogramacii ->aurata : typeof dogramacii.aurata - - Californium() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->Californium : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->lutreolus : any ->punicus : lutreolus.punicus ->dammermani : any ->melanops : dammermani.melanops ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->lutreolus : any ->punicus : lutreolus.punicus ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - Flerovium() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->Flerovium : () => howi.angulatus ->howi : any ->angulatus : howi.angulatus ->petrophilus : any ->minutilla : petrophilus.minutilla ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : howi.angulatus ->howi : any ->angulatus : howi.angulatus ->petrophilus : any ->minutilla : petrophilus.minutilla ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus - - phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->phrudus : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - } -} -module ruatanica { ->ruatanica : typeof ruatanica - - export class hector { ->hector : hector ->T0 : T0 ->T1 : T1 - - humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->humulis : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - - eurycerus() : panamensis.linulus, lavali.wilsoni> { var x : panamensis.linulus, lavali.wilsoni>; () => { var y = this; }; return x; } ->eurycerus : () => panamensis.linulus, lavali.wilsoni> ->panamensis : any ->linulus : panamensis.linulus ->ruatanica : any ->Praseodymium : Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->wilsoni : lavali.wilsoni ->x : panamensis.linulus, lavali.wilsoni> ->panamensis : any ->linulus : panamensis.linulus ->ruatanica : any ->Praseodymium : Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus, lavali.wilsoni> - } -} -module Lanthanum { ->Lanthanum : typeof Lanthanum - - export class suillus { ->suillus : suillus ->T0 : T0 ->T1 : T1 - - spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->spilosoma : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; } ->tumbalensis : () => caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.megaphyllus - - anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->anatolicus : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - } - export class nitidus extends argurus.gilbertii { ->nitidus : nitidus ->T0 : T0 ->T1 : T1 ->argurus.gilbertii : argurus.gilbertii ->argurus : typeof argurus ->gilbertii : typeof argurus.gilbertii ->lavali : any ->thaeleri : lavali.thaeleri ->lutreolus : any ->punicus : lutreolus.punicus - - granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->granatensis : () => quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.bobrinskoi - - negligens() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->negligens : () => minutus.inez ->minutus : any ->inez : minutus.inez ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - lewisi() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->lewisi : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - - arge() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->arge : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - - dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->dominicensis : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->taurus : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - tonganus() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->tonganus : () => argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->dogramacii : any ->aurata : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->dogramacii : any ->aurata : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri - - silvatica() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->silvatica : () => rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->x : rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni - - midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->midas : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->bicornis : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - } - export class megalonyx extends caurinus.johorensis { ->megalonyx : megalonyx ->caurinus.johorensis : caurinus.johorensis ->caurinus : typeof caurinus ->johorensis : typeof caurinus.johorensis ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->julianae : any ->steerii : julianae.steerii - - phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->phillipsii : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - melanogaster() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->melanogaster : () => rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis - - elaphus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->elaphus : () => nitidus ->nitidus : nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana ->x : nitidus ->nitidus : nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nitidus - - elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; } ->elater : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->ourebi : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - - caraccioli() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->caraccioli : () => imperfecta.ciliolabrum> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->julianae : any ->nudicaudus : julianae.nudicaudus ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->lavali : any ->thaeleri : lavali.thaeleri ->julianae : any ->acariensis : julianae.acariensis ->x : imperfecta.ciliolabrum> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->julianae : any ->nudicaudus : julianae.nudicaudus ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->lavali : any ->thaeleri : lavali.thaeleri ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum> - - parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->parva : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - albipes() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->albipes : () => quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->dammermani : any ->melanops : dammermani.melanops ->megalonyx : megalonyx ->x : quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->dammermani : any ->melanops : dammermani.melanops ->megalonyx : megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi - } - export class jugularis { ->jugularis : jugularis - - torrei() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->torrei : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; } ->revoili : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->macrobullatus : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->compactus : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - talpinus() : nitidus { var x : nitidus; () => { var y = this; }; return x; } ->talpinus : () => nitidus ->nitidus : nitidus ->ruatanica : any ->americanus : ruatanica.americanus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : nitidus ->nitidus : nitidus ->ruatanica : any ->americanus : ruatanica.americanus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nitidus - - stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->stramineus : () => gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->x : gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.amicus - - dartmouthi() : trivirgatus.mixtus { var x : trivirgatus.mixtus; () => { var y = this; }; return x; } ->dartmouthi : () => trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->argurus : any ->luctuosa : argurus.luctuosa ->x : trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.mixtus - - ogilbyi() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->ogilbyi : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->oreas : argurus.oreas ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->oreas : argurus.oreas ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - incomtus() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->incomtus : () => daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->julianae : any ->sumatrana : julianae.sumatrana ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->julianae : any ->sumatrana : julianae.sumatrana ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes - - surdaster() : ruatanica.Praseodymium { var x : ruatanica.Praseodymium; () => { var y = this; }; return x; } ->surdaster : () => ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->argurus : any ->germaini : argurus.germaini ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->argurus : any ->germaini : argurus.germaini ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium - - melanorhinus() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->melanorhinus : () => samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->dammermani : any ->melanops : dammermani.melanops ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->dammermani : any ->melanops : dammermani.melanops ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus - - picticaudata() : minutus.inez, dogramacii.kaiseri> { var x : minutus.inez, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->picticaudata : () => minutus.inez, dogramacii.kaiseri> ->minutus : any ->inez : minutus.inez ->quasiater : any ->wattsi : quasiater.wattsi ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->lepturus : lavali.lepturus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : minutus.inez, dogramacii.kaiseri> ->minutus : any ->inez : minutus.inez ->quasiater : any ->wattsi : quasiater.wattsi ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->lepturus : lavali.lepturus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez, dogramacii.kaiseri> - - pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->pomona : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - - ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->ileile : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - } -} -module rendalli { ->rendalli : typeof rendalli - - export class zuluensis extends julianae.steerii { ->zuluensis : zuluensis ->julianae.steerii : julianae.steerii ->julianae : typeof julianae ->steerii : typeof julianae.steerii - - telfairi() : argurus.wetmorei { var x : argurus.wetmorei; () => { var y = this; }; return x; } ->telfairi : () => argurus.wetmorei ->argurus : any ->wetmorei : argurus.wetmorei ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : argurus.wetmorei ->argurus : any ->wetmorei : argurus.wetmorei ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.wetmorei - - keyensis() : quasiater.wattsi { var x : quasiater.wattsi; () => { var y = this; }; return x; } ->keyensis : () => quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->lepturus : lavali.lepturus ->x : quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi - - occasius() : argurus.gilbertii { var x : argurus.gilbertii; () => { var y = this; }; return x; } ->occasius : () => argurus.gilbertii ->argurus : any ->gilbertii : argurus.gilbertii ->caurinus : any ->psilurus : caurinus.psilurus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : argurus.gilbertii ->argurus : any ->gilbertii : argurus.gilbertii ->caurinus : any ->psilurus : caurinus.psilurus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.gilbertii - - damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->damarensis : () => julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.galapagoensis - - Neptunium() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->Neptunium : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->robustulus : dogramacii.robustulus ->lutreolus : any ->foina : lutreolus.foina ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->robustulus : dogramacii.robustulus ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->griseoflavus : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - - thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->thar : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - alborufus() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->alborufus : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - - fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->fusicaudus : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - gordonorum() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->gordonorum : () => howi.angulatus ->howi : any ->angulatus : howi.angulatus ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->germaini : argurus.germaini ->x : howi.angulatus ->howi : any ->angulatus : howi.angulatus ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus - - ruber() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->ruber : () => dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->acariensis : julianae.acariensis ->x : dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu - - desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; } ->desmarestianus : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - - lutillus() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->lutillus : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->howi : any ->marcanoi : howi.marcanoi ->lavali : any ->wilsoni : lavali.wilsoni ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->howi : any ->marcanoi : howi.marcanoi ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->salocco : () => argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->x : argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.peninsulae - } - export class moojeni { ->moojeni : moojeni ->T0 : T0 ->T1 : T1 - - floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; } ->floweri : () => lavali.otion ->lavali : any ->otion : lavali.otion ->x : lavali.otion ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.otion - - montosa() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->montosa : () => imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum - - miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->miletus : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; } ->heaneyi : () => zuluensis ->zuluensis : zuluensis ->x : zuluensis ->zuluensis : zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : zuluensis - - marchei() : panglima.amphibius> { var x : panglima.amphibius>; () => { var y = this; }; return x; } ->marchei : () => panglima.amphibius> ->panglima : any ->amphibius : panglima.amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->x : panglima.amphibius> ->panglima : any ->amphibius : panglima.amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius> - - budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->budini : () => julianae.durangae ->julianae : any ->durangae : julianae.durangae ->x : julianae.durangae ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.durangae - - maggietaylorae() : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->maggietaylorae : () => trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->panglima : any ->amphibius : panglima.amphibius ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->panglima : any ->amphibius : panglima.amphibius ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.mixtus, imperfecta.subspinosus>, sagitta.stolzmanni> - - poliocephalus() : julianae.gerbillus { var x : julianae.gerbillus; () => { var y = this; }; return x; } ->poliocephalus : () => julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->julianae : any ->durangae : julianae.durangae ->dammermani : any ->melanops : dammermani.melanops ->x : julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->julianae : any ->durangae : julianae.durangae ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.gerbillus - - zibethicus() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->zibethicus : () => minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - biacensis() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->biacensis : () => howi.coludo ->howi : any ->coludo : howi.coludo ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - } - export class crenulata extends trivirgatus.falconeri { ->crenulata : crenulata ->T0 : T0 ->T1 : T1 ->trivirgatus.falconeri : trivirgatus.falconeri ->trivirgatus : typeof trivirgatus ->falconeri : typeof trivirgatus.falconeri - - salvanius() : howi.coludo { var x : howi.coludo; () => { var y = this; }; return x; } ->salvanius : () => howi.coludo ->howi : any ->coludo : howi.coludo ->howi : any ->marcanoi : howi.marcanoi ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->howi : any ->marcanoi : howi.marcanoi ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->maritimus : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - - edax() : lutreolus.cor>, rionegrensis.caniventer> { var x : lutreolus.cor>, rionegrensis.caniventer>; () => { var y = this; }; return x; } ->edax : () => lutreolus.cor>, rionegrensis.caniventer> ->lutreolus : any ->cor : lutreolus.cor ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : lutreolus.cor>, rionegrensis.caniventer> ->lutreolus : any ->cor : lutreolus.cor ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.cor>, rionegrensis.caniventer> - } -} -module trivirgatus { ->trivirgatus : typeof trivirgatus - - export class tumidifrons { ->tumidifrons : tumidifrons ->T0 : T0 ->T1 : T1 - - nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; } ->nivalis : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - - vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->vestitus : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->aequatorius : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; } ->scherman : () => oconnelli ->oconnelli : oconnelli ->x : oconnelli ->oconnelli : oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : oconnelli - - improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->improvisum : () => argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->x : argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.peninsulae - - cervinipes() : panglima.abidi { var x : panglima.abidi; () => { var y = this; }; return x; } ->cervinipes : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->audax : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - vallinus() : sagitta.sicarius { var x : sagitta.sicarius; () => { var y = this; }; return x; } ->vallinus : () => sagitta.sicarius ->sagitta : any ->sicarius : sagitta.sicarius ->lavali : any ->wilsoni : lavali.wilsoni ->lutreolus : any ->punicus : lutreolus.punicus ->x : sagitta.sicarius ->sagitta : any ->sicarius : sagitta.sicarius ->lavali : any ->wilsoni : lavali.wilsoni ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.sicarius - } - export class mixtus extends argurus.pygmaea> { ->mixtus : mixtus ->T0 : T0 ->T1 : T1 ->argurus.pygmaea : argurus.pygmaea> ->argurus : typeof argurus ->pygmaea : typeof argurus.pygmaea ->argurus : any ->oreas : argurus.oreas ->panglima : any ->fundatus : panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon - - ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; } ->ochrogaster : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - bryophilus() : macrorhinos.marmosurus>> { var x : macrorhinos.marmosurus>>; () => { var y = this; }; return x; } ->bryophilus : () => macrorhinos.marmosurus>> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->aurata : dogramacii.aurata ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : macrorhinos.marmosurus>> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->aurata : dogramacii.aurata ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus>> - - liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; } ->liechtensteini : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - - crawfordi() : howi.coludo> { var x : howi.coludo>; () => { var y = this; }; return x; } ->crawfordi : () => howi.coludo> ->howi : any ->coludo : howi.coludo ->julianae : any ->steerii : julianae.steerii ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : howi.coludo> ->howi : any ->coludo : howi.coludo ->julianae : any ->steerii : julianae.steerii ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo> - - hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; } ->hypsibia : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - matacus() : panglima.fundatus, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; } ->matacus : () => panglima.fundatus, lavali.beisa>, dammermani.melanops> ->panglima : any ->fundatus : panglima.fundatus ->panamensis : any ->linulus : panamensis.linulus ->lotor : lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->beisa : lavali.beisa ->dammermani : any ->melanops : dammermani.melanops ->x : panglima.fundatus, lavali.beisa>, dammermani.melanops> ->panglima : any ->fundatus : panglima.fundatus ->panamensis : any ->linulus : panamensis.linulus ->lotor : lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->beisa : lavali.beisa ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus, lavali.beisa>, dammermani.melanops> - - demidoff() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->demidoff : () => caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->julianae : any ->acariensis : julianae.acariensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->julianae : any ->acariensis : julianae.acariensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis - } - export class lotor { ->lotor : lotor ->T0 : T0 ->T1 : T1 - - balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->balensis : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - pullata() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->pullata : () => rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->quasiater : any ->carolinensis : quasiater.carolinensis ->argurus : any ->peninsulae : argurus.peninsulae ->x : rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->quasiater : any ->carolinensis : quasiater.carolinensis ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis - } - export class falconeri { ->falconeri : falconeri - - cabrali() : rendalli.moojeni>, daubentonii.arboreus> { var x : rendalli.moojeni>, daubentonii.arboreus>; () => { var y = this; }; return x; } ->cabrali : () => rendalli.moojeni>, daubentonii.arboreus> ->rendalli : any ->moojeni : rendalli.moojeni ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->daubentonii : any ->arboreus : daubentonii.arboreus ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->steerii : julianae.steerii ->x : rendalli.moojeni>, daubentonii.arboreus> ->rendalli : any ->moojeni : rendalli.moojeni ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->daubentonii : any ->arboreus : daubentonii.arboreus ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni>, daubentonii.arboreus> - - gouldi() : nigra.dolichurus>, patas.uralensis> { var x : nigra.dolichurus>, patas.uralensis>; () => { var y = this; }; return x; } ->gouldi : () => nigra.dolichurus>, patas.uralensis> ->nigra : any ->dolichurus : nigra.dolichurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->julianae : any ->acariensis : julianae.acariensis ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->patas : any ->uralensis : patas.uralensis ->x : nigra.dolichurus>, patas.uralensis> ->nigra : any ->dolichurus : nigra.dolichurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->julianae : any ->acariensis : julianae.acariensis ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus>, patas.uralensis> - - fuscicollis() : samarensis.pelurus> { var x : samarensis.pelurus>; () => { var y = this; }; return x; } ->fuscicollis : () => samarensis.pelurus> ->samarensis : any ->pelurus : samarensis.pelurus ->dammermani : any ->melanops : dammermani.melanops ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->ruatanica : any ->americanus : ruatanica.americanus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : samarensis.pelurus> ->samarensis : any ->pelurus : samarensis.pelurus ->dammermani : any ->melanops : dammermani.melanops ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->ruatanica : any ->americanus : ruatanica.americanus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus> - - martiensseni() : sagitta.cinereus>, dogramacii.koepckeae> { var x : sagitta.cinereus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->martiensseni : () => sagitta.cinereus>, dogramacii.koepckeae> ->sagitta : any ->cinereus : sagitta.cinereus ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->lavali : any ->otion : lavali.otion ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : sagitta.cinereus>, dogramacii.koepckeae> ->sagitta : any ->cinereus : sagitta.cinereus ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->lavali : any ->otion : lavali.otion ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.cinereus>, dogramacii.koepckeae> - - gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->gaoligongensis : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - shawi() : minutus.inez> { var x : minutus.inez>; () => { var y = this; }; return x; } ->shawi : () => minutus.inez> ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->xanthognathus : lavali.xanthognathus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : minutus.inez> ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->xanthognathus : lavali.xanthognathus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez> - - gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->gmelini : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - } - export class oconnelli { ->oconnelli : oconnelli - - youngsoni() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->youngsoni : () => nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.thalia - - terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->terrestris : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - chrysopus() : sagitta.sicarius> { var x : sagitta.sicarius>; () => { var y = this; }; return x; } ->chrysopus : () => sagitta.sicarius> ->sagitta : any ->sicarius : sagitta.sicarius ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : sagitta.sicarius> ->sagitta : any ->sicarius : sagitta.sicarius ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.sicarius> - - fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; } ->fuscomurina : () => argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->x : argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.peninsulae - - hellwaldii() : nigra.gracilis, petrophilus.sodyi> { var x : nigra.gracilis, petrophilus.sodyi>; () => { var y = this; }; return x; } ->hellwaldii : () => nigra.gracilis, petrophilus.sodyi> ->nigra : any ->gracilis : nigra.gracilis ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->dogramacii : any ->robustulus : dogramacii.robustulus ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : nigra.gracilis, petrophilus.sodyi> ->nigra : any ->gracilis : nigra.gracilis ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->dogramacii : any ->robustulus : dogramacii.robustulus ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->oreas : argurus.oreas ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis, petrophilus.sodyi> - - aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->aenea : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->perrini : () => quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.bobrinskoi - - entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->entellus : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - krebsii() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->krebsii : () => rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->julianae : any ->durangae : julianae.durangae ->x : rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis - - cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->cephalotes : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - molossinus() : daubentonii.nigricans> { var x : daubentonii.nigricans>; () => { var y = this; }; return x; } ->molossinus : () => daubentonii.nigricans> ->daubentonii : any ->nigricans : daubentonii.nigricans ->quasiater : any ->carolinensis : quasiater.carolinensis ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->julianae : any ->sumatrana : julianae.sumatrana ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : daubentonii.nigricans> ->daubentonii : any ->nigricans : daubentonii.nigricans ->quasiater : any ->carolinensis : quasiater.carolinensis ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->julianae : any ->sumatrana : julianae.sumatrana ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nigricans> - - luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->luisi : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->ceylonicus : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->ralli : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - } -} -module quasiater { ->quasiater : typeof quasiater - - export class bobrinskoi { ->bobrinskoi : bobrinskoi - - crassicaudatus() : samarensis.cahirinus { var x : samarensis.cahirinus; () => { var y = this; }; return x; } ->crassicaudatus : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->argurus : any ->luctuosa : argurus.luctuosa ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - - mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->mulatta : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - ansorgei() : rendalli.moojeni, gabriellae.echinatus> { var x : rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->ansorgei : () => rendalli.moojeni, gabriellae.echinatus> ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : rendalli.moojeni, gabriellae.echinatus> ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni, gabriellae.echinatus> - - Copper() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->Copper : () => argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->quasiater : any ->carolinensis : carolinensis ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->quasiater : any ->carolinensis : carolinensis ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri - } -} -module ruatanica { ->ruatanica : typeof ruatanica - - export class americanus extends imperfecta.ciliolabrum { ->americanus : americanus ->imperfecta.ciliolabrum : imperfecta.ciliolabrum ->imperfecta : typeof imperfecta ->ciliolabrum : typeof imperfecta.ciliolabrum ->argurus : any ->germaini : argurus.germaini ->lutreolus : any ->foina : lutreolus.foina - - nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->nasoloi : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - mystacalis() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->mystacalis : () => howi.angulatus ->howi : any ->angulatus : howi.angulatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : howi.angulatus ->howi : any ->angulatus : howi.angulatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus - - fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fardoulisi : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; } ->tumidus : () => gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->x : gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.amicus - } -} -module lavali { ->lavali : typeof lavali - - export class wilsoni extends Lanthanum.nitidus { ->wilsoni : wilsoni ->Lanthanum.nitidus : Lanthanum.nitidus ->Lanthanum : typeof Lanthanum ->nitidus : typeof Lanthanum.nitidus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->Lanthanum : any ->jugularis : Lanthanum.jugularis - - setiger() : nigra.thalia { var x : nigra.thalia; () => { var y = this; }; return x; } ->setiger : () => nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->wilsoni : wilsoni ->x : nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->wilsoni : wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.thalia - - lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->lorentzii : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->antisensis : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - blossevillii() : dammermani.siberu { var x : dammermani.siberu; () => { var y = this; }; return x; } ->blossevillii : () => dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu - - bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->bontanus : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; } ->caligata : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - franqueti() : panglima.amphibius, imperfecta.subspinosus> { var x : panglima.amphibius, imperfecta.subspinosus>; () => { var y = this; }; return x; } ->franqueti : () => panglima.amphibius, imperfecta.subspinosus> ->panglima : any ->amphibius : panglima.amphibius ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : panglima.amphibius, imperfecta.subspinosus> ->panglima : any ->amphibius : panglima.amphibius ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius, imperfecta.subspinosus> - - roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->roberti : () => julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->x : julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.acariensis - - degelidus() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->degelidus : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - - amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->amoenus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - kob() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->kob : () => trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->beisa : beisa ->x : trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->beisa : beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor - - csorbai() : caurinus.johorensis { var x : caurinus.johorensis; () => { var y = this; }; return x; } ->csorbai : () => caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->julianae : any ->steerii : julianae.steerii ->x : caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis - - dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->dorsata : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - } - export class beisa { ->beisa : beisa - } - export class otion extends howi.coludo { ->otion : otion ->howi.coludo : howi.coludo ->howi : typeof howi ->coludo : typeof howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi - - bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; } ->bonaerensis : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - - dussumieri() : nigra.gracilis { var x : nigra.gracilis; () => { var y = this; }; return x; } ->dussumieri : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->julianae : any ->steerii : julianae.steerii ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->julianae : any ->steerii : julianae.steerii ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - osvaldoreigi() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->osvaldoreigi : () => julianae.albidens ->julianae : any ->albidens : julianae.albidens ->julianae : any ->steerii : julianae.steerii ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : julianae.albidens ->julianae : any ->albidens : julianae.albidens ->julianae : any ->steerii : julianae.steerii ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens - - grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; } ->grevyi : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; } ->hirtula : () => lepturus ->lepturus : lepturus ->x : lepturus ->lepturus : lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lepturus - - cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->cristatus : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - darlingtoni() : sagitta.leptoceros { var x : sagitta.leptoceros; () => { var y = this; }; return x; } ->darlingtoni : () => sagitta.leptoceros ->sagitta : any ->leptoceros : sagitta.leptoceros ->wilsoni : wilsoni ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : sagitta.leptoceros ->sagitta : any ->leptoceros : sagitta.leptoceros ->wilsoni : wilsoni ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.leptoceros - - fontanierii() : panamensis.setulosus>, lutreolus.foina> { var x : panamensis.setulosus>, lutreolus.foina>; () => { var y = this; }; return x; } ->fontanierii : () => panamensis.setulosus>, lutreolus.foina> ->panamensis : any ->setulosus : panamensis.setulosus ->samarensis : any ->fuscus : samarensis.fuscus ->wilsoni : wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->lutreolus : any ->foina : lutreolus.foina ->x : panamensis.setulosus>, lutreolus.foina> ->panamensis : any ->setulosus : panamensis.setulosus ->samarensis : any ->fuscus : samarensis.fuscus ->wilsoni : wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus>, lutreolus.foina> - - umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->umbrosus : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - chiriquinus() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->chiriquinus : () => imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->caurinus : any ->psilurus : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->caurinus : any ->psilurus : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus - - orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; } ->orarius : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - ilaeus() : caurinus.mahaganus { var x : caurinus.mahaganus; () => { var y = this; }; return x; } ->ilaeus : () => caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->acariensis : julianae.acariensis ->julianae : any ->sumatrana : julianae.sumatrana ->x : caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->acariensis : julianae.acariensis ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus - - musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->musschenbroekii : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - } - export class xanthognathus { ->xanthognathus : xanthognathus - - nanulus() : daubentonii.nigricans { var x : daubentonii.nigricans; () => { var y = this; }; return x; } ->nanulus : () => daubentonii.nigricans ->daubentonii : any ->nigricans : daubentonii.nigricans ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->samarensis : any ->pallidus : samarensis.pallidus ->x : daubentonii.nigricans ->daubentonii : any ->nigricans : daubentonii.nigricans ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nigricans - - albigena() : chrysaeolus.sarasinorum { var x : chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->albigena : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->psilurus : caurinus.psilurus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->psilurus : caurinus.psilurus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - - onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; } ->onca : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - gunnii() : minutus.himalayana, nigra.thalia> { var x : minutus.himalayana, nigra.thalia>; () => { var y = this; }; return x; } ->gunnii : () => minutus.himalayana, nigra.thalia> ->minutus : any ->himalayana : minutus.himalayana ->howi : any ->coludo : howi.coludo ->lepturus : lepturus ->lutreolus : any ->punicus : lutreolus.punicus ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : minutus.himalayana, nigra.thalia> ->minutus : any ->himalayana : minutus.himalayana ->howi : any ->coludo : howi.coludo ->lepturus : lepturus ->lutreolus : any ->punicus : lutreolus.punicus ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.himalayana, nigra.thalia> - - apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; } ->apeco : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - variegates() : gabriellae.klossii { var x : gabriellae.klossii; () => { var y = this; }; return x; } ->variegates : () => gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->wilsoni : wilsoni ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->wilsoni : wilsoni ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii - - goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->goudotii : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->pohlei : () => Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.megalonyx - - ineptus() : panamensis.setulosus { var x : panamensis.setulosus; () => { var y = this; }; return x; } ->ineptus : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->xanthognathus : xanthognathus ->beisa : beisa ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->xanthognathus : xanthognathus ->beisa : beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - euryotis() : rendalli.moojeni> { var x : rendalli.moojeni>; () => { var y = this; }; return x; } ->euryotis : () => rendalli.moojeni> ->rendalli : any ->moojeni : rendalli.moojeni ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->x : rendalli.moojeni> ->rendalli : any ->moojeni : rendalli.moojeni ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni> - - maurisca() : Lanthanum.suillus { var x : Lanthanum.suillus; () => { var y = this; }; return x; } ->maurisca : () => Lanthanum.suillus ->Lanthanum : any ->suillus : Lanthanum.suillus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : Lanthanum.suillus ->Lanthanum : any ->suillus : Lanthanum.suillus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.suillus - - coyhaiquensis() : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> { var x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus>; () => { var y = this; }; return x; } ->coyhaiquensis : () => caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> ->caurinus : any ->mahaganus : caurinus.mahaganus ->dammermani : any ->siberu : dammermani.siberu ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : argurus.peninsulae ->lutreolus : any ->punicus : lutreolus.punicus ->x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> ->caurinus : any ->mahaganus : caurinus.mahaganus ->dammermani : any ->siberu : dammermani.siberu ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : argurus.peninsulae ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus, panglima.abidi>, lutreolus.punicus> - } - export class thaeleri extends argurus.oreas { ->thaeleri : thaeleri ->argurus.oreas : argurus.oreas ->argurus : typeof argurus ->oreas : typeof argurus.oreas - - coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; } ->coromandra : () => julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.galapagoensis - - parvipes() : nigra.dolichurus { var x : nigra.dolichurus; () => { var y = this; }; return x; } ->parvipes : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->argurus : any ->germaini : argurus.germaini ->samarensis : any ->pallidus : samarensis.pallidus ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->argurus : any ->germaini : argurus.germaini ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - sponsorius() : rionegrensis.veraecrucis, julianae.steerii> { var x : rionegrensis.veraecrucis, julianae.steerii>; () => { var y = this; }; return x; } ->sponsorius : () => rionegrensis.veraecrucis, julianae.steerii> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->psilurus : caurinus.psilurus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->julianae : any ->steerii : julianae.steerii ->x : rionegrensis.veraecrucis, julianae.steerii> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->psilurus : caurinus.psilurus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis, julianae.steerii> - - vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->vates : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; } ->roosmalenorum : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - rubicola() : rendalli.moojeni, gabriellae.echinatus>> { var x : rendalli.moojeni, gabriellae.echinatus>>; () => { var y = this; }; return x; } ->rubicola : () => rendalli.moojeni, gabriellae.echinatus>> ->rendalli : any ->moojeni : rendalli.moojeni ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : rendalli.moojeni, gabriellae.echinatus>> ->rendalli : any ->moojeni : rendalli.moojeni ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni, gabriellae.echinatus>> - - ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; } ->ikonnikovi : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - paramicrus() : imperfecta.ciliolabrum> { var x : imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->paramicrus : () => imperfecta.ciliolabrum> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->otion : otion ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->x : imperfecta.ciliolabrum> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->otion : otion ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum> - } - export class lepturus extends Lanthanum.suillus { ->lepturus : lepturus ->Lanthanum.suillus : Lanthanum.suillus ->Lanthanum : typeof Lanthanum ->suillus : typeof Lanthanum.suillus ->dammermani : any ->melanops : dammermani.melanops ->quasiater : any ->carolinensis : quasiater.carolinensis - - ferrumequinum() : argurus.netscheri { var x : argurus.netscheri; () => { var y = this; }; return x; } ->ferrumequinum : () => argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : argurus.netscheri ->argurus : any ->netscheri : argurus.netscheri ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri - - aequalis() : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->aequalis : () => sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> ->sagitta : any ->cinereus : sagitta.cinereus ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->xanthognathus : xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> ->sagitta : any ->cinereus : sagitta.cinereus ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->xanthognathus : xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.cinereus>, petrophilus.minutilla>, Lanthanum.jugularis> - } -} -module dogramacii { ->dogramacii : typeof dogramacii - - export class robustulus extends lavali.wilsoni { ->robustulus : robustulus ->lavali.wilsoni : lavali.wilsoni ->lavali : typeof lavali ->wilsoni : typeof lavali.wilsoni - - fossor() : minutus.inez { var x : minutus.inez; () => { var y = this; }; return x; } ->fossor : () => minutus.inez ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - humboldti() : sagitta.cinereus { var x : sagitta.cinereus; () => { var y = this; }; return x; } ->humboldti : () => sagitta.cinereus ->sagitta : any ->cinereus : sagitta.cinereus ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : sagitta.cinereus ->sagitta : any ->cinereus : sagitta.cinereus ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.cinereus - - mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; } ->mexicana : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - martini() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->martini : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - - beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->beatus : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; } ->leporina : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; } ->pearsonii : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - keaysi() : howi.angulatus { var x : howi.angulatus; () => { var y = this; }; return x; } ->keaysi : () => howi.angulatus ->howi : any ->angulatus : howi.angulatus ->lavali : any ->beisa : lavali.beisa ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : howi.angulatus ->howi : any ->angulatus : howi.angulatus ->lavali : any ->beisa : lavali.beisa ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus - - hindei() : imperfecta.lasiurus { var x : imperfecta.lasiurus; () => { var y = this; }; return x; } ->hindei : () => imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->julianae : any ->steerii : julianae.steerii ->x : imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus - } - export class koepckeae { ->koepckeae : koepckeae - - culturatus() : samarensis.pelurus, julianae.sumatrana> { var x : samarensis.pelurus, julianae.sumatrana>; () => { var y = this; }; return x; } ->culturatus : () => samarensis.pelurus, julianae.sumatrana> ->samarensis : any ->pelurus : samarensis.pelurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->kaiseri : kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->sumatrana : julianae.sumatrana ->x : samarensis.pelurus, julianae.sumatrana> ->samarensis : any ->pelurus : samarensis.pelurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->kaiseri : kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus, julianae.sumatrana> - } - export class kaiseri { ->kaiseri : kaiseri - - bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->bedfordiae : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; } ->paramorum : () => Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.megalonyx - - rubidus() : trivirgatus.lotor { var x : trivirgatus.lotor; () => { var y = this; }; return x; } ->rubidus : () => trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pallidus : samarensis.pallidus ->x : trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor - - juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; } ->juninensis : () => quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.bobrinskoi - - marginata() : argurus.wetmorei>> { var x : argurus.wetmorei>>; () => { var y = this; }; return x; } ->marginata : () => argurus.wetmorei>> ->argurus : any ->wetmorei : argurus.wetmorei ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : argurus.wetmorei>> ->argurus : any ->wetmorei : argurus.wetmorei ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.wetmorei>> - - Meitnerium() : ruatanica.Praseodymium> { var x : ruatanica.Praseodymium>; () => { var y = this; }; return x; } ->Meitnerium : () => ruatanica.Praseodymium> ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->julianae : any ->sumatrana : julianae.sumatrana ->lutreolus : any ->cor : lutreolus.cor ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : ruatanica.Praseodymium> ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->julianae : any ->sumatrana : julianae.sumatrana ->lutreolus : any ->cor : lutreolus.cor ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium> - - pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->pinetorum : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - hoolock() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->hoolock : () => samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->argurus : any ->oreas : argurus.oreas ->argurus : any ->luctuosa : argurus.luctuosa ->x : samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->argurus : any ->oreas : argurus.oreas ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus - - poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; } ->poeyi : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; } ->Thulium : () => julianae.durangae ->julianae : any ->durangae : julianae.durangae ->x : julianae.durangae ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.durangae - - patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->patrius : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; } ->quadraticauda : () => julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.nudicaudus - - ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->ater : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - } - export class aurata { ->aurata : aurata - - grunniens() : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; } ->grunniens : () => nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> ->nigra : any ->gracilis : nigra.gracilis ->samarensis : any ->pelurus : samarensis.pelurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->kaiseri : kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->sumatrana : julianae.sumatrana ->ruatanica : any ->americanus : ruatanica.americanus ->x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> ->nigra : any ->gracilis : nigra.gracilis ->samarensis : any ->pelurus : samarensis.pelurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->kaiseri : kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->sumatrana : julianae.sumatrana ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis, julianae.sumatrana>, ruatanica.americanus> - - howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; } ->howensis : () => ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->x : ruatanica.americanus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.americanus - - karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->karlkoopmani : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - mirapitanga() : julianae.albidens { var x : julianae.albidens; () => { var y = this; }; return x; } ->mirapitanga : () => julianae.albidens ->julianae : any ->albidens : julianae.albidens ->gabriellae : any ->echinatus : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : julianae.albidens ->julianae : any ->albidens : julianae.albidens ->gabriellae : any ->echinatus : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens - - ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; } ->ophiodon : () => aurata ->aurata : aurata ->x : aurata ->aurata : aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : aurata - - landeri() : samarensis.pelurus { var x : samarensis.pelurus; () => { var y = this; }; return x; } ->landeri : () => samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->x : samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus - - sonomae() : trivirgatus.lotor, koepckeae> { var x : trivirgatus.lotor, koepckeae>; () => { var y = this; }; return x; } ->sonomae : () => trivirgatus.lotor, koepckeae> ->trivirgatus : any ->lotor : trivirgatus.lotor ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->koepckeae : koepckeae ->x : trivirgatus.lotor, koepckeae> ->trivirgatus : any ->lotor : trivirgatus.lotor ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->koepckeae : koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor, koepckeae> - - erythromos() : caurinus.johorensis, nigra.dolichurus> { var x : caurinus.johorensis, nigra.dolichurus>; () => { var y = this; }; return x; } ->erythromos : () => caurinus.johorensis, nigra.dolichurus> ->caurinus : any ->johorensis : caurinus.johorensis ->panglima : any ->fundatus : panglima.fundatus ->samarensis : any ->pallidus : samarensis.pallidus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->x : caurinus.johorensis, nigra.dolichurus> ->caurinus : any ->johorensis : caurinus.johorensis ->panglima : any ->fundatus : panglima.fundatus ->samarensis : any ->pallidus : samarensis.pallidus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis, nigra.dolichurus> - } -} -module lutreolus { ->lutreolus : typeof lutreolus - - export class schlegeli extends lavali.beisa { ->schlegeli : schlegeli ->lavali.beisa : lavali.beisa ->lavali : typeof lavali ->beisa : typeof lavali.beisa - - mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; } ->mittendorfi : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; } ->blicki : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - culionensis() : argurus.dauricus { var x : argurus.dauricus; () => { var y = this; }; return x; } ->culionensis : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->ruatanica : any ->americanus : ruatanica.americanus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->ruatanica : any ->americanus : ruatanica.americanus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - scrofa() : petrophilus.sodyi { var x : petrophilus.sodyi; () => { var y = this; }; return x; } ->scrofa : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->gabriellae : any ->amicus : gabriellae.amicus ->julianae : any ->sumatrana : julianae.sumatrana ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->gabriellae : any ->amicus : gabriellae.amicus ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; } ->fernandoni : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - Tin() : sagitta.leptoceros> { var x : sagitta.leptoceros>; () => { var y = this; }; return x; } ->Tin : () => sagitta.leptoceros> ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : sagitta.leptoceros> ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.leptoceros> - - marmorata() : panamensis.setulosus> { var x : panamensis.setulosus>; () => { var y = this; }; return x; } ->marmorata : () => panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->quasiater : any ->carolinensis : quasiater.carolinensis ->daubentonii : any ->arboreus : daubentonii.arboreus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lutreolus : any ->punicus : punicus ->x : panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->quasiater : any ->carolinensis : quasiater.carolinensis ->daubentonii : any ->arboreus : daubentonii.arboreus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lutreolus : any ->punicus : punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus> - - tavaratra() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->tavaratra : () => Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->howi : any ->marcanoi : howi.marcanoi ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->howi : any ->marcanoi : howi.marcanoi ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus - - peregrina() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->peregrina : () => daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->lutreolus : any ->punicus : punicus ->x : daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->lutreolus : any ->punicus : punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes - - frontalis() : macrorhinos.marmosurus>, samarensis.pallidus> { var x : macrorhinos.marmosurus>, samarensis.pallidus>; () => { var y = this; }; return x; } ->frontalis : () => macrorhinos.marmosurus>, samarensis.pallidus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->samarensis : any ->pallidus : samarensis.pallidus ->x : macrorhinos.marmosurus>, samarensis.pallidus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus>, samarensis.pallidus> - - cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; } ->cuniculus : () => patas.uralensis ->patas : any ->uralensis : patas.uralensis ->x : patas.uralensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : patas.uralensis - - magdalenae() : julianae.gerbillus> { var x : julianae.gerbillus>; () => { var y = this; }; return x; } ->magdalenae : () => julianae.gerbillus> ->julianae : any ->gerbillus : julianae.gerbillus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->rendalli : any ->crenulata : rendalli.crenulata ->rendalli : any ->zuluensis : rendalli.zuluensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : julianae.gerbillus> ->julianae : any ->gerbillus : julianae.gerbillus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->rendalli : any ->crenulata : rendalli.crenulata ->rendalli : any ->zuluensis : rendalli.zuluensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.gerbillus> - - andamanensis() : julianae.oralis { var x : julianae.oralis; () => { var y = this; }; return x; } ->andamanensis : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->ruatanica : any ->americanus : ruatanica.americanus ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->ruatanica : any ->americanus : ruatanica.americanus ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - - dispar() : panamensis.linulus { var x : panamensis.linulus; () => { var y = this; }; return x; } ->dispar : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - } -} -module argurus { ->argurus : typeof argurus - - export class dauricus { ->dauricus : dauricus ->T0 : T0 ->T1 : T1 - - chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; } ->chinensis : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; } ->duodecimcostatus : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - foxi() : daubentonii.nesiotes { var x : daubentonii.nesiotes; () => { var y = this; }; return x; } ->foxi : () => daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->x : daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes - - macleayii() : petrophilus.sodyi>, petrophilus.minutilla> { var x : petrophilus.sodyi>, petrophilus.minutilla>; () => { var y = this; }; return x; } ->macleayii : () => petrophilus.sodyi>, petrophilus.minutilla> ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.sodyi>, petrophilus.minutilla> ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi>, petrophilus.minutilla> - - darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; } ->darienensis : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->hardwickii : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - albifrons() : rionegrensis.veraecrucis { var x : rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->albifrons : () => rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->durangae : julianae.durangae ->x : rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis - - jacobitus() : caurinus.johorensis>> { var x : caurinus.johorensis>>; () => { var y = this; }; return x; } ->jacobitus : () => caurinus.johorensis>> ->caurinus : any ->johorensis : caurinus.johorensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->johorensis : caurinus.johorensis ->argurus : any ->peninsulae : peninsulae ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : caurinus.johorensis>> ->caurinus : any ->johorensis : caurinus.johorensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->johorensis : caurinus.johorensis ->argurus : any ->peninsulae : peninsulae ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis>> - - guentheri() : rendalli.moojeni { var x : rendalli.moojeni; () => { var y = this; }; return x; } ->guentheri : () => rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->oreas : oreas ->x : rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->oreas : oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni - - mahomet() : imperfecta.ciliolabrum { var x : imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->mahomet : () => imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->argurus : any ->germaini : germaini ->lutreolus : any ->foina : lutreolus.foina ->x : imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->argurus : any ->germaini : germaini ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum - - misionensis() : macrorhinos.marmosurus, gabriellae.echinatus> { var x : macrorhinos.marmosurus, gabriellae.echinatus>; () => { var y = this; }; return x; } ->misionensis : () => macrorhinos.marmosurus, gabriellae.echinatus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : macrorhinos.marmosurus, gabriellae.echinatus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, gabriellae.echinatus> - } -} -module nigra { ->nigra : typeof nigra - - export class dolichurus { ->dolichurus : dolichurus ->T0 : T0 ->T1 : T1 - - solomonis() : panglima.abidi, argurus.netscheri, julianae.oralis>>> { var x : panglima.abidi, argurus.netscheri, julianae.oralis>>>; () => { var y = this; }; return x; } ->solomonis : () => panglima.abidi, argurus.netscheri, julianae.oralis>>> ->panglima : any ->abidi : panglima.abidi ->quasiater : any ->carolinensis : quasiater.carolinensis ->rendalli : any ->crenulata : rendalli.crenulata ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : panglima.abidi, argurus.netscheri, julianae.oralis>>> ->panglima : any ->abidi : panglima.abidi ->quasiater : any ->carolinensis : quasiater.carolinensis ->rendalli : any ->crenulata : rendalli.crenulata ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi, argurus.netscheri, julianae.oralis>>> - - alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; } ->alfredi : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - morrisi() : ruatanica.hector, quasiater.wattsi>>> { var x : ruatanica.hector, quasiater.wattsi>>>; () => { var y = this; }; return x; } ->morrisi : () => ruatanica.hector, quasiater.wattsi>>> ->ruatanica : any ->hector : ruatanica.hector ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->sagitta : any ->cinereus : sagitta.cinereus ->nigra : any ->caucasica : caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : ruatanica.hector, quasiater.wattsi>>> ->ruatanica : any ->hector : ruatanica.hector ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->sagitta : any ->cinereus : sagitta.cinereus ->nigra : any ->caucasica : caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector, quasiater.wattsi>>> - - lekaguli() : Lanthanum.nitidus { var x : Lanthanum.nitidus; () => { var y = this; }; return x; } ->lekaguli : () => Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->lepturus : lavali.lepturus ->x : Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus - - dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; } ->dimissus : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; } ->phaeotis : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; } ->ustus : () => julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->x : julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.acariensis - - sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; } ->sagei : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - } -} -module panglima { ->panglima : typeof panglima - - export class amphibius extends caurinus.johorensis, Lanthanum.jugularis> { ->amphibius : amphibius ->T0 : T0 ->T1 : T1 ->caurinus.johorensis : caurinus.johorensis, Lanthanum.jugularis> ->caurinus : typeof caurinus ->johorensis : typeof caurinus.johorensis ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana ->Lanthanum : any ->jugularis : Lanthanum.jugularis - - bottegi(): macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; } ->bottegi : () => macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->amphibius : amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->amphibius : amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni> - - jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->jerdoni : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->camtschatica : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - spadix(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spadix : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - luismanueli(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->luismanueli : () => rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni - - aceramarcae(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->aceramarcae : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->steerii : julianae.steerii ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - } - export class fundatus extends lutreolus.schlegeli { ->fundatus : fundatus ->T0 : T0 ->T1 : T1 ->lutreolus.schlegeli : lutreolus.schlegeli ->lutreolus : typeof lutreolus ->schlegeli : typeof lutreolus.schlegeli - - crassulus(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->crassulus : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->provocax : any ->melanoleuca : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->provocax : any ->melanoleuca : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - flamarioni(): imperfecta.lasiurus>, sagitta.leptoceros>> { var x: imperfecta.lasiurus>, sagitta.leptoceros>>; () => { var y = this; }; return x; } ->flamarioni : () => imperfecta.lasiurus>, sagitta.leptoceros>> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->amphibius : amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : imperfecta.lasiurus>, sagitta.leptoceros>> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->amphibius : amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus>, sagitta.leptoceros>> - - mirabilis(): macrorhinos.marmosurus, lavali.lepturus> { var x: macrorhinos.marmosurus, lavali.lepturus>; () => { var y = this; }; return x; } ->mirabilis : () => macrorhinos.marmosurus, lavali.lepturus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->petrophilus : any ->rosalia : petrophilus.rosalia ->julianae : any ->steerii : julianae.steerii ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->x : macrorhinos.marmosurus, lavali.lepturus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->petrophilus : any ->rosalia : petrophilus.rosalia ->julianae : any ->steerii : julianae.steerii ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, lavali.lepturus> - } - export class abidi extends argurus.dauricus { ->abidi : abidi ->T0 : T0 ->T1 : T1 ->argurus.dauricus : argurus.dauricus ->argurus : typeof argurus ->dauricus : typeof argurus.dauricus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae - - greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->greyii : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->macedonicus : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - galili(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->galili : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->dammermani : any ->melanops : dammermani.melanops ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->dammermani : any ->melanops : dammermani.melanops ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - - thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->thierryi : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - ega(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ega : () => imperfecta.lasiurus> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->julianae : any ->acariensis : julianae.acariensis ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->x : imperfecta.lasiurus> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->julianae : any ->acariensis : julianae.acariensis ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus> - } -} -module quasiater { ->quasiater : typeof quasiater - - export class carolinensis { ->carolinensis : carolinensis - - concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->concinna : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - - aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->aeneus : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - aloysiisabaudiae(): argurus.netscheri, lavali.lepturus> { var x: argurus.netscheri, lavali.lepturus>; () => { var y = this; }; return x; } ->aloysiisabaudiae : () => argurus.netscheri, lavali.lepturus> ->argurus : any ->netscheri : argurus.netscheri ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->x : argurus.netscheri, lavali.lepturus> ->argurus : any ->netscheri : argurus.netscheri ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->lavali : any ->beisa : lavali.beisa ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri, lavali.lepturus> - - tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->tenellus : () => julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.nudicaudus - - andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->andium : () => lavali.beisa ->lavali : any ->beisa : lavali.beisa ->x : lavali.beisa ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.beisa - - persephone(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->persephone : () => panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->samarensis : any ->pallidus : samarensis.pallidus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->samarensis : any ->pallidus : samarensis.pallidus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus - - patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->patrizii : () => Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.megalonyx - } -} -module minutus { ->minutus : typeof minutus - - export class himalayana extends lutreolus.punicus { ->himalayana : himalayana ->T0 : T0 ->T1 : T1 ->lutreolus.punicus : lutreolus.punicus ->lutreolus : typeof lutreolus ->punicus : typeof lutreolus.punicus - - simoni(): argurus.netscheri> { var x: argurus.netscheri>; () => { var y = this; }; return x; } ->simoni : () => argurus.netscheri> ->argurus : any ->netscheri : argurus.netscheri ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->oreas : argurus.oreas ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : argurus.netscheri> ->argurus : any ->netscheri : argurus.netscheri ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->oreas : argurus.oreas ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri> - - lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->lobata : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->rusticus : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - latona(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->latona : () => daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->dammermani : any ->melanops : dammermani.melanops ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->dammermani : any ->melanops : dammermani.melanops ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes - - famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->famulus : () => patas.uralensis ->patas : any ->uralensis : patas.uralensis ->x : patas.uralensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : patas.uralensis - - flaviceps(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->flaviceps : () => inez> ->minutus : any ->inez : inez ->argurus : any ->oreas : argurus.oreas ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->x : inez> ->minutus : any ->inez : inez ->argurus : any ->oreas : argurus.oreas ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : inez> - - paradoxolophus(): nigra.dolichurus> { var x: nigra.dolichurus>; () => { var y = this; }; return x; } ->paradoxolophus : () => nigra.dolichurus> ->nigra : any ->dolichurus : nigra.dolichurus ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : nigra.dolichurus> ->nigra : any ->dolichurus : nigra.dolichurus ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus> - - Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Osmium : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - vulgaris(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->vulgaris : () => Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->acariensis : julianae.acariensis ->x : Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus - - betsileoensis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->betsileoensis : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->lepturus : lavali.lepturus ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - - vespuccii(): argurus.gilbertii, provocax.melanoleuca> { var x: argurus.gilbertii, provocax.melanoleuca>; () => { var y = this; }; return x; } ->vespuccii : () => argurus.gilbertii, provocax.melanoleuca> ->argurus : any ->gilbertii : argurus.gilbertii ->gabriellae : any ->klossii : gabriellae.klossii ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : argurus.gilbertii, provocax.melanoleuca> ->argurus : any ->gilbertii : argurus.gilbertii ->gabriellae : any ->klossii : gabriellae.klossii ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.gilbertii, provocax.melanoleuca> - - olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->olympus : () => Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.megalonyx - } -} -module caurinus { ->caurinus : typeof caurinus - - export class mahaganus extends panglima.fundatus { ->mahaganus : mahaganus ->T0 : T0 ->T1 : T1 ->panglima.fundatus : panglima.fundatus ->panglima : typeof panglima ->fundatus : typeof panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon - - martiniquensis(): ruatanica.hector>> { var x: ruatanica.hector>>; () => { var y = this; }; return x; } ->martiniquensis : () => ruatanica.hector>> ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dammermani : any ->melanops : dammermani.melanops ->caurinus : any ->mahaganus : mahaganus ->julianae : any ->nudicaudus : julianae.nudicaudus ->lavali : any ->otion : lavali.otion ->x : ruatanica.hector>> ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->dammermani : any ->melanops : dammermani.melanops ->caurinus : any ->mahaganus : mahaganus ->julianae : any ->nudicaudus : julianae.nudicaudus ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector>> - - devius(): samarensis.pelurus, trivirgatus.falconeri>> { var x: samarensis.pelurus, trivirgatus.falconeri>>; () => { var y = this; }; return x; } ->devius : () => samarensis.pelurus, trivirgatus.falconeri>> ->samarensis : any ->pelurus : samarensis.pelurus ->dogramacii : any ->aurata : dogramacii.aurata ->minutus : any ->inez : minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : samarensis.pelurus, trivirgatus.falconeri>> ->samarensis : any ->pelurus : samarensis.pelurus ->dogramacii : any ->aurata : dogramacii.aurata ->minutus : any ->inez : minutus.inez ->minutus : any ->inez : minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : dammermani.melanops ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus, trivirgatus.falconeri>> - - masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->masalai : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - kathleenae(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->kathleenae : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->patas : any ->uralensis : patas.uralensis ->caurinus : any ->psilurus : psilurus ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->patas : any ->uralensis : patas.uralensis ->caurinus : any ->psilurus : psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->simulus : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - nigrovittatus(): caurinus.mahaganus>> { var x: caurinus.mahaganus>>; () => { var y = this; }; return x; } ->nigrovittatus : () => mahaganus>> ->caurinus : any ->mahaganus : mahaganus ->gabriellae : any ->echinatus : gabriellae.echinatus ->petrophilus : any ->rosalia : petrophilus.rosalia ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->x : mahaganus>> ->caurinus : any ->mahaganus : mahaganus ->gabriellae : any ->echinatus : gabriellae.echinatus ->petrophilus : any ->rosalia : petrophilus.rosalia ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : mahaganus>> - - senegalensis(): gabriellae.klossii, dammermani.melanops> { var x: gabriellae.klossii, dammermani.melanops>; () => { var y = this; }; return x; } ->senegalensis : () => gabriellae.klossii, dammermani.melanops> ->gabriellae : any ->klossii : gabriellae.klossii ->howi : any ->coludo : howi.coludo ->lavali : any ->lepturus : lavali.lepturus ->lutreolus : any ->punicus : lutreolus.punicus ->dammermani : any ->melanops : dammermani.melanops ->x : gabriellae.klossii, dammermani.melanops> ->gabriellae : any ->klossii : gabriellae.klossii ->howi : any ->coludo : howi.coludo ->lavali : any ->lepturus : lavali.lepturus ->lutreolus : any ->punicus : lutreolus.punicus ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii, dammermani.melanops> - - acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->acticola : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - } -} -module macrorhinos { ->macrorhinos : typeof macrorhinos - - export class marmosurus { ->marmosurus : marmosurus ->T0 : T0 ->T1 : T1 - - tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tansaniana : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - } -} -module howi { ->howi : typeof howi - - export class angulatus extends sagitta.stolzmanni { ->angulatus : angulatus ->T0 : T0 ->T1 : T1 ->sagitta.stolzmanni : sagitta.stolzmanni ->sagitta : typeof sagitta ->stolzmanni : typeof sagitta.stolzmanni - - pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->pennatus : () => marcanoi ->howi : any ->marcanoi : marcanoi ->x : marcanoi ->howi : any ->marcanoi : marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : marcanoi - } -} -module daubentonii { ->daubentonii : typeof daubentonii - - export class nesiotes { ->nesiotes : nesiotes ->T0 : T0 ->T1 : T1 - } -} -module nigra { ->nigra : typeof nigra - - export class thalia { ->thalia : thalia ->T0 : T0 ->T1 : T1 - - dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->dichotomus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - arnuxii(): panamensis.linulus, lavali.beisa> { var x: panamensis.linulus, lavali.beisa>; () => { var y = this; }; return x; } ->arnuxii : () => panamensis.linulus, lavali.beisa> ->panamensis : any ->linulus : panamensis.linulus ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->beisa : lavali.beisa ->x : panamensis.linulus, lavali.beisa> ->panamensis : any ->linulus : panamensis.linulus ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus, lavali.beisa> - - verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->verheyeni : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; } ->dauuricus : () => gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->x : gabriellae.amicus ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.amicus - - tristriatus(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->tristriatus : () => rionegrensis.veraecrucis> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->howi : any ->marcanoi : howi.marcanoi ->panamensis : any ->linulus : panamensis.linulus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->howi : any ->marcanoi : howi.marcanoi ->x : rionegrensis.veraecrucis> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->howi : any ->marcanoi : howi.marcanoi ->panamensis : any ->linulus : panamensis.linulus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis> - - lasiura(): panglima.abidi>, Lanthanum.nitidus> { var x: panglima.abidi>, Lanthanum.nitidus>; () => { var y = this; }; return x; } ->lasiura : () => panglima.abidi>, Lanthanum.nitidus> ->panglima : any ->abidi : panglima.abidi ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->acariensis : julianae.acariensis ->x : panglima.abidi>, Lanthanum.nitidus> ->panglima : any ->abidi : panglima.abidi ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->lepturus : lavali.lepturus ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi>, Lanthanum.nitidus> - - gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->gangetica : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - brucei(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->brucei : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->julianae : any ->steerii : julianae.steerii ->ruatanica : any ->americanus : ruatanica.americanus ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->julianae : any ->steerii : julianae.steerii ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - } -} -module sagitta { ->sagitta : typeof sagitta - - export class walkeri extends minutus.portoricensis { ->walkeri : walkeri ->minutus.portoricensis : minutus.portoricensis ->minutus : typeof minutus ->portoricensis : typeof minutus.portoricensis - - maracajuensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->maracajuensis : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - } -} -module minutus { ->minutus : typeof minutus - - export class inez extends samarensis.pelurus { ->inez : inez ->T0 : T0 ->T1 : T1 ->samarensis.pelurus : samarensis.pelurus ->samarensis : typeof samarensis ->pelurus : typeof samarensis.pelurus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae - - vexillaris(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->vexillaris : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->lavali : any ->lepturus : lavali.lepturus ->lavali : any ->wilsoni : lavali.wilsoni ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->lavali : any ->lepturus : lavali.lepturus ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - } -} -module macrorhinos { ->macrorhinos : typeof macrorhinos - - export class konganensis extends imperfecta.lasiurus { ->konganensis : konganensis ->imperfecta.lasiurus : imperfecta.lasiurus ->imperfecta : typeof imperfecta ->lasiurus : typeof imperfecta.lasiurus ->caurinus : any ->psilurus : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus - } -} -module panamensis { ->panamensis : typeof panamensis - - export class linulus extends ruatanica.hector> { ->linulus : linulus ->T0 : T0 ->T1 : T1 ->ruatanica.hector : ruatanica.hector> ->ruatanica : typeof ruatanica ->hector : typeof ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri - - goslingi(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->goslingi : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->gabriellae : any ->amicus : gabriellae.amicus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->gabriellae : any ->amicus : gabriellae.amicus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->taki : () => patas.uralensis ->patas : any ->uralensis : patas.uralensis ->x : patas.uralensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : patas.uralensis - - fumosus(): rendalli.moojeni, lavali.beisa> { var x: rendalli.moojeni, lavali.beisa>; () => { var y = this; }; return x; } ->fumosus : () => rendalli.moojeni, lavali.beisa> ->rendalli : any ->moojeni : rendalli.moojeni ->argurus : any ->netscheri : argurus.netscheri ->dogramacii : any ->aurata : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->beisa : lavali.beisa ->x : rendalli.moojeni, lavali.beisa> ->rendalli : any ->moojeni : rendalli.moojeni ->argurus : any ->netscheri : argurus.netscheri ->dogramacii : any ->aurata : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni, lavali.beisa> - - rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->rufinus : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - lami(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->lami : () => nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : nigra.thalia ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.thalia - - regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->regina : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - nanilla(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->nanilla : () => dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lavali : any ->xanthognathus : lavali.xanthognathus ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->lavali : any ->xanthognathus : lavali.xanthognathus ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu - - enganus(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->enganus : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->oreas : argurus.oreas ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - gomantongensis(): rionegrensis.veraecrucis> { var x: rionegrensis.veraecrucis>; () => { var y = this; }; return x; } ->gomantongensis : () => rionegrensis.veraecrucis> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->caurinus : any ->psilurus : caurinus.psilurus ->minutus : any ->inez : minutus.inez ->rendalli : any ->zuluensis : rendalli.zuluensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.veraecrucis> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->caurinus : any ->psilurus : caurinus.psilurus ->minutus : any ->inez : minutus.inez ->rendalli : any ->zuluensis : rendalli.zuluensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis> - } -} -module nigra { ->nigra : typeof nigra - - export class gracilis { ->gracilis : gracilis ->T0 : T0 ->T1 : T1 - - weddellii(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->weddellii : () => dolichurus ->nigra : any ->dolichurus : dolichurus ->dogramacii : any ->aurata : dogramacii.aurata ->julianae : any ->steerii : julianae.steerii ->x : dolichurus ->nigra : any ->dolichurus : dolichurus ->dogramacii : any ->aurata : dogramacii.aurata ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dolichurus - - echinothrix(): Lanthanum.nitidus, argurus.oreas> { var x: Lanthanum.nitidus, argurus.oreas>; () => { var y = this; }; return x; } ->echinothrix : () => Lanthanum.nitidus, argurus.oreas> ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->panglima : any ->amphibius : panglima.amphibius ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->x : Lanthanum.nitidus, argurus.oreas> ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->panglima : any ->amphibius : panglima.amphibius ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->lepturus : lavali.lepturus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus, argurus.oreas> - - garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->garridoi : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - rouxii(): nigra.gracilis, nigra.thalia> { var x: nigra.gracilis, nigra.thalia>; () => { var y = this; }; return x; } ->rouxii : () => gracilis, thalia> ->nigra : any ->gracilis : gracilis ->argurus : any ->dauricus : argurus.dauricus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->patas : any ->uralensis : patas.uralensis ->nigra : any ->thalia : thalia ->patas : any ->uralensis : patas.uralensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : gracilis, thalia> ->nigra : any ->gracilis : gracilis ->argurus : any ->dauricus : argurus.dauricus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->patas : any ->uralensis : patas.uralensis ->nigra : any ->thalia : thalia ->patas : any ->uralensis : patas.uralensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gracilis, thalia> - - aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->aurita : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->geoffrensis : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - theresa(): macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus> { var x: macrorhinos.marmosurus, argurus.luctuosa>, nigra.dolichurus>; () => { var y = this; }; return x; } ->theresa : () => macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->argurus : any ->netscheri : argurus.netscheri ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->argurus : any ->luctuosa : argurus.luctuosa ->nigra : any ->dolichurus : dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->x : macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->argurus : any ->netscheri : argurus.netscheri ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->argurus : any ->luctuosa : argurus.luctuosa ->nigra : any ->dolichurus : dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, argurus.luctuosa>, dolichurus> - - melanocarpus(): julianae.albidens, julianae.sumatrana> { var x: julianae.albidens, julianae.sumatrana>; () => { var y = this; }; return x; } ->melanocarpus : () => julianae.albidens, julianae.sumatrana> ->julianae : any ->albidens : julianae.albidens ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.albidens, julianae.sumatrana> ->julianae : any ->albidens : julianae.albidens ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->foina : lutreolus.foina ->samarensis : any ->pallidus : samarensis.pallidus ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens, julianae.sumatrana> - - dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->dubiaquercus : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - - pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->pectoralis : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->apoensis : () => caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.megaphyllus - - grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->grisescens : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - ramirohitra(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->ramirohitra : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - } -} -module samarensis { ->samarensis : typeof samarensis - - export class pelurus extends sagitta.stolzmanni { ->pelurus : pelurus ->T0 : T0 ->T1 : T1 ->sagitta.stolzmanni : sagitta.stolzmanni ->sagitta : typeof sagitta ->stolzmanni : typeof sagitta.stolzmanni - - Palladium(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->Palladium : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - - castanea(): argurus.netscheri, julianae.oralis> { var x: argurus.netscheri, julianae.oralis>; () => { var y = this; }; return x; } ->castanea : () => argurus.netscheri, julianae.oralis> ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : argurus.netscheri, julianae.oralis> ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.netscheri, julianae.oralis> - - chamek(): argurus.pygmaea { var x: argurus.pygmaea; () => { var y = this; }; return x; } ->chamek : () => argurus.pygmaea ->argurus : any ->pygmaea : argurus.pygmaea ->julianae : any ->galapagoensis : julianae.galapagoensis ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : argurus.pygmaea ->argurus : any ->pygmaea : argurus.pygmaea ->julianae : any ->galapagoensis : julianae.galapagoensis ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.pygmaea - - nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nigriceps : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - lunatus(): pelurus { var x: pelurus; () => { var y = this; }; return x; } ->lunatus : () => pelurus ->pelurus : pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->x : pelurus ->pelurus : pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : pelurus - - madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->madurae : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->chinchilla : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - eliasi(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->eliasi : () => petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->julianae : any ->steerii : julianae.steerii ->lavali : any ->beisa : lavali.beisa ->x : petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->julianae : any ->steerii : julianae.steerii ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia - - proditor(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->proditor : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->gabriellae : any ->echinatus : gabriellae.echinatus ->julianae : any ->steerii : julianae.steerii ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->gabriellae : any ->echinatus : gabriellae.echinatus ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - gambianus(): quasiater.wattsi> { var x: quasiater.wattsi>; () => { var y = this; }; return x; } ->gambianus : () => quasiater.wattsi> ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : quasiater.wattsi> ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi> - - petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->petteri : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - - nusatenggara(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->nusatenggara : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - - olitor(): rionegrensis.veraecrucis { var x: rionegrensis.veraecrucis; () => { var y = this; }; return x; } ->olitor : () => rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->xanthognathus : lavali.xanthognathus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : rionegrensis.veraecrucis ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->lavali : any ->xanthognathus : lavali.xanthognathus ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis - } - export class fuscus extends macrorhinos.daphaenodon { ->fuscus : fuscus ->T0 : T0 ->T1 : T1 ->macrorhinos.daphaenodon : macrorhinos.daphaenodon ->macrorhinos : typeof macrorhinos ->daphaenodon : typeof macrorhinos.daphaenodon - - planifrons(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->planifrons : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->badia : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->prymnolopha : () => sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->x : sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.walkeri - - natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->natalensis : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; } ->hunteri : () => julianae.durangae ->julianae : any ->durangae : julianae.durangae ->x : julianae.durangae ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.durangae - - sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; } ->sapiens : () => pallidus ->pallidus : pallidus ->x : pallidus ->pallidus : pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : pallidus - - macrocercus(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->macrocercus : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->julianae : any ->sumatrana : julianae.sumatrana ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->nimbae : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - suricatta(): daubentonii.nigricans { var x: daubentonii.nigricans; () => { var y = this; }; return x; } ->suricatta : () => daubentonii.nigricans ->daubentonii : any ->nigricans : daubentonii.nigricans ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : daubentonii.nigricans ->daubentonii : any ->nigricans : daubentonii.nigricans ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nigricans - - jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->jagorii : () => julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.galapagoensis - - beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->beecrofti : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - imaizumii(): minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->imaizumii : () => minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> ->minutus : any ->inez : minutus.inez ->julianae : any ->gerbillus : julianae.gerbillus ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> ->minutus : any ->inez : minutus.inez ->julianae : any ->gerbillus : julianae.gerbillus ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> - - colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; } ->colocolo : () => quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : quasiater.bobrinskoi ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.bobrinskoi - - wolfi(): petrophilus.rosalia> { var x: petrophilus.rosalia>; () => { var y = this; }; return x; } ->wolfi : () => petrophilus.rosalia> ->petrophilus : any ->rosalia : petrophilus.rosalia ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->x : petrophilus.rosalia> ->petrophilus : any ->rosalia : petrophilus.rosalia ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia> - } - export class pallidus { ->pallidus : pallidus - - oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->oblativa : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->watersi : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - glacialis(): sagitta.cinereus, quasiater.wattsi>> { var x: sagitta.cinereus, quasiater.wattsi>>; () => { var y = this; }; return x; } ->glacialis : () => sagitta.cinereus, quasiater.wattsi>> ->sagitta : any ->cinereus : sagitta.cinereus ->nigra : any ->caucasica : nigra.caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : sagitta.cinereus, quasiater.wattsi>> ->sagitta : any ->cinereus : sagitta.cinereus ->nigra : any ->caucasica : nigra.caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->galapagoensis : julianae.galapagoensis ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.cinereus, quasiater.wattsi>> - - viaria(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->viaria : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->lavali : any ->xanthognathus : lavali.xanthognathus ->lutreolus : any ->punicus : lutreolus.punicus ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->lavali : any ->xanthognathus : lavali.xanthognathus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - } - export class cahirinus { ->cahirinus : cahirinus ->T0 : T0 ->T1 : T1 - - alashanicus(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->alashanicus : () => nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->peninsulae : argurus.peninsulae ->x : nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.caucasica - - flaviventer(): trivirgatus.tumidifrons> { var x: trivirgatus.tumidifrons>; () => { var y = this; }; return x; } ->flaviventer : () => trivirgatus.tumidifrons> ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->lavali : any ->thaeleri : lavali.thaeleri ->daubentonii : any ->arboreus : daubentonii.arboreus ->petrophilus : any ->minutilla : petrophilus.minutilla ->argurus : any ->peninsulae : argurus.peninsulae ->x : trivirgatus.tumidifrons> ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->lavali : any ->thaeleri : lavali.thaeleri ->daubentonii : any ->arboreus : daubentonii.arboreus ->petrophilus : any ->minutilla : petrophilus.minutilla ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.tumidifrons> - - bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->bottai : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->pinetis : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - saussurei(): rendalli.crenulata, argurus.netscheri, julianae.oralis>> { var x: rendalli.crenulata, argurus.netscheri, julianae.oralis>>; () => { var y = this; }; return x; } ->saussurei : () => rendalli.crenulata, argurus.netscheri, julianae.oralis>> ->rendalli : any ->crenulata : rendalli.crenulata ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->x : rendalli.crenulata, argurus.netscheri, julianae.oralis>> ->rendalli : any ->crenulata : rendalli.crenulata ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->argurus : any ->netscheri : argurus.netscheri ->minutus : any ->inez : minutus.inez ->argurus : any ->peninsulae : argurus.peninsulae ->julianae : any ->nudicaudus : julianae.nudicaudus ->julianae : any ->oralis : julianae.oralis ->lavali : any ->xanthognathus : lavali.xanthognathus ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata, argurus.netscheri, julianae.oralis>> - } -} -module sagitta { ->sagitta : typeof sagitta - - export class leptoceros extends caurinus.johorensis> { ->leptoceros : leptoceros ->T0 : T0 ->T1 : T1 ->caurinus.johorensis : caurinus.johorensis> ->caurinus : typeof caurinus ->johorensis : typeof caurinus.johorensis ->argurus : any ->peninsulae : argurus.peninsulae ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : argurus.germaini ->sagitta : any ->stolzmanni : stolzmanni - - victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->victus : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - hoplomyoides(): panglima.fundatus, nigra.gracilis> { var x: panglima.fundatus, nigra.gracilis>; () => { var y = this; }; return x; } ->hoplomyoides : () => panglima.fundatus, nigra.gracilis> ->panglima : any ->fundatus : panglima.fundatus ->julianae : any ->gerbillus : julianae.gerbillus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->julianae : any ->durangae : julianae.durangae ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : panglima.fundatus, nigra.gracilis> ->panglima : any ->fundatus : panglima.fundatus ->julianae : any ->gerbillus : julianae.gerbillus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->julianae : any ->durangae : julianae.durangae ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus, nigra.gracilis> - - gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->gratiosus : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->rex : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - bolami(): trivirgatus.tumidifrons { var x: trivirgatus.tumidifrons; () => { var y = this; }; return x; } ->bolami : () => trivirgatus.tumidifrons ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->ruatanica : any ->americanus : ruatanica.americanus ->x : trivirgatus.tumidifrons ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.tumidifrons - } -} -module daubentonii { ->daubentonii : typeof daubentonii - - export class nigricans extends sagitta.stolzmanni { ->nigricans : nigricans ->T0 : T0 ->T1 : T1 ->sagitta.stolzmanni : sagitta.stolzmanni ->sagitta : typeof sagitta ->stolzmanni : typeof sagitta.stolzmanni - - woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; } ->woosnami : () => dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : dogramacii.robustulus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.robustulus - } -} -module dammermani { ->dammermani : typeof dammermani - - export class siberu { ->siberu : siberu ->T0 : T0 ->T1 : T1 - } -} -module argurus { ->argurus : typeof argurus - - export class pygmaea extends rendalli.moojeni { ->pygmaea : pygmaea ->T0 : T0 ->T1 : T1 ->rendalli.moojeni : rendalli.moojeni ->rendalli : typeof rendalli ->moojeni : typeof rendalli.moojeni ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->gabriellae : any ->echinatus : gabriellae.echinatus - - pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->pajeros : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->capucinus : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - - cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->cuvieri : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - } -} -module chrysaeolus { ->chrysaeolus : typeof chrysaeolus - - export class sarasinorum extends caurinus.psilurus { ->sarasinorum : sarasinorum ->T0 : T0 ->T1 : T1 ->caurinus.psilurus : caurinus.psilurus ->caurinus : typeof caurinus ->psilurus : typeof caurinus.psilurus - - belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->belzebul : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - hinpoon(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->hinpoon : () => nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->julianae : any ->sumatrana : julianae.sumatrana ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.caucasica - - kandti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->kandti : () => quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->sumatrana : julianae.sumatrana ->x : quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi - - cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cynosuros : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->Germanium : () => lavali.beisa ->lavali : any ->beisa : lavali.beisa ->x : lavali.beisa ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.beisa - - Ununoctium(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->Ununoctium : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->lavali : any ->xanthognathus : lavali.xanthognathus ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->lavali : any ->xanthognathus : lavali.xanthognathus ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->princeps : () => minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->x : minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.portoricensis - } -} -module argurus { ->argurus : typeof argurus - - export class wetmorei { ->wetmorei : wetmorei ->T0 : T0 ->T1 : T1 - - leucoptera(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->leucoptera : () => petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->lutreolus : any ->foina : lutreolus.foina ->x : petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia - - ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->ochraventer : () => sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->x : sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.walkeri - - tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->tephromelas : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - cracens(): argurus.gilbertii { var x: argurus.gilbertii; () => { var y = this; }; return x; } ->cracens : () => gilbertii ->argurus : any ->gilbertii : gilbertii ->lavali : any ->thaeleri : lavali.thaeleri ->lutreolus : any ->punicus : lutreolus.punicus ->x : gilbertii ->argurus : any ->gilbertii : gilbertii ->lavali : any ->thaeleri : lavali.thaeleri ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gilbertii - - jamaicensis(): nigra.thalia> { var x: nigra.thalia>; () => { var y = this; }; return x; } ->jamaicensis : () => nigra.thalia> ->nigra : any ->thalia : nigra.thalia ->howi : any ->marcanoi : howi.marcanoi ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : nigra.thalia> ->nigra : any ->thalia : nigra.thalia ->howi : any ->marcanoi : howi.marcanoi ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.thalia> - - gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->gymnocaudus : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->mayori : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - } -} -module argurus { ->argurus : typeof argurus - - export class oreas extends lavali.wilsoni { ->oreas : oreas ->lavali.wilsoni : lavali.wilsoni ->lavali : typeof lavali ->wilsoni : typeof lavali.wilsoni - - salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->salamonis : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - paniscus(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->paniscus : () => ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->caurinus : any ->psilurus : caurinus.psilurus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->caurinus : any ->psilurus : caurinus.psilurus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium - - fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->fagani : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - papuanus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->papuanus : () => panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus - - timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->timidus : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - nghetinhensis(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->nghetinhensis : () => gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->argurus : any ->luctuosa : luctuosa ->julianae : any ->steerii : julianae.steerii ->x : gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->argurus : any ->luctuosa : luctuosa ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii - - barbei(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->barbei : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - - univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->univittatus : () => peninsulae ->argurus : any ->peninsulae : peninsulae ->x : peninsulae ->argurus : any ->peninsulae : peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : peninsulae - } -} -module daubentonii { ->daubentonii : typeof daubentonii - - export class arboreus { ->arboreus : arboreus ->T0 : T0 ->T1 : T1 - - capreolus(): rendalli.crenulata, lavali.wilsoni> { var x: rendalli.crenulata, lavali.wilsoni>; () => { var y = this; }; return x; } ->capreolus : () => rendalli.crenulata, lavali.wilsoni> ->rendalli : any ->crenulata : rendalli.crenulata ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->lavali : any ->wilsoni : lavali.wilsoni ->x : rendalli.crenulata, lavali.wilsoni> ->rendalli : any ->crenulata : rendalli.crenulata ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->americanus : ruatanica.americanus ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata, lavali.wilsoni> - - moreni(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->moreni : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->julianae : any ->galapagoensis : julianae.galapagoensis ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->julianae : any ->galapagoensis : julianae.galapagoensis ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - hypoleucos(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->hypoleucos : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->argurus : any ->germaini : argurus.germaini ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->paedulcus : () => minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->x : minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.portoricensis - - pucheranii(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pucheranii : () => samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->julianae : any ->durangae : julianae.durangae ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->julianae : any ->durangae : julianae.durangae ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.fuscus - - stella(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->stella : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lutreolus : any ->foina : lutreolus.foina ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lutreolus : any ->foina : lutreolus.foina ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - - brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->brasiliensis : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->brevicaudata : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->vitticollis : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->huangensis : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - cameroni(): petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> { var x: petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus>; () => { var y = this; }; return x; } ->cameroni : () => petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> ->petrophilus : any ->rosalia : petrophilus.rosalia ->dammermani : any ->siberu : dammermani.siberu ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->caurinus : any ->psilurus : caurinus.psilurus ->x : petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> ->petrophilus : any ->rosalia : petrophilus.rosalia ->dammermani : any ->siberu : dammermani.siberu ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia, imperfecta.ciliolabrum>, caurinus.psilurus> - - tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->tianshanica : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - } -} -module patas { ->patas : typeof patas - - export class uralensis { ->uralensis : uralensis - - cartilagonodus(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->cartilagonodus : () => Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus - - pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->pyrrhinus : () => lavali.beisa ->lavali : any ->beisa : lavali.beisa ->x : lavali.beisa ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.beisa - - insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->insulans : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - - nigricauda(): caurinus.johorensis, Lanthanum.jugularis> { var x: caurinus.johorensis, Lanthanum.jugularis>; () => { var y = this; }; return x; } ->nigricauda : () => caurinus.johorensis, Lanthanum.jugularis> ->caurinus : any ->johorensis : caurinus.johorensis ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : caurinus.johorensis, Lanthanum.jugularis> ->caurinus : any ->johorensis : caurinus.johorensis ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->sumatrana : julianae.sumatrana ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis, Lanthanum.jugularis> - - muricauda(): panglima.fundatus> { var x: panglima.fundatus>; () => { var y = this; }; return x; } ->muricauda : () => panglima.fundatus> ->panglima : any ->fundatus : panglima.fundatus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->acariensis : julianae.acariensis ->x : panglima.fundatus> ->panglima : any ->fundatus : panglima.fundatus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->siberu : dammermani.siberu ->lutreolus : any ->punicus : lutreolus.punicus ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus> - - albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->albicaudus : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - fallax(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->fallax : () => ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->lutreolus : any ->punicus : lutreolus.punicus ->gabriellae : any ->amicus : gabriellae.amicus ->x : ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->lutreolus : any ->punicus : lutreolus.punicus ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector - - attenuata(): macrorhinos.marmosurus> { var x: macrorhinos.marmosurus>; () => { var y = this; }; return x; } ->attenuata : () => macrorhinos.marmosurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->netscheri : argurus.netscheri ->quasiater : any ->carolinensis : quasiater.carolinensis ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : macrorhinos.marmosurus> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->ruatanica : any ->americanus : ruatanica.americanus ->argurus : any ->netscheri : argurus.netscheri ->quasiater : any ->carolinensis : quasiater.carolinensis ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus> - - megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->megalura : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - neblina(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->neblina : () => samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus - - citellus(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->citellus : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - tanezumi(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->tanezumi : () => imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->dogramacii : any ->robustulus : dogramacii.robustulus ->caurinus : any ->psilurus : caurinus.psilurus ->x : imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->dogramacii : any ->robustulus : dogramacii.robustulus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus - - albiventer(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->albiventer : () => rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->rendalli : any ->zuluensis : rendalli.zuluensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->rendalli : any ->zuluensis : rendalli.zuluensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata - } -} -module provocax { ->provocax : typeof provocax - - export class melanoleuca extends lavali.wilsoni { ->melanoleuca : melanoleuca ->lavali.wilsoni : lavali.wilsoni ->lavali : typeof lavali ->wilsoni : typeof lavali.wilsoni - - Neodymium(): macrorhinos.marmosurus, lutreolus.foina> { var x: macrorhinos.marmosurus, lutreolus.foina>; () => { var y = this; }; return x; } ->Neodymium : () => macrorhinos.marmosurus, lutreolus.foina> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->petrophilus : any ->sodyi : petrophilus.sodyi ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->lutreolus : any ->foina : lutreolus.foina ->x : macrorhinos.marmosurus, lutreolus.foina> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->petrophilus : any ->sodyi : petrophilus.sodyi ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, lutreolus.foina> - - baeri(): imperfecta.lasiurus { var x: imperfecta.lasiurus; () => { var y = this; }; return x; } ->baeri : () => imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lavali : any ->lepturus : lavali.lepturus ->ruatanica : any ->americanus : ruatanica.americanus ->x : imperfecta.lasiurus ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lavali : any ->lepturus : lavali.lepturus ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus - } -} -module sagitta { ->sagitta : typeof sagitta - - export class sicarius { ->sicarius : sicarius ->T0 : T0 ->T1 : T1 - - Chlorine(): samarensis.cahirinus, dogramacii.robustulus> { var x: samarensis.cahirinus, dogramacii.robustulus>; () => { var y = this; }; return x; } ->Chlorine : () => samarensis.cahirinus, dogramacii.robustulus> ->samarensis : any ->cahirinus : samarensis.cahirinus ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : samarensis.cahirinus, dogramacii.robustulus> ->samarensis : any ->cahirinus : samarensis.cahirinus ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus, dogramacii.robustulus> - - simulator(): macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; } ->simulator : () => macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->lepturus : lavali.lepturus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : stolzmanni ->x : macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->dammermani : any ->melanops : dammermani.melanops ->lavali : any ->lepturus : lavali.lepturus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus, macrorhinos.marmosurus, gabriellae.echinatus>, stolzmanni>> - } -} -module howi { ->howi : typeof howi - - export class marcanoi extends Lanthanum.megalonyx { ->marcanoi : marcanoi ->Lanthanum.megalonyx : Lanthanum.megalonyx ->Lanthanum : typeof Lanthanum ->megalonyx : typeof Lanthanum.megalonyx - - formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; } ->formosae : () => Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->x : Lanthanum.megalonyx ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.megalonyx - - dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->dudui : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - leander(): daubentonii.nesiotes { var x: daubentonii.nesiotes; () => { var y = this; }; return x; } ->leander : () => daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->minutus : any ->portoricensis : minutus.portoricensis ->x : daubentonii.nesiotes ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes - - martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->martinsi : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - beatrix(): imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> { var x: imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>>; () => { var y = this; }; return x; } ->beatrix : () => imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->provocax : any ->melanoleuca : provocax.melanoleuca ->panglima : any ->amphibius : panglima.amphibius ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->x : imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->provocax : any ->melanoleuca : provocax.melanoleuca ->panglima : any ->amphibius : panglima.amphibius ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>> - - griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->griseoventer : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - zerda(): quasiater.wattsi, howi.coludo>> { var x: quasiater.wattsi, howi.coludo>>; () => { var y = this; }; return x; } ->zerda : () => quasiater.wattsi, coludo>> ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->howi : any ->coludo : coludo ->julianae : any ->steerii : julianae.steerii ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.wattsi, coludo>> ->quasiater : any ->wattsi : quasiater.wattsi ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->howi : any ->coludo : coludo ->julianae : any ->steerii : julianae.steerii ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi, coludo>> - - yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->yucatanicus : () => julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.nudicaudus - - nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; } ->nigrita : () => argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->x : argurus.peninsulae ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.peninsulae - - jouvenetae(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->jouvenetae : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->indefessus : () => sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->x : sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.walkeri - - vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->vuquangensis : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->Zirconium : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - hyaena(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->hyaena : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lavali : any ->beisa : lavali.beisa ->argurus : any ->oreas : argurus.oreas ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lavali : any ->beisa : lavali.beisa ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - } -} -module argurus { ->argurus : typeof argurus - - export class gilbertii { ->gilbertii : gilbertii ->T0 : T0 ->T1 : T1 - - nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->nasutus : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->poecilops : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - - sondaicus(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->sondaicus : () => samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->argurus : any ->peninsulae : peninsulae ->lavali : any ->lepturus : lavali.lepturus ->x : samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->argurus : any ->peninsulae : peninsulae ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.fuscus - - auriventer(): petrophilus.rosalia { var x: petrophilus.rosalia; () => { var y = this; }; return x; } ->auriventer : () => petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->lavali : any ->xanthognathus : lavali.xanthognathus ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : petrophilus.rosalia ->petrophilus : any ->rosalia : petrophilus.rosalia ->lavali : any ->xanthognathus : lavali.xanthognathus ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.rosalia - - cherriei(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->cherriei : () => ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->argurus : any ->oreas : oreas ->x : ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->argurus : any ->oreas : oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium - - lindberghi(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->lindberghi : () => minutus.inez ->minutus : any ->inez : minutus.inez ->rendalli : any ->zuluensis : rendalli.zuluensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->rendalli : any ->zuluensis : rendalli.zuluensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->pipistrellus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paranus : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - dubosti(): nigra.thalia { var x: nigra.thalia; () => { var y = this; }; return x; } ->dubosti : () => nigra.thalia ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->x : nigra.thalia ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.thalia - - opossum(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->opossum : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->oreopolus : () => minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->x : minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.portoricensis - - amurensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->amurensis : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->lavali : any ->otion : lavali.otion ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->lavali : any ->otion : lavali.otion ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - } -} -module petrophilus { ->petrophilus : typeof petrophilus - - export class minutilla { ->minutilla : minutilla - } -} -module lutreolus { ->lutreolus : typeof lutreolus - - export class punicus { ->punicus : punicus - - strandi(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->strandi : () => gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii - - lar(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->lar : () => caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->nudicaudus : julianae.nudicaudus ->lavali : any ->otion : lavali.otion ->x : caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->nudicaudus : julianae.nudicaudus ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus - - erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->erica : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->trichura : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - lemniscatus(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->lemniscatus : () => panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : foina ->x : panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus - - aspalax(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->aspalax : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->lavali : any ->xanthognathus : lavali.xanthognathus ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - - marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->marshalli : () => julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.nudicaudus - - Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; } ->Zinc : () => julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->x : julianae.galapagoensis ->julianae : any ->galapagoensis : julianae.galapagoensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.galapagoensis - - monochromos(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->monochromos : () => howi.coludo ->howi : any ->coludo : howi.coludo ->lavali : any ->lepturus : lavali.lepturus ->lutreolus : any ->punicus : punicus ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->lavali : any ->lepturus : lavali.lepturus ->lutreolus : any ->punicus : punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - purinus(): ruatanica.hector { var x: ruatanica.hector; () => { var y = this; }; return x; } ->purinus : () => ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->lutreolus : any ->schlegeli : schlegeli ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : ruatanica.hector ->ruatanica : any ->hector : ruatanica.hector ->lutreolus : any ->schlegeli : schlegeli ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector - - ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->ischyrus : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - - tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; } ->tenuis : () => macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : macrorhinos.daphaenodon ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.daphaenodon - - Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; } ->Helium : () => julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->x : julianae.acariensis ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.acariensis - } -} -module macrorhinos { ->macrorhinos : typeof macrorhinos - - export class daphaenodon { ->daphaenodon : daphaenodon - - bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bredanensis : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - othus(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->othus : () => howi.coludo ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - hammondi(): julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; } ->hammondi : () => julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> ->julianae : any ->gerbillus : julianae.gerbillus ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->x : julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> ->julianae : any ->gerbillus : julianae.gerbillus ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->lavali : any ->otion : lavali.otion ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.gerbillus, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> - - aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->aureocollaris : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->flavipes : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - callosus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->callosus : () => trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->lutreolus : any ->foina : lutreolus.foina ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->lutreolus : any ->foina : lutreolus.foina ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor - } -} -module sagitta { ->sagitta : typeof sagitta - - export class cinereus { ->cinereus : cinereus ->T0 : T0 ->T1 : T1 - - zunigae(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->zunigae : () => rendalli.crenulata> ->rendalli : any ->crenulata : rendalli.crenulata ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->x : rendalli.crenulata> ->rendalli : any ->crenulata : rendalli.crenulata ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata> - - microps(): daubentonii.nigricans> { var x: daubentonii.nigricans>; () => { var y = this; }; return x; } ->microps : () => daubentonii.nigricans> ->daubentonii : any ->nigricans : daubentonii.nigricans ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->quasiater : any ->wattsi : quasiater.wattsi ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->sumatrana : julianae.sumatrana ->x : daubentonii.nigricans> ->daubentonii : any ->nigricans : daubentonii.nigricans ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->quasiater : any ->wattsi : quasiater.wattsi ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nigricans> - - guaporensis(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->guaporensis : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->gabriellae : any ->amicus : gabriellae.amicus ->argurus : any ->germaini : argurus.germaini ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->gabriellae : any ->amicus : gabriellae.amicus ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - tonkeana(): panglima.fundatus { var x: panglima.fundatus; () => { var y = this; }; return x; } ->tonkeana : () => panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->petrophilus : any ->minutilla : petrophilus.minutilla ->dammermani : any ->melanops : dammermani.melanops ->x : panglima.fundatus ->panglima : any ->fundatus : panglima.fundatus ->petrophilus : any ->minutilla : petrophilus.minutilla ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus - - montensis(): dammermani.siberu { var x: dammermani.siberu; () => { var y = this; }; return x; } ->montensis : () => dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->dogramacii : any ->aurata : dogramacii.aurata ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : dammermani.siberu ->dammermani : any ->siberu : dammermani.siberu ->dogramacii : any ->aurata : dogramacii.aurata ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu - - sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; } ->sphinx : () => minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->x : minutus.portoricensis ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.portoricensis - - glis(): argurus.wetmorei { var x: argurus.wetmorei; () => { var y = this; }; return x; } ->glis : () => argurus.wetmorei ->argurus : any ->wetmorei : argurus.wetmorei ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->x : argurus.wetmorei ->argurus : any ->wetmorei : argurus.wetmorei ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.wetmorei - - dorsalis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->dorsalis : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->sumatrana : julianae.sumatrana ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->fimbriatus : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - - sara(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->sara : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->epimelas : () => stolzmanni ->sagitta : any ->stolzmanni : stolzmanni ->x : stolzmanni ->sagitta : any ->stolzmanni : stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : stolzmanni - - pittieri(): samarensis.fuscus { var x: samarensis.fuscus; () => { var y = this; }; return x; } ->pittieri : () => samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->quasiater : any ->carolinensis : quasiater.carolinensis ->sagitta : any ->stolzmanni : stolzmanni ->x : samarensis.fuscus ->samarensis : any ->fuscus : samarensis.fuscus ->quasiater : any ->carolinensis : quasiater.carolinensis ->sagitta : any ->stolzmanni : stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.fuscus - } -} -module nigra { ->nigra : typeof nigra - - export class caucasica { ->caucasica : caucasica ->T0 : T0 ->T1 : T1 - } -} -module gabriellae { ->gabriellae : typeof gabriellae - - export class klossii extends imperfecta.lasiurus { ->klossii : klossii ->T0 : T0 ->T1 : T1 ->imperfecta.lasiurus : imperfecta.lasiurus ->imperfecta : typeof imperfecta ->lasiurus : typeof imperfecta.lasiurus ->dogramacii : any ->robustulus : dogramacii.robustulus ->caurinus : any ->psilurus : caurinus.psilurus - } - export class amicus { ->amicus : amicus - - pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->pirrensis : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - phaeura(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->phaeura : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : argurus.peninsulae ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : argurus.peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->voratus : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - satarae(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->satarae : () => trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->x : trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor - - hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->hooperi : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - perrensi(): rendalli.crenulata { var x: rendalli.crenulata; () => { var y = this; }; return x; } ->perrensi : () => rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->howi : any ->marcanoi : howi.marcanoi ->x : rendalli.crenulata ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata - - ridei(): ruatanica.hector> { var x: ruatanica.hector>; () => { var y = this; }; return x; } ->ridei : () => ruatanica.hector> ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->x : ruatanica.hector> ->ruatanica : any ->hector : ruatanica.hector ->julianae : any ->sumatrana : julianae.sumatrana ->samarensis : any ->pelurus : samarensis.pelurus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.hector> - - audeberti(): daubentonii.arboreus { var x: daubentonii.arboreus; () => { var y = this; }; return x; } ->audeberti : () => daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->x : daubentonii.arboreus ->daubentonii : any ->arboreus : daubentonii.arboreus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.arboreus - - Lutetium(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->Lutetium : () => macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lavali : any ->thaeleri : lavali.thaeleri ->x : macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus - - atrox(): samarensis.fuscus, dogramacii.koepckeae> { var x: samarensis.fuscus, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->atrox : () => samarensis.fuscus, dogramacii.koepckeae> ->samarensis : any ->fuscus : samarensis.fuscus ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : samarensis.fuscus, dogramacii.koepckeae> ->samarensis : any ->fuscus : samarensis.fuscus ->julianae : any ->oralis : julianae.oralis ->julianae : any ->steerii : julianae.steerii ->lavali : any ->lepturus : lavali.lepturus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.fuscus, dogramacii.koepckeae> - } - export class echinatus { ->echinatus : echinatus - - tenuipes(): howi.coludo> { var x: howi.coludo>; () => { var y = this; }; return x; } ->tenuipes : () => howi.coludo> ->howi : any ->coludo : howi.coludo ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->x : howi.coludo> ->howi : any ->coludo : howi.coludo ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo> - } -} -module imperfecta { ->imperfecta : typeof imperfecta - - export class lasiurus { ->lasiurus : lasiurus ->T0 : T0 ->T1 : T1 - - marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->marisae : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->fulvus : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - - paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; } ->paranaensis : () => dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : dogramacii.koepckeae ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.koepckeae - - didactylus(): panglima.abidi> { var x: panglima.abidi>; () => { var y = this; }; return x; } ->didactylus : () => panglima.abidi> ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->aurata : dogramacii.aurata ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : panglima.abidi> ->panglima : any ->abidi : panglima.abidi ->dogramacii : any ->aurata : dogramacii.aurata ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi> - - schreibersii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->schreibersii : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->ruatanica : any ->americanus : ruatanica.americanus ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->argurus : any ->luctuosa : argurus.luctuosa ->ruatanica : any ->americanus : ruatanica.americanus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->orii : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - } - export class subspinosus { ->subspinosus : subspinosus - - monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->monticularis : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - Gadolinium(): nigra.caucasica { var x: nigra.caucasica; () => { var y = this; }; return x; } ->Gadolinium : () => nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->patas : any ->uralensis : patas.uralensis ->x : nigra.caucasica ->nigra : any ->caucasica : nigra.caucasica ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.caucasica - - oasicus(): caurinus.johorensis> { var x: caurinus.johorensis>; () => { var y = this; }; return x; } ->oasicus : () => caurinus.johorensis> ->caurinus : any ->johorensis : caurinus.johorensis ->argurus : any ->peninsulae : argurus.peninsulae ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : argurus.germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : caurinus.johorensis> ->caurinus : any ->johorensis : caurinus.johorensis ->argurus : any ->peninsulae : argurus.peninsulae ->daubentonii : any ->arboreus : daubentonii.arboreus ->argurus : any ->germaini : argurus.germaini ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis> - - paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->paterculus : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; } ->punctata : () => lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->x : lavali.thaeleri ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.thaeleri - - invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->invictus : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->stangeri : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - siskiyou(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->siskiyou : () => minutus.inez ->minutus : any ->inez : minutus.inez ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->samarensis : any ->pallidus : samarensis.pallidus ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; } ->welwitschii : () => rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : rionegrensis.caniventer ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.caniventer - - Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->Polonium : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->harpia : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - } - export class ciliolabrum extends dogramacii.robustulus { ->ciliolabrum : ciliolabrum ->T0 : T0 ->T1 : T1 ->dogramacii.robustulus : dogramacii.robustulus ->dogramacii : typeof dogramacii ->robustulus : typeof dogramacii.robustulus - - leschenaultii(): argurus.dauricus> { var x: argurus.dauricus>; () => { var y = this; }; return x; } ->leschenaultii : () => argurus.dauricus> ->argurus : any ->dauricus : argurus.dauricus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->argurus : any ->germaini : argurus.germaini ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : argurus.dauricus> ->argurus : any ->dauricus : argurus.dauricus ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->argurus : any ->germaini : argurus.germaini ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus> - - ludia(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->ludia : () => caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->lutreolus : any ->punicus : lutreolus.punicus ->x : caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis - - sinicus(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->sinicus : () => macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->gabriellae : any ->amicus : gabriellae.amicus ->x : macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->gabriellae : any ->amicus : gabriellae.amicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus - } -} -module quasiater { ->quasiater : typeof quasiater - - export class wattsi { ->wattsi : wattsi ->T0 : T0 ->T1 : T1 - - lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->lagotis : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->hussoni : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - bilarni(): samarensis.cahirinus>, dogramacii.koepckeae> { var x: samarensis.cahirinus>, dogramacii.koepckeae>; () => { var y = this; }; return x; } ->bilarni : () => samarensis.cahirinus>, dogramacii.koepckeae> ->samarensis : any ->cahirinus : samarensis.cahirinus ->rendalli : any ->crenulata : rendalli.crenulata ->lavali : any ->wilsoni : lavali.wilsoni ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : samarensis.cahirinus>, dogramacii.koepckeae> ->samarensis : any ->cahirinus : samarensis.cahirinus ->rendalli : any ->crenulata : rendalli.crenulata ->lavali : any ->wilsoni : lavali.wilsoni ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus>, dogramacii.koepckeae> - - cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; } ->cabrerae : () => lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->x : lavali.lepturus ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.lepturus - } -} -module butleri { ->butleri : any -} -module petrophilus { ->petrophilus : typeof petrophilus - - export class sodyi extends quasiater.bobrinskoi { ->sodyi : sodyi ->T0 : T0 ->T1 : T1 ->quasiater.bobrinskoi : quasiater.bobrinskoi ->quasiater : typeof quasiater ->bobrinskoi : typeof quasiater.bobrinskoi - - saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->saundersiae : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->imberbis : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->cansdalei : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - Lawrencium(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->Lawrencium : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->julianae : any ->sumatrana : julianae.sumatrana ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->julianae : any ->sumatrana : julianae.sumatrana ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->catta : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - breviceps(): argurus.dauricus { var x: argurus.dauricus; () => { var y = this; }; return x; } ->breviceps : () => argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->x : argurus.dauricus ->argurus : any ->dauricus : argurus.dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.dauricus - - transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->transitionalis : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - - heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->heptneri : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - - bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->bairdii : () => lavali.beisa ->lavali : any ->beisa : lavali.beisa ->x : lavali.beisa ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.beisa - } -} -module caurinus { ->caurinus : typeof caurinus - - export class megaphyllus extends imperfecta.lasiurus> { ->megaphyllus : megaphyllus ->imperfecta.lasiurus : imperfecta.lasiurus> ->imperfecta : typeof imperfecta ->lasiurus : typeof imperfecta.lasiurus ->julianae : any ->acariensis : julianae.acariensis ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi - - montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->montana : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->amatus : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->bucculentus : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - lepida(): rendalli.crenulata> { var x: rendalli.crenulata>; () => { var y = this; }; return x; } ->lepida : () => rendalli.crenulata> ->rendalli : any ->crenulata : rendalli.crenulata ->lavali : any ->wilsoni : lavali.wilsoni ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->x : rendalli.crenulata> ->rendalli : any ->crenulata : rendalli.crenulata ->lavali : any ->wilsoni : lavali.wilsoni ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata> - - graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; } ->graecus : () => dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : dogramacii.kaiseri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.kaiseri - - forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; } ->forsteri : () => petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : petrophilus.minutilla ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.minutilla - - perotensis(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->perotensis : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->minutus : any ->portoricensis : minutus.portoricensis ->lavali : any ->lepturus : lavali.lepturus ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->minutus : any ->portoricensis : minutus.portoricensis ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - - cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->cirrhosus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - } -} -module minutus { ->minutus : typeof minutus - - export class portoricensis { ->portoricensis : portoricensis - - relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->relictus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - aequatorianus(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->aequatorianus : () => gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->x : gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii - - rhinogradoides(): samarensis.cahirinus { var x: samarensis.cahirinus; () => { var y = this; }; return x; } ->rhinogradoides : () => samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->quasiater : any ->carolinensis : quasiater.carolinensis ->julianae : any ->durangae : julianae.durangae ->x : samarensis.cahirinus ->samarensis : any ->cahirinus : samarensis.cahirinus ->quasiater : any ->carolinensis : quasiater.carolinensis ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.cahirinus - } -} -module lutreolus { ->lutreolus : typeof lutreolus - - export class foina { ->foina : foina - - tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->tarfayensis : () => punicus ->lutreolus : any ->punicus : punicus ->x : punicus ->lutreolus : any ->punicus : punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : punicus - - Promethium(): samarensis.pelurus { var x: samarensis.pelurus; () => { var y = this; }; return x; } ->Promethium : () => samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae ->x : samarensis.pelurus ->samarensis : any ->pelurus : samarensis.pelurus ->argurus : any ->germaini : argurus.germaini ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pelurus - - salinae(): gabriellae.klossii { var x: gabriellae.klossii; () => { var y = this; }; return x; } ->salinae : () => gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : gabriellae.klossii ->gabriellae : any ->klossii : gabriellae.klossii ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.klossii - - kerri(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->kerri : () => howi.coludo ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - scotti(): quasiater.wattsi { var x: quasiater.wattsi; () => { var y = this; }; return x; } ->scotti : () => quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : quasiater.wattsi ->quasiater : any ->wattsi : quasiater.wattsi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi - - camerunensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->camerunensis : () => julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->julianae : any ->durangae : julianae.durangae ->x : julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->julianae : any ->durangae : julianae.durangae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.gerbillus - - affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->affinis : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - - siebersi(): trivirgatus.lotor> { var x: trivirgatus.lotor>; () => { var y = this; }; return x; } ->siebersi : () => trivirgatus.lotor> ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->lavali : any ->wilsoni : lavali.wilsoni ->x : trivirgatus.lotor> ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->oreas : argurus.oreas ->nigra : any ->thalia : nigra.thalia ->patas : any ->uralensis : patas.uralensis ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor> - - maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->maquassiensis : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - layardi(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->layardi : () => julianae.albidens ->julianae : any ->albidens : julianae.albidens ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->x : julianae.albidens ->julianae : any ->albidens : julianae.albidens ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens - - bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->bishopi : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->apodemoides : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - argentiventer(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->argentiventer : () => trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->punicus : punicus ->x : trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->punicus : punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.mixtus - } -} -module lutreolus { ->lutreolus : typeof lutreolus - - export class cor extends panglima.fundatus, lavali.beisa>, dammermani.melanops> { ->cor : cor ->T0 : T0 ->T1 : T1 ->panglima.fundatus : panglima.fundatus, lavali.beisa>, dammermani.melanops> ->panglima : typeof panglima ->fundatus : typeof panglima.fundatus ->panamensis : any ->linulus : panamensis.linulus ->trivirgatus : any ->lotor : trivirgatus.lotor ->argurus : any ->luctuosa : argurus.luctuosa ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->beisa : lavali.beisa ->dammermani : any ->melanops : dammermani.melanops - - antinorii(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->antinorii : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->carolinensis : quasiater.carolinensis ->argurus : any ->germaini : argurus.germaini ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->quasiater : any ->carolinensis : quasiater.carolinensis ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - voi(): caurinus.johorensis { var x: caurinus.johorensis; () => { var y = this; }; return x; } ->voi : () => caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->dammermani : any ->melanops : dammermani.melanops ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : caurinus.johorensis ->caurinus : any ->johorensis : caurinus.johorensis ->dammermani : any ->melanops : dammermani.melanops ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.johorensis - - mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->mussoi : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - - truncatus(): trivirgatus.lotor { var x: trivirgatus.lotor; () => { var y = this; }; return x; } ->truncatus : () => trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lutreolus : any ->foina : foina ->x : trivirgatus.lotor ->trivirgatus : any ->lotor : trivirgatus.lotor ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lutreolus : any ->foina : foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor - - achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; } ->achates : () => provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : provocax.melanoleuca ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : provocax.melanoleuca - - praedatrix(): howi.angulatus { var x: howi.angulatus; () => { var y = this; }; return x; } ->praedatrix : () => howi.angulatus ->howi : any ->angulatus : howi.angulatus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->julianae : any ->steerii : julianae.steerii ->x : howi.angulatus ->howi : any ->angulatus : howi.angulatus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.angulatus - - mzabi(): quasiater.wattsi, minutus.inez> { var x: quasiater.wattsi, minutus.inez>; () => { var y = this; }; return x; } ->mzabi : () => quasiater.wattsi, minutus.inez> ->quasiater : any ->wattsi : quasiater.wattsi ->trivirgatus : any ->lotor : trivirgatus.lotor ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pallidus : samarensis.pallidus ->minutus : any ->inez : minutus.inez ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : quasiater.wattsi, minutus.inez> ->quasiater : any ->wattsi : quasiater.wattsi ->trivirgatus : any ->lotor : trivirgatus.lotor ->julianae : any ->steerii : julianae.steerii ->samarensis : any ->pallidus : samarensis.pallidus ->minutus : any ->inez : minutus.inez ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.wattsi, minutus.inez> - - xanthinus(): nigra.gracilis, howi.marcanoi> { var x: nigra.gracilis, howi.marcanoi>; () => { var y = this; }; return x; } ->xanthinus : () => nigra.gracilis, howi.marcanoi> ->nigra : any ->gracilis : nigra.gracilis ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->howi : any ->marcanoi : howi.marcanoi ->x : nigra.gracilis, howi.marcanoi> ->nigra : any ->gracilis : nigra.gracilis ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis, howi.marcanoi> - - tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; } ->tapoatafa : () => caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.megaphyllus - - castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; } ->castroviejoi : () => Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : Lanthanum.jugularis ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.jugularis - } -} -module howi { ->howi : typeof howi - - export class coludo { ->coludo : coludo ->T0 : T0 ->T1 : T1 - - bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; } ->bernhardi : () => lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : lutreolus.punicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.punicus - - isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->isseli : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - } -} -module argurus { ->argurus : typeof argurus - - export class germaini extends gabriellae.amicus { ->germaini : germaini ->gabriellae.amicus : gabriellae.amicus ->gabriellae : typeof gabriellae ->amicus : typeof gabriellae.amicus - - sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->sharpei : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - palmarum(): macrorhinos.marmosurus { var x: macrorhinos.marmosurus; () => { var y = this; }; return x; } ->palmarum : () => macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->lavali : any ->thaeleri : lavali.thaeleri ->x : macrorhinos.marmosurus ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.marmosurus - } -} -module sagitta { ->sagitta : typeof sagitta - - export class stolzmanni { ->stolzmanni : stolzmanni - - riparius(): nigra.dolichurus { var x: nigra.dolichurus; () => { var y = this; }; return x; } ->riparius : () => nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->caurinus : any ->psilurus : caurinus.psilurus ->x : nigra.dolichurus ->nigra : any ->dolichurus : nigra.dolichurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.dolichurus - - dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->dhofarensis : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; } ->tricolor : () => argurus.germaini ->argurus : any ->germaini : argurus.germaini ->x : argurus.germaini ->argurus : any ->germaini : argurus.germaini ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.germaini - - gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->gardneri : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - walleri(): rendalli.moojeni, gabriellae.echinatus> { var x: rendalli.moojeni, gabriellae.echinatus>; () => { var y = this; }; return x; } ->walleri : () => rendalli.moojeni, gabriellae.echinatus> ->rendalli : any ->moojeni : rendalli.moojeni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : rendalli.moojeni, gabriellae.echinatus> ->rendalli : any ->moojeni : rendalli.moojeni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni, gabriellae.echinatus> - - talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; } ->talpoides : () => gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : gabriellae.echinatus ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : gabriellae.echinatus - - pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->pallipes : () => dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->x : dammermani.melanops ->dammermani : any ->melanops : dammermani.melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.melanops - - lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; } ->lagurus : () => lavali.beisa ->lavali : any ->beisa : lavali.beisa ->x : lavali.beisa ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.beisa - - hipposideros(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->hipposideros : () => julianae.albidens ->julianae : any ->albidens : julianae.albidens ->argurus : any ->luctuosa : argurus.luctuosa ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : julianae.albidens ->julianae : any ->albidens : julianae.albidens ->argurus : any ->luctuosa : argurus.luctuosa ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens - - griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; } ->griselda : () => caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->x : caurinus.psilurus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.psilurus - - florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; } ->florium : () => rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->x : rendalli.zuluensis ->rendalli : any ->zuluensis : rendalli.zuluensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.zuluensis - } -} -module dammermani { ->dammermani : typeof dammermani - - export class melanops extends minutus.inez { ->melanops : melanops ->minutus.inez : minutus.inez ->minutus : typeof minutus ->inez : typeof minutus.inez ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->dammermani : any ->melanops : melanops - - blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; } ->blarina : () => melanops ->dammermani : any ->melanops : melanops ->x : melanops ->dammermani : any ->melanops : melanops ->() => { var y = this; } : () => void ->y : this ->this : this ->x : melanops - - harwoodi(): rionegrensis.veraecrucis, lavali.wilsoni> { var x: rionegrensis.veraecrucis, lavali.wilsoni>; () => { var y = this; }; return x; } ->harwoodi : () => rionegrensis.veraecrucis, lavali.wilsoni> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->lavali : any ->wilsoni : lavali.wilsoni ->x : rionegrensis.veraecrucis, lavali.wilsoni> ->rionegrensis : any ->veraecrucis : rionegrensis.veraecrucis ->nigra : any ->dolichurus : nigra.dolichurus ->lavali : any ->lepturus : lavali.lepturus ->samarensis : any ->pallidus : samarensis.pallidus ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rionegrensis.veraecrucis, lavali.wilsoni> - - ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; } ->ashaninka : () => julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->x : julianae.nudicaudus ->julianae : any ->nudicaudus : julianae.nudicaudus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.nudicaudus - - wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; } ->wiedii : () => julianae.steerii ->julianae : any ->steerii : julianae.steerii ->x : julianae.steerii ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.steerii - - godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; } ->godmani : () => imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : imperfecta.subspinosus ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.subspinosus - - condorensis(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->condorensis : () => imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->samarensis : any ->pallidus : samarensis.pallidus ->caurinus : any ->psilurus : caurinus.psilurus ->x : imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->samarensis : any ->pallidus : samarensis.pallidus ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum - - xerophila(): panglima.abidi { var x: panglima.abidi; () => { var y = this; }; return x; } ->xerophila : () => panglima.abidi ->panglima : any ->abidi : panglima.abidi ->minutus : any ->portoricensis : minutus.portoricensis ->patas : any ->uralensis : patas.uralensis ->x : panglima.abidi ->panglima : any ->abidi : panglima.abidi ->minutus : any ->portoricensis : minutus.portoricensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.abidi - - laminatus(): panglima.fundatus>> { var x: panglima.fundatus>>; () => { var y = this; }; return x; } ->laminatus : () => panglima.fundatus>> ->panglima : any ->fundatus : panglima.fundatus ->howi : any ->marcanoi : howi.marcanoi ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->x : panglima.fundatus>> ->panglima : any ->fundatus : panglima.fundatus ->howi : any ->marcanoi : howi.marcanoi ->samarensis : any ->fuscus : samarensis.fuscus ->lavali : any ->wilsoni : lavali.wilsoni ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->imperfecta : any ->subspinosus : imperfecta.subspinosus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.fundatus>> - - archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; } ->archeri : () => howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->x : howi.marcanoi ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.marcanoi - - hidalgo(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->hidalgo : () => minutus.inez ->minutus : any ->inez : minutus.inez ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - - unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->unicolor : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - philippii(): nigra.gracilis { var x: nigra.gracilis; () => { var y = this; }; return x; } ->philippii : () => nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->sagitta : any ->walkeri : sagitta.walkeri ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : nigra.gracilis ->nigra : any ->gracilis : nigra.gracilis ->sagitta : any ->walkeri : sagitta.walkeri ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.gracilis - - bocagei(): julianae.albidens { var x: julianae.albidens; () => { var y = this; }; return x; } ->bocagei : () => julianae.albidens ->julianae : any ->albidens : julianae.albidens ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->thaeleri : lavali.thaeleri ->x : julianae.albidens ->julianae : any ->albidens : julianae.albidens ->lavali : any ->wilsoni : lavali.wilsoni ->lavali : any ->thaeleri : lavali.thaeleri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.albidens - } -} -module argurus { ->argurus : typeof argurus - - export class peninsulae extends patas.uralensis { ->peninsulae : peninsulae ->patas.uralensis : patas.uralensis ->patas : typeof patas ->uralensis : typeof patas.uralensis - - aitkeni(): trivirgatus.mixtus, panglima.amphibius> { var x: trivirgatus.mixtus, panglima.amphibius>; () => { var y = this; }; return x; } ->aitkeni : () => trivirgatus.mixtus, panglima.amphibius> ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->argurus : any ->dauricus : dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : trivirgatus.mixtus, panglima.amphibius> ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->argurus : any ->dauricus : dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.mixtus, panglima.amphibius> - - novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; } ->novaeangliae : () => lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : lavali.xanthognathus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.xanthognathus - - olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->olallae : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; } ->anselli : () => dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->x : dogramacii.aurata ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dogramacii.aurata - - timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; } ->timminsi : () => macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : macrorhinos.konganensis ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : macrorhinos.konganensis - - sordidus(): rendalli.moojeni { var x: rendalli.moojeni; () => { var y = this; }; return x; } ->sordidus : () => rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : rendalli.moojeni ->rendalli : any ->moojeni : rendalli.moojeni ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni - - telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; } ->telfordi : () => trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->x : trivirgatus.oconnelli ->trivirgatus : any ->oconnelli : trivirgatus.oconnelli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.oconnelli - - cavernarum(): minutus.inez { var x: minutus.inez; () => { var y = this; }; return x; } ->cavernarum : () => minutus.inez ->minutus : any ->inez : minutus.inez ->gabriellae : any ->echinatus : gabriellae.echinatus ->argurus : any ->luctuosa : luctuosa ->x : minutus.inez ->minutus : any ->inez : minutus.inez ->gabriellae : any ->echinatus : gabriellae.echinatus ->argurus : any ->luctuosa : luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez - } -} -module argurus { ->argurus : typeof argurus - - export class netscheri { ->netscheri : netscheri ->T0 : T0 ->T1 : T1 - - gravis(): nigra.caucasica, dogramacii.kaiseri> { var x: nigra.caucasica, dogramacii.kaiseri>; () => { var y = this; }; return x; } ->gravis : () => nigra.caucasica, dogramacii.kaiseri> ->nigra : any ->caucasica : nigra.caucasica ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->x : nigra.caucasica, dogramacii.kaiseri> ->nigra : any ->caucasica : nigra.caucasica ->rendalli : any ->crenulata : rendalli.crenulata ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : nigra.caucasica, dogramacii.kaiseri> - - ruschii(): imperfecta.lasiurus> { var x: imperfecta.lasiurus>; () => { var y = this; }; return x; } ->ruschii : () => imperfecta.lasiurus> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : imperfecta.lasiurus> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->howi : any ->marcanoi : howi.marcanoi ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus> - - tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; } ->tricuspidatus : () => lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->x : lavali.wilsoni ->lavali : any ->wilsoni : lavali.wilsoni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lavali.wilsoni - - fernandezi(): dammermani.siberu, panglima.abidi> { var x: dammermani.siberu, panglima.abidi>; () => { var y = this; }; return x; } ->fernandezi : () => dammermani.siberu, panglima.abidi> ->dammermani : any ->siberu : dammermani.siberu ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : peninsulae ->x : dammermani.siberu, panglima.abidi> ->dammermani : any ->siberu : dammermani.siberu ->nigra : any ->thalia : nigra.thalia ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->julianae : any ->sumatrana : julianae.sumatrana ->panglima : any ->abidi : panglima.abidi ->lutreolus : any ->foina : lutreolus.foina ->argurus : any ->peninsulae : peninsulae ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu, panglima.abidi> - - colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; } ->colletti : () => samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->x : samarensis.pallidus ->samarensis : any ->pallidus : samarensis.pallidus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : samarensis.pallidus - - microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; } ->microbullatus : () => lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->x : lutreolus.schlegeli ->lutreolus : any ->schlegeli : lutreolus.schlegeli ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.schlegeli - - eburneae(): chrysaeolus.sarasinorum { var x: chrysaeolus.sarasinorum; () => { var y = this; }; return x; } ->eburneae : () => chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->julianae : any ->acariensis : julianae.acariensis ->x : chrysaeolus.sarasinorum ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : chrysaeolus.sarasinorum - - tatei(): argurus.pygmaea> { var x: argurus.pygmaea>; () => { var y = this; }; return x; } ->tatei : () => pygmaea> ->argurus : any ->pygmaea : pygmaea ->argurus : any ->oreas : oreas ->panglima : any ->fundatus : panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->x : pygmaea> ->argurus : any ->pygmaea : pygmaea ->argurus : any ->oreas : oreas ->panglima : any ->fundatus : panglima.fundatus ->quasiater : any ->carolinensis : quasiater.carolinensis ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->() => { var y = this; } : () => void ->y : this ->this : this ->x : pygmaea> - - millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; } ->millardi : () => sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->x : sagitta.walkeri ->sagitta : any ->walkeri : sagitta.walkeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.walkeri - - pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; } ->pruinosus : () => trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->x : trivirgatus.falconeri ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.falconeri - - delator(): argurus.netscheri { var x: argurus.netscheri; () => { var y = this; }; return x; } ->delator : () => netscheri ->argurus : any ->netscheri : netscheri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->lepturus : lavali.lepturus ->x : netscheri ->argurus : any ->netscheri : netscheri ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : netscheri - - nyikae(): trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; } ->nyikae : () => trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->howi : any ->angulatus : howi.angulatus ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->acariensis : julianae.acariensis ->x : trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> ->trivirgatus : any ->tumidifrons : trivirgatus.tumidifrons ->howi : any ->angulatus : howi.angulatus ->howi : any ->coludo : howi.coludo ->quasiater : any ->carolinensis : quasiater.carolinensis ->minutus : any ->portoricensis : minutus.portoricensis ->petrophilus : any ->minutilla : petrophilus.minutilla ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.tumidifrons, petrophilus.minutilla>, julianae.acariensis> - - ruemmleri(): panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> { var x: panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->ruemmleri : () => panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> ->panglima : any ->amphibius : panglima.amphibius ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->x : panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> ->panglima : any ->amphibius : panglima.amphibius ->minutus : any ->inez : minutus.inez ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->dogramacii : any ->aurata : dogramacii.aurata ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum> - } -} -module ruatanica { ->ruatanica : typeof ruatanica - - export class Praseodymium extends ruatanica.hector { ->Praseodymium : Praseodymium ->T0 : T0 ->T1 : T1 ->ruatanica.hector : hector ->ruatanica : typeof ruatanica ->hector : typeof hector ->lutreolus : any ->punicus : lutreolus.punicus ->gabriellae : any ->amicus : gabriellae.amicus - - clara(): panglima.amphibius, argurus.dauricus> { var x: panglima.amphibius, argurus.dauricus>; () => { var y = this; }; return x; } ->clara : () => panglima.amphibius, argurus.dauricus> ->panglima : any ->amphibius : panglima.amphibius ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->argurus : any ->dauricus : argurus.dauricus ->ruatanica : any ->americanus : americanus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->x : panglima.amphibius, argurus.dauricus> ->panglima : any ->amphibius : panglima.amphibius ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->argurus : any ->dauricus : argurus.dauricus ->ruatanica : any ->americanus : americanus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius, argurus.dauricus> - - spectabilis(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->spectabilis : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - kamensis(): trivirgatus.lotor, lavali.lepturus> { var x: trivirgatus.lotor, lavali.lepturus>; () => { var y = this; }; return x; } ->kamensis : () => trivirgatus.lotor, lavali.lepturus> ->trivirgatus : any ->lotor : trivirgatus.lotor ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->lavali : any ->lepturus : lavali.lepturus ->x : trivirgatus.lotor, lavali.lepturus> ->trivirgatus : any ->lotor : trivirgatus.lotor ->panamensis : any ->linulus : panamensis.linulus ->dogramacii : any ->kaiseri : dogramacii.kaiseri ->minutus : any ->portoricensis : minutus.portoricensis ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.lotor, lavali.lepturus> - - ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; } ->ruddi : () => lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : lutreolus.foina - - bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; } ->bartelsii : () => julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->x : julianae.sumatrana ->julianae : any ->sumatrana : julianae.sumatrana ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.sumatrana - - yerbabuenae(): dammermani.siberu, imperfecta.ciliolabrum> { var x: dammermani.siberu, imperfecta.ciliolabrum>; () => { var y = this; }; return x; } ->yerbabuenae : () => dammermani.siberu, imperfecta.ciliolabrum> ->dammermani : any ->siberu : dammermani.siberu ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->x : dammermani.siberu, imperfecta.ciliolabrum> ->dammermani : any ->siberu : dammermani.siberu ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->lutreolus : any ->foina : lutreolus.foina ->dammermani : any ->melanops : dammermani.melanops ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->petrophilus : any ->minutilla : petrophilus.minutilla ->() => { var y = this; } : () => void ->y : this ->this : this ->x : dammermani.siberu, imperfecta.ciliolabrum> - - davidi(): trivirgatus.mixtus { var x: trivirgatus.mixtus; () => { var y = this; }; return x; } ->davidi : () => trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->provocax : any ->melanoleuca : provocax.melanoleuca ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : trivirgatus.mixtus ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->provocax : any ->melanoleuca : provocax.melanoleuca ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : trivirgatus.mixtus - - pilirostris(): argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> { var x: argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis>; () => { var y = this; }; return x; } ->pilirostris : () => argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> ->argurus : any ->wetmorei : argurus.wetmorei ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->panglima : any ->amphibius : panglima.amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->x : argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> ->argurus : any ->wetmorei : argurus.wetmorei ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->panglima : any ->amphibius : panglima.amphibius ->patas : any ->uralensis : patas.uralensis ->gabriellae : any ->klossii : gabriellae.klossii ->julianae : any ->nudicaudus : julianae.nudicaudus ->dogramacii : any ->aurata : dogramacii.aurata ->sagitta : any ->leptoceros : sagitta.leptoceros ->lutreolus : any ->punicus : lutreolus.punicus ->daubentonii : any ->arboreus : daubentonii.arboreus ->quasiater : any ->carolinensis : quasiater.carolinensis ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.wetmorei>, sagitta.leptoceros>>, macrorhinos.konganensis> - - catherinae(): imperfecta.lasiurus, petrophilus.sodyi> { var x: imperfecta.lasiurus, petrophilus.sodyi>; () => { var y = this; }; return x; } ->catherinae : () => imperfecta.lasiurus, petrophilus.sodyi> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->howi : any ->marcanoi : howi.marcanoi ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->x : imperfecta.lasiurus, petrophilus.sodyi> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->howi : any ->marcanoi : howi.marcanoi ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->petrophilus : any ->sodyi : petrophilus.sodyi ->macrorhinos : any ->konganensis : macrorhinos.konganensis ->caurinus : any ->psilurus : caurinus.psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus, petrophilus.sodyi> - - frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; } ->frontata : () => argurus.oreas ->argurus : any ->oreas : argurus.oreas ->x : argurus.oreas ->argurus : any ->oreas : argurus.oreas ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.oreas - - Terbium(): caurinus.mahaganus { var x: caurinus.mahaganus; () => { var y = this; }; return x; } ->Terbium : () => caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->galapagoensis : julianae.galapagoensis ->argurus : any ->luctuosa : argurus.luctuosa ->x : caurinus.mahaganus ->caurinus : any ->mahaganus : caurinus.mahaganus ->julianae : any ->galapagoensis : julianae.galapagoensis ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus - - thomensis(): minutus.inez> { var x: minutus.inez>; () => { var y = this; }; return x; } ->thomensis : () => minutus.inez> ->minutus : any ->inez : minutus.inez ->argurus : any ->oreas : argurus.oreas ->julianae : any ->albidens : julianae.albidens ->argurus : any ->luctuosa : argurus.luctuosa ->gabriellae : any ->echinatus : gabriellae.echinatus ->x : minutus.inez> ->minutus : any ->inez : minutus.inez ->argurus : any ->oreas : argurus.oreas ->julianae : any ->albidens : julianae.albidens ->argurus : any ->luctuosa : argurus.luctuosa ->gabriellae : any ->echinatus : gabriellae.echinatus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : minutus.inez> - - soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; } ->soricinus : () => quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : quasiater.carolinensis ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : quasiater.carolinensis - } -} -module caurinus { ->caurinus : typeof caurinus - - export class johorensis extends lutreolus.punicus { ->johorensis : johorensis ->T0 : T0 ->T1 : T1 ->lutreolus.punicus : lutreolus.punicus ->lutreolus : typeof lutreolus ->punicus : typeof lutreolus.punicus - - maini(): ruatanica.Praseodymium { var x: ruatanica.Praseodymium; () => { var y = this; }; return x; } ->maini : () => ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->lavali : any ->thaeleri : lavali.thaeleri ->julianae : any ->acariensis : julianae.acariensis ->x : ruatanica.Praseodymium ->ruatanica : any ->Praseodymium : ruatanica.Praseodymium ->lavali : any ->thaeleri : lavali.thaeleri ->julianae : any ->acariensis : julianae.acariensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : ruatanica.Praseodymium - } -} -module argurus { ->argurus : typeof argurus - - export class luctuosa { ->luctuosa : luctuosa - - loriae(): rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; } ->loriae : () => rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> ->rendalli : any ->moojeni : rendalli.moojeni ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lutreolus : any ->punicus : lutreolus.punicus ->x : rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> ->rendalli : any ->moojeni : rendalli.moojeni ->macrorhinos : any ->marmosurus : macrorhinos.marmosurus ->rendalli : any ->moojeni : rendalli.moojeni ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : caurinus.psilurus ->gabriellae : any ->echinatus : gabriellae.echinatus ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.moojeni, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> - } -} -module panamensis { ->panamensis : typeof panamensis - - export class setulosus { ->setulosus : setulosus ->T0 : T0 ->T1 : T1 - - duthieae(): caurinus.mahaganus, dogramacii.aurata> { var x: caurinus.mahaganus, dogramacii.aurata>; () => { var y = this; }; return x; } ->duthieae : () => caurinus.mahaganus, dogramacii.aurata> ->caurinus : any ->mahaganus : caurinus.mahaganus ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->aurata : dogramacii.aurata ->x : caurinus.mahaganus, dogramacii.aurata> ->caurinus : any ->mahaganus : caurinus.mahaganus ->howi : any ->coludo : howi.coludo ->argurus : any ->oreas : argurus.oreas ->howi : any ->marcanoi : howi.marcanoi ->dogramacii : any ->aurata : dogramacii.aurata ->() => { var y = this; } : () => void ->y : this ->this : this ->x : caurinus.mahaganus, dogramacii.aurata> - - guereza(): howi.coludo { var x: howi.coludo; () => { var y = this; }; return x; } ->guereza : () => howi.coludo ->howi : any ->coludo : howi.coludo ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : howi.coludo ->howi : any ->coludo : howi.coludo ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : howi.coludo - - buselaphus(): daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> { var x: daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus>; () => { var y = this; }; return x; } ->buselaphus : () => daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->trivirgatus : any ->lotor : trivirgatus.lotor ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->punicus : lutreolus.punicus ->x : daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> ->daubentonii : any ->nesiotes : daubentonii.nesiotes ->trivirgatus : any ->lotor : trivirgatus.lotor ->panglima : any ->abidi : panglima.abidi ->lavali : any ->lepturus : lavali.lepturus ->caurinus : any ->psilurus : caurinus.psilurus ->dogramacii : any ->koepckeae : dogramacii.koepckeae ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->punicus : lutreolus.punicus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : daubentonii.nesiotes, dogramacii.koepckeae>, trivirgatus.mixtus> - - nuttalli(): sagitta.cinereus, chrysaeolus.sarasinorum> { var x: sagitta.cinereus, chrysaeolus.sarasinorum>; () => { var y = this; }; return x; } ->nuttalli : () => sagitta.cinereus, chrysaeolus.sarasinorum> ->sagitta : any ->cinereus : sagitta.cinereus ->argurus : any ->netscheri : argurus.netscheri ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->nudicaudus : julianae.nudicaudus ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->x : sagitta.cinereus, chrysaeolus.sarasinorum> ->sagitta : any ->cinereus : sagitta.cinereus ->argurus : any ->netscheri : argurus.netscheri ->argurus : any ->luctuosa : argurus.luctuosa ->julianae : any ->nudicaudus : julianae.nudicaudus ->chrysaeolus : any ->sarasinorum : chrysaeolus.sarasinorum ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->lavali : any ->xanthognathus : lavali.xanthognathus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.cinereus, chrysaeolus.sarasinorum> - - pelii(): rendalli.crenulata, julianae.steerii> { var x: rendalli.crenulata, julianae.steerii>; () => { var y = this; }; return x; } ->pelii : () => rendalli.crenulata, julianae.steerii> ->rendalli : any ->crenulata : rendalli.crenulata ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->steerii : julianae.steerii ->x : rendalli.crenulata, julianae.steerii> ->rendalli : any ->crenulata : rendalli.crenulata ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->rionegrensis : any ->caniventer : rionegrensis.caniventer ->Lanthanum : any ->jugularis : Lanthanum.jugularis ->julianae : any ->steerii : julianae.steerii ->() => { var y = this; } : () => void ->y : this ->this : this ->x : rendalli.crenulata, julianae.steerii> - - tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; } ->tunneyi : () => sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->x : sagitta.stolzmanni ->sagitta : any ->stolzmanni : sagitta.stolzmanni ->() => { var y = this; } : () => void ->y : this ->this : this ->x : sagitta.stolzmanni - - lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; } ->lamula : () => patas.uralensis ->patas : any ->uralensis : patas.uralensis ->x : patas.uralensis ->patas : any ->uralensis : patas.uralensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : patas.uralensis - - vampyrus(): julianae.oralis { var x: julianae.oralis; () => { var y = this; }; return x; } ->vampyrus : () => julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lutreolus : any ->foina : lutreolus.foina ->provocax : any ->melanoleuca : provocax.melanoleuca ->x : julianae.oralis ->julianae : any ->oralis : julianae.oralis ->lutreolus : any ->foina : lutreolus.foina ->provocax : any ->melanoleuca : provocax.melanoleuca ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.oralis - } -} -module petrophilus { ->petrophilus : typeof petrophilus - - export class rosalia { ->rosalia : rosalia ->T0 : T0 ->T1 : T1 - - palmeri(): panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> { var x: panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>>; () => { var y = this; }; return x; } ->palmeri : () => panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> ->panglima : any ->amphibius : panglima.amphibius ->howi : any ->coludo : howi.coludo ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->argurus : any ->dauricus : argurus.dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> ->panglima : any ->amphibius : panglima.amphibius ->howi : any ->coludo : howi.coludo ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->panglima : any ->amphibius : panglima.amphibius ->macrorhinos : any ->daphaenodon : macrorhinos.daphaenodon ->patas : any ->uralensis : patas.uralensis ->trivirgatus : any ->mixtus : trivirgatus.mixtus ->argurus : any ->dauricus : argurus.dauricus ->dogramacii : any ->aurata : dogramacii.aurata ->dammermani : any ->melanops : dammermani.melanops ->panglima : any ->amphibius : panglima.amphibius ->lavali : any ->lepturus : lavali.lepturus ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius>, trivirgatus.mixtus, panglima.amphibius>> - - baeops(): Lanthanum.nitidus { var x: Lanthanum.nitidus; () => { var y = this; }; return x; } ->baeops : () => Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->thaeleri : lavali.thaeleri ->lavali : any ->lepturus : lavali.lepturus ->x : Lanthanum.nitidus ->Lanthanum : any ->nitidus : Lanthanum.nitidus ->lavali : any ->thaeleri : lavali.thaeleri ->lavali : any ->lepturus : lavali.lepturus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : Lanthanum.nitidus - - ozensis(): imperfecta.lasiurus, lutreolus.foina> { var x: imperfecta.lasiurus, lutreolus.foina>; () => { var y = this; }; return x; } ->ozensis : () => imperfecta.lasiurus, lutreolus.foina> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->x : imperfecta.lasiurus, lutreolus.foina> ->imperfecta : any ->lasiurus : imperfecta.lasiurus ->panglima : any ->fundatus : panglima.fundatus ->gabriellae : any ->amicus : gabriellae.amicus ->lutreolus : any ->foina : lutreolus.foina ->lutreolus : any ->foina : lutreolus.foina ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.lasiurus, lutreolus.foina> - - creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; } ->creaghi : () => argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->x : argurus.luctuosa ->argurus : any ->luctuosa : argurus.luctuosa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : argurus.luctuosa - - montivaga(): panamensis.setulosus> { var x: panamensis.setulosus>; () => { var y = this; }; return x; } ->montivaga : () => panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->lavali : any ->beisa : lavali.beisa ->panamensis : any ->linulus : panamensis.linulus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->x : panamensis.setulosus> ->panamensis : any ->setulosus : panamensis.setulosus ->lavali : any ->beisa : lavali.beisa ->panamensis : any ->linulus : panamensis.linulus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->caurinus : any ->megaphyllus : caurinus.megaphyllus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus> - } -} -module caurinus { ->caurinus : typeof caurinus - - export class psilurus extends lutreolus.punicus { ->psilurus : psilurus ->lutreolus.punicus : lutreolus.punicus ->lutreolus : typeof lutreolus ->punicus : typeof lutreolus.punicus - - socialis(): panglima.amphibius { var x: panglima.amphibius; () => { var y = this; }; return x; } ->socialis : () => panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : psilurus ->x : panglima.amphibius ->panglima : any ->amphibius : panglima.amphibius ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->caurinus : any ->psilurus : psilurus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panglima.amphibius - - lundi(): petrophilus.sodyi { var x: petrophilus.sodyi; () => { var y = this; }; return x; } ->lundi : () => petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->x : petrophilus.sodyi ->petrophilus : any ->sodyi : petrophilus.sodyi ->trivirgatus : any ->falconeri : trivirgatus.falconeri ->quasiater : any ->bobrinskoi : quasiater.bobrinskoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : petrophilus.sodyi - - araeum(): imperfecta.ciliolabrum { var x: imperfecta.ciliolabrum; () => { var y = this; }; return x; } ->araeum : () => imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->x : imperfecta.ciliolabrum ->imperfecta : any ->ciliolabrum : imperfecta.ciliolabrum ->quasiater : any ->carolinensis : quasiater.carolinensis ->lavali : any ->beisa : lavali.beisa ->() => { var y = this; } : () => void ->y : this ->this : this ->x : imperfecta.ciliolabrum - - calamianensis(): julianae.gerbillus { var x: julianae.gerbillus; () => { var y = this; }; return x; } ->calamianensis : () => julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->x : julianae.gerbillus ->julianae : any ->gerbillus : julianae.gerbillus ->lavali : any ->thaeleri : lavali.thaeleri ->quasiater : any ->carolinensis : quasiater.carolinensis ->() => { var y = this; } : () => void ->y : this ->this : this ->x : julianae.gerbillus - - petersoni(): panamensis.setulosus { var x: panamensis.setulosus; () => { var y = this; }; return x; } ->petersoni : () => panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->dogramacii : any ->robustulus : dogramacii.robustulus ->x : panamensis.setulosus ->panamensis : any ->setulosus : panamensis.setulosus ->sagitta : any ->walkeri : sagitta.walkeri ->dogramacii : any ->robustulus : dogramacii.robustulus ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.setulosus - - nitela(): panamensis.linulus { var x: panamensis.linulus; () => { var y = this; }; return x; } ->nitela : () => panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->howi : any ->marcanoi : howi.marcanoi ->x : panamensis.linulus ->panamensis : any ->linulus : panamensis.linulus ->Lanthanum : any ->megalonyx : Lanthanum.megalonyx ->howi : any ->marcanoi : howi.marcanoi ->() => { var y = this; } : () => void ->y : this ->this : this ->x : panamensis.linulus - } -} - diff --git a/tests/baselines/reference/restElementWithAssignmentPattern5.types b/tests/baselines/reference/restElementWithAssignmentPattern5.types index c5cbc9ad206..298bc2e4363 100644 --- a/tests/baselines/reference/restElementWithAssignmentPattern5.types +++ b/tests/baselines/reference/restElementWithAssignmentPattern5.types @@ -11,6 +11,6 @@ var s: string, s2: string; >s : string >s2 : string >["", ""] : string[] ->"" : string ->"" : string +>"" : "" +>"" : "" diff --git a/tests/baselines/reference/restParamModifier.js b/tests/baselines/reference/restParamModifier.js index 3e0f7f7878a..ed7307fcdef 100644 --- a/tests/baselines/reference/restParamModifier.js +++ b/tests/baselines/reference/restParamModifier.js @@ -5,7 +5,7 @@ class C { //// [restParamModifier.js] var C = (function () { - function C(public, string) { + function C(string) { if (string === void 0) { string = []; } } return C; diff --git a/tests/baselines/reference/restParameterNoTypeAnnotation.types b/tests/baselines/reference/restParameterNoTypeAnnotation.types index eed17802d57..e4944ec32cf 100644 --- a/tests/baselines/reference/restParameterNoTypeAnnotation.types +++ b/tests/baselines/reference/restParameterNoTypeAnnotation.types @@ -7,7 +7,7 @@ function foo(...rest) { >x : number >rest[0] : any >rest : any[] ->0 : number +>0 : 0 return x; >x : number diff --git a/tests/baselines/reference/restParameterNotLast.js b/tests/baselines/reference/restParameterNotLast.js index 4ca416a47ec..d879bc12cd3 100644 --- a/tests/baselines/reference/restParameterNotLast.js +++ b/tests/baselines/reference/restParameterNotLast.js @@ -2,4 +2,4 @@ function f(...x, y) { } //// [restParameterNotLast.js] -function f(x, y) { } +function f(y) { } diff --git a/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js b/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js index 26774b6c2f2..c6b5fa2ae41 100644 --- a/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js +++ b/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js @@ -40,7 +40,7 @@ var f = function foo() { x[_i - 0] = arguments[_i]; } }; -var f2 = function (x) { +var f2 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -65,7 +65,7 @@ var b = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes.js b/tests/baselines/reference/restParametersOfNonArrayTypes.js index d6235194b30..5400a8b43cc 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes.js +++ b/tests/baselines/reference/restParametersOfNonArrayTypes.js @@ -39,7 +39,7 @@ var f = function foo() { x[_i - 0] = arguments[_i]; } }; -var f2 = function (x) { +var f2 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -64,7 +64,7 @@ var b = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes2.js b/tests/baselines/reference/restParametersOfNonArrayTypes2.js index 598c8f2fe3d..d405c13db5a 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes2.js +++ b/tests/baselines/reference/restParametersOfNonArrayTypes2.js @@ -71,7 +71,7 @@ var f = function foo() { x[_i - 0] = arguments[_i]; } }; -var f2 = function (x) { +var f2 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -96,7 +96,7 @@ var b = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -121,7 +121,7 @@ var f3 = function foo() { x[_i - 0] = arguments[_i]; } }; -var f4 = function (x) { +var f4 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -146,7 +146,7 @@ var b2 = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; diff --git a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js index 11208f1fb83..3f1cf33e7ba 100644 --- a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js +++ b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js @@ -66,7 +66,7 @@ var f = function foo() { x[_i - 0] = arguments[_i]; } }; -var f2 = function (x) { +var f2 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -91,7 +91,7 @@ var b = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -116,7 +116,7 @@ var f3 = function foo() { x[_i - 0] = arguments[_i]; } }; -var f4 = function (x) { +var f4 = function () { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; @@ -141,7 +141,7 @@ var b2 = { x[_i - 0] = arguments[_i]; } }, - a: function foo(x) { + a: function foo() { var y = []; for (var _i = 1; _i < arguments.length; _i++) { y[_i - 1] = arguments[_i]; diff --git a/tests/baselines/reference/returnInConstructor1.errors.txt b/tests/baselines/reference/returnInConstructor1.errors.txt index 30f629f9f8a..a7d3fd05204 100644 --- a/tests/baselines/reference/returnInConstructor1.errors.txt +++ b/tests/baselines/reference/returnInConstructor1.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/returnInConstructor1.ts(11,16): error TS2322: Type 'number' is not assignable to type 'B'. +tests/cases/compiler/returnInConstructor1.ts(11,16): error TS2322: Type '1' is not assignable to type 'B'. tests/cases/compiler/returnInConstructor1.ts(11,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class -tests/cases/compiler/returnInConstructor1.ts(25,16): error TS2322: Type 'string' is not assignable to type 'D'. +tests/cases/compiler/returnInConstructor1.ts(25,16): error TS2322: Type '"test"' is not assignable to type 'D'. tests/cases/compiler/returnInConstructor1.ts(25,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class tests/cases/compiler/returnInConstructor1.ts(39,16): error TS2322: Type '{ foo: number; }' is not assignable to type 'F'. Types of property 'foo' are incompatible. @@ -25,7 +25,7 @@ tests/cases/compiler/returnInConstructor1.ts(55,16): error TS2409: Return type o constructor() { return 1; // error ~ -!!! error TS2322: Type 'number' is not assignable to type 'B'. +!!! error TS2322: Type '1' is not assignable to type 'B'. ~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class } @@ -43,7 +43,7 @@ tests/cases/compiler/returnInConstructor1.ts(55,16): error TS2409: Return type o constructor() { return "test"; // error ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'D'. +!!! error TS2322: Type '"test"' is not assignable to type 'D'. ~~~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class } diff --git a/tests/baselines/reference/returnStatement1.types b/tests/baselines/reference/returnStatement1.types index b7e166ffa75..0c909551043 100644 --- a/tests/baselines/reference/returnStatement1.types +++ b/tests/baselines/reference/returnStatement1.types @@ -13,6 +13,6 @@ function f() { }; ("harmless extra line"); ->("harmless extra line") : string ->"harmless extra line" : string +>("harmless extra line") : "harmless extra line" +>"harmless extra line" : "harmless extra line" } diff --git a/tests/baselines/reference/returnStatements.types b/tests/baselines/reference/returnStatements.types index e5332b2e6ac..b75104dd666 100644 --- a/tests/baselines/reference/returnStatements.types +++ b/tests/baselines/reference/returnStatements.types @@ -2,11 +2,11 @@ // all the following should be valid function fn1(): number { return 1; } >fn1 : () => number ->1 : number +>1 : 1 function fn2(): string { return ''; } >fn2 : () => string ->'' : string +>'' : "" function fn3(): void { return undefined; } >fn3 : () => void @@ -17,14 +17,14 @@ function fn4(): void { return; } function fn5(): boolean { return true; } >fn5 : () => boolean ->true : boolean +>true : true function fn6(): Date { return new Date(12); } >fn6 : () => Date >Date : Date >new Date(12) : Date >Date : DateConstructor ->12 : number +>12 : 12 function fn7(): any { return null; } >fn7 : () => any @@ -59,7 +59,7 @@ function fn10(): I { return { id: 12 }; } >I : I >{ id: 12 } : { id: number; } >id : number ->12 : number +>12 : 12 function fn11(): I { return new C(); } >fn11 : () => I diff --git a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types index 881f6c6941f..d4a0b43919c 100644 --- a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types +++ b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types @@ -6,7 +6,7 @@ function compare(a: T, b: T): number { return 0; } >T : T >b : T >T : T ->0 : number +>0 : 0 var x: number[]; >x : number[] diff --git a/tests/baselines/reference/reversedRecusiveTypeInstantiation.types b/tests/baselines/reference/reversedRecusiveTypeInstantiation.types index fcbdab34e5a..2b647369cf4 100644 --- a/tests/baselines/reference/reversedRecusiveTypeInstantiation.types +++ b/tests/baselines/reference/reversedRecusiveTypeInstantiation.types @@ -24,12 +24,12 @@ var a : A >A : A a.zPos2Pos1.xPos1 = 1 ->a.zPos2Pos1.xPos1 = 1 : number +>a.zPos2Pos1.xPos1 = 1 : 1 >a.zPos2Pos1.xPos1 : number >a.zPos2Pos1 : A >a : A >zPos2Pos1 : A >xPos1 : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/scannerES3NumericLiteral1.types b/tests/baselines/reference/scannerES3NumericLiteral1.types index 0a1108c7ca9..99b10d56ad6 100644 --- a/tests/baselines/reference/scannerES3NumericLiteral1.types +++ b/tests/baselines/reference/scannerES3NumericLiteral1.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral1.ts === 0 ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/scannerES3NumericLiteral2.types b/tests/baselines/reference/scannerES3NumericLiteral2.types index 8fae044c217..802e9fb7f33 100644 --- a/tests/baselines/reference/scannerES3NumericLiteral2.types +++ b/tests/baselines/reference/scannerES3NumericLiteral2.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral2.ts === 01 ->01 : number +>01 : 1 diff --git a/tests/baselines/reference/scannerES3NumericLiteral5.types b/tests/baselines/reference/scannerES3NumericLiteral5.types index 2a5367e5b17..8e0d45c8085 100644 --- a/tests/baselines/reference/scannerES3NumericLiteral5.types +++ b/tests/baselines/reference/scannerES3NumericLiteral5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral5.ts === 1e0 ->1e0 : number +>1e0 : 1 diff --git a/tests/baselines/reference/scannerES3NumericLiteral7.types b/tests/baselines/reference/scannerES3NumericLiteral7.types index d5ffa0ea131..b39a4c58be9 100644 --- a/tests/baselines/reference/scannerES3NumericLiteral7.types +++ b/tests/baselines/reference/scannerES3NumericLiteral7.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral7.ts === 1e+0 ->1e+0 : number +>1e+0 : 1 diff --git a/tests/baselines/reference/scannerEnum1.types b/tests/baselines/reference/scannerEnum1.types index d75899a75f1..c0b195db637 100644 --- a/tests/baselines/reference/scannerEnum1.types +++ b/tests/baselines/reference/scannerEnum1.types @@ -3,10 +3,10 @@ >CodeGenTarget : CodeGenTarget ES3 = 0, ->ES3 : CodeGenTarget ->0 : number +>ES3 : CodeGenTarget.ES3 +>0 : 0 ES5 = 1, ->ES5 : CodeGenTarget ->1 : number +>ES5 : CodeGenTarget.ES5 +>1 : 1 } diff --git a/tests/baselines/reference/scannerNumericLiteral1.types b/tests/baselines/reference/scannerNumericLiteral1.types index a3eebc411fa..06663789f3f 100644 --- a/tests/baselines/reference/scannerNumericLiteral1.types +++ b/tests/baselines/reference/scannerNumericLiteral1.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral1.ts === 0 ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/scannerNumericLiteral5.types b/tests/baselines/reference/scannerNumericLiteral5.types index 86ab1a903e0..31fe2e5149d 100644 --- a/tests/baselines/reference/scannerNumericLiteral5.types +++ b/tests/baselines/reference/scannerNumericLiteral5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral5.ts === 1e0 ->1e0 : number +>1e0 : 1 diff --git a/tests/baselines/reference/scannerNumericLiteral7.types b/tests/baselines/reference/scannerNumericLiteral7.types index 25ce9275290..e2824f8cf94 100644 --- a/tests/baselines/reference/scannerNumericLiteral7.types +++ b/tests/baselines/reference/scannerNumericLiteral7.types @@ -1,4 +1,4 @@ === tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral7.ts === 1e+0 ->1e+0 : number +>1e+0 : 1 diff --git a/tests/baselines/reference/scannerStringLiteralWithContainingNullCharacter1.types b/tests/baselines/reference/scannerStringLiteralWithContainingNullCharacter1.types index 43eadd8c291..9d17f416c39 100644 Binary files a/tests/baselines/reference/scannerStringLiteralWithContainingNullCharacter1.types and b/tests/baselines/reference/scannerStringLiteralWithContainingNullCharacter1.types differ diff --git a/tests/baselines/reference/scannerUnicodeEscapeInKeyword1.types b/tests/baselines/reference/scannerUnicodeEscapeInKeyword1.types index a73ee57b791..eb9516e6e25 100644 --- a/tests/baselines/reference/scannerUnicodeEscapeInKeyword1.types +++ b/tests/baselines/reference/scannerUnicodeEscapeInKeyword1.types @@ -1,5 +1,5 @@ === tests/cases/conformance/scanner/ecmascript5/scannerUnicodeEscapeInKeyword1.ts === \u0076ar x = "hello"; >x : string ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/selfInCallback.types b/tests/baselines/reference/selfInCallback.types index 6010a64d80f..2d3385e3be6 100644 --- a/tests/baselines/reference/selfInCallback.types +++ b/tests/baselines/reference/selfInCallback.types @@ -4,7 +4,7 @@ class C { public p1 = 0; >p1 : number ->0 : number +>0 : 0 public callback(cb:()=>void) {cb();} >callback : (cb: () => void) => void @@ -25,6 +25,6 @@ class C { >this.p1 : number >this : this >p1 : number ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index 3addf07c75a..614ebc16e68 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -28,7 +28,7 @@ var o = { counter: 0, >counter : number ->0 : number +>0 : 0 start: function() { >start : () => void @@ -67,7 +67,7 @@ class X { private value = "value"; >value : string ->"value" : string +>"value" : "value" public foo() { >foo : () => void diff --git a/tests/baselines/reference/shebang.types b/tests/baselines/reference/shebang.types index 5fd6f0533ec..b1a175d53dc 100644 --- a/tests/baselines/reference/shebang.types +++ b/tests/baselines/reference/shebang.types @@ -2,5 +2,5 @@ #!/usr/bin/env node var foo = 'I wish the generated JS to be executed in node'; >foo : string ->'I wish the generated JS to be executed in node' : string +>'I wish the generated JS to be executed in node' : "I wish the generated JS to be executed in node" diff --git a/tests/baselines/reference/shorthand-property-es6-amd.js b/tests/baselines/reference/shorthand-property-es6-amd.js index 3cecc18b661..383d5d99e9e 100644 --- a/tests/baselines/reference/shorthand-property-es6-amd.js +++ b/tests/baselines/reference/shorthand-property-es6-amd.js @@ -6,7 +6,7 @@ const bar = { foo, baz }; //// [test.js] -define(["require", "exports", './foo'], function (require, exports, foo_1) { +define(["require", "exports", "./foo"], function (require, exports, foo_1) { "use strict"; const baz = 42; const bar = { foo: foo_1.foo, baz }; diff --git a/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.js b/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.js index 9e057951b3a..df23dba8776 100644 --- a/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.js +++ b/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.js @@ -17,5 +17,5 @@ exports.foo = foo; //// [shorthandOfExportedEntity01_targetES2015_CommonJS.d.ts] -export declare const test: string; +export declare const test: "test"; export declare function foo(): void; diff --git a/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.types b/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.types index dcc04015993..f299632b3ef 100644 --- a/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.types +++ b/tests/baselines/reference/shorthandOfExportedEntity01_targetES2015_CommonJS.types @@ -1,8 +1,8 @@ === tests/cases/compiler/shorthandOfExportedEntity01_targetES2015_CommonJS.ts === export const test = "test"; ->test : string ->"test" : string +>test : "test" +>"test" : "test" export function foo () { >foo : () => void @@ -10,6 +10,6 @@ export function foo () { const x = { test }; >x : { test: string; } >{ test } : { test: string; } ->test : string +>test : "test" } diff --git a/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.js b/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.js index 764739705c4..a594a1b6de5 100644 --- a/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.js +++ b/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.js @@ -17,5 +17,5 @@ exports.foo = foo; //// [shorthandOfExportedEntity02_targetES5_CommonJS.d.ts] -export declare const test: string; +export declare const test: "test"; export declare function foo(): void; diff --git a/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.types b/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.types index 27d16e2166f..effe8e89da4 100644 --- a/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.types +++ b/tests/baselines/reference/shorthandOfExportedEntity02_targetES5_CommonJS.types @@ -1,8 +1,8 @@ === tests/cases/compiler/shorthandOfExportedEntity02_targetES5_CommonJS.ts === export const test = "test"; ->test : string ->"test" : string +>test : "test" +>"test" : "test" export function foo () { >foo : () => void @@ -10,6 +10,6 @@ export function foo () { const x = { test }; >x : { test: string; } >{ test } : { test: string; } ->test : string +>test : "test" } diff --git a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.js b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.js index d52622dffc7..fad9c37ea8f 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.js +++ b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.js @@ -20,8 +20,8 @@ use(foo); exports.x = 1; //// [test.js] "use strict"; -const existingModule_1 = require('./existingModule'); -const missingModule_1 = require('./missingModule'); +const existingModule_1 = require("./existingModule"); +const missingModule_1 = require("./missingModule"); const test = { x: existingModule_1.x, foo: missingModule_1.foo }; use(existingModule_1.x); use(missingModule_1.foo); diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt index 7ac5fe9a26c..ce029a49f18 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt @@ -1,13 +1,15 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(16,9): error TS2459: Type '{}' has no property 's1' and no string index signature. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(22,9): error TS2459: Type '{}' has no property 's1' and no string index signature. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(40,9): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(46,12): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(72,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(40,9): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(46,12): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(72,5): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(77,8): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(77,8): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(82,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(82,5): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(82,13): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. Types of property 'x' are incompatible. Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(87,8): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(87,8): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(87,19): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. Types of property 'x' are incompatible. @@ -16,7 +18,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,12): err tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): error TS1312: '=' can only be used in an object literal property inside a destructuring assignment. -==== tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts (12 errors) ==== +==== tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts (14 errors) ==== (function() { @@ -62,7 +64,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): err var s3: string; for ({ s3 = 5 } of [{ s3: "" }]) { ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. } }); @@ -70,7 +72,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): err var s3: string; for ({ s3:s3 = 5 } of [{ s3: "" }]) { ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. } }); @@ -98,13 +100,15 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): err let y1: string; ({ y1 = 5 } = {}) ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. }); (function() { let y1: string; ({ y1:y1 = 5 } = {}) ~~ +!!! error TS2322: Type '5' is not assignable to type 'string'. + ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. }); @@ -112,7 +116,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): err let y2: string, y3: { x: string }; ({ y2 = 5, y3 = { x: 1 } } = {}) ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. ~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. !!! error TS2322: Types of property 'x' are incompatible. @@ -123,6 +127,8 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring.ts(113,14): err let y2: string, y3: { x: string }; ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ~~ +!!! error TS2322: Type '5' is not assignable to type 'string'. + ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. ~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt index 7e6b6b35d7f..0a61eed7326 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt @@ -1,13 +1,15 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(16,9): error TS2459: Type '{}' has no property 's1' and no string index signature. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(22,9): error TS2459: Type '{}' has no property 's1' and no string index signature. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(40,9): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(46,12): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(72,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(40,9): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(46,12): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(72,5): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(77,8): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(77,8): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(82,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(82,5): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(82,13): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. Types of property 'x' are incompatible. Type 'number' is not assignable to type 'string'. +tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(87,8): error TS2322: Type '5' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(87,8): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(87,19): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. Types of property 'x' are incompatible. @@ -16,7 +18,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,12): tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): error TS1312: '=' can only be used in an object literal property inside a destructuring assignment. -==== tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts (12 errors) ==== +==== tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts (14 errors) ==== (function() { @@ -62,7 +64,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): var s3: string; for ({ s3 = 5 } of [{ s3: "" }]) { ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. } }); @@ -70,7 +72,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): var s3: string; for ({ s3:s3 = 5 } of [{ s3: "" }]) { ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. } }); @@ -98,13 +100,15 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): let y1: string; ({ y1 = 5 } = {}) ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. }); (function() { let y1: string; ({ y1:y1 = 5 } = {}) ~~ +!!! error TS2322: Type '5' is not assignable to type 'string'. + ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. }); @@ -112,7 +116,7 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): let y2: string, y3: { x: string }; ({ y2 = 5, y3 = { x: 1 } } = {}) ~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. ~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. !!! error TS2322: Types of property 'x' are incompatible. @@ -123,6 +127,8 @@ tests/cases/compiler/shorthandPropertyAssignmentsInDestructuring_ES6.ts(113,14): let y2: string, y3: { x: string }; ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ~~ +!!! error TS2322: Type '5' is not assignable to type 'string'. + ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. ~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. diff --git a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types index 48d44bb5406..f8822397306 100644 --- a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types +++ b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types @@ -40,7 +40,7 @@ let c1 = pInst.optionalParam('hello') >pInst.optionalParam : (required: string, notRequired?: string) => { prop: null; optionalParam: any; } >pInst : { prop: null; optionalParam: (required: string, notRequired?: string) => typeof MyClass; } >optionalParam : (required: string, notRequired?: string) => { prop: null; optionalParam: any; } ->'hello' : string +>'hello' : "hello" let c2 = pInst.optionalParam('hello', null) >c2 : { prop: null; optionalParam: (required: string, notRequired?: string) => typeof MyClass; } @@ -48,6 +48,6 @@ let c2 = pInst.optionalParam('hello', null) >pInst.optionalParam : (required: string, notRequired?: string) => { prop: null; optionalParam: any; } >pInst : { prop: null; optionalParam: (required: string, notRequired?: string) => typeof MyClass; } >optionalParam : (required: string, notRequired?: string) => { prop: null; optionalParam: any; } ->'hello' : string +>'hello' : "hello" >null : null diff --git a/tests/baselines/reference/singleLineCommentInConciseArrowFunctionES3.types b/tests/baselines/reference/singleLineCommentInConciseArrowFunctionES3.types index e8c449e7bb8..09efdfa2fec 100644 --- a/tests/baselines/reference/singleLineCommentInConciseArrowFunctionES3.types +++ b/tests/baselines/reference/singleLineCommentInConciseArrowFunctionES3.types @@ -7,5 +7,5 @@ function test() { // some comments here; 123; ->123 : number +>123 : 123 } diff --git a/tests/baselines/reference/sourceMap-Comments.js.map b/tests/baselines/reference/sourceMap-Comments.js.map index 7f6c159c6eb..1905d050a0b 100644 --- a/tests/baselines/reference/sourceMap-Comments.js.map +++ b/tests/baselines/reference/sourceMap-Comments.js.map @@ -1,2 +1,2 @@ //// [sourceMap-Comments.js.map] -{"version":3,"file":"sourceMap-Comments.js","sourceRoot":"","sources":["sourceMap-Comments.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAkBT;AAlBD,WAAO,GAAG;IAAC,IAAA,KAAK,CAkBf;IAlBU,WAAA,KAAK,EAAC,CAAC;QACd;YAAA;YAeA,CAAC;YAdU,kBAAG,GAAV;gBACI,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACR,KAAK,CAAC;wBACF,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,gBAAgB;wBAChB,gBAAgB;wBAChB,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,WAAW;wBACX,KAAK,CAAC;gBACd,CAAC;YACL,CAAC;YACL,WAAC;QAAD,CAAC,AAfD,IAeC;QAfY,UAAI,OAehB,CAAA;IAEL,CAAC,EAlBU,KAAK,GAAL,SAAK,KAAL,SAAK,QAkBf;AAAD,CAAC,EAlBM,GAAG,KAAH,GAAG,QAkBT"} \ No newline at end of file +{"version":3,"file":"sourceMap-Comments.js","sourceRoot":"","sources":["sourceMap-Comments.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAkBT;AAlBD,WAAO,GAAG;IAAC,IAAA,KAAK,CAkBf;IAlBU,WAAA,KAAK;QACZ;YAAA;YAeA,CAAC;YAdU,kBAAG,GAAV;gBACI,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACR,KAAK,CAAC;wBACF,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,gBAAgB;wBAChB,gBAAgB;wBAChB,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,WAAW;wBACX,KAAK,CAAC;gBACd,CAAC;YACL,CAAC;YACL,WAAC;QAAD,CAAC,AAfD,IAeC;QAfY,UAAI,OAehB,CAAA;IAEL,CAAC,EAlBU,KAAK,GAAL,SAAK,KAAL,SAAK,QAkBf;AAAD,CAAC,EAlBM,GAAG,KAAH,GAAG,QAkBT"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMap-Comments.sourcemap.txt b/tests/baselines/reference/sourceMap-Comments.sourcemap.txt index 29726c68d9a..f6009f3fc34 100644 --- a/tests/baselines/reference/sourceMap-Comments.sourcemap.txt +++ b/tests/baselines/reference/sourceMap-Comments.sourcemap.txt @@ -90,24 +90,18 @@ sourceFile:sourceMap-Comments.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^-> 1-> 2 > 3 > tools -4 > -5 > { 1->Emitted(4, 5) Source(1, 12) + SourceIndex(0) 2 >Emitted(4, 16) Source(1, 12) + SourceIndex(0) 3 >Emitted(4, 21) Source(1, 17) + SourceIndex(0) -4 >Emitted(4, 23) Source(1, 18) + SourceIndex(0) -5 >Emitted(4, 24) Source(1, 19) + SourceIndex(0) --- >>> var Test = (function () { 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(5, 9) Source(2, 5) + SourceIndex(0) --- diff --git a/tests/baselines/reference/sourceMap-Comments.types b/tests/baselines/reference/sourceMap-Comments.types index cbb58b67994..088be00e43d 100644 --- a/tests/baselines/reference/sourceMap-Comments.types +++ b/tests/baselines/reference/sourceMap-Comments.types @@ -11,23 +11,23 @@ module sas.tools { let f: number = 2; >f : number ->2 : number +>2 : 2 switch (f) { >f : number case 1: ->1 : number +>1 : 1 break; case 2: ->2 : number +>2 : 2 //line comment 1 //line comment 2 break; case 3: ->3 : number +>3 : 3 //a comment break; diff --git a/tests/baselines/reference/sourceMap-FileWithComments.js b/tests/baselines/reference/sourceMap-FileWithComments.js index 9bb18dba33d..dd2131889af 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.js +++ b/tests/baselines/reference/sourceMap-FileWithComments.js @@ -49,10 +49,10 @@ var Shapes; } // Instance member Point.prototype.getDist = function () { return Math.sqrt(this.x * this.x + this.y * this.y); }; - // Static member - Point.origin = new Point(0, 0); return Point; }()); + // Static member + Point.origin = new Point(0, 0); Shapes.Point = Point; // Variable comment after class var a = 10; diff --git a/tests/baselines/reference/sourceMap-FileWithComments.js.map b/tests/baselines/reference/sourceMap-FileWithComments.js.map index f3e9674336d..11d0f52a18d 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.js.map +++ b/tests/baselines/reference/sourceMap-FileWithComments.js.map @@ -1,2 +1,2 @@ //// [sourceMap-FileWithComments.js.map] -{"version":3,"file":"sourceMap-FileWithComments.js","sourceRoot":"","sources":["sourceMap-FileWithComments.ts"],"names":[],"mappings":"AAMA,SAAS;AACT,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM,EAAC,CAAC;IAEX,QAAQ;IACR;QACI,cAAc;QACd,eAAmB,CAAS,EAAS,CAAS;YAA3B,MAAC,GAAD,CAAC,CAAQ;YAAS,MAAC,GAAD,CAAC,CAAQ;QAAI,CAAC;QAEnD,kBAAkB;QAClB,uBAAO,GAAP,cAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,gBAAgB;QACT,YAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,YAAC;IAAD,CAAC,AATD,IASC;IATY,YAAK,QASjB,CAAA;IAED,+BAA+B;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX;IACA,CAAC;IADe,UAAG,MAClB,CAAA;IAED;;MAEE;IACF,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,CAAC,EAxBM,MAAM,KAAN,MAAM,QAwBZ;AAED,qBAAqB;AACrB,IAAI,CAAC,GAAW,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMap-FileWithComments.js","sourceRoot":"","sources":["sourceMap-FileWithComments.ts"],"names":[],"mappings":"AAMA,SAAS;AACT,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAET,QAAQ;IACR;QACI,cAAc;QACd,eAAmB,CAAS,EAAS,CAAS;YAA3B,MAAC,GAAD,CAAC,CAAQ;YAAS,MAAC,GAAD,CAAC,CAAQ;QAAI,CAAC;QAEnD,kBAAkB;QAClB,uBAAO,GAAP,cAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAItE,YAAC;IAAD,CAAC,AATD;IAOI,gBAAgB;IACT,YAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IARvB,YAAK,QASjB,CAAA;IAED,+BAA+B;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX;IACA,CAAC;IADe,UAAG,MAClB,CAAA;IAED;;MAEE;IACF,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,CAAC,EAxBM,MAAM,KAAN,MAAM,QAwBZ;AAED,qBAAqB;AACrB,IAAI,CAAC,GAAW,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMap-FileWithComments.sourcemap.txt b/tests/baselines/reference/sourceMap-FileWithComments.sourcemap.txt index 3bcf2634507..fc822f1cfe0 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.sourcemap.txt +++ b/tests/baselines/reference/sourceMap-FileWithComments.sourcemap.txt @@ -67,24 +67,18 @@ sourceFile:sourceMap-FileWithComments.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^^^^^ -4 > ^^ -5 > ^ 1-> 2 >module 3 > Shapes -4 > -5 > { 1->Emitted(3, 1) Source(8, 1) + SourceIndex(0) 2 >Emitted(3, 12) Source(8, 8) + SourceIndex(0) 3 >Emitted(3, 18) Source(8, 14) + SourceIndex(0) -4 >Emitted(3, 20) Source(8, 15) + SourceIndex(0) -5 >Emitted(3, 21) Source(8, 16) + SourceIndex(0) --- >>> // Class 1 >^^^^ 2 > ^^^^^^^^ 3 > ^^^^^^^^^^^^^^^^^^^-> -1 > +1 > { > > 2 > // Class @@ -271,93 +265,89 @@ sourceFile:sourceMap-FileWithComments.ts 28>Emitted(12, 102) Source(16, 74) + SourceIndex(0) 29>Emitted(12, 103) Source(16, 75) + SourceIndex(0) --- ->>> // Static member -1 >^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^ -3 > ^^^^^^^^^^^^^^^^-> -1 > - > - > -2 > // Static member -1 >Emitted(13, 9) Source(18, 9) + SourceIndex(0) -2 >Emitted(13, 25) Source(18, 25) + SourceIndex(0) ---- ->>> Point.origin = new Point(0, 0); -1->^^^^^^^^ -2 > ^^^^^^^^^^^^ -3 > ^^^ -4 > ^^^^ -5 > ^^^^^ -6 > ^ -7 > ^ -8 > ^^ -9 > ^ -10> ^ -11> ^ -1-> - > static -2 > origin -3 > = -4 > new -5 > Point -6 > ( -7 > 0 -8 > , -9 > 0 -10> ) -11> ; -1->Emitted(14, 9) Source(19, 16) + SourceIndex(0) -2 >Emitted(14, 21) Source(19, 22) + SourceIndex(0) -3 >Emitted(14, 24) Source(19, 25) + SourceIndex(0) -4 >Emitted(14, 28) Source(19, 29) + SourceIndex(0) -5 >Emitted(14, 33) Source(19, 34) + SourceIndex(0) -6 >Emitted(14, 34) Source(19, 35) + SourceIndex(0) -7 >Emitted(14, 35) Source(19, 36) + SourceIndex(0) -8 >Emitted(14, 37) Source(19, 38) + SourceIndex(0) -9 >Emitted(14, 38) Source(19, 39) + SourceIndex(0) -10>Emitted(14, 39) Source(19, 40) + SourceIndex(0) -11>Emitted(14, 40) Source(19, 41) + SourceIndex(0) ---- >>> return Point; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^ 1 > + > + > // Static member + > static origin = new Point(0, 0); > 2 > } -1 >Emitted(15, 9) Source(20, 5) + SourceIndex(0) -2 >Emitted(15, 21) Source(20, 6) + SourceIndex(0) +1 >Emitted(13, 9) Source(20, 5) + SourceIndex(0) +2 >Emitted(13, 21) Source(20, 6) + SourceIndex(0) --- >>> }()); 1 >^^^^ 2 > ^ 3 > -4 > ^^^^ -5 > ^^^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^-> 1 > 2 > } 3 > -4 > export class Point implements IPoint { - > // Constructor - > constructor(public x: number, public y: number) { } - > - > // Instance member - > getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } - > - > // Static member - > static origin = new Point(0, 0); - > } -1 >Emitted(16, 5) Source(20, 5) + SourceIndex(0) -2 >Emitted(16, 6) Source(20, 6) + SourceIndex(0) -3 >Emitted(16, 6) Source(11, 5) + SourceIndex(0) -4 >Emitted(16, 10) Source(20, 6) + SourceIndex(0) +1 >Emitted(14, 5) Source(20, 5) + SourceIndex(0) +2 >Emitted(14, 6) Source(20, 6) + SourceIndex(0) +3 >Emitted(14, 6) Source(11, 5) + SourceIndex(0) +--- +>>> // Static member +1->^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^-> +1->export class Point implements IPoint { + > // Constructor + > constructor(public x: number, public y: number) { } + > + > // Instance member + > getDist() { return Math.sqrt(this.x * this.x + this.y * this.y); } + > + > +2 > // Static member +1->Emitted(15, 5) Source(18, 9) + SourceIndex(0) +2 >Emitted(15, 21) Source(18, 25) + SourceIndex(0) +--- +>>> Point.origin = new Point(0, 0); +1->^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^^ +4 > ^^^^ +5 > ^^^^^ +6 > ^ +7 > ^ +8 > ^^ +9 > ^ +10> ^ +11> ^ +1-> + > static +2 > origin +3 > = +4 > new +5 > Point +6 > ( +7 > 0 +8 > , +9 > 0 +10> ) +11> ; +1->Emitted(16, 5) Source(19, 16) + SourceIndex(0) +2 >Emitted(16, 17) Source(19, 22) + SourceIndex(0) +3 >Emitted(16, 20) Source(19, 25) + SourceIndex(0) +4 >Emitted(16, 24) Source(19, 29) + SourceIndex(0) +5 >Emitted(16, 29) Source(19, 34) + SourceIndex(0) +6 >Emitted(16, 30) Source(19, 35) + SourceIndex(0) +7 >Emitted(16, 31) Source(19, 36) + SourceIndex(0) +8 >Emitted(16, 33) Source(19, 38) + SourceIndex(0) +9 >Emitted(16, 34) Source(19, 39) + SourceIndex(0) +10>Emitted(16, 35) Source(19, 40) + SourceIndex(0) +11>Emitted(16, 36) Source(19, 41) + SourceIndex(0) --- >>> Shapes.Point = Point; -1->^^^^ +1 >^^^^ 2 > ^^^^^^^^^^^^ 3 > ^^^^^^^^ 4 > ^ 5 > ^^^^^^^^^^^-> -1-> +1 > 2 > Point 3 > implements IPoint { > // Constructor @@ -370,7 +360,7 @@ sourceFile:sourceMap-FileWithComments.ts > static origin = new Point(0, 0); > } 4 > -1->Emitted(17, 5) Source(11, 18) + SourceIndex(0) +1 >Emitted(17, 5) Source(11, 18) + SourceIndex(0) 2 >Emitted(17, 17) Source(11, 23) + SourceIndex(0) 3 >Emitted(17, 25) Source(20, 6) + SourceIndex(0) 4 >Emitted(17, 26) Source(20, 6) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index 6f9ca201085..2198fa9a590 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -50,14 +50,14 @@ module Shapes { >origin : Point >new Point(0, 0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 } // Variable comment after class var a = 10; >a : number ->10 : number +>10 : 10 export function foo() { >foo : () => void @@ -68,7 +68,7 @@ module Shapes { */ var b = 10; >b : number ->10 : number +>10 : 10 } /** Local Variable */ @@ -79,8 +79,8 @@ var p: IPoint = new Shapes.Point(3, 4); >Shapes.Point : typeof Shapes.Point >Shapes : typeof Shapes >Point : typeof Shapes.Point ->3 : number ->4 : number +>3 : 3 +>4 : 4 var dist = p.getDist(); >dist : number diff --git a/tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.types b/tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.types index fb361a53bd5..5faca1a4ddb 100644 --- a/tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.types +++ b/tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.types @@ -5,5 +5,5 @@ interface I {} var x = 0; >x : number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/sourceMap-LineBreaks.types b/tests/baselines/reference/sourceMap-LineBreaks.types index 1e0220906da..41dc77a36bf 100644 --- a/tests/baselines/reference/sourceMap-LineBreaks.types +++ b/tests/baselines/reference/sourceMap-LineBreaks.types @@ -1,40 +1,40 @@ === tests/cases/compiler/sourceMap-LineBreaks.ts === var endsWithlineSeparator = 10; 
var endsWithParagraphSeparator = 10; 
var endsWithNextLine = 1;…var endsWithLineFeed = 1; >endsWithlineSeparator : number ->10 : number +>10 : 10 var endsWithCarriageReturnLineFeed = 1; >endsWithParagraphSeparator : number ->10 : number +>10 : 10 var endsWithCarriageReturn = 1; var endsWithLineFeedCarriageReturn = 1; >endsWithNextLine : number ->1 : number +>1 : 1 >endsWithLineFeed : number ->1 : number +>1 : 1 var endsWithLineFeedCarriageReturnLineFeed = 1; >endsWithCarriageReturnLineFeed : number ->1 : number +>1 : 1 >endsWithCarriageReturn : number ->1 : number +>1 : 1 var stringLiteralWithLineFeed = "line 1\ >endsWithLineFeedCarriageReturn : number ->1 : number +>1 : 1 line 2"; var stringLiteralWithCarriageReturnLineFeed = "line 1\ >endsWithLineFeedCarriageReturnLineFeed : number ->1 : number +>1 : 1 line 2"; var stringLiteralWithCarriageReturn = "line 1\ line 2"; >stringLiteralWithLineFeed : string ->"line 1\line 2" : string +>"line 1\line 2" : "line 1line 2" var stringLiteralWithLineSeparator = "line 1\
line 2";
var stringLiteralWithParagraphSeparator = "line 1\
line 2";
var stringLiteralWithNextLine = "line 1\…line 2"; >stringLiteralWithCarriageReturnLineFeed : string ->"line 1\line 2" : string +>"line 1\line 2" : "line 1line 2" diff --git a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js.map b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js.map index 27ec5d732b8..c86a8937ed7 100644 --- a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js.map +++ b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js.map @@ -1,2 +1,2 @@ //// [sourceMap-StringLiteralWithNewLine.js.map] -{"version":3,"file":"sourceMap-StringLiteralWithNewLine.js","sourceRoot":"","sources":["sourceMap-StringLiteralWithNewLine.ts"],"names":[],"mappings":"AAQA,IAAO,GAAG,CAKT;AALD,WAAO,GAAG,EAAC,CAAC;IACR,IAAI,CAAC,GAAG,OAAO,CAAC;IAChB,IAAI,CAAC,GAAG;wBACY,CAAC;IACrB,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,CAAC,EALM,GAAG,KAAH,GAAG,QAKT"} \ No newline at end of file +{"version":3,"file":"sourceMap-StringLiteralWithNewLine.js","sourceRoot":"","sources":["sourceMap-StringLiteralWithNewLine.ts"],"names":[],"mappings":"AAQA,IAAO,GAAG,CAKT;AALD,WAAO,GAAG;IACN,IAAI,CAAC,GAAG,OAAO,CAAC;IAChB,IAAI,CAAC,GAAG;wBACY,CAAC;IACrB,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,CAAC,EALM,GAAG,KAAH,GAAG,QAKT"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.sourcemap.txt b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.sourcemap.txt index dd0ccd40c27..f4c60842ea9 100644 --- a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.sourcemap.txt +++ b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.sourcemap.txt @@ -40,19 +40,13 @@ sourceFile:sourceMap-StringLiteralWithNewLine.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^^ -4 > ^^ -5 > ^ -6 > ^^^^-> +4 > ^^^^^^^-> 1-> 2 >module 3 > Foo -4 > -5 > { 1->Emitted(2, 1) Source(9, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(9, 8) + SourceIndex(0) 3 >Emitted(2, 15) Source(9, 11) + SourceIndex(0) -4 >Emitted(2, 17) Source(9, 12) + SourceIndex(0) -5 >Emitted(2, 18) Source(9, 13) + SourceIndex(0) --- >>> var x = "test1"; 1->^^^^ @@ -61,7 +55,7 @@ sourceFile:sourceMap-StringLiteralWithNewLine.ts 4 > ^^^ 5 > ^^^^^^^ 6 > ^ -1-> +1-> { > 2 > var 3 > x diff --git a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.types b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.types index 827f523e277..26bfd605b95 100644 --- a/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.types +++ b/tests/baselines/reference/sourceMap-StringLiteralWithNewLine.types @@ -19,11 +19,11 @@ module Foo { var x = "test1"; >x : string ->"test1" : string +>"test1" : "test1" var y = "test 2\ >y : string ->"test 2\isn't this a lot of fun" : string +>"test 2\isn't this a lot of fun" : "test 2isn't this a lot of fun" isn't this a lot of fun"; var z = window.document; diff --git a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js.map b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js.map index 7c97d8f302f..886f9be9842 100644 --- a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js.map +++ b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js.map @@ -1,2 +1,2 @@ //// [sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js.map] -{"version":3,"file":"sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js","sourceRoot":"","sources":["sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.ts"],"names":[],"mappings":"AAAA,IAAO,CAAC,CAKP;AALD,WAAO,CAAC,EAAC,CAAC;IACN;QACI,YAAY;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;AACL,CAAC,EALM,CAAC,KAAD,CAAC,QAKP"} \ No newline at end of file +{"version":3,"file":"sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.js","sourceRoot":"","sources":["sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.ts"],"names":[],"mappings":"AAAA,IAAO,CAAC,CAKP;AALD,WAAO,CAAC;IACJ;QACI,YAAY;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;AACL,CAAC,EALM,CAAC,KAAD,CAAC,QAKP"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.sourcemap.txt b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.sourcemap.txt index 0872b1f31eb..7dc91280e44 100644 --- a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.sourcemap.txt +++ b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.sourcemap.txt @@ -32,24 +32,18 @@ sourceFile:sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.t 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^-> +4 > ^^^^^^^-> 1-> 2 >module 3 > Q -4 > -5 > { 1->Emitted(2, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(1, 8) + SourceIndex(0) 3 >Emitted(2, 13) Source(1, 9) + SourceIndex(0) -4 >Emitted(2, 15) Source(1, 10) + SourceIndex(0) -5 >Emitted(2, 16) Source(1, 11) + SourceIndex(0) --- >>> function P() { 1->^^^^ 2 > ^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(3, 5) Source(2, 5) + SourceIndex(0) --- diff --git a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.types b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.types index db4f2c320b4..1c28536dafc 100644 --- a/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.types +++ b/tests/baselines/reference/sourceMapForFunctionInInternalModuleWithCommentPrecedingStatement01.types @@ -8,6 +8,6 @@ module Q { // Test this var a = 1; >a : number ->1 : number +>1 : 1 } } diff --git a/tests/baselines/reference/sourceMapForFunctionWithCommentPrecedingStatement01.types b/tests/baselines/reference/sourceMapForFunctionWithCommentPrecedingStatement01.types index 5e3d01a6b5b..c4625f115dd 100644 --- a/tests/baselines/reference/sourceMapForFunctionWithCommentPrecedingStatement01.types +++ b/tests/baselines/reference/sourceMapForFunctionWithCommentPrecedingStatement01.types @@ -5,5 +5,5 @@ function P() { // Test this var a = 1; >a : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/sourceMapSample.js.map b/tests/baselines/reference/sourceMapSample.js.map index 0617ba4c1ba..783ff610f66 100644 --- a/tests/baselines/reference/sourceMapSample.js.map +++ b/tests/baselines/reference/sourceMapSample.js.map @@ -1,2 +1,2 @@ //// [sourceMapSample.js.map] -{"version":3,"file":"sourceMapSample.js","sourceRoot":"","sources":["sourceMapSample.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAkCT;AAlCD,WAAO,GAAG;IAAC,IAAA,GAAG,CAkCb;IAlCU,WAAA,GAAG,EAAC,CAAC;QACZ,YAAY,CAAC;QAEb;YACI,iBAAmB,QAAgB;gBAAhB,aAAQ,GAAR,QAAQ,CAAQ;YACnC,CAAC;YAED,uBAAK,GAAL;gBACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC5C,CAAC;YACL,cAAC;QAAD,CAAC,AAPD,IAOC;QAGD,aAAa,QAAgB;YACzB,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1B,cAAc,QAAgB;YAAE,uBAA0B;iBAA1B,WAA0B,CAA1B,sBAA0B,CAA1B,IAA0B;gBAA1B,sCAA0B;;YACtD,IAAI,QAAQ,GAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,EAlCU,GAAG,GAAH,OAAG,KAAH,OAAG,QAkCb;AAAD,CAAC,EAlCM,GAAG,KAAH,GAAG,QAkCT"} \ No newline at end of file +{"version":3,"file":"sourceMapSample.js","sourceRoot":"","sources":["sourceMapSample.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAkCT;AAlCD,WAAO,GAAG;IAAC,IAAA,GAAG,CAkCb;IAlCU,WAAA,GAAG;QACV,YAAY,CAAC;QAEb;YACI,iBAAmB,QAAgB;gBAAhB,aAAQ,GAAR,QAAQ,CAAQ;YACnC,CAAC;YAED,uBAAK,GAAL;gBACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC5C,CAAC;YACL,cAAC;QAAD,CAAC,AAPD,IAOC;QAGD,aAAa,QAAgB;YACzB,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1B,cAAc,QAAgB;YAAE,uBAA0B;iBAA1B,UAA0B,EAA1B,qBAA0B,EAA1B,IAA0B;gBAA1B,sCAA0B;;YACtD,IAAI,QAAQ,GAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,EAlCU,GAAG,GAAH,OAAG,KAAH,OAAG,QAkCb;AAAD,CAAC,EAlCM,GAAG,KAAH,GAAG,QAkCT"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapSample.sourcemap.txt b/tests/baselines/reference/sourceMapSample.sourcemap.txt index 5b3251226b9..03ded2b6609 100644 --- a/tests/baselines/reference/sourceMapSample.sourcemap.txt +++ b/tests/baselines/reference/sourceMapSample.sourcemap.txt @@ -121,26 +121,20 @@ sourceFile:sourceMapSample.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^ -4 > ^^ -5 > ^ -6 > ^-> +4 > ^^^^-> 1-> 2 > 3 > Bar -4 > -5 > { 1->Emitted(4, 5) Source(1, 12) + SourceIndex(0) 2 >Emitted(4, 16) Source(1, 12) + SourceIndex(0) 3 >Emitted(4, 19) Source(1, 15) + SourceIndex(0) -4 >Emitted(4, 21) Source(1, 16) + SourceIndex(0) -5 >Emitted(4, 22) Source(1, 17) + SourceIndex(0) --- >>> "use strict"; 1->^^^^^^^^ 2 > ^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^-> -1-> +1-> { > 2 > "use strict" 3 > ; @@ -431,21 +425,21 @@ sourceFile:sourceMapSample.ts --- >>> for (var _i = 1; _i < arguments.length; _i++) { 1->^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ 1-> 2 > ...restGreetings: string[] -3 > +3 > 4 > ...restGreetings: string[] -5 > +5 > 6 > ...restGreetings: string[] 1->Emitted(22, 18) Source(21, 37) + SourceIndex(0) -2 >Emitted(22, 29) Source(21, 63) + SourceIndex(0) +2 >Emitted(22, 28) Source(21, 63) + SourceIndex(0) 3 >Emitted(22, 30) Source(21, 37) + SourceIndex(0) -4 >Emitted(22, 52) Source(21, 63) + SourceIndex(0) +4 >Emitted(22, 51) Source(21, 63) + SourceIndex(0) 5 >Emitted(22, 53) Source(21, 37) + SourceIndex(0) 6 >Emitted(22, 57) Source(21, 63) + SourceIndex(0) --- diff --git a/tests/baselines/reference/sourceMapValidationClass.js.map b/tests/baselines/reference/sourceMapValidationClass.js.map index 6176f13bc51..8baf4772a27 100644 --- a/tests/baselines/reference/sourceMapValidationClass.js.map +++ b/tests/baselines/reference/sourceMapValidationClass.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationClass.js.map] -{"version":3,"file":"sourceMapValidationClass.js","sourceRoot":"","sources":["sourceMapValidationClass.ts"],"names":[],"mappings":"AAAA;IACI,iBAAmB,QAAgB;QAAE,WAAc;aAAd,WAAc,CAAd,sBAAc,CAAd,IAAc;YAAd,0BAAc;;QAAhC,aAAQ,GAAR,QAAQ,CAAQ;QAM3B,OAAE,GAAW,EAAE,CAAC;IALxB,CAAC;IACD,uBAAK,GAAL;QACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5C,CAAC;IAGO,oBAAE,GAAV;QACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,sBAAI,8BAAS;aAAb;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aACD,UAAc,SAAiB;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;;;OAHA;IAIL,cAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationClass.js","sourceRoot":"","sources":["sourceMapValidationClass.ts"],"names":[],"mappings":"AAAA;IACI,iBAAmB,QAAgB;QAAE,WAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,0BAAc;;QAAhC,aAAQ,GAAR,QAAQ,CAAQ;QAM3B,OAAE,GAAW,EAAE,CAAC;IALxB,CAAC;IACD,uBAAK,GAAL;QACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5C,CAAC;IAGO,oBAAE,GAAV;QACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,sBAAI,8BAAS;aAAb;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aACD,UAAc,SAAiB;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;;;OAHA;IAIL,cAAC;AAAD,CAAC,AAjBD,IAiBC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationClass.sourcemap.txt b/tests/baselines/reference/sourceMapValidationClass.sourcemap.txt index 4173ae0ff0d..08fdfe2bfc6 100644 --- a/tests/baselines/reference/sourceMapValidationClass.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationClass.sourcemap.txt @@ -37,21 +37,21 @@ sourceFile:sourceMapValidationClass.ts --- >>> for (var _i = 1; _i < arguments.length; _i++) { 1->^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ 1-> 2 > ...b: string[] -3 > +3 > 4 > ...b: string[] -5 > +5 > 6 > ...b: string[] 1->Emitted(4, 14) Source(2, 42) + SourceIndex(0) -2 >Emitted(4, 25) Source(2, 56) + SourceIndex(0) +2 >Emitted(4, 24) Source(2, 56) + SourceIndex(0) 3 >Emitted(4, 26) Source(2, 42) + SourceIndex(0) -4 >Emitted(4, 48) Source(2, 56) + SourceIndex(0) +4 >Emitted(4, 47) Source(2, 56) + SourceIndex(0) 5 >Emitted(4, 49) Source(2, 42) + SourceIndex(0) 6 >Emitted(4, 53) Source(2, 56) + SourceIndex(0) --- diff --git a/tests/baselines/reference/sourceMapValidationClass.types b/tests/baselines/reference/sourceMapValidationClass.types index 3e5234b0d6e..f6d80f39416 100644 --- a/tests/baselines/reference/sourceMapValidationClass.types +++ b/tests/baselines/reference/sourceMapValidationClass.types @@ -12,18 +12,18 @@ class Greeter { return "

" + this.greeting + "

"; >"

" + this.greeting + "

" : string >"

" + this.greeting : string ->"

" : string +>"

" : "

" >this.greeting : string >this : this >greeting : string ->"

" : string +>"" : "" } private x: string; >x : string private x1: number = 10; >x1 : number ->10 : number +>10 : 10 private fn() { >fn : () => string diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.types b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.types index 5cca47a0a41..a50677684dc 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.types +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.types @@ -4,9 +4,9 @@ class Greeter { public a = 10; >a : number ->10 : number +>10 : 10 public nameA = "Ten"; >nameA : string ->"Ten" : string +>"Ten" : "Ten" } diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types index a20410aa842..7c686c48059 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.types @@ -4,7 +4,7 @@ class Greeter { public a = 10; >a : number ->10 : number +>10 : 10 public returnA = () => this.a; >returnA : () => number diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map index 7dd53ed4b62..9c350133f2b 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map] -{"version":3,"file":"sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js","sourceRoot":"","sources":["sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts"],"names":[],"mappings":";;;;;AAAA;IAAA;IACA,CAAC;IAAD,sBAAC;AAAD,CAAC,AADD,IACC;AAED;IAAsB,2BAAe;IAArC;QAAsB,8BAAe;QAC1B,MAAC,GAAG,EAAE,CAAC;QACP,UAAK,GAAG,KAAK,CAAC;IACzB,CAAC;IAAD,cAAC;AAAD,CAAC,AAHD,CAAsB,eAAe,GAGpC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js","sourceRoot":"","sources":["sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts"],"names":[],"mappings":";;;;;AAAA;IAAA;IACA,CAAC;IAAD,sBAAC;AAAD,CAAC,AADD,IACC;AAED;IAAsB,2BAAe;IAArC;;QACW,MAAC,GAAG,EAAE,CAAC;QACP,UAAK,GAAG,KAAK,CAAC;IACzB,CAAC;IAAD,cAAC;AAAD,CAAC,AAHD,CAAsB,eAAe,GAGpC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.sourcemap.txt b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.sourcemap.txt index 5a3b2f86be9..f3052384651 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.sourcemap.txt @@ -82,27 +82,20 @@ sourceFile:sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts 1 >Emitted(13, 5) Source(4, 1) + SourceIndex(0) --- >>> _super.apply(this, arguments); -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1->class Greeter extends -2 > AbstractGreeter -1->Emitted(14, 9) Source(4, 23) + SourceIndex(0) -2 >Emitted(14, 39) Source(4, 38) + SourceIndex(0) ---- >>> this.a = 10; -1 >^^^^^^^^ +1->^^^^^^^^ 2 > ^^^^^^ 3 > ^^^ 4 > ^^ 5 > ^ 6 > ^^^^^^^^-> -1 > { +1->class Greeter extends AbstractGreeter { > public 2 > a 3 > = 4 > 10 5 > ; -1 >Emitted(15, 9) Source(5, 12) + SourceIndex(0) +1->Emitted(15, 9) Source(5, 12) + SourceIndex(0) 2 >Emitted(15, 15) Source(5, 13) + SourceIndex(0) 3 >Emitted(15, 18) Source(5, 16) + SourceIndex(0) 4 >Emitted(15, 20) Source(5, 18) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.types b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.types index 12d8d56cf6e..2ff310b28f6 100644 --- a/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.types +++ b/tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.types @@ -9,9 +9,9 @@ class Greeter extends AbstractGreeter { public a = 10; >a : number ->10 : number +>10 : 10 public nameA = "Ten"; >nameA : string ->"Ten" : string +>"Ten" : "Ten" } diff --git a/tests/baselines/reference/sourceMapValidationClasses.js b/tests/baselines/reference/sourceMapValidationClasses.js index 661892bc748..64517690f26 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.js +++ b/tests/baselines/reference/sourceMapValidationClasses.js @@ -59,7 +59,7 @@ var Foo; function foo2(greeting) { var restGreetings /* more greeting */ = []; for (var _i = 1; _i < arguments.length; _i++) { - restGreetings /* more greeting */[_i - 1] = arguments[_i]; + restGreetings[_i - 1] = arguments[_i]; } var greeters = []; /* inline block comment */ greeters[0] = new Greeter(greeting); diff --git a/tests/baselines/reference/sourceMapValidationClasses.js.map b/tests/baselines/reference/sourceMapValidationClasses.js.map index bddc7694f10..294ce8b315d 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.js.map +++ b/tests/baselines/reference/sourceMapValidationClasses.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationClasses.js.map] -{"version":3,"file":"sourceMapValidationClasses.js","sourceRoot":"","sources":["sourceMapValidationClasses.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAmCT;AAnCD,WAAO,GAAG;IAAC,IAAA,GAAG,CAmCb;IAnCU,WAAA,GAAG,EAAC,CAAC;QACZ,YAAY,CAAC;QAEb;YACI,iBAAmB,QAAgB;gBAAhB,aAAQ,GAAR,QAAQ,CAAQ;YACnC,CAAC;YAED,uBAAK,GAAL;gBACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC5C,CAAC;YACL,cAAC;QAAD,CAAC,AAPD,IAOC;QAGD,aAAa,QAAgB;YACzB,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1B,cAAc,QAAgB;YAAE,kBAAiB,mBAAmB,MAAU;iBAA9C,WAA8C,CAA9C,sBAA8C,CAA9C,IAA8C;gBAA9C,cAAiB,mBAAmB,yBAAU;;YAC1E,IAAI,QAAQ,GAAc,EAAE,CAAC,CAAC,0BAA0B;YACxD,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,qCAAqC;QACrC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,EAnCU,GAAG,GAAH,OAAG,KAAH,OAAG,QAmCb;AAAD,CAAC,EAnCM,GAAG,KAAH,GAAG,QAmCT"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationClasses.js","sourceRoot":"","sources":["sourceMapValidationClasses.ts"],"names":[],"mappings":"AAAA,IAAO,GAAG,CAmCT;AAnCD,WAAO,GAAG;IAAC,IAAA,GAAG,CAmCb;IAnCU,WAAA,GAAG;QACV,YAAY,CAAC;QAEb;YACI,iBAAmB,QAAgB;gBAAhB,aAAQ,GAAR,QAAQ,CAAQ;YACnC,CAAC;YAED,uBAAK,GAAL;gBACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC5C,CAAC;YACL,cAAC;QAAD,CAAC,AAPD,IAOC;QAGD,aAAa,QAAgB;YACzB,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1B,cAAc,QAAgB;YAAE,kBAAiB,mBAAmB,MAAU;iBAA9C,UAA8C,EAA9C,qBAA8C,EAA9C,IAA8C;gBAA9C,sCAA8C;;YAC1E,IAAI,QAAQ,GAAc,EAAE,CAAC,CAAC,0BAA0B;YACxD,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,qCAAqC;QACrC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC,EAnCU,GAAG,GAAH,OAAG,KAAH,OAAG,QAmCb;AAAD,CAAC,EAnCM,GAAG,KAAH,GAAG,QAmCT"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationClasses.sourcemap.txt b/tests/baselines/reference/sourceMapValidationClasses.sourcemap.txt index 29ad93cf74d..931c113ddc8 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationClasses.sourcemap.txt @@ -123,26 +123,20 @@ sourceFile:sourceMapValidationClasses.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^ -4 > ^^ -5 > ^ -6 > ^-> +4 > ^^^^-> 1-> 2 > 3 > Bar -4 > -5 > { 1->Emitted(4, 5) Source(1, 12) + SourceIndex(0) 2 >Emitted(4, 16) Source(1, 12) + SourceIndex(0) 3 >Emitted(4, 19) Source(1, 15) + SourceIndex(0) -4 >Emitted(4, 21) Source(1, 16) + SourceIndex(0) -5 >Emitted(4, 22) Source(1, 17) + SourceIndex(0) --- >>> "use strict"; 1->^^^^^^^^ 2 > ^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^-> -1-> +1-> { > 2 > "use strict" 3 > ; @@ -439,38 +433,31 @@ sourceFile:sourceMapValidationClasses.ts --- >>> for (var _i = 1; _i < arguments.length; _i++) { 1->^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ -7 > ^^^^^^^^^^^^^^^^^^^-> 1-> 2 > ...restGreetings /* more greeting */: string[] -3 > +3 > 4 > ...restGreetings /* more greeting */: string[] -5 > +5 > 6 > ...restGreetings /* more greeting */: string[] 1->Emitted(22, 18) Source(21, 37) + SourceIndex(0) -2 >Emitted(22, 29) Source(21, 83) + SourceIndex(0) +2 >Emitted(22, 28) Source(21, 83) + SourceIndex(0) 3 >Emitted(22, 30) Source(21, 37) + SourceIndex(0) -4 >Emitted(22, 52) Source(21, 83) + SourceIndex(0) +4 >Emitted(22, 51) Source(21, 83) + SourceIndex(0) 5 >Emitted(22, 53) Source(21, 37) + SourceIndex(0) 6 >Emitted(22, 57) Source(21, 83) + SourceIndex(0) --- ->>> restGreetings /* more greeting */[_i - 1] = arguments[_i]; -1->^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^^^^^^^^^^^^^^^^^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> -2 > ...restGreetings -3 > /* more greeting */ -4 > : string[] -1->Emitted(23, 17) Source(21, 37) + SourceIndex(0) -2 >Emitted(23, 31) Source(21, 54) + SourceIndex(0) -3 >Emitted(23, 50) Source(21, 73) + SourceIndex(0) -4 >Emitted(23, 75) Source(21, 83) + SourceIndex(0) +>>> restGreetings[_i - 1] = arguments[_i]; +1 >^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > +2 > ...restGreetings /* more greeting */: string[] +1 >Emitted(23, 17) Source(21, 37) + SourceIndex(0) +2 >Emitted(23, 55) Source(21, 83) + SourceIndex(0) --- >>> } >>> var greeters = []; /* inline block comment */ diff --git a/tests/baselines/reference/sourceMapValidationClasses.types b/tests/baselines/reference/sourceMapValidationClasses.types index 5b3512c06c1..590f6d07c16 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.types +++ b/tests/baselines/reference/sourceMapValidationClasses.types @@ -4,7 +4,7 @@ module Foo.Bar { >Bar : typeof Bar "use strict"; ->"use strict" : string +>"use strict" : "use strict" class Greeter { >Greeter : Greeter @@ -19,11 +19,11 @@ module Foo.Bar { return "

" + this.greeting + "

"; >"

" + this.greeting + "

" : string >"

" + this.greeting : string ->"

" : string +>"

" : "

" >this.greeting : string >this : this >greeting : string ->"

" : string +>"" : "" } } @@ -43,7 +43,7 @@ module Foo.Bar { >greeter : Greeter >new Greeter("Hello, world!") : Greeter >Greeter : typeof Greeter ->"Hello, world!" : string +>"Hello, world!" : "Hello, world!" var str = greeter.greet(); >str : string @@ -66,14 +66,14 @@ module Foo.Bar { >greeters[0] = new Greeter(greeting) : Greeter >greeters[0] : Greeter >greeters : Greeter[] ->0 : number +>0 : 0 >new Greeter(greeting) : Greeter >Greeter : typeof Greeter >greeting : string for (var i = 0; i < restGreetings.length; i++) { >i : number ->0 : number +>0 : 0 >i < restGreetings.length : boolean >i : number >restGreetings.length : number @@ -102,14 +102,14 @@ module Foo.Bar { >b : Greeter[] >foo2("Hello", "World", "!") : Greeter[] >foo2 : (greeting: string, ...restGreetings: string[]) => Greeter[] ->"Hello" : string ->"World" : string ->"!" : string +>"Hello" : "Hello" +>"World" : "World" +>"!" : "!" // This is simple signle line comment for (var j = 0; j < b.length; j++) { >j : number ->0 : number +>0 : 0 >j < b.length : boolean >j : number >b.length : number diff --git a/tests/baselines/reference/sourceMapValidationDecorators.js b/tests/baselines/reference/sourceMapValidationDecorators.js index c3bb5cd7225..63cdb25900c 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.js +++ b/tests/baselines/reference/sourceMapValidationDecorators.js @@ -88,37 +88,37 @@ var Greeter = (function () { enumerable: true, configurable: true }); - Greeter.x1 = 10; - __decorate([ - PropertyDecorator1, - PropertyDecorator2(40) - ], Greeter.prototype, "greet", null); - __decorate([ - PropertyDecorator1, - PropertyDecorator2(50) - ], Greeter.prototype, "x", void 0); - __decorate([ - __param(0, ParameterDecorator1), - __param(0, ParameterDecorator2(70)) - ], Greeter.prototype, "fn", null); - __decorate([ - PropertyDecorator1, - PropertyDecorator2(80), - __param(0, ParameterDecorator1), - __param(0, ParameterDecorator2(90)) - ], Greeter.prototype, "greetings", null); - __decorate([ - PropertyDecorator1, - PropertyDecorator2(60) - ], Greeter, "x1", void 0); - Greeter = __decorate([ - ClassDecorator1, - ClassDecorator2(10), - __param(0, ParameterDecorator1), - __param(0, ParameterDecorator2(20)), - __param(1, ParameterDecorator1), - __param(1, ParameterDecorator2(30)) - ], Greeter); return Greeter; }()); +Greeter.x1 = 10; +__decorate([ + PropertyDecorator1, + PropertyDecorator2(40) +], Greeter.prototype, "greet", null); +__decorate([ + PropertyDecorator1, + PropertyDecorator2(50) +], Greeter.prototype, "x", void 0); +__decorate([ + __param(0, ParameterDecorator1), + __param(0, ParameterDecorator2(70)) +], Greeter.prototype, "fn", null); +__decorate([ + PropertyDecorator1, + PropertyDecorator2(80), + __param(0, ParameterDecorator1), + __param(0, ParameterDecorator2(90)) +], Greeter.prototype, "greetings", null); +__decorate([ + PropertyDecorator1, + PropertyDecorator2(60) +], Greeter, "x1", void 0); +Greeter = __decorate([ + ClassDecorator1, + ClassDecorator2(10), + __param(0, ParameterDecorator1), + __param(0, ParameterDecorator2(20)), + __param(1, ParameterDecorator1), + __param(1, ParameterDecorator2(30)) +], Greeter); //# sourceMappingURL=sourceMapValidationDecorators.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDecorators.js.map b/tests/baselines/reference/sourceMapValidationDecorators.js.map index 0a6b45eb383..535d6603d8c 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.js.map +++ b/tests/baselines/reference/sourceMapValidationDecorators.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDecorators.js.map] -{"version":3,"file":"sourceMapValidationDecorators.js","sourceRoot":"","sources":["sourceMapValidationDecorators.ts"],"names":[],"mappings":";;;;;;;;;AASA;IACI,iBAGS,QAAgB;QAIvB,WAAc;aAAd,WAAc,CAAd,sBAAc,CAAd,IAAc;YAAd,0BAAc;;QAJP,aAAQ,GAAR,QAAQ,CAAQ;IAKzB,CAAC;IAID,uBAAK,GAAL;QACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5C,CAAC;IAUO,oBAAE,GAAV,UAGE,CAAS;QACP,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAID,sBAAI,8BAAS;aAAb;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aAED,UAGE,SAAiB;YACf,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;;;OAPA;IAbc,UAAE,GAAW,EAAE,CAAC;IAZ/B;QAAC,kBAAkB;QAClB,kBAAkB,CAAC,EAAE,CAAC;wCAAA;IAKvB;QAAC,kBAAkB;QAClB,kBAAkB,CAAC,EAAE,CAAC;sCAAA;IAQrB;mBAAC,mBAAmB;mBACnB,mBAAmB,CAAC,EAAE,CAAC;qCAAA;IAK1B;QAAC,kBAAkB;QAClB,kBAAkB,CAAC,EAAE,CAAC;mBAMpB,mBAAmB;mBACnB,mBAAmB,CAAC,EAAE,CAAC;4CAPH;IAZvB;QAAC,kBAAkB;QAClB,kBAAkB,CAAC,EAAE,CAAC;6BAAA;IAxB3B;QAAC,eAAe;QACf,eAAe,CAAC,EAAE,CAAC;mBAGb,mBAAmB;mBACnB,mBAAmB,CAAC,EAAE,CAAC;mBAGvB,mBAAmB;mBACnB,mBAAmB,CAAC,EAAE,CAAC;eARV;IA6CpB,cAAC;AAAD,CAAC,AA5CD,IA4CC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDecorators.js","sourceRoot":"","sources":["sourceMapValidationDecorators.ts"],"names":[],"mappings":";;;;;;;;;AASA;IACI,iBAGS,QAAgB;QAIvB,WAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,0BAAc;;QAJP,aAAQ,GAAR,QAAQ,CAAQ;IAKzB,CAAC;IAID,uBAAK,GAAL;QACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5C,CAAC;IAUO,oBAAE,GAAV,UAGE,CAAS;QACP,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAID,sBAAI,8BAAS;aAAb;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aAED,UAGE,SAAiB;YACf,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;;;OAPA;IAQL,cAAC;AAAD,CAAC,AA5CD,IA4CC;AArBkB,UAAE,GAAW,EAAE,CAAC;AAV/B;IAFC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC;oCAGtB;AAID;IAFC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC;kCACL;AAMlB;IACG,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAC,EAAE,CAAC,CAAA;iCAGzB;AAID;IAFC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC;IAMpB,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAC,EAAE,CAAC,CAAA;wCAJzB;AAbD;IAFC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC;yBACQ;AAvBnC;IAFC,eAAe;IACf,eAAe,CAAC,EAAE,CAAC;IAGb,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAGvB,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAC,EAAE,CAAC,CAAA;WAqC7B"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt index 16820428856..37f6a4bea08 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDecorators.sourcemap.txt @@ -62,21 +62,21 @@ sourceFile:sourceMapValidationDecorators.ts --- >>> for (var _i = 1; _i < arguments.length; _i++) { 1->^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ 1-> 2 > ...b: string[] -3 > +3 > 4 > ...b: string[] -5 > +5 > 6 > ...b: string[] 1->Emitted(13, 14) Source(18, 7) + SourceIndex(0) -2 >Emitted(13, 25) Source(18, 21) + SourceIndex(0) +2 >Emitted(13, 24) Source(18, 21) + SourceIndex(0) 3 >Emitted(13, 26) Source(18, 7) + SourceIndex(0) -4 >Emitted(13, 48) Source(18, 21) + SourceIndex(0) +4 >Emitted(13, 47) Source(18, 21) + SourceIndex(0) 5 >Emitted(13, 49) Source(18, 7) + SourceIndex(0) 6 >Emitted(13, 53) Source(18, 21) + SourceIndex(0) --- @@ -356,414 +356,14 @@ sourceFile:sourceMapValidationDecorators.ts >>> configurable: true >>> }); 1->^^^^^^^ -2 > ^^^^^^^^^^^^^^-> +2 > ^^^^^^^^^^^^^-> 1-> 1->Emitted(33, 8) Source(46, 6) + SourceIndex(0) --- ->>> Greeter.x1 = 10; -1->^^^^ -2 > ^^^^^^^^^^ -3 > ^^^ -4 > ^^ -5 > ^ -1-> -2 > x1 -3 > : number = -4 > 10 -5 > ; -1->Emitted(34, 5) Source(33, 20) + SourceIndex(0) -2 >Emitted(34, 15) Source(33, 22) + SourceIndex(0) -3 >Emitted(34, 18) Source(33, 33) + SourceIndex(0) -4 >Emitted(34, 20) Source(33, 35) + SourceIndex(0) -5 >Emitted(34, 21) Source(33, 36) + SourceIndex(0) ---- ->>> __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > -1 >Emitted(35, 5) Source(21, 5) + SourceIndex(0) ---- ->>> PropertyDecorator1, -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^^^^-> -1->@ -2 > PropertyDecorator1 -1->Emitted(36, 9) Source(21, 6) + SourceIndex(0) -2 >Emitted(36, 27) Source(21, 24) + SourceIndex(0) ---- ->>> PropertyDecorator2(40) -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^-> -1-> - > @ -2 > PropertyDecorator2 -3 > ( -4 > 40 -5 > ) -1->Emitted(37, 9) Source(22, 6) + SourceIndex(0) -2 >Emitted(37, 27) Source(22, 24) + SourceIndex(0) -3 >Emitted(37, 28) Source(22, 25) + SourceIndex(0) -4 >Emitted(37, 30) Source(22, 27) + SourceIndex(0) -5 >Emitted(37, 31) Source(22, 28) + SourceIndex(0) ---- ->>> ], Greeter.prototype, "greet", null); -1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> -1->Emitted(38, 41) Source(22, 28) + SourceIndex(0) ---- ->>> __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > - > greet() { - > return "

" + this.greeting + "

"; - > } - > - > -1 >Emitted(39, 5) Source(27, 5) + SourceIndex(0) ---- ->>> PropertyDecorator1, -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^^^^-> -1->@ -2 > PropertyDecorator1 -1->Emitted(40, 9) Source(27, 6) + SourceIndex(0) -2 >Emitted(40, 27) Source(27, 24) + SourceIndex(0) ---- ->>> PropertyDecorator2(50) -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^-> -1-> - > @ -2 > PropertyDecorator2 -3 > ( -4 > 50 -5 > ) -1->Emitted(41, 9) Source(28, 6) + SourceIndex(0) -2 >Emitted(41, 27) Source(28, 24) + SourceIndex(0) -3 >Emitted(41, 28) Source(28, 25) + SourceIndex(0) -4 >Emitted(41, 30) Source(28, 27) + SourceIndex(0) -5 >Emitted(41, 31) Source(28, 28) + SourceIndex(0) ---- ->>> ], Greeter.prototype, "x", void 0); -1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> -1->Emitted(42, 39) Source(28, 28) + SourceIndex(0) ---- ->>> __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > - > private x: string; - > - > @PropertyDecorator1 - > @PropertyDecorator2(60) - > private static x1: number = 10; - > - > private fn( - > -1 >Emitted(43, 5) Source(36, 7) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator1), -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^-> -1->@ -2 > ParameterDecorator1 -1->Emitted(44, 20) Source(36, 8) + SourceIndex(0) -2 >Emitted(44, 39) Source(36, 27) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator2(70)) -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -1-> - > @ -2 > ParameterDecorator2 -3 > ( -4 > 70 -5 > ) -1->Emitted(45, 20) Source(37, 8) + SourceIndex(0) -2 >Emitted(45, 39) Source(37, 27) + SourceIndex(0) -3 >Emitted(45, 40) Source(37, 28) + SourceIndex(0) -4 >Emitted(45, 42) Source(37, 30) + SourceIndex(0) -5 >Emitted(45, 43) Source(37, 31) + SourceIndex(0) ---- ->>> ], Greeter.prototype, "fn", null); -1 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -1 >Emitted(46, 38) Source(37, 31) + SourceIndex(0) ---- ->>> __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > - > x: number) { - > return this.greeting; - > } - > - > -1 >Emitted(47, 5) Source(42, 5) + SourceIndex(0) ---- ->>> PropertyDecorator1, -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^-> -1->@ -2 > PropertyDecorator1 -1->Emitted(48, 9) Source(42, 6) + SourceIndex(0) -2 >Emitted(48, 27) Source(42, 24) + SourceIndex(0) ---- ->>> PropertyDecorator2(80), -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^-> -1-> - > @ -2 > PropertyDecorator2 -3 > ( -4 > 80 -5 > ) -1->Emitted(49, 9) Source(43, 6) + SourceIndex(0) -2 >Emitted(49, 27) Source(43, 24) + SourceIndex(0) -3 >Emitted(49, 28) Source(43, 25) + SourceIndex(0) -4 >Emitted(49, 30) Source(43, 27) + SourceIndex(0) -5 >Emitted(49, 31) Source(43, 28) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator1), -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^-> -1-> - > get greetings() { - > return this.greeting; - > } - > - > set greetings( - > @ -2 > ParameterDecorator1 -1->Emitted(50, 20) Source(49, 8) + SourceIndex(0) -2 >Emitted(50, 39) Source(49, 27) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator2(90)) -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^-> -1-> - > @ -2 > ParameterDecorator2 -3 > ( -4 > 90 -5 > ) -1->Emitted(51, 20) Source(50, 8) + SourceIndex(0) -2 >Emitted(51, 39) Source(50, 27) + SourceIndex(0) -3 >Emitted(51, 40) Source(50, 28) + SourceIndex(0) -4 >Emitted(51, 42) Source(50, 30) + SourceIndex(0) -5 >Emitted(51, 43) Source(50, 31) + SourceIndex(0) ---- ->>> ], Greeter.prototype, "greetings", null); -1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> -1->Emitted(52, 45) Source(43, 28) + SourceIndex(0) ---- ->>> __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > -1 >Emitted(53, 5) Source(31, 5) + SourceIndex(0) ---- ->>> PropertyDecorator1, -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^^^^-> -1->@ -2 > PropertyDecorator1 -1->Emitted(54, 9) Source(31, 6) + SourceIndex(0) -2 >Emitted(54, 27) Source(31, 24) + SourceIndex(0) ---- ->>> PropertyDecorator2(60) -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^-> -1-> - > @ -2 > PropertyDecorator2 -3 > ( -4 > 60 -5 > ) -1->Emitted(55, 9) Source(32, 6) + SourceIndex(0) -2 >Emitted(55, 27) Source(32, 24) + SourceIndex(0) -3 >Emitted(55, 28) Source(32, 25) + SourceIndex(0) -4 >Emitted(55, 30) Source(32, 27) + SourceIndex(0) -5 >Emitted(55, 31) Source(32, 28) + SourceIndex(0) ---- ->>> ], Greeter, "x1", void 0); -1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> -1->Emitted(56, 30) Source(32, 28) + SourceIndex(0) ---- ->>> Greeter = __decorate([ -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^-> -1 > -1 >Emitted(57, 5) Source(8, 1) + SourceIndex(0) ---- ->>> ClassDecorator1, -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^^^^^-> -1->@ -2 > ClassDecorator1 -1->Emitted(58, 9) Source(8, 2) + SourceIndex(0) -2 >Emitted(58, 24) Source(8, 17) + SourceIndex(0) ---- ->>> ClassDecorator2(10), -1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^-> -1-> - >@ -2 > ClassDecorator2 -3 > ( -4 > 10 -5 > ) -1->Emitted(59, 9) Source(9, 2) + SourceIndex(0) -2 >Emitted(59, 24) Source(9, 17) + SourceIndex(0) -3 >Emitted(59, 25) Source(9, 18) + SourceIndex(0) -4 >Emitted(59, 27) Source(9, 20) + SourceIndex(0) -5 >Emitted(59, 28) Source(9, 21) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator1), -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^^-> -1-> - >class Greeter { - > constructor( - > @ -2 > ParameterDecorator1 -1->Emitted(60, 20) Source(12, 8) + SourceIndex(0) -2 >Emitted(60, 39) Source(12, 27) + SourceIndex(0) ---- ->>> __param(0, ParameterDecorator2(20)), -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -1-> - > @ -2 > ParameterDecorator2 -3 > ( -4 > 20 -5 > ) -1->Emitted(61, 20) Source(13, 8) + SourceIndex(0) -2 >Emitted(61, 39) Source(13, 27) + SourceIndex(0) -3 >Emitted(61, 40) Source(13, 28) + SourceIndex(0) -4 >Emitted(61, 42) Source(13, 30) + SourceIndex(0) -5 >Emitted(61, 43) Source(13, 31) + SourceIndex(0) ---- ->>> __param(1, ParameterDecorator1), -1 >^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^-> -1 > - > public greeting: string, - > - > @ -2 > ParameterDecorator1 -1 >Emitted(62, 20) Source(16, 8) + SourceIndex(0) -2 >Emitted(62, 39) Source(16, 27) + SourceIndex(0) ---- ->>> __param(1, ParameterDecorator2(30)) -1->^^^^^^^^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -5 > ^ -1-> - > @ -2 > ParameterDecorator2 -3 > ( -4 > 30 -5 > ) -1->Emitted(63, 20) Source(17, 8) + SourceIndex(0) -2 >Emitted(63, 39) Source(17, 27) + SourceIndex(0) -3 >Emitted(63, 40) Source(17, 28) + SourceIndex(0) -4 >Emitted(63, 42) Source(17, 30) + SourceIndex(0) -5 >Emitted(63, 43) Source(17, 31) + SourceIndex(0) ---- ->>> ], Greeter); -1 >^^^^^^^^^^^^^^^ -2 > ^^^^^-> -1 > -1 >Emitted(64, 16) Source(9, 21) + SourceIndex(0) ---- >>> return Greeter; 1->^^^^ 2 > ^^^^^^^^^^^^^^ 1-> - >class Greeter { - > constructor( - > @ParameterDecorator1 - > @ParameterDecorator2(20) - > public greeting: string, - > - > @ParameterDecorator1 - > @ParameterDecorator2(30) - > ...b: string[]) { - > } - > - > @PropertyDecorator1 - > @PropertyDecorator2(40) - > greet() { - > return "

" + this.greeting + "

"; - > } - > - > @PropertyDecorator1 - > @PropertyDecorator2(50) - > private x: string; - > - > @PropertyDecorator1 - > @PropertyDecorator2(60) - > private static x1: number = 10; - > - > private fn( - > @ParameterDecorator1 - > @ParameterDecorator2(70) - > x: number) { - > return this.greeting; - > } - > - > @PropertyDecorator1 - > @PropertyDecorator2(80) - > get greetings() { - > return this.greeting; - > } > > set greetings( > @ParameterDecorator1 @@ -773,15 +373,15 @@ sourceFile:sourceMapValidationDecorators.ts > } > 2 > } -1->Emitted(65, 5) Source(54, 1) + SourceIndex(0) -2 >Emitted(65, 19) Source(54, 2) + SourceIndex(0) +1->Emitted(34, 5) Source(54, 1) + SourceIndex(0) +2 >Emitted(34, 19) Source(54, 2) + SourceIndex(0) --- >>>}()); 1 > 2 >^ 3 > 4 > ^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^-> 1 > 2 >} 3 > @@ -830,9 +430,462 @@ sourceFile:sourceMapValidationDecorators.ts > this.greeting = greetings; > } > } -1 >Emitted(66, 1) Source(54, 1) + SourceIndex(0) -2 >Emitted(66, 2) Source(54, 2) + SourceIndex(0) -3 >Emitted(66, 2) Source(10, 1) + SourceIndex(0) -4 >Emitted(66, 6) Source(54, 2) + SourceIndex(0) +1 >Emitted(35, 1) Source(54, 1) + SourceIndex(0) +2 >Emitted(35, 2) Source(54, 2) + SourceIndex(0) +3 >Emitted(35, 2) Source(10, 1) + SourceIndex(0) +4 >Emitted(35, 6) Source(54, 2) + SourceIndex(0) +--- +>>>Greeter.x1 = 10; +1-> +2 >^^^^^^^^^^ +3 > ^^^ +4 > ^^ +5 > ^ +1-> +2 >x1 +3 > : number = +4 > 10 +5 > ; +1->Emitted(36, 1) Source(33, 20) + SourceIndex(0) +2 >Emitted(36, 11) Source(33, 22) + SourceIndex(0) +3 >Emitted(36, 14) Source(33, 33) + SourceIndex(0) +4 >Emitted(36, 16) Source(33, 35) + SourceIndex(0) +5 >Emitted(36, 17) Source(33, 36) + SourceIndex(0) +--- +>>>__decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(37, 1) Source(23, 5) + SourceIndex(0) +--- +>>> PropertyDecorator1, +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^^^^-> +1-> +2 > PropertyDecorator1 +1->Emitted(38, 5) Source(21, 6) + SourceIndex(0) +2 >Emitted(38, 23) Source(21, 24) + SourceIndex(0) +--- +>>> PropertyDecorator2(40) +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^ +5 > ^ +6 > ^^^^^^^^^^^^-> +1-> + > @ +2 > PropertyDecorator2 +3 > ( +4 > 40 +5 > ) +1->Emitted(39, 5) Source(22, 6) + SourceIndex(0) +2 >Emitted(39, 23) Source(22, 24) + SourceIndex(0) +3 >Emitted(39, 24) Source(22, 25) + SourceIndex(0) +4 >Emitted(39, 26) Source(22, 27) + SourceIndex(0) +5 >Emitted(39, 27) Source(22, 28) + SourceIndex(0) +--- +>>>], Greeter.prototype, "greet", null); +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > greet() { + > return "

" + this.greeting + "

"; + > } +1->Emitted(40, 37) Source(25, 6) + SourceIndex(0) +--- +>>>__decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > + > @PropertyDecorator1 + > @PropertyDecorator2(50) + > +1 >Emitted(41, 1) Source(29, 5) + SourceIndex(0) +--- +>>> PropertyDecorator1, +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^^^^-> +1-> +2 > PropertyDecorator1 +1->Emitted(42, 5) Source(27, 6) + SourceIndex(0) +2 >Emitted(42, 23) Source(27, 24) + SourceIndex(0) +--- +>>> PropertyDecorator2(50) +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^ +5 > ^ +6 > ^^^^^^^^^^-> +1-> + > @ +2 > PropertyDecorator2 +3 > ( +4 > 50 +5 > ) +1->Emitted(43, 5) Source(28, 6) + SourceIndex(0) +2 >Emitted(43, 23) Source(28, 24) + SourceIndex(0) +3 >Emitted(43, 24) Source(28, 25) + SourceIndex(0) +4 >Emitted(43, 26) Source(28, 27) + SourceIndex(0) +5 >Emitted(43, 27) Source(28, 28) + SourceIndex(0) +--- +>>>], Greeter.prototype, "x", void 0); +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > private x: string; +1->Emitted(44, 35) Source(29, 23) + SourceIndex(0) +--- +>>>__decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > + > @PropertyDecorator1 + > @PropertyDecorator2(60) + > private static x1: number = 10; + > + > +1 >Emitted(45, 1) Source(35, 5) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator1), +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^-> +1->private fn( + > @ +2 > +3 > ParameterDecorator1 +4 > +1->Emitted(46, 5) Source(36, 8) + SourceIndex(0) +2 >Emitted(46, 16) Source(36, 8) + SourceIndex(0) +3 >Emitted(46, 35) Source(36, 27) + SourceIndex(0) +4 >Emitted(46, 36) Source(36, 27) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator2(70)) +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^ +6 > ^ +7 > ^ +1-> + > @ +2 > +3 > ParameterDecorator2 +4 > ( +5 > 70 +6 > ) +7 > +1->Emitted(47, 5) Source(37, 8) + SourceIndex(0) +2 >Emitted(47, 16) Source(37, 8) + SourceIndex(0) +3 >Emitted(47, 35) Source(37, 27) + SourceIndex(0) +4 >Emitted(47, 36) Source(37, 28) + SourceIndex(0) +5 >Emitted(47, 38) Source(37, 30) + SourceIndex(0) +6 >Emitted(47, 39) Source(37, 31) + SourceIndex(0) +7 >Emitted(47, 40) Source(37, 31) + SourceIndex(0) +--- +>>>], Greeter.prototype, "fn", null); +1 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1 > + > x: number) { + > return this.greeting; + > } +1 >Emitted(48, 34) Source(40, 6) + SourceIndex(0) +--- +>>>__decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > + > @PropertyDecorator1 + > @PropertyDecorator2(80) + > +1 >Emitted(49, 1) Source(44, 5) + SourceIndex(0) +--- +>>> PropertyDecorator1, +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^-> +1-> +2 > PropertyDecorator1 +1->Emitted(50, 5) Source(42, 6) + SourceIndex(0) +2 >Emitted(50, 23) Source(42, 24) + SourceIndex(0) +--- +>>> PropertyDecorator2(80), +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^ +5 > ^ +6 > ^^^^^^^^^^^-> +1-> + > @ +2 > PropertyDecorator2 +3 > ( +4 > 80 +5 > ) +1->Emitted(51, 5) Source(43, 6) + SourceIndex(0) +2 >Emitted(51, 23) Source(43, 24) + SourceIndex(0) +3 >Emitted(51, 24) Source(43, 25) + SourceIndex(0) +4 >Emitted(51, 26) Source(43, 27) + SourceIndex(0) +5 >Emitted(51, 27) Source(43, 28) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator1), +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^-> +1-> + > get greetings() { + > return this.greeting; + > } + > + > set greetings( + > @ +2 > +3 > ParameterDecorator1 +4 > +1->Emitted(52, 5) Source(49, 8) + SourceIndex(0) +2 >Emitted(52, 16) Source(49, 8) + SourceIndex(0) +3 >Emitted(52, 35) Source(49, 27) + SourceIndex(0) +4 >Emitted(52, 36) Source(49, 27) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator2(90)) +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^ +6 > ^ +7 > ^ +8 > ^^^-> +1-> + > @ +2 > +3 > ParameterDecorator2 +4 > ( +5 > 90 +6 > ) +7 > +1->Emitted(53, 5) Source(50, 8) + SourceIndex(0) +2 >Emitted(53, 16) Source(50, 8) + SourceIndex(0) +3 >Emitted(53, 35) Source(50, 27) + SourceIndex(0) +4 >Emitted(53, 36) Source(50, 28) + SourceIndex(0) +5 >Emitted(53, 38) Source(50, 30) + SourceIndex(0) +6 >Emitted(53, 39) Source(50, 31) + SourceIndex(0) +7 >Emitted(53, 40) Source(50, 31) + SourceIndex(0) +--- +>>>], Greeter.prototype, "greetings", null); +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +1->Emitted(54, 41) Source(46, 6) + SourceIndex(0) +--- +>>>__decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(55, 1) Source(33, 5) + SourceIndex(0) +--- +>>> PropertyDecorator1, +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^^^^-> +1-> +2 > PropertyDecorator1 +1->Emitted(56, 5) Source(31, 6) + SourceIndex(0) +2 >Emitted(56, 23) Source(31, 24) + SourceIndex(0) +--- +>>> PropertyDecorator2(60) +1->^^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^ +5 > ^ +6 > ^-> +1-> + > @ +2 > PropertyDecorator2 +3 > ( +4 > 60 +5 > ) +1->Emitted(57, 5) Source(32, 6) + SourceIndex(0) +2 >Emitted(57, 23) Source(32, 24) + SourceIndex(0) +3 >Emitted(57, 24) Source(32, 25) + SourceIndex(0) +4 >Emitted(57, 26) Source(32, 27) + SourceIndex(0) +5 >Emitted(57, 27) Source(32, 28) + SourceIndex(0) +--- +>>>], Greeter, "x1", void 0); +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> + > private static x1: number = 10; +1->Emitted(58, 26) Source(33, 36) + SourceIndex(0) +--- +>>>Greeter = __decorate([ +1 > +2 >^^^^^^^^^^^^^^^^^^^^^-> +1 > +1 >Emitted(59, 1) Source(10, 1) + SourceIndex(0) +--- +>>> ClassDecorator1, +1->^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^^^^^-> +1-> +2 > ClassDecorator1 +1->Emitted(60, 5) Source(8, 2) + SourceIndex(0) +2 >Emitted(60, 20) Source(8, 17) + SourceIndex(0) +--- +>>> ClassDecorator2(10), +1->^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^ +5 > ^ +6 > ^^^^^^^^^^^^^^-> +1-> + >@ +2 > ClassDecorator2 +3 > ( +4 > 10 +5 > ) +1->Emitted(61, 5) Source(9, 2) + SourceIndex(0) +2 >Emitted(61, 20) Source(9, 17) + SourceIndex(0) +3 >Emitted(61, 21) Source(9, 18) + SourceIndex(0) +4 >Emitted(61, 23) Source(9, 20) + SourceIndex(0) +5 >Emitted(61, 24) Source(9, 21) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator1), +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^-> +1-> + >class Greeter { + > constructor( + > @ +2 > +3 > ParameterDecorator1 +4 > +1->Emitted(62, 5) Source(12, 8) + SourceIndex(0) +2 >Emitted(62, 16) Source(12, 8) + SourceIndex(0) +3 >Emitted(62, 35) Source(12, 27) + SourceIndex(0) +4 >Emitted(62, 36) Source(12, 27) + SourceIndex(0) +--- +>>> __param(0, ParameterDecorator2(20)), +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^ +6 > ^ +7 > ^ +1-> + > @ +2 > +3 > ParameterDecorator2 +4 > ( +5 > 20 +6 > ) +7 > +1->Emitted(63, 5) Source(13, 8) + SourceIndex(0) +2 >Emitted(63, 16) Source(13, 8) + SourceIndex(0) +3 >Emitted(63, 35) Source(13, 27) + SourceIndex(0) +4 >Emitted(63, 36) Source(13, 28) + SourceIndex(0) +5 >Emitted(63, 38) Source(13, 30) + SourceIndex(0) +6 >Emitted(63, 39) Source(13, 31) + SourceIndex(0) +7 >Emitted(63, 40) Source(13, 31) + SourceIndex(0) +--- +>>> __param(1, ParameterDecorator1), +1 >^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^-> +1 > + > public greeting: string, + > + > @ +2 > +3 > ParameterDecorator1 +4 > +1 >Emitted(64, 5) Source(16, 8) + SourceIndex(0) +2 >Emitted(64, 16) Source(16, 8) + SourceIndex(0) +3 >Emitted(64, 35) Source(16, 27) + SourceIndex(0) +4 >Emitted(64, 36) Source(16, 27) + SourceIndex(0) +--- +>>> __param(1, ParameterDecorator2(30)) +1->^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^ +6 > ^ +7 > ^ +1-> + > @ +2 > +3 > ParameterDecorator2 +4 > ( +5 > 30 +6 > ) +7 > +1->Emitted(65, 5) Source(17, 8) + SourceIndex(0) +2 >Emitted(65, 16) Source(17, 8) + SourceIndex(0) +3 >Emitted(65, 35) Source(17, 27) + SourceIndex(0) +4 >Emitted(65, 36) Source(17, 28) + SourceIndex(0) +5 >Emitted(65, 38) Source(17, 30) + SourceIndex(0) +6 >Emitted(65, 39) Source(17, 31) + SourceIndex(0) +7 >Emitted(65, 40) Source(17, 31) + SourceIndex(0) +--- +>>>], Greeter); +1 >^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + > ...b: string[]) { + > } + > + > @PropertyDecorator1 + > @PropertyDecorator2(40) + > greet() { + > return "

" + this.greeting + "

"; + > } + > + > @PropertyDecorator1 + > @PropertyDecorator2(50) + > private x: string; + > + > @PropertyDecorator1 + > @PropertyDecorator2(60) + > private static x1: number = 10; + > + > private fn( + > @ParameterDecorator1 + > @ParameterDecorator2(70) + > x: number) { + > return this.greeting; + > } + > + > @PropertyDecorator1 + > @PropertyDecorator2(80) + > get greetings() { + > return this.greeting; + > } + > + > set greetings( + > @ParameterDecorator1 + > @ParameterDecorator2(90) + > greetings: string) { + > this.greeting = greetings; + > } + >} +1 >Emitted(66, 12) Source(54, 2) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationDecorators.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDecorators.types b/tests/baselines/reference/sourceMapValidationDecorators.types index 2fc05972307..8e807786e78 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.types +++ b/tests/baselines/reference/sourceMapValidationDecorators.types @@ -48,7 +48,7 @@ declare function ParameterDecorator2(x: number): (target: Object, key: string | @ClassDecorator2(10) >ClassDecorator2(10) : (target: Function) => void >ClassDecorator2 : (x: number) => (target: Function) => void ->10 : number +>10 : 10 class Greeter { >Greeter : Greeter @@ -60,7 +60,7 @@ class Greeter { @ParameterDecorator2(20) >ParameterDecorator2(20) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void ->20 : number +>20 : 20 public greeting: string, >greeting : string @@ -71,7 +71,7 @@ class Greeter { @ParameterDecorator2(30) >ParameterDecorator2(30) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void ->30 : number +>30 : 30 ...b: string[]) { >b : string[] @@ -83,7 +83,7 @@ class Greeter { @PropertyDecorator2(40) >PropertyDecorator2(40) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void ->40 : number +>40 : 40 greet() { >greet : () => string @@ -91,11 +91,11 @@ class Greeter { return "

" + this.greeting + "

"; >"

" + this.greeting + "

" : string >"

" + this.greeting : string ->"

" : string +>"

" : "

" >this.greeting : string >this : this >greeting : string ->"

" : string +>"" : "" } @PropertyDecorator1 @@ -104,7 +104,7 @@ class Greeter { @PropertyDecorator2(50) >PropertyDecorator2(50) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void ->50 : number +>50 : 50 private x: string; >x : string @@ -115,11 +115,11 @@ class Greeter { @PropertyDecorator2(60) >PropertyDecorator2(60) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void ->60 : number +>60 : 60 private static x1: number = 10; >x1 : number ->10 : number +>10 : 10 private fn( >fn : (x: number) => string @@ -130,7 +130,7 @@ class Greeter { @ParameterDecorator2(70) >ParameterDecorator2(70) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void ->70 : number +>70 : 70 x: number) { >x : number @@ -147,7 +147,7 @@ class Greeter { @PropertyDecorator2(80) >PropertyDecorator2(80) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void ->80 : number +>80 : 80 get greetings() { >greetings : string @@ -167,7 +167,7 @@ class Greeter { @ParameterDecorator2(90) >ParameterDecorator2(90) : (target: Object, key: string | symbol, paramIndex: number) => void >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void ->90 : number +>90 : 90 greetings: string) { >greetings : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.js.map index 0ee4a2092e7..79073166e0f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForArrayBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPattern.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAQ,qBAAK,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAA0B,EAAnB,aAAK,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+BAA0C,EAAnC,aAAK,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAQ,uBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,oBAA0D,EAAnD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,wCAA8E,EAAvE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAM,uBAAO,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,2BAAO,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,2CAAO,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,0BAAK,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,8BAAK,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,kDAAK,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAM,wBAAQ,EAAE,kBAAM,EAAE,mBAAO,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAA4C,EAAvC,gBAAQ,EAAE,cAAM,EAAE,eAAO,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+BAA4D,EAAvD,gBAAQ,EAAE,cAAM,EAAE,eAAO,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAM,2BAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,oBAAgE,EAA3D,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,wCAAoF,EAA/E,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAM,wBAAQ,EAAE,4BAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAA0C,EAArC,gBAAQ,EAAE,wBAAa,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+BAA0D,EAArD,gBAAQ,EAAE,wBAAa,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAM,0CAAkB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAM,8CAAkB,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAM,kEAAkB,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPattern.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAQ,IAAA,iBAAK,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAAsB,EAAnB,aAAK,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+BAAsC,EAAnC,aAAK,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAQ,IAAA,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,oBAAsD,EAAnD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,wCAA0E,EAAvE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,mBAAO,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uBAAO,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uCAAO,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,sBAAK,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,0BAAK,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,8CAAK,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,oBAAQ,EAAE,kBAAM,EAAE,mBAAO,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAAwC,EAAvC,gBAAQ,EAAE,cAAM,EAAE,eAAO,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+BAAwD,EAAvD,gBAAQ,EAAE,cAAM,EAAE,eAAO,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uBAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,oBAA4D,EAA3D,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,wCAAgF,EAA/E,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,oBAAQ,EAAE,4BAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAAsC,EAArC,gBAAQ,EAAE,wBAAa,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+BAAsD,EAArD,gBAAQ,EAAE,wBAAa,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,sCAAkB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,0CAAkB,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,8DAAkB,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.sourcemap.txt index e7ee5c01f2c..d0dbc25229c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.sourcemap.txt @@ -219,58 +219,61 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > > 2 >for 3 > 4 > (let [, -5 > nameA -6 > ] = robotA, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > nameA +7 > ] = robotA, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(10, 1) Source(18, 1) + SourceIndex(0) 2 >Emitted(10, 4) Source(18, 4) + SourceIndex(0) 3 >Emitted(10, 5) Source(18, 5) + SourceIndex(0) 4 >Emitted(10, 6) Source(18, 13) + SourceIndex(0) -5 >Emitted(10, 27) Source(18, 18) + SourceIndex(0) -6 >Emitted(10, 29) Source(18, 30) + SourceIndex(0) -7 >Emitted(10, 30) Source(18, 31) + SourceIndex(0) -8 >Emitted(10, 33) Source(18, 34) + SourceIndex(0) -9 >Emitted(10, 34) Source(18, 35) + SourceIndex(0) -10>Emitted(10, 36) Source(18, 37) + SourceIndex(0) -11>Emitted(10, 37) Source(18, 38) + SourceIndex(0) -12>Emitted(10, 40) Source(18, 41) + SourceIndex(0) -13>Emitted(10, 41) Source(18, 42) + SourceIndex(0) -14>Emitted(10, 43) Source(18, 44) + SourceIndex(0) -15>Emitted(10, 44) Source(18, 45) + SourceIndex(0) -16>Emitted(10, 46) Source(18, 47) + SourceIndex(0) -17>Emitted(10, 48) Source(18, 49) + SourceIndex(0) -18>Emitted(10, 49) Source(18, 50) + SourceIndex(0) +5 >Emitted(10, 10) Source(18, 13) + SourceIndex(0) +6 >Emitted(10, 27) Source(18, 18) + SourceIndex(0) +7 >Emitted(10, 29) Source(18, 30) + SourceIndex(0) +8 >Emitted(10, 30) Source(18, 31) + SourceIndex(0) +9 >Emitted(10, 33) Source(18, 34) + SourceIndex(0) +10>Emitted(10, 34) Source(18, 35) + SourceIndex(0) +11>Emitted(10, 36) Source(18, 37) + SourceIndex(0) +12>Emitted(10, 37) Source(18, 38) + SourceIndex(0) +13>Emitted(10, 40) Source(18, 41) + SourceIndex(0) +14>Emitted(10, 41) Source(18, 42) + SourceIndex(0) +15>Emitted(10, 43) Source(18, 44) + SourceIndex(0) +16>Emitted(10, 44) Source(18, 45) + SourceIndex(0) +17>Emitted(10, 46) Source(18, 47) + SourceIndex(0) +18>Emitted(10, 48) Source(18, 49) + SourceIndex(0) +19>Emitted(10, 49) Source(18, 50) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -335,9 +338,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, nameA] = getRobot() +6 > [, nameA] = getRobot() 7 > 8 > nameA 9 > ] = getRobot(), @@ -356,8 +359,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(13, 1) Source(21, 1) + SourceIndex(0) 2 >Emitted(13, 4) Source(21, 4) + SourceIndex(0) 3 >Emitted(13, 5) Source(21, 5) + SourceIndex(0) -4 >Emitted(13, 6) Source(21, 6) + SourceIndex(0) -5 >Emitted(13, 10) Source(21, 6) + SourceIndex(0) +4 >Emitted(13, 6) Source(21, 10) + SourceIndex(0) +5 >Emitted(13, 10) Source(21, 10) + SourceIndex(0) 6 >Emitted(13, 25) Source(21, 32) + SourceIndex(0) 7 >Emitted(13, 27) Source(21, 13) + SourceIndex(0) 8 >Emitted(13, 40) Source(21, 18) + SourceIndex(0) @@ -438,9 +441,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, nameA] = [2, "trimmer", "trimming"] +6 > [, nameA] = [2, "trimmer", "trimming"] 7 > 8 > nameA 9 > ] = [2, "trimmer", "trimming"], @@ -459,8 +462,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(16, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(16, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(16, 5) Source(24, 5) + SourceIndex(0) -4 >Emitted(16, 6) Source(24, 6) + SourceIndex(0) -5 >Emitted(16, 10) Source(24, 6) + SourceIndex(0) +4 >Emitted(16, 6) Source(24, 10) + SourceIndex(0) +5 >Emitted(16, 10) Source(24, 10) + SourceIndex(0) 6 >Emitted(16, 41) Source(24, 48) + SourceIndex(0) 7 >Emitted(16, 43) Source(24, 13) + SourceIndex(0) 8 >Emitted(16, 56) Source(24, 18) + SourceIndex(0) @@ -520,69 +523,72 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > 2 >for 3 > 4 > (let [, -5 > [primarySkillA, secondarySkillA] -6 > -7 > primarySkillA -8 > , -9 > secondarySkillA -10> ]] = multiRobotA, -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > +6 > [primarySkillA, secondarySkillA] +7 > +8 > primarySkillA +9 > , +10> secondarySkillA +11> ]] = multiRobotA, +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(19, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(19, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(19, 5) Source(27, 5) + SourceIndex(0) 4 >Emitted(19, 6) Source(27, 13) + SourceIndex(0) -5 >Emitted(19, 29) Source(27, 45) + SourceIndex(0) -6 >Emitted(19, 31) Source(27, 14) + SourceIndex(0) -7 >Emitted(19, 52) Source(27, 27) + SourceIndex(0) -8 >Emitted(19, 54) Source(27, 29) + SourceIndex(0) -9 >Emitted(19, 77) Source(27, 44) + SourceIndex(0) -10>Emitted(19, 79) Source(27, 62) + SourceIndex(0) -11>Emitted(19, 80) Source(27, 63) + SourceIndex(0) -12>Emitted(19, 83) Source(27, 66) + SourceIndex(0) -13>Emitted(19, 84) Source(27, 67) + SourceIndex(0) -14>Emitted(19, 86) Source(27, 69) + SourceIndex(0) -15>Emitted(19, 87) Source(27, 70) + SourceIndex(0) -16>Emitted(19, 90) Source(27, 73) + SourceIndex(0) -17>Emitted(19, 91) Source(27, 74) + SourceIndex(0) -18>Emitted(19, 93) Source(27, 76) + SourceIndex(0) -19>Emitted(19, 94) Source(27, 77) + SourceIndex(0) -20>Emitted(19, 96) Source(27, 79) + SourceIndex(0) -21>Emitted(19, 98) Source(27, 81) + SourceIndex(0) -22>Emitted(19, 99) Source(27, 82) + SourceIndex(0) +5 >Emitted(19, 10) Source(27, 13) + SourceIndex(0) +6 >Emitted(19, 29) Source(27, 45) + SourceIndex(0) +7 >Emitted(19, 31) Source(27, 14) + SourceIndex(0) +8 >Emitted(19, 52) Source(27, 27) + SourceIndex(0) +9 >Emitted(19, 54) Source(27, 29) + SourceIndex(0) +10>Emitted(19, 77) Source(27, 44) + SourceIndex(0) +11>Emitted(19, 79) Source(27, 62) + SourceIndex(0) +12>Emitted(19, 80) Source(27, 63) + SourceIndex(0) +13>Emitted(19, 83) Source(27, 66) + SourceIndex(0) +14>Emitted(19, 84) Source(27, 67) + SourceIndex(0) +15>Emitted(19, 86) Source(27, 69) + SourceIndex(0) +16>Emitted(19, 87) Source(27, 70) + SourceIndex(0) +17>Emitted(19, 90) Source(27, 73) + SourceIndex(0) +18>Emitted(19, 91) Source(27, 74) + SourceIndex(0) +19>Emitted(19, 93) Source(27, 76) + SourceIndex(0) +20>Emitted(19, 94) Source(27, 77) + SourceIndex(0) +21>Emitted(19, 96) Source(27, 79) + SourceIndex(0) +22>Emitted(19, 98) Source(27, 81) + SourceIndex(0) +23>Emitted(19, 99) Source(27, 82) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -651,9 +657,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, [primarySkillA, secondarySkillA]] = getMultiRobot() +6 > [, [primarySkillA, secondarySkillA]] = getMultiRobot() 7 > 8 > [primarySkillA, secondarySkillA] 9 > @@ -676,8 +682,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(22, 1) Source(30, 1) + SourceIndex(0) 2 >Emitted(22, 4) Source(30, 4) + SourceIndex(0) 3 >Emitted(22, 5) Source(30, 5) + SourceIndex(0) -4 >Emitted(22, 6) Source(30, 6) + SourceIndex(0) -5 >Emitted(22, 10) Source(30, 6) + SourceIndex(0) +4 >Emitted(22, 6) Source(30, 10) + SourceIndex(0) +5 >Emitted(22, 10) Source(30, 10) + SourceIndex(0) 6 >Emitted(22, 30) Source(30, 64) + SourceIndex(0) 7 >Emitted(22, 32) Source(30, 13) + SourceIndex(0) 8 >Emitted(22, 42) Source(30, 45) + SourceIndex(0) @@ -766,9 +772,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] +6 > [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] 7 > 8 > [primarySkillA, secondarySkillA] 9 > @@ -791,8 +797,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(25, 1) Source(33, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(33, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(33, 5) + SourceIndex(0) -4 >Emitted(25, 6) Source(33, 6) + SourceIndex(0) -5 >Emitted(25, 10) Source(33, 6) + SourceIndex(0) +4 >Emitted(25, 6) Source(33, 10) + SourceIndex(0) +5 >Emitted(25, 10) Source(33, 10) + SourceIndex(0) 6 >Emitted(25, 50) Source(33, 84) + SourceIndex(0) 7 >Emitted(25, 52) Source(33, 13) + SourceIndex(0) 8 >Emitted(25, 62) Source(33, 45) + SourceIndex(0) @@ -856,58 +862,61 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberB -6 > ] = robotA, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > numberB +7 > ] = robotA, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(28, 1) Source(37, 1) + SourceIndex(0) 2 >Emitted(28, 4) Source(37, 4) + SourceIndex(0) 3 >Emitted(28, 5) Source(37, 5) + SourceIndex(0) 4 >Emitted(28, 6) Source(37, 11) + SourceIndex(0) -5 >Emitted(28, 29) Source(37, 18) + SourceIndex(0) -6 >Emitted(28, 31) Source(37, 30) + SourceIndex(0) -7 >Emitted(28, 32) Source(37, 31) + SourceIndex(0) -8 >Emitted(28, 35) Source(37, 34) + SourceIndex(0) -9 >Emitted(28, 36) Source(37, 35) + SourceIndex(0) -10>Emitted(28, 38) Source(37, 37) + SourceIndex(0) -11>Emitted(28, 39) Source(37, 38) + SourceIndex(0) -12>Emitted(28, 42) Source(37, 41) + SourceIndex(0) -13>Emitted(28, 43) Source(37, 42) + SourceIndex(0) -14>Emitted(28, 45) Source(37, 44) + SourceIndex(0) -15>Emitted(28, 46) Source(37, 45) + SourceIndex(0) -16>Emitted(28, 48) Source(37, 47) + SourceIndex(0) -17>Emitted(28, 50) Source(37, 49) + SourceIndex(0) -18>Emitted(28, 51) Source(37, 50) + SourceIndex(0) +5 >Emitted(28, 10) Source(37, 11) + SourceIndex(0) +6 >Emitted(28, 29) Source(37, 18) + SourceIndex(0) +7 >Emitted(28, 31) Source(37, 30) + SourceIndex(0) +8 >Emitted(28, 32) Source(37, 31) + SourceIndex(0) +9 >Emitted(28, 35) Source(37, 34) + SourceIndex(0) +10>Emitted(28, 36) Source(37, 35) + SourceIndex(0) +11>Emitted(28, 38) Source(37, 37) + SourceIndex(0) +12>Emitted(28, 39) Source(37, 38) + SourceIndex(0) +13>Emitted(28, 42) Source(37, 41) + SourceIndex(0) +14>Emitted(28, 43) Source(37, 42) + SourceIndex(0) +15>Emitted(28, 45) Source(37, 44) + SourceIndex(0) +16>Emitted(28, 46) Source(37, 45) + SourceIndex(0) +17>Emitted(28, 48) Source(37, 47) + SourceIndex(0) +18>Emitted(28, 50) Source(37, 49) + SourceIndex(0) +19>Emitted(28, 51) Source(37, 50) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -951,57 +960,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > numberB -6 > ] = getRobot(), -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > numberB +7 > ] = getRobot(), +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(31, 1) Source(40, 1) + SourceIndex(0) 2 >Emitted(31, 4) Source(40, 4) + SourceIndex(0) 3 >Emitted(31, 5) Source(40, 5) + SourceIndex(0) 4 >Emitted(31, 6) Source(40, 11) + SourceIndex(0) -5 >Emitted(31, 33) Source(40, 18) + SourceIndex(0) -6 >Emitted(31, 35) Source(40, 34) + SourceIndex(0) -7 >Emitted(31, 36) Source(40, 35) + SourceIndex(0) -8 >Emitted(31, 39) Source(40, 38) + SourceIndex(0) -9 >Emitted(31, 40) Source(40, 39) + SourceIndex(0) -10>Emitted(31, 42) Source(40, 41) + SourceIndex(0) -11>Emitted(31, 43) Source(40, 42) + SourceIndex(0) -12>Emitted(31, 46) Source(40, 45) + SourceIndex(0) -13>Emitted(31, 47) Source(40, 46) + SourceIndex(0) -14>Emitted(31, 49) Source(40, 48) + SourceIndex(0) -15>Emitted(31, 50) Source(40, 49) + SourceIndex(0) -16>Emitted(31, 52) Source(40, 51) + SourceIndex(0) -17>Emitted(31, 54) Source(40, 53) + SourceIndex(0) -18>Emitted(31, 55) Source(40, 54) + SourceIndex(0) +5 >Emitted(31, 10) Source(40, 11) + SourceIndex(0) +6 >Emitted(31, 33) Source(40, 18) + SourceIndex(0) +7 >Emitted(31, 35) Source(40, 34) + SourceIndex(0) +8 >Emitted(31, 36) Source(40, 35) + SourceIndex(0) +9 >Emitted(31, 39) Source(40, 38) + SourceIndex(0) +10>Emitted(31, 40) Source(40, 39) + SourceIndex(0) +11>Emitted(31, 42) Source(40, 41) + SourceIndex(0) +12>Emitted(31, 43) Source(40, 42) + SourceIndex(0) +13>Emitted(31, 46) Source(40, 45) + SourceIndex(0) +14>Emitted(31, 47) Source(40, 46) + SourceIndex(0) +15>Emitted(31, 49) Source(40, 48) + SourceIndex(0) +16>Emitted(31, 50) Source(40, 49) + SourceIndex(0) +17>Emitted(31, 52) Source(40, 51) + SourceIndex(0) +18>Emitted(31, 54) Source(40, 53) + SourceIndex(0) +19>Emitted(31, 55) Source(40, 54) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1045,57 +1057,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > numberB -6 > ] = [2, "trimmer", "trimming"], -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > numberB +7 > ] = [2, "trimmer", "trimming"], +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(34, 1) Source(43, 1) + SourceIndex(0) 2 >Emitted(34, 4) Source(43, 4) + SourceIndex(0) 3 >Emitted(34, 5) Source(43, 5) + SourceIndex(0) 4 >Emitted(34, 6) Source(43, 11) + SourceIndex(0) -5 >Emitted(34, 49) Source(43, 18) + SourceIndex(0) -6 >Emitted(34, 51) Source(43, 50) + SourceIndex(0) -7 >Emitted(34, 52) Source(43, 51) + SourceIndex(0) -8 >Emitted(34, 55) Source(43, 54) + SourceIndex(0) -9 >Emitted(34, 56) Source(43, 55) + SourceIndex(0) -10>Emitted(34, 58) Source(43, 57) + SourceIndex(0) -11>Emitted(34, 59) Source(43, 58) + SourceIndex(0) -12>Emitted(34, 62) Source(43, 61) + SourceIndex(0) -13>Emitted(34, 63) Source(43, 62) + SourceIndex(0) -14>Emitted(34, 65) Source(43, 64) + SourceIndex(0) -15>Emitted(34, 66) Source(43, 65) + SourceIndex(0) -16>Emitted(34, 68) Source(43, 67) + SourceIndex(0) -17>Emitted(34, 70) Source(43, 69) + SourceIndex(0) -18>Emitted(34, 71) Source(43, 70) + SourceIndex(0) +5 >Emitted(34, 10) Source(43, 11) + SourceIndex(0) +6 >Emitted(34, 49) Source(43, 18) + SourceIndex(0) +7 >Emitted(34, 51) Source(43, 50) + SourceIndex(0) +8 >Emitted(34, 52) Source(43, 51) + SourceIndex(0) +9 >Emitted(34, 55) Source(43, 54) + SourceIndex(0) +10>Emitted(34, 56) Source(43, 55) + SourceIndex(0) +11>Emitted(34, 58) Source(43, 57) + SourceIndex(0) +12>Emitted(34, 59) Source(43, 58) + SourceIndex(0) +13>Emitted(34, 62) Source(43, 61) + SourceIndex(0) +14>Emitted(34, 63) Source(43, 62) + SourceIndex(0) +15>Emitted(34, 65) Source(43, 64) + SourceIndex(0) +16>Emitted(34, 66) Source(43, 65) + SourceIndex(0) +17>Emitted(34, 68) Source(43, 67) + SourceIndex(0) +18>Emitted(34, 70) Source(43, 69) + SourceIndex(0) +19>Emitted(34, 71) Source(43, 70) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1139,57 +1154,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB -6 > ] = multiRobotA, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > nameB +7 > ] = multiRobotA, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(37, 1) Source(46, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(46, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(46, 5) + SourceIndex(0) 4 >Emitted(37, 6) Source(46, 11) + SourceIndex(0) -5 >Emitted(37, 32) Source(46, 16) + SourceIndex(0) -6 >Emitted(37, 34) Source(46, 33) + SourceIndex(0) -7 >Emitted(37, 35) Source(46, 34) + SourceIndex(0) -8 >Emitted(37, 38) Source(46, 37) + SourceIndex(0) -9 >Emitted(37, 39) Source(46, 38) + SourceIndex(0) -10>Emitted(37, 41) Source(46, 40) + SourceIndex(0) -11>Emitted(37, 42) Source(46, 41) + SourceIndex(0) -12>Emitted(37, 45) Source(46, 44) + SourceIndex(0) -13>Emitted(37, 46) Source(46, 45) + SourceIndex(0) -14>Emitted(37, 48) Source(46, 47) + SourceIndex(0) -15>Emitted(37, 49) Source(46, 48) + SourceIndex(0) -16>Emitted(37, 51) Source(46, 50) + SourceIndex(0) -17>Emitted(37, 53) Source(46, 52) + SourceIndex(0) -18>Emitted(37, 54) Source(46, 53) + SourceIndex(0) +5 >Emitted(37, 10) Source(46, 11) + SourceIndex(0) +6 >Emitted(37, 32) Source(46, 16) + SourceIndex(0) +7 >Emitted(37, 34) Source(46, 33) + SourceIndex(0) +8 >Emitted(37, 35) Source(46, 34) + SourceIndex(0) +9 >Emitted(37, 38) Source(46, 37) + SourceIndex(0) +10>Emitted(37, 39) Source(46, 38) + SourceIndex(0) +11>Emitted(37, 41) Source(46, 40) + SourceIndex(0) +12>Emitted(37, 42) Source(46, 41) + SourceIndex(0) +13>Emitted(37, 45) Source(46, 44) + SourceIndex(0) +14>Emitted(37, 46) Source(46, 45) + SourceIndex(0) +15>Emitted(37, 48) Source(46, 47) + SourceIndex(0) +16>Emitted(37, 49) Source(46, 48) + SourceIndex(0) +17>Emitted(37, 51) Source(46, 50) + SourceIndex(0) +18>Emitted(37, 53) Source(46, 52) + SourceIndex(0) +19>Emitted(37, 54) Source(46, 53) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1233,57 +1251,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB -6 > ] = getMultiRobot(), -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > nameB +7 > ] = getMultiRobot(), +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(40, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(40, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(40, 5) Source(49, 5) + SourceIndex(0) 4 >Emitted(40, 6) Source(49, 11) + SourceIndex(0) -5 >Emitted(40, 36) Source(49, 16) + SourceIndex(0) -6 >Emitted(40, 38) Source(49, 37) + SourceIndex(0) -7 >Emitted(40, 39) Source(49, 38) + SourceIndex(0) -8 >Emitted(40, 42) Source(49, 41) + SourceIndex(0) -9 >Emitted(40, 43) Source(49, 42) + SourceIndex(0) -10>Emitted(40, 45) Source(49, 44) + SourceIndex(0) -11>Emitted(40, 46) Source(49, 45) + SourceIndex(0) -12>Emitted(40, 49) Source(49, 48) + SourceIndex(0) -13>Emitted(40, 50) Source(49, 49) + SourceIndex(0) -14>Emitted(40, 52) Source(49, 51) + SourceIndex(0) -15>Emitted(40, 53) Source(49, 52) + SourceIndex(0) -16>Emitted(40, 55) Source(49, 54) + SourceIndex(0) -17>Emitted(40, 57) Source(49, 56) + SourceIndex(0) -18>Emitted(40, 58) Source(49, 57) + SourceIndex(0) +5 >Emitted(40, 10) Source(49, 11) + SourceIndex(0) +6 >Emitted(40, 36) Source(49, 16) + SourceIndex(0) +7 >Emitted(40, 38) Source(49, 37) + SourceIndex(0) +8 >Emitted(40, 39) Source(49, 38) + SourceIndex(0) +9 >Emitted(40, 42) Source(49, 41) + SourceIndex(0) +10>Emitted(40, 43) Source(49, 42) + SourceIndex(0) +11>Emitted(40, 45) Source(49, 44) + SourceIndex(0) +12>Emitted(40, 46) Source(49, 45) + SourceIndex(0) +13>Emitted(40, 49) Source(49, 48) + SourceIndex(0) +14>Emitted(40, 50) Source(49, 49) + SourceIndex(0) +15>Emitted(40, 52) Source(49, 51) + SourceIndex(0) +16>Emitted(40, 53) Source(49, 52) + SourceIndex(0) +17>Emitted(40, 55) Source(49, 54) + SourceIndex(0) +18>Emitted(40, 57) Source(49, 56) + SourceIndex(0) +19>Emitted(40, 58) Source(49, 57) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1327,57 +1348,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB -6 > ] = ["trimmer", ["trimming", "edging"]], -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > nameB +7 > ] = ["trimmer", ["trimming", "edging"]], +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(43, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(43, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(43, 5) Source(52, 5) + SourceIndex(0) 4 >Emitted(43, 6) Source(52, 11) + SourceIndex(0) -5 >Emitted(43, 56) Source(52, 16) + SourceIndex(0) -6 >Emitted(43, 58) Source(52, 57) + SourceIndex(0) -7 >Emitted(43, 59) Source(52, 58) + SourceIndex(0) -8 >Emitted(43, 62) Source(52, 61) + SourceIndex(0) -9 >Emitted(43, 63) Source(52, 62) + SourceIndex(0) -10>Emitted(43, 65) Source(52, 64) + SourceIndex(0) -11>Emitted(43, 66) Source(52, 65) + SourceIndex(0) -12>Emitted(43, 69) Source(52, 68) + SourceIndex(0) -13>Emitted(43, 70) Source(52, 69) + SourceIndex(0) -14>Emitted(43, 72) Source(52, 71) + SourceIndex(0) -15>Emitted(43, 73) Source(52, 72) + SourceIndex(0) -16>Emitted(43, 75) Source(52, 74) + SourceIndex(0) -17>Emitted(43, 77) Source(52, 76) + SourceIndex(0) -18>Emitted(43, 78) Source(52, 77) + SourceIndex(0) +5 >Emitted(43, 10) Source(52, 11) + SourceIndex(0) +6 >Emitted(43, 56) Source(52, 16) + SourceIndex(0) +7 >Emitted(43, 58) Source(52, 57) + SourceIndex(0) +8 >Emitted(43, 59) Source(52, 58) + SourceIndex(0) +9 >Emitted(43, 62) Source(52, 61) + SourceIndex(0) +10>Emitted(43, 63) Source(52, 62) + SourceIndex(0) +11>Emitted(43, 65) Source(52, 64) + SourceIndex(0) +12>Emitted(43, 66) Source(52, 65) + SourceIndex(0) +13>Emitted(43, 69) Source(52, 68) + SourceIndex(0) +14>Emitted(43, 70) Source(52, 69) + SourceIndex(0) +15>Emitted(43, 72) Source(52, 71) + SourceIndex(0) +16>Emitted(43, 73) Source(52, 72) + SourceIndex(0) +17>Emitted(43, 75) Source(52, 74) + SourceIndex(0) +18>Emitted(43, 77) Source(52, 76) + SourceIndex(0) +19>Emitted(43, 78) Source(52, 77) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1421,70 +1445,73 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberA2 -6 > , -7 > nameA2 -8 > , -9 > skillA2 -10> ] = robotA, -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > +6 > numberA2 +7 > , +8 > nameA2 +9 > , +10> skillA2 +11> ] = robotA, +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(46, 1) Source(56, 1) + SourceIndex(0) 2 >Emitted(46, 4) Source(56, 4) + SourceIndex(0) 3 >Emitted(46, 5) Source(56, 5) + SourceIndex(0) 4 >Emitted(46, 6) Source(56, 11) + SourceIndex(0) -5 >Emitted(46, 30) Source(56, 19) + SourceIndex(0) -6 >Emitted(46, 32) Source(56, 21) + SourceIndex(0) -7 >Emitted(46, 50) Source(56, 27) + SourceIndex(0) -8 >Emitted(46, 52) Source(56, 29) + SourceIndex(0) -9 >Emitted(46, 71) Source(56, 36) + SourceIndex(0) -10>Emitted(46, 73) Source(56, 48) + SourceIndex(0) -11>Emitted(46, 74) Source(56, 49) + SourceIndex(0) -12>Emitted(46, 77) Source(56, 52) + SourceIndex(0) -13>Emitted(46, 78) Source(56, 53) + SourceIndex(0) -14>Emitted(46, 80) Source(56, 55) + SourceIndex(0) -15>Emitted(46, 81) Source(56, 56) + SourceIndex(0) -16>Emitted(46, 84) Source(56, 59) + SourceIndex(0) -17>Emitted(46, 85) Source(56, 60) + SourceIndex(0) -18>Emitted(46, 87) Source(56, 62) + SourceIndex(0) -19>Emitted(46, 88) Source(56, 63) + SourceIndex(0) -20>Emitted(46, 90) Source(56, 65) + SourceIndex(0) -21>Emitted(46, 92) Source(56, 67) + SourceIndex(0) -22>Emitted(46, 93) Source(56, 68) + SourceIndex(0) +5 >Emitted(46, 10) Source(56, 11) + SourceIndex(0) +6 >Emitted(46, 30) Source(56, 19) + SourceIndex(0) +7 >Emitted(46, 32) Source(56, 21) + SourceIndex(0) +8 >Emitted(46, 50) Source(56, 27) + SourceIndex(0) +9 >Emitted(46, 52) Source(56, 29) + SourceIndex(0) +10>Emitted(46, 71) Source(56, 36) + SourceIndex(0) +11>Emitted(46, 73) Source(56, 48) + SourceIndex(0) +12>Emitted(46, 74) Source(56, 49) + SourceIndex(0) +13>Emitted(46, 77) Source(56, 52) + SourceIndex(0) +14>Emitted(46, 78) Source(56, 53) + SourceIndex(0) +15>Emitted(46, 80) Source(56, 55) + SourceIndex(0) +16>Emitted(46, 81) Source(56, 56) + SourceIndex(0) +17>Emitted(46, 84) Source(56, 59) + SourceIndex(0) +18>Emitted(46, 85) Source(56, 60) + SourceIndex(0) +19>Emitted(46, 87) Source(56, 62) + SourceIndex(0) +20>Emitted(46, 88) Source(56, 63) + SourceIndex(0) +21>Emitted(46, 90) Source(56, 65) + SourceIndex(0) +22>Emitted(46, 92) Source(56, 67) + SourceIndex(0) +23>Emitted(46, 93) Source(56, 68) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1553,9 +1580,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA2, nameA2, skillA2] = getRobot() +6 > [numberA2, nameA2, skillA2] = getRobot() 7 > 8 > numberA2 9 > , @@ -1578,8 +1605,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(49, 1) Source(59, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(59, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(59, 5) + SourceIndex(0) -4 >Emitted(49, 6) Source(59, 6) + SourceIndex(0) -5 >Emitted(49, 10) Source(59, 6) + SourceIndex(0) +4 >Emitted(49, 6) Source(59, 10) + SourceIndex(0) +5 >Emitted(49, 10) Source(59, 10) + SourceIndex(0) 6 >Emitted(49, 25) Source(59, 50) + SourceIndex(0) 7 >Emitted(49, 27) Source(59, 11) + SourceIndex(0) 8 >Emitted(49, 43) Source(59, 19) + SourceIndex(0) @@ -1668,9 +1695,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"] +6 > [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"] 7 > 8 > numberA2 9 > , @@ -1693,8 +1720,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(52, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(52, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(52, 5) Source(62, 5) + SourceIndex(0) -4 >Emitted(52, 6) Source(62, 6) + SourceIndex(0) -5 >Emitted(52, 10) Source(62, 6) + SourceIndex(0) +4 >Emitted(52, 6) Source(62, 10) + SourceIndex(0) +5 >Emitted(52, 10) Source(62, 10) + SourceIndex(0) 6 >Emitted(52, 41) Source(62, 66) + SourceIndex(0) 7 >Emitted(52, 43) Source(62, 11) + SourceIndex(0) 8 >Emitted(52, 59) Source(62, 19) + SourceIndex(0) @@ -1758,75 +1785,78 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^ +24> ^^ +25> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameMA -6 > , -7 > [primarySkillA, secondarySkillA] -8 > -9 > primarySkillA -10> , -11> secondarySkillA -12> ]] = multiRobotA, -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > +6 > nameMA +7 > , +8 > [primarySkillA, secondarySkillA] +9 > +10> primarySkillA +11> , +12> secondarySkillA +13> ]] = multiRobotA, +14> i +15> = +16> 0 +17> ; +18> i +19> < +20> 1 +21> ; +22> i +23> ++ +24> ) +25> { 1->Emitted(55, 1) Source(65, 1) + SourceIndex(0) 2 >Emitted(55, 4) Source(65, 4) + SourceIndex(0) 3 >Emitted(55, 5) Source(65, 5) + SourceIndex(0) 4 >Emitted(55, 6) Source(65, 11) + SourceIndex(0) -5 >Emitted(55, 33) Source(65, 17) + SourceIndex(0) -6 >Emitted(55, 35) Source(65, 19) + SourceIndex(0) -7 >Emitted(55, 54) Source(65, 51) + SourceIndex(0) -8 >Emitted(55, 56) Source(65, 20) + SourceIndex(0) -9 >Emitted(55, 77) Source(65, 33) + SourceIndex(0) -10>Emitted(55, 79) Source(65, 35) + SourceIndex(0) -11>Emitted(55, 102) Source(65, 50) + SourceIndex(0) -12>Emitted(55, 104) Source(65, 68) + SourceIndex(0) -13>Emitted(55, 105) Source(65, 69) + SourceIndex(0) -14>Emitted(55, 108) Source(65, 72) + SourceIndex(0) -15>Emitted(55, 109) Source(65, 73) + SourceIndex(0) -16>Emitted(55, 111) Source(65, 75) + SourceIndex(0) -17>Emitted(55, 112) Source(65, 76) + SourceIndex(0) -18>Emitted(55, 115) Source(65, 79) + SourceIndex(0) -19>Emitted(55, 116) Source(65, 80) + SourceIndex(0) -20>Emitted(55, 118) Source(65, 82) + SourceIndex(0) -21>Emitted(55, 119) Source(65, 83) + SourceIndex(0) -22>Emitted(55, 121) Source(65, 85) + SourceIndex(0) -23>Emitted(55, 123) Source(65, 87) + SourceIndex(0) -24>Emitted(55, 124) Source(65, 88) + SourceIndex(0) +5 >Emitted(55, 10) Source(65, 11) + SourceIndex(0) +6 >Emitted(55, 33) Source(65, 17) + SourceIndex(0) +7 >Emitted(55, 35) Source(65, 19) + SourceIndex(0) +8 >Emitted(55, 54) Source(65, 51) + SourceIndex(0) +9 >Emitted(55, 56) Source(65, 20) + SourceIndex(0) +10>Emitted(55, 77) Source(65, 33) + SourceIndex(0) +11>Emitted(55, 79) Source(65, 35) + SourceIndex(0) +12>Emitted(55, 102) Source(65, 50) + SourceIndex(0) +13>Emitted(55, 104) Source(65, 68) + SourceIndex(0) +14>Emitted(55, 105) Source(65, 69) + SourceIndex(0) +15>Emitted(55, 108) Source(65, 72) + SourceIndex(0) +16>Emitted(55, 109) Source(65, 73) + SourceIndex(0) +17>Emitted(55, 111) Source(65, 75) + SourceIndex(0) +18>Emitted(55, 112) Source(65, 76) + SourceIndex(0) +19>Emitted(55, 115) Source(65, 79) + SourceIndex(0) +20>Emitted(55, 116) Source(65, 80) + SourceIndex(0) +21>Emitted(55, 118) Source(65, 82) + SourceIndex(0) +22>Emitted(55, 119) Source(65, 83) + SourceIndex(0) +23>Emitted(55, 121) Source(65, 85) + SourceIndex(0) +24>Emitted(55, 123) Source(65, 87) + SourceIndex(0) +25>Emitted(55, 124) Source(65, 88) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -1897,9 +1927,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot() +6 > [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot() 7 > 8 > nameMA 9 > , @@ -1924,8 +1954,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(58, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(58, 4) Source(68, 4) + SourceIndex(0) 3 >Emitted(58, 5) Source(68, 5) + SourceIndex(0) -4 >Emitted(58, 6) Source(68, 6) + SourceIndex(0) -5 >Emitted(58, 10) Source(68, 6) + SourceIndex(0) +4 >Emitted(58, 6) Source(68, 10) + SourceIndex(0) +5 >Emitted(58, 10) Source(68, 10) + SourceIndex(0) 6 >Emitted(58, 30) Source(68, 70) + SourceIndex(0) 7 >Emitted(58, 32) Source(68, 11) + SourceIndex(0) 8 >Emitted(58, 46) Source(68, 17) + SourceIndex(0) @@ -2018,9 +2048,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] +6 > [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] 7 > 8 > nameMA 9 > , @@ -2045,8 +2075,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(61, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(71, 5) + SourceIndex(0) -4 >Emitted(61, 6) Source(71, 6) + SourceIndex(0) -5 >Emitted(61, 10) Source(71, 6) + SourceIndex(0) +4 >Emitted(61, 6) Source(71, 10) + SourceIndex(0) +5 >Emitted(61, 10) Source(71, 10) + SourceIndex(0) 6 >Emitted(61, 50) Source(71, 90) + SourceIndex(0) 7 >Emitted(61, 52) Source(71, 11) + SourceIndex(0) 8 >Emitted(61, 66) Source(71, 17) + SourceIndex(0) @@ -2112,64 +2142,67 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberA3 -6 > , -7 > ...robotAInfo -8 > ] = robotA, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > numberA3 +7 > , +8 > ...robotAInfo +9 > ] = robotA, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(64, 1) Source(75, 1) + SourceIndex(0) 2 >Emitted(64, 4) Source(75, 4) + SourceIndex(0) 3 >Emitted(64, 5) Source(75, 5) + SourceIndex(0) 4 >Emitted(64, 6) Source(75, 11) + SourceIndex(0) -5 >Emitted(64, 30) Source(75, 19) + SourceIndex(0) -6 >Emitted(64, 32) Source(75, 21) + SourceIndex(0) -7 >Emitted(64, 60) Source(75, 34) + SourceIndex(0) -8 >Emitted(64, 62) Source(75, 46) + SourceIndex(0) -9 >Emitted(64, 63) Source(75, 47) + SourceIndex(0) -10>Emitted(64, 66) Source(75, 50) + SourceIndex(0) -11>Emitted(64, 67) Source(75, 51) + SourceIndex(0) -12>Emitted(64, 69) Source(75, 53) + SourceIndex(0) -13>Emitted(64, 70) Source(75, 54) + SourceIndex(0) -14>Emitted(64, 73) Source(75, 57) + SourceIndex(0) -15>Emitted(64, 74) Source(75, 58) + SourceIndex(0) -16>Emitted(64, 76) Source(75, 60) + SourceIndex(0) -17>Emitted(64, 77) Source(75, 61) + SourceIndex(0) -18>Emitted(64, 79) Source(75, 63) + SourceIndex(0) -19>Emitted(64, 81) Source(75, 65) + SourceIndex(0) -20>Emitted(64, 82) Source(75, 66) + SourceIndex(0) +5 >Emitted(64, 10) Source(75, 11) + SourceIndex(0) +6 >Emitted(64, 30) Source(75, 19) + SourceIndex(0) +7 >Emitted(64, 32) Source(75, 21) + SourceIndex(0) +8 >Emitted(64, 60) Source(75, 34) + SourceIndex(0) +9 >Emitted(64, 62) Source(75, 46) + SourceIndex(0) +10>Emitted(64, 63) Source(75, 47) + SourceIndex(0) +11>Emitted(64, 66) Source(75, 50) + SourceIndex(0) +12>Emitted(64, 67) Source(75, 51) + SourceIndex(0) +13>Emitted(64, 69) Source(75, 53) + SourceIndex(0) +14>Emitted(64, 70) Source(75, 54) + SourceIndex(0) +15>Emitted(64, 73) Source(75, 57) + SourceIndex(0) +16>Emitted(64, 74) Source(75, 58) + SourceIndex(0) +17>Emitted(64, 76) Source(75, 60) + SourceIndex(0) +18>Emitted(64, 77) Source(75, 61) + SourceIndex(0) +19>Emitted(64, 79) Source(75, 63) + SourceIndex(0) +20>Emitted(64, 81) Source(75, 65) + SourceIndex(0) +21>Emitted(64, 82) Source(75, 66) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2236,9 +2269,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA3, ...robotAInfo] = getRobot() +6 > [numberA3, ...robotAInfo] = getRobot() 7 > 8 > numberA3 9 > , @@ -2259,8 +2292,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(67, 1) Source(78, 1) + SourceIndex(0) 2 >Emitted(67, 4) Source(78, 4) + SourceIndex(0) 3 >Emitted(67, 5) Source(78, 5) + SourceIndex(0) -4 >Emitted(67, 6) Source(78, 6) + SourceIndex(0) -5 >Emitted(67, 10) Source(78, 6) + SourceIndex(0) +4 >Emitted(67, 6) Source(78, 10) + SourceIndex(0) +5 >Emitted(67, 10) Source(78, 10) + SourceIndex(0) 6 >Emitted(67, 25) Source(78, 48) + SourceIndex(0) 7 >Emitted(67, 27) Source(78, 11) + SourceIndex(0) 8 >Emitted(67, 43) Source(78, 19) + SourceIndex(0) @@ -2345,9 +2378,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"] +6 > [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"] 7 > 8 > numberA3 9 > , @@ -2368,8 +2401,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 1->Emitted(70, 1) Source(81, 1) + SourceIndex(0) 2 >Emitted(70, 4) Source(81, 4) + SourceIndex(0) 3 >Emitted(70, 5) Source(81, 5) + SourceIndex(0) -4 >Emitted(70, 6) Source(81, 6) + SourceIndex(0) -5 >Emitted(70, 10) Source(81, 6) + SourceIndex(0) +4 >Emitted(70, 6) Source(81, 10) + SourceIndex(0) +5 >Emitted(70, 10) Source(81, 10) + SourceIndex(0) 6 >Emitted(70, 41) Source(81, 64) + SourceIndex(0) 7 >Emitted(70, 43) Source(81, 11) + SourceIndex(0) 8 >Emitted(70, 59) Source(81, 19) + SourceIndex(0) @@ -2431,57 +2464,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > ...multiRobotAInfo -6 > ] = multiRobotA, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > ...multiRobotAInfo +7 > ] = multiRobotA, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(73, 1) Source(84, 1) + SourceIndex(0) 2 >Emitted(73, 4) Source(84, 4) + SourceIndex(0) 3 >Emitted(73, 5) Source(84, 5) + SourceIndex(0) 4 >Emitted(73, 6) Source(84, 11) + SourceIndex(0) -5 >Emitted(73, 48) Source(84, 29) + SourceIndex(0) -6 >Emitted(73, 50) Source(84, 46) + SourceIndex(0) -7 >Emitted(73, 51) Source(84, 47) + SourceIndex(0) -8 >Emitted(73, 54) Source(84, 50) + SourceIndex(0) -9 >Emitted(73, 55) Source(84, 51) + SourceIndex(0) -10>Emitted(73, 57) Source(84, 53) + SourceIndex(0) -11>Emitted(73, 58) Source(84, 54) + SourceIndex(0) -12>Emitted(73, 61) Source(84, 57) + SourceIndex(0) -13>Emitted(73, 62) Source(84, 58) + SourceIndex(0) -14>Emitted(73, 64) Source(84, 60) + SourceIndex(0) -15>Emitted(73, 65) Source(84, 61) + SourceIndex(0) -16>Emitted(73, 67) Source(84, 63) + SourceIndex(0) -17>Emitted(73, 69) Source(84, 65) + SourceIndex(0) -18>Emitted(73, 70) Source(84, 66) + SourceIndex(0) +5 >Emitted(73, 10) Source(84, 11) + SourceIndex(0) +6 >Emitted(73, 48) Source(84, 29) + SourceIndex(0) +7 >Emitted(73, 50) Source(84, 46) + SourceIndex(0) +8 >Emitted(73, 51) Source(84, 47) + SourceIndex(0) +9 >Emitted(73, 54) Source(84, 50) + SourceIndex(0) +10>Emitted(73, 55) Source(84, 51) + SourceIndex(0) +11>Emitted(73, 57) Source(84, 53) + SourceIndex(0) +12>Emitted(73, 58) Source(84, 54) + SourceIndex(0) +13>Emitted(73, 61) Source(84, 57) + SourceIndex(0) +14>Emitted(73, 62) Source(84, 58) + SourceIndex(0) +15>Emitted(73, 64) Source(84, 60) + SourceIndex(0) +16>Emitted(73, 65) Source(84, 61) + SourceIndex(0) +17>Emitted(73, 67) Source(84, 63) + SourceIndex(0) +18>Emitted(73, 69) Source(84, 65) + SourceIndex(0) +19>Emitted(73, 70) Source(84, 66) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2525,57 +2561,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > ...multiRobotAInfo -6 > ] = getMultiRobot(), -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > ...multiRobotAInfo +7 > ] = getMultiRobot(), +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(76, 1) Source(87, 1) + SourceIndex(0) 2 >Emitted(76, 4) Source(87, 4) + SourceIndex(0) 3 >Emitted(76, 5) Source(87, 5) + SourceIndex(0) 4 >Emitted(76, 6) Source(87, 11) + SourceIndex(0) -5 >Emitted(76, 52) Source(87, 29) + SourceIndex(0) -6 >Emitted(76, 54) Source(87, 50) + SourceIndex(0) -7 >Emitted(76, 55) Source(87, 51) + SourceIndex(0) -8 >Emitted(76, 58) Source(87, 54) + SourceIndex(0) -9 >Emitted(76, 59) Source(87, 55) + SourceIndex(0) -10>Emitted(76, 61) Source(87, 57) + SourceIndex(0) -11>Emitted(76, 62) Source(87, 58) + SourceIndex(0) -12>Emitted(76, 65) Source(87, 61) + SourceIndex(0) -13>Emitted(76, 66) Source(87, 62) + SourceIndex(0) -14>Emitted(76, 68) Source(87, 64) + SourceIndex(0) -15>Emitted(76, 69) Source(87, 65) + SourceIndex(0) -16>Emitted(76, 71) Source(87, 67) + SourceIndex(0) -17>Emitted(76, 73) Source(87, 69) + SourceIndex(0) -18>Emitted(76, 74) Source(87, 70) + SourceIndex(0) +5 >Emitted(76, 10) Source(87, 11) + SourceIndex(0) +6 >Emitted(76, 52) Source(87, 29) + SourceIndex(0) +7 >Emitted(76, 54) Source(87, 50) + SourceIndex(0) +8 >Emitted(76, 55) Source(87, 51) + SourceIndex(0) +9 >Emitted(76, 58) Source(87, 54) + SourceIndex(0) +10>Emitted(76, 59) Source(87, 55) + SourceIndex(0) +11>Emitted(76, 61) Source(87, 57) + SourceIndex(0) +12>Emitted(76, 62) Source(87, 58) + SourceIndex(0) +13>Emitted(76, 65) Source(87, 61) + SourceIndex(0) +14>Emitted(76, 66) Source(87, 62) + SourceIndex(0) +15>Emitted(76, 68) Source(87, 64) + SourceIndex(0) +16>Emitted(76, 69) Source(87, 65) + SourceIndex(0) +17>Emitted(76, 71) Source(87, 67) + SourceIndex(0) +18>Emitted(76, 73) Source(87, 69) + SourceIndex(0) +19>Emitted(76, 74) Source(87, 70) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2619,57 +2658,60 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > ...multiRobotAInfo -6 > ] = ["trimmer", ["trimming", "edging"]], -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > ...multiRobotAInfo +7 > ] = ["trimmer", ["trimming", "edging"]], +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(79, 1) Source(90, 1) + SourceIndex(0) 2 >Emitted(79, 4) Source(90, 4) + SourceIndex(0) 3 >Emitted(79, 5) Source(90, 5) + SourceIndex(0) 4 >Emitted(79, 6) Source(90, 11) + SourceIndex(0) -5 >Emitted(79, 72) Source(90, 29) + SourceIndex(0) -6 >Emitted(79, 74) Source(90, 70) + SourceIndex(0) -7 >Emitted(79, 75) Source(90, 71) + SourceIndex(0) -8 >Emitted(79, 78) Source(90, 74) + SourceIndex(0) -9 >Emitted(79, 79) Source(90, 75) + SourceIndex(0) -10>Emitted(79, 81) Source(90, 77) + SourceIndex(0) -11>Emitted(79, 82) Source(90, 78) + SourceIndex(0) -12>Emitted(79, 85) Source(90, 81) + SourceIndex(0) -13>Emitted(79, 86) Source(90, 82) + SourceIndex(0) -14>Emitted(79, 88) Source(90, 84) + SourceIndex(0) -15>Emitted(79, 89) Source(90, 85) + SourceIndex(0) -16>Emitted(79, 91) Source(90, 87) + SourceIndex(0) -17>Emitted(79, 93) Source(90, 89) + SourceIndex(0) -18>Emitted(79, 94) Source(90, 90) + SourceIndex(0) +5 >Emitted(79, 10) Source(90, 11) + SourceIndex(0) +6 >Emitted(79, 72) Source(90, 29) + SourceIndex(0) +7 >Emitted(79, 74) Source(90, 70) + SourceIndex(0) +8 >Emitted(79, 75) Source(90, 71) + SourceIndex(0) +9 >Emitted(79, 78) Source(90, 74) + SourceIndex(0) +10>Emitted(79, 79) Source(90, 75) + SourceIndex(0) +11>Emitted(79, 81) Source(90, 77) + SourceIndex(0) +12>Emitted(79, 82) Source(90, 78) + SourceIndex(0) +13>Emitted(79, 85) Source(90, 81) + SourceIndex(0) +14>Emitted(79, 86) Source(90, 82) + SourceIndex(0) +15>Emitted(79, 88) Source(90, 84) + SourceIndex(0) +16>Emitted(79, 89) Source(90, 85) + SourceIndex(0) +17>Emitted(79, 91) Source(90, 87) + SourceIndex(0) +18>Emitted(79, 93) Source(90, 89) + SourceIndex(0) +19>Emitted(79, 94) Source(90, 90) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types index fbe264eeeae..00ecd2659ee 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types @@ -16,9 +16,9 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function getRobot() { >getRobot : () => [number, string, string] @@ -31,19 +31,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function getMultiRobot() { >getMultiRobot : () => [string, [string, string]] @@ -57,10 +57,10 @@ for (let [, nameA] = robotA, i = 0; i < 1; i++) { >nameA : string >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -77,10 +77,10 @@ for (let [, nameA] = getRobot(), i = 0; i < 1; i++) { >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -95,14 +95,14 @@ for (let [, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { > : undefined >nameA : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -119,10 +119,10 @@ for (let [, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) >secondarySkillA : string >multiRobotA : [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -140,10 +140,10 @@ for (let [, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -159,15 +159,15 @@ for (let [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging >primarySkillA : string >secondarySkillA : string >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -183,10 +183,10 @@ for (let [numberB] = robotA, i = 0; i < 1; i++) { >numberB : number >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -202,10 +202,10 @@ for (let [numberB] = getRobot(), i = 0; i < 1; i++) { >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -219,14 +219,14 @@ for (let [numberB] = getRobot(), i = 0; i < 1; i++) { for (let [numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >numberB : number >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -241,10 +241,10 @@ for (let [nameB] = multiRobotA, i = 0; i < 1; i++) { >nameB : string >multiRobotA : [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -260,10 +260,10 @@ for (let [nameB] = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -277,15 +277,15 @@ for (let [nameB] = getMultiRobot(), i = 0; i < 1; i++) { for (let [nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >nameB : string >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -303,10 +303,10 @@ for (let [numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >skillA2 : string >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -324,10 +324,10 @@ for (let [numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -343,14 +343,14 @@ for (let [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; >nameA2 : string >skillA2 : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -367,10 +367,10 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; >secondarySkillA : string >multiRobotA : [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -388,10 +388,10 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -407,15 +407,15 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", " >primarySkillA : string >secondarySkillA : string >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -429,13 +429,13 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", " for (let [numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -448,14 +448,14 @@ for (let [numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { } for (let [numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -467,17 +467,17 @@ for (let [numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number } for (let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->numberA3 : number | string ->robotAInfo : (number | string)[] ->[2, "trimmer", "trimming"] : (number | string)[] ->2 : number ->"trimmer" : string ->"trimming" : string +>numberA3 : string | number +>robotAInfo : (string | number)[] +>[2, "trimmer", "trimming"] : (string | number)[] +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -486,16 +486,16 @@ for (let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i >console.log : (msg: any) => void >console : { log(msg: any): void; } >log : (msg: any) => void ->numberA3 : number | string +>numberA3 : string | number } for (let [...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >multiRobotAInfo : (string | [string, string])[] >multiRobotA : [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -511,10 +511,10 @@ for (let [...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -528,15 +528,15 @@ for (let [...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { for (let [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >multiRobotAInfo : (string | string[])[] >["trimmer", ["trimming", "edging"]] : (string | string[])[] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js index aad4d79ddd1..8030ead0bba 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js @@ -113,76 +113,76 @@ var numberB, nameB; var numberA2, nameA2, skillA2, nameMA; var numberA3, robotAInfo, multiRobotAInfo; var i; -for ((nameA = robotA[1], robotA), i = 0; i < 1; i++) { +for (nameA = robotA[1], robotA, i = 0; i < 1; i++) { console.log(nameA); } -for ((_a = getRobot(), nameA = _a[1], _a), i = 0; i < 1; i++) { +for (_a = getRobot(), nameA = _a[1], _a, i = 0; i < 1; i++) { console.log(nameA); } -for ((_b = [2, "trimmer", "trimming"], nameA = _b[1], _b), i = 0; i < 1; i++) { +for (_b = [2, "trimmer", "trimming"], nameA = _b[1], _b, i = 0; i < 1; i++) { console.log(nameA); } -for ((_c = multiRobotA[1], primarySkillA = _c[0], secondarySkillA = _c[1], multiRobotA), i = 0; i < 1; i++) { +for (_c = multiRobotA[1], primarySkillA = _c[0], secondarySkillA = _c[1], multiRobotA, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((_d = getMultiRobot(), _e = _d[1], primarySkillA = _e[0], secondarySkillA = _e[1], _d), i = 0; i < 1; i++) { +for (_d = getMultiRobot(), _e = _d[1], primarySkillA = _e[0], secondarySkillA = _e[1], _d, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((_f = ["trimmer", ["trimming", "edging"]], _g = _f[1], primarySkillA = _g[0], secondarySkillA = _g[1], _f), i = 0; i < 1; i++) { +for (_f = ["trimmer", ["trimming", "edging"]], _g = _f[1], primarySkillA = _g[0], secondarySkillA = _g[1], _f, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((numberB = robotA[0], robotA), i = 0; i < 1; i++) { +for (numberB = robotA[0], robotA, i = 0; i < 1; i++) { console.log(numberB); } -for ((_h = getRobot(), numberB = _h[0], _h), i = 0; i < 1; i++) { +for (_h = getRobot(), numberB = _h[0], _h, i = 0; i < 1; i++) { console.log(numberB); } -for ((_j = [2, "trimmer", "trimming"], numberB = _j[0], _j), i = 0; i < 1; i++) { +for (_j = [2, "trimmer", "trimming"], numberB = _j[0], _j, i = 0; i < 1; i++) { console.log(numberB); } -for ((nameB = multiRobotA[0], multiRobotA), i = 0; i < 1; i++) { +for (nameB = multiRobotA[0], multiRobotA, i = 0; i < 1; i++) { console.log(nameB); } -for ((_k = getMultiRobot(), nameB = _k[0], _k), i = 0; i < 1; i++) { +for (_k = getMultiRobot(), nameB = _k[0], _k, i = 0; i < 1; i++) { console.log(nameB); } -for ((_l = ["trimmer", ["trimming", "edging"]], nameB = _l[0], _l), i = 0; i < 1; i++) { +for (_l = ["trimmer", ["trimming", "edging"]], nameB = _l[0], _l, i = 0; i < 1; i++) { console.log(nameB); } -for ((numberA2 = robotA[0], nameA2 = robotA[1], skillA2 = robotA[2], robotA), i = 0; i < 1; i++) { +for (numberA2 = robotA[0], nameA2 = robotA[1], skillA2 = robotA[2], robotA, i = 0; i < 1; i++) { console.log(nameA2); } -for ((_m = getRobot(), numberA2 = _m[0], nameA2 = _m[1], skillA2 = _m[2], _m), i = 0; i < 1; i++) { +for (_m = getRobot(), numberA2 = _m[0], nameA2 = _m[1], skillA2 = _m[2], _m, i = 0; i < 1; i++) { console.log(nameA2); } -for ((_o = [2, "trimmer", "trimming"], numberA2 = _o[0], nameA2 = _o[1], skillA2 = _o[2], _o), i = 0; i < 1; i++) { +for (_o = [2, "trimmer", "trimming"], numberA2 = _o[0], nameA2 = _o[1], skillA2 = _o[2], _o, i = 0; i < 1; i++) { console.log(nameA2); } -for ((nameMA = multiRobotA[0], _p = multiRobotA[1], primarySkillA = _p[0], secondarySkillA = _p[1], multiRobotA), i = 0; i < 1; i++) { +for (nameMA = multiRobotA[0], _p = multiRobotA[1], primarySkillA = _p[0], secondarySkillA = _p[1], multiRobotA, i = 0; i < 1; i++) { console.log(nameMA); } -for ((_q = getMultiRobot(), nameMA = _q[0], _r = _q[1], primarySkillA = _r[0], secondarySkillA = _r[1], _q), i = 0; i < 1; i++) { +for (_q = getMultiRobot(), nameMA = _q[0], _r = _q[1], primarySkillA = _r[0], secondarySkillA = _r[1], _q, i = 0; i < 1; i++) { console.log(nameMA); } -for ((_s = ["trimmer", ["trimming", "edging"]], nameMA = _s[0], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1], _s), i = 0; i < 1; i++) { +for (_s = ["trimmer", ["trimming", "edging"]], nameMA = _s[0], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1], _s, i = 0; i < 1; i++) { console.log(nameMA); } -for ((numberA3 = robotA[0], robotAInfo = robotA.slice(1), robotA), i = 0; i < 1; i++) { +for (numberA3 = robotA[0], robotAInfo = robotA.slice(1), robotA, i = 0; i < 1; i++) { console.log(numberA3); } -for ((_u = getRobot(), numberA3 = _u[0], robotAInfo = _u.slice(1), _u), i = 0; i < 1; i++) { +for (_u = getRobot(), numberA3 = _u[0], robotAInfo = _u.slice(1), _u, i = 0; i < 1; i++) { console.log(numberA3); } -for ((_v = [2, "trimmer", "trimming"], numberA3 = _v[0], robotAInfo = _v.slice(1), _v), i = 0; i < 1; i++) { +for (_v = [2, "trimmer", "trimming"], numberA3 = _v[0], robotAInfo = _v.slice(1), _v, i = 0; i < 1; i++) { console.log(numberA3); } -for ((multiRobotAInfo = multiRobotA.slice(0), multiRobotA), i = 0; i < 1; i++) { +for (multiRobotAInfo = multiRobotA.slice(0), multiRobotA, i = 0; i < 1; i++) { console.log(multiRobotAInfo); } -for ((_w = getMultiRobot(), multiRobotAInfo = _w.slice(0), _w), i = 0; i < 1; i++) { +for (_w = getMultiRobot(), multiRobotAInfo = _w.slice(0), _w, i = 0; i < 1; i++) { console.log(multiRobotAInfo); } -for ((_x = ["trimmer", ["trimming", "edging"]], multiRobotAInfo = _x.slice(0), _x), i = 0; i < 1; i++) { +for (_x = ["trimmer", ["trimming", "edging"]], multiRobotAInfo = _x.slice(0), _x, i = 0; i < 1; i++) { console.log(multiRobotAInfo); } var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x; diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js.map index 046cd61ad40..4e060bd1d9a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForArrayBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPattern2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AACtG,IAAI,CAAS,CAAC;AAEd,GAAG,CAAC,CAAC,CAAG,iBAAK,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAsB,EAAnB,aAAK,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAAsC,EAAnC,aAAK,KAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAG,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAK,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAsD,EAAnD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,KAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAA0E,EAAvE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,KAAwC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,mBAAO,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAsB,EAArB,eAAO,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAAsC,EAArC,eAAO,KAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAC,sBAAK,EAAI,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAyB,EAAxB,aAAK,KAAmB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAA6C,EAA5C,aAAK,KAAuC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,oBAAQ,EAAE,kBAAM,EAAE,mBAAO,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAwC,EAAvC,gBAAQ,EAAE,cAAM,EAAE,eAAO,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAAwD,EAAvD,gBAAQ,EAAE,cAAM,EAAE,eAAO,KAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAC,uBAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAK,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAA4D,EAA3D,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,KAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAAgF,EAA/E,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,KAAwC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,oBAAQ,EAAE,4BAAa,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAsC,EAArC,gBAAQ,EAAE,wBAAa,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAA6D,EAA5D,gBAAQ,EAAE,wBAAa,KAAqC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAC,sCAAkB,EAAI,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAsC,EAArC,6BAAkB,KAAmB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAA6E,EAA5E,6BAAkB,KAA0D,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPattern2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AACtG,IAAI,CAAS,CAAC;AAEd,GAAG,CAAC,CAAI,iBAAK,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAAsB,EAAnB,aAAK,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,+BAAsC,EAAnC,aAAK,MAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAI,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAK,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,oBAAsD,EAAnD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,MAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,wCAA0E,EAAvE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,MAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAE,mBAAO,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,eAAsB,EAArB,eAAO,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,+BAAsC,EAArC,eAAO,MAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAE,sBAAK,EAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,oBAAyB,EAAxB,aAAK,MAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,wCAA6C,EAA5C,aAAK,MAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAE,oBAAQ,EAAE,kBAAM,EAAE,mBAAO,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,eAAwC,EAAvC,gBAAQ,EAAE,cAAM,EAAE,eAAO,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,+BAAwD,EAAvD,gBAAQ,EAAE,cAAM,EAAE,eAAO,MAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAE,uBAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,EAAK,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,oBAA4D,EAA3D,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,MAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,wCAAgF,EAA/E,cAAM,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,MAA0C,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAE,oBAAQ,EAAE,4BAAa,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,eAAsC,EAArC,gBAAQ,EAAE,wBAAa,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,+BAA6D,EAA5D,gBAAQ,EAAE,wBAAa,MAAuC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAE,sCAAkB,EAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAC,oBAAsC,EAArC,6BAAkB,MAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AACD,GAAG,CAAC,CAAC,wCAA6E,EAA5E,6BAAkB,MAA4D,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.sourcemap.txt index 186dc717e61..9b6f6146cad 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.sourcemap.txt @@ -330,7 +330,7 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts 2 >^^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >let @@ -341,75 +341,69 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts 3 >Emitted(14, 6) Source(22, 14) + SourceIndex(0) 4 >Emitted(14, 7) Source(22, 15) + SourceIndex(0) --- ->>>for ((nameA = robotA[1], robotA), i = 0; i < 1; i++) { +>>>for (nameA = robotA[1], robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [, -6 > nameA -7 > ] = -8 > robotA -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ([, +5 > nameA +6 > ] = +7 > robotA +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(15, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(15, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(15, 5) Source(24, 5) + SourceIndex(0) -4 >Emitted(15, 6) Source(24, 6) + SourceIndex(0) -5 >Emitted(15, 7) Source(24, 9) + SourceIndex(0) -6 >Emitted(15, 24) Source(24, 14) + SourceIndex(0) -7 >Emitted(15, 26) Source(24, 18) + SourceIndex(0) -8 >Emitted(15, 32) Source(24, 24) + SourceIndex(0) -9 >Emitted(15, 33) Source(24, 24) + SourceIndex(0) -10>Emitted(15, 35) Source(24, 26) + SourceIndex(0) -11>Emitted(15, 36) Source(24, 27) + SourceIndex(0) -12>Emitted(15, 39) Source(24, 30) + SourceIndex(0) -13>Emitted(15, 40) Source(24, 31) + SourceIndex(0) -14>Emitted(15, 42) Source(24, 33) + SourceIndex(0) -15>Emitted(15, 43) Source(24, 34) + SourceIndex(0) -16>Emitted(15, 46) Source(24, 37) + SourceIndex(0) -17>Emitted(15, 47) Source(24, 38) + SourceIndex(0) -18>Emitted(15, 49) Source(24, 40) + SourceIndex(0) -19>Emitted(15, 50) Source(24, 41) + SourceIndex(0) -20>Emitted(15, 52) Source(24, 43) + SourceIndex(0) -21>Emitted(15, 54) Source(24, 45) + SourceIndex(0) -22>Emitted(15, 55) Source(24, 46) + SourceIndex(0) +4 >Emitted(15, 6) Source(24, 9) + SourceIndex(0) +5 >Emitted(15, 23) Source(24, 14) + SourceIndex(0) +6 >Emitted(15, 25) Source(24, 18) + SourceIndex(0) +7 >Emitted(15, 31) Source(24, 24) + SourceIndex(0) +8 >Emitted(15, 33) Source(24, 26) + SourceIndex(0) +9 >Emitted(15, 34) Source(24, 27) + SourceIndex(0) +10>Emitted(15, 37) Source(24, 30) + SourceIndex(0) +11>Emitted(15, 38) Source(24, 31) + SourceIndex(0) +12>Emitted(15, 40) Source(24, 33) + SourceIndex(0) +13>Emitted(15, 41) Source(24, 34) + SourceIndex(0) +14>Emitted(15, 44) Source(24, 37) + SourceIndex(0) +15>Emitted(15, 45) Source(24, 38) + SourceIndex(0) +16>Emitted(15, 47) Source(24, 40) + SourceIndex(0) +17>Emitted(15, 48) Source(24, 41) + SourceIndex(0) +18>Emitted(15, 50) Source(24, 43) + SourceIndex(0) +19>Emitted(15, 52) Source(24, 45) + SourceIndex(0) +20>Emitted(15, 53) Source(24, 46) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -441,81 +435,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(17, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(17, 2) Source(26, 2) + SourceIndex(0) --- ->>>for ((_a = getRobot(), nameA = _a[1], _a), i = 0; i < 1; i++) { +>>>for (_a = getRobot(), nameA = _a[1], _a, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, nameA] = getRobot() -7 > -8 > nameA -9 > ] = getRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [, nameA] = getRobot() +6 > +7 > nameA +8 > ] = getRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(18, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(27, 5) + SourceIndex(0) 4 >Emitted(18, 6) Source(27, 6) + SourceIndex(0) -5 >Emitted(18, 7) Source(27, 6) + SourceIndex(0) -6 >Emitted(18, 22) Source(27, 28) + SourceIndex(0) -7 >Emitted(18, 24) Source(27, 9) + SourceIndex(0) -8 >Emitted(18, 37) Source(27, 14) + SourceIndex(0) -9 >Emitted(18, 42) Source(27, 28) + SourceIndex(0) -10>Emitted(18, 44) Source(27, 30) + SourceIndex(0) -11>Emitted(18, 45) Source(27, 31) + SourceIndex(0) -12>Emitted(18, 48) Source(27, 34) + SourceIndex(0) -13>Emitted(18, 49) Source(27, 35) + SourceIndex(0) -14>Emitted(18, 51) Source(27, 37) + SourceIndex(0) -15>Emitted(18, 52) Source(27, 38) + SourceIndex(0) -16>Emitted(18, 55) Source(27, 41) + SourceIndex(0) -17>Emitted(18, 56) Source(27, 42) + SourceIndex(0) -18>Emitted(18, 58) Source(27, 44) + SourceIndex(0) -19>Emitted(18, 59) Source(27, 45) + SourceIndex(0) -20>Emitted(18, 61) Source(27, 47) + SourceIndex(0) -21>Emitted(18, 63) Source(27, 49) + SourceIndex(0) -22>Emitted(18, 64) Source(27, 50) + SourceIndex(0) +5 >Emitted(18, 21) Source(27, 28) + SourceIndex(0) +6 >Emitted(18, 23) Source(27, 9) + SourceIndex(0) +7 >Emitted(18, 36) Source(27, 14) + SourceIndex(0) +8 >Emitted(18, 42) Source(27, 30) + SourceIndex(0) +9 >Emitted(18, 43) Source(27, 31) + SourceIndex(0) +10>Emitted(18, 46) Source(27, 34) + SourceIndex(0) +11>Emitted(18, 47) Source(27, 35) + SourceIndex(0) +12>Emitted(18, 49) Source(27, 37) + SourceIndex(0) +13>Emitted(18, 50) Source(27, 38) + SourceIndex(0) +14>Emitted(18, 53) Source(27, 41) + SourceIndex(0) +15>Emitted(18, 54) Source(27, 42) + SourceIndex(0) +16>Emitted(18, 56) Source(27, 44) + SourceIndex(0) +17>Emitted(18, 57) Source(27, 45) + SourceIndex(0) +18>Emitted(18, 59) Source(27, 47) + SourceIndex(0) +19>Emitted(18, 61) Source(27, 49) + SourceIndex(0) +20>Emitted(18, 62) Source(27, 50) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -547,81 +535,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(20, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(20, 2) Source(29, 2) + SourceIndex(0) --- ->>>for ((_b = [2, "trimmer", "trimming"], nameA = _b[1], _b), i = 0; i < 1; i++) { +>>>for (_b = [2, "trimmer", "trimming"], nameA = _b[1], _b, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, nameA] = [2, "trimmer", "trimming"] -7 > -8 > nameA -9 > ] = [2, "trimmer", "trimming"] -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [, nameA] = [2, "trimmer", "trimming"] +6 > +7 > nameA +8 > ] = [2, "trimmer", "trimming"], +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(21, 1) Source(30, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(30, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(30, 5) + SourceIndex(0) 4 >Emitted(21, 6) Source(30, 6) + SourceIndex(0) -5 >Emitted(21, 7) Source(30, 6) + SourceIndex(0) -6 >Emitted(21, 38) Source(30, 44) + SourceIndex(0) -7 >Emitted(21, 40) Source(30, 9) + SourceIndex(0) -8 >Emitted(21, 53) Source(30, 14) + SourceIndex(0) -9 >Emitted(21, 58) Source(30, 44) + SourceIndex(0) -10>Emitted(21, 60) Source(30, 46) + SourceIndex(0) -11>Emitted(21, 61) Source(30, 47) + SourceIndex(0) -12>Emitted(21, 64) Source(30, 50) + SourceIndex(0) -13>Emitted(21, 65) Source(30, 51) + SourceIndex(0) -14>Emitted(21, 67) Source(30, 53) + SourceIndex(0) -15>Emitted(21, 68) Source(30, 54) + SourceIndex(0) -16>Emitted(21, 71) Source(30, 57) + SourceIndex(0) -17>Emitted(21, 72) Source(30, 58) + SourceIndex(0) -18>Emitted(21, 74) Source(30, 60) + SourceIndex(0) -19>Emitted(21, 75) Source(30, 61) + SourceIndex(0) -20>Emitted(21, 77) Source(30, 63) + SourceIndex(0) -21>Emitted(21, 79) Source(30, 65) + SourceIndex(0) -22>Emitted(21, 80) Source(30, 66) + SourceIndex(0) +5 >Emitted(21, 37) Source(30, 44) + SourceIndex(0) +6 >Emitted(21, 39) Source(30, 9) + SourceIndex(0) +7 >Emitted(21, 52) Source(30, 14) + SourceIndex(0) +8 >Emitted(21, 58) Source(30, 46) + SourceIndex(0) +9 >Emitted(21, 59) Source(30, 47) + SourceIndex(0) +10>Emitted(21, 62) Source(30, 50) + SourceIndex(0) +11>Emitted(21, 63) Source(30, 51) + SourceIndex(0) +12>Emitted(21, 65) Source(30, 53) + SourceIndex(0) +13>Emitted(21, 66) Source(30, 54) + SourceIndex(0) +14>Emitted(21, 69) Source(30, 57) + SourceIndex(0) +15>Emitted(21, 70) Source(30, 58) + SourceIndex(0) +16>Emitted(21, 72) Source(30, 60) + SourceIndex(0) +17>Emitted(21, 73) Source(30, 61) + SourceIndex(0) +18>Emitted(21, 75) Source(30, 63) + SourceIndex(0) +19>Emitted(21, 77) Source(30, 65) + SourceIndex(0) +20>Emitted(21, 78) Source(30, 66) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -653,93 +635,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(23, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(23, 2) Source(32, 2) + SourceIndex(0) --- ->>>for ((_c = multiRobotA[1], primarySkillA = _c[0], secondarySkillA = _c[1], multiRobotA), i = 0; i < 1; i++) { +>>>for (_c = multiRobotA[1], primarySkillA = _c[0], secondarySkillA = _c[1], multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > -4 > ( -5 > [, -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -11> ]] = -12> multiRobotA -13> -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +4 > ([, +5 > [primarySkillA, secondarySkillA] +6 > +7 > primarySkillA +8 > , +9 > secondarySkillA +10> ]] = +11> multiRobotA +12> , +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(24, 1) Source(33, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(33, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(33, 5) + SourceIndex(0) -4 >Emitted(24, 6) Source(33, 6) + SourceIndex(0) -5 >Emitted(24, 7) Source(33, 9) + SourceIndex(0) -6 >Emitted(24, 26) Source(33, 41) + SourceIndex(0) -7 >Emitted(24, 28) Source(33, 10) + SourceIndex(0) -8 >Emitted(24, 49) Source(33, 23) + SourceIndex(0) -9 >Emitted(24, 51) Source(33, 25) + SourceIndex(0) -10>Emitted(24, 74) Source(33, 40) + SourceIndex(0) -11>Emitted(24, 76) Source(33, 45) + SourceIndex(0) -12>Emitted(24, 87) Source(33, 56) + SourceIndex(0) -13>Emitted(24, 88) Source(33, 56) + SourceIndex(0) -14>Emitted(24, 90) Source(33, 58) + SourceIndex(0) -15>Emitted(24, 91) Source(33, 59) + SourceIndex(0) -16>Emitted(24, 94) Source(33, 62) + SourceIndex(0) -17>Emitted(24, 95) Source(33, 63) + SourceIndex(0) -18>Emitted(24, 97) Source(33, 65) + SourceIndex(0) -19>Emitted(24, 98) Source(33, 66) + SourceIndex(0) -20>Emitted(24, 101) Source(33, 69) + SourceIndex(0) -21>Emitted(24, 102) Source(33, 70) + SourceIndex(0) -22>Emitted(24, 104) Source(33, 72) + SourceIndex(0) -23>Emitted(24, 105) Source(33, 73) + SourceIndex(0) -24>Emitted(24, 107) Source(33, 75) + SourceIndex(0) -25>Emitted(24, 109) Source(33, 77) + SourceIndex(0) -26>Emitted(24, 110) Source(33, 78) + SourceIndex(0) +4 >Emitted(24, 6) Source(33, 9) + SourceIndex(0) +5 >Emitted(24, 25) Source(33, 41) + SourceIndex(0) +6 >Emitted(24, 27) Source(33, 10) + SourceIndex(0) +7 >Emitted(24, 48) Source(33, 23) + SourceIndex(0) +8 >Emitted(24, 50) Source(33, 25) + SourceIndex(0) +9 >Emitted(24, 73) Source(33, 40) + SourceIndex(0) +10>Emitted(24, 75) Source(33, 45) + SourceIndex(0) +11>Emitted(24, 86) Source(33, 56) + SourceIndex(0) +12>Emitted(24, 88) Source(33, 58) + SourceIndex(0) +13>Emitted(24, 89) Source(33, 59) + SourceIndex(0) +14>Emitted(24, 92) Source(33, 62) + SourceIndex(0) +15>Emitted(24, 93) Source(33, 63) + SourceIndex(0) +16>Emitted(24, 95) Source(33, 65) + SourceIndex(0) +17>Emitted(24, 96) Source(33, 66) + SourceIndex(0) +18>Emitted(24, 99) Source(33, 69) + SourceIndex(0) +19>Emitted(24, 100) Source(33, 70) + SourceIndex(0) +20>Emitted(24, 102) Source(33, 72) + SourceIndex(0) +21>Emitted(24, 103) Source(33, 73) + SourceIndex(0) +22>Emitted(24, 105) Source(33, 75) + SourceIndex(0) +23>Emitted(24, 107) Source(33, 77) + SourceIndex(0) +24>Emitted(24, 108) Source(33, 78) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -771,93 +747,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(26, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(26, 2) Source(35, 2) + SourceIndex(0) --- ->>>for ((_d = getMultiRobot(), _e = _d[1], primarySkillA = _e[0], secondarySkillA = _e[1], _d), i = 0; i < 1; i++) { +>>>for (_d = getMultiRobot(), _e = _d[1], primarySkillA = _e[0], secondarySkillA = _e[1], _d, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, [primarySkillA, secondarySkillA]] = getMultiRobot() -7 > -8 > [primarySkillA, secondarySkillA] -9 > -10> primarySkillA -11> , -12> secondarySkillA -13> ]] = getMultiRobot() -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [, [primarySkillA, secondarySkillA]] = getMultiRobot() +6 > +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +12> ]] = getMultiRobot(), +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(27, 1) Source(36, 1) + SourceIndex(0) 2 >Emitted(27, 4) Source(36, 4) + SourceIndex(0) 3 >Emitted(27, 5) Source(36, 5) + SourceIndex(0) 4 >Emitted(27, 6) Source(36, 6) + SourceIndex(0) -5 >Emitted(27, 7) Source(36, 6) + SourceIndex(0) -6 >Emitted(27, 27) Source(36, 60) + SourceIndex(0) -7 >Emitted(27, 29) Source(36, 9) + SourceIndex(0) -8 >Emitted(27, 39) Source(36, 41) + SourceIndex(0) -9 >Emitted(27, 41) Source(36, 10) + SourceIndex(0) -10>Emitted(27, 62) Source(36, 23) + SourceIndex(0) -11>Emitted(27, 64) Source(36, 25) + SourceIndex(0) -12>Emitted(27, 87) Source(36, 40) + SourceIndex(0) -13>Emitted(27, 92) Source(36, 60) + SourceIndex(0) -14>Emitted(27, 94) Source(36, 62) + SourceIndex(0) -15>Emitted(27, 95) Source(36, 63) + SourceIndex(0) -16>Emitted(27, 98) Source(36, 66) + SourceIndex(0) -17>Emitted(27, 99) Source(36, 67) + SourceIndex(0) -18>Emitted(27, 101) Source(36, 69) + SourceIndex(0) -19>Emitted(27, 102) Source(36, 70) + SourceIndex(0) -20>Emitted(27, 105) Source(36, 73) + SourceIndex(0) -21>Emitted(27, 106) Source(36, 74) + SourceIndex(0) -22>Emitted(27, 108) Source(36, 76) + SourceIndex(0) -23>Emitted(27, 109) Source(36, 77) + SourceIndex(0) -24>Emitted(27, 111) Source(36, 79) + SourceIndex(0) -25>Emitted(27, 113) Source(36, 81) + SourceIndex(0) -26>Emitted(27, 114) Source(36, 82) + SourceIndex(0) +5 >Emitted(27, 26) Source(36, 60) + SourceIndex(0) +6 >Emitted(27, 28) Source(36, 9) + SourceIndex(0) +7 >Emitted(27, 38) Source(36, 41) + SourceIndex(0) +8 >Emitted(27, 40) Source(36, 10) + SourceIndex(0) +9 >Emitted(27, 61) Source(36, 23) + SourceIndex(0) +10>Emitted(27, 63) Source(36, 25) + SourceIndex(0) +11>Emitted(27, 86) Source(36, 40) + SourceIndex(0) +12>Emitted(27, 92) Source(36, 62) + SourceIndex(0) +13>Emitted(27, 93) Source(36, 63) + SourceIndex(0) +14>Emitted(27, 96) Source(36, 66) + SourceIndex(0) +15>Emitted(27, 97) Source(36, 67) + SourceIndex(0) +16>Emitted(27, 99) Source(36, 69) + SourceIndex(0) +17>Emitted(27, 100) Source(36, 70) + SourceIndex(0) +18>Emitted(27, 103) Source(36, 73) + SourceIndex(0) +19>Emitted(27, 104) Source(36, 74) + SourceIndex(0) +20>Emitted(27, 106) Source(36, 76) + SourceIndex(0) +21>Emitted(27, 107) Source(36, 77) + SourceIndex(0) +22>Emitted(27, 109) Source(36, 79) + SourceIndex(0) +23>Emitted(27, 111) Source(36, 81) + SourceIndex(0) +24>Emitted(27, 112) Source(36, 82) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -889,93 +859,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(29, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(29, 2) Source(38, 2) + SourceIndex(0) --- ->>>for ((_f = ["trimmer", ["trimming", "edging"]], _g = _f[1], primarySkillA = _g[0], secondarySkillA = _g[1], _f), i = 0; i < 1; i++) { +>>>for (_f = ["trimmer", ["trimming", "edging"]], _g = _f[1], primarySkillA = _g[0], secondarySkillA = _g[1], _f, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] -7 > -8 > [primarySkillA, secondarySkillA] -9 > -10> primarySkillA -11> , -12> secondarySkillA -13> ]] = ["trimmer", ["trimming", "edging"]] -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] +6 > +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +12> ]] = ["trimmer", ["trimming", "edging"]], +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(30, 1) Source(39, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(39, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(39, 5) + SourceIndex(0) 4 >Emitted(30, 6) Source(39, 6) + SourceIndex(0) -5 >Emitted(30, 7) Source(39, 6) + SourceIndex(0) -6 >Emitted(30, 47) Source(39, 80) + SourceIndex(0) -7 >Emitted(30, 49) Source(39, 9) + SourceIndex(0) -8 >Emitted(30, 59) Source(39, 41) + SourceIndex(0) -9 >Emitted(30, 61) Source(39, 10) + SourceIndex(0) -10>Emitted(30, 82) Source(39, 23) + SourceIndex(0) -11>Emitted(30, 84) Source(39, 25) + SourceIndex(0) -12>Emitted(30, 107) Source(39, 40) + SourceIndex(0) -13>Emitted(30, 112) Source(39, 80) + SourceIndex(0) -14>Emitted(30, 114) Source(39, 82) + SourceIndex(0) -15>Emitted(30, 115) Source(39, 83) + SourceIndex(0) -16>Emitted(30, 118) Source(39, 86) + SourceIndex(0) -17>Emitted(30, 119) Source(39, 87) + SourceIndex(0) -18>Emitted(30, 121) Source(39, 89) + SourceIndex(0) -19>Emitted(30, 122) Source(39, 90) + SourceIndex(0) -20>Emitted(30, 125) Source(39, 93) + SourceIndex(0) -21>Emitted(30, 126) Source(39, 94) + SourceIndex(0) -22>Emitted(30, 128) Source(39, 96) + SourceIndex(0) -23>Emitted(30, 129) Source(39, 97) + SourceIndex(0) -24>Emitted(30, 131) Source(39, 99) + SourceIndex(0) -25>Emitted(30, 133) Source(39, 101) + SourceIndex(0) -26>Emitted(30, 134) Source(39, 102) + SourceIndex(0) +5 >Emitted(30, 46) Source(39, 80) + SourceIndex(0) +6 >Emitted(30, 48) Source(39, 9) + SourceIndex(0) +7 >Emitted(30, 58) Source(39, 41) + SourceIndex(0) +8 >Emitted(30, 60) Source(39, 10) + SourceIndex(0) +9 >Emitted(30, 81) Source(39, 23) + SourceIndex(0) +10>Emitted(30, 83) Source(39, 25) + SourceIndex(0) +11>Emitted(30, 106) Source(39, 40) + SourceIndex(0) +12>Emitted(30, 112) Source(39, 82) + SourceIndex(0) +13>Emitted(30, 113) Source(39, 83) + SourceIndex(0) +14>Emitted(30, 116) Source(39, 86) + SourceIndex(0) +15>Emitted(30, 117) Source(39, 87) + SourceIndex(0) +16>Emitted(30, 119) Source(39, 89) + SourceIndex(0) +17>Emitted(30, 120) Source(39, 90) + SourceIndex(0) +18>Emitted(30, 123) Source(39, 93) + SourceIndex(0) +19>Emitted(30, 124) Source(39, 94) + SourceIndex(0) +20>Emitted(30, 126) Source(39, 96) + SourceIndex(0) +21>Emitted(30, 127) Source(39, 97) + SourceIndex(0) +22>Emitted(30, 129) Source(39, 99) + SourceIndex(0) +23>Emitted(30, 131) Source(39, 101) + SourceIndex(0) +24>Emitted(30, 132) Source(39, 102) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1007,82 +971,76 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(32, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(32, 2) Source(41, 2) + SourceIndex(0) --- ->>>for ((numberB = robotA[0], robotA), i = 0; i < 1; i++) { +>>>for (numberB = robotA[0], robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberB -7 > ] = -8 > robotA -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ([ +5 > numberB +6 > ] = +7 > robotA +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(33, 1) Source(43, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(43, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(43, 5) + SourceIndex(0) -4 >Emitted(33, 6) Source(43, 6) + SourceIndex(0) -5 >Emitted(33, 7) Source(43, 7) + SourceIndex(0) -6 >Emitted(33, 26) Source(43, 14) + SourceIndex(0) -7 >Emitted(33, 28) Source(43, 18) + SourceIndex(0) -8 >Emitted(33, 34) Source(43, 24) + SourceIndex(0) -9 >Emitted(33, 35) Source(43, 24) + SourceIndex(0) -10>Emitted(33, 37) Source(43, 26) + SourceIndex(0) -11>Emitted(33, 38) Source(43, 27) + SourceIndex(0) -12>Emitted(33, 41) Source(43, 30) + SourceIndex(0) -13>Emitted(33, 42) Source(43, 31) + SourceIndex(0) -14>Emitted(33, 44) Source(43, 33) + SourceIndex(0) -15>Emitted(33, 45) Source(43, 34) + SourceIndex(0) -16>Emitted(33, 48) Source(43, 37) + SourceIndex(0) -17>Emitted(33, 49) Source(43, 38) + SourceIndex(0) -18>Emitted(33, 51) Source(43, 40) + SourceIndex(0) -19>Emitted(33, 52) Source(43, 41) + SourceIndex(0) -20>Emitted(33, 54) Source(43, 43) + SourceIndex(0) -21>Emitted(33, 56) Source(43, 45) + SourceIndex(0) -22>Emitted(33, 57) Source(43, 46) + SourceIndex(0) +4 >Emitted(33, 6) Source(43, 7) + SourceIndex(0) +5 >Emitted(33, 25) Source(43, 14) + SourceIndex(0) +6 >Emitted(33, 27) Source(43, 18) + SourceIndex(0) +7 >Emitted(33, 33) Source(43, 24) + SourceIndex(0) +8 >Emitted(33, 35) Source(43, 26) + SourceIndex(0) +9 >Emitted(33, 36) Source(43, 27) + SourceIndex(0) +10>Emitted(33, 39) Source(43, 30) + SourceIndex(0) +11>Emitted(33, 40) Source(43, 31) + SourceIndex(0) +12>Emitted(33, 42) Source(43, 33) + SourceIndex(0) +13>Emitted(33, 43) Source(43, 34) + SourceIndex(0) +14>Emitted(33, 46) Source(43, 37) + SourceIndex(0) +15>Emitted(33, 47) Source(43, 38) + SourceIndex(0) +16>Emitted(33, 49) Source(43, 40) + SourceIndex(0) +17>Emitted(33, 50) Source(43, 41) + SourceIndex(0) +18>Emitted(33, 52) Source(43, 43) + SourceIndex(0) +19>Emitted(33, 54) Source(43, 45) + SourceIndex(0) +20>Emitted(33, 55) Source(43, 46) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1114,81 +1072,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(35, 1) Source(45, 1) + SourceIndex(0) 2 >Emitted(35, 2) Source(45, 2) + SourceIndex(0) --- ->>>for ((_h = getRobot(), numberB = _h[0], _h), i = 0; i < 1; i++) { +>>>for (_h = getRobot(), numberB = _h[0], _h, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberB] = getRobot() -7 > -8 > numberB -9 > ] = getRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [numberB] = getRobot() +6 > +7 > numberB +8 > ] = getRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(36, 1) Source(46, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(46, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(46, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(46, 6) + SourceIndex(0) -5 >Emitted(36, 7) Source(46, 6) + SourceIndex(0) -6 >Emitted(36, 22) Source(46, 28) + SourceIndex(0) -7 >Emitted(36, 24) Source(46, 7) + SourceIndex(0) -8 >Emitted(36, 39) Source(46, 14) + SourceIndex(0) -9 >Emitted(36, 44) Source(46, 28) + SourceIndex(0) -10>Emitted(36, 46) Source(46, 30) + SourceIndex(0) -11>Emitted(36, 47) Source(46, 31) + SourceIndex(0) -12>Emitted(36, 50) Source(46, 34) + SourceIndex(0) -13>Emitted(36, 51) Source(46, 35) + SourceIndex(0) -14>Emitted(36, 53) Source(46, 37) + SourceIndex(0) -15>Emitted(36, 54) Source(46, 38) + SourceIndex(0) -16>Emitted(36, 57) Source(46, 41) + SourceIndex(0) -17>Emitted(36, 58) Source(46, 42) + SourceIndex(0) -18>Emitted(36, 60) Source(46, 44) + SourceIndex(0) -19>Emitted(36, 61) Source(46, 45) + SourceIndex(0) -20>Emitted(36, 63) Source(46, 47) + SourceIndex(0) -21>Emitted(36, 65) Source(46, 49) + SourceIndex(0) -22>Emitted(36, 66) Source(46, 50) + SourceIndex(0) +5 >Emitted(36, 21) Source(46, 28) + SourceIndex(0) +6 >Emitted(36, 23) Source(46, 7) + SourceIndex(0) +7 >Emitted(36, 38) Source(46, 14) + SourceIndex(0) +8 >Emitted(36, 44) Source(46, 30) + SourceIndex(0) +9 >Emitted(36, 45) Source(46, 31) + SourceIndex(0) +10>Emitted(36, 48) Source(46, 34) + SourceIndex(0) +11>Emitted(36, 49) Source(46, 35) + SourceIndex(0) +12>Emitted(36, 51) Source(46, 37) + SourceIndex(0) +13>Emitted(36, 52) Source(46, 38) + SourceIndex(0) +14>Emitted(36, 55) Source(46, 41) + SourceIndex(0) +15>Emitted(36, 56) Source(46, 42) + SourceIndex(0) +16>Emitted(36, 58) Source(46, 44) + SourceIndex(0) +17>Emitted(36, 59) Source(46, 45) + SourceIndex(0) +18>Emitted(36, 61) Source(46, 47) + SourceIndex(0) +19>Emitted(36, 63) Source(46, 49) + SourceIndex(0) +20>Emitted(36, 64) Source(46, 50) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1220,81 +1172,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(38, 1) Source(48, 1) + SourceIndex(0) 2 >Emitted(38, 2) Source(48, 2) + SourceIndex(0) --- ->>>for ((_j = [2, "trimmer", "trimming"], numberB = _j[0], _j), i = 0; i < 1; i++) { +>>>for (_j = [2, "trimmer", "trimming"], numberB = _j[0], _j, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberB] = [2, "trimmer", "trimming"] -7 > -8 > numberB -9 > ] = [2, "trimmer", "trimming"] -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [numberB] = [2, "trimmer", "trimming"] +6 > +7 > numberB +8 > ] = [2, "trimmer", "trimming"], +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(39, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(49, 5) + SourceIndex(0) 4 >Emitted(39, 6) Source(49, 6) + SourceIndex(0) -5 >Emitted(39, 7) Source(49, 6) + SourceIndex(0) -6 >Emitted(39, 38) Source(49, 44) + SourceIndex(0) -7 >Emitted(39, 40) Source(49, 7) + SourceIndex(0) -8 >Emitted(39, 55) Source(49, 14) + SourceIndex(0) -9 >Emitted(39, 60) Source(49, 44) + SourceIndex(0) -10>Emitted(39, 62) Source(49, 46) + SourceIndex(0) -11>Emitted(39, 63) Source(49, 47) + SourceIndex(0) -12>Emitted(39, 66) Source(49, 50) + SourceIndex(0) -13>Emitted(39, 67) Source(49, 51) + SourceIndex(0) -14>Emitted(39, 69) Source(49, 53) + SourceIndex(0) -15>Emitted(39, 70) Source(49, 54) + SourceIndex(0) -16>Emitted(39, 73) Source(49, 57) + SourceIndex(0) -17>Emitted(39, 74) Source(49, 58) + SourceIndex(0) -18>Emitted(39, 76) Source(49, 60) + SourceIndex(0) -19>Emitted(39, 77) Source(49, 61) + SourceIndex(0) -20>Emitted(39, 79) Source(49, 63) + SourceIndex(0) -21>Emitted(39, 81) Source(49, 65) + SourceIndex(0) -22>Emitted(39, 82) Source(49, 66) + SourceIndex(0) +5 >Emitted(39, 37) Source(49, 44) + SourceIndex(0) +6 >Emitted(39, 39) Source(49, 7) + SourceIndex(0) +7 >Emitted(39, 54) Source(49, 14) + SourceIndex(0) +8 >Emitted(39, 60) Source(49, 46) + SourceIndex(0) +9 >Emitted(39, 61) Source(49, 47) + SourceIndex(0) +10>Emitted(39, 64) Source(49, 50) + SourceIndex(0) +11>Emitted(39, 65) Source(49, 51) + SourceIndex(0) +12>Emitted(39, 67) Source(49, 53) + SourceIndex(0) +13>Emitted(39, 68) Source(49, 54) + SourceIndex(0) +14>Emitted(39, 71) Source(49, 57) + SourceIndex(0) +15>Emitted(39, 72) Source(49, 58) + SourceIndex(0) +16>Emitted(39, 74) Source(49, 60) + SourceIndex(0) +17>Emitted(39, 75) Source(49, 61) + SourceIndex(0) +18>Emitted(39, 77) Source(49, 63) + SourceIndex(0) +19>Emitted(39, 79) Source(49, 65) + SourceIndex(0) +20>Emitted(39, 80) Source(49, 66) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1326,81 +1272,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(41, 1) Source(51, 1) + SourceIndex(0) 2 >Emitted(41, 2) Source(51, 2) + SourceIndex(0) --- ->>>for ((nameB = multiRobotA[0], multiRobotA), i = 0; i < 1; i++) { +>>>for (nameB = multiRobotA[0], multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > -4 > ( -5 > [ -6 > nameB -7 > ] = -8 > multiRobotA -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ([ +5 > nameB +6 > ] = +7 > multiRobotA +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(42, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(52, 5) + SourceIndex(0) -4 >Emitted(42, 6) Source(52, 6) + SourceIndex(0) -5 >Emitted(42, 7) Source(52, 7) + SourceIndex(0) -6 >Emitted(42, 29) Source(52, 12) + SourceIndex(0) -7 >Emitted(42, 31) Source(52, 16) + SourceIndex(0) -8 >Emitted(42, 42) Source(52, 27) + SourceIndex(0) -9 >Emitted(42, 43) Source(52, 27) + SourceIndex(0) -10>Emitted(42, 45) Source(52, 29) + SourceIndex(0) -11>Emitted(42, 46) Source(52, 30) + SourceIndex(0) -12>Emitted(42, 49) Source(52, 33) + SourceIndex(0) -13>Emitted(42, 50) Source(52, 34) + SourceIndex(0) -14>Emitted(42, 52) Source(52, 36) + SourceIndex(0) -15>Emitted(42, 53) Source(52, 37) + SourceIndex(0) -16>Emitted(42, 56) Source(52, 40) + SourceIndex(0) -17>Emitted(42, 57) Source(52, 41) + SourceIndex(0) -18>Emitted(42, 59) Source(52, 43) + SourceIndex(0) -19>Emitted(42, 60) Source(52, 44) + SourceIndex(0) -20>Emitted(42, 62) Source(52, 46) + SourceIndex(0) -21>Emitted(42, 64) Source(52, 48) + SourceIndex(0) -22>Emitted(42, 65) Source(52, 49) + SourceIndex(0) +4 >Emitted(42, 6) Source(52, 7) + SourceIndex(0) +5 >Emitted(42, 28) Source(52, 12) + SourceIndex(0) +6 >Emitted(42, 30) Source(52, 16) + SourceIndex(0) +7 >Emitted(42, 41) Source(52, 27) + SourceIndex(0) +8 >Emitted(42, 43) Source(52, 29) + SourceIndex(0) +9 >Emitted(42, 44) Source(52, 30) + SourceIndex(0) +10>Emitted(42, 47) Source(52, 33) + SourceIndex(0) +11>Emitted(42, 48) Source(52, 34) + SourceIndex(0) +12>Emitted(42, 50) Source(52, 36) + SourceIndex(0) +13>Emitted(42, 51) Source(52, 37) + SourceIndex(0) +14>Emitted(42, 54) Source(52, 40) + SourceIndex(0) +15>Emitted(42, 55) Source(52, 41) + SourceIndex(0) +16>Emitted(42, 57) Source(52, 43) + SourceIndex(0) +17>Emitted(42, 58) Source(52, 44) + SourceIndex(0) +18>Emitted(42, 60) Source(52, 46) + SourceIndex(0) +19>Emitted(42, 62) Source(52, 48) + SourceIndex(0) +20>Emitted(42, 63) Source(52, 49) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1432,81 +1372,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(44, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(44, 2) Source(54, 2) + SourceIndex(0) --- ->>>for ((_k = getMultiRobot(), nameB = _k[0], _k), i = 0; i < 1; i++) { +>>>for (_k = getMultiRobot(), nameB = _k[0], _k, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameB] = getMultiRobot() -7 > -8 > nameB -9 > ] = getMultiRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [nameB] = getMultiRobot() +6 > +7 > nameB +8 > ] = getMultiRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(45, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(55, 5) + SourceIndex(0) 4 >Emitted(45, 6) Source(55, 6) + SourceIndex(0) -5 >Emitted(45, 7) Source(55, 6) + SourceIndex(0) -6 >Emitted(45, 27) Source(55, 31) + SourceIndex(0) -7 >Emitted(45, 29) Source(55, 7) + SourceIndex(0) -8 >Emitted(45, 42) Source(55, 12) + SourceIndex(0) -9 >Emitted(45, 47) Source(55, 31) + SourceIndex(0) -10>Emitted(45, 49) Source(55, 33) + SourceIndex(0) -11>Emitted(45, 50) Source(55, 34) + SourceIndex(0) -12>Emitted(45, 53) Source(55, 37) + SourceIndex(0) -13>Emitted(45, 54) Source(55, 38) + SourceIndex(0) -14>Emitted(45, 56) Source(55, 40) + SourceIndex(0) -15>Emitted(45, 57) Source(55, 41) + SourceIndex(0) -16>Emitted(45, 60) Source(55, 44) + SourceIndex(0) -17>Emitted(45, 61) Source(55, 45) + SourceIndex(0) -18>Emitted(45, 63) Source(55, 47) + SourceIndex(0) -19>Emitted(45, 64) Source(55, 48) + SourceIndex(0) -20>Emitted(45, 66) Source(55, 50) + SourceIndex(0) -21>Emitted(45, 68) Source(55, 52) + SourceIndex(0) -22>Emitted(45, 69) Source(55, 53) + SourceIndex(0) +5 >Emitted(45, 26) Source(55, 31) + SourceIndex(0) +6 >Emitted(45, 28) Source(55, 7) + SourceIndex(0) +7 >Emitted(45, 41) Source(55, 12) + SourceIndex(0) +8 >Emitted(45, 47) Source(55, 33) + SourceIndex(0) +9 >Emitted(45, 48) Source(55, 34) + SourceIndex(0) +10>Emitted(45, 51) Source(55, 37) + SourceIndex(0) +11>Emitted(45, 52) Source(55, 38) + SourceIndex(0) +12>Emitted(45, 54) Source(55, 40) + SourceIndex(0) +13>Emitted(45, 55) Source(55, 41) + SourceIndex(0) +14>Emitted(45, 58) Source(55, 44) + SourceIndex(0) +15>Emitted(45, 59) Source(55, 45) + SourceIndex(0) +16>Emitted(45, 61) Source(55, 47) + SourceIndex(0) +17>Emitted(45, 62) Source(55, 48) + SourceIndex(0) +18>Emitted(45, 64) Source(55, 50) + SourceIndex(0) +19>Emitted(45, 66) Source(55, 52) + SourceIndex(0) +20>Emitted(45, 67) Source(55, 53) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1538,81 +1472,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(47, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(47, 2) Source(57, 2) + SourceIndex(0) --- ->>>for ((_l = ["trimmer", ["trimming", "edging"]], nameB = _l[0], _l), i = 0; i < 1; i++) { +>>>for (_l = ["trimmer", ["trimming", "edging"]], nameB = _l[0], _l, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameB] = ["trimmer", ["trimming", "edging"]] -7 > -8 > nameB -9 > ] = ["trimmer", ["trimming", "edging"]] -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [nameB] = ["trimmer", ["trimming", "edging"]] +6 > +7 > nameB +8 > ] = ["trimmer", ["trimming", "edging"]], +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(48, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(48, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(48, 5) Source(58, 5) + SourceIndex(0) 4 >Emitted(48, 6) Source(58, 6) + SourceIndex(0) -5 >Emitted(48, 7) Source(58, 6) + SourceIndex(0) -6 >Emitted(48, 47) Source(58, 51) + SourceIndex(0) -7 >Emitted(48, 49) Source(58, 7) + SourceIndex(0) -8 >Emitted(48, 62) Source(58, 12) + SourceIndex(0) -9 >Emitted(48, 67) Source(58, 51) + SourceIndex(0) -10>Emitted(48, 69) Source(58, 53) + SourceIndex(0) -11>Emitted(48, 70) Source(58, 54) + SourceIndex(0) -12>Emitted(48, 73) Source(58, 57) + SourceIndex(0) -13>Emitted(48, 74) Source(58, 58) + SourceIndex(0) -14>Emitted(48, 76) Source(58, 60) + SourceIndex(0) -15>Emitted(48, 77) Source(58, 61) + SourceIndex(0) -16>Emitted(48, 80) Source(58, 64) + SourceIndex(0) -17>Emitted(48, 81) Source(58, 65) + SourceIndex(0) -18>Emitted(48, 83) Source(58, 67) + SourceIndex(0) -19>Emitted(48, 84) Source(58, 68) + SourceIndex(0) -20>Emitted(48, 86) Source(58, 70) + SourceIndex(0) -21>Emitted(48, 88) Source(58, 72) + SourceIndex(0) -22>Emitted(48, 89) Source(58, 73) + SourceIndex(0) +5 >Emitted(48, 46) Source(58, 51) + SourceIndex(0) +6 >Emitted(48, 48) Source(58, 7) + SourceIndex(0) +7 >Emitted(48, 61) Source(58, 12) + SourceIndex(0) +8 >Emitted(48, 67) Source(58, 53) + SourceIndex(0) +9 >Emitted(48, 68) Source(58, 54) + SourceIndex(0) +10>Emitted(48, 71) Source(58, 57) + SourceIndex(0) +11>Emitted(48, 72) Source(58, 58) + SourceIndex(0) +12>Emitted(48, 74) Source(58, 60) + SourceIndex(0) +13>Emitted(48, 75) Source(58, 61) + SourceIndex(0) +14>Emitted(48, 78) Source(58, 64) + SourceIndex(0) +15>Emitted(48, 79) Source(58, 65) + SourceIndex(0) +16>Emitted(48, 81) Source(58, 67) + SourceIndex(0) +17>Emitted(48, 82) Source(58, 68) + SourceIndex(0) +18>Emitted(48, 84) Source(58, 70) + SourceIndex(0) +19>Emitted(48, 86) Source(58, 72) + SourceIndex(0) +20>Emitted(48, 87) Source(58, 73) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1644,94 +1572,88 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(50, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(50, 2) Source(60, 2) + SourceIndex(0) --- ->>>for ((numberA2 = robotA[0], nameA2 = robotA[1], skillA2 = robotA[2], robotA), i = 0; i < 1; i++) { +>>>for (numberA2 = robotA[0], nameA2 = robotA[1], skillA2 = robotA[2], robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberA2 -7 > , -8 > nameA2 -9 > , -10> skillA2 -11> ] = -12> robotA -13> -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +4 > ([ +5 > numberA2 +6 > , +7 > nameA2 +8 > , +9 > skillA2 +10> ] = +11> robotA +12> , +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(51, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(51, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(51, 5) Source(62, 5) + SourceIndex(0) -4 >Emitted(51, 6) Source(62, 6) + SourceIndex(0) -5 >Emitted(51, 7) Source(62, 7) + SourceIndex(0) -6 >Emitted(51, 27) Source(62, 15) + SourceIndex(0) -7 >Emitted(51, 29) Source(62, 17) + SourceIndex(0) -8 >Emitted(51, 47) Source(62, 23) + SourceIndex(0) -9 >Emitted(51, 49) Source(62, 25) + SourceIndex(0) -10>Emitted(51, 68) Source(62, 32) + SourceIndex(0) -11>Emitted(51, 70) Source(62, 36) + SourceIndex(0) -12>Emitted(51, 76) Source(62, 42) + SourceIndex(0) -13>Emitted(51, 77) Source(62, 42) + SourceIndex(0) -14>Emitted(51, 79) Source(62, 44) + SourceIndex(0) -15>Emitted(51, 80) Source(62, 45) + SourceIndex(0) -16>Emitted(51, 83) Source(62, 48) + SourceIndex(0) -17>Emitted(51, 84) Source(62, 49) + SourceIndex(0) -18>Emitted(51, 86) Source(62, 51) + SourceIndex(0) -19>Emitted(51, 87) Source(62, 52) + SourceIndex(0) -20>Emitted(51, 90) Source(62, 55) + SourceIndex(0) -21>Emitted(51, 91) Source(62, 56) + SourceIndex(0) -22>Emitted(51, 93) Source(62, 58) + SourceIndex(0) -23>Emitted(51, 94) Source(62, 59) + SourceIndex(0) -24>Emitted(51, 96) Source(62, 61) + SourceIndex(0) -25>Emitted(51, 98) Source(62, 63) + SourceIndex(0) -26>Emitted(51, 99) Source(62, 64) + SourceIndex(0) +4 >Emitted(51, 6) Source(62, 7) + SourceIndex(0) +5 >Emitted(51, 26) Source(62, 15) + SourceIndex(0) +6 >Emitted(51, 28) Source(62, 17) + SourceIndex(0) +7 >Emitted(51, 46) Source(62, 23) + SourceIndex(0) +8 >Emitted(51, 48) Source(62, 25) + SourceIndex(0) +9 >Emitted(51, 67) Source(62, 32) + SourceIndex(0) +10>Emitted(51, 69) Source(62, 36) + SourceIndex(0) +11>Emitted(51, 75) Source(62, 42) + SourceIndex(0) +12>Emitted(51, 77) Source(62, 44) + SourceIndex(0) +13>Emitted(51, 78) Source(62, 45) + SourceIndex(0) +14>Emitted(51, 81) Source(62, 48) + SourceIndex(0) +15>Emitted(51, 82) Source(62, 49) + SourceIndex(0) +16>Emitted(51, 84) Source(62, 51) + SourceIndex(0) +17>Emitted(51, 85) Source(62, 52) + SourceIndex(0) +18>Emitted(51, 88) Source(62, 55) + SourceIndex(0) +19>Emitted(51, 89) Source(62, 56) + SourceIndex(0) +20>Emitted(51, 91) Source(62, 58) + SourceIndex(0) +21>Emitted(51, 92) Source(62, 59) + SourceIndex(0) +22>Emitted(51, 94) Source(62, 61) + SourceIndex(0) +23>Emitted(51, 96) Source(62, 63) + SourceIndex(0) +24>Emitted(51, 97) Source(62, 64) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1763,93 +1685,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(53, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(53, 2) Source(64, 2) + SourceIndex(0) --- ->>>for ((_m = getRobot(), numberA2 = _m[0], nameA2 = _m[1], skillA2 = _m[2], _m), i = 0; i < 1; i++) { +>>>for (_m = getRobot(), numberA2 = _m[0], nameA2 = _m[1], skillA2 = _m[2], _m, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA2, nameA2, skillA2] = getRobot() -7 > -8 > numberA2 -9 > , -10> nameA2 -11> , -12> skillA2 -13> ] = getRobot() -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [numberA2, nameA2, skillA2] = getRobot() +6 > +7 > numberA2 +8 > , +9 > nameA2 +10> , +11> skillA2 +12> ] = getRobot(), +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(54, 1) Source(65, 1) + SourceIndex(0) 2 >Emitted(54, 4) Source(65, 4) + SourceIndex(0) 3 >Emitted(54, 5) Source(65, 5) + SourceIndex(0) 4 >Emitted(54, 6) Source(65, 6) + SourceIndex(0) -5 >Emitted(54, 7) Source(65, 6) + SourceIndex(0) -6 >Emitted(54, 22) Source(65, 46) + SourceIndex(0) -7 >Emitted(54, 24) Source(65, 7) + SourceIndex(0) -8 >Emitted(54, 40) Source(65, 15) + SourceIndex(0) -9 >Emitted(54, 42) Source(65, 17) + SourceIndex(0) -10>Emitted(54, 56) Source(65, 23) + SourceIndex(0) -11>Emitted(54, 58) Source(65, 25) + SourceIndex(0) -12>Emitted(54, 73) Source(65, 32) + SourceIndex(0) -13>Emitted(54, 78) Source(65, 46) + SourceIndex(0) -14>Emitted(54, 80) Source(65, 48) + SourceIndex(0) -15>Emitted(54, 81) Source(65, 49) + SourceIndex(0) -16>Emitted(54, 84) Source(65, 52) + SourceIndex(0) -17>Emitted(54, 85) Source(65, 53) + SourceIndex(0) -18>Emitted(54, 87) Source(65, 55) + SourceIndex(0) -19>Emitted(54, 88) Source(65, 56) + SourceIndex(0) -20>Emitted(54, 91) Source(65, 59) + SourceIndex(0) -21>Emitted(54, 92) Source(65, 60) + SourceIndex(0) -22>Emitted(54, 94) Source(65, 62) + SourceIndex(0) -23>Emitted(54, 95) Source(65, 63) + SourceIndex(0) -24>Emitted(54, 97) Source(65, 65) + SourceIndex(0) -25>Emitted(54, 99) Source(65, 67) + SourceIndex(0) -26>Emitted(54, 100) Source(65, 68) + SourceIndex(0) +5 >Emitted(54, 21) Source(65, 46) + SourceIndex(0) +6 >Emitted(54, 23) Source(65, 7) + SourceIndex(0) +7 >Emitted(54, 39) Source(65, 15) + SourceIndex(0) +8 >Emitted(54, 41) Source(65, 17) + SourceIndex(0) +9 >Emitted(54, 55) Source(65, 23) + SourceIndex(0) +10>Emitted(54, 57) Source(65, 25) + SourceIndex(0) +11>Emitted(54, 72) Source(65, 32) + SourceIndex(0) +12>Emitted(54, 78) Source(65, 48) + SourceIndex(0) +13>Emitted(54, 79) Source(65, 49) + SourceIndex(0) +14>Emitted(54, 82) Source(65, 52) + SourceIndex(0) +15>Emitted(54, 83) Source(65, 53) + SourceIndex(0) +16>Emitted(54, 85) Source(65, 55) + SourceIndex(0) +17>Emitted(54, 86) Source(65, 56) + SourceIndex(0) +18>Emitted(54, 89) Source(65, 59) + SourceIndex(0) +19>Emitted(54, 90) Source(65, 60) + SourceIndex(0) +20>Emitted(54, 92) Source(65, 62) + SourceIndex(0) +21>Emitted(54, 93) Source(65, 63) + SourceIndex(0) +22>Emitted(54, 95) Source(65, 65) + SourceIndex(0) +23>Emitted(54, 97) Source(65, 67) + SourceIndex(0) +24>Emitted(54, 98) Source(65, 68) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1881,93 +1797,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(56, 1) Source(67, 1) + SourceIndex(0) 2 >Emitted(56, 2) Source(67, 2) + SourceIndex(0) --- ->>>for ((_o = [2, "trimmer", "trimming"], numberA2 = _o[0], nameA2 = _o[1], skillA2 = _o[2], _o), i = 0; i < 1; i++) { +>>>for (_o = [2, "trimmer", "trimming"], numberA2 = _o[0], nameA2 = _o[1], skillA2 = _o[2], _o, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"] -7 > -8 > numberA2 -9 > , -10> nameA2 -11> , -12> skillA2 -13> ] = [2, "trimmer", "trimming"] -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"] +6 > +7 > numberA2 +8 > , +9 > nameA2 +10> , +11> skillA2 +12> ] = [2, "trimmer", "trimming"], +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(57, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(68, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(68, 5) + SourceIndex(0) 4 >Emitted(57, 6) Source(68, 6) + SourceIndex(0) -5 >Emitted(57, 7) Source(68, 6) + SourceIndex(0) -6 >Emitted(57, 38) Source(68, 62) + SourceIndex(0) -7 >Emitted(57, 40) Source(68, 7) + SourceIndex(0) -8 >Emitted(57, 56) Source(68, 15) + SourceIndex(0) -9 >Emitted(57, 58) Source(68, 17) + SourceIndex(0) -10>Emitted(57, 72) Source(68, 23) + SourceIndex(0) -11>Emitted(57, 74) Source(68, 25) + SourceIndex(0) -12>Emitted(57, 89) Source(68, 32) + SourceIndex(0) -13>Emitted(57, 94) Source(68, 62) + SourceIndex(0) -14>Emitted(57, 96) Source(68, 64) + SourceIndex(0) -15>Emitted(57, 97) Source(68, 65) + SourceIndex(0) -16>Emitted(57, 100) Source(68, 68) + SourceIndex(0) -17>Emitted(57, 101) Source(68, 69) + SourceIndex(0) -18>Emitted(57, 103) Source(68, 71) + SourceIndex(0) -19>Emitted(57, 104) Source(68, 72) + SourceIndex(0) -20>Emitted(57, 107) Source(68, 75) + SourceIndex(0) -21>Emitted(57, 108) Source(68, 76) + SourceIndex(0) -22>Emitted(57, 110) Source(68, 78) + SourceIndex(0) -23>Emitted(57, 111) Source(68, 79) + SourceIndex(0) -24>Emitted(57, 113) Source(68, 81) + SourceIndex(0) -25>Emitted(57, 115) Source(68, 83) + SourceIndex(0) -26>Emitted(57, 116) Source(68, 84) + SourceIndex(0) +5 >Emitted(57, 37) Source(68, 62) + SourceIndex(0) +6 >Emitted(57, 39) Source(68, 7) + SourceIndex(0) +7 >Emitted(57, 55) Source(68, 15) + SourceIndex(0) +8 >Emitted(57, 57) Source(68, 17) + SourceIndex(0) +9 >Emitted(57, 71) Source(68, 23) + SourceIndex(0) +10>Emitted(57, 73) Source(68, 25) + SourceIndex(0) +11>Emitted(57, 88) Source(68, 32) + SourceIndex(0) +12>Emitted(57, 94) Source(68, 64) + SourceIndex(0) +13>Emitted(57, 95) Source(68, 65) + SourceIndex(0) +14>Emitted(57, 98) Source(68, 68) + SourceIndex(0) +15>Emitted(57, 99) Source(68, 69) + SourceIndex(0) +16>Emitted(57, 101) Source(68, 71) + SourceIndex(0) +17>Emitted(57, 102) Source(68, 72) + SourceIndex(0) +18>Emitted(57, 105) Source(68, 75) + SourceIndex(0) +19>Emitted(57, 106) Source(68, 76) + SourceIndex(0) +20>Emitted(57, 108) Source(68, 78) + SourceIndex(0) +21>Emitted(57, 109) Source(68, 79) + SourceIndex(0) +22>Emitted(57, 111) Source(68, 81) + SourceIndex(0) +23>Emitted(57, 113) Source(68, 83) + SourceIndex(0) +24>Emitted(57, 114) Source(68, 84) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1999,99 +1909,93 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(59, 1) Source(70, 1) + SourceIndex(0) 2 >Emitted(59, 2) Source(70, 2) + SourceIndex(0) --- ->>>for ((nameMA = multiRobotA[0], _p = multiRobotA[1], primarySkillA = _p[0], secondarySkillA = _p[1], multiRobotA), i = 0; i < 1; i++) { +>>>for (nameMA = multiRobotA[0], _p = multiRobotA[1], primarySkillA = _p[0], secondarySkillA = _p[1], multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > -4 > ( -5 > [ -6 > nameMA -7 > , -8 > [primarySkillA, secondarySkillA] -9 > -10> primarySkillA -11> , -12> secondarySkillA -13> ]] = -14> multiRobotA -15> -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +4 > ([ +5 > nameMA +6 > , +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +12> ]] = +13> multiRobotA +14> , +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(60, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(60, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(60, 5) Source(71, 5) + SourceIndex(0) -4 >Emitted(60, 6) Source(71, 6) + SourceIndex(0) -5 >Emitted(60, 7) Source(71, 7) + SourceIndex(0) -6 >Emitted(60, 30) Source(71, 13) + SourceIndex(0) -7 >Emitted(60, 32) Source(71, 15) + SourceIndex(0) -8 >Emitted(60, 51) Source(71, 47) + SourceIndex(0) -9 >Emitted(60, 53) Source(71, 16) + SourceIndex(0) -10>Emitted(60, 74) Source(71, 29) + SourceIndex(0) -11>Emitted(60, 76) Source(71, 31) + SourceIndex(0) -12>Emitted(60, 99) Source(71, 46) + SourceIndex(0) -13>Emitted(60, 101) Source(71, 51) + SourceIndex(0) -14>Emitted(60, 112) Source(71, 62) + SourceIndex(0) -15>Emitted(60, 113) Source(71, 62) + SourceIndex(0) -16>Emitted(60, 115) Source(71, 64) + SourceIndex(0) -17>Emitted(60, 116) Source(71, 65) + SourceIndex(0) -18>Emitted(60, 119) Source(71, 68) + SourceIndex(0) -19>Emitted(60, 120) Source(71, 69) + SourceIndex(0) -20>Emitted(60, 122) Source(71, 71) + SourceIndex(0) -21>Emitted(60, 123) Source(71, 72) + SourceIndex(0) -22>Emitted(60, 126) Source(71, 75) + SourceIndex(0) -23>Emitted(60, 127) Source(71, 76) + SourceIndex(0) -24>Emitted(60, 129) Source(71, 78) + SourceIndex(0) -25>Emitted(60, 130) Source(71, 79) + SourceIndex(0) -26>Emitted(60, 132) Source(71, 81) + SourceIndex(0) -27>Emitted(60, 134) Source(71, 83) + SourceIndex(0) -28>Emitted(60, 135) Source(71, 84) + SourceIndex(0) +4 >Emitted(60, 6) Source(71, 7) + SourceIndex(0) +5 >Emitted(60, 29) Source(71, 13) + SourceIndex(0) +6 >Emitted(60, 31) Source(71, 15) + SourceIndex(0) +7 >Emitted(60, 50) Source(71, 47) + SourceIndex(0) +8 >Emitted(60, 52) Source(71, 16) + SourceIndex(0) +9 >Emitted(60, 73) Source(71, 29) + SourceIndex(0) +10>Emitted(60, 75) Source(71, 31) + SourceIndex(0) +11>Emitted(60, 98) Source(71, 46) + SourceIndex(0) +12>Emitted(60, 100) Source(71, 51) + SourceIndex(0) +13>Emitted(60, 111) Source(71, 62) + SourceIndex(0) +14>Emitted(60, 113) Source(71, 64) + SourceIndex(0) +15>Emitted(60, 114) Source(71, 65) + SourceIndex(0) +16>Emitted(60, 117) Source(71, 68) + SourceIndex(0) +17>Emitted(60, 118) Source(71, 69) + SourceIndex(0) +18>Emitted(60, 120) Source(71, 71) + SourceIndex(0) +19>Emitted(60, 121) Source(71, 72) + SourceIndex(0) +20>Emitted(60, 124) Source(71, 75) + SourceIndex(0) +21>Emitted(60, 125) Source(71, 76) + SourceIndex(0) +22>Emitted(60, 127) Source(71, 78) + SourceIndex(0) +23>Emitted(60, 128) Source(71, 79) + SourceIndex(0) +24>Emitted(60, 130) Source(71, 81) + SourceIndex(0) +25>Emitted(60, 132) Source(71, 83) + SourceIndex(0) +26>Emitted(60, 133) Source(71, 84) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2123,99 +2027,93 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(62, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(62, 2) Source(73, 2) + SourceIndex(0) --- ->>>for ((_q = getMultiRobot(), nameMA = _q[0], _r = _q[1], primarySkillA = _r[0], secondarySkillA = _r[1], _q), i = 0; i < 1; i++) { +>>>for (_q = getMultiRobot(), nameMA = _q[0], _r = _q[1], primarySkillA = _r[0], secondarySkillA = _r[1], _q, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot() -7 > -8 > nameMA -9 > , -10> [primarySkillA, secondarySkillA] -11> -12> primarySkillA -13> , -14> secondarySkillA -15> ]] = getMultiRobot() -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot() +6 > +7 > nameMA +8 > , +9 > [primarySkillA, secondarySkillA] +10> +11> primarySkillA +12> , +13> secondarySkillA +14> ]] = getMultiRobot(), +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(63, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(63, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(63, 5) Source(74, 5) + SourceIndex(0) 4 >Emitted(63, 6) Source(74, 6) + SourceIndex(0) -5 >Emitted(63, 7) Source(74, 6) + SourceIndex(0) -6 >Emitted(63, 27) Source(74, 66) + SourceIndex(0) -7 >Emitted(63, 29) Source(74, 7) + SourceIndex(0) -8 >Emitted(63, 43) Source(74, 13) + SourceIndex(0) -9 >Emitted(63, 45) Source(74, 15) + SourceIndex(0) -10>Emitted(63, 55) Source(74, 47) + SourceIndex(0) -11>Emitted(63, 57) Source(74, 16) + SourceIndex(0) -12>Emitted(63, 78) Source(74, 29) + SourceIndex(0) -13>Emitted(63, 80) Source(74, 31) + SourceIndex(0) -14>Emitted(63, 103) Source(74, 46) + SourceIndex(0) -15>Emitted(63, 108) Source(74, 66) + SourceIndex(0) -16>Emitted(63, 110) Source(74, 68) + SourceIndex(0) -17>Emitted(63, 111) Source(74, 69) + SourceIndex(0) -18>Emitted(63, 114) Source(74, 72) + SourceIndex(0) -19>Emitted(63, 115) Source(74, 73) + SourceIndex(0) -20>Emitted(63, 117) Source(74, 75) + SourceIndex(0) -21>Emitted(63, 118) Source(74, 76) + SourceIndex(0) -22>Emitted(63, 121) Source(74, 79) + SourceIndex(0) -23>Emitted(63, 122) Source(74, 80) + SourceIndex(0) -24>Emitted(63, 124) Source(74, 82) + SourceIndex(0) -25>Emitted(63, 125) Source(74, 83) + SourceIndex(0) -26>Emitted(63, 127) Source(74, 85) + SourceIndex(0) -27>Emitted(63, 129) Source(74, 87) + SourceIndex(0) -28>Emitted(63, 130) Source(74, 88) + SourceIndex(0) +5 >Emitted(63, 26) Source(74, 66) + SourceIndex(0) +6 >Emitted(63, 28) Source(74, 7) + SourceIndex(0) +7 >Emitted(63, 42) Source(74, 13) + SourceIndex(0) +8 >Emitted(63, 44) Source(74, 15) + SourceIndex(0) +9 >Emitted(63, 54) Source(74, 47) + SourceIndex(0) +10>Emitted(63, 56) Source(74, 16) + SourceIndex(0) +11>Emitted(63, 77) Source(74, 29) + SourceIndex(0) +12>Emitted(63, 79) Source(74, 31) + SourceIndex(0) +13>Emitted(63, 102) Source(74, 46) + SourceIndex(0) +14>Emitted(63, 108) Source(74, 68) + SourceIndex(0) +15>Emitted(63, 109) Source(74, 69) + SourceIndex(0) +16>Emitted(63, 112) Source(74, 72) + SourceIndex(0) +17>Emitted(63, 113) Source(74, 73) + SourceIndex(0) +18>Emitted(63, 115) Source(74, 75) + SourceIndex(0) +19>Emitted(63, 116) Source(74, 76) + SourceIndex(0) +20>Emitted(63, 119) Source(74, 79) + SourceIndex(0) +21>Emitted(63, 120) Source(74, 80) + SourceIndex(0) +22>Emitted(63, 122) Source(74, 82) + SourceIndex(0) +23>Emitted(63, 123) Source(74, 83) + SourceIndex(0) +24>Emitted(63, 125) Source(74, 85) + SourceIndex(0) +25>Emitted(63, 127) Source(74, 87) + SourceIndex(0) +26>Emitted(63, 128) Source(74, 88) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2247,99 +2145,93 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(65, 1) Source(76, 1) + SourceIndex(0) 2 >Emitted(65, 2) Source(76, 2) + SourceIndex(0) --- ->>>for ((_s = ["trimmer", ["trimming", "edging"]], nameMA = _s[0], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1], _s), i = 0; i < 1; i++) { +>>>for (_s = ["trimmer", ["trimming", "edging"]], nameMA = _s[0], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1], _s, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] -7 > -8 > nameMA -9 > , -10> [primarySkillA, secondarySkillA] -11> -12> primarySkillA -13> , -14> secondarySkillA -15> ]] = ["trimmer", ["trimming", "edging"]] -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] +6 > +7 > nameMA +8 > , +9 > [primarySkillA, secondarySkillA] +10> +11> primarySkillA +12> , +13> secondarySkillA +14> ]] = ["trimmer", ["trimming", "edging"]], +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(66, 1) Source(77, 1) + SourceIndex(0) 2 >Emitted(66, 4) Source(77, 4) + SourceIndex(0) 3 >Emitted(66, 5) Source(77, 5) + SourceIndex(0) 4 >Emitted(66, 6) Source(77, 6) + SourceIndex(0) -5 >Emitted(66, 7) Source(77, 6) + SourceIndex(0) -6 >Emitted(66, 47) Source(77, 86) + SourceIndex(0) -7 >Emitted(66, 49) Source(77, 7) + SourceIndex(0) -8 >Emitted(66, 63) Source(77, 13) + SourceIndex(0) -9 >Emitted(66, 65) Source(77, 15) + SourceIndex(0) -10>Emitted(66, 75) Source(77, 47) + SourceIndex(0) -11>Emitted(66, 77) Source(77, 16) + SourceIndex(0) -12>Emitted(66, 98) Source(77, 29) + SourceIndex(0) -13>Emitted(66, 100) Source(77, 31) + SourceIndex(0) -14>Emitted(66, 123) Source(77, 46) + SourceIndex(0) -15>Emitted(66, 128) Source(77, 86) + SourceIndex(0) -16>Emitted(66, 130) Source(77, 88) + SourceIndex(0) -17>Emitted(66, 131) Source(77, 89) + SourceIndex(0) -18>Emitted(66, 134) Source(77, 92) + SourceIndex(0) -19>Emitted(66, 135) Source(77, 93) + SourceIndex(0) -20>Emitted(66, 137) Source(77, 95) + SourceIndex(0) -21>Emitted(66, 138) Source(77, 96) + SourceIndex(0) -22>Emitted(66, 141) Source(77, 99) + SourceIndex(0) -23>Emitted(66, 142) Source(77, 100) + SourceIndex(0) -24>Emitted(66, 144) Source(77, 102) + SourceIndex(0) -25>Emitted(66, 145) Source(77, 103) + SourceIndex(0) -26>Emitted(66, 147) Source(77, 105) + SourceIndex(0) -27>Emitted(66, 149) Source(77, 107) + SourceIndex(0) -28>Emitted(66, 150) Source(77, 108) + SourceIndex(0) +5 >Emitted(66, 46) Source(77, 86) + SourceIndex(0) +6 >Emitted(66, 48) Source(77, 7) + SourceIndex(0) +7 >Emitted(66, 62) Source(77, 13) + SourceIndex(0) +8 >Emitted(66, 64) Source(77, 15) + SourceIndex(0) +9 >Emitted(66, 74) Source(77, 47) + SourceIndex(0) +10>Emitted(66, 76) Source(77, 16) + SourceIndex(0) +11>Emitted(66, 97) Source(77, 29) + SourceIndex(0) +12>Emitted(66, 99) Source(77, 31) + SourceIndex(0) +13>Emitted(66, 122) Source(77, 46) + SourceIndex(0) +14>Emitted(66, 128) Source(77, 88) + SourceIndex(0) +15>Emitted(66, 129) Source(77, 89) + SourceIndex(0) +16>Emitted(66, 132) Source(77, 92) + SourceIndex(0) +17>Emitted(66, 133) Source(77, 93) + SourceIndex(0) +18>Emitted(66, 135) Source(77, 95) + SourceIndex(0) +19>Emitted(66, 136) Source(77, 96) + SourceIndex(0) +20>Emitted(66, 139) Source(77, 99) + SourceIndex(0) +21>Emitted(66, 140) Source(77, 100) + SourceIndex(0) +22>Emitted(66, 142) Source(77, 102) + SourceIndex(0) +23>Emitted(66, 143) Source(77, 103) + SourceIndex(0) +24>Emitted(66, 145) Source(77, 105) + SourceIndex(0) +25>Emitted(66, 147) Source(77, 107) + SourceIndex(0) +26>Emitted(66, 148) Source(77, 108) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2371,88 +2263,82 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(68, 1) Source(79, 1) + SourceIndex(0) 2 >Emitted(68, 2) Source(79, 2) + SourceIndex(0) --- ->>>for ((numberA3 = robotA[0], robotAInfo = robotA.slice(1), robotA), i = 0; i < 1; i++) { +>>>for (numberA3 = robotA[0], robotAInfo = robotA.slice(1), robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberA3 -7 > , -8 > ...robotAInfo -9 > ] = -10> robotA -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ([ +5 > numberA3 +6 > , +7 > ...robotAInfo +8 > ] = +9 > robotA +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(69, 1) Source(81, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(81, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(81, 5) + SourceIndex(0) -4 >Emitted(69, 6) Source(81, 6) + SourceIndex(0) -5 >Emitted(69, 7) Source(81, 7) + SourceIndex(0) -6 >Emitted(69, 27) Source(81, 15) + SourceIndex(0) -7 >Emitted(69, 29) Source(81, 17) + SourceIndex(0) -8 >Emitted(69, 57) Source(81, 30) + SourceIndex(0) -9 >Emitted(69, 59) Source(81, 34) + SourceIndex(0) -10>Emitted(69, 65) Source(81, 40) + SourceIndex(0) -11>Emitted(69, 66) Source(81, 40) + SourceIndex(0) -12>Emitted(69, 68) Source(81, 42) + SourceIndex(0) -13>Emitted(69, 69) Source(81, 43) + SourceIndex(0) -14>Emitted(69, 72) Source(81, 46) + SourceIndex(0) -15>Emitted(69, 73) Source(81, 47) + SourceIndex(0) -16>Emitted(69, 75) Source(81, 49) + SourceIndex(0) -17>Emitted(69, 76) Source(81, 50) + SourceIndex(0) -18>Emitted(69, 79) Source(81, 53) + SourceIndex(0) -19>Emitted(69, 80) Source(81, 54) + SourceIndex(0) -20>Emitted(69, 82) Source(81, 56) + SourceIndex(0) -21>Emitted(69, 83) Source(81, 57) + SourceIndex(0) -22>Emitted(69, 85) Source(81, 59) + SourceIndex(0) -23>Emitted(69, 87) Source(81, 61) + SourceIndex(0) -24>Emitted(69, 88) Source(81, 62) + SourceIndex(0) +4 >Emitted(69, 6) Source(81, 7) + SourceIndex(0) +5 >Emitted(69, 26) Source(81, 15) + SourceIndex(0) +6 >Emitted(69, 28) Source(81, 17) + SourceIndex(0) +7 >Emitted(69, 56) Source(81, 30) + SourceIndex(0) +8 >Emitted(69, 58) Source(81, 34) + SourceIndex(0) +9 >Emitted(69, 64) Source(81, 40) + SourceIndex(0) +10>Emitted(69, 66) Source(81, 42) + SourceIndex(0) +11>Emitted(69, 67) Source(81, 43) + SourceIndex(0) +12>Emitted(69, 70) Source(81, 46) + SourceIndex(0) +13>Emitted(69, 71) Source(81, 47) + SourceIndex(0) +14>Emitted(69, 73) Source(81, 49) + SourceIndex(0) +15>Emitted(69, 74) Source(81, 50) + SourceIndex(0) +16>Emitted(69, 77) Source(81, 53) + SourceIndex(0) +17>Emitted(69, 78) Source(81, 54) + SourceIndex(0) +18>Emitted(69, 80) Source(81, 56) + SourceIndex(0) +19>Emitted(69, 81) Source(81, 57) + SourceIndex(0) +20>Emitted(69, 83) Source(81, 59) + SourceIndex(0) +21>Emitted(69, 85) Source(81, 61) + SourceIndex(0) +22>Emitted(69, 86) Source(81, 62) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2484,87 +2370,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(71, 1) Source(83, 1) + SourceIndex(0) 2 >Emitted(71, 2) Source(83, 2) + SourceIndex(0) --- ->>>for ((_u = getRobot(), numberA3 = _u[0], robotAInfo = _u.slice(1), _u), i = 0; i < 1; i++) { +>>>for (_u = getRobot(), numberA3 = _u[0], robotAInfo = _u.slice(1), _u, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA3, ...robotAInfo] = getRobot() -7 > -8 > numberA3 -9 > , -10> ...robotAInfo -11> ] = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [numberA3, ...robotAInfo] = getRobot() +6 > +7 > numberA3 +8 > , +9 > ...robotAInfo +10> ] = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(72, 1) Source(84, 1) + SourceIndex(0) 2 >Emitted(72, 4) Source(84, 4) + SourceIndex(0) 3 >Emitted(72, 5) Source(84, 5) + SourceIndex(0) 4 >Emitted(72, 6) Source(84, 6) + SourceIndex(0) -5 >Emitted(72, 7) Source(84, 6) + SourceIndex(0) -6 >Emitted(72, 22) Source(84, 44) + SourceIndex(0) -7 >Emitted(72, 24) Source(84, 7) + SourceIndex(0) -8 >Emitted(72, 40) Source(84, 15) + SourceIndex(0) -9 >Emitted(72, 42) Source(84, 17) + SourceIndex(0) -10>Emitted(72, 66) Source(84, 30) + SourceIndex(0) -11>Emitted(72, 71) Source(84, 44) + SourceIndex(0) -12>Emitted(72, 73) Source(84, 46) + SourceIndex(0) -13>Emitted(72, 74) Source(84, 47) + SourceIndex(0) -14>Emitted(72, 77) Source(84, 50) + SourceIndex(0) -15>Emitted(72, 78) Source(84, 51) + SourceIndex(0) -16>Emitted(72, 80) Source(84, 53) + SourceIndex(0) -17>Emitted(72, 81) Source(84, 54) + SourceIndex(0) -18>Emitted(72, 84) Source(84, 57) + SourceIndex(0) -19>Emitted(72, 85) Source(84, 58) + SourceIndex(0) -20>Emitted(72, 87) Source(84, 60) + SourceIndex(0) -21>Emitted(72, 88) Source(84, 61) + SourceIndex(0) -22>Emitted(72, 90) Source(84, 63) + SourceIndex(0) -23>Emitted(72, 92) Source(84, 65) + SourceIndex(0) -24>Emitted(72, 93) Source(84, 66) + SourceIndex(0) +5 >Emitted(72, 21) Source(84, 44) + SourceIndex(0) +6 >Emitted(72, 23) Source(84, 7) + SourceIndex(0) +7 >Emitted(72, 39) Source(84, 15) + SourceIndex(0) +8 >Emitted(72, 41) Source(84, 17) + SourceIndex(0) +9 >Emitted(72, 65) Source(84, 30) + SourceIndex(0) +10>Emitted(72, 71) Source(84, 46) + SourceIndex(0) +11>Emitted(72, 72) Source(84, 47) + SourceIndex(0) +12>Emitted(72, 75) Source(84, 50) + SourceIndex(0) +13>Emitted(72, 76) Source(84, 51) + SourceIndex(0) +14>Emitted(72, 78) Source(84, 53) + SourceIndex(0) +15>Emitted(72, 79) Source(84, 54) + SourceIndex(0) +16>Emitted(72, 82) Source(84, 57) + SourceIndex(0) +17>Emitted(72, 83) Source(84, 58) + SourceIndex(0) +18>Emitted(72, 85) Source(84, 60) + SourceIndex(0) +19>Emitted(72, 86) Source(84, 61) + SourceIndex(0) +20>Emitted(72, 88) Source(84, 63) + SourceIndex(0) +21>Emitted(72, 90) Source(84, 65) + SourceIndex(0) +22>Emitted(72, 91) Source(84, 66) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2596,87 +2476,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(74, 1) Source(86, 1) + SourceIndex(0) 2 >Emitted(74, 2) Source(86, 2) + SourceIndex(0) --- ->>>for ((_v = [2, "trimmer", "trimming"], numberA3 = _v[0], robotAInfo = _v.slice(1), _v), i = 0; i < 1; i++) { +>>>for (_v = [2, "trimmer", "trimming"], numberA3 = _v[0], robotAInfo = _v.slice(1), _v, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"] -7 > -8 > numberA3 -9 > , -10> ...robotAInfo -11> ] = [2, "trimmer", "trimming"] -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"] +6 > +7 > numberA3 +8 > , +9 > ...robotAInfo +10> ] = [2, "trimmer", "trimming"], +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(75, 1) Source(87, 1) + SourceIndex(0) 2 >Emitted(75, 4) Source(87, 4) + SourceIndex(0) 3 >Emitted(75, 5) Source(87, 5) + SourceIndex(0) 4 >Emitted(75, 6) Source(87, 6) + SourceIndex(0) -5 >Emitted(75, 7) Source(87, 6) + SourceIndex(0) -6 >Emitted(75, 38) Source(87, 67) + SourceIndex(0) -7 >Emitted(75, 40) Source(87, 7) + SourceIndex(0) -8 >Emitted(75, 56) Source(87, 15) + SourceIndex(0) -9 >Emitted(75, 58) Source(87, 17) + SourceIndex(0) -10>Emitted(75, 82) Source(87, 30) + SourceIndex(0) -11>Emitted(75, 87) Source(87, 67) + SourceIndex(0) -12>Emitted(75, 89) Source(87, 69) + SourceIndex(0) -13>Emitted(75, 90) Source(87, 70) + SourceIndex(0) -14>Emitted(75, 93) Source(87, 73) + SourceIndex(0) -15>Emitted(75, 94) Source(87, 74) + SourceIndex(0) -16>Emitted(75, 96) Source(87, 76) + SourceIndex(0) -17>Emitted(75, 97) Source(87, 77) + SourceIndex(0) -18>Emitted(75, 100) Source(87, 80) + SourceIndex(0) -19>Emitted(75, 101) Source(87, 81) + SourceIndex(0) -20>Emitted(75, 103) Source(87, 83) + SourceIndex(0) -21>Emitted(75, 104) Source(87, 84) + SourceIndex(0) -22>Emitted(75, 106) Source(87, 86) + SourceIndex(0) -23>Emitted(75, 108) Source(87, 88) + SourceIndex(0) -24>Emitted(75, 109) Source(87, 89) + SourceIndex(0) +5 >Emitted(75, 37) Source(87, 67) + SourceIndex(0) +6 >Emitted(75, 39) Source(87, 7) + SourceIndex(0) +7 >Emitted(75, 55) Source(87, 15) + SourceIndex(0) +8 >Emitted(75, 57) Source(87, 17) + SourceIndex(0) +9 >Emitted(75, 81) Source(87, 30) + SourceIndex(0) +10>Emitted(75, 87) Source(87, 69) + SourceIndex(0) +11>Emitted(75, 88) Source(87, 70) + SourceIndex(0) +12>Emitted(75, 91) Source(87, 73) + SourceIndex(0) +13>Emitted(75, 92) Source(87, 74) + SourceIndex(0) +14>Emitted(75, 94) Source(87, 76) + SourceIndex(0) +15>Emitted(75, 95) Source(87, 77) + SourceIndex(0) +16>Emitted(75, 98) Source(87, 80) + SourceIndex(0) +17>Emitted(75, 99) Source(87, 81) + SourceIndex(0) +18>Emitted(75, 101) Source(87, 83) + SourceIndex(0) +19>Emitted(75, 102) Source(87, 84) + SourceIndex(0) +20>Emitted(75, 104) Source(87, 86) + SourceIndex(0) +21>Emitted(75, 106) Source(87, 88) + SourceIndex(0) +22>Emitted(75, 107) Source(87, 89) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2708,81 +2582,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(77, 1) Source(89, 1) + SourceIndex(0) 2 >Emitted(77, 2) Source(89, 2) + SourceIndex(0) --- ->>>for ((multiRobotAInfo = multiRobotA.slice(0), multiRobotA), i = 0; i < 1; i++) { +>>>for (multiRobotAInfo = multiRobotA.slice(0), multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > -4 > ( -5 > [ -6 > ...multiRobotAInfo -7 > ] = -8 > multiRobotA -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ([ +5 > ...multiRobotAInfo +6 > ] = +7 > multiRobotA +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(78, 1) Source(90, 1) + SourceIndex(0) 2 >Emitted(78, 4) Source(90, 4) + SourceIndex(0) 3 >Emitted(78, 5) Source(90, 5) + SourceIndex(0) -4 >Emitted(78, 6) Source(90, 6) + SourceIndex(0) -5 >Emitted(78, 7) Source(90, 7) + SourceIndex(0) -6 >Emitted(78, 45) Source(90, 25) + SourceIndex(0) -7 >Emitted(78, 47) Source(90, 29) + SourceIndex(0) -8 >Emitted(78, 58) Source(90, 40) + SourceIndex(0) -9 >Emitted(78, 59) Source(90, 40) + SourceIndex(0) -10>Emitted(78, 61) Source(90, 42) + SourceIndex(0) -11>Emitted(78, 62) Source(90, 43) + SourceIndex(0) -12>Emitted(78, 65) Source(90, 46) + SourceIndex(0) -13>Emitted(78, 66) Source(90, 47) + SourceIndex(0) -14>Emitted(78, 68) Source(90, 49) + SourceIndex(0) -15>Emitted(78, 69) Source(90, 50) + SourceIndex(0) -16>Emitted(78, 72) Source(90, 53) + SourceIndex(0) -17>Emitted(78, 73) Source(90, 54) + SourceIndex(0) -18>Emitted(78, 75) Source(90, 56) + SourceIndex(0) -19>Emitted(78, 76) Source(90, 57) + SourceIndex(0) -20>Emitted(78, 78) Source(90, 59) + SourceIndex(0) -21>Emitted(78, 80) Source(90, 61) + SourceIndex(0) -22>Emitted(78, 81) Source(90, 62) + SourceIndex(0) +4 >Emitted(78, 6) Source(90, 7) + SourceIndex(0) +5 >Emitted(78, 44) Source(90, 25) + SourceIndex(0) +6 >Emitted(78, 46) Source(90, 29) + SourceIndex(0) +7 >Emitted(78, 57) Source(90, 40) + SourceIndex(0) +8 >Emitted(78, 59) Source(90, 42) + SourceIndex(0) +9 >Emitted(78, 60) Source(90, 43) + SourceIndex(0) +10>Emitted(78, 63) Source(90, 46) + SourceIndex(0) +11>Emitted(78, 64) Source(90, 47) + SourceIndex(0) +12>Emitted(78, 66) Source(90, 49) + SourceIndex(0) +13>Emitted(78, 67) Source(90, 50) + SourceIndex(0) +14>Emitted(78, 70) Source(90, 53) + SourceIndex(0) +15>Emitted(78, 71) Source(90, 54) + SourceIndex(0) +16>Emitted(78, 73) Source(90, 56) + SourceIndex(0) +17>Emitted(78, 74) Source(90, 57) + SourceIndex(0) +18>Emitted(78, 76) Source(90, 59) + SourceIndex(0) +19>Emitted(78, 78) Source(90, 61) + SourceIndex(0) +20>Emitted(78, 79) Source(90, 62) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2814,81 +2682,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(80, 1) Source(92, 1) + SourceIndex(0) 2 >Emitted(80, 2) Source(92, 2) + SourceIndex(0) --- ->>>for ((_w = getMultiRobot(), multiRobotAInfo = _w.slice(0), _w), i = 0; i < 1; i++) { +>>>for (_w = getMultiRobot(), multiRobotAInfo = _w.slice(0), _w, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [...multiRobotAInfo] = getMultiRobot() -7 > -8 > ...multiRobotAInfo -9 > ] = getMultiRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [...multiRobotAInfo] = getMultiRobot() +6 > +7 > ...multiRobotAInfo +8 > ] = getMultiRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(81, 1) Source(93, 1) + SourceIndex(0) 2 >Emitted(81, 4) Source(93, 4) + SourceIndex(0) 3 >Emitted(81, 5) Source(93, 5) + SourceIndex(0) 4 >Emitted(81, 6) Source(93, 6) + SourceIndex(0) -5 >Emitted(81, 7) Source(93, 6) + SourceIndex(0) -6 >Emitted(81, 27) Source(93, 44) + SourceIndex(0) -7 >Emitted(81, 29) Source(93, 7) + SourceIndex(0) -8 >Emitted(81, 58) Source(93, 25) + SourceIndex(0) -9 >Emitted(81, 63) Source(93, 44) + SourceIndex(0) -10>Emitted(81, 65) Source(93, 46) + SourceIndex(0) -11>Emitted(81, 66) Source(93, 47) + SourceIndex(0) -12>Emitted(81, 69) Source(93, 50) + SourceIndex(0) -13>Emitted(81, 70) Source(93, 51) + SourceIndex(0) -14>Emitted(81, 72) Source(93, 53) + SourceIndex(0) -15>Emitted(81, 73) Source(93, 54) + SourceIndex(0) -16>Emitted(81, 76) Source(93, 57) + SourceIndex(0) -17>Emitted(81, 77) Source(93, 58) + SourceIndex(0) -18>Emitted(81, 79) Source(93, 60) + SourceIndex(0) -19>Emitted(81, 80) Source(93, 61) + SourceIndex(0) -20>Emitted(81, 82) Source(93, 63) + SourceIndex(0) -21>Emitted(81, 84) Source(93, 65) + SourceIndex(0) -22>Emitted(81, 85) Source(93, 66) + SourceIndex(0) +5 >Emitted(81, 26) Source(93, 44) + SourceIndex(0) +6 >Emitted(81, 28) Source(93, 7) + SourceIndex(0) +7 >Emitted(81, 57) Source(93, 25) + SourceIndex(0) +8 >Emitted(81, 63) Source(93, 46) + SourceIndex(0) +9 >Emitted(81, 64) Source(93, 47) + SourceIndex(0) +10>Emitted(81, 67) Source(93, 50) + SourceIndex(0) +11>Emitted(81, 68) Source(93, 51) + SourceIndex(0) +12>Emitted(81, 70) Source(93, 53) + SourceIndex(0) +13>Emitted(81, 71) Source(93, 54) + SourceIndex(0) +14>Emitted(81, 74) Source(93, 57) + SourceIndex(0) +15>Emitted(81, 75) Source(93, 58) + SourceIndex(0) +16>Emitted(81, 77) Source(93, 60) + SourceIndex(0) +17>Emitted(81, 78) Source(93, 61) + SourceIndex(0) +18>Emitted(81, 80) Source(93, 63) + SourceIndex(0) +19>Emitted(81, 82) Source(93, 65) + SourceIndex(0) +20>Emitted(81, 83) Source(93, 66) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2920,81 +2782,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(83, 1) Source(95, 1) + SourceIndex(0) 2 >Emitted(83, 2) Source(95, 2) + SourceIndex(0) --- ->>>for ((_x = ["trimmer", ["trimming", "edging"]], multiRobotAInfo = _x.slice(0), _x), i = 0; i < 1; i++) { +>>>for (_x = ["trimmer", ["trimming", "edging"]], multiRobotAInfo = _x.slice(0), _x, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]] -7 > -8 > ...multiRobotAInfo -9 > ] = ["trimmer", ["trimming", "edging"]] -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]] +6 > +7 > ...multiRobotAInfo +8 > ] = ["trimmer", ["trimming", "edging"]], +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(84, 1) Source(96, 1) + SourceIndex(0) 2 >Emitted(84, 4) Source(96, 4) + SourceIndex(0) 3 >Emitted(84, 5) Source(96, 5) + SourceIndex(0) 4 >Emitted(84, 6) Source(96, 6) + SourceIndex(0) -5 >Emitted(84, 7) Source(96, 6) + SourceIndex(0) -6 >Emitted(84, 47) Source(96, 83) + SourceIndex(0) -7 >Emitted(84, 49) Source(96, 7) + SourceIndex(0) -8 >Emitted(84, 78) Source(96, 25) + SourceIndex(0) -9 >Emitted(84, 83) Source(96, 83) + SourceIndex(0) -10>Emitted(84, 85) Source(96, 85) + SourceIndex(0) -11>Emitted(84, 86) Source(96, 86) + SourceIndex(0) -12>Emitted(84, 89) Source(96, 89) + SourceIndex(0) -13>Emitted(84, 90) Source(96, 90) + SourceIndex(0) -14>Emitted(84, 92) Source(96, 92) + SourceIndex(0) -15>Emitted(84, 93) Source(96, 93) + SourceIndex(0) -16>Emitted(84, 96) Source(96, 96) + SourceIndex(0) -17>Emitted(84, 97) Source(96, 97) + SourceIndex(0) -18>Emitted(84, 99) Source(96, 99) + SourceIndex(0) -19>Emitted(84, 100) Source(96, 100) + SourceIndex(0) -20>Emitted(84, 102) Source(96, 102) + SourceIndex(0) -21>Emitted(84, 104) Source(96, 104) + SourceIndex(0) -22>Emitted(84, 105) Source(96, 105) + SourceIndex(0) +5 >Emitted(84, 46) Source(96, 83) + SourceIndex(0) +6 >Emitted(84, 48) Source(96, 7) + SourceIndex(0) +7 >Emitted(84, 77) Source(96, 25) + SourceIndex(0) +8 >Emitted(84, 83) Source(96, 85) + SourceIndex(0) +9 >Emitted(84, 84) Source(96, 86) + SourceIndex(0) +10>Emitted(84, 87) Source(96, 89) + SourceIndex(0) +11>Emitted(84, 88) Source(96, 90) + SourceIndex(0) +12>Emitted(84, 90) Source(96, 92) + SourceIndex(0) +13>Emitted(84, 91) Source(96, 93) + SourceIndex(0) +14>Emitted(84, 94) Source(96, 96) + SourceIndex(0) +15>Emitted(84, 95) Source(96, 97) + SourceIndex(0) +16>Emitted(84, 97) Source(96, 99) + SourceIndex(0) +17>Emitted(84, 98) Source(96, 100) + SourceIndex(0) +18>Emitted(84, 100) Source(96, 102) + SourceIndex(0) +19>Emitted(84, 102) Source(96, 104) + SourceIndex(0) +20>Emitted(84, 103) Source(96, 105) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types index a50f506262d..f317fa2a83c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types @@ -16,9 +16,9 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function getRobot() { >getRobot : () => [number, string, string] @@ -31,19 +31,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function getMultiRobot() { >getMultiRobot : () => [string, [string, string]] @@ -69,25 +69,25 @@ let numberA2: number, nameA2: string, skillA2: string, nameMA: string; let numberA3: number, robotAInfo: (number | string)[], multiRobotAInfo: (string | [string, string])[]; >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >multiRobotAInfo : (string | [string, string])[] let i: number; >i : number for ([, nameA] = robotA, i = 0; i < 1; i++) { ->[, nameA] = robotA, i = 0 : number +>[, nameA] = robotA, i = 0 : 0 >[, nameA] = robotA : [number, string, string] >[, nameA] : [undefined, string] > : undefined >nameA : string >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -99,19 +99,19 @@ for ([, nameA] = robotA, i = 0; i < 1; i++) { >nameA : string } for ([, nameA] = getRobot(), i = 0; i < 1; i++) { ->[, nameA] = getRobot(), i = 0 : number +>[, nameA] = getRobot(), i = 0 : 0 >[, nameA] = getRobot() : [number, string, string] >[, nameA] : [undefined, string] > : undefined >nameA : string >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -123,21 +123,21 @@ for ([, nameA] = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ([, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[, nameA] = [2, "trimmer", "trimming"], i = 0 : number +>[, nameA] = [2, "trimmer", "trimming"], i = 0 : 0 >[, nameA] = [2, "trimmer", "trimming"] : [number, string, string] >[, nameA] : [undefined, string] > : undefined >nameA : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -149,7 +149,7 @@ for ([, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >nameA : string } for ([, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { ->[, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0 : number +>[, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0 : 0 >[, [primarySkillA, secondarySkillA]] = multiRobotA : [string, [string, string]] >[, [primarySkillA, secondarySkillA]] : [undefined, [string, string]] > : undefined @@ -157,12 +157,12 @@ for ([, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { >primarySkillA : string >secondarySkillA : string >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -174,7 +174,7 @@ for ([, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { >primarySkillA : string } for ([, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) { ->[, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0 : number +>[, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0 : 0 >[, [primarySkillA, secondarySkillA]] = getMultiRobot() : [string, [string, string]] >[, [primarySkillA, secondarySkillA]] : [undefined, [string, string]] > : undefined @@ -183,12 +183,12 @@ for ([, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) >secondarySkillA : string >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -200,7 +200,7 @@ for ([, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) >primarySkillA : string } for ([, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { ->[, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[, [primarySkillA, secondarySkillA]] : [undefined, [string, string]] > : undefined @@ -208,16 +208,16 @@ for ([, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], >primarySkillA : string >secondarySkillA : string >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -230,17 +230,17 @@ for ([, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], } for ([numberB] = robotA, i = 0; i < 1; i++) { ->[numberB] = robotA, i = 0 : number +>[numberB] = robotA, i = 0 : 0 >[numberB] = robotA : [number, string, string] >[numberB] : [number] >numberB : number >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -252,18 +252,18 @@ for ([numberB] = robotA, i = 0; i < 1; i++) { >numberB : number } for ([numberB] = getRobot(), i = 0; i < 1; i++) { ->[numberB] = getRobot(), i = 0 : number +>[numberB] = getRobot(), i = 0 : 0 >[numberB] = getRobot() : [number, string, string] >[numberB] : [number] >numberB : number >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -275,20 +275,20 @@ for ([numberB] = getRobot(), i = 0; i < 1; i++) { >numberB : number } for ([numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberB] = [2, "trimmer", "trimming"], i = 0 : number +>[numberB] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberB] = [2, "trimmer", "trimming"] : [number, string, string] >[numberB] : [number] >numberB : number >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -300,17 +300,17 @@ for ([numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >numberB : number } for ([nameB] = multiRobotA, i = 0; i < 1; i++) { ->[nameB] = multiRobotA, i = 0 : number +>[nameB] = multiRobotA, i = 0 : 0 >[nameB] = multiRobotA : [string, [string, string]] >[nameB] : [string] >nameB : string >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -322,18 +322,18 @@ for ([nameB] = multiRobotA, i = 0; i < 1; i++) { >nameB : string } for ([nameB] = getMultiRobot(), i = 0; i < 1; i++) { ->[nameB] = getMultiRobot(), i = 0 : number +>[nameB] = getMultiRobot(), i = 0 : 0 >[nameB] = getMultiRobot() : [string, [string, string]] >[nameB] : [string] >nameB : string >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -345,21 +345,21 @@ for ([nameB] = getMultiRobot(), i = 0; i < 1; i++) { >nameB : string } for ([nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { ->[nameB] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[nameB] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[nameB] = ["trimmer", ["trimming", "edging"]] : [string, string[]] >[nameB] : [string] >nameB : string >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -372,19 +372,19 @@ for ([nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { } for ([numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { ->[numberA2, nameA2, skillA2] = robotA, i = 0 : number +>[numberA2, nameA2, skillA2] = robotA, i = 0 : 0 >[numberA2, nameA2, skillA2] = robotA : [number, string, string] >[numberA2, nameA2, skillA2] : [number, string, string] >numberA2 : number >nameA2 : string >skillA2 : string >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -396,7 +396,7 @@ for ([numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >nameA2 : string } for ([numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { ->[numberA2, nameA2, skillA2] = getRobot(), i = 0 : number +>[numberA2, nameA2, skillA2] = getRobot(), i = 0 : 0 >[numberA2, nameA2, skillA2] = getRobot() : [number, string, string] >[numberA2, nameA2, skillA2] : [number, string, string] >numberA2 : number @@ -404,12 +404,12 @@ for ([numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >skillA2 : string >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -421,22 +421,22 @@ for ([numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >nameA2 : string } for ([numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0 : number +>[numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"] : [number, string, string] >[numberA2, nameA2, skillA2] : [number, string, string] >numberA2 : number >nameA2 : string >skillA2 : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -448,7 +448,7 @@ for ([numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; i++ >nameA2 : string } for ([nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { ->[nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0 : number +>[nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0 : 0 >[nameMA, [primarySkillA, secondarySkillA]] = multiRobotA : [string, [string, string]] >[nameMA, [primarySkillA, secondarySkillA]] : [string, [string, string]] >nameMA : string @@ -456,12 +456,12 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++ >primarySkillA : string >secondarySkillA : string >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -473,7 +473,7 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++ >nameMA : string } for ([nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) { ->[nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0 : number +>[nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0 : 0 >[nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot() : [string, [string, string]] >[nameMA, [primarySkillA, secondarySkillA]] : [string, [string, string]] >nameMA : string @@ -482,12 +482,12 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; >secondarySkillA : string >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -499,7 +499,7 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; >nameMA : string } for ([nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { ->[nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[nameMA, [primarySkillA, secondarySkillA]] : [string, [string, string]] >nameMA : string @@ -507,16 +507,16 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edgi >primarySkillA : string >secondarySkillA : string >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -529,19 +529,19 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edgi } for ([numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { ->[numberA3, ...robotAInfo] = robotA, i = 0 : number +>[numberA3, ...robotAInfo] = robotA, i = 0 : 0 >[numberA3, ...robotAInfo] = robotA : [number, string, string] ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -553,20 +553,20 @@ for ([numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >numberA3 : number } for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { ->[numberA3, ...robotAInfo] = getRobot(), i = 0 : number +>[numberA3, ...robotAInfo] = getRobot(), i = 0 : 0 >[numberA3, ...robotAInfo] = getRobot() : [number, string, string] ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -578,24 +578,24 @@ for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number } for ([numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0 : number +>[numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberA3, ...robotAInfo] = [2, "trimmer", "trimming"] : [number, string, string] ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[2, "trimmer", "trimming"] : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -607,18 +607,18 @@ for ([numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1 >numberA3 : number } for ([...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { ->[...multiRobotAInfo] = multiRobotA, i = 0 : number +>[...multiRobotAInfo] = multiRobotA, i = 0 : 0 >[...multiRobotAInfo] = multiRobotA : [string, [string, string]] >[...multiRobotAInfo] : (string | [string, string])[] >...multiRobotAInfo : string | [string, string] >multiRobotAInfo : (string | [string, string])[] >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -630,19 +630,19 @@ for ([...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >multiRobotAInfo : (string | [string, string])[] } for ([...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { ->[...multiRobotAInfo] = getMultiRobot(), i = 0 : number +>[...multiRobotAInfo] = getMultiRobot(), i = 0 : 0 >[...multiRobotAInfo] = getMultiRobot() : [string, [string, string]] >[...multiRobotAInfo] : (string | [string, string])[] >...multiRobotAInfo : string | [string, string] >multiRobotAInfo : (string | [string, string])[] >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -654,7 +654,7 @@ for ([...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >multiRobotAInfo : (string | [string, string])[] } for ([...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { ->[...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[...multiRobotAInfo] : (string | [string, string])[] >...multiRobotAInfo : string | [string, string] @@ -662,16 +662,16 @@ for ([...multiRobotAInfo] = ["trimmer", ["trimming", "edging" >["trimmer", ["trimming", "edging"]] : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js.map index 28053eaf603..58097c096a5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAQ,kBAAa,EAAb,mCAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAAmC,EAA5B,UAAc,EAAd,mCAAc,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+BAAmD,EAA5C,UAAc,EAAd,mCAAc,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAQ,uBAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,oBAGkC,EAH3B,UAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,wCAGsD,EAH/C,UAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EAC4B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAM,kBAAY,EAAZ,iCAAY,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,sBAAY,EAAZ,iCAAY,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,sCAAY,EAAZ,iCAAY,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,uBAAc,EAAd,mCAAc,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,2BAAc,EAAd,mCAAc,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,+CAAc,EAAd,mCAAc,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAM,kBAAa,EAAb,kCAAa,EAAE,cAAe,EAAf,oCAAe,EAAE,cAAiB,EAAjB,sCAAiB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAAoE,EAA/D,UAAa,EAAb,kCAAa,EAAE,UAAe,EAAf,oCAAe,EAAE,UAAiB,EAAjB,sCAAiB,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+BAAoF,EAA/E,UAAa,EAAb,kCAAa,EAAE,WAAe,EAAf,sCAAe,EAAE,WAAiB,EAAjB,wCAAiB,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CACC,wBAAiB,EAAjB,wCAAiB,EACd,oBAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEpB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,qBAKe,EALV,YAAiB,EAAjB,wCAAiB,EACvB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEf,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,yCAKmC,EAL9B,YAAiB,EAAjB,wCAAiB,EACvB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAM,mBAAa,EAAb,oCAAa,EAAE,4BAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,gBAA+C,EAA1C,YAAa,EAAb,oCAAa,EAAE,yBAAa,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,gCAA+D,EAA1D,YAAa,EAAb,oCAAa,EAAE,yBAAa,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAQ,IAAA,cAAa,EAAb,mCAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAA+B,EAA5B,UAAc,EAAd,mCAAc,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+BAA+C,EAA5C,UAAc,EAAd,mCAAc,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAQ,IAAA,mBAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,oBAG8B,EAH3B,UAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,wCAGkD,EAH/C,UAGQ,EAHR,0CAGQ,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EAC4B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,cAAY,EAAZ,iCAAY,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,kBAAY,EAAZ,iCAAY,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,kCAAY,EAAZ,iCAAY,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,mBAAc,EAAd,mCAAc,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uBAAc,EAAd,mCAAc,EAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,2CAAc,EAAd,mCAAc,EAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,cAAa,EAAb,kCAAa,EAAE,cAAe,EAAf,oCAAe,EAAE,cAAiB,EAAjB,sCAAiB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAAgE,EAA/D,UAAa,EAAb,kCAAa,EAAE,UAAe,EAAf,oCAAe,EAAE,UAAiB,EAAjB,sCAAiB,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+BAAgF,EAA/E,UAAa,EAAb,kCAAa,EAAE,WAAe,EAAf,sCAAe,EAAE,WAAiB,EAAjB,wCAAiB,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CACC,IAAA,oBAAiB,EAAjB,wCAAiB,EACd,oBAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEpB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,qBAKW,EALV,YAAiB,EAAjB,wCAAiB,EACvB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEf,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,yCAK+B,EAL9B,YAAiB,EAAjB,wCAAiB,EACvB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,EAEK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,eAAa,EAAb,oCAAa,EAAE,4BAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,gBAA2C,EAA1C,YAAa,EAAb,oCAAa,EAAE,yBAAa,EAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,gCAA2D,EAA1D,YAAa,EAAb,oCAAa,EAAE,yBAAa,EAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.sourcemap.txt index 764825e68a2..1a8dde7dee4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.sourcemap.txt @@ -219,64 +219,67 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > > 2 >for 3 > 4 > (let [, -5 > nameA ="name" -6 > -7 > nameA ="name" -8 > ] = robotA, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > nameA ="name" +7 > +8 > nameA ="name" +9 > ] = robotA, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(10, 1) Source(18, 1) + SourceIndex(0) 2 >Emitted(10, 4) Source(18, 4) + SourceIndex(0) 3 >Emitted(10, 5) Source(18, 5) + SourceIndex(0) 4 >Emitted(10, 6) Source(18, 13) + SourceIndex(0) -5 >Emitted(10, 24) Source(18, 26) + SourceIndex(0) -6 >Emitted(10, 26) Source(18, 13) + SourceIndex(0) -7 >Emitted(10, 61) Source(18, 26) + SourceIndex(0) -8 >Emitted(10, 63) Source(18, 38) + SourceIndex(0) -9 >Emitted(10, 64) Source(18, 39) + SourceIndex(0) -10>Emitted(10, 67) Source(18, 42) + SourceIndex(0) -11>Emitted(10, 68) Source(18, 43) + SourceIndex(0) -12>Emitted(10, 70) Source(18, 45) + SourceIndex(0) -13>Emitted(10, 71) Source(18, 46) + SourceIndex(0) -14>Emitted(10, 74) Source(18, 49) + SourceIndex(0) -15>Emitted(10, 75) Source(18, 50) + SourceIndex(0) -16>Emitted(10, 77) Source(18, 52) + SourceIndex(0) -17>Emitted(10, 78) Source(18, 53) + SourceIndex(0) -18>Emitted(10, 80) Source(18, 55) + SourceIndex(0) -19>Emitted(10, 82) Source(18, 57) + SourceIndex(0) -20>Emitted(10, 83) Source(18, 58) + SourceIndex(0) +5 >Emitted(10, 10) Source(18, 13) + SourceIndex(0) +6 >Emitted(10, 24) Source(18, 26) + SourceIndex(0) +7 >Emitted(10, 26) Source(18, 13) + SourceIndex(0) +8 >Emitted(10, 61) Source(18, 26) + SourceIndex(0) +9 >Emitted(10, 63) Source(18, 38) + SourceIndex(0) +10>Emitted(10, 64) Source(18, 39) + SourceIndex(0) +11>Emitted(10, 67) Source(18, 42) + SourceIndex(0) +12>Emitted(10, 68) Source(18, 43) + SourceIndex(0) +13>Emitted(10, 70) Source(18, 45) + SourceIndex(0) +14>Emitted(10, 71) Source(18, 46) + SourceIndex(0) +15>Emitted(10, 74) Source(18, 49) + SourceIndex(0) +16>Emitted(10, 75) Source(18, 50) + SourceIndex(0) +17>Emitted(10, 77) Source(18, 52) + SourceIndex(0) +18>Emitted(10, 78) Source(18, 53) + SourceIndex(0) +19>Emitted(10, 80) Source(18, 55) + SourceIndex(0) +20>Emitted(10, 82) Source(18, 57) + SourceIndex(0) +21>Emitted(10, 83) Source(18, 58) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -343,9 +346,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, nameA = "name"] = getRobot() +6 > [, nameA = "name"] = getRobot() 7 > 8 > nameA = "name" 9 > @@ -366,8 +369,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(13, 1) Source(21, 1) + SourceIndex(0) 2 >Emitted(13, 4) Source(21, 4) + SourceIndex(0) 3 >Emitted(13, 5) Source(21, 5) + SourceIndex(0) -4 >Emitted(13, 6) Source(21, 6) + SourceIndex(0) -5 >Emitted(13, 10) Source(21, 6) + SourceIndex(0) +4 >Emitted(13, 6) Source(21, 10) + SourceIndex(0) +5 >Emitted(13, 10) Source(21, 10) + SourceIndex(0) 6 >Emitted(13, 25) Source(21, 41) + SourceIndex(0) 7 >Emitted(13, 27) Source(21, 13) + SourceIndex(0) 8 >Emitted(13, 37) Source(21, 27) + SourceIndex(0) @@ -452,9 +455,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, nameA = "name"] = [2, "trimmer", "trimming"] +6 > [, nameA = "name"] = [2, "trimmer", "trimming"] 7 > 8 > nameA = "name" 9 > @@ -475,8 +478,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(16, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(16, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(16, 5) Source(24, 5) + SourceIndex(0) -4 >Emitted(16, 6) Source(24, 6) + SourceIndex(0) -5 >Emitted(16, 10) Source(24, 6) + SourceIndex(0) +4 >Emitted(16, 6) Source(24, 10) + SourceIndex(0) +5 >Emitted(16, 10) Source(24, 10) + SourceIndex(0) 6 >Emitted(16, 41) Source(24, 57) + SourceIndex(0) 7 >Emitted(16, 43) Source(24, 13) + SourceIndex(0) 8 >Emitted(16, 53) Source(24, 27) + SourceIndex(0) @@ -538,95 +541,98 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^ +28> ^^ +29> ^ 1-> > 2 >for 3 > 4 > (let [, -5 > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -6 > -7 > [ +5 > +6 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +7 > +8 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"] -8 > -9 > primarySkillA = "primary" -10> -11> primarySkillA = "primary" -12> , +9 > +10> primarySkillA = "primary" +11> +12> primarySkillA = "primary" +13> , > -13> secondarySkillA = "secondary" -14> -15> secondarySkillA = "secondary" -16> +14> secondarySkillA = "secondary" +15> +16> secondarySkillA = "secondary" +17> > ] = ["none", "none"]] = multiRobotA, -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +18> i +19> = +20> 0 +21> ; +22> i +23> < +24> 1 +25> ; +26> i +27> ++ +28> ) +29> { 1->Emitted(19, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(19, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(19, 5) Source(27, 5) + SourceIndex(0) 4 >Emitted(19, 6) Source(27, 13) + SourceIndex(0) -5 >Emitted(19, 29) Source(30, 21) + SourceIndex(0) -6 >Emitted(19, 31) Source(27, 13) + SourceIndex(0) -7 >Emitted(19, 73) Source(30, 21) + SourceIndex(0) -8 >Emitted(19, 75) Source(28, 5) + SourceIndex(0) -9 >Emitted(19, 85) Source(28, 30) + SourceIndex(0) -10>Emitted(19, 87) Source(28, 5) + SourceIndex(0) -11>Emitted(19, 133) Source(28, 30) + SourceIndex(0) -12>Emitted(19, 135) Source(29, 5) + SourceIndex(0) -13>Emitted(19, 145) Source(29, 34) + SourceIndex(0) -14>Emitted(19, 147) Source(29, 5) + SourceIndex(0) -15>Emitted(19, 197) Source(29, 34) + SourceIndex(0) -16>Emitted(19, 199) Source(30, 38) + SourceIndex(0) -17>Emitted(19, 200) Source(30, 39) + SourceIndex(0) -18>Emitted(19, 203) Source(30, 42) + SourceIndex(0) -19>Emitted(19, 204) Source(30, 43) + SourceIndex(0) -20>Emitted(19, 206) Source(30, 45) + SourceIndex(0) -21>Emitted(19, 207) Source(30, 46) + SourceIndex(0) -22>Emitted(19, 210) Source(30, 49) + SourceIndex(0) -23>Emitted(19, 211) Source(30, 50) + SourceIndex(0) -24>Emitted(19, 213) Source(30, 52) + SourceIndex(0) -25>Emitted(19, 214) Source(30, 53) + SourceIndex(0) -26>Emitted(19, 216) Source(30, 55) + SourceIndex(0) -27>Emitted(19, 218) Source(30, 57) + SourceIndex(0) -28>Emitted(19, 219) Source(30, 58) + SourceIndex(0) +5 >Emitted(19, 10) Source(27, 13) + SourceIndex(0) +6 >Emitted(19, 29) Source(30, 21) + SourceIndex(0) +7 >Emitted(19, 31) Source(27, 13) + SourceIndex(0) +8 >Emitted(19, 73) Source(30, 21) + SourceIndex(0) +9 >Emitted(19, 75) Source(28, 5) + SourceIndex(0) +10>Emitted(19, 85) Source(28, 30) + SourceIndex(0) +11>Emitted(19, 87) Source(28, 5) + SourceIndex(0) +12>Emitted(19, 133) Source(28, 30) + SourceIndex(0) +13>Emitted(19, 135) Source(29, 5) + SourceIndex(0) +14>Emitted(19, 145) Source(29, 34) + SourceIndex(0) +15>Emitted(19, 147) Source(29, 5) + SourceIndex(0) +16>Emitted(19, 197) Source(29, 34) + SourceIndex(0) +17>Emitted(19, 199) Source(30, 38) + SourceIndex(0) +18>Emitted(19, 200) Source(30, 39) + SourceIndex(0) +19>Emitted(19, 203) Source(30, 42) + SourceIndex(0) +20>Emitted(19, 204) Source(30, 43) + SourceIndex(0) +21>Emitted(19, 206) Source(30, 45) + SourceIndex(0) +22>Emitted(19, 207) Source(30, 46) + SourceIndex(0) +23>Emitted(19, 210) Source(30, 49) + SourceIndex(0) +24>Emitted(19, 211) Source(30, 50) + SourceIndex(0) +25>Emitted(19, 213) Source(30, 52) + SourceIndex(0) +26>Emitted(19, 214) Source(30, 53) + SourceIndex(0) +27>Emitted(19, 216) Source(30, 55) + SourceIndex(0) +28>Emitted(19, 218) Source(30, 57) + SourceIndex(0) +29>Emitted(19, 219) Source(30, 58) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -701,9 +707,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, [ +6 > [, [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"]] = getMultiRobot() @@ -743,8 +749,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(22, 1) Source(33, 1) + SourceIndex(0) 2 >Emitted(22, 4) Source(33, 4) + SourceIndex(0) 3 >Emitted(22, 5) Source(33, 5) + SourceIndex(0) -4 >Emitted(22, 6) Source(33, 6) + SourceIndex(0) -5 >Emitted(22, 10) Source(33, 6) + SourceIndex(0) +4 >Emitted(22, 6) Source(33, 10) + SourceIndex(0) +5 >Emitted(22, 10) Source(33, 10) + SourceIndex(0) 6 >Emitted(22, 30) Source(36, 40) + SourceIndex(0) 7 >Emitted(22, 32) Source(33, 13) + SourceIndex(0) 8 >Emitted(22, 42) Source(36, 21) + SourceIndex(0) @@ -845,9 +851,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [, [ +6 > [, [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] @@ -887,8 +893,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(25, 1) Source(39, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(39, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(39, 5) + SourceIndex(0) -4 >Emitted(25, 6) Source(39, 6) + SourceIndex(0) -5 >Emitted(25, 10) Source(39, 6) + SourceIndex(0) +4 >Emitted(25, 6) Source(39, 10) + SourceIndex(0) +5 >Emitted(25, 10) Source(39, 10) + SourceIndex(0) 6 >Emitted(25, 50) Source(42, 60) + SourceIndex(0) 7 >Emitted(25, 52) Source(39, 13) + SourceIndex(0) 8 >Emitted(25, 62) Source(42, 21) + SourceIndex(0) @@ -958,64 +964,67 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberB = -1 -6 > -7 > numberB = -1 -8 > ] = robotA, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > numberB = -1 +7 > +8 > numberB = -1 +9 > ] = robotA, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(28, 1) Source(46, 1) + SourceIndex(0) 2 >Emitted(28, 4) Source(46, 4) + SourceIndex(0) 3 >Emitted(28, 5) Source(46, 5) + SourceIndex(0) 4 >Emitted(28, 6) Source(46, 11) + SourceIndex(0) -5 >Emitted(28, 24) Source(46, 23) + SourceIndex(0) -6 >Emitted(28, 26) Source(46, 11) + SourceIndex(0) -7 >Emitted(28, 59) Source(46, 23) + SourceIndex(0) -8 >Emitted(28, 61) Source(46, 35) + SourceIndex(0) -9 >Emitted(28, 62) Source(46, 36) + SourceIndex(0) -10>Emitted(28, 65) Source(46, 39) + SourceIndex(0) -11>Emitted(28, 66) Source(46, 40) + SourceIndex(0) -12>Emitted(28, 68) Source(46, 42) + SourceIndex(0) -13>Emitted(28, 69) Source(46, 43) + SourceIndex(0) -14>Emitted(28, 72) Source(46, 46) + SourceIndex(0) -15>Emitted(28, 73) Source(46, 47) + SourceIndex(0) -16>Emitted(28, 75) Source(46, 49) + SourceIndex(0) -17>Emitted(28, 76) Source(46, 50) + SourceIndex(0) -18>Emitted(28, 78) Source(46, 52) + SourceIndex(0) -19>Emitted(28, 80) Source(46, 54) + SourceIndex(0) -20>Emitted(28, 81) Source(46, 55) + SourceIndex(0) +5 >Emitted(28, 10) Source(46, 11) + SourceIndex(0) +6 >Emitted(28, 24) Source(46, 23) + SourceIndex(0) +7 >Emitted(28, 26) Source(46, 11) + SourceIndex(0) +8 >Emitted(28, 59) Source(46, 23) + SourceIndex(0) +9 >Emitted(28, 61) Source(46, 35) + SourceIndex(0) +10>Emitted(28, 62) Source(46, 36) + SourceIndex(0) +11>Emitted(28, 65) Source(46, 39) + SourceIndex(0) +12>Emitted(28, 66) Source(46, 40) + SourceIndex(0) +13>Emitted(28, 68) Source(46, 42) + SourceIndex(0) +14>Emitted(28, 69) Source(46, 43) + SourceIndex(0) +15>Emitted(28, 72) Source(46, 46) + SourceIndex(0) +16>Emitted(28, 73) Source(46, 47) + SourceIndex(0) +17>Emitted(28, 75) Source(46, 49) + SourceIndex(0) +18>Emitted(28, 76) Source(46, 50) + SourceIndex(0) +19>Emitted(28, 78) Source(46, 52) + SourceIndex(0) +20>Emitted(28, 80) Source(46, 54) + SourceIndex(0) +21>Emitted(28, 81) Source(46, 55) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1059,63 +1068,66 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > numberB = -1 -6 > -7 > numberB = -1 -8 > ] = getRobot(), -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > numberB = -1 +7 > +8 > numberB = -1 +9 > ] = getRobot(), +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(31, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(31, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(31, 5) Source(49, 5) + SourceIndex(0) 4 >Emitted(31, 6) Source(49, 11) + SourceIndex(0) -5 >Emitted(31, 28) Source(49, 23) + SourceIndex(0) -6 >Emitted(31, 30) Source(49, 11) + SourceIndex(0) -7 >Emitted(31, 63) Source(49, 23) + SourceIndex(0) -8 >Emitted(31, 65) Source(49, 39) + SourceIndex(0) -9 >Emitted(31, 66) Source(49, 40) + SourceIndex(0) -10>Emitted(31, 69) Source(49, 43) + SourceIndex(0) -11>Emitted(31, 70) Source(49, 44) + SourceIndex(0) -12>Emitted(31, 72) Source(49, 46) + SourceIndex(0) -13>Emitted(31, 73) Source(49, 47) + SourceIndex(0) -14>Emitted(31, 76) Source(49, 50) + SourceIndex(0) -15>Emitted(31, 77) Source(49, 51) + SourceIndex(0) -16>Emitted(31, 79) Source(49, 53) + SourceIndex(0) -17>Emitted(31, 80) Source(49, 54) + SourceIndex(0) -18>Emitted(31, 82) Source(49, 56) + SourceIndex(0) -19>Emitted(31, 84) Source(49, 58) + SourceIndex(0) -20>Emitted(31, 85) Source(49, 59) + SourceIndex(0) +5 >Emitted(31, 10) Source(49, 11) + SourceIndex(0) +6 >Emitted(31, 28) Source(49, 23) + SourceIndex(0) +7 >Emitted(31, 30) Source(49, 11) + SourceIndex(0) +8 >Emitted(31, 63) Source(49, 23) + SourceIndex(0) +9 >Emitted(31, 65) Source(49, 39) + SourceIndex(0) +10>Emitted(31, 66) Source(49, 40) + SourceIndex(0) +11>Emitted(31, 69) Source(49, 43) + SourceIndex(0) +12>Emitted(31, 70) Source(49, 44) + SourceIndex(0) +13>Emitted(31, 72) Source(49, 46) + SourceIndex(0) +14>Emitted(31, 73) Source(49, 47) + SourceIndex(0) +15>Emitted(31, 76) Source(49, 50) + SourceIndex(0) +16>Emitted(31, 77) Source(49, 51) + SourceIndex(0) +17>Emitted(31, 79) Source(49, 53) + SourceIndex(0) +18>Emitted(31, 80) Source(49, 54) + SourceIndex(0) +19>Emitted(31, 82) Source(49, 56) + SourceIndex(0) +20>Emitted(31, 84) Source(49, 58) + SourceIndex(0) +21>Emitted(31, 85) Source(49, 59) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1159,63 +1171,66 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > numberB = -1 -6 > -7 > numberB = -1 -8 > ] = [2, "trimmer", "trimming"], -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > numberB = -1 +7 > +8 > numberB = -1 +9 > ] = [2, "trimmer", "trimming"], +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(34, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(34, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(34, 5) Source(52, 5) + SourceIndex(0) 4 >Emitted(34, 6) Source(52, 11) + SourceIndex(0) -5 >Emitted(34, 44) Source(52, 23) + SourceIndex(0) -6 >Emitted(34, 46) Source(52, 11) + SourceIndex(0) -7 >Emitted(34, 79) Source(52, 23) + SourceIndex(0) -8 >Emitted(34, 81) Source(52, 55) + SourceIndex(0) -9 >Emitted(34, 82) Source(52, 56) + SourceIndex(0) -10>Emitted(34, 85) Source(52, 59) + SourceIndex(0) -11>Emitted(34, 86) Source(52, 60) + SourceIndex(0) -12>Emitted(34, 88) Source(52, 62) + SourceIndex(0) -13>Emitted(34, 89) Source(52, 63) + SourceIndex(0) -14>Emitted(34, 92) Source(52, 66) + SourceIndex(0) -15>Emitted(34, 93) Source(52, 67) + SourceIndex(0) -16>Emitted(34, 95) Source(52, 69) + SourceIndex(0) -17>Emitted(34, 96) Source(52, 70) + SourceIndex(0) -18>Emitted(34, 98) Source(52, 72) + SourceIndex(0) -19>Emitted(34, 100) Source(52, 74) + SourceIndex(0) -20>Emitted(34, 101) Source(52, 75) + SourceIndex(0) +5 >Emitted(34, 10) Source(52, 11) + SourceIndex(0) +6 >Emitted(34, 44) Source(52, 23) + SourceIndex(0) +7 >Emitted(34, 46) Source(52, 11) + SourceIndex(0) +8 >Emitted(34, 79) Source(52, 23) + SourceIndex(0) +9 >Emitted(34, 81) Source(52, 55) + SourceIndex(0) +10>Emitted(34, 82) Source(52, 56) + SourceIndex(0) +11>Emitted(34, 85) Source(52, 59) + SourceIndex(0) +12>Emitted(34, 86) Source(52, 60) + SourceIndex(0) +13>Emitted(34, 88) Source(52, 62) + SourceIndex(0) +14>Emitted(34, 89) Source(52, 63) + SourceIndex(0) +15>Emitted(34, 92) Source(52, 66) + SourceIndex(0) +16>Emitted(34, 93) Source(52, 67) + SourceIndex(0) +17>Emitted(34, 95) Source(52, 69) + SourceIndex(0) +18>Emitted(34, 96) Source(52, 70) + SourceIndex(0) +19>Emitted(34, 98) Source(52, 72) + SourceIndex(0) +20>Emitted(34, 100) Source(52, 74) + SourceIndex(0) +21>Emitted(34, 101) Source(52, 75) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1259,63 +1274,66 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB = "name" -6 > -7 > nameB = "name" -8 > ] = multiRobotA, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > nameB = "name" +7 > +8 > nameB = "name" +9 > ] = multiRobotA, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(37, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(55, 5) + SourceIndex(0) 4 >Emitted(37, 6) Source(55, 11) + SourceIndex(0) -5 >Emitted(37, 29) Source(55, 25) + SourceIndex(0) -6 >Emitted(37, 31) Source(55, 11) + SourceIndex(0) -7 >Emitted(37, 66) Source(55, 25) + SourceIndex(0) -8 >Emitted(37, 68) Source(55, 42) + SourceIndex(0) -9 >Emitted(37, 69) Source(55, 43) + SourceIndex(0) -10>Emitted(37, 72) Source(55, 46) + SourceIndex(0) -11>Emitted(37, 73) Source(55, 47) + SourceIndex(0) -12>Emitted(37, 75) Source(55, 49) + SourceIndex(0) -13>Emitted(37, 76) Source(55, 50) + SourceIndex(0) -14>Emitted(37, 79) Source(55, 53) + SourceIndex(0) -15>Emitted(37, 80) Source(55, 54) + SourceIndex(0) -16>Emitted(37, 82) Source(55, 56) + SourceIndex(0) -17>Emitted(37, 83) Source(55, 57) + SourceIndex(0) -18>Emitted(37, 85) Source(55, 59) + SourceIndex(0) -19>Emitted(37, 87) Source(55, 61) + SourceIndex(0) -20>Emitted(37, 88) Source(55, 62) + SourceIndex(0) +5 >Emitted(37, 10) Source(55, 11) + SourceIndex(0) +6 >Emitted(37, 29) Source(55, 25) + SourceIndex(0) +7 >Emitted(37, 31) Source(55, 11) + SourceIndex(0) +8 >Emitted(37, 66) Source(55, 25) + SourceIndex(0) +9 >Emitted(37, 68) Source(55, 42) + SourceIndex(0) +10>Emitted(37, 69) Source(55, 43) + SourceIndex(0) +11>Emitted(37, 72) Source(55, 46) + SourceIndex(0) +12>Emitted(37, 73) Source(55, 47) + SourceIndex(0) +13>Emitted(37, 75) Source(55, 49) + SourceIndex(0) +14>Emitted(37, 76) Source(55, 50) + SourceIndex(0) +15>Emitted(37, 79) Source(55, 53) + SourceIndex(0) +16>Emitted(37, 80) Source(55, 54) + SourceIndex(0) +17>Emitted(37, 82) Source(55, 56) + SourceIndex(0) +18>Emitted(37, 83) Source(55, 57) + SourceIndex(0) +19>Emitted(37, 85) Source(55, 59) + SourceIndex(0) +20>Emitted(37, 87) Source(55, 61) + SourceIndex(0) +21>Emitted(37, 88) Source(55, 62) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1359,63 +1377,66 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB = "name" -6 > -7 > nameB = "name" -8 > ] = getMultiRobot(), -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > nameB = "name" +7 > +8 > nameB = "name" +9 > ] = getMultiRobot(), +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(40, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(40, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(40, 5) Source(58, 5) + SourceIndex(0) 4 >Emitted(40, 6) Source(58, 11) + SourceIndex(0) -5 >Emitted(40, 33) Source(58, 25) + SourceIndex(0) -6 >Emitted(40, 35) Source(58, 11) + SourceIndex(0) -7 >Emitted(40, 70) Source(58, 25) + SourceIndex(0) -8 >Emitted(40, 72) Source(58, 46) + SourceIndex(0) -9 >Emitted(40, 73) Source(58, 47) + SourceIndex(0) -10>Emitted(40, 76) Source(58, 50) + SourceIndex(0) -11>Emitted(40, 77) Source(58, 51) + SourceIndex(0) -12>Emitted(40, 79) Source(58, 53) + SourceIndex(0) -13>Emitted(40, 80) Source(58, 54) + SourceIndex(0) -14>Emitted(40, 83) Source(58, 57) + SourceIndex(0) -15>Emitted(40, 84) Source(58, 58) + SourceIndex(0) -16>Emitted(40, 86) Source(58, 60) + SourceIndex(0) -17>Emitted(40, 87) Source(58, 61) + SourceIndex(0) -18>Emitted(40, 89) Source(58, 63) + SourceIndex(0) -19>Emitted(40, 91) Source(58, 65) + SourceIndex(0) -20>Emitted(40, 92) Source(58, 66) + SourceIndex(0) +5 >Emitted(40, 10) Source(58, 11) + SourceIndex(0) +6 >Emitted(40, 33) Source(58, 25) + SourceIndex(0) +7 >Emitted(40, 35) Source(58, 11) + SourceIndex(0) +8 >Emitted(40, 70) Source(58, 25) + SourceIndex(0) +9 >Emitted(40, 72) Source(58, 46) + SourceIndex(0) +10>Emitted(40, 73) Source(58, 47) + SourceIndex(0) +11>Emitted(40, 76) Source(58, 50) + SourceIndex(0) +12>Emitted(40, 77) Source(58, 51) + SourceIndex(0) +13>Emitted(40, 79) Source(58, 53) + SourceIndex(0) +14>Emitted(40, 80) Source(58, 54) + SourceIndex(0) +15>Emitted(40, 83) Source(58, 57) + SourceIndex(0) +16>Emitted(40, 84) Source(58, 58) + SourceIndex(0) +17>Emitted(40, 86) Source(58, 60) + SourceIndex(0) +18>Emitted(40, 87) Source(58, 61) + SourceIndex(0) +19>Emitted(40, 89) Source(58, 63) + SourceIndex(0) +20>Emitted(40, 91) Source(58, 65) + SourceIndex(0) +21>Emitted(40, 92) Source(58, 66) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1459,63 +1480,66 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let [ -5 > nameB = "name" -6 > -7 > nameB = "name" -8 > ] = ["trimmer", ["trimming", "edging"]], -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > nameB = "name" +7 > +8 > nameB = "name" +9 > ] = ["trimmer", ["trimming", "edging"]], +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(43, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(43, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(43, 5) Source(61, 5) + SourceIndex(0) 4 >Emitted(43, 6) Source(61, 11) + SourceIndex(0) -5 >Emitted(43, 53) Source(61, 25) + SourceIndex(0) -6 >Emitted(43, 55) Source(61, 11) + SourceIndex(0) -7 >Emitted(43, 90) Source(61, 25) + SourceIndex(0) -8 >Emitted(43, 92) Source(61, 66) + SourceIndex(0) -9 >Emitted(43, 93) Source(61, 67) + SourceIndex(0) -10>Emitted(43, 96) Source(61, 70) + SourceIndex(0) -11>Emitted(43, 97) Source(61, 71) + SourceIndex(0) -12>Emitted(43, 99) Source(61, 73) + SourceIndex(0) -13>Emitted(43, 100) Source(61, 74) + SourceIndex(0) -14>Emitted(43, 103) Source(61, 77) + SourceIndex(0) -15>Emitted(43, 104) Source(61, 78) + SourceIndex(0) -16>Emitted(43, 106) Source(61, 80) + SourceIndex(0) -17>Emitted(43, 107) Source(61, 81) + SourceIndex(0) -18>Emitted(43, 109) Source(61, 83) + SourceIndex(0) -19>Emitted(43, 111) Source(61, 85) + SourceIndex(0) -20>Emitted(43, 112) Source(61, 86) + SourceIndex(0) +5 >Emitted(43, 10) Source(61, 11) + SourceIndex(0) +6 >Emitted(43, 53) Source(61, 25) + SourceIndex(0) +7 >Emitted(43, 55) Source(61, 11) + SourceIndex(0) +8 >Emitted(43, 90) Source(61, 25) + SourceIndex(0) +9 >Emitted(43, 92) Source(61, 66) + SourceIndex(0) +10>Emitted(43, 93) Source(61, 67) + SourceIndex(0) +11>Emitted(43, 96) Source(61, 70) + SourceIndex(0) +12>Emitted(43, 97) Source(61, 71) + SourceIndex(0) +13>Emitted(43, 99) Source(61, 73) + SourceIndex(0) +14>Emitted(43, 100) Source(61, 74) + SourceIndex(0) +15>Emitted(43, 103) Source(61, 77) + SourceIndex(0) +16>Emitted(43, 104) Source(61, 78) + SourceIndex(0) +17>Emitted(43, 106) Source(61, 80) + SourceIndex(0) +18>Emitted(43, 107) Source(61, 81) + SourceIndex(0) +19>Emitted(43, 109) Source(61, 83) + SourceIndex(0) +20>Emitted(43, 111) Source(61, 85) + SourceIndex(0) +21>Emitted(43, 112) Source(61, 86) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1559,88 +1583,91 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^ +28> ^^ +29> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberA2 = -1 -6 > -7 > numberA2 = -1 -8 > , -9 > nameA2 = "name" -10> -11> nameA2 = "name" -12> , -13> skillA2 = "skill" -14> -15> skillA2 = "skill" -16> ] = robotA, -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > +6 > numberA2 = -1 +7 > +8 > numberA2 = -1 +9 > , +10> nameA2 = "name" +11> +12> nameA2 = "name" +13> , +14> skillA2 = "skill" +15> +16> skillA2 = "skill" +17> ] = robotA, +18> i +19> = +20> 0 +21> ; +22> i +23> < +24> 1 +25> ; +26> i +27> ++ +28> ) +29> { 1->Emitted(46, 1) Source(65, 1) + SourceIndex(0) 2 >Emitted(46, 4) Source(65, 4) + SourceIndex(0) 3 >Emitted(46, 5) Source(65, 5) + SourceIndex(0) 4 >Emitted(46, 6) Source(65, 11) + SourceIndex(0) -5 >Emitted(46, 24) Source(65, 24) + SourceIndex(0) -6 >Emitted(46, 26) Source(65, 11) + SourceIndex(0) -7 >Emitted(46, 60) Source(65, 24) + SourceIndex(0) -8 >Emitted(46, 62) Source(65, 26) + SourceIndex(0) -9 >Emitted(46, 76) Source(65, 41) + SourceIndex(0) -10>Emitted(46, 78) Source(65, 26) + SourceIndex(0) -11>Emitted(46, 114) Source(65, 41) + SourceIndex(0) -12>Emitted(46, 116) Source(65, 43) + SourceIndex(0) -13>Emitted(46, 130) Source(65, 60) + SourceIndex(0) -14>Emitted(46, 132) Source(65, 43) + SourceIndex(0) -15>Emitted(46, 170) Source(65, 60) + SourceIndex(0) -16>Emitted(46, 172) Source(65, 72) + SourceIndex(0) -17>Emitted(46, 173) Source(65, 73) + SourceIndex(0) -18>Emitted(46, 176) Source(65, 76) + SourceIndex(0) -19>Emitted(46, 177) Source(65, 77) + SourceIndex(0) -20>Emitted(46, 179) Source(65, 79) + SourceIndex(0) -21>Emitted(46, 180) Source(65, 80) + SourceIndex(0) -22>Emitted(46, 183) Source(65, 83) + SourceIndex(0) -23>Emitted(46, 184) Source(65, 84) + SourceIndex(0) -24>Emitted(46, 186) Source(65, 86) + SourceIndex(0) -25>Emitted(46, 187) Source(65, 87) + SourceIndex(0) -26>Emitted(46, 189) Source(65, 89) + SourceIndex(0) -27>Emitted(46, 191) Source(65, 91) + SourceIndex(0) -28>Emitted(46, 192) Source(65, 92) + SourceIndex(0) +5 >Emitted(46, 10) Source(65, 11) + SourceIndex(0) +6 >Emitted(46, 24) Source(65, 24) + SourceIndex(0) +7 >Emitted(46, 26) Source(65, 11) + SourceIndex(0) +8 >Emitted(46, 60) Source(65, 24) + SourceIndex(0) +9 >Emitted(46, 62) Source(65, 26) + SourceIndex(0) +10>Emitted(46, 76) Source(65, 41) + SourceIndex(0) +11>Emitted(46, 78) Source(65, 26) + SourceIndex(0) +12>Emitted(46, 114) Source(65, 41) + SourceIndex(0) +13>Emitted(46, 116) Source(65, 43) + SourceIndex(0) +14>Emitted(46, 130) Source(65, 60) + SourceIndex(0) +15>Emitted(46, 132) Source(65, 43) + SourceIndex(0) +16>Emitted(46, 170) Source(65, 60) + SourceIndex(0) +17>Emitted(46, 172) Source(65, 72) + SourceIndex(0) +18>Emitted(46, 173) Source(65, 73) + SourceIndex(0) +19>Emitted(46, 176) Source(65, 76) + SourceIndex(0) +20>Emitted(46, 177) Source(65, 77) + SourceIndex(0) +21>Emitted(46, 179) Source(65, 79) + SourceIndex(0) +22>Emitted(46, 180) Source(65, 80) + SourceIndex(0) +23>Emitted(46, 183) Source(65, 83) + SourceIndex(0) +24>Emitted(46, 184) Source(65, 84) + SourceIndex(0) +25>Emitted(46, 186) Source(65, 86) + SourceIndex(0) +26>Emitted(46, 187) Source(65, 87) + SourceIndex(0) +27>Emitted(46, 189) Source(65, 89) + SourceIndex(0) +28>Emitted(46, 191) Source(65, 91) + SourceIndex(0) +29>Emitted(46, 192) Source(65, 92) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1715,9 +1742,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot() +6 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot() 7 > 8 > numberA2 = -1 9 > @@ -1746,8 +1773,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(49, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(68, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(68, 5) + SourceIndex(0) -4 >Emitted(49, 6) Source(68, 6) + SourceIndex(0) -5 >Emitted(49, 10) Source(68, 6) + SourceIndex(0) +4 >Emitted(49, 6) Source(68, 10) + SourceIndex(0) +5 >Emitted(49, 10) Source(68, 10) + SourceIndex(0) 6 >Emitted(49, 25) Source(68, 74) + SourceIndex(0) 7 >Emitted(49, 27) Source(68, 11) + SourceIndex(0) 8 >Emitted(49, 37) Source(68, 24) + SourceIndex(0) @@ -1848,9 +1875,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"] +6 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"] 7 > 8 > numberA2 = -1 9 > @@ -1879,8 +1906,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(52, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(52, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(52, 5) Source(71, 5) + SourceIndex(0) -4 >Emitted(52, 6) Source(71, 6) + SourceIndex(0) -5 >Emitted(52, 10) Source(71, 6) + SourceIndex(0) +4 >Emitted(52, 6) Source(71, 10) + SourceIndex(0) +5 >Emitted(52, 10) Source(71, 10) + SourceIndex(0) 6 >Emitted(52, 41) Source(71, 90) + SourceIndex(0) 7 >Emitted(52, 43) Source(71, 11) + SourceIndex(0) 8 >Emitted(52, 53) Source(71, 24) + SourceIndex(0) @@ -1950,110 +1977,113 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^^^^^^^^^^^^ -18> ^^ -19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^^^^^^^^^^^^ +19> ^^ +20> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^^ +28> ^ +29> ^^ +30> ^ +31> ^^ +32> ^^ +33> ^ 1-> > 2 >for 3 > 4 > (let > [ -5 > nameMA = "noName" -6 > -7 > nameMA = "noName" -8 > , +5 > +6 > nameMA = "noName" +7 > +8 > nameMA = "noName" +9 > , > -9 > [ +10> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"] -10> -11> [ +11> +12> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"] -12> -13> primarySkillA = "primary" -14> -15> primarySkillA = "primary" -16> , +13> +14> primarySkillA = "primary" +15> +16> primarySkillA = "primary" +17> , > -17> secondarySkillA = "secondary" -18> -19> secondarySkillA = "secondary" -20> +18> secondarySkillA = "secondary" +19> +20> secondarySkillA = "secondary" +21> > ] = ["none", "none"] > ] = multiRobotA, -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +22> i +23> = +24> 0 +25> ; +26> i +27> < +28> 1 +29> ; +30> i +31> ++ +32> ) +33> { 1->Emitted(55, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(55, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(55, 5) Source(74, 5) + SourceIndex(0) 4 >Emitted(55, 6) Source(75, 6) + SourceIndex(0) -5 >Emitted(55, 30) Source(75, 23) + SourceIndex(0) -6 >Emitted(55, 32) Source(75, 6) + SourceIndex(0) -7 >Emitted(55, 72) Source(75, 23) + SourceIndex(0) -8 >Emitted(55, 74) Source(76, 9) + SourceIndex(0) -9 >Emitted(55, 94) Source(79, 29) + SourceIndex(0) -10>Emitted(55, 96) Source(76, 9) + SourceIndex(0) -11>Emitted(55, 141) Source(79, 29) + SourceIndex(0) -12>Emitted(55, 143) Source(77, 13) + SourceIndex(0) -13>Emitted(55, 155) Source(77, 38) + SourceIndex(0) -14>Emitted(55, 157) Source(77, 13) + SourceIndex(0) -15>Emitted(55, 205) Source(77, 38) + SourceIndex(0) -16>Emitted(55, 207) Source(78, 13) + SourceIndex(0) -17>Emitted(55, 219) Source(78, 42) + SourceIndex(0) -18>Emitted(55, 221) Source(78, 13) + SourceIndex(0) -19>Emitted(55, 273) Source(78, 42) + SourceIndex(0) -20>Emitted(55, 275) Source(80, 22) + SourceIndex(0) -21>Emitted(55, 276) Source(80, 23) + SourceIndex(0) -22>Emitted(55, 279) Source(80, 26) + SourceIndex(0) -23>Emitted(55, 280) Source(80, 27) + SourceIndex(0) -24>Emitted(55, 282) Source(80, 29) + SourceIndex(0) -25>Emitted(55, 283) Source(80, 30) + SourceIndex(0) -26>Emitted(55, 286) Source(80, 33) + SourceIndex(0) -27>Emitted(55, 287) Source(80, 34) + SourceIndex(0) -28>Emitted(55, 289) Source(80, 36) + SourceIndex(0) -29>Emitted(55, 290) Source(80, 37) + SourceIndex(0) -30>Emitted(55, 292) Source(80, 39) + SourceIndex(0) -31>Emitted(55, 294) Source(80, 41) + SourceIndex(0) -32>Emitted(55, 295) Source(80, 42) + SourceIndex(0) +5 >Emitted(55, 10) Source(75, 6) + SourceIndex(0) +6 >Emitted(55, 30) Source(75, 23) + SourceIndex(0) +7 >Emitted(55, 32) Source(75, 6) + SourceIndex(0) +8 >Emitted(55, 72) Source(75, 23) + SourceIndex(0) +9 >Emitted(55, 74) Source(76, 9) + SourceIndex(0) +10>Emitted(55, 94) Source(79, 29) + SourceIndex(0) +11>Emitted(55, 96) Source(76, 9) + SourceIndex(0) +12>Emitted(55, 141) Source(79, 29) + SourceIndex(0) +13>Emitted(55, 143) Source(77, 13) + SourceIndex(0) +14>Emitted(55, 155) Source(77, 38) + SourceIndex(0) +15>Emitted(55, 157) Source(77, 13) + SourceIndex(0) +16>Emitted(55, 205) Source(77, 38) + SourceIndex(0) +17>Emitted(55, 207) Source(78, 13) + SourceIndex(0) +18>Emitted(55, 219) Source(78, 42) + SourceIndex(0) +19>Emitted(55, 221) Source(78, 13) + SourceIndex(0) +20>Emitted(55, 273) Source(78, 42) + SourceIndex(0) +21>Emitted(55, 275) Source(80, 22) + SourceIndex(0) +22>Emitted(55, 276) Source(80, 23) + SourceIndex(0) +23>Emitted(55, 279) Source(80, 26) + SourceIndex(0) +24>Emitted(55, 280) Source(80, 27) + SourceIndex(0) +25>Emitted(55, 282) Source(80, 29) + SourceIndex(0) +26>Emitted(55, 283) Source(80, 30) + SourceIndex(0) +27>Emitted(55, 286) Source(80, 33) + SourceIndex(0) +28>Emitted(55, 287) Source(80, 34) + SourceIndex(0) +29>Emitted(55, 289) Source(80, 36) + SourceIndex(0) +30>Emitted(55, 290) Source(80, 37) + SourceIndex(0) +31>Emitted(55, 292) Source(80, 39) + SourceIndex(0) +32>Emitted(55, 294) Source(80, 41) + SourceIndex(0) +33>Emitted(55, 295) Source(80, 42) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2132,9 +2162,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [nameMA = "noName", +6 > [nameMA = "noName", > [ > primarySkillA = "primary", > secondarySkillA = "secondary" @@ -2182,8 +2212,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(58, 1) Source(83, 1) + SourceIndex(0) 2 >Emitted(58, 4) Source(83, 4) + SourceIndex(0) 3 >Emitted(58, 5) Source(83, 5) + SourceIndex(0) -4 >Emitted(58, 6) Source(83, 6) + SourceIndex(0) -5 >Emitted(58, 10) Source(83, 6) + SourceIndex(0) +4 >Emitted(58, 6) Source(83, 10) + SourceIndex(0) +5 >Emitted(58, 10) Source(83, 10) + SourceIndex(0) 6 >Emitted(58, 31) Source(88, 21) + SourceIndex(0) 7 >Emitted(58, 33) Source(83, 11) + SourceIndex(0) 8 >Emitted(58, 45) Source(83, 28) + SourceIndex(0) @@ -2292,9 +2322,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [nameMA = "noName", +6 > [nameMA = "noName", > [ > primarySkillA = "primary", > secondarySkillA = "secondary" @@ -2342,8 +2372,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(61, 1) Source(91, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(91, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(91, 5) + SourceIndex(0) -4 >Emitted(61, 6) Source(91, 6) + SourceIndex(0) -5 >Emitted(61, 10) Source(91, 6) + SourceIndex(0) +4 >Emitted(61, 6) Source(91, 10) + SourceIndex(0) +5 >Emitted(61, 10) Source(91, 10) + SourceIndex(0) 6 >Emitted(61, 51) Source(96, 41) + SourceIndex(0) 7 >Emitted(61, 53) Source(91, 11) + SourceIndex(0) 8 >Emitted(61, 65) Source(91, 28) + SourceIndex(0) @@ -2417,70 +2447,73 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > > 2 >for 3 > 4 > (let [ -5 > numberA3 = -1 -6 > -7 > numberA3 = -1 -8 > , -9 > ...robotAInfo -10> ] = robotA, -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > +6 > numberA3 = -1 +7 > +8 > numberA3 = -1 +9 > , +10> ...robotAInfo +11> ] = robotA, +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(64, 1) Source(100, 1) + SourceIndex(0) 2 >Emitted(64, 4) Source(100, 4) + SourceIndex(0) 3 >Emitted(64, 5) Source(100, 5) + SourceIndex(0) 4 >Emitted(64, 6) Source(100, 11) + SourceIndex(0) -5 >Emitted(64, 25) Source(100, 24) + SourceIndex(0) -6 >Emitted(64, 27) Source(100, 11) + SourceIndex(0) -7 >Emitted(64, 63) Source(100, 24) + SourceIndex(0) -8 >Emitted(64, 65) Source(100, 26) + SourceIndex(0) -9 >Emitted(64, 93) Source(100, 39) + SourceIndex(0) -10>Emitted(64, 95) Source(100, 51) + SourceIndex(0) -11>Emitted(64, 96) Source(100, 52) + SourceIndex(0) -12>Emitted(64, 99) Source(100, 55) + SourceIndex(0) -13>Emitted(64, 100) Source(100, 56) + SourceIndex(0) -14>Emitted(64, 102) Source(100, 58) + SourceIndex(0) -15>Emitted(64, 103) Source(100, 59) + SourceIndex(0) -16>Emitted(64, 106) Source(100, 62) + SourceIndex(0) -17>Emitted(64, 107) Source(100, 63) + SourceIndex(0) -18>Emitted(64, 109) Source(100, 65) + SourceIndex(0) -19>Emitted(64, 110) Source(100, 66) + SourceIndex(0) -20>Emitted(64, 112) Source(100, 68) + SourceIndex(0) -21>Emitted(64, 114) Source(100, 70) + SourceIndex(0) -22>Emitted(64, 115) Source(100, 71) + SourceIndex(0) +5 >Emitted(64, 10) Source(100, 11) + SourceIndex(0) +6 >Emitted(64, 25) Source(100, 24) + SourceIndex(0) +7 >Emitted(64, 27) Source(100, 11) + SourceIndex(0) +8 >Emitted(64, 63) Source(100, 24) + SourceIndex(0) +9 >Emitted(64, 65) Source(100, 26) + SourceIndex(0) +10>Emitted(64, 93) Source(100, 39) + SourceIndex(0) +11>Emitted(64, 95) Source(100, 51) + SourceIndex(0) +12>Emitted(64, 96) Source(100, 52) + SourceIndex(0) +13>Emitted(64, 99) Source(100, 55) + SourceIndex(0) +14>Emitted(64, 100) Source(100, 56) + SourceIndex(0) +15>Emitted(64, 102) Source(100, 58) + SourceIndex(0) +16>Emitted(64, 103) Source(100, 59) + SourceIndex(0) +17>Emitted(64, 106) Source(100, 62) + SourceIndex(0) +18>Emitted(64, 107) Source(100, 63) + SourceIndex(0) +19>Emitted(64, 109) Source(100, 65) + SourceIndex(0) +20>Emitted(64, 110) Source(100, 66) + SourceIndex(0) +21>Emitted(64, 112) Source(100, 68) + SourceIndex(0) +22>Emitted(64, 114) Source(100, 70) + SourceIndex(0) +23>Emitted(64, 115) Source(100, 71) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2549,9 +2582,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA3 = -1, ...robotAInfo] = getRobot() +6 > [numberA3 = -1, ...robotAInfo] = getRobot() 7 > 8 > numberA3 = -1 9 > @@ -2574,8 +2607,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(67, 1) Source(103, 1) + SourceIndex(0) 2 >Emitted(67, 4) Source(103, 4) + SourceIndex(0) 3 >Emitted(67, 5) Source(103, 5) + SourceIndex(0) -4 >Emitted(67, 6) Source(103, 6) + SourceIndex(0) -5 >Emitted(67, 10) Source(103, 6) + SourceIndex(0) +4 >Emitted(67, 6) Source(103, 10) + SourceIndex(0) +5 >Emitted(67, 10) Source(103, 10) + SourceIndex(0) 6 >Emitted(67, 26) Source(103, 53) + SourceIndex(0) 7 >Emitted(67, 28) Source(103, 11) + SourceIndex(0) 8 >Emitted(67, 40) Source(103, 24) + SourceIndex(0) @@ -2664,9 +2697,9 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"] +6 > [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"] 7 > 8 > numberA3 = -1 9 > @@ -2689,8 +2722,8 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.t 1->Emitted(70, 1) Source(106, 1) + SourceIndex(0) 2 >Emitted(70, 4) Source(106, 4) + SourceIndex(0) 3 >Emitted(70, 5) Source(106, 5) + SourceIndex(0) -4 >Emitted(70, 6) Source(106, 6) + SourceIndex(0) -5 >Emitted(70, 10) Source(106, 6) + SourceIndex(0) +4 >Emitted(70, 6) Source(106, 10) + SourceIndex(0) +5 >Emitted(70, 10) Source(106, 10) + SourceIndex(0) 6 >Emitted(70, 42) Source(106, 69) + SourceIndex(0) 7 >Emitted(70, 44) Source(106, 11) + SourceIndex(0) 8 >Emitted(70, 56) Source(106, 24) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types index 245328296eb..443f22bbab8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types @@ -16,9 +16,9 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function getRobot() { >getRobot : () => [number, string, string] @@ -31,19 +31,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, string[]] >MultiSkilledRobot : [string, string[]] >["mower", ["mowing", ""]] : [string, string[]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : string[] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, string[]] >MultiSkilledRobot : [string, string[]] >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function getMultiRobot() { >getMultiRobot : () => [string, string[]] @@ -55,13 +55,13 @@ function getMultiRobot() { for (let [, nameA ="name"] = robotA, i = 0; i < 1; i++) { > : undefined >nameA : string ->"name" : string +>"name" : "name" >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -75,14 +75,14 @@ for (let [, nameA ="name"] = robotA, i = 0; i < 1; i++) { for (let [, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { > : undefined >nameA : string ->"name" : string +>"name" : "name" >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -96,16 +96,16 @@ for (let [, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { for (let [, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { > : undefined >nameA : string ->"name" : string +>"name" : "name" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -121,22 +121,22 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = multiRobotA, i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >multiRobotA : [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -152,23 +152,23 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = getMultiRobot(), i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >getMultiRobot() : [string, string[]] >getMultiRobot : () => [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -184,26 +184,26 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -217,14 +217,14 @@ for (let [, [ for (let [numberB = -1] = robotA, i = 0; i < 1; i++) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -237,15 +237,15 @@ for (let [numberB = -1] = robotA, i = 0; i < 1; i++) { } for (let [numberB = -1] = getRobot(), i = 0; i < 1; i++) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -258,17 +258,17 @@ for (let [numberB = -1] = getRobot(), i = 0; i < 1; i++) { } for (let [numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -281,13 +281,13 @@ for (let [numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { } for (let [nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >nameB : string ->"name" : string +>"name" : "name" >multiRobotA : [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -300,14 +300,14 @@ for (let [nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { } for (let [nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >nameB : string ->"name" : string +>"name" : "name" >getMultiRobot() : [string, string[]] >getMultiRobot : () => [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -320,17 +320,17 @@ for (let [nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { } for (let [nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >nameB : string ->"name" : string +>"name" : "name" >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -344,18 +344,18 @@ for (let [nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; i++) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"name" : string +>"name" : "name" >skillA2 : string ->"skill" : string +>"skill" : "skill" >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -368,19 +368,19 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i } for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i < 1; i++) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"name" : string +>"name" : "name" >skillA2 : string ->"skill" : string +>"skill" : "skill" >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -393,21 +393,21 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0 } for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"name" : string +>"name" : "name" >skillA2 : string ->"skill" : string +>"skill" : "skill" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -421,29 +421,29 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "t for (let [nameMA = "noName", >nameMA : string ->"noName" : string +>"noName" : "noName" [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = multiRobotA, i = 0; i < 1; i++) { >multiRobotA : [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -456,30 +456,30 @@ for (let } for (let [nameMA = "noName", >nameMA : string ->"noName" : string +>"noName" : "noName" [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : [string, string[]] >getMultiRobot : () => [string, string[]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -492,33 +492,33 @@ for (let [nameMA = "noName", } for (let [nameMA = "noName", >nameMA : string ->"noName" : string +>"noName" : "noName" [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -532,15 +532,15 @@ for (let [nameMA = "noName", for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >robotA : [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -553,16 +553,16 @@ for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { } for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -574,19 +574,19 @@ for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number } for (let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->numberA3 : number | string ->-1 : number ->1 : number ->robotAInfo : (number | string)[] ->[2, "trimmer", "trimming"] : (number | string)[] ->2 : number ->"trimmer" : string ->"trimming" : string +>numberA3 : string | number +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] +>[2, "trimmer", "trimming"] : (string | number)[] +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -595,5 +595,5 @@ for (let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < >console.log : (msg: any) => void >console : { log(msg: any): void; } >log : (msg: any) => void ->numberA3 : number | string +>numberA3 : string | number } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js index fb2fa4f81f8..7192ed98dbe 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js @@ -129,67 +129,67 @@ var numberB, nameB; var numberA2, nameA2, skillA2, nameMA; var numberA3, robotAInfo, multiRobotAInfo; var i; -for ((_a = robotA[1], nameA = _a === void 0 ? "name" : _a, robotA), i = 0; i < 1; i++) { +for (_a = robotA[1], nameA = _a === void 0 ? "name" : _a, robotA, i = 0; i < 1; i++) { console.log(nameA); } -for ((_b = getRobot(), _c = _b[1], nameA = _c === void 0 ? "name" : _c, _b), i = 0; i < 1; i++) { +for (_b = getRobot(), _c = _b[1], nameA = _c === void 0 ? "name" : _c, _b, i = 0; i < 1; i++) { console.log(nameA); } -for ((_d = [2, "trimmer", "trimming"], _e = _d[1], nameA = _e === void 0 ? "name" : _e, _d), i = 0; i < 1; i++) { +for (_d = [2, "trimmer", "trimming"], _e = _d[1], nameA = _e === void 0 ? "name" : _e, _d, i = 0; i < 1; i++) { console.log(nameA); } -for ((_f = multiRobotA[1], _g = _f === void 0 ? ["none", "none"] : _f, _h = _g[0], primarySkillA = _h === void 0 ? "primary" : _h, _j = _g[1], secondarySkillA = _j === void 0 ? "secondary" : _j, multiRobotA), i = 0; i < 1; i++) { +for (_f = multiRobotA[1], _g = _f === void 0 ? ["none", "none"] : _f, _h = _g[0], primarySkillA = _h === void 0 ? "primary" : _h, _j = _g[1], secondarySkillA = _j === void 0 ? "secondary" : _j, multiRobotA, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((_k = getMultiRobot(), _l = _k[1], _m = _l === void 0 ? ["none", "none"] : _l, _o = _m[0], primarySkillA = _o === void 0 ? "primary" : _o, _p = _m[1], secondarySkillA = _p === void 0 ? "secondary" : _p, _k), i = 0; i < 1; i++) { +for (_k = getMultiRobot(), _l = _k[1], _m = _l === void 0 ? ["none", "none"] : _l, _o = _m[0], primarySkillA = _o === void 0 ? "primary" : _o, _p = _m[1], secondarySkillA = _p === void 0 ? "secondary" : _p, _k, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((_q = ["trimmer", ["trimming", "edging"]], _r = _q[1], _s = _r === void 0 ? ["none", "none"] : _r, _t = _s[0], primarySkillA = _t === void 0 ? "primary" : _t, _u = _s[1], secondarySkillA = _u === void 0 ? "secondary" : _u, _q), i = 0; i < 1; i++) { +for (_q = ["trimmer", ["trimming", "edging"]], _r = _q[1], _s = _r === void 0 ? ["none", "none"] : _r, _t = _s[0], primarySkillA = _t === void 0 ? "primary" : _t, _u = _s[1], secondarySkillA = _u === void 0 ? "secondary" : _u, _q, i = 0; i < 1; i++) { console.log(primarySkillA); } -for ((_v = robotA[0], numberB = _v === void 0 ? -1 : _v, robotA), i = 0; i < 1; i++) { +for (_v = robotA[0], numberB = _v === void 0 ? -1 : _v, robotA, i = 0; i < 1; i++) { console.log(numberB); } -for ((_w = getRobot(), _x = _w[0], numberB = _x === void 0 ? -1 : _x, _w), i = 0; i < 1; i++) { +for (_w = getRobot(), _x = _w[0], numberB = _x === void 0 ? -1 : _x, _w, i = 0; i < 1; i++) { console.log(numberB); } -for ((_y = [2, "trimmer", "trimming"], _z = _y[0], numberB = _z === void 0 ? -1 : _z, _y), i = 0; i < 1; i++) { +for (_y = [2, "trimmer", "trimming"], _z = _y[0], numberB = _z === void 0 ? -1 : _z, _y, i = 0; i < 1; i++) { console.log(numberB); } -for ((_0 = multiRobotA[0], nameB = _0 === void 0 ? "name" : _0, multiRobotA), i = 0; i < 1; i++) { +for (_0 = multiRobotA[0], nameB = _0 === void 0 ? "name" : _0, multiRobotA, i = 0; i < 1; i++) { console.log(nameB); } -for ((_1 = getMultiRobot(), _2 = _1[0], nameB = _2 === void 0 ? "name" : _2, _1), i = 0; i < 1; i++) { +for (_1 = getMultiRobot(), _2 = _1[0], nameB = _2 === void 0 ? "name" : _2, _1, i = 0; i < 1; i++) { console.log(nameB); } -for ((_3 = ["trimmer", ["trimming", "edging"]], _4 = _3[0], nameB = _4 === void 0 ? "name" : _4, _3), i = 0; i < 1; i++) { +for (_3 = ["trimmer", ["trimming", "edging"]], _4 = _3[0], nameB = _4 === void 0 ? "name" : _4, _3, i = 0; i < 1; i++) { console.log(nameB); } -for ((_5 = robotA[0], numberA2 = _5 === void 0 ? -1 : _5, _6 = robotA[1], nameA2 = _6 === void 0 ? "name" : _6, _7 = robotA[2], skillA2 = _7 === void 0 ? "skill" : _7, robotA), i = 0; i < 1; i++) { +for (_5 = robotA[0], numberA2 = _5 === void 0 ? -1 : _5, _6 = robotA[1], nameA2 = _6 === void 0 ? "name" : _6, _7 = robotA[2], skillA2 = _7 === void 0 ? "skill" : _7, robotA, i = 0; i < 1; i++) { console.log(nameA2); } -for ((_8 = getRobot(), _9 = _8[0], numberA2 = _9 === void 0 ? -1 : _9, _10 = _8[1], nameA2 = _10 === void 0 ? "name" : _10, _11 = _8[2], skillA2 = _11 === void 0 ? "skill" : _11, _8), i = 0; i < 1; i++) { +for (_8 = getRobot(), _9 = _8[0], numberA2 = _9 === void 0 ? -1 : _9, _10 = _8[1], nameA2 = _10 === void 0 ? "name" : _10, _11 = _8[2], skillA2 = _11 === void 0 ? "skill" : _11, _8, i = 0; i < 1; i++) { console.log(nameA2); } -for ((_12 = [2, "trimmer", "trimming"], _13 = _12[0], numberA2 = _13 === void 0 ? -1 : _13, _14 = _12[1], nameA2 = _14 === void 0 ? "name" : _14, _15 = _12[2], skillA2 = _15 === void 0 ? "skill" : _15, _12), i = 0; i < 1; i++) { +for (_12 = [2, "trimmer", "trimming"], _13 = _12[0], numberA2 = _13 === void 0 ? -1 : _13, _14 = _12[1], nameA2 = _14 === void 0 ? "name" : _14, _15 = _12[2], skillA2 = _15 === void 0 ? "skill" : _15, _12, i = 0; i < 1; i++) { console.log(nameA2); } for (var _16 = multiRobotA[0], nameMA_1 = _16 === void 0 ? "noName" : _16, _17 = multiRobotA[1], _18 = _17 === void 0 ? ["none", "none"] : _17, _19 = _18[0], primarySkillA_1 = _19 === void 0 ? "primary" : _19, _20 = _18[1], secondarySkillA_1 = _20 === void 0 ? "secondary" : _20, i_1 = 0; i_1 < 1; i_1++) { console.log(nameMA_1); } -for ((_21 = getMultiRobot(), _22 = _21[0], nameMA = _22 === void 0 ? "noName" : _22, _23 = _21[1], _24 = _23 === void 0 ? ["none", "none"] : _23, _25 = _24[0], primarySkillA = _25 === void 0 ? "primary" : _25, _26 = _24[1], secondarySkillA = _26 === void 0 ? "secondary" : _26, _21), i = 0; i < 1; i++) { +for (_21 = getMultiRobot(), _22 = _21[0], nameMA = _22 === void 0 ? "noName" : _22, _23 = _21[1], _24 = _23 === void 0 ? ["none", "none"] : _23, _25 = _24[0], primarySkillA = _25 === void 0 ? "primary" : _25, _26 = _24[1], secondarySkillA = _26 === void 0 ? "secondary" : _26, _21, i = 0; i < 1; i++) { console.log(nameMA); } -for ((_27 = ["trimmer", ["trimming", "edging"]], _28 = _27[0], nameMA = _28 === void 0 ? "noName" : _28, _29 = _27[1], _30 = _29 === void 0 ? ["none", "none"] : _29, _31 = _30[0], primarySkillA = _31 === void 0 ? "primary" : _31, _32 = _30[1], secondarySkillA = _32 === void 0 ? "secondary" : _32, _27), i = 0; i < 1; i++) { +for (_27 = ["trimmer", ["trimming", "edging"]], _28 = _27[0], nameMA = _28 === void 0 ? "noName" : _28, _29 = _27[1], _30 = _29 === void 0 ? ["none", "none"] : _29, _31 = _30[0], primarySkillA = _31 === void 0 ? "primary" : _31, _32 = _30[1], secondarySkillA = _32 === void 0 ? "secondary" : _32, _27, i = 0; i < 1; i++) { console.log(nameMA); } -for ((_33 = robotA[0], numberA3 = _33 === void 0 ? -1 : _33, robotAInfo = robotA.slice(1), robotA), i = 0; i < 1; i++) { +for (_33 = robotA[0], numberA3 = _33 === void 0 ? -1 : _33, robotAInfo = robotA.slice(1), robotA, i = 0; i < 1; i++) { console.log(numberA3); } -for ((_34 = getRobot(), _35 = _34[0], numberA3 = _35 === void 0 ? -1 : _35, robotAInfo = _34.slice(1), _34), i = 0; i < 1; i++) { +for (_34 = getRobot(), _35 = _34[0], numberA3 = _35 === void 0 ? -1 : _35, robotAInfo = _34.slice(1), _34, i = 0; i < 1; i++) { console.log(numberA3); } -for ((_36 = [2, "trimmer", "trimming"], _37 = _36[0], numberA3 = _37 === void 0 ? -1 : _37, robotAInfo = _36.slice(1), _36), i = 0; i < 1; i++) { +for (_36 = [2, "trimmer", "trimming"], _37 = _36[0], numberA3 = _37 === void 0 ? -1 : _37, robotAInfo = _36.slice(1), _36, i = 0; i < 1; i++) { console.log(numberA3); } var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37; diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js.map index 6446d14319e..d3452bfd56e 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AACtG,IAAI,CAAS,CAAC;AAEd,GAAG,CAAC,CAAC,CAAG,cAAc,EAAd,mCAAc,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAA+B,EAA5B,UAAc,EAAd,mCAAc,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAA+C,EAA5C,UAAc,EAAd,mCAAc,KAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAG,mBAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACT,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAGkC,EAH/B,UAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,KACM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAGsD,EAHnD,UAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,KAC0B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,cAAY,EAAZ,iCAAY,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAA2B,EAA1B,UAAY,EAAZ,iCAAY,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+BAA2C,EAA1C,UAAY,EAAZ,iCAAY,KAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,CAAC,mBAAc,EAAd,mCAAc,EAAI,WAAW,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAkC,EAAjC,UAAc,EAAd,mCAAc,KAAmB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,wCAAsD,EAArD,UAAc,EAAd,mCAAc,KAAuC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,cAAa,EAAb,kCAAa,EAAE,cAAe,EAAf,oCAAe,EAAE,cAAiB,EAAjB,sCAAiB,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAgE,EAA/D,UAAa,EAAb,kCAAa,EAAE,WAAe,EAAf,sCAAe,EAAE,WAAiB,EAAjB,wCAAiB,KAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,gCAAgF,EAA/E,YAAa,EAAb,oCAAa,EAAE,YAAe,EAAf,sCAAe,EAAE,YAAiB,EAAjB,wCAAiB,MAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CACC,wBAAiB,EAAjB,0CAAiB,EACd,oBAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,kDAAyB,EACzB,YAA6B,EAA7B,sDAA6B,EAEpB,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,qBAKc,EALb,YAAiB,EAAjB,wCAAiB,EACnB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,MAElB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,yCAKkC,EALjC,YAAiB,EAAjB,wCAAiB,EACnB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,MAEE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAC,CAAC,eAAa,EAAb,oCAAa,EAAE,4BAAa,EAAI,MAAM,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,gBAA2C,EAA1C,YAAa,EAAb,oCAAa,EAAE,yBAAa,MAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,gCAAkE,EAAjE,YAAa,EAAb,oCAAa,EAAE,yBAAa,MAAqC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AACtG,IAAI,CAAS,CAAC;AAEd,GAAG,CAAC,CAAI,cAAc,EAAd,mCAAc,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAA+B,EAA5B,UAAc,EAAd,mCAAc,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,+BAA+C,EAA5C,UAAc,EAAd,mCAAc,MAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAI,mBAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,EACT,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,oBAGkC,EAH/B,UAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,MACQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AACD,GAAG,CAAC,CAAC,wCAGsD,EAHnD,UAGY,EAHZ,0CAGY,EAFhB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B,MAC4B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,GAAG,CAAC,CAAE,cAAY,EAAZ,iCAAY,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,eAA2B,EAA1B,UAAY,EAAZ,iCAAY,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAC,+BAA2C,EAA1C,UAAY,EAAZ,iCAAY,MAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,CAAE,mBAAc,EAAd,mCAAc,EAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,oBAAkC,EAAjC,UAAc,EAAd,mCAAc,MAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,wCAAsD,EAArD,UAAc,EAAd,mCAAc,MAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAE,cAAa,EAAb,kCAAa,EAAE,cAAe,EAAf,oCAAe,EAAE,cAAiB,EAAjB,sCAAiB,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,eAAgE,EAA/D,UAAa,EAAb,kCAAa,EAAE,WAAe,EAAf,sCAAe,EAAE,WAAiB,EAAjB,wCAAiB,MAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,gCAAgF,EAA/E,YAAa,EAAb,oCAAa,EAAE,YAAe,EAAf,sCAAe,EAAE,YAAiB,EAAjB,wCAAiB,OAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CACC,IAAA,oBAAiB,EAAjB,0CAAiB,EACd,oBAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,kDAAyB,EACzB,YAA6B,EAA7B,sDAA6B,EAEpB,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,qBAKc,EALb,YAAiB,EAAjB,wCAAiB,EACnB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,OAEhB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,GAAG,CAAC,CAAC,yCAKkC,EALjC,YAAiB,EAAjB,wCAAiB,EACnB,YAGoB,EAHpB,6CAGoB,EAFhB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B,OAEI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,GAAG,CAAC,CAAE,eAAa,EAAb,oCAAa,EAAE,4BAAa,EAAI,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,gBAA2C,EAA1C,YAAa,EAAb,oCAAa,EAAE,yBAAa,OAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,gCAAkE,EAAjE,YAAa,EAAb,oCAAa,EAAE,yBAAa,OAAuC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.sourcemap.txt index bab5f369194..aa1a4f7a016 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.sourcemap.txt @@ -330,7 +330,7 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. 2 >^^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >let @@ -341,81 +341,75 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. 3 >Emitted(14, 6) Source(22, 14) + SourceIndex(0) 4 >Emitted(14, 7) Source(22, 15) + SourceIndex(0) --- ->>>for ((_a = robotA[1], nameA = _a === void 0 ? "name" : _a, robotA), i = 0; i < 1; i++) { +>>>for (_a = robotA[1], nameA = _a === void 0 ? "name" : _a, robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [, -6 > nameA = "name" -7 > -8 > nameA = "name" -9 > ] = -10> robotA -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ([, +5 > nameA = "name" +6 > +7 > nameA = "name" +8 > ] = +9 > robotA +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(15, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(15, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(15, 5) Source(24, 5) + SourceIndex(0) -4 >Emitted(15, 6) Source(24, 6) + SourceIndex(0) -5 >Emitted(15, 7) Source(24, 9) + SourceIndex(0) -6 >Emitted(15, 21) Source(24, 23) + SourceIndex(0) -7 >Emitted(15, 23) Source(24, 9) + SourceIndex(0) -8 >Emitted(15, 58) Source(24, 23) + SourceIndex(0) -9 >Emitted(15, 60) Source(24, 27) + SourceIndex(0) -10>Emitted(15, 66) Source(24, 33) + SourceIndex(0) -11>Emitted(15, 67) Source(24, 33) + SourceIndex(0) -12>Emitted(15, 69) Source(24, 35) + SourceIndex(0) -13>Emitted(15, 70) Source(24, 36) + SourceIndex(0) -14>Emitted(15, 73) Source(24, 39) + SourceIndex(0) -15>Emitted(15, 74) Source(24, 40) + SourceIndex(0) -16>Emitted(15, 76) Source(24, 42) + SourceIndex(0) -17>Emitted(15, 77) Source(24, 43) + SourceIndex(0) -18>Emitted(15, 80) Source(24, 46) + SourceIndex(0) -19>Emitted(15, 81) Source(24, 47) + SourceIndex(0) -20>Emitted(15, 83) Source(24, 49) + SourceIndex(0) -21>Emitted(15, 84) Source(24, 50) + SourceIndex(0) -22>Emitted(15, 86) Source(24, 52) + SourceIndex(0) -23>Emitted(15, 88) Source(24, 54) + SourceIndex(0) -24>Emitted(15, 89) Source(24, 55) + SourceIndex(0) +4 >Emitted(15, 6) Source(24, 9) + SourceIndex(0) +5 >Emitted(15, 20) Source(24, 23) + SourceIndex(0) +6 >Emitted(15, 22) Source(24, 9) + SourceIndex(0) +7 >Emitted(15, 57) Source(24, 23) + SourceIndex(0) +8 >Emitted(15, 59) Source(24, 27) + SourceIndex(0) +9 >Emitted(15, 65) Source(24, 33) + SourceIndex(0) +10>Emitted(15, 67) Source(24, 35) + SourceIndex(0) +11>Emitted(15, 68) Source(24, 36) + SourceIndex(0) +12>Emitted(15, 71) Source(24, 39) + SourceIndex(0) +13>Emitted(15, 72) Source(24, 40) + SourceIndex(0) +14>Emitted(15, 74) Source(24, 42) + SourceIndex(0) +15>Emitted(15, 75) Source(24, 43) + SourceIndex(0) +16>Emitted(15, 78) Source(24, 46) + SourceIndex(0) +17>Emitted(15, 79) Source(24, 47) + SourceIndex(0) +18>Emitted(15, 81) Source(24, 49) + SourceIndex(0) +19>Emitted(15, 82) Source(24, 50) + SourceIndex(0) +20>Emitted(15, 84) Source(24, 52) + SourceIndex(0) +21>Emitted(15, 86) Source(24, 54) + SourceIndex(0) +22>Emitted(15, 87) Source(24, 55) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -447,87 +441,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(17, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(17, 2) Source(26, 2) + SourceIndex(0) --- ->>>for ((_b = getRobot(), _c = _b[1], nameA = _c === void 0 ? "name" : _c, _b), i = 0; i < 1; i++) { +>>>for (_b = getRobot(), _c = _b[1], nameA = _c === void 0 ? "name" : _c, _b, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, nameA = "name"] = getRobot() -7 > -8 > nameA = "name" -9 > -10> nameA = "name" -11> ] = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [, nameA = "name"] = getRobot() +6 > +7 > nameA = "name" +8 > +9 > nameA = "name" +10> ] = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(18, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(27, 5) + SourceIndex(0) 4 >Emitted(18, 6) Source(27, 6) + SourceIndex(0) -5 >Emitted(18, 7) Source(27, 6) + SourceIndex(0) -6 >Emitted(18, 22) Source(27, 37) + SourceIndex(0) -7 >Emitted(18, 24) Source(27, 9) + SourceIndex(0) -8 >Emitted(18, 34) Source(27, 23) + SourceIndex(0) -9 >Emitted(18, 36) Source(27, 9) + SourceIndex(0) -10>Emitted(18, 71) Source(27, 23) + SourceIndex(0) -11>Emitted(18, 76) Source(27, 37) + SourceIndex(0) -12>Emitted(18, 78) Source(27, 39) + SourceIndex(0) -13>Emitted(18, 79) Source(27, 40) + SourceIndex(0) -14>Emitted(18, 82) Source(27, 43) + SourceIndex(0) -15>Emitted(18, 83) Source(27, 44) + SourceIndex(0) -16>Emitted(18, 85) Source(27, 46) + SourceIndex(0) -17>Emitted(18, 86) Source(27, 47) + SourceIndex(0) -18>Emitted(18, 89) Source(27, 50) + SourceIndex(0) -19>Emitted(18, 90) Source(27, 51) + SourceIndex(0) -20>Emitted(18, 92) Source(27, 53) + SourceIndex(0) -21>Emitted(18, 93) Source(27, 54) + SourceIndex(0) -22>Emitted(18, 95) Source(27, 56) + SourceIndex(0) -23>Emitted(18, 97) Source(27, 58) + SourceIndex(0) -24>Emitted(18, 98) Source(27, 59) + SourceIndex(0) +5 >Emitted(18, 21) Source(27, 37) + SourceIndex(0) +6 >Emitted(18, 23) Source(27, 9) + SourceIndex(0) +7 >Emitted(18, 33) Source(27, 23) + SourceIndex(0) +8 >Emitted(18, 35) Source(27, 9) + SourceIndex(0) +9 >Emitted(18, 70) Source(27, 23) + SourceIndex(0) +10>Emitted(18, 76) Source(27, 39) + SourceIndex(0) +11>Emitted(18, 77) Source(27, 40) + SourceIndex(0) +12>Emitted(18, 80) Source(27, 43) + SourceIndex(0) +13>Emitted(18, 81) Source(27, 44) + SourceIndex(0) +14>Emitted(18, 83) Source(27, 46) + SourceIndex(0) +15>Emitted(18, 84) Source(27, 47) + SourceIndex(0) +16>Emitted(18, 87) Source(27, 50) + SourceIndex(0) +17>Emitted(18, 88) Source(27, 51) + SourceIndex(0) +18>Emitted(18, 90) Source(27, 53) + SourceIndex(0) +19>Emitted(18, 91) Source(27, 54) + SourceIndex(0) +20>Emitted(18, 93) Source(27, 56) + SourceIndex(0) +21>Emitted(18, 95) Source(27, 58) + SourceIndex(0) +22>Emitted(18, 96) Source(27, 59) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -559,87 +547,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(20, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(20, 2) Source(29, 2) + SourceIndex(0) --- ->>>for ((_d = [2, "trimmer", "trimming"], _e = _d[1], nameA = _e === void 0 ? "name" : _e, _d), i = 0; i < 1; i++) { +>>>for (_d = [2, "trimmer", "trimming"], _e = _d[1], nameA = _e === void 0 ? "name" : _e, _d, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, nameA = "name"] = [2, "trimmer", "trimming"] -7 > -8 > nameA = "name" -9 > -10> nameA = "name" -11> ] = [2, "trimmer", "trimming"] -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [, nameA = "name"] = [2, "trimmer", "trimming"] +6 > +7 > nameA = "name" +8 > +9 > nameA = "name" +10> ] = [2, "trimmer", "trimming"], +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(21, 1) Source(30, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(30, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(30, 5) + SourceIndex(0) 4 >Emitted(21, 6) Source(30, 6) + SourceIndex(0) -5 >Emitted(21, 7) Source(30, 6) + SourceIndex(0) -6 >Emitted(21, 38) Source(30, 53) + SourceIndex(0) -7 >Emitted(21, 40) Source(30, 9) + SourceIndex(0) -8 >Emitted(21, 50) Source(30, 23) + SourceIndex(0) -9 >Emitted(21, 52) Source(30, 9) + SourceIndex(0) -10>Emitted(21, 87) Source(30, 23) + SourceIndex(0) -11>Emitted(21, 92) Source(30, 53) + SourceIndex(0) -12>Emitted(21, 94) Source(30, 55) + SourceIndex(0) -13>Emitted(21, 95) Source(30, 56) + SourceIndex(0) -14>Emitted(21, 98) Source(30, 59) + SourceIndex(0) -15>Emitted(21, 99) Source(30, 60) + SourceIndex(0) -16>Emitted(21, 101) Source(30, 62) + SourceIndex(0) -17>Emitted(21, 102) Source(30, 63) + SourceIndex(0) -18>Emitted(21, 105) Source(30, 66) + SourceIndex(0) -19>Emitted(21, 106) Source(30, 67) + SourceIndex(0) -20>Emitted(21, 108) Source(30, 69) + SourceIndex(0) -21>Emitted(21, 109) Source(30, 70) + SourceIndex(0) -22>Emitted(21, 111) Source(30, 72) + SourceIndex(0) -23>Emitted(21, 113) Source(30, 74) + SourceIndex(0) -24>Emitted(21, 114) Source(30, 75) + SourceIndex(0) +5 >Emitted(21, 37) Source(30, 53) + SourceIndex(0) +6 >Emitted(21, 39) Source(30, 9) + SourceIndex(0) +7 >Emitted(21, 49) Source(30, 23) + SourceIndex(0) +8 >Emitted(21, 51) Source(30, 9) + SourceIndex(0) +9 >Emitted(21, 86) Source(30, 23) + SourceIndex(0) +10>Emitted(21, 92) Source(30, 55) + SourceIndex(0) +11>Emitted(21, 93) Source(30, 56) + SourceIndex(0) +12>Emitted(21, 96) Source(30, 59) + SourceIndex(0) +13>Emitted(21, 97) Source(30, 60) + SourceIndex(0) +14>Emitted(21, 99) Source(30, 62) + SourceIndex(0) +15>Emitted(21, 100) Source(30, 63) + SourceIndex(0) +16>Emitted(21, 103) Source(30, 66) + SourceIndex(0) +17>Emitted(21, 104) Source(30, 67) + SourceIndex(0) +18>Emitted(21, 106) Source(30, 69) + SourceIndex(0) +19>Emitted(21, 107) Source(30, 70) + SourceIndex(0) +20>Emitted(21, 109) Source(30, 72) + SourceIndex(0) +21>Emitted(21, 111) Source(30, 74) + SourceIndex(0) +22>Emitted(21, 112) Source(30, 75) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -671,119 +653,113 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(23, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(23, 2) Source(32, 2) + SourceIndex(0) --- ->>>for ((_f = multiRobotA[1], _g = _f === void 0 ? ["none", "none"] : _f, _h = _g[0], primarySkillA = _h === void 0 ? "primary" : _h, _j = _g[1], secondarySkillA = _j === void 0 ? "secondary" : _j, multiRobotA), i = 0; i < 1; i++) { +>>>for (_f = multiRobotA[1], _g = _f === void 0 ? ["none", "none"] : _f, _h = _g[0], primarySkillA = _h === void 0 ? "primary" : _h, _j = _g[1], secondarySkillA = _j === void 0 ? "secondary" : _j, multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > -4 > ( -5 > [, -6 > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -7 > -8 > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -9 > -10> primarySkillA = "primary" -11> -12> primarySkillA = "primary" -13> , - > -14> secondarySkillA = "secondary" -15> -16> secondarySkillA = "secondary" -17> - > ] = ["none", "none"]] = -18> multiRobotA -19> -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +4 > ([, +5 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +6 > +7 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +8 > +9 > primarySkillA = "primary" +10> +11> primarySkillA = "primary" +12> , + > +13> secondarySkillA = "secondary" +14> +15> secondarySkillA = "secondary" +16> + > ] = ["none", "none"]] = +17> multiRobotA +18> , +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(24, 1) Source(33, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(33, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(33, 5) + SourceIndex(0) -4 >Emitted(24, 6) Source(33, 6) + SourceIndex(0) -5 >Emitted(24, 7) Source(33, 9) + SourceIndex(0) -6 >Emitted(24, 26) Source(36, 21) + SourceIndex(0) -7 >Emitted(24, 28) Source(33, 9) + SourceIndex(0) -8 >Emitted(24, 70) Source(36, 21) + SourceIndex(0) -9 >Emitted(24, 72) Source(34, 5) + SourceIndex(0) -10>Emitted(24, 82) Source(34, 30) + SourceIndex(0) -11>Emitted(24, 84) Source(34, 5) + SourceIndex(0) -12>Emitted(24, 130) Source(34, 30) + SourceIndex(0) -13>Emitted(24, 132) Source(35, 5) + SourceIndex(0) -14>Emitted(24, 142) Source(35, 34) + SourceIndex(0) -15>Emitted(24, 144) Source(35, 5) + SourceIndex(0) -16>Emitted(24, 194) Source(35, 34) + SourceIndex(0) -17>Emitted(24, 196) Source(36, 25) + SourceIndex(0) -18>Emitted(24, 207) Source(36, 36) + SourceIndex(0) -19>Emitted(24, 208) Source(36, 36) + SourceIndex(0) -20>Emitted(24, 210) Source(36, 38) + SourceIndex(0) -21>Emitted(24, 211) Source(36, 39) + SourceIndex(0) -22>Emitted(24, 214) Source(36, 42) + SourceIndex(0) -23>Emitted(24, 215) Source(36, 43) + SourceIndex(0) -24>Emitted(24, 217) Source(36, 45) + SourceIndex(0) -25>Emitted(24, 218) Source(36, 46) + SourceIndex(0) -26>Emitted(24, 221) Source(36, 49) + SourceIndex(0) -27>Emitted(24, 222) Source(36, 50) + SourceIndex(0) -28>Emitted(24, 224) Source(36, 52) + SourceIndex(0) -29>Emitted(24, 225) Source(36, 53) + SourceIndex(0) -30>Emitted(24, 227) Source(36, 55) + SourceIndex(0) -31>Emitted(24, 229) Source(36, 57) + SourceIndex(0) -32>Emitted(24, 230) Source(36, 58) + SourceIndex(0) +4 >Emitted(24, 6) Source(33, 9) + SourceIndex(0) +5 >Emitted(24, 25) Source(36, 21) + SourceIndex(0) +6 >Emitted(24, 27) Source(33, 9) + SourceIndex(0) +7 >Emitted(24, 69) Source(36, 21) + SourceIndex(0) +8 >Emitted(24, 71) Source(34, 5) + SourceIndex(0) +9 >Emitted(24, 81) Source(34, 30) + SourceIndex(0) +10>Emitted(24, 83) Source(34, 5) + SourceIndex(0) +11>Emitted(24, 129) Source(34, 30) + SourceIndex(0) +12>Emitted(24, 131) Source(35, 5) + SourceIndex(0) +13>Emitted(24, 141) Source(35, 34) + SourceIndex(0) +14>Emitted(24, 143) Source(35, 5) + SourceIndex(0) +15>Emitted(24, 193) Source(35, 34) + SourceIndex(0) +16>Emitted(24, 195) Source(36, 25) + SourceIndex(0) +17>Emitted(24, 206) Source(36, 36) + SourceIndex(0) +18>Emitted(24, 208) Source(36, 38) + SourceIndex(0) +19>Emitted(24, 209) Source(36, 39) + SourceIndex(0) +20>Emitted(24, 212) Source(36, 42) + SourceIndex(0) +21>Emitted(24, 213) Source(36, 43) + SourceIndex(0) +22>Emitted(24, 215) Source(36, 45) + SourceIndex(0) +23>Emitted(24, 216) Source(36, 46) + SourceIndex(0) +24>Emitted(24, 219) Source(36, 49) + SourceIndex(0) +25>Emitted(24, 220) Source(36, 50) + SourceIndex(0) +26>Emitted(24, 222) Source(36, 52) + SourceIndex(0) +27>Emitted(24, 223) Source(36, 53) + SourceIndex(0) +28>Emitted(24, 225) Source(36, 55) + SourceIndex(0) +29>Emitted(24, 227) Source(36, 57) + SourceIndex(0) +30>Emitted(24, 228) Source(36, 58) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -815,122 +791,116 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(26, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(26, 2) Source(38, 2) + SourceIndex(0) --- ->>>for ((_k = getMultiRobot(), _l = _k[1], _m = _l === void 0 ? ["none", "none"] : _l, _o = _m[0], primarySkillA = _o === void 0 ? "primary" : _o, _p = _m[1], secondarySkillA = _p === void 0 ? "secondary" : _p, _k), i = 0; i < 1; i++) { +>>>for (_k = getMultiRobot(), _l = _k[1], _m = _l === void 0 ? ["none", "none"] : _l, _o = _m[0], primarySkillA = _o === void 0 ? "primary" : _o, _p = _m[1], secondarySkillA = _p === void 0 ? "secondary" : _p, _k, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"]] = getMultiRobot() -7 > -8 > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -9 > -10> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , - > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -19> - > ] = ["none", "none"]] = getMultiRobot() -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > [, [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"]] = getMultiRobot() +6 > +7 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +8 > +9 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +10> +11> primarySkillA = "primary" +12> +13> primarySkillA = "primary" +14> , + > +15> secondarySkillA = "secondary" +16> +17> secondarySkillA = "secondary" +18> + > ] = ["none", "none"]] = getMultiRobot(), +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(27, 1) Source(39, 1) + SourceIndex(0) 2 >Emitted(27, 4) Source(39, 4) + SourceIndex(0) 3 >Emitted(27, 5) Source(39, 5) + SourceIndex(0) 4 >Emitted(27, 6) Source(39, 6) + SourceIndex(0) -5 >Emitted(27, 7) Source(39, 6) + SourceIndex(0) -6 >Emitted(27, 27) Source(42, 40) + SourceIndex(0) -7 >Emitted(27, 29) Source(39, 9) + SourceIndex(0) -8 >Emitted(27, 39) Source(42, 21) + SourceIndex(0) -9 >Emitted(27, 41) Source(39, 9) + SourceIndex(0) -10>Emitted(27, 83) Source(42, 21) + SourceIndex(0) -11>Emitted(27, 85) Source(40, 5) + SourceIndex(0) -12>Emitted(27, 95) Source(40, 30) + SourceIndex(0) -13>Emitted(27, 97) Source(40, 5) + SourceIndex(0) -14>Emitted(27, 143) Source(40, 30) + SourceIndex(0) -15>Emitted(27, 145) Source(41, 5) + SourceIndex(0) -16>Emitted(27, 155) Source(41, 34) + SourceIndex(0) -17>Emitted(27, 157) Source(41, 5) + SourceIndex(0) -18>Emitted(27, 207) Source(41, 34) + SourceIndex(0) -19>Emitted(27, 212) Source(42, 40) + SourceIndex(0) -20>Emitted(27, 214) Source(42, 42) + SourceIndex(0) -21>Emitted(27, 215) Source(42, 43) + SourceIndex(0) -22>Emitted(27, 218) Source(42, 46) + SourceIndex(0) -23>Emitted(27, 219) Source(42, 47) + SourceIndex(0) -24>Emitted(27, 221) Source(42, 49) + SourceIndex(0) -25>Emitted(27, 222) Source(42, 50) + SourceIndex(0) -26>Emitted(27, 225) Source(42, 53) + SourceIndex(0) -27>Emitted(27, 226) Source(42, 54) + SourceIndex(0) -28>Emitted(27, 228) Source(42, 56) + SourceIndex(0) -29>Emitted(27, 229) Source(42, 57) + SourceIndex(0) -30>Emitted(27, 231) Source(42, 59) + SourceIndex(0) -31>Emitted(27, 233) Source(42, 61) + SourceIndex(0) -32>Emitted(27, 234) Source(42, 62) + SourceIndex(0) +5 >Emitted(27, 26) Source(42, 40) + SourceIndex(0) +6 >Emitted(27, 28) Source(39, 9) + SourceIndex(0) +7 >Emitted(27, 38) Source(42, 21) + SourceIndex(0) +8 >Emitted(27, 40) Source(39, 9) + SourceIndex(0) +9 >Emitted(27, 82) Source(42, 21) + SourceIndex(0) +10>Emitted(27, 84) Source(40, 5) + SourceIndex(0) +11>Emitted(27, 94) Source(40, 30) + SourceIndex(0) +12>Emitted(27, 96) Source(40, 5) + SourceIndex(0) +13>Emitted(27, 142) Source(40, 30) + SourceIndex(0) +14>Emitted(27, 144) Source(41, 5) + SourceIndex(0) +15>Emitted(27, 154) Source(41, 34) + SourceIndex(0) +16>Emitted(27, 156) Source(41, 5) + SourceIndex(0) +17>Emitted(27, 206) Source(41, 34) + SourceIndex(0) +18>Emitted(27, 212) Source(42, 42) + SourceIndex(0) +19>Emitted(27, 213) Source(42, 43) + SourceIndex(0) +20>Emitted(27, 216) Source(42, 46) + SourceIndex(0) +21>Emitted(27, 217) Source(42, 47) + SourceIndex(0) +22>Emitted(27, 219) Source(42, 49) + SourceIndex(0) +23>Emitted(27, 220) Source(42, 50) + SourceIndex(0) +24>Emitted(27, 223) Source(42, 53) + SourceIndex(0) +25>Emitted(27, 224) Source(42, 54) + SourceIndex(0) +26>Emitted(27, 226) Source(42, 56) + SourceIndex(0) +27>Emitted(27, 227) Source(42, 57) + SourceIndex(0) +28>Emitted(27, 229) Source(42, 59) + SourceIndex(0) +29>Emitted(27, 231) Source(42, 61) + SourceIndex(0) +30>Emitted(27, 232) Source(42, 62) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -962,122 +932,116 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(29, 1) Source(44, 1) + SourceIndex(0) 2 >Emitted(29, 2) Source(44, 2) + SourceIndex(0) --- ->>>for ((_q = ["trimmer", ["trimming", "edging"]], _r = _q[1], _s = _r === void 0 ? ["none", "none"] : _r, _t = _s[0], primarySkillA = _t === void 0 ? "primary" : _t, _u = _s[1], secondarySkillA = _u === void 0 ? "secondary" : _u, _q), i = 0; i < 1; i++) { +>>>for (_q = ["trimmer", ["trimming", "edging"]], _r = _q[1], _s = _r === void 0 ? ["none", "none"] : _r, _t = _s[0], primarySkillA = _t === void 0 ? "primary" : _t, _u = _s[1], secondarySkillA = _u === void 0 ? "secondary" : _u, _q, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] -7 > -8 > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -9 > -10> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , - > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -19> - > ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > [, [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] +6 > +7 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +8 > +9 > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +10> +11> primarySkillA = "primary" +12> +13> primarySkillA = "primary" +14> , + > +15> secondarySkillA = "secondary" +16> +17> secondarySkillA = "secondary" +18> + > ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(30, 1) Source(45, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(45, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(45, 5) + SourceIndex(0) 4 >Emitted(30, 6) Source(45, 6) + SourceIndex(0) -5 >Emitted(30, 7) Source(45, 6) + SourceIndex(0) -6 >Emitted(30, 47) Source(48, 60) + SourceIndex(0) -7 >Emitted(30, 49) Source(45, 9) + SourceIndex(0) -8 >Emitted(30, 59) Source(48, 21) + SourceIndex(0) -9 >Emitted(30, 61) Source(45, 9) + SourceIndex(0) -10>Emitted(30, 103) Source(48, 21) + SourceIndex(0) -11>Emitted(30, 105) Source(46, 5) + SourceIndex(0) -12>Emitted(30, 115) Source(46, 30) + SourceIndex(0) -13>Emitted(30, 117) Source(46, 5) + SourceIndex(0) -14>Emitted(30, 163) Source(46, 30) + SourceIndex(0) -15>Emitted(30, 165) Source(47, 5) + SourceIndex(0) -16>Emitted(30, 175) Source(47, 34) + SourceIndex(0) -17>Emitted(30, 177) Source(47, 5) + SourceIndex(0) -18>Emitted(30, 227) Source(47, 34) + SourceIndex(0) -19>Emitted(30, 232) Source(48, 60) + SourceIndex(0) -20>Emitted(30, 234) Source(48, 62) + SourceIndex(0) -21>Emitted(30, 235) Source(48, 63) + SourceIndex(0) -22>Emitted(30, 238) Source(48, 66) + SourceIndex(0) -23>Emitted(30, 239) Source(48, 67) + SourceIndex(0) -24>Emitted(30, 241) Source(48, 69) + SourceIndex(0) -25>Emitted(30, 242) Source(48, 70) + SourceIndex(0) -26>Emitted(30, 245) Source(48, 73) + SourceIndex(0) -27>Emitted(30, 246) Source(48, 74) + SourceIndex(0) -28>Emitted(30, 248) Source(48, 76) + SourceIndex(0) -29>Emitted(30, 249) Source(48, 77) + SourceIndex(0) -30>Emitted(30, 251) Source(48, 79) + SourceIndex(0) -31>Emitted(30, 253) Source(48, 81) + SourceIndex(0) -32>Emitted(30, 254) Source(48, 82) + SourceIndex(0) +5 >Emitted(30, 46) Source(48, 60) + SourceIndex(0) +6 >Emitted(30, 48) Source(45, 9) + SourceIndex(0) +7 >Emitted(30, 58) Source(48, 21) + SourceIndex(0) +8 >Emitted(30, 60) Source(45, 9) + SourceIndex(0) +9 >Emitted(30, 102) Source(48, 21) + SourceIndex(0) +10>Emitted(30, 104) Source(46, 5) + SourceIndex(0) +11>Emitted(30, 114) Source(46, 30) + SourceIndex(0) +12>Emitted(30, 116) Source(46, 5) + SourceIndex(0) +13>Emitted(30, 162) Source(46, 30) + SourceIndex(0) +14>Emitted(30, 164) Source(47, 5) + SourceIndex(0) +15>Emitted(30, 174) Source(47, 34) + SourceIndex(0) +16>Emitted(30, 176) Source(47, 5) + SourceIndex(0) +17>Emitted(30, 226) Source(47, 34) + SourceIndex(0) +18>Emitted(30, 232) Source(48, 62) + SourceIndex(0) +19>Emitted(30, 233) Source(48, 63) + SourceIndex(0) +20>Emitted(30, 236) Source(48, 66) + SourceIndex(0) +21>Emitted(30, 237) Source(48, 67) + SourceIndex(0) +22>Emitted(30, 239) Source(48, 69) + SourceIndex(0) +23>Emitted(30, 240) Source(48, 70) + SourceIndex(0) +24>Emitted(30, 243) Source(48, 73) + SourceIndex(0) +25>Emitted(30, 244) Source(48, 74) + SourceIndex(0) +26>Emitted(30, 246) Source(48, 76) + SourceIndex(0) +27>Emitted(30, 247) Source(48, 77) + SourceIndex(0) +28>Emitted(30, 249) Source(48, 79) + SourceIndex(0) +29>Emitted(30, 251) Source(48, 81) + SourceIndex(0) +30>Emitted(30, 252) Source(48, 82) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1109,88 +1073,82 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(32, 1) Source(50, 1) + SourceIndex(0) 2 >Emitted(32, 2) Source(50, 2) + SourceIndex(0) --- ->>>for ((_v = robotA[0], numberB = _v === void 0 ? -1 : _v, robotA), i = 0; i < 1; i++) { +>>>for (_v = robotA[0], numberB = _v === void 0 ? -1 : _v, robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberB = -1 -7 > -8 > numberB = -1 -9 > ] = -10> robotA -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ([ +5 > numberB = -1 +6 > +7 > numberB = -1 +8 > ] = +9 > robotA +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(33, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(52, 5) + SourceIndex(0) -4 >Emitted(33, 6) Source(52, 6) + SourceIndex(0) -5 >Emitted(33, 7) Source(52, 7) + SourceIndex(0) -6 >Emitted(33, 21) Source(52, 19) + SourceIndex(0) -7 >Emitted(33, 23) Source(52, 7) + SourceIndex(0) -8 >Emitted(33, 56) Source(52, 19) + SourceIndex(0) -9 >Emitted(33, 58) Source(52, 23) + SourceIndex(0) -10>Emitted(33, 64) Source(52, 29) + SourceIndex(0) -11>Emitted(33, 65) Source(52, 29) + SourceIndex(0) -12>Emitted(33, 67) Source(52, 31) + SourceIndex(0) -13>Emitted(33, 68) Source(52, 32) + SourceIndex(0) -14>Emitted(33, 71) Source(52, 35) + SourceIndex(0) -15>Emitted(33, 72) Source(52, 36) + SourceIndex(0) -16>Emitted(33, 74) Source(52, 38) + SourceIndex(0) -17>Emitted(33, 75) Source(52, 39) + SourceIndex(0) -18>Emitted(33, 78) Source(52, 42) + SourceIndex(0) -19>Emitted(33, 79) Source(52, 43) + SourceIndex(0) -20>Emitted(33, 81) Source(52, 45) + SourceIndex(0) -21>Emitted(33, 82) Source(52, 46) + SourceIndex(0) -22>Emitted(33, 84) Source(52, 48) + SourceIndex(0) -23>Emitted(33, 86) Source(52, 50) + SourceIndex(0) -24>Emitted(33, 87) Source(52, 51) + SourceIndex(0) +4 >Emitted(33, 6) Source(52, 7) + SourceIndex(0) +5 >Emitted(33, 20) Source(52, 19) + SourceIndex(0) +6 >Emitted(33, 22) Source(52, 7) + SourceIndex(0) +7 >Emitted(33, 55) Source(52, 19) + SourceIndex(0) +8 >Emitted(33, 57) Source(52, 23) + SourceIndex(0) +9 >Emitted(33, 63) Source(52, 29) + SourceIndex(0) +10>Emitted(33, 65) Source(52, 31) + SourceIndex(0) +11>Emitted(33, 66) Source(52, 32) + SourceIndex(0) +12>Emitted(33, 69) Source(52, 35) + SourceIndex(0) +13>Emitted(33, 70) Source(52, 36) + SourceIndex(0) +14>Emitted(33, 72) Source(52, 38) + SourceIndex(0) +15>Emitted(33, 73) Source(52, 39) + SourceIndex(0) +16>Emitted(33, 76) Source(52, 42) + SourceIndex(0) +17>Emitted(33, 77) Source(52, 43) + SourceIndex(0) +18>Emitted(33, 79) Source(52, 45) + SourceIndex(0) +19>Emitted(33, 80) Source(52, 46) + SourceIndex(0) +20>Emitted(33, 82) Source(52, 48) + SourceIndex(0) +21>Emitted(33, 84) Source(52, 50) + SourceIndex(0) +22>Emitted(33, 85) Source(52, 51) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1222,87 +1180,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(35, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(35, 2) Source(54, 2) + SourceIndex(0) --- ->>>for ((_w = getRobot(), _x = _w[0], numberB = _x === void 0 ? -1 : _x, _w), i = 0; i < 1; i++) { +>>>for (_w = getRobot(), _x = _w[0], numberB = _x === void 0 ? -1 : _x, _w, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberB = -1] = getRobot() -7 > -8 > numberB = -1 -9 > -10> numberB = -1 -11> ] = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [numberB = -1] = getRobot() +6 > +7 > numberB = -1 +8 > +9 > numberB = -1 +10> ] = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(36, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(55, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(55, 6) + SourceIndex(0) -5 >Emitted(36, 7) Source(55, 6) + SourceIndex(0) -6 >Emitted(36, 22) Source(55, 33) + SourceIndex(0) -7 >Emitted(36, 24) Source(55, 7) + SourceIndex(0) -8 >Emitted(36, 34) Source(55, 19) + SourceIndex(0) -9 >Emitted(36, 36) Source(55, 7) + SourceIndex(0) -10>Emitted(36, 69) Source(55, 19) + SourceIndex(0) -11>Emitted(36, 74) Source(55, 33) + SourceIndex(0) -12>Emitted(36, 76) Source(55, 35) + SourceIndex(0) -13>Emitted(36, 77) Source(55, 36) + SourceIndex(0) -14>Emitted(36, 80) Source(55, 39) + SourceIndex(0) -15>Emitted(36, 81) Source(55, 40) + SourceIndex(0) -16>Emitted(36, 83) Source(55, 42) + SourceIndex(0) -17>Emitted(36, 84) Source(55, 43) + SourceIndex(0) -18>Emitted(36, 87) Source(55, 46) + SourceIndex(0) -19>Emitted(36, 88) Source(55, 47) + SourceIndex(0) -20>Emitted(36, 90) Source(55, 49) + SourceIndex(0) -21>Emitted(36, 91) Source(55, 50) + SourceIndex(0) -22>Emitted(36, 93) Source(55, 52) + SourceIndex(0) -23>Emitted(36, 95) Source(55, 54) + SourceIndex(0) -24>Emitted(36, 96) Source(55, 55) + SourceIndex(0) +5 >Emitted(36, 21) Source(55, 33) + SourceIndex(0) +6 >Emitted(36, 23) Source(55, 7) + SourceIndex(0) +7 >Emitted(36, 33) Source(55, 19) + SourceIndex(0) +8 >Emitted(36, 35) Source(55, 7) + SourceIndex(0) +9 >Emitted(36, 68) Source(55, 19) + SourceIndex(0) +10>Emitted(36, 74) Source(55, 35) + SourceIndex(0) +11>Emitted(36, 75) Source(55, 36) + SourceIndex(0) +12>Emitted(36, 78) Source(55, 39) + SourceIndex(0) +13>Emitted(36, 79) Source(55, 40) + SourceIndex(0) +14>Emitted(36, 81) Source(55, 42) + SourceIndex(0) +15>Emitted(36, 82) Source(55, 43) + SourceIndex(0) +16>Emitted(36, 85) Source(55, 46) + SourceIndex(0) +17>Emitted(36, 86) Source(55, 47) + SourceIndex(0) +18>Emitted(36, 88) Source(55, 49) + SourceIndex(0) +19>Emitted(36, 89) Source(55, 50) + SourceIndex(0) +20>Emitted(36, 91) Source(55, 52) + SourceIndex(0) +21>Emitted(36, 93) Source(55, 54) + SourceIndex(0) +22>Emitted(36, 94) Source(55, 55) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1334,87 +1286,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(38, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(38, 2) Source(57, 2) + SourceIndex(0) --- ->>>for ((_y = [2, "trimmer", "trimming"], _z = _y[0], numberB = _z === void 0 ? -1 : _z, _y), i = 0; i < 1; i++) { +>>>for (_y = [2, "trimmer", "trimming"], _z = _y[0], numberB = _z === void 0 ? -1 : _z, _y, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberB = -1] = [2, "trimmer", "trimming"] -7 > -8 > numberB = -1 -9 > -10> numberB = -1 -11> ] = [2, "trimmer", "trimming"] -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [numberB = -1] = [2, "trimmer", "trimming"] +6 > +7 > numberB = -1 +8 > +9 > numberB = -1 +10> ] = [2, "trimmer", "trimming"], +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(39, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(58, 5) + SourceIndex(0) 4 >Emitted(39, 6) Source(58, 6) + SourceIndex(0) -5 >Emitted(39, 7) Source(58, 6) + SourceIndex(0) -6 >Emitted(39, 38) Source(58, 49) + SourceIndex(0) -7 >Emitted(39, 40) Source(58, 7) + SourceIndex(0) -8 >Emitted(39, 50) Source(58, 19) + SourceIndex(0) -9 >Emitted(39, 52) Source(58, 7) + SourceIndex(0) -10>Emitted(39, 85) Source(58, 19) + SourceIndex(0) -11>Emitted(39, 90) Source(58, 49) + SourceIndex(0) -12>Emitted(39, 92) Source(58, 51) + SourceIndex(0) -13>Emitted(39, 93) Source(58, 52) + SourceIndex(0) -14>Emitted(39, 96) Source(58, 55) + SourceIndex(0) -15>Emitted(39, 97) Source(58, 56) + SourceIndex(0) -16>Emitted(39, 99) Source(58, 58) + SourceIndex(0) -17>Emitted(39, 100) Source(58, 59) + SourceIndex(0) -18>Emitted(39, 103) Source(58, 62) + SourceIndex(0) -19>Emitted(39, 104) Source(58, 63) + SourceIndex(0) -20>Emitted(39, 106) Source(58, 65) + SourceIndex(0) -21>Emitted(39, 107) Source(58, 66) + SourceIndex(0) -22>Emitted(39, 109) Source(58, 68) + SourceIndex(0) -23>Emitted(39, 111) Source(58, 70) + SourceIndex(0) -24>Emitted(39, 112) Source(58, 71) + SourceIndex(0) +5 >Emitted(39, 37) Source(58, 49) + SourceIndex(0) +6 >Emitted(39, 39) Source(58, 7) + SourceIndex(0) +7 >Emitted(39, 49) Source(58, 19) + SourceIndex(0) +8 >Emitted(39, 51) Source(58, 7) + SourceIndex(0) +9 >Emitted(39, 84) Source(58, 19) + SourceIndex(0) +10>Emitted(39, 90) Source(58, 51) + SourceIndex(0) +11>Emitted(39, 91) Source(58, 52) + SourceIndex(0) +12>Emitted(39, 94) Source(58, 55) + SourceIndex(0) +13>Emitted(39, 95) Source(58, 56) + SourceIndex(0) +14>Emitted(39, 97) Source(58, 58) + SourceIndex(0) +15>Emitted(39, 98) Source(58, 59) + SourceIndex(0) +16>Emitted(39, 101) Source(58, 62) + SourceIndex(0) +17>Emitted(39, 102) Source(58, 63) + SourceIndex(0) +18>Emitted(39, 104) Source(58, 65) + SourceIndex(0) +19>Emitted(39, 105) Source(58, 66) + SourceIndex(0) +20>Emitted(39, 107) Source(58, 68) + SourceIndex(0) +21>Emitted(39, 109) Source(58, 70) + SourceIndex(0) +22>Emitted(39, 110) Source(58, 71) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1446,87 +1392,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(41, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(41, 2) Source(60, 2) + SourceIndex(0) --- ->>>for ((_0 = multiRobotA[0], nameB = _0 === void 0 ? "name" : _0, multiRobotA), i = 0; i < 1; i++) { +>>>for (_0 = multiRobotA[0], nameB = _0 === void 0 ? "name" : _0, multiRobotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > -4 > ( -5 > [ -6 > nameB = "name" -7 > -8 > nameB = "name" -9 > ] = -10> multiRobotA -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ([ +5 > nameB = "name" +6 > +7 > nameB = "name" +8 > ] = +9 > multiRobotA +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(42, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(61, 5) + SourceIndex(0) -4 >Emitted(42, 6) Source(61, 6) + SourceIndex(0) -5 >Emitted(42, 7) Source(61, 7) + SourceIndex(0) -6 >Emitted(42, 26) Source(61, 21) + SourceIndex(0) -7 >Emitted(42, 28) Source(61, 7) + SourceIndex(0) -8 >Emitted(42, 63) Source(61, 21) + SourceIndex(0) -9 >Emitted(42, 65) Source(61, 25) + SourceIndex(0) -10>Emitted(42, 76) Source(61, 36) + SourceIndex(0) -11>Emitted(42, 77) Source(61, 36) + SourceIndex(0) -12>Emitted(42, 79) Source(61, 38) + SourceIndex(0) -13>Emitted(42, 80) Source(61, 39) + SourceIndex(0) -14>Emitted(42, 83) Source(61, 42) + SourceIndex(0) -15>Emitted(42, 84) Source(61, 43) + SourceIndex(0) -16>Emitted(42, 86) Source(61, 45) + SourceIndex(0) -17>Emitted(42, 87) Source(61, 46) + SourceIndex(0) -18>Emitted(42, 90) Source(61, 49) + SourceIndex(0) -19>Emitted(42, 91) Source(61, 50) + SourceIndex(0) -20>Emitted(42, 93) Source(61, 52) + SourceIndex(0) -21>Emitted(42, 94) Source(61, 53) + SourceIndex(0) -22>Emitted(42, 96) Source(61, 55) + SourceIndex(0) -23>Emitted(42, 98) Source(61, 57) + SourceIndex(0) -24>Emitted(42, 99) Source(61, 58) + SourceIndex(0) +4 >Emitted(42, 6) Source(61, 7) + SourceIndex(0) +5 >Emitted(42, 25) Source(61, 21) + SourceIndex(0) +6 >Emitted(42, 27) Source(61, 7) + SourceIndex(0) +7 >Emitted(42, 62) Source(61, 21) + SourceIndex(0) +8 >Emitted(42, 64) Source(61, 25) + SourceIndex(0) +9 >Emitted(42, 75) Source(61, 36) + SourceIndex(0) +10>Emitted(42, 77) Source(61, 38) + SourceIndex(0) +11>Emitted(42, 78) Source(61, 39) + SourceIndex(0) +12>Emitted(42, 81) Source(61, 42) + SourceIndex(0) +13>Emitted(42, 82) Source(61, 43) + SourceIndex(0) +14>Emitted(42, 84) Source(61, 45) + SourceIndex(0) +15>Emitted(42, 85) Source(61, 46) + SourceIndex(0) +16>Emitted(42, 88) Source(61, 49) + SourceIndex(0) +17>Emitted(42, 89) Source(61, 50) + SourceIndex(0) +18>Emitted(42, 91) Source(61, 52) + SourceIndex(0) +19>Emitted(42, 92) Source(61, 53) + SourceIndex(0) +20>Emitted(42, 94) Source(61, 55) + SourceIndex(0) +21>Emitted(42, 96) Source(61, 57) + SourceIndex(0) +22>Emitted(42, 97) Source(61, 58) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1558,87 +1498,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(44, 1) Source(63, 1) + SourceIndex(0) 2 >Emitted(44, 2) Source(63, 2) + SourceIndex(0) --- ->>>for ((_1 = getMultiRobot(), _2 = _1[0], nameB = _2 === void 0 ? "name" : _2, _1), i = 0; i < 1; i++) { +>>>for (_1 = getMultiRobot(), _2 = _1[0], nameB = _2 === void 0 ? "name" : _2, _1, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameB = "name"] = getMultiRobot() -7 > -8 > nameB = "name" -9 > -10> nameB = "name" -11> ] = getMultiRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [nameB = "name"] = getMultiRobot() +6 > +7 > nameB = "name" +8 > +9 > nameB = "name" +10> ] = getMultiRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(45, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(64, 5) + SourceIndex(0) 4 >Emitted(45, 6) Source(64, 6) + SourceIndex(0) -5 >Emitted(45, 7) Source(64, 6) + SourceIndex(0) -6 >Emitted(45, 27) Source(64, 40) + SourceIndex(0) -7 >Emitted(45, 29) Source(64, 7) + SourceIndex(0) -8 >Emitted(45, 39) Source(64, 21) + SourceIndex(0) -9 >Emitted(45, 41) Source(64, 7) + SourceIndex(0) -10>Emitted(45, 76) Source(64, 21) + SourceIndex(0) -11>Emitted(45, 81) Source(64, 40) + SourceIndex(0) -12>Emitted(45, 83) Source(64, 42) + SourceIndex(0) -13>Emitted(45, 84) Source(64, 43) + SourceIndex(0) -14>Emitted(45, 87) Source(64, 46) + SourceIndex(0) -15>Emitted(45, 88) Source(64, 47) + SourceIndex(0) -16>Emitted(45, 90) Source(64, 49) + SourceIndex(0) -17>Emitted(45, 91) Source(64, 50) + SourceIndex(0) -18>Emitted(45, 94) Source(64, 53) + SourceIndex(0) -19>Emitted(45, 95) Source(64, 54) + SourceIndex(0) -20>Emitted(45, 97) Source(64, 56) + SourceIndex(0) -21>Emitted(45, 98) Source(64, 57) + SourceIndex(0) -22>Emitted(45, 100) Source(64, 59) + SourceIndex(0) -23>Emitted(45, 102) Source(64, 61) + SourceIndex(0) -24>Emitted(45, 103) Source(64, 62) + SourceIndex(0) +5 >Emitted(45, 26) Source(64, 40) + SourceIndex(0) +6 >Emitted(45, 28) Source(64, 7) + SourceIndex(0) +7 >Emitted(45, 38) Source(64, 21) + SourceIndex(0) +8 >Emitted(45, 40) Source(64, 7) + SourceIndex(0) +9 >Emitted(45, 75) Source(64, 21) + SourceIndex(0) +10>Emitted(45, 81) Source(64, 42) + SourceIndex(0) +11>Emitted(45, 82) Source(64, 43) + SourceIndex(0) +12>Emitted(45, 85) Source(64, 46) + SourceIndex(0) +13>Emitted(45, 86) Source(64, 47) + SourceIndex(0) +14>Emitted(45, 88) Source(64, 49) + SourceIndex(0) +15>Emitted(45, 89) Source(64, 50) + SourceIndex(0) +16>Emitted(45, 92) Source(64, 53) + SourceIndex(0) +17>Emitted(45, 93) Source(64, 54) + SourceIndex(0) +18>Emitted(45, 95) Source(64, 56) + SourceIndex(0) +19>Emitted(45, 96) Source(64, 57) + SourceIndex(0) +20>Emitted(45, 98) Source(64, 59) + SourceIndex(0) +21>Emitted(45, 100) Source(64, 61) + SourceIndex(0) +22>Emitted(45, 101) Source(64, 62) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1670,87 +1604,81 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(47, 1) Source(66, 1) + SourceIndex(0) 2 >Emitted(47, 2) Source(66, 2) + SourceIndex(0) --- ->>>for ((_3 = ["trimmer", ["trimming", "edging"]], _4 = _3[0], nameB = _4 === void 0 ? "name" : _4, _3), i = 0; i < 1; i++) { +>>>for (_3 = ["trimmer", ["trimming", "edging"]], _4 = _3[0], nameB = _4 === void 0 ? "name" : _4, _3, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameB = "name"] = ["trimmer", ["trimming", "edging"]] -7 > -8 > nameB = "name" -9 > -10> nameB = "name" -11> ] = ["trimmer", ["trimming", "edging"]] -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > [nameB = "name"] = ["trimmer", ["trimming", "edging"]] +6 > +7 > nameB = "name" +8 > +9 > nameB = "name" +10> ] = ["trimmer", ["trimming", "edging"]], +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(48, 1) Source(67, 1) + SourceIndex(0) 2 >Emitted(48, 4) Source(67, 4) + SourceIndex(0) 3 >Emitted(48, 5) Source(67, 5) + SourceIndex(0) 4 >Emitted(48, 6) Source(67, 6) + SourceIndex(0) -5 >Emitted(48, 7) Source(67, 6) + SourceIndex(0) -6 >Emitted(48, 47) Source(67, 60) + SourceIndex(0) -7 >Emitted(48, 49) Source(67, 7) + SourceIndex(0) -8 >Emitted(48, 59) Source(67, 21) + SourceIndex(0) -9 >Emitted(48, 61) Source(67, 7) + SourceIndex(0) -10>Emitted(48, 96) Source(67, 21) + SourceIndex(0) -11>Emitted(48, 101) Source(67, 60) + SourceIndex(0) -12>Emitted(48, 103) Source(67, 62) + SourceIndex(0) -13>Emitted(48, 104) Source(67, 63) + SourceIndex(0) -14>Emitted(48, 107) Source(67, 66) + SourceIndex(0) -15>Emitted(48, 108) Source(67, 67) + SourceIndex(0) -16>Emitted(48, 110) Source(67, 69) + SourceIndex(0) -17>Emitted(48, 111) Source(67, 70) + SourceIndex(0) -18>Emitted(48, 114) Source(67, 73) + SourceIndex(0) -19>Emitted(48, 115) Source(67, 74) + SourceIndex(0) -20>Emitted(48, 117) Source(67, 76) + SourceIndex(0) -21>Emitted(48, 118) Source(67, 77) + SourceIndex(0) -22>Emitted(48, 120) Source(67, 79) + SourceIndex(0) -23>Emitted(48, 122) Source(67, 81) + SourceIndex(0) -24>Emitted(48, 123) Source(67, 82) + SourceIndex(0) +5 >Emitted(48, 46) Source(67, 60) + SourceIndex(0) +6 >Emitted(48, 48) Source(67, 7) + SourceIndex(0) +7 >Emitted(48, 58) Source(67, 21) + SourceIndex(0) +8 >Emitted(48, 60) Source(67, 7) + SourceIndex(0) +9 >Emitted(48, 95) Source(67, 21) + SourceIndex(0) +10>Emitted(48, 101) Source(67, 62) + SourceIndex(0) +11>Emitted(48, 102) Source(67, 63) + SourceIndex(0) +12>Emitted(48, 105) Source(67, 66) + SourceIndex(0) +13>Emitted(48, 106) Source(67, 67) + SourceIndex(0) +14>Emitted(48, 108) Source(67, 69) + SourceIndex(0) +15>Emitted(48, 109) Source(67, 70) + SourceIndex(0) +16>Emitted(48, 112) Source(67, 73) + SourceIndex(0) +17>Emitted(48, 113) Source(67, 74) + SourceIndex(0) +18>Emitted(48, 115) Source(67, 76) + SourceIndex(0) +19>Emitted(48, 116) Source(67, 77) + SourceIndex(0) +20>Emitted(48, 118) Source(67, 79) + SourceIndex(0) +21>Emitted(48, 120) Source(67, 81) + SourceIndex(0) +22>Emitted(48, 121) Source(67, 82) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1782,112 +1710,106 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(50, 1) Source(69, 1) + SourceIndex(0) 2 >Emitted(50, 2) Source(69, 2) + SourceIndex(0) --- ->>>for ((_5 = robotA[0], numberA2 = _5 === void 0 ? -1 : _5, _6 = robotA[1], nameA2 = _6 === void 0 ? "name" : _6, _7 = robotA[2], skillA2 = _7 === void 0 ? "skill" : _7, robotA), i = 0; i < 1; i++) { +>>>for (_5 = robotA[0], numberA2 = _5 === void 0 ? -1 : _5, _6 = robotA[1], nameA2 = _6 === void 0 ? "name" : _6, _7 = robotA[2], skillA2 = _7 === void 0 ? "skill" : _7, robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberA2 = -1 -7 > -8 > numberA2 = -1 -9 > , -10> nameA2 = "name" -11> -12> nameA2 = "name" -13> , -14> skillA2 = "skill" -15> -16> skillA2 = "skill" -17> ] = -18> robotA -19> -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +4 > ([ +5 > numberA2 = -1 +6 > +7 > numberA2 = -1 +8 > , +9 > nameA2 = "name" +10> +11> nameA2 = "name" +12> , +13> skillA2 = "skill" +14> +15> skillA2 = "skill" +16> ] = +17> robotA +18> , +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(51, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(51, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(51, 5) Source(71, 5) + SourceIndex(0) -4 >Emitted(51, 6) Source(71, 6) + SourceIndex(0) -5 >Emitted(51, 7) Source(71, 7) + SourceIndex(0) -6 >Emitted(51, 21) Source(71, 20) + SourceIndex(0) -7 >Emitted(51, 23) Source(71, 7) + SourceIndex(0) -8 >Emitted(51, 57) Source(71, 20) + SourceIndex(0) -9 >Emitted(51, 59) Source(71, 22) + SourceIndex(0) -10>Emitted(51, 73) Source(71, 37) + SourceIndex(0) -11>Emitted(51, 75) Source(71, 22) + SourceIndex(0) -12>Emitted(51, 111) Source(71, 37) + SourceIndex(0) -13>Emitted(51, 113) Source(71, 39) + SourceIndex(0) -14>Emitted(51, 127) Source(71, 56) + SourceIndex(0) -15>Emitted(51, 129) Source(71, 39) + SourceIndex(0) -16>Emitted(51, 167) Source(71, 56) + SourceIndex(0) -17>Emitted(51, 169) Source(71, 60) + SourceIndex(0) -18>Emitted(51, 175) Source(71, 66) + SourceIndex(0) -19>Emitted(51, 176) Source(71, 66) + SourceIndex(0) -20>Emitted(51, 178) Source(71, 68) + SourceIndex(0) -21>Emitted(51, 179) Source(71, 69) + SourceIndex(0) -22>Emitted(51, 182) Source(71, 72) + SourceIndex(0) -23>Emitted(51, 183) Source(71, 73) + SourceIndex(0) -24>Emitted(51, 185) Source(71, 75) + SourceIndex(0) -25>Emitted(51, 186) Source(71, 76) + SourceIndex(0) -26>Emitted(51, 189) Source(71, 79) + SourceIndex(0) -27>Emitted(51, 190) Source(71, 80) + SourceIndex(0) -28>Emitted(51, 192) Source(71, 82) + SourceIndex(0) -29>Emitted(51, 193) Source(71, 83) + SourceIndex(0) -30>Emitted(51, 195) Source(71, 85) + SourceIndex(0) -31>Emitted(51, 197) Source(71, 87) + SourceIndex(0) -32>Emitted(51, 198) Source(71, 88) + SourceIndex(0) +4 >Emitted(51, 6) Source(71, 7) + SourceIndex(0) +5 >Emitted(51, 20) Source(71, 20) + SourceIndex(0) +6 >Emitted(51, 22) Source(71, 7) + SourceIndex(0) +7 >Emitted(51, 56) Source(71, 20) + SourceIndex(0) +8 >Emitted(51, 58) Source(71, 22) + SourceIndex(0) +9 >Emitted(51, 72) Source(71, 37) + SourceIndex(0) +10>Emitted(51, 74) Source(71, 22) + SourceIndex(0) +11>Emitted(51, 110) Source(71, 37) + SourceIndex(0) +12>Emitted(51, 112) Source(71, 39) + SourceIndex(0) +13>Emitted(51, 126) Source(71, 56) + SourceIndex(0) +14>Emitted(51, 128) Source(71, 39) + SourceIndex(0) +15>Emitted(51, 166) Source(71, 56) + SourceIndex(0) +16>Emitted(51, 168) Source(71, 60) + SourceIndex(0) +17>Emitted(51, 174) Source(71, 66) + SourceIndex(0) +18>Emitted(51, 176) Source(71, 68) + SourceIndex(0) +19>Emitted(51, 177) Source(71, 69) + SourceIndex(0) +20>Emitted(51, 180) Source(71, 72) + SourceIndex(0) +21>Emitted(51, 181) Source(71, 73) + SourceIndex(0) +22>Emitted(51, 183) Source(71, 75) + SourceIndex(0) +23>Emitted(51, 184) Source(71, 76) + SourceIndex(0) +24>Emitted(51, 187) Source(71, 79) + SourceIndex(0) +25>Emitted(51, 188) Source(71, 80) + SourceIndex(0) +26>Emitted(51, 190) Source(71, 82) + SourceIndex(0) +27>Emitted(51, 191) Source(71, 83) + SourceIndex(0) +28>Emitted(51, 193) Source(71, 85) + SourceIndex(0) +29>Emitted(51, 195) Source(71, 87) + SourceIndex(0) +30>Emitted(51, 196) Source(71, 88) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1919,111 +1841,105 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(53, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(53, 2) Source(73, 2) + SourceIndex(0) --- ->>>for ((_8 = getRobot(), _9 = _8[0], numberA2 = _9 === void 0 ? -1 : _9, _10 = _8[1], nameA2 = _10 === void 0 ? "name" : _10, _11 = _8[2], skillA2 = _11 === void 0 ? "skill" : _11, _8), i = 0; i < 1; i++) { +>>>for (_8 = getRobot(), _9 = _8[0], numberA2 = _9 === void 0 ? -1 : _9, _10 = _8[1], nameA2 = _10 === void 0 ? "name" : _10, _11 = _8[2], skillA2 = _11 === void 0 ? "skill" : _11, _8, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot() -7 > -8 > numberA2 = -1 -9 > -10> numberA2 = -1 -11> , -12> nameA2 = "name" -13> -14> nameA2 = "name" -15> , -16> skillA2 = "skill" -17> -18> skillA2 = "skill" -19> ] = getRobot() -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot() +6 > +7 > numberA2 = -1 +8 > +9 > numberA2 = -1 +10> , +11> nameA2 = "name" +12> +13> nameA2 = "name" +14> , +15> skillA2 = "skill" +16> +17> skillA2 = "skill" +18> ] = getRobot(), +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(54, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(54, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(54, 5) Source(74, 5) + SourceIndex(0) 4 >Emitted(54, 6) Source(74, 6) + SourceIndex(0) -5 >Emitted(54, 7) Source(74, 6) + SourceIndex(0) -6 >Emitted(54, 22) Source(74, 70) + SourceIndex(0) -7 >Emitted(54, 24) Source(74, 7) + SourceIndex(0) -8 >Emitted(54, 34) Source(74, 20) + SourceIndex(0) -9 >Emitted(54, 36) Source(74, 7) + SourceIndex(0) -10>Emitted(54, 70) Source(74, 20) + SourceIndex(0) -11>Emitted(54, 72) Source(74, 22) + SourceIndex(0) -12>Emitted(54, 83) Source(74, 37) + SourceIndex(0) -13>Emitted(54, 85) Source(74, 22) + SourceIndex(0) -14>Emitted(54, 123) Source(74, 37) + SourceIndex(0) -15>Emitted(54, 125) Source(74, 39) + SourceIndex(0) -16>Emitted(54, 136) Source(74, 56) + SourceIndex(0) -17>Emitted(54, 138) Source(74, 39) + SourceIndex(0) -18>Emitted(54, 178) Source(74, 56) + SourceIndex(0) -19>Emitted(54, 183) Source(74, 70) + SourceIndex(0) -20>Emitted(54, 185) Source(74, 72) + SourceIndex(0) -21>Emitted(54, 186) Source(74, 73) + SourceIndex(0) -22>Emitted(54, 189) Source(74, 76) + SourceIndex(0) -23>Emitted(54, 190) Source(74, 77) + SourceIndex(0) -24>Emitted(54, 192) Source(74, 79) + SourceIndex(0) -25>Emitted(54, 193) Source(74, 80) + SourceIndex(0) -26>Emitted(54, 196) Source(74, 83) + SourceIndex(0) -27>Emitted(54, 197) Source(74, 84) + SourceIndex(0) -28>Emitted(54, 199) Source(74, 86) + SourceIndex(0) -29>Emitted(54, 200) Source(74, 87) + SourceIndex(0) -30>Emitted(54, 202) Source(74, 89) + SourceIndex(0) -31>Emitted(54, 204) Source(74, 91) + SourceIndex(0) -32>Emitted(54, 205) Source(74, 92) + SourceIndex(0) +5 >Emitted(54, 21) Source(74, 70) + SourceIndex(0) +6 >Emitted(54, 23) Source(74, 7) + SourceIndex(0) +7 >Emitted(54, 33) Source(74, 20) + SourceIndex(0) +8 >Emitted(54, 35) Source(74, 7) + SourceIndex(0) +9 >Emitted(54, 69) Source(74, 20) + SourceIndex(0) +10>Emitted(54, 71) Source(74, 22) + SourceIndex(0) +11>Emitted(54, 82) Source(74, 37) + SourceIndex(0) +12>Emitted(54, 84) Source(74, 22) + SourceIndex(0) +13>Emitted(54, 122) Source(74, 37) + SourceIndex(0) +14>Emitted(54, 124) Source(74, 39) + SourceIndex(0) +15>Emitted(54, 135) Source(74, 56) + SourceIndex(0) +16>Emitted(54, 137) Source(74, 39) + SourceIndex(0) +17>Emitted(54, 177) Source(74, 56) + SourceIndex(0) +18>Emitted(54, 183) Source(74, 72) + SourceIndex(0) +19>Emitted(54, 184) Source(74, 73) + SourceIndex(0) +20>Emitted(54, 187) Source(74, 76) + SourceIndex(0) +21>Emitted(54, 188) Source(74, 77) + SourceIndex(0) +22>Emitted(54, 190) Source(74, 79) + SourceIndex(0) +23>Emitted(54, 191) Source(74, 80) + SourceIndex(0) +24>Emitted(54, 194) Source(74, 83) + SourceIndex(0) +25>Emitted(54, 195) Source(74, 84) + SourceIndex(0) +26>Emitted(54, 197) Source(74, 86) + SourceIndex(0) +27>Emitted(54, 198) Source(74, 87) + SourceIndex(0) +28>Emitted(54, 200) Source(74, 89) + SourceIndex(0) +29>Emitted(54, 202) Source(74, 91) + SourceIndex(0) +30>Emitted(54, 203) Source(74, 92) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -2055,111 +1971,105 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(56, 1) Source(76, 1) + SourceIndex(0) 2 >Emitted(56, 2) Source(76, 2) + SourceIndex(0) --- ->>>for ((_12 = [2, "trimmer", "trimming"], _13 = _12[0], numberA2 = _13 === void 0 ? -1 : _13, _14 = _12[1], nameA2 = _14 === void 0 ? "name" : _14, _15 = _12[2], skillA2 = _15 === void 0 ? "skill" : _15, _12), i = 0; i < 1; i++) { +>>>for (_12 = [2, "trimmer", "trimming"], _13 = _12[0], numberA2 = _13 === void 0 ? -1 : _13, _14 = _12[1], nameA2 = _14 === void 0 ? "name" : _14, _15 = _12[2], skillA2 = _15 === void 0 ? "skill" : _15, _12, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"] -7 > -8 > numberA2 = -1 -9 > -10> numberA2 = -1 -11> , -12> nameA2 = "name" -13> -14> nameA2 = "name" -15> , -16> skillA2 = "skill" -17> -18> skillA2 = "skill" -19> ] = [2, "trimmer", "trimming"] -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"] +6 > +7 > numberA2 = -1 +8 > +9 > numberA2 = -1 +10> , +11> nameA2 = "name" +12> +13> nameA2 = "name" +14> , +15> skillA2 = "skill" +16> +17> skillA2 = "skill" +18> ] = [2, "trimmer", "trimming"], +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(57, 1) Source(77, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(77, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(77, 5) + SourceIndex(0) 4 >Emitted(57, 6) Source(77, 6) + SourceIndex(0) -5 >Emitted(57, 7) Source(77, 6) + SourceIndex(0) -6 >Emitted(57, 39) Source(77, 86) + SourceIndex(0) -7 >Emitted(57, 41) Source(77, 7) + SourceIndex(0) -8 >Emitted(57, 53) Source(77, 20) + SourceIndex(0) -9 >Emitted(57, 55) Source(77, 7) + SourceIndex(0) -10>Emitted(57, 91) Source(77, 20) + SourceIndex(0) -11>Emitted(57, 93) Source(77, 22) + SourceIndex(0) -12>Emitted(57, 105) Source(77, 37) + SourceIndex(0) -13>Emitted(57, 107) Source(77, 22) + SourceIndex(0) -14>Emitted(57, 145) Source(77, 37) + SourceIndex(0) -15>Emitted(57, 147) Source(77, 39) + SourceIndex(0) -16>Emitted(57, 159) Source(77, 56) + SourceIndex(0) -17>Emitted(57, 161) Source(77, 39) + SourceIndex(0) -18>Emitted(57, 201) Source(77, 56) + SourceIndex(0) -19>Emitted(57, 207) Source(77, 86) + SourceIndex(0) -20>Emitted(57, 209) Source(77, 88) + SourceIndex(0) -21>Emitted(57, 210) Source(77, 89) + SourceIndex(0) -22>Emitted(57, 213) Source(77, 92) + SourceIndex(0) -23>Emitted(57, 214) Source(77, 93) + SourceIndex(0) -24>Emitted(57, 216) Source(77, 95) + SourceIndex(0) -25>Emitted(57, 217) Source(77, 96) + SourceIndex(0) -26>Emitted(57, 220) Source(77, 99) + SourceIndex(0) -27>Emitted(57, 221) Source(77, 100) + SourceIndex(0) -28>Emitted(57, 223) Source(77, 102) + SourceIndex(0) -29>Emitted(57, 224) Source(77, 103) + SourceIndex(0) -30>Emitted(57, 226) Source(77, 105) + SourceIndex(0) -31>Emitted(57, 228) Source(77, 107) + SourceIndex(0) -32>Emitted(57, 229) Source(77, 108) + SourceIndex(0) +5 >Emitted(57, 38) Source(77, 86) + SourceIndex(0) +6 >Emitted(57, 40) Source(77, 7) + SourceIndex(0) +7 >Emitted(57, 52) Source(77, 20) + SourceIndex(0) +8 >Emitted(57, 54) Source(77, 7) + SourceIndex(0) +9 >Emitted(57, 90) Source(77, 20) + SourceIndex(0) +10>Emitted(57, 92) Source(77, 22) + SourceIndex(0) +11>Emitted(57, 104) Source(77, 37) + SourceIndex(0) +12>Emitted(57, 106) Source(77, 22) + SourceIndex(0) +13>Emitted(57, 144) Source(77, 37) + SourceIndex(0) +14>Emitted(57, 146) Source(77, 39) + SourceIndex(0) +15>Emitted(57, 158) Source(77, 56) + SourceIndex(0) +16>Emitted(57, 160) Source(77, 39) + SourceIndex(0) +17>Emitted(57, 200) Source(77, 56) + SourceIndex(0) +18>Emitted(57, 207) Source(77, 88) + SourceIndex(0) +19>Emitted(57, 208) Source(77, 89) + SourceIndex(0) +20>Emitted(57, 211) Source(77, 92) + SourceIndex(0) +21>Emitted(57, 212) Source(77, 93) + SourceIndex(0) +22>Emitted(57, 214) Source(77, 95) + SourceIndex(0) +23>Emitted(57, 215) Source(77, 96) + SourceIndex(0) +24>Emitted(57, 218) Source(77, 99) + SourceIndex(0) +25>Emitted(57, 219) Source(77, 100) + SourceIndex(0) +26>Emitted(57, 221) Source(77, 102) + SourceIndex(0) +27>Emitted(57, 222) Source(77, 103) + SourceIndex(0) +28>Emitted(57, 224) Source(77, 105) + SourceIndex(0) +29>Emitted(57, 226) Source(77, 107) + SourceIndex(0) +30>Emitted(57, 227) Source(77, 108) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -2203,110 +2113,113 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^^^^^^^^^^^^ -18> ^^ -19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -20> ^^ -21> ^^^ -22> ^^^ -23> ^ -24> ^^ -25> ^^^ -26> ^^^ -27> ^ -28> ^^ -29> ^^^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^^^^^^^^^^^^ +19> ^^ +20> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +21> ^^ +22> ^^^ +23> ^^^ +24> ^ +25> ^^ +26> ^^^ +27> ^^^ +28> ^ +29> ^^ +30> ^^^ +31> ^^ +32> ^^ +33> ^ 1-> > 2 >for 3 > 4 > (let > [ -5 > nameMA = "noName" -6 > -7 > nameMA = "noName" -8 > , +5 > +6 > nameMA = "noName" +7 > +8 > nameMA = "noName" +9 > , > -9 > [ +10> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"] -10> -11> [ +11> +12> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["none", "none"] -12> -13> primarySkillA = "primary" -14> -15> primarySkillA = "primary" -16> , +13> +14> primarySkillA = "primary" +15> +16> primarySkillA = "primary" +17> , > -17> secondarySkillA = "secondary" -18> -19> secondarySkillA = "secondary" -20> +18> secondarySkillA = "secondary" +19> +20> secondarySkillA = "secondary" +21> > ] = ["none", "none"] > ] = multiRobotA, -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +22> i +23> = +24> 0 +25> ; +26> i +27> < +28> 1 +29> ; +30> i +31> ++ +32> ) +33> { 1->Emitted(60, 1) Source(80, 1) + SourceIndex(0) 2 >Emitted(60, 4) Source(80, 4) + SourceIndex(0) 3 >Emitted(60, 5) Source(80, 5) + SourceIndex(0) 4 >Emitted(60, 6) Source(81, 6) + SourceIndex(0) -5 >Emitted(60, 30) Source(81, 23) + SourceIndex(0) -6 >Emitted(60, 32) Source(81, 6) + SourceIndex(0) -7 >Emitted(60, 74) Source(81, 23) + SourceIndex(0) -8 >Emitted(60, 76) Source(82, 9) + SourceIndex(0) -9 >Emitted(60, 96) Source(85, 29) + SourceIndex(0) -10>Emitted(60, 98) Source(82, 9) + SourceIndex(0) -11>Emitted(60, 143) Source(85, 29) + SourceIndex(0) -12>Emitted(60, 145) Source(83, 13) + SourceIndex(0) -13>Emitted(60, 157) Source(83, 38) + SourceIndex(0) -14>Emitted(60, 159) Source(83, 13) + SourceIndex(0) -15>Emitted(60, 209) Source(83, 38) + SourceIndex(0) -16>Emitted(60, 211) Source(84, 13) + SourceIndex(0) -17>Emitted(60, 223) Source(84, 42) + SourceIndex(0) -18>Emitted(60, 225) Source(84, 13) + SourceIndex(0) -19>Emitted(60, 279) Source(84, 42) + SourceIndex(0) -20>Emitted(60, 281) Source(86, 22) + SourceIndex(0) -21>Emitted(60, 284) Source(86, 23) + SourceIndex(0) -22>Emitted(60, 287) Source(86, 26) + SourceIndex(0) -23>Emitted(60, 288) Source(86, 27) + SourceIndex(0) -24>Emitted(60, 290) Source(86, 29) + SourceIndex(0) -25>Emitted(60, 293) Source(86, 30) + SourceIndex(0) -26>Emitted(60, 296) Source(86, 33) + SourceIndex(0) -27>Emitted(60, 297) Source(86, 34) + SourceIndex(0) -28>Emitted(60, 299) Source(86, 36) + SourceIndex(0) -29>Emitted(60, 302) Source(86, 37) + SourceIndex(0) -30>Emitted(60, 304) Source(86, 39) + SourceIndex(0) -31>Emitted(60, 306) Source(86, 41) + SourceIndex(0) -32>Emitted(60, 307) Source(86, 42) + SourceIndex(0) +5 >Emitted(60, 10) Source(81, 6) + SourceIndex(0) +6 >Emitted(60, 30) Source(81, 23) + SourceIndex(0) +7 >Emitted(60, 32) Source(81, 6) + SourceIndex(0) +8 >Emitted(60, 74) Source(81, 23) + SourceIndex(0) +9 >Emitted(60, 76) Source(82, 9) + SourceIndex(0) +10>Emitted(60, 96) Source(85, 29) + SourceIndex(0) +11>Emitted(60, 98) Source(82, 9) + SourceIndex(0) +12>Emitted(60, 143) Source(85, 29) + SourceIndex(0) +13>Emitted(60, 145) Source(83, 13) + SourceIndex(0) +14>Emitted(60, 157) Source(83, 38) + SourceIndex(0) +15>Emitted(60, 159) Source(83, 13) + SourceIndex(0) +16>Emitted(60, 209) Source(83, 38) + SourceIndex(0) +17>Emitted(60, 211) Source(84, 13) + SourceIndex(0) +18>Emitted(60, 223) Source(84, 42) + SourceIndex(0) +19>Emitted(60, 225) Source(84, 13) + SourceIndex(0) +20>Emitted(60, 279) Source(84, 42) + SourceIndex(0) +21>Emitted(60, 281) Source(86, 22) + SourceIndex(0) +22>Emitted(60, 284) Source(86, 23) + SourceIndex(0) +23>Emitted(60, 287) Source(86, 26) + SourceIndex(0) +24>Emitted(60, 288) Source(86, 27) + SourceIndex(0) +25>Emitted(60, 290) Source(86, 29) + SourceIndex(0) +26>Emitted(60, 293) Source(86, 30) + SourceIndex(0) +27>Emitted(60, 296) Source(86, 33) + SourceIndex(0) +28>Emitted(60, 297) Source(86, 34) + SourceIndex(0) +29>Emitted(60, 299) Source(86, 36) + SourceIndex(0) +30>Emitted(60, 302) Source(86, 37) + SourceIndex(0) +31>Emitted(60, 304) Source(86, 39) + SourceIndex(0) +32>Emitted(60, 306) Source(86, 41) + SourceIndex(0) +33>Emitted(60, 307) Source(86, 42) + SourceIndex(0) --- >>> console.log(nameMA_1); 1 >^^^^ @@ -2338,138 +2251,132 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(62, 1) Source(88, 1) + SourceIndex(0) 2 >Emitted(62, 2) Source(88, 2) + SourceIndex(0) --- ->>>for ((_21 = getMultiRobot(), _22 = _21[0], nameMA = _22 === void 0 ? "noName" : _22, _23 = _21[1], _24 = _23 === void 0 ? ["none", "none"] : _23, _25 = _24[0], primarySkillA = _25 === void 0 ? "primary" : _25, _26 = _24[1], secondarySkillA = _26 === void 0 ? "secondary" : _26, _21), i = 0; i < 1; i++) { +>>>for (_21 = getMultiRobot(), _22 = _21[0], nameMA = _22 === void 0 ? "noName" : _22, _23 = _21[1], _24 = _23 === void 0 ? ["none", "none"] : _23, _25 = _24[0], primarySkillA = _25 === void 0 ? "primary" : _25, _26 = _24[1], secondarySkillA = _26 === void 0 ? "secondary" : _26, _21, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +22> ^^^^^^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameMA = "noName", - > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] - > ] = getMultiRobot() -7 > -8 > nameMA = "noName" -9 > -10> nameMA = "noName" -11> , - > -12> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -13> -14> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -15> -16> primarySkillA = "primary" -17> -18> primarySkillA = "primary" -19> , - > -20> secondarySkillA = "secondary" -21> -22> secondarySkillA = "secondary" -23> - > ] = ["none", "none"] - > ] = getMultiRobot() -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +5 > [nameMA = "noName", + > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] + > ] = getMultiRobot() +6 > +7 > nameMA = "noName" +8 > +9 > nameMA = "noName" +10> , + > +11> [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +12> +13> [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +14> +15> primarySkillA = "primary" +16> +17> primarySkillA = "primary" +18> , + > +19> secondarySkillA = "secondary" +20> +21> secondarySkillA = "secondary" +22> + > ] = ["none", "none"] + > ] = getMultiRobot(), +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(63, 1) Source(89, 1) + SourceIndex(0) 2 >Emitted(63, 4) Source(89, 4) + SourceIndex(0) 3 >Emitted(63, 5) Source(89, 5) + SourceIndex(0) 4 >Emitted(63, 6) Source(89, 6) + SourceIndex(0) -5 >Emitted(63, 7) Source(89, 6) + SourceIndex(0) -6 >Emitted(63, 28) Source(94, 20) + SourceIndex(0) -7 >Emitted(63, 30) Source(89, 7) + SourceIndex(0) -8 >Emitted(63, 42) Source(89, 24) + SourceIndex(0) -9 >Emitted(63, 44) Source(89, 7) + SourceIndex(0) -10>Emitted(63, 84) Source(89, 24) + SourceIndex(0) -11>Emitted(63, 86) Source(90, 5) + SourceIndex(0) -12>Emitted(63, 98) Source(93, 25) + SourceIndex(0) -13>Emitted(63, 100) Source(90, 5) + SourceIndex(0) -14>Emitted(63, 145) Source(93, 25) + SourceIndex(0) -15>Emitted(63, 147) Source(91, 9) + SourceIndex(0) -16>Emitted(63, 159) Source(91, 34) + SourceIndex(0) -17>Emitted(63, 161) Source(91, 9) + SourceIndex(0) -18>Emitted(63, 209) Source(91, 34) + SourceIndex(0) -19>Emitted(63, 211) Source(92, 9) + SourceIndex(0) -20>Emitted(63, 223) Source(92, 38) + SourceIndex(0) -21>Emitted(63, 225) Source(92, 9) + SourceIndex(0) -22>Emitted(63, 277) Source(92, 38) + SourceIndex(0) -23>Emitted(63, 283) Source(94, 20) + SourceIndex(0) -24>Emitted(63, 285) Source(94, 22) + SourceIndex(0) -25>Emitted(63, 286) Source(94, 23) + SourceIndex(0) -26>Emitted(63, 289) Source(94, 26) + SourceIndex(0) -27>Emitted(63, 290) Source(94, 27) + SourceIndex(0) -28>Emitted(63, 292) Source(94, 29) + SourceIndex(0) -29>Emitted(63, 293) Source(94, 30) + SourceIndex(0) -30>Emitted(63, 296) Source(94, 33) + SourceIndex(0) -31>Emitted(63, 297) Source(94, 34) + SourceIndex(0) -32>Emitted(63, 299) Source(94, 36) + SourceIndex(0) -33>Emitted(63, 300) Source(94, 37) + SourceIndex(0) -34>Emitted(63, 302) Source(94, 39) + SourceIndex(0) -35>Emitted(63, 304) Source(94, 41) + SourceIndex(0) -36>Emitted(63, 305) Source(94, 42) + SourceIndex(0) +5 >Emitted(63, 27) Source(94, 20) + SourceIndex(0) +6 >Emitted(63, 29) Source(89, 7) + SourceIndex(0) +7 >Emitted(63, 41) Source(89, 24) + SourceIndex(0) +8 >Emitted(63, 43) Source(89, 7) + SourceIndex(0) +9 >Emitted(63, 83) Source(89, 24) + SourceIndex(0) +10>Emitted(63, 85) Source(90, 5) + SourceIndex(0) +11>Emitted(63, 97) Source(93, 25) + SourceIndex(0) +12>Emitted(63, 99) Source(90, 5) + SourceIndex(0) +13>Emitted(63, 144) Source(93, 25) + SourceIndex(0) +14>Emitted(63, 146) Source(91, 9) + SourceIndex(0) +15>Emitted(63, 158) Source(91, 34) + SourceIndex(0) +16>Emitted(63, 160) Source(91, 9) + SourceIndex(0) +17>Emitted(63, 208) Source(91, 34) + SourceIndex(0) +18>Emitted(63, 210) Source(92, 9) + SourceIndex(0) +19>Emitted(63, 222) Source(92, 38) + SourceIndex(0) +20>Emitted(63, 224) Source(92, 9) + SourceIndex(0) +21>Emitted(63, 276) Source(92, 38) + SourceIndex(0) +22>Emitted(63, 283) Source(94, 22) + SourceIndex(0) +23>Emitted(63, 284) Source(94, 23) + SourceIndex(0) +24>Emitted(63, 287) Source(94, 26) + SourceIndex(0) +25>Emitted(63, 288) Source(94, 27) + SourceIndex(0) +26>Emitted(63, 290) Source(94, 29) + SourceIndex(0) +27>Emitted(63, 291) Source(94, 30) + SourceIndex(0) +28>Emitted(63, 294) Source(94, 33) + SourceIndex(0) +29>Emitted(63, 295) Source(94, 34) + SourceIndex(0) +30>Emitted(63, 297) Source(94, 36) + SourceIndex(0) +31>Emitted(63, 298) Source(94, 37) + SourceIndex(0) +32>Emitted(63, 300) Source(94, 39) + SourceIndex(0) +33>Emitted(63, 302) Source(94, 41) + SourceIndex(0) +34>Emitted(63, 303) Source(94, 42) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2501,138 +2408,132 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(65, 1) Source(96, 1) + SourceIndex(0) 2 >Emitted(65, 2) Source(96, 2) + SourceIndex(0) --- ->>>for ((_27 = ["trimmer", ["trimming", "edging"]], _28 = _27[0], nameMA = _28 === void 0 ? "noName" : _28, _29 = _27[1], _30 = _29 === void 0 ? ["none", "none"] : _29, _31 = _30[0], primarySkillA = _31 === void 0 ? "primary" : _31, _32 = _30[1], secondarySkillA = _32 === void 0 ? "secondary" : _32, _27), i = 0; i < 1; i++) { +>>>for (_27 = ["trimmer", ["trimming", "edging"]], _28 = _27[0], nameMA = _28 === void 0 ? "noName" : _28, _29 = _27[1], _30 = _29 === void 0 ? ["none", "none"] : _29, _31 = _30[0], primarySkillA = _31 === void 0 ? "primary" : _31, _32 = _30[1], secondarySkillA = _32 === void 0 ? "secondary" : _32, _27, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +22> ^^^^^^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [nameMA = "noName", - > [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] - > ] = ["trimmer", ["trimming", "edging"]] -7 > -8 > nameMA = "noName" -9 > -10> nameMA = "noName" -11> , - > -12> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -13> -14> [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["none", "none"] -15> -16> primarySkillA = "primary" -17> -18> primarySkillA = "primary" -19> , - > -20> secondarySkillA = "secondary" -21> -22> secondarySkillA = "secondary" -23> - > ] = ["none", "none"] - > ] = ["trimmer", ["trimming", "edging"]] -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +5 > [nameMA = "noName", + > [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] + > ] = ["trimmer", ["trimming", "edging"]] +6 > +7 > nameMA = "noName" +8 > +9 > nameMA = "noName" +10> , + > +11> [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +12> +13> [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["none", "none"] +14> +15> primarySkillA = "primary" +16> +17> primarySkillA = "primary" +18> , + > +19> secondarySkillA = "secondary" +20> +21> secondarySkillA = "secondary" +22> + > ] = ["none", "none"] + > ] = ["trimmer", ["trimming", "edging"]], +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(66, 1) Source(97, 1) + SourceIndex(0) 2 >Emitted(66, 4) Source(97, 4) + SourceIndex(0) 3 >Emitted(66, 5) Source(97, 5) + SourceIndex(0) 4 >Emitted(66, 6) Source(97, 6) + SourceIndex(0) -5 >Emitted(66, 7) Source(97, 6) + SourceIndex(0) -6 >Emitted(66, 48) Source(102, 40) + SourceIndex(0) -7 >Emitted(66, 50) Source(97, 7) + SourceIndex(0) -8 >Emitted(66, 62) Source(97, 24) + SourceIndex(0) -9 >Emitted(66, 64) Source(97, 7) + SourceIndex(0) -10>Emitted(66, 104) Source(97, 24) + SourceIndex(0) -11>Emitted(66, 106) Source(98, 5) + SourceIndex(0) -12>Emitted(66, 118) Source(101, 25) + SourceIndex(0) -13>Emitted(66, 120) Source(98, 5) + SourceIndex(0) -14>Emitted(66, 165) Source(101, 25) + SourceIndex(0) -15>Emitted(66, 167) Source(99, 9) + SourceIndex(0) -16>Emitted(66, 179) Source(99, 34) + SourceIndex(0) -17>Emitted(66, 181) Source(99, 9) + SourceIndex(0) -18>Emitted(66, 229) Source(99, 34) + SourceIndex(0) -19>Emitted(66, 231) Source(100, 9) + SourceIndex(0) -20>Emitted(66, 243) Source(100, 38) + SourceIndex(0) -21>Emitted(66, 245) Source(100, 9) + SourceIndex(0) -22>Emitted(66, 297) Source(100, 38) + SourceIndex(0) -23>Emitted(66, 303) Source(102, 40) + SourceIndex(0) -24>Emitted(66, 305) Source(102, 42) + SourceIndex(0) -25>Emitted(66, 306) Source(102, 43) + SourceIndex(0) -26>Emitted(66, 309) Source(102, 46) + SourceIndex(0) -27>Emitted(66, 310) Source(102, 47) + SourceIndex(0) -28>Emitted(66, 312) Source(102, 49) + SourceIndex(0) -29>Emitted(66, 313) Source(102, 50) + SourceIndex(0) -30>Emitted(66, 316) Source(102, 53) + SourceIndex(0) -31>Emitted(66, 317) Source(102, 54) + SourceIndex(0) -32>Emitted(66, 319) Source(102, 56) + SourceIndex(0) -33>Emitted(66, 320) Source(102, 57) + SourceIndex(0) -34>Emitted(66, 322) Source(102, 59) + SourceIndex(0) -35>Emitted(66, 324) Source(102, 61) + SourceIndex(0) -36>Emitted(66, 325) Source(102, 62) + SourceIndex(0) +5 >Emitted(66, 47) Source(102, 40) + SourceIndex(0) +6 >Emitted(66, 49) Source(97, 7) + SourceIndex(0) +7 >Emitted(66, 61) Source(97, 24) + SourceIndex(0) +8 >Emitted(66, 63) Source(97, 7) + SourceIndex(0) +9 >Emitted(66, 103) Source(97, 24) + SourceIndex(0) +10>Emitted(66, 105) Source(98, 5) + SourceIndex(0) +11>Emitted(66, 117) Source(101, 25) + SourceIndex(0) +12>Emitted(66, 119) Source(98, 5) + SourceIndex(0) +13>Emitted(66, 164) Source(101, 25) + SourceIndex(0) +14>Emitted(66, 166) Source(99, 9) + SourceIndex(0) +15>Emitted(66, 178) Source(99, 34) + SourceIndex(0) +16>Emitted(66, 180) Source(99, 9) + SourceIndex(0) +17>Emitted(66, 228) Source(99, 34) + SourceIndex(0) +18>Emitted(66, 230) Source(100, 9) + SourceIndex(0) +19>Emitted(66, 242) Source(100, 38) + SourceIndex(0) +20>Emitted(66, 244) Source(100, 9) + SourceIndex(0) +21>Emitted(66, 296) Source(100, 38) + SourceIndex(0) +22>Emitted(66, 303) Source(102, 42) + SourceIndex(0) +23>Emitted(66, 304) Source(102, 43) + SourceIndex(0) +24>Emitted(66, 307) Source(102, 46) + SourceIndex(0) +25>Emitted(66, 308) Source(102, 47) + SourceIndex(0) +26>Emitted(66, 310) Source(102, 49) + SourceIndex(0) +27>Emitted(66, 311) Source(102, 50) + SourceIndex(0) +28>Emitted(66, 314) Source(102, 53) + SourceIndex(0) +29>Emitted(66, 315) Source(102, 54) + SourceIndex(0) +30>Emitted(66, 317) Source(102, 56) + SourceIndex(0) +31>Emitted(66, 318) Source(102, 57) + SourceIndex(0) +32>Emitted(66, 320) Source(102, 59) + SourceIndex(0) +33>Emitted(66, 322) Source(102, 61) + SourceIndex(0) +34>Emitted(66, 323) Source(102, 62) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2664,94 +2565,88 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(68, 1) Source(104, 1) + SourceIndex(0) 2 >Emitted(68, 2) Source(104, 2) + SourceIndex(0) --- ->>>for ((_33 = robotA[0], numberA3 = _33 === void 0 ? -1 : _33, robotAInfo = robotA.slice(1), robotA), i = 0; i < 1; i++) { +>>>for (_33 = robotA[0], numberA3 = _33 === void 0 ? -1 : _33, robotAInfo = robotA.slice(1), robotA, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > > 2 >for 3 > -4 > ( -5 > [ -6 > numberA3 = -1 -7 > -8 > numberA3 = -1 -9 > , -10> ...robotAInfo -11> ] = -12> robotA -13> -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +4 > ([ +5 > numberA3 = -1 +6 > +7 > numberA3 = -1 +8 > , +9 > ...robotAInfo +10> ] = +11> robotA +12> , +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(69, 1) Source(106, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(106, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(106, 5) + SourceIndex(0) -4 >Emitted(69, 6) Source(106, 6) + SourceIndex(0) -5 >Emitted(69, 7) Source(106, 7) + SourceIndex(0) -6 >Emitted(69, 22) Source(106, 20) + SourceIndex(0) -7 >Emitted(69, 24) Source(106, 7) + SourceIndex(0) -8 >Emitted(69, 60) Source(106, 20) + SourceIndex(0) -9 >Emitted(69, 62) Source(106, 22) + SourceIndex(0) -10>Emitted(69, 90) Source(106, 35) + SourceIndex(0) -11>Emitted(69, 92) Source(106, 39) + SourceIndex(0) -12>Emitted(69, 98) Source(106, 45) + SourceIndex(0) -13>Emitted(69, 99) Source(106, 45) + SourceIndex(0) -14>Emitted(69, 101) Source(106, 47) + SourceIndex(0) -15>Emitted(69, 102) Source(106, 48) + SourceIndex(0) -16>Emitted(69, 105) Source(106, 51) + SourceIndex(0) -17>Emitted(69, 106) Source(106, 52) + SourceIndex(0) -18>Emitted(69, 108) Source(106, 54) + SourceIndex(0) -19>Emitted(69, 109) Source(106, 55) + SourceIndex(0) -20>Emitted(69, 112) Source(106, 58) + SourceIndex(0) -21>Emitted(69, 113) Source(106, 59) + SourceIndex(0) -22>Emitted(69, 115) Source(106, 61) + SourceIndex(0) -23>Emitted(69, 116) Source(106, 62) + SourceIndex(0) -24>Emitted(69, 118) Source(106, 64) + SourceIndex(0) -25>Emitted(69, 120) Source(106, 66) + SourceIndex(0) -26>Emitted(69, 121) Source(106, 67) + SourceIndex(0) +4 >Emitted(69, 6) Source(106, 7) + SourceIndex(0) +5 >Emitted(69, 21) Source(106, 20) + SourceIndex(0) +6 >Emitted(69, 23) Source(106, 7) + SourceIndex(0) +7 >Emitted(69, 59) Source(106, 20) + SourceIndex(0) +8 >Emitted(69, 61) Source(106, 22) + SourceIndex(0) +9 >Emitted(69, 89) Source(106, 35) + SourceIndex(0) +10>Emitted(69, 91) Source(106, 39) + SourceIndex(0) +11>Emitted(69, 97) Source(106, 45) + SourceIndex(0) +12>Emitted(69, 99) Source(106, 47) + SourceIndex(0) +13>Emitted(69, 100) Source(106, 48) + SourceIndex(0) +14>Emitted(69, 103) Source(106, 51) + SourceIndex(0) +15>Emitted(69, 104) Source(106, 52) + SourceIndex(0) +16>Emitted(69, 106) Source(106, 54) + SourceIndex(0) +17>Emitted(69, 107) Source(106, 55) + SourceIndex(0) +18>Emitted(69, 110) Source(106, 58) + SourceIndex(0) +19>Emitted(69, 111) Source(106, 59) + SourceIndex(0) +20>Emitted(69, 113) Source(106, 61) + SourceIndex(0) +21>Emitted(69, 114) Source(106, 62) + SourceIndex(0) +22>Emitted(69, 116) Source(106, 64) + SourceIndex(0) +23>Emitted(69, 118) Source(106, 66) + SourceIndex(0) +24>Emitted(69, 119) Source(106, 67) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2783,93 +2678,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(71, 1) Source(108, 1) + SourceIndex(0) 2 >Emitted(71, 2) Source(108, 2) + SourceIndex(0) --- ->>>for ((_34 = getRobot(), _35 = _34[0], numberA3 = _35 === void 0 ? -1 : _35, robotAInfo = _34.slice(1), _34), i = 0; i < 1; i++) { +>>>for (_34 = getRobot(), _35 = _34[0], numberA3 = _35 === void 0 ? -1 : _35, robotAInfo = _34.slice(1), _34, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA3 = -1, ...robotAInfo] = getRobot() -7 > -8 > numberA3 = -1 -9 > -10> numberA3 = -1 -11> , -12> ...robotAInfo -13> ] = getRobot() -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [numberA3 = -1, ...robotAInfo] = getRobot() +6 > +7 > numberA3 = -1 +8 > +9 > numberA3 = -1 +10> , +11> ...robotAInfo +12> ] = getRobot(), +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(72, 1) Source(109, 1) + SourceIndex(0) 2 >Emitted(72, 4) Source(109, 4) + SourceIndex(0) 3 >Emitted(72, 5) Source(109, 5) + SourceIndex(0) 4 >Emitted(72, 6) Source(109, 6) + SourceIndex(0) -5 >Emitted(72, 7) Source(109, 6) + SourceIndex(0) -6 >Emitted(72, 23) Source(109, 49) + SourceIndex(0) -7 >Emitted(72, 25) Source(109, 7) + SourceIndex(0) -8 >Emitted(72, 37) Source(109, 20) + SourceIndex(0) -9 >Emitted(72, 39) Source(109, 7) + SourceIndex(0) -10>Emitted(72, 75) Source(109, 20) + SourceIndex(0) -11>Emitted(72, 77) Source(109, 22) + SourceIndex(0) -12>Emitted(72, 102) Source(109, 35) + SourceIndex(0) -13>Emitted(72, 108) Source(109, 49) + SourceIndex(0) -14>Emitted(72, 110) Source(109, 51) + SourceIndex(0) -15>Emitted(72, 111) Source(109, 52) + SourceIndex(0) -16>Emitted(72, 114) Source(109, 55) + SourceIndex(0) -17>Emitted(72, 115) Source(109, 56) + SourceIndex(0) -18>Emitted(72, 117) Source(109, 58) + SourceIndex(0) -19>Emitted(72, 118) Source(109, 59) + SourceIndex(0) -20>Emitted(72, 121) Source(109, 62) + SourceIndex(0) -21>Emitted(72, 122) Source(109, 63) + SourceIndex(0) -22>Emitted(72, 124) Source(109, 65) + SourceIndex(0) -23>Emitted(72, 125) Source(109, 66) + SourceIndex(0) -24>Emitted(72, 127) Source(109, 68) + SourceIndex(0) -25>Emitted(72, 129) Source(109, 70) + SourceIndex(0) -26>Emitted(72, 130) Source(109, 71) + SourceIndex(0) +5 >Emitted(72, 22) Source(109, 49) + SourceIndex(0) +6 >Emitted(72, 24) Source(109, 7) + SourceIndex(0) +7 >Emitted(72, 36) Source(109, 20) + SourceIndex(0) +8 >Emitted(72, 38) Source(109, 7) + SourceIndex(0) +9 >Emitted(72, 74) Source(109, 20) + SourceIndex(0) +10>Emitted(72, 76) Source(109, 22) + SourceIndex(0) +11>Emitted(72, 101) Source(109, 35) + SourceIndex(0) +12>Emitted(72, 108) Source(109, 51) + SourceIndex(0) +13>Emitted(72, 109) Source(109, 52) + SourceIndex(0) +14>Emitted(72, 112) Source(109, 55) + SourceIndex(0) +15>Emitted(72, 113) Source(109, 56) + SourceIndex(0) +16>Emitted(72, 115) Source(109, 58) + SourceIndex(0) +17>Emitted(72, 116) Source(109, 59) + SourceIndex(0) +18>Emitted(72, 119) Source(109, 62) + SourceIndex(0) +19>Emitted(72, 120) Source(109, 63) + SourceIndex(0) +20>Emitted(72, 122) Source(109, 65) + SourceIndex(0) +21>Emitted(72, 123) Source(109, 66) + SourceIndex(0) +22>Emitted(72, 125) Source(109, 68) + SourceIndex(0) +23>Emitted(72, 127) Source(109, 70) + SourceIndex(0) +24>Emitted(72, 128) Source(109, 71) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2901,93 +2790,87 @@ sourceFile:sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2. >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(74, 1) Source(111, 1) + SourceIndex(0) 2 >Emitted(74, 2) Source(111, 2) + SourceIndex(0) --- ->>>for ((_36 = [2, "trimmer", "trimming"], _37 = _36[0], numberA3 = _37 === void 0 ? -1 : _37, robotAInfo = _36.slice(1), _36), i = 0; i < 1; i++) { +>>>for (_36 = [2, "trimmer", "trimming"], _37 = _36[0], numberA3 = _37 === void 0 ? -1 : _37, robotAInfo = _36.slice(1), _36, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"] -7 > -8 > numberA3 = -1 -9 > -10> numberA3 = -1 -11> , -12> ...robotAInfo -13> ] = [2, "trimmer", "trimming"] -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"] +6 > +7 > numberA3 = -1 +8 > +9 > numberA3 = -1 +10> , +11> ...robotAInfo +12> ] = [2, "trimmer", "trimming"], +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(75, 1) Source(112, 1) + SourceIndex(0) 2 >Emitted(75, 4) Source(112, 4) + SourceIndex(0) 3 >Emitted(75, 5) Source(112, 5) + SourceIndex(0) 4 >Emitted(75, 6) Source(112, 6) + SourceIndex(0) -5 >Emitted(75, 7) Source(112, 6) + SourceIndex(0) -6 >Emitted(75, 39) Source(112, 72) + SourceIndex(0) -7 >Emitted(75, 41) Source(112, 7) + SourceIndex(0) -8 >Emitted(75, 53) Source(112, 20) + SourceIndex(0) -9 >Emitted(75, 55) Source(112, 7) + SourceIndex(0) -10>Emitted(75, 91) Source(112, 20) + SourceIndex(0) -11>Emitted(75, 93) Source(112, 22) + SourceIndex(0) -12>Emitted(75, 118) Source(112, 35) + SourceIndex(0) -13>Emitted(75, 124) Source(112, 72) + SourceIndex(0) -14>Emitted(75, 126) Source(112, 74) + SourceIndex(0) -15>Emitted(75, 127) Source(112, 75) + SourceIndex(0) -16>Emitted(75, 130) Source(112, 78) + SourceIndex(0) -17>Emitted(75, 131) Source(112, 79) + SourceIndex(0) -18>Emitted(75, 133) Source(112, 81) + SourceIndex(0) -19>Emitted(75, 134) Source(112, 82) + SourceIndex(0) -20>Emitted(75, 137) Source(112, 85) + SourceIndex(0) -21>Emitted(75, 138) Source(112, 86) + SourceIndex(0) -22>Emitted(75, 140) Source(112, 88) + SourceIndex(0) -23>Emitted(75, 141) Source(112, 89) + SourceIndex(0) -24>Emitted(75, 143) Source(112, 91) + SourceIndex(0) -25>Emitted(75, 145) Source(112, 93) + SourceIndex(0) -26>Emitted(75, 146) Source(112, 94) + SourceIndex(0) +5 >Emitted(75, 38) Source(112, 72) + SourceIndex(0) +6 >Emitted(75, 40) Source(112, 7) + SourceIndex(0) +7 >Emitted(75, 52) Source(112, 20) + SourceIndex(0) +8 >Emitted(75, 54) Source(112, 7) + SourceIndex(0) +9 >Emitted(75, 90) Source(112, 20) + SourceIndex(0) +10>Emitted(75, 92) Source(112, 22) + SourceIndex(0) +11>Emitted(75, 117) Source(112, 35) + SourceIndex(0) +12>Emitted(75, 124) Source(112, 74) + SourceIndex(0) +13>Emitted(75, 125) Source(112, 75) + SourceIndex(0) +14>Emitted(75, 128) Source(112, 78) + SourceIndex(0) +15>Emitted(75, 129) Source(112, 79) + SourceIndex(0) +16>Emitted(75, 131) Source(112, 81) + SourceIndex(0) +17>Emitted(75, 132) Source(112, 82) + SourceIndex(0) +18>Emitted(75, 135) Source(112, 85) + SourceIndex(0) +19>Emitted(75, 136) Source(112, 86) + SourceIndex(0) +20>Emitted(75, 138) Source(112, 88) + SourceIndex(0) +21>Emitted(75, 139) Source(112, 89) + SourceIndex(0) +22>Emitted(75, 141) Source(112, 91) + SourceIndex(0) +23>Emitted(75, 143) Source(112, 93) + SourceIndex(0) +24>Emitted(75, 144) Source(112, 94) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types index 3bef86dcf80..0795142c677 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types @@ -16,9 +16,9 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function getRobot() { >getRobot : () => [number, string, string] @@ -31,19 +31,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function getMultiRobot() { >getMultiRobot : () => [string, [string, string]] @@ -69,27 +69,27 @@ let numberA2: number, nameA2: string, skillA2: string, nameMA: string; let numberA3: number, robotAInfo: (number | string)[], multiRobotAInfo: (string | [string, string])[]; >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >multiRobotAInfo : (string | [string, string])[] let i: number; >i : number for ([, nameA = "name"] = robotA, i = 0; i < 1; i++) { ->[, nameA = "name"] = robotA, i = 0 : number +>[, nameA = "name"] = robotA, i = 0 : 0 >[, nameA = "name"] = robotA : [number, string, string] >[, nameA = "name"] : [undefined, string] > : undefined ->nameA = "name" : string +>nameA = "name" : "name" >nameA : string ->"name" : string +>"name" : "name" >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -101,21 +101,21 @@ for ([, nameA = "name"] = robotA, i = 0; i < 1; i++) { >nameA : string } for ([, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { ->[, nameA = "name"] = getRobot(), i = 0 : number +>[, nameA = "name"] = getRobot(), i = 0 : 0 >[, nameA = "name"] = getRobot() : [number, string, string] >[, nameA = "name"] : [undefined, string] > : undefined ->nameA = "name" : string +>nameA = "name" : "name" >nameA : string ->"name" : string +>"name" : "name" >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -127,23 +127,23 @@ for ([, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ([, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[, nameA = "name"] = [2, "trimmer", "trimming"], i = 0 : number +>[, nameA = "name"] = [2, "trimmer", "trimming"], i = 0 : 0 >[, nameA = "name"] = [2, "trimmer", "trimming"] : [number, string, string] >[, nameA = "name"] : [undefined, string] > : undefined ->nameA = "name" : string +>nameA = "name" : "name" >nameA : string ->"name" : string +>"name" : "name" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -155,7 +155,7 @@ for ([, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >nameA : string } for ([, [ ->[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = multiRobotA, i = 0 : number +>[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = multiRobotA, i = 0 : 0 >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = multiRobotA : [string, [string, string]] >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] : [undefined, [string, string]] > : undefined @@ -163,26 +163,26 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = multiRobotA, i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -194,7 +194,7 @@ for ([, [ >primarySkillA : string } for ([, [ ->[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = getMultiRobot(), i = 0 : number +>[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = getMultiRobot(), i = 0 : 0 >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = getMultiRobot() : [string, [string, string]] >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] : [undefined, [string, string]] > : undefined @@ -202,27 +202,27 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = getMultiRobot(), i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -234,7 +234,7 @@ for ([, [ >primarySkillA : string } for ([, [ ->[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[, [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["none", "none"]] : [undefined, [string, string]] > : undefined @@ -242,30 +242,30 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -278,20 +278,20 @@ for ([, [ } for ([numberB = -1] = robotA, i = 0; i < 1; i++) { ->[numberB = -1] = robotA, i = 0 : number +>[numberB = -1] = robotA, i = 0 : 0 >[numberB = -1] = robotA : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -303,21 +303,21 @@ for ([numberB = -1] = robotA, i = 0; i < 1; i++) { >numberB : number } for ([numberB = -1] = getRobot(), i = 0; i < 1; i++) { ->[numberB = -1] = getRobot(), i = 0 : number +>[numberB = -1] = getRobot(), i = 0 : 0 >[numberB = -1] = getRobot() : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -329,23 +329,23 @@ for ([numberB = -1] = getRobot(), i = 0; i < 1; i++) { >numberB : number } for ([numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberB = -1] = [2, "trimmer", "trimming"], i = 0 : number +>[numberB = -1] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberB = -1] = [2, "trimmer", "trimming"] : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -357,19 +357,19 @@ for ([numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >numberB : number } for ([nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { ->[nameB = "name"] = multiRobotA, i = 0 : number +>[nameB = "name"] = multiRobotA, i = 0 : 0 >[nameB = "name"] = multiRobotA : [string, [string, string]] >[nameB = "name"] : [string] ->nameB = "name" : string +>nameB = "name" : "name" >nameB : string ->"name" : string +>"name" : "name" >multiRobotA : [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -381,20 +381,20 @@ for ([nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >nameB : string } for ([nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { ->[nameB = "name"] = getMultiRobot(), i = 0 : number +>[nameB = "name"] = getMultiRobot(), i = 0 : 0 >[nameB = "name"] = getMultiRobot() : [string, [string, string]] >[nameB = "name"] : [string] ->nameB = "name" : string +>nameB = "name" : "name" >nameB : string ->"name" : string +>"name" : "name" >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -406,23 +406,23 @@ for ([nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >nameB : string } for ([nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { ->[nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[nameB = "name"] = ["trimmer", ["trimming", "edging"]] : [string, string[]] >[nameB = "name"] : [string] ->nameB = "name" : string +>nameB = "name" : "name" >nameB : string ->"name" : string +>"name" : "name" >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -435,26 +435,26 @@ for ([nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) } for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; i++) { ->[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0 : number +>[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0 : 0 >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA : [number, string, string] >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "name" : string +>-1 : -1 +>1 : 1 +>nameA2 = "name" : "name" >nameA2 : string ->"name" : string ->skillA2 = "skill" : string +>"name" : "name" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -466,27 +466,27 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; >nameA2 : string } for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i < 1; i++) { ->[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0 : number +>[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0 : 0 >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot() : [number, string, string] >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "name" : string +>-1 : -1 +>1 : 1 +>nameA2 = "name" : "name" >nameA2 : string ->"name" : string ->skillA2 = "skill" : string +>"name" : "name" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -498,29 +498,29 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i >nameA2 : string } for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0 : number +>[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"] : [number, string, string] >[numberA2 = -1, nameA2 = "name", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "name" : string +>-1 : -1 +>1 : 1 +>nameA2 = "name" : "name" >nameA2 : string ->"name" : string ->skillA2 = "skill" : string +>"name" : "name" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -534,29 +534,29 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimm for (let [nameMA = "noName", >nameMA : string ->"noName" : string +>"noName" : "noName" [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = multiRobotA, i = 0; i < 1; i++) { >multiRobotA : [string, [string, string]] >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -568,41 +568,41 @@ for (let >nameMA : string } for ([nameMA = "noName", ->[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = getMultiRobot(), i = 0 : number +>[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = getMultiRobot(), i = 0 : 0 >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = getMultiRobot() : [string, [string, string]] >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] : [string, [string, string]] ->nameMA = "noName" : string +>nameMA = "noName" : "noName" >nameMA : string ->"noName" : string +>"noName" : "noName" [ >[ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"] : [string, string] >[ primarySkillA = "primary", secondarySkillA = "secondary" ] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : [string, [string, string]] >getMultiRobot : () => [string, [string, string]] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -614,44 +614,44 @@ for ([nameMA = "noName", >nameMA : string } for ([nameMA = "noName", ->[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0 : number +>[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0 : 0 >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"]] : [string, [string, string]] ->nameMA = "noName" : string +>nameMA = "noName" : "noName" >nameMA : string ->"noName" : string +>"noName" : "noName" [ >[ primarySkillA = "primary", secondarySkillA = "secondary" ] = ["none", "none"] : [string, string] >[ primarySkillA = "primary", secondarySkillA = "secondary" ] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["none", "none"] >["none", "none"] : [string, string] ->"none" : string ->"none" : string +>"none" : "none" +>"none" : "none" ] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string ->i = 0 : number +>"trimming" : "trimming" +>"edging" : "edging" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -664,22 +664,22 @@ for ([nameMA = "noName", } for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { ->[numberA3 = -1, ...robotAInfo] = robotA, i = 0 : number +>[numberA3 = -1, ...robotAInfo] = robotA, i = 0 : 0 >[numberA3 = -1, ...robotAInfo] = robotA : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robotA : [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -691,23 +691,23 @@ for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >numberA3 : number } for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { ->[numberA3 = -1, ...robotAInfo] = getRobot(), i = 0 : number +>[numberA3 = -1, ...robotAInfo] = getRobot(), i = 0 : 0 >[numberA3 = -1, ...robotAInfo] = getRobot() : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -719,27 +719,27 @@ for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number } for ([numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { ->[numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0 : number +>[numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0 : 0 >[numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"] : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[2, "trimmer", "trimming"] : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string ->i = 0 : number +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.js.map index d9f2e446f04..a0295550f0b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForObjectBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPattern.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,GAAG,CAAC,CAAM,sBAAW,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,2BAAW,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,uDAAW,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAO,0BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAO,+BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAO,yFAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAEzD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAM,sBAAW,EAAE,oBAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAA8C,EAAzC,eAAW,EAAE,iBAAa,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,2CAAiF,EAA5E,eAAW,EAAE,iBAAa,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,2BAAW,EAAE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5G,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,oBAA0F,EAArF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,8EACoF,EAD/E,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAErE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPattern.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,kBAAW,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uBAAW,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,mDAAW,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAO,IAAA,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAO,IAAA,2BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAO,IAAA,qFAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAEzD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,kBAAW,EAAE,oBAAa,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAA0C,EAAzC,eAAW,EAAE,iBAAa,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,2CAA6E,EAA5E,eAAW,EAAE,iBAAa,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,uBAAW,EAAE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5G,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,oBAAsF,EAArF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,8EACgF,EAD/E,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAErE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.sourcemap.txt index 61689b46799..5ea0b7e360d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.sourcemap.txt @@ -213,58 +213,61 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > > 2 >for 3 > 4 > (let { -5 > name: nameA -6 > } = robot, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > name: nameA +7 > } = robot, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(9, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(9, 4) Source(26, 4) + SourceIndex(0) 3 >Emitted(9, 5) Source(26, 5) + SourceIndex(0) 4 >Emitted(9, 6) Source(26, 11) + SourceIndex(0) -5 >Emitted(9, 28) Source(26, 22) + SourceIndex(0) -6 >Emitted(9, 30) Source(26, 34) + SourceIndex(0) -7 >Emitted(9, 31) Source(26, 35) + SourceIndex(0) -8 >Emitted(9, 34) Source(26, 38) + SourceIndex(0) -9 >Emitted(9, 35) Source(26, 39) + SourceIndex(0) -10>Emitted(9, 37) Source(26, 41) + SourceIndex(0) -11>Emitted(9, 38) Source(26, 42) + SourceIndex(0) -12>Emitted(9, 41) Source(26, 45) + SourceIndex(0) -13>Emitted(9, 42) Source(26, 46) + SourceIndex(0) -14>Emitted(9, 44) Source(26, 48) + SourceIndex(0) -15>Emitted(9, 45) Source(26, 49) + SourceIndex(0) -16>Emitted(9, 47) Source(26, 51) + SourceIndex(0) -17>Emitted(9, 49) Source(26, 53) + SourceIndex(0) -18>Emitted(9, 50) Source(26, 54) + SourceIndex(0) +5 >Emitted(9, 10) Source(26, 11) + SourceIndex(0) +6 >Emitted(9, 28) Source(26, 22) + SourceIndex(0) +7 >Emitted(9, 30) Source(26, 34) + SourceIndex(0) +8 >Emitted(9, 31) Source(26, 35) + SourceIndex(0) +9 >Emitted(9, 34) Source(26, 38) + SourceIndex(0) +10>Emitted(9, 35) Source(26, 39) + SourceIndex(0) +11>Emitted(9, 37) Source(26, 41) + SourceIndex(0) +12>Emitted(9, 38) Source(26, 42) + SourceIndex(0) +13>Emitted(9, 41) Source(26, 45) + SourceIndex(0) +14>Emitted(9, 42) Source(26, 46) + SourceIndex(0) +15>Emitted(9, 44) Source(26, 48) + SourceIndex(0) +16>Emitted(9, 45) Source(26, 49) + SourceIndex(0) +17>Emitted(9, 47) Source(26, 51) + SourceIndex(0) +18>Emitted(9, 49) Source(26, 53) + SourceIndex(0) +19>Emitted(9, 50) Source(26, 54) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -308,57 +311,60 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let { -5 > name: nameA -6 > } = getRobot(), -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > name: nameA +7 > } = getRobot(), +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(12, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(12, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(12, 5) Source(29, 5) + SourceIndex(0) 4 >Emitted(12, 6) Source(29, 11) + SourceIndex(0) -5 >Emitted(12, 33) Source(29, 22) + SourceIndex(0) -6 >Emitted(12, 35) Source(29, 39) + SourceIndex(0) -7 >Emitted(12, 36) Source(29, 40) + SourceIndex(0) -8 >Emitted(12, 39) Source(29, 43) + SourceIndex(0) -9 >Emitted(12, 40) Source(29, 44) + SourceIndex(0) -10>Emitted(12, 42) Source(29, 46) + SourceIndex(0) -11>Emitted(12, 43) Source(29, 47) + SourceIndex(0) -12>Emitted(12, 46) Source(29, 50) + SourceIndex(0) -13>Emitted(12, 47) Source(29, 51) + SourceIndex(0) -14>Emitted(12, 49) Source(29, 53) + SourceIndex(0) -15>Emitted(12, 50) Source(29, 54) + SourceIndex(0) -16>Emitted(12, 52) Source(29, 56) + SourceIndex(0) -17>Emitted(12, 54) Source(29, 58) + SourceIndex(0) -18>Emitted(12, 55) Source(29, 59) + SourceIndex(0) +5 >Emitted(12, 10) Source(29, 11) + SourceIndex(0) +6 >Emitted(12, 33) Source(29, 22) + SourceIndex(0) +7 >Emitted(12, 35) Source(29, 39) + SourceIndex(0) +8 >Emitted(12, 36) Source(29, 40) + SourceIndex(0) +9 >Emitted(12, 39) Source(29, 43) + SourceIndex(0) +10>Emitted(12, 40) Source(29, 44) + SourceIndex(0) +11>Emitted(12, 42) Source(29, 46) + SourceIndex(0) +12>Emitted(12, 43) Source(29, 47) + SourceIndex(0) +13>Emitted(12, 46) Source(29, 50) + SourceIndex(0) +14>Emitted(12, 47) Source(29, 51) + SourceIndex(0) +15>Emitted(12, 49) Source(29, 53) + SourceIndex(0) +16>Emitted(12, 50) Source(29, 54) + SourceIndex(0) +17>Emitted(12, 52) Source(29, 56) + SourceIndex(0) +18>Emitted(12, 54) Source(29, 58) + SourceIndex(0) +19>Emitted(12, 55) Source(29, 59) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -402,57 +408,60 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^ -8 > ^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^ -17> ^^ -18> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^ +9 > ^^^ +10> ^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^ +18> ^^ +19> ^ 1-> > 2 >for 3 > 4 > (let { -5 > name: nameA -6 > } = { name: "trimmer", skill: "trimming" }, -7 > i -8 > = -9 > 0 -10> ; -11> i -12> < -13> 1 -14> ; -15> i -16> ++ -17> ) -18> { +5 > +6 > name: nameA +7 > } = { name: "trimmer", skill: "trimming" }, +8 > i +9 > = +10> 0 +11> ; +12> i +13> < +14> 1 +15> ; +16> i +17> ++ +18> ) +19> { 1->Emitted(15, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(15, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(15, 5) Source(32, 5) + SourceIndex(0) 4 >Emitted(15, 6) Source(32, 11) + SourceIndex(0) -5 >Emitted(15, 61) Source(32, 22) + SourceIndex(0) -6 >Emitted(15, 63) Source(32, 74) + SourceIndex(0) -7 >Emitted(15, 64) Source(32, 75) + SourceIndex(0) -8 >Emitted(15, 67) Source(32, 78) + SourceIndex(0) -9 >Emitted(15, 68) Source(32, 79) + SourceIndex(0) -10>Emitted(15, 70) Source(32, 81) + SourceIndex(0) -11>Emitted(15, 71) Source(32, 82) + SourceIndex(0) -12>Emitted(15, 74) Source(32, 85) + SourceIndex(0) -13>Emitted(15, 75) Source(32, 86) + SourceIndex(0) -14>Emitted(15, 77) Source(32, 88) + SourceIndex(0) -15>Emitted(15, 78) Source(32, 89) + SourceIndex(0) -16>Emitted(15, 80) Source(32, 91) + SourceIndex(0) -17>Emitted(15, 82) Source(32, 93) + SourceIndex(0) -18>Emitted(15, 83) Source(32, 94) + SourceIndex(0) +5 >Emitted(15, 10) Source(32, 11) + SourceIndex(0) +6 >Emitted(15, 61) Source(32, 22) + SourceIndex(0) +7 >Emitted(15, 63) Source(32, 74) + SourceIndex(0) +8 >Emitted(15, 64) Source(32, 75) + SourceIndex(0) +9 >Emitted(15, 67) Source(32, 78) + SourceIndex(0) +10>Emitted(15, 68) Source(32, 79) + SourceIndex(0) +11>Emitted(15, 70) Source(32, 81) + SourceIndex(0) +12>Emitted(15, 71) Source(32, 82) + SourceIndex(0) +13>Emitted(15, 74) Source(32, 85) + SourceIndex(0) +14>Emitted(15, 75) Source(32, 86) + SourceIndex(0) +15>Emitted(15, 77) Source(32, 88) + SourceIndex(0) +16>Emitted(15, 78) Source(32, 89) + SourceIndex(0) +17>Emitted(15, 80) Source(32, 91) + SourceIndex(0) +18>Emitted(15, 82) Source(32, 93) + SourceIndex(0) +19>Emitted(15, 83) Source(32, 94) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -496,69 +505,72 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > 2 >for 3 > 4 > (let { -5 > skills: { primary: primaryA, secondary: secondaryA } -6 > -7 > primary: primaryA -8 > , -9 > secondary: secondaryA -10> } } = multiRobot, -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > +6 > skills: { primary: primaryA, secondary: secondaryA } +7 > +8 > primary: primaryA +9 > , +10> secondary: secondaryA +11> } } = multiRobot, +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(18, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(35, 5) + SourceIndex(0) 4 >Emitted(18, 6) Source(35, 12) + SourceIndex(0) -5 >Emitted(18, 32) Source(35, 64) + SourceIndex(0) -6 >Emitted(18, 34) Source(35, 22) + SourceIndex(0) -7 >Emitted(18, 55) Source(35, 39) + SourceIndex(0) -8 >Emitted(18, 57) Source(35, 41) + SourceIndex(0) -9 >Emitted(18, 82) Source(35, 62) + SourceIndex(0) -10>Emitted(18, 84) Source(35, 81) + SourceIndex(0) -11>Emitted(18, 85) Source(35, 82) + SourceIndex(0) -12>Emitted(18, 88) Source(35, 85) + SourceIndex(0) -13>Emitted(18, 89) Source(35, 86) + SourceIndex(0) -14>Emitted(18, 91) Source(35, 88) + SourceIndex(0) -15>Emitted(18, 92) Source(35, 89) + SourceIndex(0) -16>Emitted(18, 95) Source(35, 92) + SourceIndex(0) -17>Emitted(18, 96) Source(35, 93) + SourceIndex(0) -18>Emitted(18, 98) Source(35, 95) + SourceIndex(0) -19>Emitted(18, 99) Source(35, 96) + SourceIndex(0) -20>Emitted(18, 101) Source(35, 98) + SourceIndex(0) -21>Emitted(18, 103) Source(35, 100) + SourceIndex(0) -22>Emitted(18, 104) Source(35, 101) + SourceIndex(0) +5 >Emitted(18, 10) Source(35, 12) + SourceIndex(0) +6 >Emitted(18, 32) Source(35, 64) + SourceIndex(0) +7 >Emitted(18, 34) Source(35, 22) + SourceIndex(0) +8 >Emitted(18, 55) Source(35, 39) + SourceIndex(0) +9 >Emitted(18, 57) Source(35, 41) + SourceIndex(0) +10>Emitted(18, 82) Source(35, 62) + SourceIndex(0) +11>Emitted(18, 84) Source(35, 81) + SourceIndex(0) +12>Emitted(18, 85) Source(35, 82) + SourceIndex(0) +13>Emitted(18, 88) Source(35, 85) + SourceIndex(0) +14>Emitted(18, 89) Source(35, 86) + SourceIndex(0) +15>Emitted(18, 91) Source(35, 88) + SourceIndex(0) +16>Emitted(18, 92) Source(35, 89) + SourceIndex(0) +17>Emitted(18, 95) Source(35, 92) + SourceIndex(0) +18>Emitted(18, 96) Source(35, 93) + SourceIndex(0) +19>Emitted(18, 98) Source(35, 95) + SourceIndex(0) +20>Emitted(18, 99) Source(35, 96) + SourceIndex(0) +21>Emitted(18, 101) Source(35, 98) + SourceIndex(0) +22>Emitted(18, 103) Source(35, 100) + SourceIndex(0) +23>Emitted(18, 104) Source(35, 101) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -602,69 +614,72 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > 2 >for 3 > 4 > (let { -5 > skills: { primary: primaryA, secondary: secondaryA } -6 > -7 > primary: primaryA -8 > , -9 > secondary: secondaryA -10> } } = getMultiRobot(), -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > +6 > skills: { primary: primaryA, secondary: secondaryA } +7 > +8 > primary: primaryA +9 > , +10> secondary: secondaryA +11> } } = getMultiRobot(), +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(21, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(38, 5) + SourceIndex(0) 4 >Emitted(21, 6) Source(38, 12) + SourceIndex(0) -5 >Emitted(21, 37) Source(38, 64) + SourceIndex(0) -6 >Emitted(21, 39) Source(38, 22) + SourceIndex(0) -7 >Emitted(21, 60) Source(38, 39) + SourceIndex(0) -8 >Emitted(21, 62) Source(38, 41) + SourceIndex(0) -9 >Emitted(21, 87) Source(38, 62) + SourceIndex(0) -10>Emitted(21, 89) Source(38, 86) + SourceIndex(0) -11>Emitted(21, 90) Source(38, 87) + SourceIndex(0) -12>Emitted(21, 93) Source(38, 90) + SourceIndex(0) -13>Emitted(21, 94) Source(38, 91) + SourceIndex(0) -14>Emitted(21, 96) Source(38, 93) + SourceIndex(0) -15>Emitted(21, 97) Source(38, 94) + SourceIndex(0) -16>Emitted(21, 100) Source(38, 97) + SourceIndex(0) -17>Emitted(21, 101) Source(38, 98) + SourceIndex(0) -18>Emitted(21, 103) Source(38, 100) + SourceIndex(0) -19>Emitted(21, 104) Source(38, 101) + SourceIndex(0) -20>Emitted(21, 106) Source(38, 103) + SourceIndex(0) -21>Emitted(21, 108) Source(38, 105) + SourceIndex(0) -22>Emitted(21, 109) Source(38, 106) + SourceIndex(0) +5 >Emitted(21, 10) Source(38, 12) + SourceIndex(0) +6 >Emitted(21, 37) Source(38, 64) + SourceIndex(0) +7 >Emitted(21, 39) Source(38, 22) + SourceIndex(0) +8 >Emitted(21, 60) Source(38, 39) + SourceIndex(0) +9 >Emitted(21, 62) Source(38, 41) + SourceIndex(0) +10>Emitted(21, 87) Source(38, 62) + SourceIndex(0) +11>Emitted(21, 89) Source(38, 86) + SourceIndex(0) +12>Emitted(21, 90) Source(38, 87) + SourceIndex(0) +13>Emitted(21, 93) Source(38, 90) + SourceIndex(0) +14>Emitted(21, 94) Source(38, 91) + SourceIndex(0) +15>Emitted(21, 96) Source(38, 93) + SourceIndex(0) +16>Emitted(21, 97) Source(38, 94) + SourceIndex(0) +17>Emitted(21, 100) Source(38, 97) + SourceIndex(0) +18>Emitted(21, 101) Source(38, 98) + SourceIndex(0) +19>Emitted(21, 103) Source(38, 100) + SourceIndex(0) +20>Emitted(21, 104) Source(38, 101) + SourceIndex(0) +21>Emitted(21, 106) Source(38, 103) + SourceIndex(0) +22>Emitted(21, 108) Source(38, 105) + SourceIndex(0) +23>Emitted(21, 109) Source(38, 106) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -708,71 +723,74 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^ +13> ^^^ +14> ^ +15> ^^ +16> ^ +17> ^^^ +18> ^ +19> ^^ +20> ^ +21> ^^ +22> ^^ +23> ^ 1-> > 2 >for 3 > 4 > (let { -5 > skills: { primary: primaryA, secondary: secondaryA } -6 > -7 > primary: primaryA -8 > , -9 > secondary: secondaryA -10> } } = +5 > +6 > skills: { primary: primaryA, secondary: secondaryA } +7 > +8 > primary: primaryA +9 > , +10> secondary: secondaryA +11> } } = > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +12> i +13> = +14> 0 +15> ; +16> i +17> < +18> 1 +19> ; +20> i +21> ++ +22> ) +23> { 1->Emitted(24, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(41, 5) + SourceIndex(0) 4 >Emitted(24, 6) Source(41, 12) + SourceIndex(0) -5 >Emitted(24, 95) Source(41, 64) + SourceIndex(0) -6 >Emitted(24, 97) Source(41, 22) + SourceIndex(0) -7 >Emitted(24, 118) Source(41, 39) + SourceIndex(0) -8 >Emitted(24, 120) Source(41, 41) + SourceIndex(0) -9 >Emitted(24, 145) Source(41, 62) + SourceIndex(0) -10>Emitted(24, 147) Source(43, 5) + SourceIndex(0) -11>Emitted(24, 148) Source(43, 6) + SourceIndex(0) -12>Emitted(24, 151) Source(43, 9) + SourceIndex(0) -13>Emitted(24, 152) Source(43, 10) + SourceIndex(0) -14>Emitted(24, 154) Source(43, 12) + SourceIndex(0) -15>Emitted(24, 155) Source(43, 13) + SourceIndex(0) -16>Emitted(24, 158) Source(43, 16) + SourceIndex(0) -17>Emitted(24, 159) Source(43, 17) + SourceIndex(0) -18>Emitted(24, 161) Source(43, 19) + SourceIndex(0) -19>Emitted(24, 162) Source(43, 20) + SourceIndex(0) -20>Emitted(24, 164) Source(43, 22) + SourceIndex(0) -21>Emitted(24, 166) Source(43, 24) + SourceIndex(0) -22>Emitted(24, 167) Source(43, 25) + SourceIndex(0) +5 >Emitted(24, 10) Source(41, 12) + SourceIndex(0) +6 >Emitted(24, 95) Source(41, 64) + SourceIndex(0) +7 >Emitted(24, 97) Source(41, 22) + SourceIndex(0) +8 >Emitted(24, 118) Source(41, 39) + SourceIndex(0) +9 >Emitted(24, 120) Source(41, 41) + SourceIndex(0) +10>Emitted(24, 145) Source(41, 62) + SourceIndex(0) +11>Emitted(24, 147) Source(43, 5) + SourceIndex(0) +12>Emitted(24, 148) Source(43, 6) + SourceIndex(0) +13>Emitted(24, 151) Source(43, 9) + SourceIndex(0) +14>Emitted(24, 152) Source(43, 10) + SourceIndex(0) +15>Emitted(24, 154) Source(43, 12) + SourceIndex(0) +16>Emitted(24, 155) Source(43, 13) + SourceIndex(0) +17>Emitted(24, 158) Source(43, 16) + SourceIndex(0) +18>Emitted(24, 159) Source(43, 17) + SourceIndex(0) +19>Emitted(24, 161) Source(43, 19) + SourceIndex(0) +20>Emitted(24, 162) Source(43, 20) + SourceIndex(0) +21>Emitted(24, 164) Source(43, 22) + SourceIndex(0) +22>Emitted(24, 166) Source(43, 24) + SourceIndex(0) +23>Emitted(24, 167) Source(43, 25) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -816,64 +834,67 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > > 2 >for 3 > 4 > (let { -5 > name: nameA -6 > , -7 > skill: skillA -8 > } = robot, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > name: nameA +7 > , +8 > skill: skillA +9 > } = robot, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(27, 1) Source(47, 1) + SourceIndex(0) 2 >Emitted(27, 4) Source(47, 4) + SourceIndex(0) 3 >Emitted(27, 5) Source(47, 5) + SourceIndex(0) 4 >Emitted(27, 6) Source(47, 11) + SourceIndex(0) -5 >Emitted(27, 28) Source(47, 22) + SourceIndex(0) -6 >Emitted(27, 30) Source(47, 24) + SourceIndex(0) -7 >Emitted(27, 50) Source(47, 37) + SourceIndex(0) -8 >Emitted(27, 52) Source(47, 49) + SourceIndex(0) -9 >Emitted(27, 53) Source(47, 50) + SourceIndex(0) -10>Emitted(27, 56) Source(47, 53) + SourceIndex(0) -11>Emitted(27, 57) Source(47, 54) + SourceIndex(0) -12>Emitted(27, 59) Source(47, 56) + SourceIndex(0) -13>Emitted(27, 60) Source(47, 57) + SourceIndex(0) -14>Emitted(27, 63) Source(47, 60) + SourceIndex(0) -15>Emitted(27, 64) Source(47, 61) + SourceIndex(0) -16>Emitted(27, 66) Source(47, 63) + SourceIndex(0) -17>Emitted(27, 67) Source(47, 64) + SourceIndex(0) -18>Emitted(27, 69) Source(47, 66) + SourceIndex(0) -19>Emitted(27, 71) Source(47, 68) + SourceIndex(0) -20>Emitted(27, 72) Source(47, 69) + SourceIndex(0) +5 >Emitted(27, 10) Source(47, 11) + SourceIndex(0) +6 >Emitted(27, 28) Source(47, 22) + SourceIndex(0) +7 >Emitted(27, 30) Source(47, 24) + SourceIndex(0) +8 >Emitted(27, 50) Source(47, 37) + SourceIndex(0) +9 >Emitted(27, 52) Source(47, 49) + SourceIndex(0) +10>Emitted(27, 53) Source(47, 50) + SourceIndex(0) +11>Emitted(27, 56) Source(47, 53) + SourceIndex(0) +12>Emitted(27, 57) Source(47, 54) + SourceIndex(0) +13>Emitted(27, 59) Source(47, 56) + SourceIndex(0) +14>Emitted(27, 60) Source(47, 57) + SourceIndex(0) +15>Emitted(27, 63) Source(47, 60) + SourceIndex(0) +16>Emitted(27, 64) Source(47, 61) + SourceIndex(0) +17>Emitted(27, 66) Source(47, 63) + SourceIndex(0) +18>Emitted(27, 67) Source(47, 64) + SourceIndex(0) +19>Emitted(27, 69) Source(47, 66) + SourceIndex(0) +20>Emitted(27, 71) Source(47, 68) + SourceIndex(0) +21>Emitted(27, 72) Source(47, 69) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -940,9 +961,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA, skill: skillA } = getRobot() +6 > {name: nameA, skill: skillA } = getRobot() 7 > 8 > name: nameA 9 > , @@ -963,8 +984,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 1->Emitted(30, 1) Source(50, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(50, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(50, 5) + SourceIndex(0) -4 >Emitted(30, 6) Source(50, 6) + SourceIndex(0) -5 >Emitted(30, 10) Source(50, 6) + SourceIndex(0) +4 >Emitted(30, 6) Source(50, 10) + SourceIndex(0) +5 >Emitted(30, 10) Source(50, 10) + SourceIndex(0) 6 >Emitted(30, 25) Source(50, 52) + SourceIndex(0) 7 >Emitted(30, 27) Source(50, 11) + SourceIndex(0) 8 >Emitted(30, 42) Source(50, 22) + SourceIndex(0) @@ -1049,9 +1070,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" } +6 > {name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" } 7 > 8 > name: nameA 9 > , @@ -1072,8 +1093,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 1->Emitted(33, 1) Source(53, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(53, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(53, 5) + SourceIndex(0) -4 >Emitted(33, 6) Source(53, 6) + SourceIndex(0) -5 >Emitted(33, 10) Source(53, 6) + SourceIndex(0) +4 >Emitted(33, 6) Source(53, 10) + SourceIndex(0) +5 >Emitted(33, 10) Source(53, 10) + SourceIndex(0) 6 >Emitted(33, 53) Source(53, 87) + SourceIndex(0) 7 >Emitted(33, 55) Source(53, 11) + SourceIndex(0) 8 >Emitted(33, 70) Source(53, 22) + SourceIndex(0) @@ -1135,75 +1156,78 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^ +24> ^^ +25> ^ 1-> > 2 >for 3 > 4 > (let { -5 > name: nameA -6 > , -7 > skills: { primary: primaryA, secondary: secondaryA } -8 > -9 > primary: primaryA -10> , -11> secondary: secondaryA -12> } } = multiRobot, -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > +6 > name: nameA +7 > , +8 > skills: { primary: primaryA, secondary: secondaryA } +9 > +10> primary: primaryA +11> , +12> secondary: secondaryA +13> } } = multiRobot, +14> i +15> = +16> 0 +17> ; +18> i +19> < +20> 1 +21> ; +22> i +23> ++ +24> ) +25> { 1->Emitted(36, 1) Source(56, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(56, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(56, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(56, 11) + SourceIndex(0) -5 >Emitted(36, 33) Source(56, 22) + SourceIndex(0) -6 >Emitted(36, 35) Source(56, 24) + SourceIndex(0) -7 >Emitted(36, 57) Source(56, 76) + SourceIndex(0) -8 >Emitted(36, 59) Source(56, 34) + SourceIndex(0) -9 >Emitted(36, 80) Source(56, 51) + SourceIndex(0) -10>Emitted(36, 82) Source(56, 53) + SourceIndex(0) -11>Emitted(36, 107) Source(56, 74) + SourceIndex(0) -12>Emitted(36, 109) Source(56, 93) + SourceIndex(0) -13>Emitted(36, 110) Source(56, 94) + SourceIndex(0) -14>Emitted(36, 113) Source(56, 97) + SourceIndex(0) -15>Emitted(36, 114) Source(56, 98) + SourceIndex(0) -16>Emitted(36, 116) Source(56, 100) + SourceIndex(0) -17>Emitted(36, 117) Source(56, 101) + SourceIndex(0) -18>Emitted(36, 120) Source(56, 104) + SourceIndex(0) -19>Emitted(36, 121) Source(56, 105) + SourceIndex(0) -20>Emitted(36, 123) Source(56, 107) + SourceIndex(0) -21>Emitted(36, 124) Source(56, 108) + SourceIndex(0) -22>Emitted(36, 126) Source(56, 110) + SourceIndex(0) -23>Emitted(36, 128) Source(56, 112) + SourceIndex(0) -24>Emitted(36, 129) Source(56, 113) + SourceIndex(0) +5 >Emitted(36, 10) Source(56, 11) + SourceIndex(0) +6 >Emitted(36, 33) Source(56, 22) + SourceIndex(0) +7 >Emitted(36, 35) Source(56, 24) + SourceIndex(0) +8 >Emitted(36, 57) Source(56, 76) + SourceIndex(0) +9 >Emitted(36, 59) Source(56, 34) + SourceIndex(0) +10>Emitted(36, 80) Source(56, 51) + SourceIndex(0) +11>Emitted(36, 82) Source(56, 53) + SourceIndex(0) +12>Emitted(36, 107) Source(56, 74) + SourceIndex(0) +13>Emitted(36, 109) Source(56, 93) + SourceIndex(0) +14>Emitted(36, 110) Source(56, 94) + SourceIndex(0) +15>Emitted(36, 113) Source(56, 97) + SourceIndex(0) +16>Emitted(36, 114) Source(56, 98) + SourceIndex(0) +17>Emitted(36, 116) Source(56, 100) + SourceIndex(0) +18>Emitted(36, 117) Source(56, 101) + SourceIndex(0) +19>Emitted(36, 120) Source(56, 104) + SourceIndex(0) +20>Emitted(36, 121) Source(56, 105) + SourceIndex(0) +21>Emitted(36, 123) Source(56, 107) + SourceIndex(0) +22>Emitted(36, 124) Source(56, 108) + SourceIndex(0) +23>Emitted(36, 126) Source(56, 110) + SourceIndex(0) +24>Emitted(36, 128) Source(56, 112) + SourceIndex(0) +25>Emitted(36, 129) Source(56, 113) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1274,9 +1298,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() +6 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() 7 > 8 > name: nameA 9 > , @@ -1301,8 +1325,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 1->Emitted(39, 1) Source(59, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(59, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(59, 5) + SourceIndex(0) -4 >Emitted(39, 6) Source(59, 6) + SourceIndex(0) -5 >Emitted(39, 10) Source(59, 6) + SourceIndex(0) +4 >Emitted(39, 6) Source(59, 10) + SourceIndex(0) +5 >Emitted(39, 10) Source(59, 10) + SourceIndex(0) 6 >Emitted(39, 30) Source(59, 96) + SourceIndex(0) 7 >Emitted(39, 32) Source(59, 11) + SourceIndex(0) 8 >Emitted(39, 47) Source(59, 22) + SourceIndex(0) @@ -1395,9 +1419,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = +6 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } 7 > 8 > name: nameA @@ -1425,8 +1449,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern.ts 1->Emitted(42, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(62, 5) + SourceIndex(0) -4 >Emitted(42, 6) Source(62, 6) + SourceIndex(0) -5 >Emitted(42, 10) Source(62, 6) + SourceIndex(0) +4 >Emitted(42, 6) Source(62, 10) + SourceIndex(0) +5 >Emitted(42, 10) Source(62, 10) + SourceIndex(0) 6 >Emitted(42, 88) Source(63, 90) + SourceIndex(0) 7 >Emitted(42, 90) Source(62, 11) + SourceIndex(0) 8 >Emitted(42, 105) Source(62, 22) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types index 21a7122e564..3a78d92033b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types @@ -39,22 +39,22 @@ let robot: Robot = { name: "mower", skill: "mowing" }; >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }; >multiRobot : MultiRobot >MultiRobot : MultiRobot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function getRobot() { >getRobot : () => Robot @@ -74,10 +74,10 @@ for (let {name: nameA } = robot, i = 0; i < 1; i++) { >nameA : string >robot : Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -94,10 +94,10 @@ for (let {name: nameA } = getRobot(), i = 0; i < 1; i++) { >getRobot() : Robot >getRobot : () => Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -115,14 +115,14 @@ for (let {name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -141,10 +141,10 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, >secondaryA : string >multiRobot : MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -164,10 +164,10 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobo >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -190,20 +190,20 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -222,10 +222,10 @@ for (let {name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >skillA : string >robot : Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -244,10 +244,10 @@ for (let {name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >getRobot() : Robot >getRobot : () => Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -267,14 +267,14 @@ for (let {name: nameA, skill: skillA } = { name: "trimmer", skill: "trimm >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -295,10 +295,10 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >secondaryA : string >multiRobot : MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -320,10 +320,10 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -348,20 +348,20 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js index f7073765d04..1684ebfecaa 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js @@ -121,79 +121,79 @@ function getMultiRobot() { } var nameA, primaryA, secondaryA, i, skillA; var name, primary, secondary, skill; -for ((nameA = robot.name, robot), i = 0; i < 1; i++) { +for (nameA = robot.name, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_a = getRobot(), nameA = _a.name, _a), i = 0; i < 1; i++) { +for (_a = getRobot(), nameA = _a.name, _a, i = 0; i < 1; i++) { console.log(nameA); } -for ((_b = { name: "trimmer", skill: "trimming" }, nameA = _b.name, _b), i = 0; i < 1; i++) { +for (_b = { name: "trimmer", skill: "trimming" }, nameA = _b.name, _b, i = 0; i < 1; i++) { console.log(nameA); } -for ((_c = multiRobot.skills, primaryA = _c.primary, secondaryA = _c.secondary, multiRobot), i = 0; i < 1; i++) { +for (_c = multiRobot.skills, primaryA = _c.primary, secondaryA = _c.secondary, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_d = getMultiRobot(), _e = _d.skills, primaryA = _e.primary, secondaryA = _e.secondary, _d), i = 0; i < 1; i++) { +for (_d = getMultiRobot(), _e = _d.skills, primaryA = _e.primary, secondaryA = _e.secondary, _d, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_f = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _g = _f.skills, primaryA = _g.primary, secondaryA = _g.secondary, _f), +for (_f = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _g = _f.skills, primaryA = _g.primary, secondaryA = _g.secondary, _f, i = 0; i < 1; i++) { console.log(primaryA); } -for ((name = robot.name, robot), i = 0; i < 1; i++) { +for (name = robot.name, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_h = getRobot(), name = _h.name, _h), i = 0; i < 1; i++) { +for (_h = getRobot(), name = _h.name, _h, i = 0; i < 1; i++) { console.log(nameA); } -for ((_j = { name: "trimmer", skill: "trimming" }, name = _j.name, _j), i = 0; i < 1; i++) { +for (_j = { name: "trimmer", skill: "trimming" }, name = _j.name, _j, i = 0; i < 1; i++) { console.log(nameA); } -for ((_k = multiRobot.skills, primary = _k.primary, secondary = _k.secondary, multiRobot), i = 0; i < 1; i++) { +for (_k = multiRobot.skills, primary = _k.primary, secondary = _k.secondary, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_l = getMultiRobot(), _m = _l.skills, primary = _m.primary, secondary = _m.secondary, _l), i = 0; i < 1; i++) { +for (_l = getMultiRobot(), _m = _l.skills, primary = _m.primary, secondary = _m.secondary, _l, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_o = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _p = _o.skills, primary = _p.primary, secondary = _p.secondary, _o), +for (_o = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _p = _o.skills, primary = _p.primary, secondary = _p.secondary, _o, i = 0; i < 1; i++) { console.log(primaryA); } -for ((nameA = robot.name, skillA = robot.skill, robot), i = 0; i < 1; i++) { +for (nameA = robot.name, skillA = robot.skill, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_q = getRobot(), nameA = _q.name, skillA = _q.skill, _q), i = 0; i < 1; i++) { +for (_q = getRobot(), nameA = _q.name, skillA = _q.skill, _q, i = 0; i < 1; i++) { console.log(nameA); } -for ((_r = { name: "trimmer", skill: "trimming" }, nameA = _r.name, skillA = _r.skill, _r), i = 0; i < 1; i++) { +for (_r = { name: "trimmer", skill: "trimming" }, nameA = _r.name, skillA = _r.skill, _r, i = 0; i < 1; i++) { console.log(nameA); } -for ((nameA = multiRobot.name, _s = multiRobot.skills, primaryA = _s.primary, secondaryA = _s.secondary, multiRobot), i = 0; i < 1; i++) { +for (nameA = multiRobot.name, _s = multiRobot.skills, primaryA = _s.primary, secondaryA = _s.secondary, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_t = getMultiRobot(), nameA = _t.name, _u = _t.skills, primaryA = _u.primary, secondaryA = _u.secondary, _t), i = 0; i < 1; i++) { +for (_t = getMultiRobot(), nameA = _t.name, _u = _t.skills, primaryA = _u.primary, secondaryA = _u.secondary, _t, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_v = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, nameA = _v.name, _w = _v.skills, primaryA = _w.primary, secondaryA = _w.secondary, _v), +for (_v = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, nameA = _v.name, _w = _v.skills, primaryA = _w.primary, secondaryA = _w.secondary, _v, i = 0; i < 1; i++) { console.log(primaryA); } -for ((name = robot.name, skill = robot.skill, robot), i = 0; i < 1; i++) { +for (name = robot.name, skill = robot.skill, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_x = getRobot(), name = _x.name, skill = _x.skill, _x), i = 0; i < 1; i++) { +for (_x = getRobot(), name = _x.name, skill = _x.skill, _x, i = 0; i < 1; i++) { console.log(nameA); } -for ((_y = { name: "trimmer", skill: "trimming" }, name = _y.name, skill = _y.skill, _y), i = 0; i < 1; i++) { +for (_y = { name: "trimmer", skill: "trimming" }, name = _y.name, skill = _y.skill, _y, i = 0; i < 1; i++) { console.log(nameA); } -for ((name = multiRobot.name, _z = multiRobot.skills, primary = _z.primary, secondary = _z.secondary, multiRobot), i = 0; i < 1; i++) { +for (name = multiRobot.name, _z = multiRobot.skills, primary = _z.primary, secondary = _z.secondary, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_0 = getMultiRobot(), name = _0.name, _1 = _0.skills, primary = _1.primary, secondary = _1.secondary, _0), i = 0; i < 1; i++) { +for (_0 = getMultiRobot(), name = _0.name, _1 = _0.skills, primary = _1.primary, secondary = _1.secondary, _0, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_2 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, name = _2.name, _3 = _2.skills, primary = _3.primary, secondary = _3.secondary, _2), +for (_2 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, name = _2.name, _3 = _2.skills, primary = _3.primary, secondary = _3.secondary, _2, i = 0; i < 1; i++) { console.log(primaryA); } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js.map index cb6d6d9fe4a..1c3f77da043 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForObjectBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPattern2.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAC,CAAE,kBAAW,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAA4B,EAA1B,eAAW,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAA+D,EAA7D,eAAW,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAO,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAA0E,EAAxE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,KAAsB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EACoF,EADlF,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,KACgC;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,iBAAI,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAqB,EAAnB,cAAI,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAAwD,EAAtD,cAAI,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,sBAA8B,EAApB,oBAAO,EAAE,wBAAS,EAAO,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAoD,EAAlD,cAA8B,EAApB,oBAAO,EAAE,wBAAS,KAAsB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EACoF,EADlF,cAA8B,EAApB,oBAAO,EAAE,wBAAS,KACsD;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAGD,GAAG,CAAC,CAAC,CAAE,kBAAW,EAAE,oBAAa,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAA2C,EAAzC,eAAW,EAAE,iBAAa,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAA8E,EAA5E,eAAW,EAAE,iBAAa,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,uBAAW,EAAE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAO,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAAuF,EAArF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,KAAsB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9G,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EACoF,EADlF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,KACmB;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,iBAAI,EAAE,mBAAK,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAA4B,EAA1B,cAAI,EAAE,gBAAK,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAA+D,EAA7D,cAAI,EAAE,gBAAK,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAE,sBAAI,EAAE,sBAA8B,EAApB,oBAAO,EAAE,wBAAS,EAAO,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAA0D,EAAxD,cAAI,EAAE,cAA8B,EAApB,oBAAO,EAAE,wBAAS,KAAsB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EACoF,EADlF,cAAI,EAAE,cAA8B,EAApB,oBAAO,EAAE,wBAAS,KACgD;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPattern2.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAG,kBAAW,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAA4B,EAA1B,eAAW,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAA+D,EAA7D,eAAW,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAG,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAO,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAA0E,EAAxE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,MAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EACoF,EADlF,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAErD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAG,iBAAI,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAAqB,EAAnB,cAAI,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAAwD,EAAtD,cAAI,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAG,sBAA8B,EAApB,oBAAO,EAAE,wBAAS,EAAO,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAAoD,EAAlD,cAA8B,EAApB,oBAAO,EAAE,wBAAS,MAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EACoF,EADlF,cAA8B,EAApB,oBAAO,EAAE,wBAAS;IAE/B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAGD,GAAG,CAAC,CAAG,kBAAW,EAAE,oBAAa,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAA2C,EAAzC,eAAW,EAAE,iBAAa,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAA8E,EAA5E,eAAW,EAAE,iBAAa,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAG,uBAAW,EAAE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,EAAO,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAAuF,EAArF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,MAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9G,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EACoF,EADlF,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAElE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAG,iBAAI,EAAE,mBAAK,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAA4B,EAA1B,cAAI,EAAE,gBAAK,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAA+D,EAA7D,cAAI,EAAE,gBAAK,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAG,sBAAI,EAAE,sBAA8B,EAApB,oBAAO,EAAE,wBAAS,EAAO,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAA0D,EAAxD,cAAI,EAAE,cAA8B,EAApB,oBAAO,EAAE,wBAAS,MAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EACoF,EADlF,cAAI,EAAE,cAA8B,EAApB,oBAAO,EAAE,wBAAS;IAErC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.sourcemap.txt index 3744cc2e7ab..1f6bd10d5f5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.sourcemap.txt @@ -259,7 +259,7 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 8 > ^^ 9 > ^^^^^ 10> ^ -11> ^^^^^^^^^^^^^^^^^^^-> +11> ^^^^^^^^^^^^^^^^^-> 1 > > 2 >let @@ -282,75 +282,69 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 9 >Emitted(10, 36) Source(27, 68) + SourceIndex(0) 10>Emitted(10, 37) Source(27, 69) + SourceIndex(0) --- ->>>for ((nameA = robot.name, robot), i = 0; i < 1; i++) { +>>>for (nameA = robot.name, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > > 2 >for 3 > -4 > ( -5 > { -6 > name: nameA -7 > } = -8 > robot -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ({ +5 > name: nameA +6 > } = +7 > robot +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(11, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(11, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(11, 5) Source(29, 5) + SourceIndex(0) -4 >Emitted(11, 6) Source(29, 6) + SourceIndex(0) -5 >Emitted(11, 7) Source(29, 8) + SourceIndex(0) -6 >Emitted(11, 25) Source(29, 19) + SourceIndex(0) -7 >Emitted(11, 27) Source(29, 24) + SourceIndex(0) -8 >Emitted(11, 32) Source(29, 29) + SourceIndex(0) -9 >Emitted(11, 33) Source(29, 29) + SourceIndex(0) -10>Emitted(11, 35) Source(29, 31) + SourceIndex(0) -11>Emitted(11, 36) Source(29, 32) + SourceIndex(0) -12>Emitted(11, 39) Source(29, 35) + SourceIndex(0) -13>Emitted(11, 40) Source(29, 36) + SourceIndex(0) -14>Emitted(11, 42) Source(29, 38) + SourceIndex(0) -15>Emitted(11, 43) Source(29, 39) + SourceIndex(0) -16>Emitted(11, 46) Source(29, 42) + SourceIndex(0) -17>Emitted(11, 47) Source(29, 43) + SourceIndex(0) -18>Emitted(11, 49) Source(29, 45) + SourceIndex(0) -19>Emitted(11, 50) Source(29, 46) + SourceIndex(0) -20>Emitted(11, 52) Source(29, 48) + SourceIndex(0) -21>Emitted(11, 54) Source(29, 50) + SourceIndex(0) -22>Emitted(11, 55) Source(29, 51) + SourceIndex(0) +4 >Emitted(11, 6) Source(29, 8) + SourceIndex(0) +5 >Emitted(11, 24) Source(29, 19) + SourceIndex(0) +6 >Emitted(11, 26) Source(29, 24) + SourceIndex(0) +7 >Emitted(11, 31) Source(29, 29) + SourceIndex(0) +8 >Emitted(11, 33) Source(29, 31) + SourceIndex(0) +9 >Emitted(11, 34) Source(29, 32) + SourceIndex(0) +10>Emitted(11, 37) Source(29, 35) + SourceIndex(0) +11>Emitted(11, 38) Source(29, 36) + SourceIndex(0) +12>Emitted(11, 40) Source(29, 38) + SourceIndex(0) +13>Emitted(11, 41) Source(29, 39) + SourceIndex(0) +14>Emitted(11, 44) Source(29, 42) + SourceIndex(0) +15>Emitted(11, 45) Source(29, 43) + SourceIndex(0) +16>Emitted(11, 47) Source(29, 45) + SourceIndex(0) +17>Emitted(11, 48) Source(29, 46) + SourceIndex(0) +18>Emitted(11, 50) Source(29, 48) + SourceIndex(0) +19>Emitted(11, 52) Source(29, 50) + SourceIndex(0) +20>Emitted(11, 53) Source(29, 51) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -382,81 +376,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(13, 1) Source(31, 1) + SourceIndex(0) 2 >Emitted(13, 2) Source(31, 2) + SourceIndex(0) --- ->>>for ((_a = getRobot(), nameA = _a.name, _a), i = 0; i < 1; i++) { +>>>for (_a = getRobot(), nameA = _a.name, _a, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA } = getRobot() -7 > -8 > name: nameA -9 > } = getRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > { name: nameA } = getRobot() +6 > +7 > name: nameA +8 > } = getRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(14, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(14, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(14, 5) Source(32, 5) + SourceIndex(0) 4 >Emitted(14, 6) Source(32, 6) + SourceIndex(0) -5 >Emitted(14, 7) Source(32, 6) + SourceIndex(0) -6 >Emitted(14, 22) Source(32, 34) + SourceIndex(0) -7 >Emitted(14, 24) Source(32, 8) + SourceIndex(0) -8 >Emitted(14, 39) Source(32, 19) + SourceIndex(0) -9 >Emitted(14, 44) Source(32, 34) + SourceIndex(0) -10>Emitted(14, 46) Source(32, 36) + SourceIndex(0) -11>Emitted(14, 47) Source(32, 37) + SourceIndex(0) -12>Emitted(14, 50) Source(32, 40) + SourceIndex(0) -13>Emitted(14, 51) Source(32, 41) + SourceIndex(0) -14>Emitted(14, 53) Source(32, 43) + SourceIndex(0) -15>Emitted(14, 54) Source(32, 44) + SourceIndex(0) -16>Emitted(14, 57) Source(32, 47) + SourceIndex(0) -17>Emitted(14, 58) Source(32, 48) + SourceIndex(0) -18>Emitted(14, 60) Source(32, 50) + SourceIndex(0) -19>Emitted(14, 61) Source(32, 51) + SourceIndex(0) -20>Emitted(14, 63) Source(32, 53) + SourceIndex(0) -21>Emitted(14, 65) Source(32, 55) + SourceIndex(0) -22>Emitted(14, 66) Source(32, 56) + SourceIndex(0) +5 >Emitted(14, 21) Source(32, 34) + SourceIndex(0) +6 >Emitted(14, 23) Source(32, 8) + SourceIndex(0) +7 >Emitted(14, 38) Source(32, 19) + SourceIndex(0) +8 >Emitted(14, 44) Source(32, 36) + SourceIndex(0) +9 >Emitted(14, 45) Source(32, 37) + SourceIndex(0) +10>Emitted(14, 48) Source(32, 40) + SourceIndex(0) +11>Emitted(14, 49) Source(32, 41) + SourceIndex(0) +12>Emitted(14, 51) Source(32, 43) + SourceIndex(0) +13>Emitted(14, 52) Source(32, 44) + SourceIndex(0) +14>Emitted(14, 55) Source(32, 47) + SourceIndex(0) +15>Emitted(14, 56) Source(32, 48) + SourceIndex(0) +16>Emitted(14, 58) Source(32, 50) + SourceIndex(0) +17>Emitted(14, 59) Source(32, 51) + SourceIndex(0) +18>Emitted(14, 61) Source(32, 53) + SourceIndex(0) +19>Emitted(14, 63) Source(32, 55) + SourceIndex(0) +20>Emitted(14, 64) Source(32, 56) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -488,81 +476,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(16, 1) Source(34, 1) + SourceIndex(0) 2 >Emitted(16, 2) Source(34, 2) + SourceIndex(0) --- ->>>for ((_b = { name: "trimmer", skill: "trimming" }, nameA = _b.name, _b), i = 0; i < 1; i++) { +>>>for (_b = { name: "trimmer", skill: "trimming" }, nameA = _b.name, _b, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA } = { name: "trimmer", skill: "trimming" } -7 > -8 > name: nameA -9 > } = { name: "trimmer", skill: "trimming" } -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > { name: nameA } = { name: "trimmer", skill: "trimming" } +6 > +7 > name: nameA +8 > } = { name: "trimmer", skill: "trimming" }, +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(17, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(35, 5) + SourceIndex(0) 4 >Emitted(17, 6) Source(35, 6) + SourceIndex(0) -5 >Emitted(17, 7) Source(35, 6) + SourceIndex(0) -6 >Emitted(17, 50) Source(35, 69) + SourceIndex(0) -7 >Emitted(17, 52) Source(35, 8) + SourceIndex(0) -8 >Emitted(17, 67) Source(35, 19) + SourceIndex(0) -9 >Emitted(17, 72) Source(35, 69) + SourceIndex(0) -10>Emitted(17, 74) Source(35, 71) + SourceIndex(0) -11>Emitted(17, 75) Source(35, 72) + SourceIndex(0) -12>Emitted(17, 78) Source(35, 75) + SourceIndex(0) -13>Emitted(17, 79) Source(35, 76) + SourceIndex(0) -14>Emitted(17, 81) Source(35, 78) + SourceIndex(0) -15>Emitted(17, 82) Source(35, 79) + SourceIndex(0) -16>Emitted(17, 85) Source(35, 82) + SourceIndex(0) -17>Emitted(17, 86) Source(35, 83) + SourceIndex(0) -18>Emitted(17, 88) Source(35, 85) + SourceIndex(0) -19>Emitted(17, 89) Source(35, 86) + SourceIndex(0) -20>Emitted(17, 91) Source(35, 88) + SourceIndex(0) -21>Emitted(17, 93) Source(35, 90) + SourceIndex(0) -22>Emitted(17, 94) Source(35, 91) + SourceIndex(0) +5 >Emitted(17, 49) Source(35, 69) + SourceIndex(0) +6 >Emitted(17, 51) Source(35, 8) + SourceIndex(0) +7 >Emitted(17, 66) Source(35, 19) + SourceIndex(0) +8 >Emitted(17, 72) Source(35, 71) + SourceIndex(0) +9 >Emitted(17, 73) Source(35, 72) + SourceIndex(0) +10>Emitted(17, 76) Source(35, 75) + SourceIndex(0) +11>Emitted(17, 77) Source(35, 76) + SourceIndex(0) +12>Emitted(17, 79) Source(35, 78) + SourceIndex(0) +13>Emitted(17, 80) Source(35, 79) + SourceIndex(0) +14>Emitted(17, 83) Source(35, 82) + SourceIndex(0) +15>Emitted(17, 84) Source(35, 83) + SourceIndex(0) +16>Emitted(17, 86) Source(35, 85) + SourceIndex(0) +17>Emitted(17, 87) Source(35, 86) + SourceIndex(0) +18>Emitted(17, 89) Source(35, 88) + SourceIndex(0) +19>Emitted(17, 91) Source(35, 90) + SourceIndex(0) +20>Emitted(17, 92) Source(35, 91) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -594,93 +576,87 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(19, 1) Source(37, 1) + SourceIndex(0) 2 >Emitted(19, 2) Source(37, 2) + SourceIndex(0) --- ->>>for ((_c = multiRobot.skills, primaryA = _c.primary, secondaryA = _c.secondary, multiRobot), i = 0; i < 1; i++) { +>>>for (_c = multiRobot.skills, primaryA = _c.primary, secondaryA = _c.secondary, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -11> } } = -12> multiRobot -13> -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +4 > ({ +5 > skills: { primary: primaryA, secondary: secondaryA } +6 > +7 > primary: primaryA +8 > , +9 > secondary: secondaryA +10> } } = +11> multiRobot +12> , +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(20, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(20, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(20, 5) Source(38, 5) + SourceIndex(0) -4 >Emitted(20, 6) Source(38, 6) + SourceIndex(0) -5 >Emitted(20, 7) Source(38, 8) + SourceIndex(0) -6 >Emitted(20, 29) Source(38, 60) + SourceIndex(0) -7 >Emitted(20, 31) Source(38, 18) + SourceIndex(0) -8 >Emitted(20, 52) Source(38, 35) + SourceIndex(0) -9 >Emitted(20, 54) Source(38, 37) + SourceIndex(0) -10>Emitted(20, 79) Source(38, 58) + SourceIndex(0) -11>Emitted(20, 81) Source(38, 65) + SourceIndex(0) -12>Emitted(20, 91) Source(38, 75) + SourceIndex(0) -13>Emitted(20, 92) Source(38, 75) + SourceIndex(0) -14>Emitted(20, 94) Source(38, 77) + SourceIndex(0) -15>Emitted(20, 95) Source(38, 78) + SourceIndex(0) -16>Emitted(20, 98) Source(38, 81) + SourceIndex(0) -17>Emitted(20, 99) Source(38, 82) + SourceIndex(0) -18>Emitted(20, 101) Source(38, 84) + SourceIndex(0) -19>Emitted(20, 102) Source(38, 85) + SourceIndex(0) -20>Emitted(20, 105) Source(38, 88) + SourceIndex(0) -21>Emitted(20, 106) Source(38, 89) + SourceIndex(0) -22>Emitted(20, 108) Source(38, 91) + SourceIndex(0) -23>Emitted(20, 109) Source(38, 92) + SourceIndex(0) -24>Emitted(20, 111) Source(38, 94) + SourceIndex(0) -25>Emitted(20, 113) Source(38, 96) + SourceIndex(0) -26>Emitted(20, 114) Source(38, 97) + SourceIndex(0) +4 >Emitted(20, 6) Source(38, 8) + SourceIndex(0) +5 >Emitted(20, 28) Source(38, 60) + SourceIndex(0) +6 >Emitted(20, 30) Source(38, 18) + SourceIndex(0) +7 >Emitted(20, 51) Source(38, 35) + SourceIndex(0) +8 >Emitted(20, 53) Source(38, 37) + SourceIndex(0) +9 >Emitted(20, 78) Source(38, 58) + SourceIndex(0) +10>Emitted(20, 80) Source(38, 65) + SourceIndex(0) +11>Emitted(20, 90) Source(38, 75) + SourceIndex(0) +12>Emitted(20, 92) Source(38, 77) + SourceIndex(0) +13>Emitted(20, 93) Source(38, 78) + SourceIndex(0) +14>Emitted(20, 96) Source(38, 81) + SourceIndex(0) +15>Emitted(20, 97) Source(38, 82) + SourceIndex(0) +16>Emitted(20, 99) Source(38, 84) + SourceIndex(0) +17>Emitted(20, 100) Source(38, 85) + SourceIndex(0) +18>Emitted(20, 103) Source(38, 88) + SourceIndex(0) +19>Emitted(20, 104) Source(38, 89) + SourceIndex(0) +20>Emitted(20, 106) Source(38, 91) + SourceIndex(0) +21>Emitted(20, 107) Source(38, 92) + SourceIndex(0) +22>Emitted(20, 109) Source(38, 94) + SourceIndex(0) +23>Emitted(20, 111) Source(38, 96) + SourceIndex(0) +24>Emitted(20, 112) Source(38, 97) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -712,93 +688,87 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(22, 1) Source(40, 1) + SourceIndex(0) 2 >Emitted(22, 2) Source(40, 2) + SourceIndex(0) --- ->>>for ((_d = getMultiRobot(), _e = _d.skills, primaryA = _e.primary, secondaryA = _e.secondary, _d), i = 0; i < 1; i++) { +>>>for (_d = getMultiRobot(), _e = _d.skills, primaryA = _e.primary, secondaryA = _e.secondary, _d, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() -7 > -8 > skills: { primary: primaryA, secondary: secondaryA } -9 > -10> primary: primaryA -11> , -12> secondary: secondaryA -13> } } = getMultiRobot() -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() +6 > +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA +12> } } = getMultiRobot(), +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(23, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(23, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(23, 5) Source(41, 5) + SourceIndex(0) 4 >Emitted(23, 6) Source(41, 6) + SourceIndex(0) -5 >Emitted(23, 7) Source(41, 6) + SourceIndex(0) -6 >Emitted(23, 27) Source(41, 80) + SourceIndex(0) -7 >Emitted(23, 29) Source(41, 8) + SourceIndex(0) -8 >Emitted(23, 43) Source(41, 60) + SourceIndex(0) -9 >Emitted(23, 45) Source(41, 18) + SourceIndex(0) -10>Emitted(23, 66) Source(41, 35) + SourceIndex(0) -11>Emitted(23, 68) Source(41, 37) + SourceIndex(0) -12>Emitted(23, 93) Source(41, 58) + SourceIndex(0) -13>Emitted(23, 98) Source(41, 80) + SourceIndex(0) -14>Emitted(23, 100) Source(41, 82) + SourceIndex(0) -15>Emitted(23, 101) Source(41, 83) + SourceIndex(0) -16>Emitted(23, 104) Source(41, 86) + SourceIndex(0) -17>Emitted(23, 105) Source(41, 87) + SourceIndex(0) -18>Emitted(23, 107) Source(41, 89) + SourceIndex(0) -19>Emitted(23, 108) Source(41, 90) + SourceIndex(0) -20>Emitted(23, 111) Source(41, 93) + SourceIndex(0) -21>Emitted(23, 112) Source(41, 94) + SourceIndex(0) -22>Emitted(23, 114) Source(41, 96) + SourceIndex(0) -23>Emitted(23, 115) Source(41, 97) + SourceIndex(0) -24>Emitted(23, 117) Source(41, 99) + SourceIndex(0) -25>Emitted(23, 119) Source(41, 101) + SourceIndex(0) -26>Emitted(23, 120) Source(41, 102) + SourceIndex(0) +5 >Emitted(23, 26) Source(41, 80) + SourceIndex(0) +6 >Emitted(23, 28) Source(41, 8) + SourceIndex(0) +7 >Emitted(23, 42) Source(41, 60) + SourceIndex(0) +8 >Emitted(23, 44) Source(41, 18) + SourceIndex(0) +9 >Emitted(23, 65) Source(41, 35) + SourceIndex(0) +10>Emitted(23, 67) Source(41, 37) + SourceIndex(0) +11>Emitted(23, 92) Source(41, 58) + SourceIndex(0) +12>Emitted(23, 98) Source(41, 82) + SourceIndex(0) +13>Emitted(23, 99) Source(41, 83) + SourceIndex(0) +14>Emitted(23, 102) Source(41, 86) + SourceIndex(0) +15>Emitted(23, 103) Source(41, 87) + SourceIndex(0) +16>Emitted(23, 105) Source(41, 89) + SourceIndex(0) +17>Emitted(23, 106) Source(41, 90) + SourceIndex(0) +18>Emitted(23, 109) Source(41, 93) + SourceIndex(0) +19>Emitted(23, 110) Source(41, 94) + SourceIndex(0) +20>Emitted(23, 112) Source(41, 96) + SourceIndex(0) +21>Emitted(23, 113) Source(41, 97) + SourceIndex(0) +22>Emitted(23, 115) Source(41, 99) + SourceIndex(0) +23>Emitted(23, 117) Source(41, 101) + SourceIndex(0) +24>Emitted(23, 118) Source(41, 102) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -830,56 +800,49 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(25, 1) Source(43, 1) + SourceIndex(0) 2 >Emitted(25, 2) Source(43, 2) + SourceIndex(0) --- ->>>for ((_f = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _g = _f.skills, primaryA = _g.primary, secondaryA = _g.secondary, _f), +>>>for (_f = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _g = _f.skills, primaryA = _g.primary, secondaryA = _g.secondary, _f, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { skills: { primary: primaryA, secondary: secondaryA } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > skills: { primary: primaryA, secondary: secondaryA } -9 > -10> primary: primaryA -11> , -12> secondary: secondaryA -13> } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { skills: { primary: primaryA, secondary: secondaryA } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA 1->Emitted(26, 1) Source(44, 1) + SourceIndex(0) 2 >Emitted(26, 4) Source(44, 4) + SourceIndex(0) 3 >Emitted(26, 5) Source(44, 5) + SourceIndex(0) 4 >Emitted(26, 6) Source(44, 6) + SourceIndex(0) -5 >Emitted(26, 7) Source(44, 6) + SourceIndex(0) -6 >Emitted(26, 85) Source(45, 90) + SourceIndex(0) -7 >Emitted(26, 87) Source(44, 8) + SourceIndex(0) -8 >Emitted(26, 101) Source(44, 60) + SourceIndex(0) -9 >Emitted(26, 103) Source(44, 18) + SourceIndex(0) -10>Emitted(26, 124) Source(44, 35) + SourceIndex(0) -11>Emitted(26, 126) Source(44, 37) + SourceIndex(0) -12>Emitted(26, 151) Source(44, 58) + SourceIndex(0) -13>Emitted(26, 156) Source(45, 90) + SourceIndex(0) +5 >Emitted(26, 84) Source(45, 90) + SourceIndex(0) +6 >Emitted(26, 86) Source(44, 8) + SourceIndex(0) +7 >Emitted(26, 100) Source(44, 60) + SourceIndex(0) +8 >Emitted(26, 102) Source(44, 18) + SourceIndex(0) +9 >Emitted(26, 123) Source(44, 35) + SourceIndex(0) +10>Emitted(26, 125) Source(44, 37) + SourceIndex(0) +11>Emitted(26, 150) Source(44, 58) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -896,7 +859,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -954,81 +918,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(29, 1) Source(48, 1) + SourceIndex(0) 2 >Emitted(29, 2) Source(48, 2) + SourceIndex(0) --- ->>>for ((name = robot.name, robot), i = 0; i < 1; i++) { +>>>for (name = robot.name, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^ -9 > ^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^ +8 > ^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > name -7 > } = -8 > robot -9 > -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +4 > ({ +5 > name +6 > } = +7 > robot +8 > , +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(30, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(49, 5) + SourceIndex(0) -4 >Emitted(30, 6) Source(49, 6) + SourceIndex(0) -5 >Emitted(30, 7) Source(49, 8) + SourceIndex(0) -6 >Emitted(30, 24) Source(49, 12) + SourceIndex(0) -7 >Emitted(30, 26) Source(49, 17) + SourceIndex(0) -8 >Emitted(30, 31) Source(49, 22) + SourceIndex(0) -9 >Emitted(30, 32) Source(49, 22) + SourceIndex(0) -10>Emitted(30, 34) Source(49, 24) + SourceIndex(0) -11>Emitted(30, 35) Source(49, 25) + SourceIndex(0) -12>Emitted(30, 38) Source(49, 28) + SourceIndex(0) -13>Emitted(30, 39) Source(49, 29) + SourceIndex(0) -14>Emitted(30, 41) Source(49, 31) + SourceIndex(0) -15>Emitted(30, 42) Source(49, 32) + SourceIndex(0) -16>Emitted(30, 45) Source(49, 35) + SourceIndex(0) -17>Emitted(30, 46) Source(49, 36) + SourceIndex(0) -18>Emitted(30, 48) Source(49, 38) + SourceIndex(0) -19>Emitted(30, 49) Source(49, 39) + SourceIndex(0) -20>Emitted(30, 51) Source(49, 41) + SourceIndex(0) -21>Emitted(30, 53) Source(49, 43) + SourceIndex(0) -22>Emitted(30, 54) Source(49, 44) + SourceIndex(0) +4 >Emitted(30, 6) Source(49, 8) + SourceIndex(0) +5 >Emitted(30, 23) Source(49, 12) + SourceIndex(0) +6 >Emitted(30, 25) Source(49, 17) + SourceIndex(0) +7 >Emitted(30, 30) Source(49, 22) + SourceIndex(0) +8 >Emitted(30, 32) Source(49, 24) + SourceIndex(0) +9 >Emitted(30, 33) Source(49, 25) + SourceIndex(0) +10>Emitted(30, 36) Source(49, 28) + SourceIndex(0) +11>Emitted(30, 37) Source(49, 29) + SourceIndex(0) +12>Emitted(30, 39) Source(49, 31) + SourceIndex(0) +13>Emitted(30, 40) Source(49, 32) + SourceIndex(0) +14>Emitted(30, 43) Source(49, 35) + SourceIndex(0) +15>Emitted(30, 44) Source(49, 36) + SourceIndex(0) +16>Emitted(30, 46) Source(49, 38) + SourceIndex(0) +17>Emitted(30, 47) Source(49, 39) + SourceIndex(0) +18>Emitted(30, 49) Source(49, 41) + SourceIndex(0) +19>Emitted(30, 51) Source(49, 43) + SourceIndex(0) +20>Emitted(30, 52) Source(49, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1060,81 +1018,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(32, 1) Source(51, 1) + SourceIndex(0) 2 >Emitted(32, 2) Source(51, 2) + SourceIndex(0) --- ->>>for ((_h = getRobot(), name = _h.name, _h), i = 0; i < 1; i++) { +>>>for (_h = getRobot(), name = _h.name, _h, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name } = getRobot() -7 > -8 > name -9 > } = getRobot() -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > { name } = getRobot() +6 > +7 > name +8 > } = getRobot(), +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(33, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(52, 5) + SourceIndex(0) 4 >Emitted(33, 6) Source(52, 6) + SourceIndex(0) -5 >Emitted(33, 7) Source(52, 6) + SourceIndex(0) -6 >Emitted(33, 22) Source(52, 27) + SourceIndex(0) -7 >Emitted(33, 24) Source(52, 8) + SourceIndex(0) -8 >Emitted(33, 38) Source(52, 12) + SourceIndex(0) -9 >Emitted(33, 43) Source(52, 27) + SourceIndex(0) -10>Emitted(33, 45) Source(52, 29) + SourceIndex(0) -11>Emitted(33, 46) Source(52, 30) + SourceIndex(0) -12>Emitted(33, 49) Source(52, 33) + SourceIndex(0) -13>Emitted(33, 50) Source(52, 34) + SourceIndex(0) -14>Emitted(33, 52) Source(52, 36) + SourceIndex(0) -15>Emitted(33, 53) Source(52, 37) + SourceIndex(0) -16>Emitted(33, 56) Source(52, 40) + SourceIndex(0) -17>Emitted(33, 57) Source(52, 41) + SourceIndex(0) -18>Emitted(33, 59) Source(52, 43) + SourceIndex(0) -19>Emitted(33, 60) Source(52, 44) + SourceIndex(0) -20>Emitted(33, 62) Source(52, 46) + SourceIndex(0) -21>Emitted(33, 64) Source(52, 48) + SourceIndex(0) -22>Emitted(33, 65) Source(52, 49) + SourceIndex(0) +5 >Emitted(33, 21) Source(52, 27) + SourceIndex(0) +6 >Emitted(33, 23) Source(52, 8) + SourceIndex(0) +7 >Emitted(33, 37) Source(52, 12) + SourceIndex(0) +8 >Emitted(33, 43) Source(52, 29) + SourceIndex(0) +9 >Emitted(33, 44) Source(52, 30) + SourceIndex(0) +10>Emitted(33, 47) Source(52, 33) + SourceIndex(0) +11>Emitted(33, 48) Source(52, 34) + SourceIndex(0) +12>Emitted(33, 50) Source(52, 36) + SourceIndex(0) +13>Emitted(33, 51) Source(52, 37) + SourceIndex(0) +14>Emitted(33, 54) Source(52, 40) + SourceIndex(0) +15>Emitted(33, 55) Source(52, 41) + SourceIndex(0) +16>Emitted(33, 57) Source(52, 43) + SourceIndex(0) +17>Emitted(33, 58) Source(52, 44) + SourceIndex(0) +18>Emitted(33, 60) Source(52, 46) + SourceIndex(0) +19>Emitted(33, 62) Source(52, 48) + SourceIndex(0) +20>Emitted(33, 63) Source(52, 49) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1166,81 +1118,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(35, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(35, 2) Source(54, 2) + SourceIndex(0) --- ->>>for ((_j = { name: "trimmer", skill: "trimming" }, name = _j.name, _j), i = 0; i < 1; i++) { +>>>for (_j = { name: "trimmer", skill: "trimming" }, name = _j.name, _j, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^^^^ -10> ^^ -11> ^ -12> ^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^ -21> ^^ -22> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^^^^^ +9 > ^ +10> ^^^ +11> ^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^ +19> ^^ +20> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name } = { name: "trimmer", skill: "trimming" } -7 > -8 > name -9 > } = { name: "trimmer", skill: "trimming" } -10> , -11> i -12> = -13> 0 -14> ; -15> i -16> < -17> 1 -18> ; -19> i -20> ++ -21> ) -22> { +5 > { name } = { name: "trimmer", skill: "trimming" } +6 > +7 > name +8 > } = { name: "trimmer", skill: "trimming" }, +9 > i +10> = +11> 0 +12> ; +13> i +14> < +15> 1 +16> ; +17> i +18> ++ +19> ) +20> { 1->Emitted(36, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(55, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(55, 6) + SourceIndex(0) -5 >Emitted(36, 7) Source(55, 6) + SourceIndex(0) -6 >Emitted(36, 50) Source(55, 62) + SourceIndex(0) -7 >Emitted(36, 52) Source(55, 8) + SourceIndex(0) -8 >Emitted(36, 66) Source(55, 12) + SourceIndex(0) -9 >Emitted(36, 71) Source(55, 62) + SourceIndex(0) -10>Emitted(36, 73) Source(55, 64) + SourceIndex(0) -11>Emitted(36, 74) Source(55, 65) + SourceIndex(0) -12>Emitted(36, 77) Source(55, 68) + SourceIndex(0) -13>Emitted(36, 78) Source(55, 69) + SourceIndex(0) -14>Emitted(36, 80) Source(55, 71) + SourceIndex(0) -15>Emitted(36, 81) Source(55, 72) + SourceIndex(0) -16>Emitted(36, 84) Source(55, 75) + SourceIndex(0) -17>Emitted(36, 85) Source(55, 76) + SourceIndex(0) -18>Emitted(36, 87) Source(55, 78) + SourceIndex(0) -19>Emitted(36, 88) Source(55, 79) + SourceIndex(0) -20>Emitted(36, 90) Source(55, 81) + SourceIndex(0) -21>Emitted(36, 92) Source(55, 83) + SourceIndex(0) -22>Emitted(36, 93) Source(55, 84) + SourceIndex(0) +5 >Emitted(36, 49) Source(55, 62) + SourceIndex(0) +6 >Emitted(36, 51) Source(55, 8) + SourceIndex(0) +7 >Emitted(36, 65) Source(55, 12) + SourceIndex(0) +8 >Emitted(36, 71) Source(55, 64) + SourceIndex(0) +9 >Emitted(36, 72) Source(55, 65) + SourceIndex(0) +10>Emitted(36, 75) Source(55, 68) + SourceIndex(0) +11>Emitted(36, 76) Source(55, 69) + SourceIndex(0) +12>Emitted(36, 78) Source(55, 71) + SourceIndex(0) +13>Emitted(36, 79) Source(55, 72) + SourceIndex(0) +14>Emitted(36, 82) Source(55, 75) + SourceIndex(0) +15>Emitted(36, 83) Source(55, 76) + SourceIndex(0) +16>Emitted(36, 85) Source(55, 78) + SourceIndex(0) +17>Emitted(36, 86) Source(55, 79) + SourceIndex(0) +18>Emitted(36, 88) Source(55, 81) + SourceIndex(0) +19>Emitted(36, 90) Source(55, 83) + SourceIndex(0) +20>Emitted(36, 91) Source(55, 84) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1272,93 +1218,87 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(38, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(38, 2) Source(57, 2) + SourceIndex(0) --- ->>>for ((_k = multiRobot.skills, primary = _k.primary, secondary = _k.secondary, multiRobot), i = 0; i < 1; i++) { +>>>for (_k = multiRobot.skills, primary = _k.primary, secondary = _k.secondary, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^ +12> ^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > skills: { primary, secondary } -7 > -8 > primary -9 > , -10> secondary -11> } } = -12> multiRobot -13> -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +4 > ({ +5 > skills: { primary, secondary } +6 > +7 > primary +8 > , +9 > secondary +10> } } = +11> multiRobot +12> , +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(39, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(58, 5) + SourceIndex(0) -4 >Emitted(39, 6) Source(58, 6) + SourceIndex(0) -5 >Emitted(39, 7) Source(58, 8) + SourceIndex(0) -6 >Emitted(39, 29) Source(58, 38) + SourceIndex(0) -7 >Emitted(39, 31) Source(58, 18) + SourceIndex(0) -8 >Emitted(39, 51) Source(58, 25) + SourceIndex(0) -9 >Emitted(39, 53) Source(58, 27) + SourceIndex(0) -10>Emitted(39, 77) Source(58, 36) + SourceIndex(0) -11>Emitted(39, 79) Source(58, 43) + SourceIndex(0) -12>Emitted(39, 89) Source(58, 53) + SourceIndex(0) -13>Emitted(39, 90) Source(58, 53) + SourceIndex(0) -14>Emitted(39, 92) Source(58, 55) + SourceIndex(0) -15>Emitted(39, 93) Source(58, 56) + SourceIndex(0) -16>Emitted(39, 96) Source(58, 59) + SourceIndex(0) -17>Emitted(39, 97) Source(58, 60) + SourceIndex(0) -18>Emitted(39, 99) Source(58, 62) + SourceIndex(0) -19>Emitted(39, 100) Source(58, 63) + SourceIndex(0) -20>Emitted(39, 103) Source(58, 66) + SourceIndex(0) -21>Emitted(39, 104) Source(58, 67) + SourceIndex(0) -22>Emitted(39, 106) Source(58, 69) + SourceIndex(0) -23>Emitted(39, 107) Source(58, 70) + SourceIndex(0) -24>Emitted(39, 109) Source(58, 72) + SourceIndex(0) -25>Emitted(39, 111) Source(58, 74) + SourceIndex(0) -26>Emitted(39, 112) Source(58, 75) + SourceIndex(0) +4 >Emitted(39, 6) Source(58, 8) + SourceIndex(0) +5 >Emitted(39, 28) Source(58, 38) + SourceIndex(0) +6 >Emitted(39, 30) Source(58, 18) + SourceIndex(0) +7 >Emitted(39, 50) Source(58, 25) + SourceIndex(0) +8 >Emitted(39, 52) Source(58, 27) + SourceIndex(0) +9 >Emitted(39, 76) Source(58, 36) + SourceIndex(0) +10>Emitted(39, 78) Source(58, 43) + SourceIndex(0) +11>Emitted(39, 88) Source(58, 53) + SourceIndex(0) +12>Emitted(39, 90) Source(58, 55) + SourceIndex(0) +13>Emitted(39, 91) Source(58, 56) + SourceIndex(0) +14>Emitted(39, 94) Source(58, 59) + SourceIndex(0) +15>Emitted(39, 95) Source(58, 60) + SourceIndex(0) +16>Emitted(39, 97) Source(58, 62) + SourceIndex(0) +17>Emitted(39, 98) Source(58, 63) + SourceIndex(0) +18>Emitted(39, 101) Source(58, 66) + SourceIndex(0) +19>Emitted(39, 102) Source(58, 67) + SourceIndex(0) +20>Emitted(39, 104) Source(58, 69) + SourceIndex(0) +21>Emitted(39, 105) Source(58, 70) + SourceIndex(0) +22>Emitted(39, 107) Source(58, 72) + SourceIndex(0) +23>Emitted(39, 109) Source(58, 74) + SourceIndex(0) +24>Emitted(39, 110) Source(58, 75) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1390,93 +1330,87 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(41, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(41, 2) Source(60, 2) + SourceIndex(0) --- ->>>for ((_l = getMultiRobot(), _m = _l.skills, primary = _m.primary, secondary = _m.secondary, _l), i = 0; i < 1; i++) { +>>>for (_l = getMultiRobot(), _m = _l.skills, primary = _m.primary, secondary = _m.secondary, _l, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ -14> ^^ -15> ^ -16> ^^^ -17> ^ -18> ^^ -19> ^ -20> ^^^ -21> ^ -22> ^^ -23> ^ -24> ^^ -25> ^^ -26> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^^^^^ +13> ^ +14> ^^^ +15> ^ +16> ^^ +17> ^ +18> ^^^ +19> ^ +20> ^^ +21> ^ +22> ^^ +23> ^^ +24> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { skills: { primary, secondary } } = getMultiRobot() -7 > -8 > skills: { primary, secondary } -9 > -10> primary -11> , -12> secondary -13> } } = getMultiRobot() -14> , -15> i -16> = -17> 0 -18> ; -19> i -20> < -21> 1 -22> ; -23> i -24> ++ -25> ) -26> { +5 > { skills: { primary, secondary } } = getMultiRobot() +6 > +7 > skills: { primary, secondary } +8 > +9 > primary +10> , +11> secondary +12> } } = getMultiRobot(), +13> i +14> = +15> 0 +16> ; +17> i +18> < +19> 1 +20> ; +21> i +22> ++ +23> ) +24> { 1->Emitted(42, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(61, 5) + SourceIndex(0) 4 >Emitted(42, 6) Source(61, 6) + SourceIndex(0) -5 >Emitted(42, 7) Source(61, 6) + SourceIndex(0) -6 >Emitted(42, 27) Source(61, 58) + SourceIndex(0) -7 >Emitted(42, 29) Source(61, 8) + SourceIndex(0) -8 >Emitted(42, 43) Source(61, 38) + SourceIndex(0) -9 >Emitted(42, 45) Source(61, 18) + SourceIndex(0) -10>Emitted(42, 65) Source(61, 25) + SourceIndex(0) -11>Emitted(42, 67) Source(61, 27) + SourceIndex(0) -12>Emitted(42, 91) Source(61, 36) + SourceIndex(0) -13>Emitted(42, 96) Source(61, 58) + SourceIndex(0) -14>Emitted(42, 98) Source(61, 60) + SourceIndex(0) -15>Emitted(42, 99) Source(61, 61) + SourceIndex(0) -16>Emitted(42, 102) Source(61, 64) + SourceIndex(0) -17>Emitted(42, 103) Source(61, 65) + SourceIndex(0) -18>Emitted(42, 105) Source(61, 67) + SourceIndex(0) -19>Emitted(42, 106) Source(61, 68) + SourceIndex(0) -20>Emitted(42, 109) Source(61, 71) + SourceIndex(0) -21>Emitted(42, 110) Source(61, 72) + SourceIndex(0) -22>Emitted(42, 112) Source(61, 74) + SourceIndex(0) -23>Emitted(42, 113) Source(61, 75) + SourceIndex(0) -24>Emitted(42, 115) Source(61, 77) + SourceIndex(0) -25>Emitted(42, 117) Source(61, 79) + SourceIndex(0) -26>Emitted(42, 118) Source(61, 80) + SourceIndex(0) +5 >Emitted(42, 26) Source(61, 58) + SourceIndex(0) +6 >Emitted(42, 28) Source(61, 8) + SourceIndex(0) +7 >Emitted(42, 42) Source(61, 38) + SourceIndex(0) +8 >Emitted(42, 44) Source(61, 18) + SourceIndex(0) +9 >Emitted(42, 64) Source(61, 25) + SourceIndex(0) +10>Emitted(42, 66) Source(61, 27) + SourceIndex(0) +11>Emitted(42, 90) Source(61, 36) + SourceIndex(0) +12>Emitted(42, 96) Source(61, 60) + SourceIndex(0) +13>Emitted(42, 97) Source(61, 61) + SourceIndex(0) +14>Emitted(42, 100) Source(61, 64) + SourceIndex(0) +15>Emitted(42, 101) Source(61, 65) + SourceIndex(0) +16>Emitted(42, 103) Source(61, 67) + SourceIndex(0) +17>Emitted(42, 104) Source(61, 68) + SourceIndex(0) +18>Emitted(42, 107) Source(61, 71) + SourceIndex(0) +19>Emitted(42, 108) Source(61, 72) + SourceIndex(0) +20>Emitted(42, 110) Source(61, 74) + SourceIndex(0) +21>Emitted(42, 111) Source(61, 75) + SourceIndex(0) +22>Emitted(42, 113) Source(61, 77) + SourceIndex(0) +23>Emitted(42, 115) Source(61, 79) + SourceIndex(0) +24>Emitted(42, 116) Source(61, 80) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1508,56 +1442,49 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(44, 1) Source(63, 1) + SourceIndex(0) 2 >Emitted(44, 2) Source(63, 2) + SourceIndex(0) --- ->>>for ((_o = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _p = _o.skills, primary = _p.primary, secondary = _p.secondary, _o), +>>>for (_o = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _p = _o.skills, primary = _p.primary, secondary = _p.secondary, _o, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { skills: { primary, secondary } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > skills: { primary, secondary } -9 > -10> primary -11> , -12> secondary -13> } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { skills: { primary, secondary } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > skills: { primary, secondary } +8 > +9 > primary +10> , +11> secondary 1->Emitted(45, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(64, 5) + SourceIndex(0) 4 >Emitted(45, 6) Source(64, 6) + SourceIndex(0) -5 >Emitted(45, 7) Source(64, 6) + SourceIndex(0) -6 >Emitted(45, 85) Source(65, 90) + SourceIndex(0) -7 >Emitted(45, 87) Source(64, 8) + SourceIndex(0) -8 >Emitted(45, 101) Source(64, 38) + SourceIndex(0) -9 >Emitted(45, 103) Source(64, 18) + SourceIndex(0) -10>Emitted(45, 123) Source(64, 25) + SourceIndex(0) -11>Emitted(45, 125) Source(64, 27) + SourceIndex(0) -12>Emitted(45, 149) Source(64, 36) + SourceIndex(0) -13>Emitted(45, 154) Source(65, 90) + SourceIndex(0) +5 >Emitted(45, 84) Source(65, 90) + SourceIndex(0) +6 >Emitted(45, 86) Source(64, 8) + SourceIndex(0) +7 >Emitted(45, 100) Source(64, 38) + SourceIndex(0) +8 >Emitted(45, 102) Source(64, 18) + SourceIndex(0) +9 >Emitted(45, 122) Source(64, 25) + SourceIndex(0) +10>Emitted(45, 124) Source(64, 27) + SourceIndex(0) +11>Emitted(45, 148) Source(64, 36) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -1574,7 +1501,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -1632,89 +1560,83 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(48, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(48, 2) Source(68, 2) + SourceIndex(0) --- ->>>for ((nameA = robot.name, skillA = robot.skill, robot), i = 0; i < 1; i++) { +>>>for (nameA = robot.name, skillA = robot.skill, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > > 2 >for 3 > -4 > ( -5 > { -6 > name: nameA -7 > , -8 > skill: skillA -9 > } = -10> robot -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ({ +5 > name: nameA +6 > , +7 > skill: skillA +8 > } = +9 > robot +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(49, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(71, 5) + SourceIndex(0) -4 >Emitted(49, 6) Source(71, 6) + SourceIndex(0) -5 >Emitted(49, 7) Source(71, 8) + SourceIndex(0) -6 >Emitted(49, 25) Source(71, 19) + SourceIndex(0) -7 >Emitted(49, 27) Source(71, 21) + SourceIndex(0) -8 >Emitted(49, 47) Source(71, 34) + SourceIndex(0) -9 >Emitted(49, 49) Source(71, 39) + SourceIndex(0) -10>Emitted(49, 54) Source(71, 44) + SourceIndex(0) -11>Emitted(49, 55) Source(71, 44) + SourceIndex(0) -12>Emitted(49, 57) Source(71, 46) + SourceIndex(0) -13>Emitted(49, 58) Source(71, 47) + SourceIndex(0) -14>Emitted(49, 61) Source(71, 50) + SourceIndex(0) -15>Emitted(49, 62) Source(71, 51) + SourceIndex(0) -16>Emitted(49, 64) Source(71, 53) + SourceIndex(0) -17>Emitted(49, 65) Source(71, 54) + SourceIndex(0) -18>Emitted(49, 68) Source(71, 57) + SourceIndex(0) -19>Emitted(49, 69) Source(71, 58) + SourceIndex(0) -20>Emitted(49, 71) Source(71, 60) + SourceIndex(0) -21>Emitted(49, 72) Source(71, 61) + SourceIndex(0) -22>Emitted(49, 74) Source(71, 63) + SourceIndex(0) -23>Emitted(49, 76) Source(71, 65) + SourceIndex(0) -24>Emitted(49, 77) Source(71, 66) + SourceIndex(0) +4 >Emitted(49, 6) Source(71, 8) + SourceIndex(0) +5 >Emitted(49, 24) Source(71, 19) + SourceIndex(0) +6 >Emitted(49, 26) Source(71, 21) + SourceIndex(0) +7 >Emitted(49, 46) Source(71, 34) + SourceIndex(0) +8 >Emitted(49, 48) Source(71, 39) + SourceIndex(0) +9 >Emitted(49, 53) Source(71, 44) + SourceIndex(0) +10>Emitted(49, 55) Source(71, 46) + SourceIndex(0) +11>Emitted(49, 56) Source(71, 47) + SourceIndex(0) +12>Emitted(49, 59) Source(71, 50) + SourceIndex(0) +13>Emitted(49, 60) Source(71, 51) + SourceIndex(0) +14>Emitted(49, 62) Source(71, 53) + SourceIndex(0) +15>Emitted(49, 63) Source(71, 54) + SourceIndex(0) +16>Emitted(49, 66) Source(71, 57) + SourceIndex(0) +17>Emitted(49, 67) Source(71, 58) + SourceIndex(0) +18>Emitted(49, 69) Source(71, 60) + SourceIndex(0) +19>Emitted(49, 70) Source(71, 61) + SourceIndex(0) +20>Emitted(49, 72) Source(71, 63) + SourceIndex(0) +21>Emitted(49, 74) Source(71, 65) + SourceIndex(0) +22>Emitted(49, 75) Source(71, 66) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1746,87 +1668,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(51, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(51, 2) Source(73, 2) + SourceIndex(0) --- ->>>for ((_q = getRobot(), nameA = _q.name, skillA = _q.skill, _q), i = 0; i < 1; i++) { +>>>for (_q = getRobot(), nameA = _q.name, skillA = _q.skill, _q, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA, skill: skillA } = getRobot() -7 > -8 > name: nameA -9 > , -10> skill: skillA -11> } = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name: nameA, skill: skillA } = getRobot() +6 > +7 > name: nameA +8 > , +9 > skill: skillA +10> } = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(52, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(52, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(52, 5) Source(74, 5) + SourceIndex(0) 4 >Emitted(52, 6) Source(74, 6) + SourceIndex(0) -5 >Emitted(52, 7) Source(74, 6) + SourceIndex(0) -6 >Emitted(52, 22) Source(74, 49) + SourceIndex(0) -7 >Emitted(52, 24) Source(74, 8) + SourceIndex(0) -8 >Emitted(52, 39) Source(74, 19) + SourceIndex(0) -9 >Emitted(52, 41) Source(74, 21) + SourceIndex(0) -10>Emitted(52, 58) Source(74, 34) + SourceIndex(0) -11>Emitted(52, 63) Source(74, 49) + SourceIndex(0) -12>Emitted(52, 65) Source(74, 51) + SourceIndex(0) -13>Emitted(52, 66) Source(74, 52) + SourceIndex(0) -14>Emitted(52, 69) Source(74, 55) + SourceIndex(0) -15>Emitted(52, 70) Source(74, 56) + SourceIndex(0) -16>Emitted(52, 72) Source(74, 58) + SourceIndex(0) -17>Emitted(52, 73) Source(74, 59) + SourceIndex(0) -18>Emitted(52, 76) Source(74, 62) + SourceIndex(0) -19>Emitted(52, 77) Source(74, 63) + SourceIndex(0) -20>Emitted(52, 79) Source(74, 65) + SourceIndex(0) -21>Emitted(52, 80) Source(74, 66) + SourceIndex(0) -22>Emitted(52, 82) Source(74, 68) + SourceIndex(0) -23>Emitted(52, 84) Source(74, 70) + SourceIndex(0) -24>Emitted(52, 85) Source(74, 71) + SourceIndex(0) +5 >Emitted(52, 21) Source(74, 49) + SourceIndex(0) +6 >Emitted(52, 23) Source(74, 8) + SourceIndex(0) +7 >Emitted(52, 38) Source(74, 19) + SourceIndex(0) +8 >Emitted(52, 40) Source(74, 21) + SourceIndex(0) +9 >Emitted(52, 57) Source(74, 34) + SourceIndex(0) +10>Emitted(52, 63) Source(74, 51) + SourceIndex(0) +11>Emitted(52, 64) Source(74, 52) + SourceIndex(0) +12>Emitted(52, 67) Source(74, 55) + SourceIndex(0) +13>Emitted(52, 68) Source(74, 56) + SourceIndex(0) +14>Emitted(52, 70) Source(74, 58) + SourceIndex(0) +15>Emitted(52, 71) Source(74, 59) + SourceIndex(0) +16>Emitted(52, 74) Source(74, 62) + SourceIndex(0) +17>Emitted(52, 75) Source(74, 63) + SourceIndex(0) +18>Emitted(52, 77) Source(74, 65) + SourceIndex(0) +19>Emitted(52, 78) Source(74, 66) + SourceIndex(0) +20>Emitted(52, 80) Source(74, 68) + SourceIndex(0) +21>Emitted(52, 82) Source(74, 70) + SourceIndex(0) +22>Emitted(52, 83) Source(74, 71) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1858,87 +1774,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(54, 1) Source(76, 1) + SourceIndex(0) 2 >Emitted(54, 2) Source(76, 2) + SourceIndex(0) --- ->>>for ((_r = { name: "trimmer", skill: "trimming" }, nameA = _r.name, skillA = _r.skill, _r), i = 0; i < 1; i++) { +>>>for (_r = { name: "trimmer", skill: "trimming" }, nameA = _r.name, skillA = _r.skill, _r, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" } -7 > -8 > name: nameA -9 > , -10> skill: skillA -11> } = { name: "trimmer", skill: "trimming" } -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" } +6 > +7 > name: nameA +8 > , +9 > skill: skillA +10> } = { name: "trimmer", skill: "trimming" }, +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(55, 1) Source(77, 1) + SourceIndex(0) 2 >Emitted(55, 4) Source(77, 4) + SourceIndex(0) 3 >Emitted(55, 5) Source(77, 5) + SourceIndex(0) 4 >Emitted(55, 6) Source(77, 6) + SourceIndex(0) -5 >Emitted(55, 7) Source(77, 6) + SourceIndex(0) -6 >Emitted(55, 50) Source(77, 84) + SourceIndex(0) -7 >Emitted(55, 52) Source(77, 8) + SourceIndex(0) -8 >Emitted(55, 67) Source(77, 19) + SourceIndex(0) -9 >Emitted(55, 69) Source(77, 21) + SourceIndex(0) -10>Emitted(55, 86) Source(77, 34) + SourceIndex(0) -11>Emitted(55, 91) Source(77, 84) + SourceIndex(0) -12>Emitted(55, 93) Source(77, 86) + SourceIndex(0) -13>Emitted(55, 94) Source(77, 87) + SourceIndex(0) -14>Emitted(55, 97) Source(77, 90) + SourceIndex(0) -15>Emitted(55, 98) Source(77, 91) + SourceIndex(0) -16>Emitted(55, 100) Source(77, 93) + SourceIndex(0) -17>Emitted(55, 101) Source(77, 94) + SourceIndex(0) -18>Emitted(55, 104) Source(77, 97) + SourceIndex(0) -19>Emitted(55, 105) Source(77, 98) + SourceIndex(0) -20>Emitted(55, 107) Source(77, 100) + SourceIndex(0) -21>Emitted(55, 108) Source(77, 101) + SourceIndex(0) -22>Emitted(55, 110) Source(77, 103) + SourceIndex(0) -23>Emitted(55, 112) Source(77, 105) + SourceIndex(0) -24>Emitted(55, 113) Source(77, 106) + SourceIndex(0) +5 >Emitted(55, 49) Source(77, 84) + SourceIndex(0) +6 >Emitted(55, 51) Source(77, 8) + SourceIndex(0) +7 >Emitted(55, 66) Source(77, 19) + SourceIndex(0) +8 >Emitted(55, 68) Source(77, 21) + SourceIndex(0) +9 >Emitted(55, 85) Source(77, 34) + SourceIndex(0) +10>Emitted(55, 91) Source(77, 86) + SourceIndex(0) +11>Emitted(55, 92) Source(77, 87) + SourceIndex(0) +12>Emitted(55, 95) Source(77, 90) + SourceIndex(0) +13>Emitted(55, 96) Source(77, 91) + SourceIndex(0) +14>Emitted(55, 98) Source(77, 93) + SourceIndex(0) +15>Emitted(55, 99) Source(77, 94) + SourceIndex(0) +16>Emitted(55, 102) Source(77, 97) + SourceIndex(0) +17>Emitted(55, 103) Source(77, 98) + SourceIndex(0) +18>Emitted(55, 105) Source(77, 100) + SourceIndex(0) +19>Emitted(55, 106) Source(77, 101) + SourceIndex(0) +20>Emitted(55, 108) Source(77, 103) + SourceIndex(0) +21>Emitted(55, 110) Source(77, 105) + SourceIndex(0) +22>Emitted(55, 111) Source(77, 106) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1970,99 +1880,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(57, 1) Source(79, 1) + SourceIndex(0) 2 >Emitted(57, 2) Source(79, 2) + SourceIndex(0) --- ->>>for ((nameA = multiRobot.name, _s = multiRobot.skills, primaryA = _s.primary, secondaryA = _s.secondary, multiRobot), i = 0; i < 1; i++) { +>>>for (nameA = multiRobot.name, _s = multiRobot.skills, primaryA = _s.primary, secondaryA = _s.secondary, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > name: nameA -7 > , -8 > skills: { primary: primaryA, secondary: secondaryA } -9 > -10> primary: primaryA -11> , -12> secondary: secondaryA -13> } } = -14> multiRobot -15> -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +4 > ({ +5 > name: nameA +6 > , +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA +12> } } = +13> multiRobot +14> , +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(58, 1) Source(80, 1) + SourceIndex(0) 2 >Emitted(58, 4) Source(80, 4) + SourceIndex(0) 3 >Emitted(58, 5) Source(80, 5) + SourceIndex(0) -4 >Emitted(58, 6) Source(80, 6) + SourceIndex(0) -5 >Emitted(58, 7) Source(80, 8) + SourceIndex(0) -6 >Emitted(58, 30) Source(80, 19) + SourceIndex(0) -7 >Emitted(58, 32) Source(80, 21) + SourceIndex(0) -8 >Emitted(58, 54) Source(80, 73) + SourceIndex(0) -9 >Emitted(58, 56) Source(80, 31) + SourceIndex(0) -10>Emitted(58, 77) Source(80, 48) + SourceIndex(0) -11>Emitted(58, 79) Source(80, 50) + SourceIndex(0) -12>Emitted(58, 104) Source(80, 71) + SourceIndex(0) -13>Emitted(58, 106) Source(80, 78) + SourceIndex(0) -14>Emitted(58, 116) Source(80, 88) + SourceIndex(0) -15>Emitted(58, 117) Source(80, 88) + SourceIndex(0) -16>Emitted(58, 119) Source(80, 90) + SourceIndex(0) -17>Emitted(58, 120) Source(80, 91) + SourceIndex(0) -18>Emitted(58, 123) Source(80, 94) + SourceIndex(0) -19>Emitted(58, 124) Source(80, 95) + SourceIndex(0) -20>Emitted(58, 126) Source(80, 97) + SourceIndex(0) -21>Emitted(58, 127) Source(80, 98) + SourceIndex(0) -22>Emitted(58, 130) Source(80, 101) + SourceIndex(0) -23>Emitted(58, 131) Source(80, 102) + SourceIndex(0) -24>Emitted(58, 133) Source(80, 104) + SourceIndex(0) -25>Emitted(58, 134) Source(80, 105) + SourceIndex(0) -26>Emitted(58, 136) Source(80, 107) + SourceIndex(0) -27>Emitted(58, 138) Source(80, 109) + SourceIndex(0) -28>Emitted(58, 139) Source(80, 110) + SourceIndex(0) +4 >Emitted(58, 6) Source(80, 8) + SourceIndex(0) +5 >Emitted(58, 29) Source(80, 19) + SourceIndex(0) +6 >Emitted(58, 31) Source(80, 21) + SourceIndex(0) +7 >Emitted(58, 53) Source(80, 73) + SourceIndex(0) +8 >Emitted(58, 55) Source(80, 31) + SourceIndex(0) +9 >Emitted(58, 76) Source(80, 48) + SourceIndex(0) +10>Emitted(58, 78) Source(80, 50) + SourceIndex(0) +11>Emitted(58, 103) Source(80, 71) + SourceIndex(0) +12>Emitted(58, 105) Source(80, 78) + SourceIndex(0) +13>Emitted(58, 115) Source(80, 88) + SourceIndex(0) +14>Emitted(58, 117) Source(80, 90) + SourceIndex(0) +15>Emitted(58, 118) Source(80, 91) + SourceIndex(0) +16>Emitted(58, 121) Source(80, 94) + SourceIndex(0) +17>Emitted(58, 122) Source(80, 95) + SourceIndex(0) +18>Emitted(58, 124) Source(80, 97) + SourceIndex(0) +19>Emitted(58, 125) Source(80, 98) + SourceIndex(0) +20>Emitted(58, 128) Source(80, 101) + SourceIndex(0) +21>Emitted(58, 129) Source(80, 102) + SourceIndex(0) +22>Emitted(58, 131) Source(80, 104) + SourceIndex(0) +23>Emitted(58, 132) Source(80, 105) + SourceIndex(0) +24>Emitted(58, 134) Source(80, 107) + SourceIndex(0) +25>Emitted(58, 136) Source(80, 109) + SourceIndex(0) +26>Emitted(58, 137) Source(80, 110) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2094,99 +1998,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(60, 1) Source(82, 1) + SourceIndex(0) 2 >Emitted(60, 2) Source(82, 2) + SourceIndex(0) --- ->>>for ((_t = getMultiRobot(), nameA = _t.name, _u = _t.skills, primaryA = _u.primary, secondaryA = _u.secondary, _t), i = 0; i < 1; i++) { +>>>for (_t = getMultiRobot(), nameA = _t.name, _u = _t.skills, primaryA = _u.primary, secondaryA = _u.secondary, _t, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() -7 > -8 > name: nameA -9 > , -10> skills: { primary: primaryA, secondary: secondaryA } -11> -12> primary: primaryA -13> , -14> secondary: secondaryA -15> } } = getMultiRobot() -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > { name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() +6 > +7 > name: nameA +8 > , +9 > skills: { primary: primaryA, secondary: secondaryA } +10> +11> primary: primaryA +12> , +13> secondary: secondaryA +14> } } = getMultiRobot(), +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(61, 1) Source(83, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(83, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(83, 5) + SourceIndex(0) 4 >Emitted(61, 6) Source(83, 6) + SourceIndex(0) -5 >Emitted(61, 7) Source(83, 6) + SourceIndex(0) -6 >Emitted(61, 27) Source(83, 93) + SourceIndex(0) -7 >Emitted(61, 29) Source(83, 8) + SourceIndex(0) -8 >Emitted(61, 44) Source(83, 19) + SourceIndex(0) -9 >Emitted(61, 46) Source(83, 21) + SourceIndex(0) -10>Emitted(61, 60) Source(83, 73) + SourceIndex(0) -11>Emitted(61, 62) Source(83, 31) + SourceIndex(0) -12>Emitted(61, 83) Source(83, 48) + SourceIndex(0) -13>Emitted(61, 85) Source(83, 50) + SourceIndex(0) -14>Emitted(61, 110) Source(83, 71) + SourceIndex(0) -15>Emitted(61, 115) Source(83, 93) + SourceIndex(0) -16>Emitted(61, 117) Source(83, 95) + SourceIndex(0) -17>Emitted(61, 118) Source(83, 96) + SourceIndex(0) -18>Emitted(61, 121) Source(83, 99) + SourceIndex(0) -19>Emitted(61, 122) Source(83, 100) + SourceIndex(0) -20>Emitted(61, 124) Source(83, 102) + SourceIndex(0) -21>Emitted(61, 125) Source(83, 103) + SourceIndex(0) -22>Emitted(61, 128) Source(83, 106) + SourceIndex(0) -23>Emitted(61, 129) Source(83, 107) + SourceIndex(0) -24>Emitted(61, 131) Source(83, 109) + SourceIndex(0) -25>Emitted(61, 132) Source(83, 110) + SourceIndex(0) -26>Emitted(61, 134) Source(83, 112) + SourceIndex(0) -27>Emitted(61, 136) Source(83, 114) + SourceIndex(0) -28>Emitted(61, 137) Source(83, 115) + SourceIndex(0) +5 >Emitted(61, 26) Source(83, 93) + SourceIndex(0) +6 >Emitted(61, 28) Source(83, 8) + SourceIndex(0) +7 >Emitted(61, 43) Source(83, 19) + SourceIndex(0) +8 >Emitted(61, 45) Source(83, 21) + SourceIndex(0) +9 >Emitted(61, 59) Source(83, 73) + SourceIndex(0) +10>Emitted(61, 61) Source(83, 31) + SourceIndex(0) +11>Emitted(61, 82) Source(83, 48) + SourceIndex(0) +12>Emitted(61, 84) Source(83, 50) + SourceIndex(0) +13>Emitted(61, 109) Source(83, 71) + SourceIndex(0) +14>Emitted(61, 115) Source(83, 95) + SourceIndex(0) +15>Emitted(61, 116) Source(83, 96) + SourceIndex(0) +16>Emitted(61, 119) Source(83, 99) + SourceIndex(0) +17>Emitted(61, 120) Source(83, 100) + SourceIndex(0) +18>Emitted(61, 122) Source(83, 102) + SourceIndex(0) +19>Emitted(61, 123) Source(83, 103) + SourceIndex(0) +20>Emitted(61, 126) Source(83, 106) + SourceIndex(0) +21>Emitted(61, 127) Source(83, 107) + SourceIndex(0) +22>Emitted(61, 129) Source(83, 109) + SourceIndex(0) +23>Emitted(61, 130) Source(83, 110) + SourceIndex(0) +24>Emitted(61, 132) Source(83, 112) + SourceIndex(0) +25>Emitted(61, 134) Source(83, 114) + SourceIndex(0) +26>Emitted(61, 135) Source(83, 115) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2218,62 +2116,55 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(63, 1) Source(85, 1) + SourceIndex(0) 2 >Emitted(63, 2) Source(85, 2) + SourceIndex(0) --- ->>>for ((_v = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, nameA = _v.name, _w = _v.skills, primaryA = _w.primary, secondaryA = _w.secondary, _v), +>>>for (_v = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, nameA = _v.name, _w = _v.skills, primaryA = _w.primary, secondaryA = _w.secondary, _v, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > name: nameA -9 > , -10> skills: { primary: primaryA, secondary: secondaryA } -11> -12> primary: primaryA -13> , -14> secondary: secondaryA -15> } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > name: nameA +8 > , +9 > skills: { primary: primaryA, secondary: secondaryA } +10> +11> primary: primaryA +12> , +13> secondary: secondaryA 1->Emitted(64, 1) Source(86, 1) + SourceIndex(0) 2 >Emitted(64, 4) Source(86, 4) + SourceIndex(0) 3 >Emitted(64, 5) Source(86, 5) + SourceIndex(0) 4 >Emitted(64, 6) Source(86, 6) + SourceIndex(0) -5 >Emitted(64, 7) Source(86, 6) + SourceIndex(0) -6 >Emitted(64, 85) Source(87, 90) + SourceIndex(0) -7 >Emitted(64, 87) Source(86, 8) + SourceIndex(0) -8 >Emitted(64, 102) Source(86, 19) + SourceIndex(0) -9 >Emitted(64, 104) Source(86, 21) + SourceIndex(0) -10>Emitted(64, 118) Source(86, 73) + SourceIndex(0) -11>Emitted(64, 120) Source(86, 31) + SourceIndex(0) -12>Emitted(64, 141) Source(86, 48) + SourceIndex(0) -13>Emitted(64, 143) Source(86, 50) + SourceIndex(0) -14>Emitted(64, 168) Source(86, 71) + SourceIndex(0) -15>Emitted(64, 173) Source(87, 90) + SourceIndex(0) +5 >Emitted(64, 84) Source(87, 90) + SourceIndex(0) +6 >Emitted(64, 86) Source(86, 8) + SourceIndex(0) +7 >Emitted(64, 101) Source(86, 19) + SourceIndex(0) +8 >Emitted(64, 103) Source(86, 21) + SourceIndex(0) +9 >Emitted(64, 117) Source(86, 73) + SourceIndex(0) +10>Emitted(64, 119) Source(86, 31) + SourceIndex(0) +11>Emitted(64, 140) Source(86, 48) + SourceIndex(0) +12>Emitted(64, 142) Source(86, 50) + SourceIndex(0) +13>Emitted(64, 167) Source(86, 71) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -2290,7 +2181,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -2348,87 +2240,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(67, 1) Source(90, 1) + SourceIndex(0) 2 >Emitted(67, 2) Source(90, 2) + SourceIndex(0) --- ->>>for ((name = robot.name, skill = robot.skill, robot), i = 0; i < 1; i++) { +>>>for (name = robot.name, skill = robot.skill, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > name -7 > , -8 > skill -9 > } = -10> robot -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ({ +5 > name +6 > , +7 > skill +8 > } = +9 > robot +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(68, 1) Source(91, 1) + SourceIndex(0) 2 >Emitted(68, 4) Source(91, 4) + SourceIndex(0) 3 >Emitted(68, 5) Source(91, 5) + SourceIndex(0) -4 >Emitted(68, 6) Source(91, 6) + SourceIndex(0) -5 >Emitted(68, 7) Source(91, 8) + SourceIndex(0) -6 >Emitted(68, 24) Source(91, 12) + SourceIndex(0) -7 >Emitted(68, 26) Source(91, 14) + SourceIndex(0) -8 >Emitted(68, 45) Source(91, 19) + SourceIndex(0) -9 >Emitted(68, 47) Source(91, 24) + SourceIndex(0) -10>Emitted(68, 52) Source(91, 29) + SourceIndex(0) -11>Emitted(68, 53) Source(91, 29) + SourceIndex(0) -12>Emitted(68, 55) Source(91, 31) + SourceIndex(0) -13>Emitted(68, 56) Source(91, 32) + SourceIndex(0) -14>Emitted(68, 59) Source(91, 35) + SourceIndex(0) -15>Emitted(68, 60) Source(91, 36) + SourceIndex(0) -16>Emitted(68, 62) Source(91, 38) + SourceIndex(0) -17>Emitted(68, 63) Source(91, 39) + SourceIndex(0) -18>Emitted(68, 66) Source(91, 42) + SourceIndex(0) -19>Emitted(68, 67) Source(91, 43) + SourceIndex(0) -20>Emitted(68, 69) Source(91, 45) + SourceIndex(0) -21>Emitted(68, 70) Source(91, 46) + SourceIndex(0) -22>Emitted(68, 72) Source(91, 48) + SourceIndex(0) -23>Emitted(68, 74) Source(91, 50) + SourceIndex(0) -24>Emitted(68, 75) Source(91, 51) + SourceIndex(0) +4 >Emitted(68, 6) Source(91, 8) + SourceIndex(0) +5 >Emitted(68, 23) Source(91, 12) + SourceIndex(0) +6 >Emitted(68, 25) Source(91, 14) + SourceIndex(0) +7 >Emitted(68, 44) Source(91, 19) + SourceIndex(0) +8 >Emitted(68, 46) Source(91, 24) + SourceIndex(0) +9 >Emitted(68, 51) Source(91, 29) + SourceIndex(0) +10>Emitted(68, 53) Source(91, 31) + SourceIndex(0) +11>Emitted(68, 54) Source(91, 32) + SourceIndex(0) +12>Emitted(68, 57) Source(91, 35) + SourceIndex(0) +13>Emitted(68, 58) Source(91, 36) + SourceIndex(0) +14>Emitted(68, 60) Source(91, 38) + SourceIndex(0) +15>Emitted(68, 61) Source(91, 39) + SourceIndex(0) +16>Emitted(68, 64) Source(91, 42) + SourceIndex(0) +17>Emitted(68, 65) Source(91, 43) + SourceIndex(0) +18>Emitted(68, 67) Source(91, 45) + SourceIndex(0) +19>Emitted(68, 68) Source(91, 46) + SourceIndex(0) +20>Emitted(68, 70) Source(91, 48) + SourceIndex(0) +21>Emitted(68, 72) Source(91, 50) + SourceIndex(0) +22>Emitted(68, 73) Source(91, 51) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2460,87 +2346,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(70, 1) Source(93, 1) + SourceIndex(0) 2 >Emitted(70, 2) Source(93, 2) + SourceIndex(0) --- ->>>for ((_x = getRobot(), name = _x.name, skill = _x.skill, _x), i = 0; i < 1; i++) { +>>>for (_x = getRobot(), name = _x.name, skill = _x.skill, _x, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name, skill } = getRobot() -7 > -8 > name -9 > , -10> skill -11> } = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name, skill } = getRobot() +6 > +7 > name +8 > , +9 > skill +10> } = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(71, 1) Source(94, 1) + SourceIndex(0) 2 >Emitted(71, 4) Source(94, 4) + SourceIndex(0) 3 >Emitted(71, 5) Source(94, 5) + SourceIndex(0) 4 >Emitted(71, 6) Source(94, 6) + SourceIndex(0) -5 >Emitted(71, 7) Source(94, 6) + SourceIndex(0) -6 >Emitted(71, 22) Source(94, 34) + SourceIndex(0) -7 >Emitted(71, 24) Source(94, 8) + SourceIndex(0) -8 >Emitted(71, 38) Source(94, 12) + SourceIndex(0) -9 >Emitted(71, 40) Source(94, 14) + SourceIndex(0) -10>Emitted(71, 56) Source(94, 19) + SourceIndex(0) -11>Emitted(71, 61) Source(94, 34) + SourceIndex(0) -12>Emitted(71, 63) Source(94, 36) + SourceIndex(0) -13>Emitted(71, 64) Source(94, 37) + SourceIndex(0) -14>Emitted(71, 67) Source(94, 40) + SourceIndex(0) -15>Emitted(71, 68) Source(94, 41) + SourceIndex(0) -16>Emitted(71, 70) Source(94, 43) + SourceIndex(0) -17>Emitted(71, 71) Source(94, 44) + SourceIndex(0) -18>Emitted(71, 74) Source(94, 47) + SourceIndex(0) -19>Emitted(71, 75) Source(94, 48) + SourceIndex(0) -20>Emitted(71, 77) Source(94, 50) + SourceIndex(0) -21>Emitted(71, 78) Source(94, 51) + SourceIndex(0) -22>Emitted(71, 80) Source(94, 53) + SourceIndex(0) -23>Emitted(71, 82) Source(94, 55) + SourceIndex(0) -24>Emitted(71, 83) Source(94, 56) + SourceIndex(0) +5 >Emitted(71, 21) Source(94, 34) + SourceIndex(0) +6 >Emitted(71, 23) Source(94, 8) + SourceIndex(0) +7 >Emitted(71, 37) Source(94, 12) + SourceIndex(0) +8 >Emitted(71, 39) Source(94, 14) + SourceIndex(0) +9 >Emitted(71, 55) Source(94, 19) + SourceIndex(0) +10>Emitted(71, 61) Source(94, 36) + SourceIndex(0) +11>Emitted(71, 62) Source(94, 37) + SourceIndex(0) +12>Emitted(71, 65) Source(94, 40) + SourceIndex(0) +13>Emitted(71, 66) Source(94, 41) + SourceIndex(0) +14>Emitted(71, 68) Source(94, 43) + SourceIndex(0) +15>Emitted(71, 69) Source(94, 44) + SourceIndex(0) +16>Emitted(71, 72) Source(94, 47) + SourceIndex(0) +17>Emitted(71, 73) Source(94, 48) + SourceIndex(0) +18>Emitted(71, 75) Source(94, 50) + SourceIndex(0) +19>Emitted(71, 76) Source(94, 51) + SourceIndex(0) +20>Emitted(71, 78) Source(94, 53) + SourceIndex(0) +21>Emitted(71, 80) Source(94, 55) + SourceIndex(0) +22>Emitted(71, 81) Source(94, 56) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2572,87 +2452,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(73, 1) Source(96, 1) + SourceIndex(0) 2 >Emitted(73, 2) Source(96, 2) + SourceIndex(0) --- ->>>for ((_y = { name: "trimmer", skill: "trimming" }, name = _y.name, skill = _y.skill, _y), i = 0; i < 1; i++) { +>>>for (_y = { name: "trimmer", skill: "trimming" }, name = _y.name, skill = _y.skill, _y, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name, skill } = { name: "trimmer", skill: "trimming" } -7 > -8 > name -9 > , -10> skill -11> } = { name: "trimmer", skill: "trimming" } -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name, skill } = { name: "trimmer", skill: "trimming" } +6 > +7 > name +8 > , +9 > skill +10> } = { name: "trimmer", skill: "trimming" }, +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(74, 1) Source(97, 1) + SourceIndex(0) 2 >Emitted(74, 4) Source(97, 4) + SourceIndex(0) 3 >Emitted(74, 5) Source(97, 5) + SourceIndex(0) 4 >Emitted(74, 6) Source(97, 6) + SourceIndex(0) -5 >Emitted(74, 7) Source(97, 6) + SourceIndex(0) -6 >Emitted(74, 50) Source(97, 69) + SourceIndex(0) -7 >Emitted(74, 52) Source(97, 8) + SourceIndex(0) -8 >Emitted(74, 66) Source(97, 12) + SourceIndex(0) -9 >Emitted(74, 68) Source(97, 14) + SourceIndex(0) -10>Emitted(74, 84) Source(97, 19) + SourceIndex(0) -11>Emitted(74, 89) Source(97, 69) + SourceIndex(0) -12>Emitted(74, 91) Source(97, 71) + SourceIndex(0) -13>Emitted(74, 92) Source(97, 72) + SourceIndex(0) -14>Emitted(74, 95) Source(97, 75) + SourceIndex(0) -15>Emitted(74, 96) Source(97, 76) + SourceIndex(0) -16>Emitted(74, 98) Source(97, 78) + SourceIndex(0) -17>Emitted(74, 99) Source(97, 79) + SourceIndex(0) -18>Emitted(74, 102) Source(97, 82) + SourceIndex(0) -19>Emitted(74, 103) Source(97, 83) + SourceIndex(0) -20>Emitted(74, 105) Source(97, 85) + SourceIndex(0) -21>Emitted(74, 106) Source(97, 86) + SourceIndex(0) -22>Emitted(74, 108) Source(97, 88) + SourceIndex(0) -23>Emitted(74, 110) Source(97, 90) + SourceIndex(0) -24>Emitted(74, 111) Source(97, 91) + SourceIndex(0) +5 >Emitted(74, 49) Source(97, 69) + SourceIndex(0) +6 >Emitted(74, 51) Source(97, 8) + SourceIndex(0) +7 >Emitted(74, 65) Source(97, 12) + SourceIndex(0) +8 >Emitted(74, 67) Source(97, 14) + SourceIndex(0) +9 >Emitted(74, 83) Source(97, 19) + SourceIndex(0) +10>Emitted(74, 89) Source(97, 71) + SourceIndex(0) +11>Emitted(74, 90) Source(97, 72) + SourceIndex(0) +12>Emitted(74, 93) Source(97, 75) + SourceIndex(0) +13>Emitted(74, 94) Source(97, 76) + SourceIndex(0) +14>Emitted(74, 96) Source(97, 78) + SourceIndex(0) +15>Emitted(74, 97) Source(97, 79) + SourceIndex(0) +16>Emitted(74, 100) Source(97, 82) + SourceIndex(0) +17>Emitted(74, 101) Source(97, 83) + SourceIndex(0) +18>Emitted(74, 103) Source(97, 85) + SourceIndex(0) +19>Emitted(74, 104) Source(97, 86) + SourceIndex(0) +20>Emitted(74, 106) Source(97, 88) + SourceIndex(0) +21>Emitted(74, 108) Source(97, 90) + SourceIndex(0) +22>Emitted(74, 109) Source(97, 91) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2684,99 +2558,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(76, 1) Source(99, 1) + SourceIndex(0) 2 >Emitted(76, 2) Source(99, 2) + SourceIndex(0) --- ->>>for ((name = multiRobot.name, _z = multiRobot.skills, primary = _z.primary, secondary = _z.secondary, multiRobot), i = 0; i < 1; i++) { +>>>for (name = multiRobot.name, _z = multiRobot.skills, primary = _z.primary, secondary = _z.secondary, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > -4 > ( -5 > { -6 > name -7 > , -8 > skills: { primary, secondary } -9 > -10> primary -11> , -12> secondary -13> } } = -14> multiRobot -15> -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +4 > ({ +5 > name +6 > , +7 > skills: { primary, secondary } +8 > +9 > primary +10> , +11> secondary +12> } } = +13> multiRobot +14> , +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(77, 1) Source(100, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(100, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(100, 5) + SourceIndex(0) -4 >Emitted(77, 6) Source(100, 6) + SourceIndex(0) -5 >Emitted(77, 7) Source(100, 8) + SourceIndex(0) -6 >Emitted(77, 29) Source(100, 12) + SourceIndex(0) -7 >Emitted(77, 31) Source(100, 14) + SourceIndex(0) -8 >Emitted(77, 53) Source(100, 44) + SourceIndex(0) -9 >Emitted(77, 55) Source(100, 24) + SourceIndex(0) -10>Emitted(77, 75) Source(100, 31) + SourceIndex(0) -11>Emitted(77, 77) Source(100, 33) + SourceIndex(0) -12>Emitted(77, 101) Source(100, 42) + SourceIndex(0) -13>Emitted(77, 103) Source(100, 49) + SourceIndex(0) -14>Emitted(77, 113) Source(100, 59) + SourceIndex(0) -15>Emitted(77, 114) Source(100, 59) + SourceIndex(0) -16>Emitted(77, 116) Source(100, 61) + SourceIndex(0) -17>Emitted(77, 117) Source(100, 62) + SourceIndex(0) -18>Emitted(77, 120) Source(100, 65) + SourceIndex(0) -19>Emitted(77, 121) Source(100, 66) + SourceIndex(0) -20>Emitted(77, 123) Source(100, 68) + SourceIndex(0) -21>Emitted(77, 124) Source(100, 69) + SourceIndex(0) -22>Emitted(77, 127) Source(100, 72) + SourceIndex(0) -23>Emitted(77, 128) Source(100, 73) + SourceIndex(0) -24>Emitted(77, 130) Source(100, 75) + SourceIndex(0) -25>Emitted(77, 131) Source(100, 76) + SourceIndex(0) -26>Emitted(77, 133) Source(100, 78) + SourceIndex(0) -27>Emitted(77, 135) Source(100, 80) + SourceIndex(0) -28>Emitted(77, 136) Source(100, 81) + SourceIndex(0) +4 >Emitted(77, 6) Source(100, 8) + SourceIndex(0) +5 >Emitted(77, 28) Source(100, 12) + SourceIndex(0) +6 >Emitted(77, 30) Source(100, 14) + SourceIndex(0) +7 >Emitted(77, 52) Source(100, 44) + SourceIndex(0) +8 >Emitted(77, 54) Source(100, 24) + SourceIndex(0) +9 >Emitted(77, 74) Source(100, 31) + SourceIndex(0) +10>Emitted(77, 76) Source(100, 33) + SourceIndex(0) +11>Emitted(77, 100) Source(100, 42) + SourceIndex(0) +12>Emitted(77, 102) Source(100, 49) + SourceIndex(0) +13>Emitted(77, 112) Source(100, 59) + SourceIndex(0) +14>Emitted(77, 114) Source(100, 61) + SourceIndex(0) +15>Emitted(77, 115) Source(100, 62) + SourceIndex(0) +16>Emitted(77, 118) Source(100, 65) + SourceIndex(0) +17>Emitted(77, 119) Source(100, 66) + SourceIndex(0) +18>Emitted(77, 121) Source(100, 68) + SourceIndex(0) +19>Emitted(77, 122) Source(100, 69) + SourceIndex(0) +20>Emitted(77, 125) Source(100, 72) + SourceIndex(0) +21>Emitted(77, 126) Source(100, 73) + SourceIndex(0) +22>Emitted(77, 128) Source(100, 75) + SourceIndex(0) +23>Emitted(77, 129) Source(100, 76) + SourceIndex(0) +24>Emitted(77, 131) Source(100, 78) + SourceIndex(0) +25>Emitted(77, 133) Source(100, 80) + SourceIndex(0) +26>Emitted(77, 134) Source(100, 81) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2808,99 +2676,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(79, 1) Source(102, 1) + SourceIndex(0) 2 >Emitted(79, 2) Source(102, 2) + SourceIndex(0) --- ->>>for ((_0 = getMultiRobot(), name = _0.name, _1 = _0.skills, primary = _1.primary, secondary = _1.secondary, _0), i = 0; i < 1; i++) { +>>>for (_0 = getMultiRobot(), name = _0.name, _1 = _0.skills, primary = _1.primary, secondary = _1.secondary, _0, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name, skills: { primary, secondary } } = getMultiRobot() -7 > -8 > name -9 > , -10> skills: { primary, secondary } -11> -12> primary -13> , -14> secondary -15> } } = getMultiRobot() -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > { name, skills: { primary, secondary } } = getMultiRobot() +6 > +7 > name +8 > , +9 > skills: { primary, secondary } +10> +11> primary +12> , +13> secondary +14> } } = getMultiRobot(), +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(80, 1) Source(103, 1) + SourceIndex(0) 2 >Emitted(80, 4) Source(103, 4) + SourceIndex(0) 3 >Emitted(80, 5) Source(103, 5) + SourceIndex(0) 4 >Emitted(80, 6) Source(103, 6) + SourceIndex(0) -5 >Emitted(80, 7) Source(103, 6) + SourceIndex(0) -6 >Emitted(80, 27) Source(103, 64) + SourceIndex(0) -7 >Emitted(80, 29) Source(103, 8) + SourceIndex(0) -8 >Emitted(80, 43) Source(103, 12) + SourceIndex(0) -9 >Emitted(80, 45) Source(103, 14) + SourceIndex(0) -10>Emitted(80, 59) Source(103, 44) + SourceIndex(0) -11>Emitted(80, 61) Source(103, 24) + SourceIndex(0) -12>Emitted(80, 81) Source(103, 31) + SourceIndex(0) -13>Emitted(80, 83) Source(103, 33) + SourceIndex(0) -14>Emitted(80, 107) Source(103, 42) + SourceIndex(0) -15>Emitted(80, 112) Source(103, 64) + SourceIndex(0) -16>Emitted(80, 114) Source(103, 66) + SourceIndex(0) -17>Emitted(80, 115) Source(103, 67) + SourceIndex(0) -18>Emitted(80, 118) Source(103, 70) + SourceIndex(0) -19>Emitted(80, 119) Source(103, 71) + SourceIndex(0) -20>Emitted(80, 121) Source(103, 73) + SourceIndex(0) -21>Emitted(80, 122) Source(103, 74) + SourceIndex(0) -22>Emitted(80, 125) Source(103, 77) + SourceIndex(0) -23>Emitted(80, 126) Source(103, 78) + SourceIndex(0) -24>Emitted(80, 128) Source(103, 80) + SourceIndex(0) -25>Emitted(80, 129) Source(103, 81) + SourceIndex(0) -26>Emitted(80, 131) Source(103, 83) + SourceIndex(0) -27>Emitted(80, 133) Source(103, 85) + SourceIndex(0) -28>Emitted(80, 134) Source(103, 86) + SourceIndex(0) +5 >Emitted(80, 26) Source(103, 64) + SourceIndex(0) +6 >Emitted(80, 28) Source(103, 8) + SourceIndex(0) +7 >Emitted(80, 42) Source(103, 12) + SourceIndex(0) +8 >Emitted(80, 44) Source(103, 14) + SourceIndex(0) +9 >Emitted(80, 58) Source(103, 44) + SourceIndex(0) +10>Emitted(80, 60) Source(103, 24) + SourceIndex(0) +11>Emitted(80, 80) Source(103, 31) + SourceIndex(0) +12>Emitted(80, 82) Source(103, 33) + SourceIndex(0) +13>Emitted(80, 106) Source(103, 42) + SourceIndex(0) +14>Emitted(80, 112) Source(103, 66) + SourceIndex(0) +15>Emitted(80, 113) Source(103, 67) + SourceIndex(0) +16>Emitted(80, 116) Source(103, 70) + SourceIndex(0) +17>Emitted(80, 117) Source(103, 71) + SourceIndex(0) +18>Emitted(80, 119) Source(103, 73) + SourceIndex(0) +19>Emitted(80, 120) Source(103, 74) + SourceIndex(0) +20>Emitted(80, 123) Source(103, 77) + SourceIndex(0) +21>Emitted(80, 124) Source(103, 78) + SourceIndex(0) +22>Emitted(80, 126) Source(103, 80) + SourceIndex(0) +23>Emitted(80, 127) Source(103, 81) + SourceIndex(0) +24>Emitted(80, 129) Source(103, 83) + SourceIndex(0) +25>Emitted(80, 131) Source(103, 85) + SourceIndex(0) +26>Emitted(80, 132) Source(103, 86) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2932,62 +2794,55 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(82, 1) Source(105, 1) + SourceIndex(0) 2 >Emitted(82, 2) Source(105, 2) + SourceIndex(0) --- ->>>for ((_2 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, name = _2.name, _3 = _2.skills, primary = _3.primary, secondary = _3.secondary, _2), +>>>for (_2 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, name = _2.name, _3 = _2.skills, primary = _3.primary, secondary = _3.secondary, _2, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name, skills: { primary, secondary } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > name -9 > , -10> skills: { primary, secondary } -11> -12> primary -13> , -14> secondary -15> } } = - > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { name, skills: { primary, secondary } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > name +8 > , +9 > skills: { primary, secondary } +10> +11> primary +12> , +13> secondary 1->Emitted(83, 1) Source(106, 1) + SourceIndex(0) 2 >Emitted(83, 4) Source(106, 4) + SourceIndex(0) 3 >Emitted(83, 5) Source(106, 5) + SourceIndex(0) 4 >Emitted(83, 6) Source(106, 6) + SourceIndex(0) -5 >Emitted(83, 7) Source(106, 6) + SourceIndex(0) -6 >Emitted(83, 85) Source(107, 90) + SourceIndex(0) -7 >Emitted(83, 87) Source(106, 8) + SourceIndex(0) -8 >Emitted(83, 101) Source(106, 12) + SourceIndex(0) -9 >Emitted(83, 103) Source(106, 14) + SourceIndex(0) -10>Emitted(83, 117) Source(106, 44) + SourceIndex(0) -11>Emitted(83, 119) Source(106, 24) + SourceIndex(0) -12>Emitted(83, 139) Source(106, 31) + SourceIndex(0) -13>Emitted(83, 141) Source(106, 33) + SourceIndex(0) -14>Emitted(83, 165) Source(106, 42) + SourceIndex(0) -15>Emitted(83, 170) Source(107, 90) + SourceIndex(0) +5 >Emitted(83, 84) Source(107, 90) + SourceIndex(0) +6 >Emitted(83, 86) Source(106, 8) + SourceIndex(0) +7 >Emitted(83, 100) Source(106, 12) + SourceIndex(0) +8 >Emitted(83, 102) Source(106, 14) + SourceIndex(0) +9 >Emitted(83, 116) Source(106, 44) + SourceIndex(0) +10>Emitted(83, 118) Source(106, 24) + SourceIndex(0) +11>Emitted(83, 138) Source(106, 31) + SourceIndex(0) +12>Emitted(83, 140) Source(106, 33) + SourceIndex(0) +13>Emitted(83, 164) Source(106, 42) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -3004,7 +2859,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPattern2.ts 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > } } = + > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types index 81beb06d3d7..49ae5c61944 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types @@ -39,22 +39,22 @@ let robot: Robot = { name: "mower", skill: "mowing" }; >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }; >multiRobot : MultiRobot >MultiRobot : MultiRobot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function getRobot() { >getRobot : () => Robot @@ -83,18 +83,18 @@ let name: string, primary: string, secondary: string, skill: string; >skill : string for ({ name: nameA } = robot, i = 0; i < 1; i++) { ->{ name: nameA } = robot, i = 0 : number +>{ name: nameA } = robot, i = 0 : 0 >{ name: nameA } = robot : Robot >{ name: nameA } : { name: string; } >name : string >nameA : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -106,19 +106,19 @@ for ({ name: nameA } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) { ->{ name: nameA } = getRobot(), i = 0 : number +>{ name: nameA } = getRobot(), i = 0 : 0 >{ name: nameA } = getRobot() : Robot >{ name: nameA } : { name: string; } >name : string >nameA : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -130,7 +130,7 @@ for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name: nameA } = { name: "trimmer", skill: "trimming" } : Robot >{ name: nameA } : { name: string; } >name : string @@ -139,15 +139,15 @@ for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -159,7 +159,7 @@ for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < >nameA : string } for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) { ->{ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0 : number +>{ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0 : 0 >{ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot : MultiRobot >{ skills: { primary: primaryA, secondary: secondaryA } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -169,12 +169,12 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = >secondary : string >secondaryA : string >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -186,7 +186,7 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = >primaryA : string } for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) { ->{ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0 : number +>{ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0 : 0 >{ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() : MultiRobot >{ skills: { primary: primaryA, secondary: secondaryA } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -197,12 +197,12 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), >secondaryA : string >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -214,7 +214,7 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), >primaryA : string } for ({ skills: { primary: primaryA, secondary: secondaryA } } = ->{ skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ skills: { primary: primaryA, secondary: secondaryA } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -229,21 +229,21 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -255,17 +255,17 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = >primaryA : string } for ({ name } = robot, i = 0; i < 1; i++) { ->{ name } = robot, i = 0 : number +>{ name } = robot, i = 0 : 0 >{ name } = robot : Robot >{ name } : { name: string; } >name : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -277,18 +277,18 @@ for ({ name } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name } = getRobot(), i = 0; i < 1; i++) { ->{ name } = getRobot(), i = 0 : number +>{ name } = getRobot(), i = 0 : 0 >{ name } = getRobot() : Robot >{ name } : { name: string; } >name : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -300,7 +300,7 @@ for ({ name } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name } = { name: "trimmer", skill: "trimming" } : Robot >{ name } : { name: string; } >name : string @@ -308,15 +308,15 @@ for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++ >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -328,7 +328,7 @@ for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++ >nameA : string } for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { ->{ skills: { primary, secondary } } = multiRobot, i = 0 : number +>{ skills: { primary, secondary } } = multiRobot, i = 0 : 0 >{ skills: { primary, secondary } } = multiRobot : MultiRobot >{ skills: { primary, secondary } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -336,12 +336,12 @@ for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >primary : string >secondary : string >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -353,7 +353,7 @@ for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >primaryA : string } for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { ->{ skills: { primary, secondary } } = getMultiRobot(), i = 0 : number +>{ skills: { primary, secondary } } = getMultiRobot(), i = 0 : 0 >{ skills: { primary, secondary } } = getMultiRobot() : MultiRobot >{ skills: { primary, secondary } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -362,12 +362,12 @@ for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { >secondary : string >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -379,7 +379,7 @@ for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { >primaryA : string } for ({ skills: { primary, secondary } } = ->{ skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ skills: { primary, secondary } } : { skills: { primary: string; secondary: string; }; } >skills : { primary: string; secondary: string; } @@ -392,21 +392,21 @@ for ({ skills: { primary, secondary } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -420,7 +420,7 @@ for ({ skills: { primary, secondary } } = for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { ->{ name: nameA, skill: skillA } = robot, i = 0 : number +>{ name: nameA, skill: skillA } = robot, i = 0 : 0 >{ name: nameA, skill: skillA } = robot : Robot >{ name: nameA, skill: skillA } : { name: string; skill: string; } >name : string @@ -428,12 +428,12 @@ for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >skill : string >skillA : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -445,7 +445,7 @@ for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { ->{ name: nameA, skill: skillA } = getRobot(), i = 0 : number +>{ name: nameA, skill: skillA } = getRobot(), i = 0 : 0 >{ name: nameA, skill: skillA } = getRobot() : Robot >{ name: nameA, skill: skillA } : { name: string; skill: string; } >name : string @@ -454,12 +454,12 @@ for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >skillA : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -471,7 +471,7 @@ for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming" } : Robot >{ name: nameA, skill: skillA } : { name: string; skill: string; } >name : string @@ -482,15 +482,15 @@ for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -502,7 +502,7 @@ for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming >nameA : string } for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) { ->{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0 : number +>{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0 : 0 >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot : MultiRobot >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -514,12 +514,12 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = mul >secondary : string >secondaryA : string >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -531,7 +531,7 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = mul >primaryA : string } for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) { ->{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0 : number +>{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0 : 0 >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot() : MultiRobot >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -544,12 +544,12 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = get >secondaryA : string >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -561,7 +561,7 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = get >primaryA : string } for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = ->{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -578,21 +578,21 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -604,18 +604,18 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >primaryA : string } for ({ name, skill } = robot, i = 0; i < 1; i++) { ->{ name, skill } = robot, i = 0 : number +>{ name, skill } = robot, i = 0 : 0 >{ name, skill } = robot : Robot >{ name, skill } : { name: string; skill: string; } >name : string >skill : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -627,19 +627,19 @@ for ({ name, skill } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name, skill } = getRobot(), i = 0; i < 1; i++) { ->{ name, skill } = getRobot(), i = 0 : number +>{ name, skill } = getRobot(), i = 0 : 0 >{ name, skill } = getRobot() : Robot >{ name, skill } : { name: string; skill: string; } >name : string >skill : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -651,7 +651,7 @@ for ({ name, skill } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name, skill } = { name: "trimmer", skill: "trimming" } : Robot >{ name, skill } : { name: string; skill: string; } >name : string @@ -660,15 +660,15 @@ for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -680,7 +680,7 @@ for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < >nameA : string } for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { ->{ name, skills: { primary, secondary } } = multiRobot, i = 0 : number +>{ name, skills: { primary, secondary } } = multiRobot, i = 0 : 0 >{ name, skills: { primary, secondary } } = multiRobot : MultiRobot >{ name, skills: { primary, secondary } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -689,12 +689,12 @@ for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >primary : string >secondary : string >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -706,7 +706,7 @@ for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >primaryA : string } for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { ->{ name, skills: { primary, secondary } } = getMultiRobot(), i = 0 : number +>{ name, skills: { primary, secondary } } = getMultiRobot(), i = 0 : 0 >{ name, skills: { primary, secondary } } = getMultiRobot() : MultiRobot >{ name, skills: { primary, secondary } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -716,12 +716,12 @@ for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i >secondary : string >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -733,7 +733,7 @@ for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i >primaryA : string } for ({ name, skills: { primary, secondary } } = ->{ name, skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ name, skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ name, skills: { primary, secondary } } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ name, skills: { primary, secondary } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string @@ -747,21 +747,21 @@ for ({ name, skills: { primary, secondary } } = >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js.map index b208c41c9a6..0e96b80e749 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,GAAG,CAAC,CAAM,mBAAqB,EAArB,qCAAqB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,wBAAsB,EAAtB,qCAAsB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,oDAAsB,EAAtB,qCAAsB,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,0BAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAE3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CACA,+BAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CACA,yFAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAM,mBAAsB,EAAtB,qCAAsB,EAAE,gBAAuB,EAAvB,qCAAuB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,eAAmE,EAA9D,YAAsB,EAAtB,qCAAsB,EAAE,aAAuB,EAAvB,qCAAuB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,2CAAsG,EAAjG,YAAsB,EAAtB,qCAAsB,EAAE,aAAuB,EAAvB,qCAAuB,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,wBAAsB,EAAtB,qCAAsB,EACtB,sBAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAE3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,oBAMc,EALf,YAAsB,EAAtB,qCAAsB,EACtB,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,IAAA,+EAMoF,EALrF,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,EAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,eAAqB,EAArB,qCAAqB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,oBAAsB,EAAtB,qCAAsB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAM,IAAA,gDAAsB,EAAtB,qCAAsB,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,IAAA,sBAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAE3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CACA,IAAA,2BAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CACA,IAAA,qFAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAM,IAAA,eAAsB,EAAtB,qCAAsB,EAAE,gBAAuB,EAAvB,qCAAuB,EAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,eAA+D,EAA9D,YAAsB,EAAtB,qCAAsB,EAAE,aAAuB,EAAvB,qCAAuB,EAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,2CAAkG,EAAjG,YAAsB,EAAtB,qCAAsB,EAAE,aAAuB,EAAvB,qCAAuB,EAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,IAAA,oBAAsB,EAAtB,qCAAsB,EACtB,sBAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAE3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,oBAMU,EALf,YAAsB,EAAtB,qCAAsB,EACtB,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAK,IAAA,+EAMgF,EALrF,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,EAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.sourcemap.txt index c8c63e66adf..ebe3dccdad7 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.sourcemap.txt @@ -213,64 +213,67 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > > 2 >for 3 > 4 > (let { -5 > name: nameA= "noName" -6 > -7 > name: nameA= "noName" -8 > } = robot, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > name: nameA= "noName" +7 > +8 > name: nameA= "noName" +9 > } = robot, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(9, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(9, 4) Source(26, 4) + SourceIndex(0) 3 >Emitted(9, 5) Source(26, 5) + SourceIndex(0) 4 >Emitted(9, 6) Source(26, 11) + SourceIndex(0) -5 >Emitted(9, 25) Source(26, 32) + SourceIndex(0) -6 >Emitted(9, 27) Source(26, 11) + SourceIndex(0) -7 >Emitted(9, 64) Source(26, 32) + SourceIndex(0) -8 >Emitted(9, 66) Source(26, 44) + SourceIndex(0) -9 >Emitted(9, 67) Source(26, 45) + SourceIndex(0) -10>Emitted(9, 70) Source(26, 48) + SourceIndex(0) -11>Emitted(9, 71) Source(26, 49) + SourceIndex(0) -12>Emitted(9, 73) Source(26, 51) + SourceIndex(0) -13>Emitted(9, 74) Source(26, 52) + SourceIndex(0) -14>Emitted(9, 77) Source(26, 55) + SourceIndex(0) -15>Emitted(9, 78) Source(26, 56) + SourceIndex(0) -16>Emitted(9, 80) Source(26, 58) + SourceIndex(0) -17>Emitted(9, 81) Source(26, 59) + SourceIndex(0) -18>Emitted(9, 83) Source(26, 61) + SourceIndex(0) -19>Emitted(9, 85) Source(26, 63) + SourceIndex(0) -20>Emitted(9, 86) Source(26, 64) + SourceIndex(0) +5 >Emitted(9, 10) Source(26, 11) + SourceIndex(0) +6 >Emitted(9, 25) Source(26, 32) + SourceIndex(0) +7 >Emitted(9, 27) Source(26, 11) + SourceIndex(0) +8 >Emitted(9, 64) Source(26, 32) + SourceIndex(0) +9 >Emitted(9, 66) Source(26, 44) + SourceIndex(0) +10>Emitted(9, 67) Source(26, 45) + SourceIndex(0) +11>Emitted(9, 70) Source(26, 48) + SourceIndex(0) +12>Emitted(9, 71) Source(26, 49) + SourceIndex(0) +13>Emitted(9, 73) Source(26, 51) + SourceIndex(0) +14>Emitted(9, 74) Source(26, 52) + SourceIndex(0) +15>Emitted(9, 77) Source(26, 55) + SourceIndex(0) +16>Emitted(9, 78) Source(26, 56) + SourceIndex(0) +17>Emitted(9, 80) Source(26, 58) + SourceIndex(0) +18>Emitted(9, 81) Source(26, 59) + SourceIndex(0) +19>Emitted(9, 83) Source(26, 61) + SourceIndex(0) +20>Emitted(9, 85) Source(26, 63) + SourceIndex(0) +21>Emitted(9, 86) Source(26, 64) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -314,63 +317,66 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let { -5 > name: nameA = "noName" -6 > -7 > name: nameA = "noName" -8 > } = getRobot(), -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > name: nameA = "noName" +7 > +8 > name: nameA = "noName" +9 > } = getRobot(), +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(12, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(12, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(12, 5) Source(29, 5) + SourceIndex(0) 4 >Emitted(12, 6) Source(29, 11) + SourceIndex(0) -5 >Emitted(12, 30) Source(29, 33) + SourceIndex(0) -6 >Emitted(12, 32) Source(29, 11) + SourceIndex(0) -7 >Emitted(12, 69) Source(29, 33) + SourceIndex(0) -8 >Emitted(12, 71) Source(29, 50) + SourceIndex(0) -9 >Emitted(12, 72) Source(29, 51) + SourceIndex(0) -10>Emitted(12, 75) Source(29, 54) + SourceIndex(0) -11>Emitted(12, 76) Source(29, 55) + SourceIndex(0) -12>Emitted(12, 78) Source(29, 57) + SourceIndex(0) -13>Emitted(12, 79) Source(29, 58) + SourceIndex(0) -14>Emitted(12, 82) Source(29, 61) + SourceIndex(0) -15>Emitted(12, 83) Source(29, 62) + SourceIndex(0) -16>Emitted(12, 85) Source(29, 64) + SourceIndex(0) -17>Emitted(12, 86) Source(29, 65) + SourceIndex(0) -18>Emitted(12, 88) Source(29, 67) + SourceIndex(0) -19>Emitted(12, 90) Source(29, 69) + SourceIndex(0) -20>Emitted(12, 91) Source(29, 70) + SourceIndex(0) +5 >Emitted(12, 10) Source(29, 11) + SourceIndex(0) +6 >Emitted(12, 30) Source(29, 33) + SourceIndex(0) +7 >Emitted(12, 32) Source(29, 11) + SourceIndex(0) +8 >Emitted(12, 69) Source(29, 33) + SourceIndex(0) +9 >Emitted(12, 71) Source(29, 50) + SourceIndex(0) +10>Emitted(12, 72) Source(29, 51) + SourceIndex(0) +11>Emitted(12, 75) Source(29, 54) + SourceIndex(0) +12>Emitted(12, 76) Source(29, 55) + SourceIndex(0) +13>Emitted(12, 78) Source(29, 57) + SourceIndex(0) +14>Emitted(12, 79) Source(29, 58) + SourceIndex(0) +15>Emitted(12, 82) Source(29, 61) + SourceIndex(0) +16>Emitted(12, 83) Source(29, 62) + SourceIndex(0) +17>Emitted(12, 85) Source(29, 64) + SourceIndex(0) +18>Emitted(12, 86) Source(29, 65) + SourceIndex(0) +19>Emitted(12, 88) Source(29, 67) + SourceIndex(0) +20>Emitted(12, 90) Source(29, 69) + SourceIndex(0) +21>Emitted(12, 91) Source(29, 70) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -414,63 +420,66 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^ -10> ^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^ -19> ^^ -20> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^ +11> ^^^ +12> ^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^ +20> ^^ +21> ^ 1-> > 2 >for 3 > 4 > (let { -5 > name: nameA = "noName" -6 > -7 > name: nameA = "noName" -8 > } = { name: "trimmer", skill: "trimming" }, -9 > i -10> = -11> 0 -12> ; -13> i -14> < -15> 1 -16> ; -17> i -18> ++ -19> ) -20> { +5 > +6 > name: nameA = "noName" +7 > +8 > name: nameA = "noName" +9 > } = { name: "trimmer", skill: "trimming" }, +10> i +11> = +12> 0 +13> ; +14> i +15> < +16> 1 +17> ; +18> i +19> ++ +20> ) +21> { 1->Emitted(15, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(15, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(15, 5) Source(32, 5) + SourceIndex(0) 4 >Emitted(15, 6) Source(32, 11) + SourceIndex(0) -5 >Emitted(15, 58) Source(32, 33) + SourceIndex(0) -6 >Emitted(15, 60) Source(32, 11) + SourceIndex(0) -7 >Emitted(15, 97) Source(32, 33) + SourceIndex(0) -8 >Emitted(15, 99) Source(32, 85) + SourceIndex(0) -9 >Emitted(15, 100) Source(32, 86) + SourceIndex(0) -10>Emitted(15, 103) Source(32, 89) + SourceIndex(0) -11>Emitted(15, 104) Source(32, 90) + SourceIndex(0) -12>Emitted(15, 106) Source(32, 92) + SourceIndex(0) -13>Emitted(15, 107) Source(32, 93) + SourceIndex(0) -14>Emitted(15, 110) Source(32, 96) + SourceIndex(0) -15>Emitted(15, 111) Source(32, 97) + SourceIndex(0) -16>Emitted(15, 113) Source(32, 99) + SourceIndex(0) -17>Emitted(15, 114) Source(32, 100) + SourceIndex(0) -18>Emitted(15, 116) Source(32, 102) + SourceIndex(0) -19>Emitted(15, 118) Source(32, 104) + SourceIndex(0) -20>Emitted(15, 119) Source(32, 105) + SourceIndex(0) +5 >Emitted(15, 10) Source(32, 11) + SourceIndex(0) +6 >Emitted(15, 58) Source(32, 33) + SourceIndex(0) +7 >Emitted(15, 60) Source(32, 11) + SourceIndex(0) +8 >Emitted(15, 97) Source(32, 33) + SourceIndex(0) +9 >Emitted(15, 99) Source(32, 85) + SourceIndex(0) +10>Emitted(15, 100) Source(32, 86) + SourceIndex(0) +11>Emitted(15, 103) Source(32, 89) + SourceIndex(0) +12>Emitted(15, 104) Source(32, 90) + SourceIndex(0) +13>Emitted(15, 106) Source(32, 92) + SourceIndex(0) +14>Emitted(15, 107) Source(32, 93) + SourceIndex(0) +15>Emitted(15, 110) Source(32, 96) + SourceIndex(0) +16>Emitted(15, 111) Source(32, 97) + SourceIndex(0) +17>Emitted(15, 113) Source(32, 99) + SourceIndex(0) +18>Emitted(15, 114) Source(32, 100) + SourceIndex(0) +19>Emitted(15, 116) Source(32, 102) + SourceIndex(0) +20>Emitted(15, 118) Source(32, 104) + SourceIndex(0) +21>Emitted(15, 119) Source(32, 105) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -514,97 +523,100 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^ +28> ^^ +29> ^ 1-> > 2 >for 3 > 4 > (let { > -5 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -6 > -7 > skills: { +5 > +6 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "none", secondary: "none" } -8 > -9 > primary: primaryA = "primary" -10> -11> primary: primaryA = "primary" -12> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -13> secondary: secondaryA = "secondary" -14> -15> secondary: secondaryA = "secondary" -16> +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +17> > } = { primary: "none", secondary: "none" } > } = multiRobot, -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +18> i +19> = +20> 0 +21> ; +22> i +23> < +24> 1 +25> ; +26> i +27> ++ +28> ) +29> { 1->Emitted(18, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(35, 5) + SourceIndex(0) 4 >Emitted(18, 6) Source(36, 5) + SourceIndex(0) -5 >Emitted(18, 32) Source(39, 47) + SourceIndex(0) -6 >Emitted(18, 34) Source(36, 5) + SourceIndex(0) -7 >Emitted(18, 98) Source(39, 47) + SourceIndex(0) -8 >Emitted(18, 100) Source(37, 9) + SourceIndex(0) -9 >Emitted(18, 115) Source(37, 38) + SourceIndex(0) -10>Emitted(18, 117) Source(37, 9) + SourceIndex(0) -11>Emitted(18, 158) Source(37, 38) + SourceIndex(0) -12>Emitted(18, 160) Source(38, 9) + SourceIndex(0) -13>Emitted(18, 177) Source(38, 44) + SourceIndex(0) -14>Emitted(18, 179) Source(38, 9) + SourceIndex(0) -15>Emitted(18, 224) Source(38, 44) + SourceIndex(0) -16>Emitted(18, 226) Source(40, 17) + SourceIndex(0) -17>Emitted(18, 227) Source(40, 18) + SourceIndex(0) -18>Emitted(18, 230) Source(40, 21) + SourceIndex(0) -19>Emitted(18, 231) Source(40, 22) + SourceIndex(0) -20>Emitted(18, 233) Source(40, 24) + SourceIndex(0) -21>Emitted(18, 234) Source(40, 25) + SourceIndex(0) -22>Emitted(18, 237) Source(40, 28) + SourceIndex(0) -23>Emitted(18, 238) Source(40, 29) + SourceIndex(0) -24>Emitted(18, 240) Source(40, 31) + SourceIndex(0) -25>Emitted(18, 241) Source(40, 32) + SourceIndex(0) -26>Emitted(18, 243) Source(40, 34) + SourceIndex(0) -27>Emitted(18, 245) Source(40, 36) + SourceIndex(0) -28>Emitted(18, 246) Source(40, 37) + SourceIndex(0) +5 >Emitted(18, 10) Source(36, 5) + SourceIndex(0) +6 >Emitted(18, 32) Source(39, 47) + SourceIndex(0) +7 >Emitted(18, 34) Source(36, 5) + SourceIndex(0) +8 >Emitted(18, 98) Source(39, 47) + SourceIndex(0) +9 >Emitted(18, 100) Source(37, 9) + SourceIndex(0) +10>Emitted(18, 115) Source(37, 38) + SourceIndex(0) +11>Emitted(18, 117) Source(37, 9) + SourceIndex(0) +12>Emitted(18, 158) Source(37, 38) + SourceIndex(0) +13>Emitted(18, 160) Source(38, 9) + SourceIndex(0) +14>Emitted(18, 177) Source(38, 44) + SourceIndex(0) +15>Emitted(18, 179) Source(38, 9) + SourceIndex(0) +16>Emitted(18, 224) Source(38, 44) + SourceIndex(0) +17>Emitted(18, 226) Source(40, 17) + SourceIndex(0) +18>Emitted(18, 227) Source(40, 18) + SourceIndex(0) +19>Emitted(18, 230) Source(40, 21) + SourceIndex(0) +20>Emitted(18, 231) Source(40, 22) + SourceIndex(0) +21>Emitted(18, 233) Source(40, 24) + SourceIndex(0) +22>Emitted(18, 234) Source(40, 25) + SourceIndex(0) +23>Emitted(18, 237) Source(40, 28) + SourceIndex(0) +24>Emitted(18, 238) Source(40, 29) + SourceIndex(0) +25>Emitted(18, 240) Source(40, 31) + SourceIndex(0) +26>Emitted(18, 241) Source(40, 32) + SourceIndex(0) +27>Emitted(18, 243) Source(40, 34) + SourceIndex(0) +28>Emitted(18, 245) Source(40, 36) + SourceIndex(0) +29>Emitted(18, 246) Source(40, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -648,97 +660,100 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^ +28> ^^ +29> ^ 1-> > 2 >for 3 > 4 > (let { > -5 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -6 > -7 > skills: { +5 > +6 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "none", secondary: "none" } -8 > -9 > primary: primaryA = "primary" -10> -11> primary: primaryA = "primary" -12> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -13> secondary: secondaryA = "secondary" -14> -15> secondary: secondaryA = "secondary" -16> +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +17> > } = { primary: "none", secondary: "none" } > } = getMultiRobot(), -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +18> i +19> = +20> 0 +21> ; +22> i +23> < +24> 1 +25> ; +26> i +27> ++ +28> ) +29> { 1->Emitted(21, 1) Source(43, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(43, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(43, 5) + SourceIndex(0) 4 >Emitted(21, 6) Source(44, 5) + SourceIndex(0) -5 >Emitted(21, 37) Source(47, 47) + SourceIndex(0) -6 >Emitted(21, 39) Source(44, 5) + SourceIndex(0) -7 >Emitted(21, 103) Source(47, 47) + SourceIndex(0) -8 >Emitted(21, 105) Source(45, 9) + SourceIndex(0) -9 >Emitted(21, 120) Source(45, 38) + SourceIndex(0) -10>Emitted(21, 122) Source(45, 9) + SourceIndex(0) -11>Emitted(21, 163) Source(45, 38) + SourceIndex(0) -12>Emitted(21, 165) Source(46, 9) + SourceIndex(0) -13>Emitted(21, 182) Source(46, 44) + SourceIndex(0) -14>Emitted(21, 184) Source(46, 9) + SourceIndex(0) -15>Emitted(21, 229) Source(46, 44) + SourceIndex(0) -16>Emitted(21, 231) Source(48, 22) + SourceIndex(0) -17>Emitted(21, 232) Source(48, 23) + SourceIndex(0) -18>Emitted(21, 235) Source(48, 26) + SourceIndex(0) -19>Emitted(21, 236) Source(48, 27) + SourceIndex(0) -20>Emitted(21, 238) Source(48, 29) + SourceIndex(0) -21>Emitted(21, 239) Source(48, 30) + SourceIndex(0) -22>Emitted(21, 242) Source(48, 33) + SourceIndex(0) -23>Emitted(21, 243) Source(48, 34) + SourceIndex(0) -24>Emitted(21, 245) Source(48, 36) + SourceIndex(0) -25>Emitted(21, 246) Source(48, 37) + SourceIndex(0) -26>Emitted(21, 248) Source(48, 39) + SourceIndex(0) -27>Emitted(21, 250) Source(48, 41) + SourceIndex(0) -28>Emitted(21, 251) Source(48, 42) + SourceIndex(0) +5 >Emitted(21, 10) Source(44, 5) + SourceIndex(0) +6 >Emitted(21, 37) Source(47, 47) + SourceIndex(0) +7 >Emitted(21, 39) Source(44, 5) + SourceIndex(0) +8 >Emitted(21, 103) Source(47, 47) + SourceIndex(0) +9 >Emitted(21, 105) Source(45, 9) + SourceIndex(0) +10>Emitted(21, 120) Source(45, 38) + SourceIndex(0) +11>Emitted(21, 122) Source(45, 9) + SourceIndex(0) +12>Emitted(21, 163) Source(45, 38) + SourceIndex(0) +13>Emitted(21, 165) Source(46, 9) + SourceIndex(0) +14>Emitted(21, 182) Source(46, 44) + SourceIndex(0) +15>Emitted(21, 184) Source(46, 9) + SourceIndex(0) +16>Emitted(21, 229) Source(46, 44) + SourceIndex(0) +17>Emitted(21, 231) Source(48, 22) + SourceIndex(0) +18>Emitted(21, 232) Source(48, 23) + SourceIndex(0) +19>Emitted(21, 235) Source(48, 26) + SourceIndex(0) +20>Emitted(21, 236) Source(48, 27) + SourceIndex(0) +21>Emitted(21, 238) Source(48, 29) + SourceIndex(0) +22>Emitted(21, 239) Source(48, 30) + SourceIndex(0) +23>Emitted(21, 242) Source(48, 33) + SourceIndex(0) +24>Emitted(21, 243) Source(48, 34) + SourceIndex(0) +25>Emitted(21, 245) Source(48, 36) + SourceIndex(0) +26>Emitted(21, 246) Source(48, 37) + SourceIndex(0) +27>Emitted(21, 248) Source(48, 39) + SourceIndex(0) +28>Emitted(21, 250) Source(48, 41) + SourceIndex(0) +29>Emitted(21, 251) Source(48, 42) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -782,98 +797,101 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^ +28> ^^ +29> ^ 1-> > 2 >for 3 > 4 > (let { > -5 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -6 > -7 > skills: { +5 > +6 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "none", secondary: "none" } -8 > -9 > primary: primaryA = "primary" -10> -11> primary: primaryA = "primary" -12> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -13> secondary: secondaryA = "secondary" -14> -15> secondary: secondaryA = "secondary" -16> +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +17> > } = { primary: "none", secondary: "none" } > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +18> i +19> = +20> 0 +21> ; +22> i +23> < +24> 1 +25> ; +26> i +27> ++ +28> ) +29> { 1->Emitted(24, 1) Source(51, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(51, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(51, 5) + SourceIndex(0) 4 >Emitted(24, 6) Source(52, 5) + SourceIndex(0) -5 >Emitted(24, 95) Source(55, 47) + SourceIndex(0) -6 >Emitted(24, 97) Source(52, 5) + SourceIndex(0) -7 >Emitted(24, 161) Source(55, 47) + SourceIndex(0) -8 >Emitted(24, 163) Source(53, 9) + SourceIndex(0) -9 >Emitted(24, 178) Source(53, 38) + SourceIndex(0) -10>Emitted(24, 180) Source(53, 9) + SourceIndex(0) -11>Emitted(24, 221) Source(53, 38) + SourceIndex(0) -12>Emitted(24, 223) Source(54, 9) + SourceIndex(0) -13>Emitted(24, 240) Source(54, 44) + SourceIndex(0) -14>Emitted(24, 242) Source(54, 9) + SourceIndex(0) -15>Emitted(24, 287) Source(54, 44) + SourceIndex(0) -16>Emitted(24, 289) Source(57, 5) + SourceIndex(0) -17>Emitted(24, 290) Source(57, 6) + SourceIndex(0) -18>Emitted(24, 293) Source(57, 9) + SourceIndex(0) -19>Emitted(24, 294) Source(57, 10) + SourceIndex(0) -20>Emitted(24, 296) Source(57, 12) + SourceIndex(0) -21>Emitted(24, 297) Source(57, 13) + SourceIndex(0) -22>Emitted(24, 300) Source(57, 16) + SourceIndex(0) -23>Emitted(24, 301) Source(57, 17) + SourceIndex(0) -24>Emitted(24, 303) Source(57, 19) + SourceIndex(0) -25>Emitted(24, 304) Source(57, 20) + SourceIndex(0) -26>Emitted(24, 306) Source(57, 22) + SourceIndex(0) -27>Emitted(24, 308) Source(57, 24) + SourceIndex(0) -28>Emitted(24, 309) Source(57, 25) + SourceIndex(0) +5 >Emitted(24, 10) Source(52, 5) + SourceIndex(0) +6 >Emitted(24, 95) Source(55, 47) + SourceIndex(0) +7 >Emitted(24, 97) Source(52, 5) + SourceIndex(0) +8 >Emitted(24, 161) Source(55, 47) + SourceIndex(0) +9 >Emitted(24, 163) Source(53, 9) + SourceIndex(0) +10>Emitted(24, 178) Source(53, 38) + SourceIndex(0) +11>Emitted(24, 180) Source(53, 9) + SourceIndex(0) +12>Emitted(24, 221) Source(53, 38) + SourceIndex(0) +13>Emitted(24, 223) Source(54, 9) + SourceIndex(0) +14>Emitted(24, 240) Source(54, 44) + SourceIndex(0) +15>Emitted(24, 242) Source(54, 9) + SourceIndex(0) +16>Emitted(24, 287) Source(54, 44) + SourceIndex(0) +17>Emitted(24, 289) Source(57, 5) + SourceIndex(0) +18>Emitted(24, 290) Source(57, 6) + SourceIndex(0) +19>Emitted(24, 293) Source(57, 9) + SourceIndex(0) +20>Emitted(24, 294) Source(57, 10) + SourceIndex(0) +21>Emitted(24, 296) Source(57, 12) + SourceIndex(0) +22>Emitted(24, 297) Source(57, 13) + SourceIndex(0) +23>Emitted(24, 300) Source(57, 16) + SourceIndex(0) +24>Emitted(24, 301) Source(57, 17) + SourceIndex(0) +25>Emitted(24, 303) Source(57, 19) + SourceIndex(0) +26>Emitted(24, 304) Source(57, 20) + SourceIndex(0) +27>Emitted(24, 306) Source(57, 22) + SourceIndex(0) +28>Emitted(24, 308) Source(57, 24) + SourceIndex(0) +29>Emitted(24, 309) Source(57, 25) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -917,76 +935,79 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^ +15> ^^^ +16> ^ +17> ^^ +18> ^ +19> ^^^ +20> ^ +21> ^^ +22> ^ +23> ^^ +24> ^^ +25> ^ 1-> > > 2 >for 3 > 4 > (let { -5 > name: nameA = "noName" -6 > -7 > name: nameA = "noName" -8 > , -9 > skill: skillA = "skill" -10> -11> skill: skillA = "skill" -12> } = robot, -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > +6 > name: nameA = "noName" +7 > +8 > name: nameA = "noName" +9 > , +10> skill: skillA = "skill" +11> +12> skill: skillA = "skill" +13> } = robot, +14> i +15> = +16> 0 +17> ; +18> i +19> < +20> 1 +21> ; +22> i +23> ++ +24> ) +25> { 1->Emitted(27, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(27, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(27, 5) Source(61, 5) + SourceIndex(0) 4 >Emitted(27, 6) Source(61, 11) + SourceIndex(0) -5 >Emitted(27, 25) Source(61, 33) + SourceIndex(0) -6 >Emitted(27, 27) Source(61, 11) + SourceIndex(0) -7 >Emitted(27, 64) Source(61, 33) + SourceIndex(0) -8 >Emitted(27, 66) Source(61, 35) + SourceIndex(0) -9 >Emitted(27, 82) Source(61, 58) + SourceIndex(0) -10>Emitted(27, 84) Source(61, 35) + SourceIndex(0) -11>Emitted(27, 121) Source(61, 58) + SourceIndex(0) -12>Emitted(27, 123) Source(61, 70) + SourceIndex(0) -13>Emitted(27, 124) Source(61, 71) + SourceIndex(0) -14>Emitted(27, 127) Source(61, 74) + SourceIndex(0) -15>Emitted(27, 128) Source(61, 75) + SourceIndex(0) -16>Emitted(27, 130) Source(61, 77) + SourceIndex(0) -17>Emitted(27, 131) Source(61, 78) + SourceIndex(0) -18>Emitted(27, 134) Source(61, 81) + SourceIndex(0) -19>Emitted(27, 135) Source(61, 82) + SourceIndex(0) -20>Emitted(27, 137) Source(61, 84) + SourceIndex(0) -21>Emitted(27, 138) Source(61, 85) + SourceIndex(0) -22>Emitted(27, 140) Source(61, 87) + SourceIndex(0) -23>Emitted(27, 142) Source(61, 89) + SourceIndex(0) -24>Emitted(27, 143) Source(61, 90) + SourceIndex(0) +5 >Emitted(27, 10) Source(61, 11) + SourceIndex(0) +6 >Emitted(27, 25) Source(61, 33) + SourceIndex(0) +7 >Emitted(27, 27) Source(61, 11) + SourceIndex(0) +8 >Emitted(27, 64) Source(61, 33) + SourceIndex(0) +9 >Emitted(27, 66) Source(61, 35) + SourceIndex(0) +10>Emitted(27, 82) Source(61, 58) + SourceIndex(0) +11>Emitted(27, 84) Source(61, 35) + SourceIndex(0) +12>Emitted(27, 121) Source(61, 58) + SourceIndex(0) +13>Emitted(27, 123) Source(61, 70) + SourceIndex(0) +14>Emitted(27, 124) Source(61, 71) + SourceIndex(0) +15>Emitted(27, 127) Source(61, 74) + SourceIndex(0) +16>Emitted(27, 128) Source(61, 75) + SourceIndex(0) +17>Emitted(27, 130) Source(61, 77) + SourceIndex(0) +18>Emitted(27, 131) Source(61, 78) + SourceIndex(0) +19>Emitted(27, 134) Source(61, 81) + SourceIndex(0) +20>Emitted(27, 135) Source(61, 82) + SourceIndex(0) +21>Emitted(27, 137) Source(61, 84) + SourceIndex(0) +22>Emitted(27, 138) Source(61, 85) + SourceIndex(0) +23>Emitted(27, 140) Source(61, 87) + SourceIndex(0) +24>Emitted(27, 142) Source(61, 89) + SourceIndex(0) +25>Emitted(27, 143) Source(61, 90) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1057,9 +1078,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA = "noName", skill: skillA = "skill" } = getRobot() +6 > {name: nameA = "noName", skill: skillA = "skill" } = getRobot() 7 > 8 > name: nameA = "noName" 9 > @@ -1084,8 +1105,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 1->Emitted(30, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(64, 5) + SourceIndex(0) -4 >Emitted(30, 6) Source(64, 6) + SourceIndex(0) -5 >Emitted(30, 10) Source(64, 6) + SourceIndex(0) +4 >Emitted(30, 6) Source(64, 10) + SourceIndex(0) +5 >Emitted(30, 10) Source(64, 10) + SourceIndex(0) 6 >Emitted(30, 25) Source(64, 73) + SourceIndex(0) 7 >Emitted(30, 27) Source(64, 11) + SourceIndex(0) 8 >Emitted(30, 39) Source(64, 33) + SourceIndex(0) @@ -1178,9 +1199,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let {name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" } +6 > {name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" } 7 > 8 > name: nameA = "noName" 9 > @@ -1205,8 +1226,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 1->Emitted(33, 1) Source(67, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(67, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(67, 5) + SourceIndex(0) -4 >Emitted(33, 6) Source(67, 6) + SourceIndex(0) -5 >Emitted(33, 10) Source(67, 6) + SourceIndex(0) +4 >Emitted(33, 6) Source(67, 10) + SourceIndex(0) +5 >Emitted(33, 10) Source(67, 10) + SourceIndex(0) 6 >Emitted(33, 53) Source(67, 108) + SourceIndex(0) 7 >Emitted(33, 55) Source(67, 11) + SourceIndex(0) 8 >Emitted(33, 67) Source(67, 33) + SourceIndex(0) @@ -1272,110 +1293,113 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 2 >^^^ 3 > ^ 4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^^^^^^^^^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -16> ^^ -17> ^^^^^^^^^^^^^^^^^ -18> ^^ -19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +17> ^^ +18> ^^^^^^^^^^^^^^^^^ +19> ^^ +20> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +21> ^^ +22> ^ +23> ^^^ +24> ^ +25> ^^ +26> ^ +27> ^^^ +28> ^ +29> ^^ +30> ^ +31> ^^ +32> ^^ +33> ^ 1-> > 2 >for 3 > 4 > (let { > -5 > name: nameA = "noName" -6 > -7 > name: nameA = "noName" -8 > , +5 > +6 > name: nameA = "noName" +7 > +8 > name: nameA = "noName" +9 > , > -9 > skills: { +10> skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "none", secondary: "none" } -10> -11> skills: { +11> +12> skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "none", secondary: "none" } -12> -13> primary: primaryA = "primary" -14> -15> primary: primaryA = "primary" -16> , +13> +14> primary: primaryA = "primary" +15> +16> primary: primaryA = "primary" +17> , > -17> secondary: secondaryA = "secondary" -18> -19> secondary: secondaryA = "secondary" -20> +18> secondary: secondaryA = "secondary" +19> +20> secondary: secondaryA = "secondary" +21> > } = { primary: "none", secondary: "none" } > } = multiRobot, -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +22> i +23> = +24> 0 +25> ; +26> i +27> < +28> 1 +29> ; +30> i +31> ++ +32> ) +33> { 1->Emitted(36, 1) Source(70, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(70, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(70, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(71, 5) + SourceIndex(0) -5 >Emitted(36, 30) Source(71, 27) + SourceIndex(0) -6 >Emitted(36, 32) Source(71, 5) + SourceIndex(0) -7 >Emitted(36, 69) Source(71, 27) + SourceIndex(0) -8 >Emitted(36, 71) Source(72, 5) + SourceIndex(0) -9 >Emitted(36, 93) Source(75, 47) + SourceIndex(0) -10>Emitted(36, 95) Source(72, 5) + SourceIndex(0) -11>Emitted(36, 159) Source(75, 47) + SourceIndex(0) -12>Emitted(36, 161) Source(73, 9) + SourceIndex(0) -13>Emitted(36, 176) Source(73, 38) + SourceIndex(0) -14>Emitted(36, 178) Source(73, 9) + SourceIndex(0) -15>Emitted(36, 219) Source(73, 38) + SourceIndex(0) -16>Emitted(36, 221) Source(74, 9) + SourceIndex(0) -17>Emitted(36, 238) Source(74, 44) + SourceIndex(0) -18>Emitted(36, 240) Source(74, 9) + SourceIndex(0) -19>Emitted(36, 285) Source(74, 44) + SourceIndex(0) -20>Emitted(36, 287) Source(76, 17) + SourceIndex(0) -21>Emitted(36, 288) Source(76, 18) + SourceIndex(0) -22>Emitted(36, 291) Source(76, 21) + SourceIndex(0) -23>Emitted(36, 292) Source(76, 22) + SourceIndex(0) -24>Emitted(36, 294) Source(76, 24) + SourceIndex(0) -25>Emitted(36, 295) Source(76, 25) + SourceIndex(0) -26>Emitted(36, 298) Source(76, 28) + SourceIndex(0) -27>Emitted(36, 299) Source(76, 29) + SourceIndex(0) -28>Emitted(36, 301) Source(76, 31) + SourceIndex(0) -29>Emitted(36, 302) Source(76, 32) + SourceIndex(0) -30>Emitted(36, 304) Source(76, 34) + SourceIndex(0) -31>Emitted(36, 306) Source(76, 36) + SourceIndex(0) -32>Emitted(36, 307) Source(76, 37) + SourceIndex(0) +5 >Emitted(36, 10) Source(71, 5) + SourceIndex(0) +6 >Emitted(36, 30) Source(71, 27) + SourceIndex(0) +7 >Emitted(36, 32) Source(71, 5) + SourceIndex(0) +8 >Emitted(36, 69) Source(71, 27) + SourceIndex(0) +9 >Emitted(36, 71) Source(72, 5) + SourceIndex(0) +10>Emitted(36, 93) Source(75, 47) + SourceIndex(0) +11>Emitted(36, 95) Source(72, 5) + SourceIndex(0) +12>Emitted(36, 159) Source(75, 47) + SourceIndex(0) +13>Emitted(36, 161) Source(73, 9) + SourceIndex(0) +14>Emitted(36, 176) Source(73, 38) + SourceIndex(0) +15>Emitted(36, 178) Source(73, 9) + SourceIndex(0) +16>Emitted(36, 219) Source(73, 38) + SourceIndex(0) +17>Emitted(36, 221) Source(74, 9) + SourceIndex(0) +18>Emitted(36, 238) Source(74, 44) + SourceIndex(0) +19>Emitted(36, 240) Source(74, 9) + SourceIndex(0) +20>Emitted(36, 285) Source(74, 44) + SourceIndex(0) +21>Emitted(36, 287) Source(76, 17) + SourceIndex(0) +22>Emitted(36, 288) Source(76, 18) + SourceIndex(0) +23>Emitted(36, 291) Source(76, 21) + SourceIndex(0) +24>Emitted(36, 292) Source(76, 22) + SourceIndex(0) +25>Emitted(36, 294) Source(76, 24) + SourceIndex(0) +26>Emitted(36, 295) Source(76, 25) + SourceIndex(0) +27>Emitted(36, 298) Source(76, 28) + SourceIndex(0) +28>Emitted(36, 299) Source(76, 29) + SourceIndex(0) +29>Emitted(36, 301) Source(76, 31) + SourceIndex(0) +30>Emitted(36, 302) Source(76, 32) + SourceIndex(0) +31>Emitted(36, 304) Source(76, 34) + SourceIndex(0) +32>Emitted(36, 306) Source(76, 36) + SourceIndex(0) +33>Emitted(36, 307) Source(76, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1454,9 +1478,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let { +6 > { > name: nameA = "noName", > skills: { > primary: primaryA = "primary", @@ -1505,8 +1529,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 1->Emitted(39, 1) Source(79, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(79, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(79, 5) + SourceIndex(0) -4 >Emitted(39, 6) Source(79, 6) + SourceIndex(0) -5 >Emitted(39, 10) Source(79, 6) + SourceIndex(0) +4 >Emitted(39, 6) Source(79, 10) + SourceIndex(0) +5 >Emitted(39, 10) Source(79, 10) + SourceIndex(0) 6 >Emitted(39, 30) Source(85, 20) + SourceIndex(0) 7 >Emitted(39, 32) Source(80, 5) + SourceIndex(0) 8 >Emitted(39, 44) Source(80, 27) + SourceIndex(0) @@ -1615,9 +1639,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. > 2 >for 3 > -4 > ( +4 > (let 5 > -6 > let { +6 > { > name: nameA = "noName", > skills: { > primary: primaryA = "primary", @@ -1667,8 +1691,8 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues. 1->Emitted(42, 1) Source(88, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(88, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(88, 5) + SourceIndex(0) -4 >Emitted(42, 6) Source(88, 6) + SourceIndex(0) -5 >Emitted(42, 10) Source(88, 6) + SourceIndex(0) +4 >Emitted(42, 6) Source(88, 10) + SourceIndex(0) +5 >Emitted(42, 10) Source(88, 10) + SourceIndex(0) 6 >Emitted(42, 89) Source(94, 90) + SourceIndex(0) 7 >Emitted(42, 91) Source(89, 5) + SourceIndex(0) 8 >Emitted(42, 105) Source(89, 27) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types index c9e76f88581..261ccd36396 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types @@ -39,22 +39,22 @@ let robot: Robot = { name: "mower", skill: "mowing" }; >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }; >multiRobot : MultiRobot >MultiRobot : MultiRobot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function getRobot() { >getRobot : () => Robot @@ -72,13 +72,13 @@ function getMultiRobot() { for (let {name: nameA= "noName" } = robot, i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >robot : Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -92,14 +92,14 @@ for (let {name: nameA= "noName" } = robot, i = 0; i < 1; i++) { for (let {name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >getRobot() : Robot >getRobot : () => Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -113,19 +113,19 @@ for (let {name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { for (let {name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >{ name: "trimmer", skill: "trimming" } : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -143,27 +143,27 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -181,28 +181,28 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -220,39 +220,39 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -267,16 +267,16 @@ for (let { for (let {name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"skill" : string +>"skill" : "skill" >robot : Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -290,17 +290,17 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < for (let {name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"skill" : string +>"skill" : "skill" >getRobot() : Robot >getRobot : () => Robot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -314,22 +314,22 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; for (let {name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"skill" : string +>"skill" : "skill" >{ name: "trimmer", skill: "trimming" } : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -344,7 +344,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -352,27 +352,27 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -387,7 +387,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -395,28 +395,28 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -431,7 +431,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -439,39 +439,39 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js index a360326c1ca..9f7a70699bd 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js @@ -185,79 +185,79 @@ function getMultiRobot() { } var nameA, primaryA, secondaryA, i, skillA; var name, primary, secondary, skill; -for ((_a = robot.name, nameA = _a === void 0 ? "noName" : _a, robot), i = 0; i < 1; i++) { +for (_a = robot.name, nameA = _a === void 0 ? "noName" : _a, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_b = getRobot(), _c = _b.name, nameA = _c === void 0 ? "noName" : _c, _b), i = 0; i < 1; i++) { +for (_b = getRobot(), _c = _b.name, nameA = _c === void 0 ? "noName" : _c, _b, i = 0; i < 1; i++) { console.log(nameA); } -for ((_d = { name: "trimmer", skill: "trimming" }, _e = _d.name, nameA = _e === void 0 ? "noName" : _e, _d), i = 0; i < 1; i++) { +for (_d = { name: "trimmer", skill: "trimming" }, _e = _d.name, nameA = _e === void 0 ? "noName" : _e, _d, i = 0; i < 1; i++) { console.log(nameA); } -for ((_f = multiRobot.skills, _g = _f === void 0 ? { primary: "none", secondary: "none" } : _f, _h = _g.primary, primaryA = _h === void 0 ? "primary" : _h, _j = _g.secondary, secondaryA = _j === void 0 ? "secondary" : _j, multiRobot), i = 0; i < 1; i++) { +for (_f = multiRobot.skills, _g = _f === void 0 ? { primary: "none", secondary: "none" } : _f, _h = _g.primary, primaryA = _h === void 0 ? "primary" : _h, _j = _g.secondary, secondaryA = _j === void 0 ? "secondary" : _j, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_k = getMultiRobot(), _l = _k.skills, _m = _l === void 0 ? { primary: "none", secondary: "none" } : _l, _o = _m.primary, primaryA = _o === void 0 ? "primary" : _o, _p = _m.secondary, secondaryA = _p === void 0 ? "secondary" : _p, _k), i = 0; i < 1; i++) { +for (_k = getMultiRobot(), _l = _k.skills, _m = _l === void 0 ? { primary: "none", secondary: "none" } : _l, _o = _m.primary, primaryA = _o === void 0 ? "primary" : _o, _p = _m.secondary, secondaryA = _p === void 0 ? "secondary" : _p, _k, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_q = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _r = _q.skills, _s = _r === void 0 ? { primary: "none", secondary: "none" } : _r, _t = _s.primary, primaryA = _t === void 0 ? "primary" : _t, _u = _s.secondary, secondaryA = _u === void 0 ? "secondary" : _u, _q), +for (_q = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _r = _q.skills, _s = _r === void 0 ? { primary: "none", secondary: "none" } : _r, _t = _s.primary, primaryA = _t === void 0 ? "primary" : _t, _u = _s.secondary, secondaryA = _u === void 0 ? "secondary" : _u, _q, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_v = robot.name, name = _v === void 0 ? "noName" : _v, robot), i = 0; i < 1; i++) { +for (_v = robot.name, name = _v === void 0 ? "noName" : _v, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_w = getRobot(), _x = _w.name, name = _x === void 0 ? "noName" : _x, _w), i = 0; i < 1; i++) { +for (_w = getRobot(), _x = _w.name, name = _x === void 0 ? "noName" : _x, _w, i = 0; i < 1; i++) { console.log(nameA); } -for ((_y = { name: "trimmer", skill: "trimming" }, _z = _y.name, name = _z === void 0 ? "noName" : _z, _y), i = 0; i < 1; i++) { +for (_y = { name: "trimmer", skill: "trimming" }, _z = _y.name, name = _z === void 0 ? "noName" : _z, _y, i = 0; i < 1; i++) { console.log(nameA); } -for ((_0 = multiRobot.skills, _1 = _0 === void 0 ? { primary: "none", secondary: "none" } : _0, _2 = _1.primary, primary = _2 === void 0 ? "primary" : _2, _3 = _1.secondary, secondary = _3 === void 0 ? "secondary" : _3, multiRobot), i = 0; i < 1; i++) { +for (_0 = multiRobot.skills, _1 = _0 === void 0 ? { primary: "none", secondary: "none" } : _0, _2 = _1.primary, primary = _2 === void 0 ? "primary" : _2, _3 = _1.secondary, secondary = _3 === void 0 ? "secondary" : _3, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_4 = getMultiRobot(), _5 = _4.skills, _6 = _5 === void 0 ? { primary: "none", secondary: "none" } : _5, _7 = _6.primary, primary = _7 === void 0 ? "primary" : _7, _8 = _6.secondary, secondary = _8 === void 0 ? "secondary" : _8, _4), i = 0; i < 1; i++) { +for (_4 = getMultiRobot(), _5 = _4.skills, _6 = _5 === void 0 ? { primary: "none", secondary: "none" } : _5, _7 = _6.primary, primary = _7 === void 0 ? "primary" : _7, _8 = _6.secondary, secondary = _8 === void 0 ? "secondary" : _8, _4, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_9 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _10 = _9.skills, _11 = _10 === void 0 ? { primary: "none", secondary: "none" } : _10, _12 = _11.primary, primary = _12 === void 0 ? "primary" : _12, _13 = _11.secondary, secondary = _13 === void 0 ? "secondary" : _13, _9), +for (_9 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _10 = _9.skills, _11 = _10 === void 0 ? { primary: "none", secondary: "none" } : _10, _12 = _11.primary, primary = _12 === void 0 ? "primary" : _12, _13 = _11.secondary, secondary = _13 === void 0 ? "secondary" : _13, _9, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_14 = robot.name, nameA = _14 === void 0 ? "noName" : _14, _15 = robot.skill, skillA = _15 === void 0 ? "skill" : _15, robot), i = 0; i < 1; i++) { +for (_14 = robot.name, nameA = _14 === void 0 ? "noName" : _14, _15 = robot.skill, skillA = _15 === void 0 ? "skill" : _15, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_16 = getRobot(), _17 = _16.name, nameA = _17 === void 0 ? "noName" : _17, _18 = _16.skill, skillA = _18 === void 0 ? "skill" : _18, _16), i = 0; i < 1; i++) { +for (_16 = getRobot(), _17 = _16.name, nameA = _17 === void 0 ? "noName" : _17, _18 = _16.skill, skillA = _18 === void 0 ? "skill" : _18, _16, i = 0; i < 1; i++) { console.log(nameA); } -for ((_19 = { name: "trimmer", skill: "trimming" }, _20 = _19.name, nameA = _20 === void 0 ? "noName" : _20, _21 = _19.skill, skillA = _21 === void 0 ? "skill" : _21, _19), i = 0; i < 1; i++) { +for (_19 = { name: "trimmer", skill: "trimming" }, _20 = _19.name, nameA = _20 === void 0 ? "noName" : _20, _21 = _19.skill, skillA = _21 === void 0 ? "skill" : _21, _19, i = 0; i < 1; i++) { console.log(nameA); } -for ((_22 = multiRobot.name, nameA = _22 === void 0 ? "noName" : _22, _23 = multiRobot.skills, _24 = _23 === void 0 ? { primary: "none", secondary: "none" } : _23, _25 = _24.primary, primaryA = _25 === void 0 ? "primary" : _25, _26 = _24.secondary, secondaryA = _26 === void 0 ? "secondary" : _26, multiRobot), i = 0; i < 1; i++) { +for (_22 = multiRobot.name, nameA = _22 === void 0 ? "noName" : _22, _23 = multiRobot.skills, _24 = _23 === void 0 ? { primary: "none", secondary: "none" } : _23, _25 = _24.primary, primaryA = _25 === void 0 ? "primary" : _25, _26 = _24.secondary, secondaryA = _26 === void 0 ? "secondary" : _26, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_27 = getMultiRobot(), _28 = _27.name, nameA = _28 === void 0 ? "noName" : _28, _29 = _27.skills, _30 = _29 === void 0 ? { primary: "none", secondary: "none" } : _29, _31 = _30.primary, primaryA = _31 === void 0 ? "primary" : _31, _32 = _30.secondary, secondaryA = _32 === void 0 ? "secondary" : _32, _27), i = 0; i < 1; i++) { +for (_27 = getMultiRobot(), _28 = _27.name, nameA = _28 === void 0 ? "noName" : _28, _29 = _27.skills, _30 = _29 === void 0 ? { primary: "none", secondary: "none" } : _29, _31 = _30.primary, primaryA = _31 === void 0 ? "primary" : _31, _32 = _30.secondary, secondaryA = _32 === void 0 ? "secondary" : _32, _27, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_33 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _34 = _33.name, nameA = _34 === void 0 ? "noName" : _34, _35 = _33.skills, _36 = _35 === void 0 ? { primary: "none", secondary: "none" } : _35, _37 = _36.primary, primaryA = _37 === void 0 ? "primary" : _37, _38 = _36.secondary, secondaryA = _38 === void 0 ? "secondary" : _38, _33), +for (_33 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _34 = _33.name, nameA = _34 === void 0 ? "noName" : _34, _35 = _33.skills, _36 = _35 === void 0 ? { primary: "none", secondary: "none" } : _35, _37 = _36.primary, primaryA = _37 === void 0 ? "primary" : _37, _38 = _36.secondary, secondaryA = _38 === void 0 ? "secondary" : _38, _33, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_39 = robot.name, name = _39 === void 0 ? "noName" : _39, _40 = robot.skill, skill = _40 === void 0 ? "skill" : _40, robot), i = 0; i < 1; i++) { +for (_39 = robot.name, name = _39 === void 0 ? "noName" : _39, _40 = robot.skill, skill = _40 === void 0 ? "skill" : _40, robot, i = 0; i < 1; i++) { console.log(nameA); } -for ((_41 = getRobot(), _42 = _41.name, name = _42 === void 0 ? "noName" : _42, _43 = _41.skill, skill = _43 === void 0 ? "skill" : _43, _41), i = 0; i < 1; i++) { +for (_41 = getRobot(), _42 = _41.name, name = _42 === void 0 ? "noName" : _42, _43 = _41.skill, skill = _43 === void 0 ? "skill" : _43, _41, i = 0; i < 1; i++) { console.log(nameA); } -for ((_44 = { name: "trimmer", skill: "trimming" }, _45 = _44.name, name = _45 === void 0 ? "noName" : _45, _46 = _44.skill, skill = _46 === void 0 ? "skill" : _46, _44), i = 0; i < 1; i++) { +for (_44 = { name: "trimmer", skill: "trimming" }, _45 = _44.name, name = _45 === void 0 ? "noName" : _45, _46 = _44.skill, skill = _46 === void 0 ? "skill" : _46, _44, i = 0; i < 1; i++) { console.log(nameA); } -for ((_47 = multiRobot.name, name = _47 === void 0 ? "noName" : _47, _48 = multiRobot.skills, _49 = _48 === void 0 ? { primary: "none", secondary: "none" } : _48, _50 = _49.primary, primary = _50 === void 0 ? "primary" : _50, _51 = _49.secondary, secondary = _51 === void 0 ? "secondary" : _51, multiRobot), i = 0; i < 1; i++) { +for (_47 = multiRobot.name, name = _47 === void 0 ? "noName" : _47, _48 = multiRobot.skills, _49 = _48 === void 0 ? { primary: "none", secondary: "none" } : _48, _50 = _49.primary, primary = _50 === void 0 ? "primary" : _50, _51 = _49.secondary, secondary = _51 === void 0 ? "secondary" : _51, multiRobot, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_52 = getMultiRobot(), _53 = _52.name, name = _53 === void 0 ? "noName" : _53, _54 = _52.skills, _55 = _54 === void 0 ? { primary: "none", secondary: "none" } : _54, _56 = _55.primary, primary = _56 === void 0 ? "primary" : _56, _57 = _55.secondary, secondary = _57 === void 0 ? "secondary" : _57, _52), i = 0; i < 1; i++) { +for (_52 = getMultiRobot(), _53 = _52.name, name = _53 === void 0 ? "noName" : _53, _54 = _52.skills, _55 = _54 === void 0 ? { primary: "none", secondary: "none" } : _54, _56 = _55.primary, primary = _56 === void 0 ? "primary" : _56, _57 = _55.secondary, secondary = _57 === void 0 ? "secondary" : _57, _52, i = 0; i < 1; i++) { console.log(primaryA); } -for ((_58 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _59 = _58.name, name = _59 === void 0 ? "noName" : _59, _60 = _58.skills, _61 = _60 === void 0 ? { primary: "none", secondary: "none" } : _60, _62 = _61.primary, primary = _62 === void 0 ? "primary" : _62, _63 = _61.secondary, secondary = _63 === void 0 ? "secondary" : _63, _58), +for (_58 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _59 = _58.name, name = _59 === void 0 ? "noName" : _59, _60 = _58.skills, _61 = _60 === void 0 ? { primary: "none", secondary: "none" } : _60, _62 = _61.primary, primary = _62 === void 0 ? "primary" : _62, _63 = _61.secondary, secondary = _63 === void 0 ? "secondary" : _63, _58, i = 0; i < 1; i++) { console.log(primaryA); } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js.map index 448921b9cdc..dd248e89944 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAC,CAAC,eAAsB,EAAtB,qCAAsB,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAsC,EAArC,YAAsB,EAAtB,qCAAsB,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAAyE,EAAxE,YAAsB,EAAtB,qCAAsB,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CACD,sBAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEvC,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAKc,EAJf,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,KAExB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EAKoF,EAJrF,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,KAE8C;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAC,CAAE,eAAe,EAAf,oCAAe,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,eAAgC,EAA9B,YAAe,EAAf,oCAAe,KAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,2CAAmE,EAAjE,YAAe,EAAf,oCAAe,KAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CACD,sBAG0C,EAH1C,gEAG0C,EAFtC,eAAmB,EAAnB,wCAAmB,EACnB,iBAAuB,EAAvB,4CAAuB,EAE3B,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,oBAKc,EAJf,cAG0C,EAH1C,gEAG0C,EAFtC,eAAmB,EAAnB,wCAAmB,EACnB,iBAAuB,EAAvB,4CAAuB,KAEZ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,8EAKoF,EAJrF,eAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,KAE0D;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAGD,GAAG,CAAC,CAAC,CAAC,gBAAsB,EAAtB,uCAAsB,EAAE,iBAAuB,EAAvB,uCAAuB,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,gBAA+D,EAA9D,cAAsB,EAAtB,uCAAsB,EAAE,eAAuB,EAAvB,uCAAuB,MAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,4CAAkG,EAAjG,cAAsB,EAAtB,uCAAsB,EAAE,eAAuB,EAAvB,uCAAuB,MAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CACD,qBAAsB,EAAtB,uCAAsB,EACtB,uBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,EAEvC,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,qBAMc,EALf,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,MAExB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+EAMoF,EALrF,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,MAE8C;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAC,CAAE,gBAAe,EAAf,sCAAe,EAAE,iBAAe,EAAf,sCAAe,EAAK,KAAK,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,gBAAiD,EAA/C,cAAe,EAAf,sCAAe,EAAE,eAAe,EAAf,sCAAe,MAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,4CAAoF,EAAlF,cAAe,EAAf,sCAAe,EAAE,eAAe,EAAf,sCAAe,MAAkD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,CACD,qBAAe,EAAf,sCAAe,EACf,uBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,EAE3B,UAAU,CAAA,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,qBAMc,EALf,cAAe,EAAf,sCAAe,EACf,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,MAEZ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,CAAA,+EAMoF,EALrF,cAAe,EAAf,sCAAe,EACf,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,MAE0D;IACrF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAgBA,IAAI,KAAK,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtD,IAAI,UAAU,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG;IACI,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC;AACD;IACI,MAAM,CAAC,UAAU,CAAC;AACtB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAE,eAAsB,EAAtB,qCAAsB,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAAsC,EAArC,YAAsB,EAAtB,qCAAsB,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAAyE,EAAxE,YAAsB,EAAtB,qCAAsB,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,sBAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,EAEvC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAKc,EAJf,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC,MAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EAKoF,EAJrF,cAG0C,EAH1C,gEAG0C,EAFtC,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC;IAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAG,eAAe,EAAf,oCAAe,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,eAAgC,EAA9B,YAAe,EAAf,oCAAe,MAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,2CAAmE,EAAjE,YAAe,EAAf,oCAAe,MAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,sBAG0C,EAH1C,gEAG0C,EAFtC,eAAmB,EAAnB,wCAAmB,EACnB,iBAAuB,EAAvB,4CAAuB,EAE3B,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,oBAKc,EAJf,cAG0C,EAH1C,gEAG0C,EAFtC,eAAmB,EAAnB,wCAAmB,EACnB,iBAAuB,EAAvB,4CAAuB,MAEV,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,8EAKoF,EAJrF,eAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAGD,GAAG,CAAC,CAAE,gBAAsB,EAAtB,uCAAsB,EAAE,iBAAuB,EAAvB,uCAAuB,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,gBAA+D,EAA9D,cAAsB,EAAtB,uCAAsB,EAAE,eAAuB,EAAvB,uCAAuB,OAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,4CAAkG,EAAjG,cAAsB,EAAtB,uCAAsB,EAAE,eAAuB,EAAvB,uCAAuB,OAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACzH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,qBAAsB,EAAtB,uCAAsB,EACtB,uBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,EAEvC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,qBAMc,EALf,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC,OAEtB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,+EAMoF,EALrF,cAAsB,EAAtB,uCAAsB,EACtB,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,GAAG,CAAC,CAAG,gBAAe,EAAf,sCAAe,EAAE,iBAAe,EAAf,sCAAe,EAAK,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,gBAAiD,EAA/C,cAAe,EAAf,sCAAe,EAAE,eAAe,EAAf,sCAAe,OAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CAAC,4CAAoF,EAAlF,cAAe,EAAf,sCAAe,EAAE,eAAe,EAAf,sCAAe,OAAoD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,GAAG,CAAC,CACA,qBAAe,EAAf,sCAAe,EACf,uBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,EAE3B,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,qBAMc,EALf,cAAe,EAAf,sCAAe,EACf,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB,OAEV,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC,CAAC,+EAMoF,EALrF,cAAe,EAAf,sCAAe,EACf,gBAG0C,EAH1C,mEAG0C,EAFtC,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.sourcemap.txt index 3e4d7a87855..97271e8f3d0 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.sourcemap.txt @@ -259,7 +259,7 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 8 > ^^ 9 > ^^^^^ 10> ^ -11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >let @@ -282,81 +282,75 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 9 >Emitted(10, 36) Source(27, 68) + SourceIndex(0) 10>Emitted(10, 37) Source(27, 69) + SourceIndex(0) --- ->>>for ((_a = robot.name, nameA = _a === void 0 ? "noName" : _a, robot), i = 0; i < 1; i++) { +>>>for (_a = robot.name, nameA = _a === void 0 ? "noName" : _a, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > 2 >for 3 > -4 > ( -5 > { -6 > name: nameA = "noName" -7 > -8 > name: nameA = "noName" -9 > } = -10> robot -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ({ +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > } = +9 > robot +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(11, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(11, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(11, 5) Source(29, 5) + SourceIndex(0) -4 >Emitted(11, 6) Source(29, 6) + SourceIndex(0) -5 >Emitted(11, 7) Source(29, 7) + SourceIndex(0) -6 >Emitted(11, 22) Source(29, 29) + SourceIndex(0) -7 >Emitted(11, 24) Source(29, 7) + SourceIndex(0) -8 >Emitted(11, 61) Source(29, 29) + SourceIndex(0) -9 >Emitted(11, 63) Source(29, 34) + SourceIndex(0) -10>Emitted(11, 68) Source(29, 39) + SourceIndex(0) -11>Emitted(11, 69) Source(29, 39) + SourceIndex(0) -12>Emitted(11, 71) Source(29, 41) + SourceIndex(0) -13>Emitted(11, 72) Source(29, 42) + SourceIndex(0) -14>Emitted(11, 75) Source(29, 45) + SourceIndex(0) -15>Emitted(11, 76) Source(29, 46) + SourceIndex(0) -16>Emitted(11, 78) Source(29, 48) + SourceIndex(0) -17>Emitted(11, 79) Source(29, 49) + SourceIndex(0) -18>Emitted(11, 82) Source(29, 52) + SourceIndex(0) -19>Emitted(11, 83) Source(29, 53) + SourceIndex(0) -20>Emitted(11, 85) Source(29, 55) + SourceIndex(0) -21>Emitted(11, 86) Source(29, 56) + SourceIndex(0) -22>Emitted(11, 88) Source(29, 58) + SourceIndex(0) -23>Emitted(11, 90) Source(29, 60) + SourceIndex(0) -24>Emitted(11, 91) Source(29, 61) + SourceIndex(0) +4 >Emitted(11, 6) Source(29, 7) + SourceIndex(0) +5 >Emitted(11, 21) Source(29, 29) + SourceIndex(0) +6 >Emitted(11, 23) Source(29, 7) + SourceIndex(0) +7 >Emitted(11, 60) Source(29, 29) + SourceIndex(0) +8 >Emitted(11, 62) Source(29, 34) + SourceIndex(0) +9 >Emitted(11, 67) Source(29, 39) + SourceIndex(0) +10>Emitted(11, 69) Source(29, 41) + SourceIndex(0) +11>Emitted(11, 70) Source(29, 42) + SourceIndex(0) +12>Emitted(11, 73) Source(29, 45) + SourceIndex(0) +13>Emitted(11, 74) Source(29, 46) + SourceIndex(0) +14>Emitted(11, 76) Source(29, 48) + SourceIndex(0) +15>Emitted(11, 77) Source(29, 49) + SourceIndex(0) +16>Emitted(11, 80) Source(29, 52) + SourceIndex(0) +17>Emitted(11, 81) Source(29, 53) + SourceIndex(0) +18>Emitted(11, 83) Source(29, 55) + SourceIndex(0) +19>Emitted(11, 84) Source(29, 56) + SourceIndex(0) +20>Emitted(11, 86) Source(29, 58) + SourceIndex(0) +21>Emitted(11, 88) Source(29, 60) + SourceIndex(0) +22>Emitted(11, 89) Source(29, 61) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -388,87 +382,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(13, 1) Source(31, 1) + SourceIndex(0) 2 >Emitted(13, 2) Source(31, 2) + SourceIndex(0) --- ->>>for ((_b = getRobot(), _c = _b.name, nameA = _c === void 0 ? "noName" : _c, _b), i = 0; i < 1; i++) { +>>>for (_b = getRobot(), _c = _b.name, nameA = _c === void 0 ? "noName" : _c, _b, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > {name: nameA = "noName" } = getRobot() -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> } = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > {name: nameA = "noName" } = getRobot() +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> } = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(14, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(14, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(14, 5) Source(32, 5) + SourceIndex(0) 4 >Emitted(14, 6) Source(32, 6) + SourceIndex(0) -5 >Emitted(14, 7) Source(32, 6) + SourceIndex(0) -6 >Emitted(14, 22) Source(32, 44) + SourceIndex(0) -7 >Emitted(14, 24) Source(32, 7) + SourceIndex(0) -8 >Emitted(14, 36) Source(32, 29) + SourceIndex(0) -9 >Emitted(14, 38) Source(32, 7) + SourceIndex(0) -10>Emitted(14, 75) Source(32, 29) + SourceIndex(0) -11>Emitted(14, 80) Source(32, 44) + SourceIndex(0) -12>Emitted(14, 82) Source(32, 46) + SourceIndex(0) -13>Emitted(14, 83) Source(32, 47) + SourceIndex(0) -14>Emitted(14, 86) Source(32, 50) + SourceIndex(0) -15>Emitted(14, 87) Source(32, 51) + SourceIndex(0) -16>Emitted(14, 89) Source(32, 53) + SourceIndex(0) -17>Emitted(14, 90) Source(32, 54) + SourceIndex(0) -18>Emitted(14, 93) Source(32, 57) + SourceIndex(0) -19>Emitted(14, 94) Source(32, 58) + SourceIndex(0) -20>Emitted(14, 96) Source(32, 60) + SourceIndex(0) -21>Emitted(14, 97) Source(32, 61) + SourceIndex(0) -22>Emitted(14, 99) Source(32, 63) + SourceIndex(0) -23>Emitted(14, 101) Source(32, 65) + SourceIndex(0) -24>Emitted(14, 102) Source(32, 66) + SourceIndex(0) +5 >Emitted(14, 21) Source(32, 44) + SourceIndex(0) +6 >Emitted(14, 23) Source(32, 7) + SourceIndex(0) +7 >Emitted(14, 35) Source(32, 29) + SourceIndex(0) +8 >Emitted(14, 37) Source(32, 7) + SourceIndex(0) +9 >Emitted(14, 74) Source(32, 29) + SourceIndex(0) +10>Emitted(14, 80) Source(32, 46) + SourceIndex(0) +11>Emitted(14, 81) Source(32, 47) + SourceIndex(0) +12>Emitted(14, 84) Source(32, 50) + SourceIndex(0) +13>Emitted(14, 85) Source(32, 51) + SourceIndex(0) +14>Emitted(14, 87) Source(32, 53) + SourceIndex(0) +15>Emitted(14, 88) Source(32, 54) + SourceIndex(0) +16>Emitted(14, 91) Source(32, 57) + SourceIndex(0) +17>Emitted(14, 92) Source(32, 58) + SourceIndex(0) +18>Emitted(14, 94) Source(32, 60) + SourceIndex(0) +19>Emitted(14, 95) Source(32, 61) + SourceIndex(0) +20>Emitted(14, 97) Source(32, 63) + SourceIndex(0) +21>Emitted(14, 99) Source(32, 65) + SourceIndex(0) +22>Emitted(14, 100) Source(32, 66) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -500,87 +488,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(16, 1) Source(34, 1) + SourceIndex(0) 2 >Emitted(16, 2) Source(34, 2) + SourceIndex(0) --- ->>>for ((_d = { name: "trimmer", skill: "trimming" }, _e = _d.name, nameA = _e === void 0 ? "noName" : _e, _d), i = 0; i < 1; i++) { +>>>for (_d = { name: "trimmer", skill: "trimming" }, _e = _d.name, nameA = _e === void 0 ? "noName" : _e, _d, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > {name: nameA = "noName" } = { name: "trimmer", skill: "trimming" } -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> } = { name: "trimmer", skill: "trimming" } -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > {name: nameA = "noName" } = { name: "trimmer", skill: "trimming" } +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> } = { name: "trimmer", skill: "trimming" }, +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(17, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(35, 5) + SourceIndex(0) 4 >Emitted(17, 6) Source(35, 6) + SourceIndex(0) -5 >Emitted(17, 7) Source(35, 6) + SourceIndex(0) -6 >Emitted(17, 50) Source(35, 79) + SourceIndex(0) -7 >Emitted(17, 52) Source(35, 7) + SourceIndex(0) -8 >Emitted(17, 64) Source(35, 29) + SourceIndex(0) -9 >Emitted(17, 66) Source(35, 7) + SourceIndex(0) -10>Emitted(17, 103) Source(35, 29) + SourceIndex(0) -11>Emitted(17, 108) Source(35, 79) + SourceIndex(0) -12>Emitted(17, 110) Source(35, 81) + SourceIndex(0) -13>Emitted(17, 111) Source(35, 82) + SourceIndex(0) -14>Emitted(17, 114) Source(35, 85) + SourceIndex(0) -15>Emitted(17, 115) Source(35, 86) + SourceIndex(0) -16>Emitted(17, 117) Source(35, 88) + SourceIndex(0) -17>Emitted(17, 118) Source(35, 89) + SourceIndex(0) -18>Emitted(17, 121) Source(35, 92) + SourceIndex(0) -19>Emitted(17, 122) Source(35, 93) + SourceIndex(0) -20>Emitted(17, 124) Source(35, 95) + SourceIndex(0) -21>Emitted(17, 125) Source(35, 96) + SourceIndex(0) -22>Emitted(17, 127) Source(35, 98) + SourceIndex(0) -23>Emitted(17, 129) Source(35, 100) + SourceIndex(0) -24>Emitted(17, 130) Source(35, 101) + SourceIndex(0) +5 >Emitted(17, 49) Source(35, 79) + SourceIndex(0) +6 >Emitted(17, 51) Source(35, 7) + SourceIndex(0) +7 >Emitted(17, 63) Source(35, 29) + SourceIndex(0) +8 >Emitted(17, 65) Source(35, 7) + SourceIndex(0) +9 >Emitted(17, 102) Source(35, 29) + SourceIndex(0) +10>Emitted(17, 108) Source(35, 81) + SourceIndex(0) +11>Emitted(17, 109) Source(35, 82) + SourceIndex(0) +12>Emitted(17, 112) Source(35, 85) + SourceIndex(0) +13>Emitted(17, 113) Source(35, 86) + SourceIndex(0) +14>Emitted(17, 115) Source(35, 88) + SourceIndex(0) +15>Emitted(17, 116) Source(35, 89) + SourceIndex(0) +16>Emitted(17, 119) Source(35, 92) + SourceIndex(0) +17>Emitted(17, 120) Source(35, 93) + SourceIndex(0) +18>Emitted(17, 122) Source(35, 95) + SourceIndex(0) +19>Emitted(17, 123) Source(35, 96) + SourceIndex(0) +20>Emitted(17, 125) Source(35, 98) + SourceIndex(0) +21>Emitted(17, 127) Source(35, 100) + SourceIndex(0) +22>Emitted(17, 128) Source(35, 101) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -612,121 +594,115 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(19, 1) Source(37, 1) + SourceIndex(0) 2 >Emitted(19, 2) Source(37, 2) + SourceIndex(0) --- ->>>for ((_f = multiRobot.skills, _g = _f === void 0 ? { primary: "none", secondary: "none" } : _f, _h = _g.primary, primaryA = _h === void 0 ? "primary" : _h, _j = _g.secondary, secondaryA = _j === void 0 ? "secondary" : _j, multiRobot), i = 0; i < 1; i++) { +>>>for (_f = multiRobot.skills, _g = _f === void 0 ? { primary: "none", secondary: "none" } : _f, _h = _g.primary, primaryA = _h === void 0 ? "primary" : _h, _j = _g.secondary, secondaryA = _j === void 0 ? "secondary" : _j, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > -4 > ( -5 > { - > -6 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -7 > -8 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> primary: primaryA = "primary" -11> -12> primary: primaryA = "primary" -13> , - > -14> secondary: secondaryA = "secondary" -15> -16> secondary: secondaryA = "secondary" -17> - > } = { primary: "none", secondary: "none" } - > } = -18> multiRobot -19> -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +4 > ({ + > +5 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +6 > +7 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > primary: primaryA = "primary" +10> +11> primary: primaryA = "primary" +12> , + > +13> secondary: secondaryA = "secondary" +14> +15> secondary: secondaryA = "secondary" +16> + > } = { primary: "none", secondary: "none" } + > } = +17> multiRobot +18> , +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(20, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(20, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(20, 5) Source(38, 5) + SourceIndex(0) -4 >Emitted(20, 6) Source(38, 6) + SourceIndex(0) -5 >Emitted(20, 7) Source(39, 5) + SourceIndex(0) -6 >Emitted(20, 29) Source(42, 47) + SourceIndex(0) -7 >Emitted(20, 31) Source(39, 5) + SourceIndex(0) -8 >Emitted(20, 95) Source(42, 47) + SourceIndex(0) -9 >Emitted(20, 97) Source(40, 9) + SourceIndex(0) -10>Emitted(20, 112) Source(40, 38) + SourceIndex(0) -11>Emitted(20, 114) Source(40, 9) + SourceIndex(0) -12>Emitted(20, 155) Source(40, 38) + SourceIndex(0) -13>Emitted(20, 157) Source(41, 9) + SourceIndex(0) -14>Emitted(20, 174) Source(41, 44) + SourceIndex(0) -15>Emitted(20, 176) Source(41, 9) + SourceIndex(0) -16>Emitted(20, 221) Source(41, 44) + SourceIndex(0) -17>Emitted(20, 223) Source(43, 5) + SourceIndex(0) -18>Emitted(20, 233) Source(43, 15) + SourceIndex(0) -19>Emitted(20, 234) Source(43, 15) + SourceIndex(0) -20>Emitted(20, 236) Source(43, 17) + SourceIndex(0) -21>Emitted(20, 237) Source(43, 18) + SourceIndex(0) -22>Emitted(20, 240) Source(43, 21) + SourceIndex(0) -23>Emitted(20, 241) Source(43, 22) + SourceIndex(0) -24>Emitted(20, 243) Source(43, 24) + SourceIndex(0) -25>Emitted(20, 244) Source(43, 25) + SourceIndex(0) -26>Emitted(20, 247) Source(43, 28) + SourceIndex(0) -27>Emitted(20, 248) Source(43, 29) + SourceIndex(0) -28>Emitted(20, 250) Source(43, 31) + SourceIndex(0) -29>Emitted(20, 251) Source(43, 32) + SourceIndex(0) -30>Emitted(20, 253) Source(43, 34) + SourceIndex(0) -31>Emitted(20, 255) Source(43, 36) + SourceIndex(0) -32>Emitted(20, 256) Source(43, 37) + SourceIndex(0) +4 >Emitted(20, 6) Source(39, 5) + SourceIndex(0) +5 >Emitted(20, 28) Source(42, 47) + SourceIndex(0) +6 >Emitted(20, 30) Source(39, 5) + SourceIndex(0) +7 >Emitted(20, 94) Source(42, 47) + SourceIndex(0) +8 >Emitted(20, 96) Source(40, 9) + SourceIndex(0) +9 >Emitted(20, 111) Source(40, 38) + SourceIndex(0) +10>Emitted(20, 113) Source(40, 9) + SourceIndex(0) +11>Emitted(20, 154) Source(40, 38) + SourceIndex(0) +12>Emitted(20, 156) Source(41, 9) + SourceIndex(0) +13>Emitted(20, 173) Source(41, 44) + SourceIndex(0) +14>Emitted(20, 175) Source(41, 9) + SourceIndex(0) +15>Emitted(20, 220) Source(41, 44) + SourceIndex(0) +16>Emitted(20, 222) Source(43, 5) + SourceIndex(0) +17>Emitted(20, 232) Source(43, 15) + SourceIndex(0) +18>Emitted(20, 234) Source(43, 17) + SourceIndex(0) +19>Emitted(20, 235) Source(43, 18) + SourceIndex(0) +20>Emitted(20, 238) Source(43, 21) + SourceIndex(0) +21>Emitted(20, 239) Source(43, 22) + SourceIndex(0) +22>Emitted(20, 241) Source(43, 24) + SourceIndex(0) +23>Emitted(20, 242) Source(43, 25) + SourceIndex(0) +24>Emitted(20, 245) Source(43, 28) + SourceIndex(0) +25>Emitted(20, 246) Source(43, 29) + SourceIndex(0) +26>Emitted(20, 248) Source(43, 31) + SourceIndex(0) +27>Emitted(20, 249) Source(43, 32) + SourceIndex(0) +28>Emitted(20, 251) Source(43, 34) + SourceIndex(0) +29>Emitted(20, 253) Source(43, 36) + SourceIndex(0) +30>Emitted(20, 254) Source(43, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -758,125 +734,119 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(22, 1) Source(45, 1) + SourceIndex(0) 2 >Emitted(22, 2) Source(45, 2) + SourceIndex(0) --- ->>>for ((_k = getMultiRobot(), _l = _k.skills, _m = _l === void 0 ? { primary: "none", secondary: "none" } : _l, _o = _m.primary, primaryA = _o === void 0 ? "primary" : _o, _p = _m.secondary, secondaryA = _p === void 0 ? "secondary" : _p, _k), i = 0; i < 1; i++) { +>>>for (_k = getMultiRobot(), _l = _k.skills, _m = _l === void 0 ? { primary: "none", secondary: "none" } : _l, _o = _m.primary, primaryA = _o === void 0 ? "primary" : _o, _p = _m.secondary, secondaryA = _p === void 0 ? "secondary" : _p, _k, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -7 > -8 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , - > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -19> - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > { + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot() +6 > +7 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> primary: primaryA = "primary" +12> +13> primary: primaryA = "primary" +14> , + > +15> secondary: secondaryA = "secondary" +16> +17> secondary: secondaryA = "secondary" +18> + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot(), +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(23, 1) Source(46, 1) + SourceIndex(0) 2 >Emitted(23, 4) Source(46, 4) + SourceIndex(0) 3 >Emitted(23, 5) Source(46, 5) + SourceIndex(0) 4 >Emitted(23, 6) Source(46, 6) + SourceIndex(0) -5 >Emitted(23, 7) Source(46, 6) + SourceIndex(0) -6 >Emitted(23, 27) Source(51, 20) + SourceIndex(0) -7 >Emitted(23, 29) Source(47, 5) + SourceIndex(0) -8 >Emitted(23, 43) Source(50, 47) + SourceIndex(0) -9 >Emitted(23, 45) Source(47, 5) + SourceIndex(0) -10>Emitted(23, 109) Source(50, 47) + SourceIndex(0) -11>Emitted(23, 111) Source(48, 9) + SourceIndex(0) -12>Emitted(23, 126) Source(48, 38) + SourceIndex(0) -13>Emitted(23, 128) Source(48, 9) + SourceIndex(0) -14>Emitted(23, 169) Source(48, 38) + SourceIndex(0) -15>Emitted(23, 171) Source(49, 9) + SourceIndex(0) -16>Emitted(23, 188) Source(49, 44) + SourceIndex(0) -17>Emitted(23, 190) Source(49, 9) + SourceIndex(0) -18>Emitted(23, 235) Source(49, 44) + SourceIndex(0) -19>Emitted(23, 240) Source(51, 20) + SourceIndex(0) -20>Emitted(23, 242) Source(51, 22) + SourceIndex(0) -21>Emitted(23, 243) Source(51, 23) + SourceIndex(0) -22>Emitted(23, 246) Source(51, 26) + SourceIndex(0) -23>Emitted(23, 247) Source(51, 27) + SourceIndex(0) -24>Emitted(23, 249) Source(51, 29) + SourceIndex(0) -25>Emitted(23, 250) Source(51, 30) + SourceIndex(0) -26>Emitted(23, 253) Source(51, 33) + SourceIndex(0) -27>Emitted(23, 254) Source(51, 34) + SourceIndex(0) -28>Emitted(23, 256) Source(51, 36) + SourceIndex(0) -29>Emitted(23, 257) Source(51, 37) + SourceIndex(0) -30>Emitted(23, 259) Source(51, 39) + SourceIndex(0) -31>Emitted(23, 261) Source(51, 41) + SourceIndex(0) -32>Emitted(23, 262) Source(51, 42) + SourceIndex(0) +5 >Emitted(23, 26) Source(51, 20) + SourceIndex(0) +6 >Emitted(23, 28) Source(47, 5) + SourceIndex(0) +7 >Emitted(23, 42) Source(50, 47) + SourceIndex(0) +8 >Emitted(23, 44) Source(47, 5) + SourceIndex(0) +9 >Emitted(23, 108) Source(50, 47) + SourceIndex(0) +10>Emitted(23, 110) Source(48, 9) + SourceIndex(0) +11>Emitted(23, 125) Source(48, 38) + SourceIndex(0) +12>Emitted(23, 127) Source(48, 9) + SourceIndex(0) +13>Emitted(23, 168) Source(48, 38) + SourceIndex(0) +14>Emitted(23, 170) Source(49, 9) + SourceIndex(0) +15>Emitted(23, 187) Source(49, 44) + SourceIndex(0) +16>Emitted(23, 189) Source(49, 9) + SourceIndex(0) +17>Emitted(23, 234) Source(49, 44) + SourceIndex(0) +18>Emitted(23, 240) Source(51, 22) + SourceIndex(0) +19>Emitted(23, 241) Source(51, 23) + SourceIndex(0) +20>Emitted(23, 244) Source(51, 26) + SourceIndex(0) +21>Emitted(23, 245) Source(51, 27) + SourceIndex(0) +22>Emitted(23, 247) Source(51, 29) + SourceIndex(0) +23>Emitted(23, 248) Source(51, 30) + SourceIndex(0) +24>Emitted(23, 251) Source(51, 33) + SourceIndex(0) +25>Emitted(23, 252) Source(51, 34) + SourceIndex(0) +26>Emitted(23, 254) Source(51, 36) + SourceIndex(0) +27>Emitted(23, 255) Source(51, 37) + SourceIndex(0) +28>Emitted(23, 257) Source(51, 39) + SourceIndex(0) +29>Emitted(23, 259) Source(51, 41) + SourceIndex(0) +30>Emitted(23, 260) Source(51, 42) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -908,86 +878,78 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(25, 1) Source(53, 1) + SourceIndex(0) 2 >Emitted(25, 2) Source(53, 2) + SourceIndex(0) --- ->>>for ((_q = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _r = _q.skills, _s = _r === void 0 ? { primary: "none", secondary: "none" } : _r, _t = _s.primary, primaryA = _t === void 0 ? "primary" : _t, _u = _s.secondary, secondaryA = _u === void 0 ? "secondary" : _u, _q), +>>>for (_q = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _r = _q.skills, _s = _r === void 0 ? { primary: "none", secondary: "none" } : _r, _t = _s.primary, primaryA = _t === void 0 ? "primary" : _t, _u = _s.secondary, secondaryA = _u === void 0 ? "secondary" : _u, _q, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , - > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -19> - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } + > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> primary: primaryA = "primary" +12> +13> primary: primaryA = "primary" +14> , + > +15> secondary: secondaryA = "secondary" +16> +17> secondary: secondaryA = "secondary" 1->Emitted(26, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(26, 4) Source(54, 4) + SourceIndex(0) 3 >Emitted(26, 5) Source(54, 5) + SourceIndex(0) 4 >Emitted(26, 6) Source(54, 6) + SourceIndex(0) -5 >Emitted(26, 7) Source(54, 6) + SourceIndex(0) -6 >Emitted(26, 85) Source(59, 90) + SourceIndex(0) -7 >Emitted(26, 87) Source(55, 5) + SourceIndex(0) -8 >Emitted(26, 101) Source(58, 47) + SourceIndex(0) -9 >Emitted(26, 103) Source(55, 5) + SourceIndex(0) -10>Emitted(26, 167) Source(58, 47) + SourceIndex(0) -11>Emitted(26, 169) Source(56, 9) + SourceIndex(0) -12>Emitted(26, 184) Source(56, 38) + SourceIndex(0) -13>Emitted(26, 186) Source(56, 9) + SourceIndex(0) -14>Emitted(26, 227) Source(56, 38) + SourceIndex(0) -15>Emitted(26, 229) Source(57, 9) + SourceIndex(0) -16>Emitted(26, 246) Source(57, 44) + SourceIndex(0) -17>Emitted(26, 248) Source(57, 9) + SourceIndex(0) -18>Emitted(26, 293) Source(57, 44) + SourceIndex(0) -19>Emitted(26, 298) Source(59, 90) + SourceIndex(0) +5 >Emitted(26, 84) Source(59, 90) + SourceIndex(0) +6 >Emitted(26, 86) Source(55, 5) + SourceIndex(0) +7 >Emitted(26, 100) Source(58, 47) + SourceIndex(0) +8 >Emitted(26, 102) Source(55, 5) + SourceIndex(0) +9 >Emitted(26, 166) Source(58, 47) + SourceIndex(0) +10>Emitted(26, 168) Source(56, 9) + SourceIndex(0) +11>Emitted(26, 183) Source(56, 38) + SourceIndex(0) +12>Emitted(26, 185) Source(56, 9) + SourceIndex(0) +13>Emitted(26, 226) Source(56, 38) + SourceIndex(0) +14>Emitted(26, 228) Source(57, 9) + SourceIndex(0) +15>Emitted(26, 245) Source(57, 44) + SourceIndex(0) +16>Emitted(26, 247) Source(57, 9) + SourceIndex(0) +17>Emitted(26, 292) Source(57, 44) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -1004,7 +966,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > + > } = { primary: "none", secondary: "none" } + >} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -1062,88 +1026,82 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(29, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(29, 2) Source(62, 2) + SourceIndex(0) --- ->>>for ((_v = robot.name, name = _v === void 0 ? "noName" : _v, robot), i = 0; i < 1; i++) { +>>>for (_v = robot.name, name = _v === void 0 ? "noName" : _v, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^ -11> ^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^ +10> ^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > > 2 >for 3 > -4 > ( -5 > { -6 > name = "noName" -7 > -8 > name = "noName" -9 > } = -10> robot -11> -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +4 > ({ +5 > name = "noName" +6 > +7 > name = "noName" +8 > } = +9 > robot +10> , +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(30, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(30, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(30, 5) Source(64, 5) + SourceIndex(0) -4 >Emitted(30, 6) Source(64, 6) + SourceIndex(0) -5 >Emitted(30, 7) Source(64, 8) + SourceIndex(0) -6 >Emitted(30, 22) Source(64, 23) + SourceIndex(0) -7 >Emitted(30, 24) Source(64, 8) + SourceIndex(0) -8 >Emitted(30, 60) Source(64, 23) + SourceIndex(0) -9 >Emitted(30, 62) Source(64, 28) + SourceIndex(0) -10>Emitted(30, 67) Source(64, 33) + SourceIndex(0) -11>Emitted(30, 68) Source(64, 33) + SourceIndex(0) -12>Emitted(30, 70) Source(64, 35) + SourceIndex(0) -13>Emitted(30, 71) Source(64, 36) + SourceIndex(0) -14>Emitted(30, 74) Source(64, 39) + SourceIndex(0) -15>Emitted(30, 75) Source(64, 40) + SourceIndex(0) -16>Emitted(30, 77) Source(64, 42) + SourceIndex(0) -17>Emitted(30, 78) Source(64, 43) + SourceIndex(0) -18>Emitted(30, 81) Source(64, 46) + SourceIndex(0) -19>Emitted(30, 82) Source(64, 47) + SourceIndex(0) -20>Emitted(30, 84) Source(64, 49) + SourceIndex(0) -21>Emitted(30, 85) Source(64, 50) + SourceIndex(0) -22>Emitted(30, 87) Source(64, 52) + SourceIndex(0) -23>Emitted(30, 89) Source(64, 54) + SourceIndex(0) -24>Emitted(30, 90) Source(64, 55) + SourceIndex(0) +4 >Emitted(30, 6) Source(64, 8) + SourceIndex(0) +5 >Emitted(30, 21) Source(64, 23) + SourceIndex(0) +6 >Emitted(30, 23) Source(64, 8) + SourceIndex(0) +7 >Emitted(30, 59) Source(64, 23) + SourceIndex(0) +8 >Emitted(30, 61) Source(64, 28) + SourceIndex(0) +9 >Emitted(30, 66) Source(64, 33) + SourceIndex(0) +10>Emitted(30, 68) Source(64, 35) + SourceIndex(0) +11>Emitted(30, 69) Source(64, 36) + SourceIndex(0) +12>Emitted(30, 72) Source(64, 39) + SourceIndex(0) +13>Emitted(30, 73) Source(64, 40) + SourceIndex(0) +14>Emitted(30, 75) Source(64, 42) + SourceIndex(0) +15>Emitted(30, 76) Source(64, 43) + SourceIndex(0) +16>Emitted(30, 79) Source(64, 46) + SourceIndex(0) +17>Emitted(30, 80) Source(64, 47) + SourceIndex(0) +18>Emitted(30, 82) Source(64, 49) + SourceIndex(0) +19>Emitted(30, 83) Source(64, 50) + SourceIndex(0) +20>Emitted(30, 85) Source(64, 52) + SourceIndex(0) +21>Emitted(30, 87) Source(64, 54) + SourceIndex(0) +22>Emitted(30, 88) Source(64, 55) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1175,87 +1133,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(32, 1) Source(66, 1) + SourceIndex(0) 2 >Emitted(32, 2) Source(66, 2) + SourceIndex(0) --- ->>>for ((_w = getRobot(), _x = _w.name, name = _x === void 0 ? "noName" : _x, _w), i = 0; i < 1; i++) { +>>>for (_w = getRobot(), _x = _w.name, name = _x === void 0 ? "noName" : _x, _w, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name = "noName" } = getRobot() -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> } = getRobot() -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name = "noName" } = getRobot() +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> } = getRobot(), +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(33, 1) Source(67, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(67, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(67, 5) + SourceIndex(0) 4 >Emitted(33, 6) Source(67, 6) + SourceIndex(0) -5 >Emitted(33, 7) Source(67, 6) + SourceIndex(0) -6 >Emitted(33, 22) Source(67, 38) + SourceIndex(0) -7 >Emitted(33, 24) Source(67, 8) + SourceIndex(0) -8 >Emitted(33, 36) Source(67, 23) + SourceIndex(0) -9 >Emitted(33, 38) Source(67, 8) + SourceIndex(0) -10>Emitted(33, 74) Source(67, 23) + SourceIndex(0) -11>Emitted(33, 79) Source(67, 38) + SourceIndex(0) -12>Emitted(33, 81) Source(67, 40) + SourceIndex(0) -13>Emitted(33, 82) Source(67, 41) + SourceIndex(0) -14>Emitted(33, 85) Source(67, 44) + SourceIndex(0) -15>Emitted(33, 86) Source(67, 45) + SourceIndex(0) -16>Emitted(33, 88) Source(67, 47) + SourceIndex(0) -17>Emitted(33, 89) Source(67, 48) + SourceIndex(0) -18>Emitted(33, 92) Source(67, 51) + SourceIndex(0) -19>Emitted(33, 93) Source(67, 52) + SourceIndex(0) -20>Emitted(33, 95) Source(67, 54) + SourceIndex(0) -21>Emitted(33, 96) Source(67, 55) + SourceIndex(0) -22>Emitted(33, 98) Source(67, 57) + SourceIndex(0) -23>Emitted(33, 100) Source(67, 59) + SourceIndex(0) -24>Emitted(33, 101) Source(67, 60) + SourceIndex(0) +5 >Emitted(33, 21) Source(67, 38) + SourceIndex(0) +6 >Emitted(33, 23) Source(67, 8) + SourceIndex(0) +7 >Emitted(33, 35) Source(67, 23) + SourceIndex(0) +8 >Emitted(33, 37) Source(67, 8) + SourceIndex(0) +9 >Emitted(33, 73) Source(67, 23) + SourceIndex(0) +10>Emitted(33, 79) Source(67, 40) + SourceIndex(0) +11>Emitted(33, 80) Source(67, 41) + SourceIndex(0) +12>Emitted(33, 83) Source(67, 44) + SourceIndex(0) +13>Emitted(33, 84) Source(67, 45) + SourceIndex(0) +14>Emitted(33, 86) Source(67, 47) + SourceIndex(0) +15>Emitted(33, 87) Source(67, 48) + SourceIndex(0) +16>Emitted(33, 90) Source(67, 51) + SourceIndex(0) +17>Emitted(33, 91) Source(67, 52) + SourceIndex(0) +18>Emitted(33, 93) Source(67, 54) + SourceIndex(0) +19>Emitted(33, 94) Source(67, 55) + SourceIndex(0) +20>Emitted(33, 96) Source(67, 57) + SourceIndex(0) +21>Emitted(33, 98) Source(67, 59) + SourceIndex(0) +22>Emitted(33, 99) Source(67, 60) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1287,87 +1239,81 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(35, 1) Source(69, 1) + SourceIndex(0) 2 >Emitted(35, 2) Source(69, 2) + SourceIndex(0) --- ->>>for ((_y = { name: "trimmer", skill: "trimming" }, _z = _y.name, name = _z === void 0 ? "noName" : _z, _y), i = 0; i < 1; i++) { +>>>for (_y = { name: "trimmer", skill: "trimming" }, _z = _y.name, name = _z === void 0 ? "noName" : _z, _y, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^^^^ -12> ^^ -13> ^ -14> ^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^ -23> ^^ -24> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^ +11> ^ +12> ^^^ +13> ^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^ +21> ^^ +22> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name = "noName" } = { name: "trimmer", skill: "trimming" } -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> } = { name: "trimmer", skill: "trimming" } -12> , -13> i -14> = -15> 0 -16> ; -17> i -18> < -19> 1 -20> ; -21> i -22> ++ -23> ) -24> { +5 > { name = "noName" } = { name: "trimmer", skill: "trimming" } +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> } = { name: "trimmer", skill: "trimming" }, +11> i +12> = +13> 0 +14> ; +15> i +16> < +17> 1 +18> ; +19> i +20> ++ +21> ) +22> { 1->Emitted(36, 1) Source(70, 1) + SourceIndex(0) 2 >Emitted(36, 4) Source(70, 4) + SourceIndex(0) 3 >Emitted(36, 5) Source(70, 5) + SourceIndex(0) 4 >Emitted(36, 6) Source(70, 6) + SourceIndex(0) -5 >Emitted(36, 7) Source(70, 6) + SourceIndex(0) -6 >Emitted(36, 50) Source(70, 73) + SourceIndex(0) -7 >Emitted(36, 52) Source(70, 8) + SourceIndex(0) -8 >Emitted(36, 64) Source(70, 23) + SourceIndex(0) -9 >Emitted(36, 66) Source(70, 8) + SourceIndex(0) -10>Emitted(36, 102) Source(70, 23) + SourceIndex(0) -11>Emitted(36, 107) Source(70, 73) + SourceIndex(0) -12>Emitted(36, 109) Source(70, 75) + SourceIndex(0) -13>Emitted(36, 110) Source(70, 76) + SourceIndex(0) -14>Emitted(36, 113) Source(70, 79) + SourceIndex(0) -15>Emitted(36, 114) Source(70, 80) + SourceIndex(0) -16>Emitted(36, 116) Source(70, 82) + SourceIndex(0) -17>Emitted(36, 117) Source(70, 83) + SourceIndex(0) -18>Emitted(36, 120) Source(70, 86) + SourceIndex(0) -19>Emitted(36, 121) Source(70, 87) + SourceIndex(0) -20>Emitted(36, 123) Source(70, 89) + SourceIndex(0) -21>Emitted(36, 124) Source(70, 90) + SourceIndex(0) -22>Emitted(36, 126) Source(70, 92) + SourceIndex(0) -23>Emitted(36, 128) Source(70, 94) + SourceIndex(0) -24>Emitted(36, 129) Source(70, 95) + SourceIndex(0) +5 >Emitted(36, 49) Source(70, 73) + SourceIndex(0) +6 >Emitted(36, 51) Source(70, 8) + SourceIndex(0) +7 >Emitted(36, 63) Source(70, 23) + SourceIndex(0) +8 >Emitted(36, 65) Source(70, 8) + SourceIndex(0) +9 >Emitted(36, 101) Source(70, 23) + SourceIndex(0) +10>Emitted(36, 107) Source(70, 75) + SourceIndex(0) +11>Emitted(36, 108) Source(70, 76) + SourceIndex(0) +12>Emitted(36, 111) Source(70, 79) + SourceIndex(0) +13>Emitted(36, 112) Source(70, 80) + SourceIndex(0) +14>Emitted(36, 114) Source(70, 82) + SourceIndex(0) +15>Emitted(36, 115) Source(70, 83) + SourceIndex(0) +16>Emitted(36, 118) Source(70, 86) + SourceIndex(0) +17>Emitted(36, 119) Source(70, 87) + SourceIndex(0) +18>Emitted(36, 121) Source(70, 89) + SourceIndex(0) +19>Emitted(36, 122) Source(70, 90) + SourceIndex(0) +20>Emitted(36, 124) Source(70, 92) + SourceIndex(0) +21>Emitted(36, 126) Source(70, 94) + SourceIndex(0) +22>Emitted(36, 127) Source(70, 95) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1399,121 +1345,115 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(38, 1) Source(72, 1) + SourceIndex(0) 2 >Emitted(38, 2) Source(72, 2) + SourceIndex(0) --- ->>>for ((_0 = multiRobot.skills, _1 = _0 === void 0 ? { primary: "none", secondary: "none" } : _0, _2 = _1.primary, primary = _2 === void 0 ? "primary" : _2, _3 = _1.secondary, secondary = _3 === void 0 ? "secondary" : _3, multiRobot), i = 0; i < 1; i++) { +>>>for (_0 = multiRobot.skills, _1 = _0 === void 0 ? { primary: "none", secondary: "none" } : _0, _2 = _1.primary, primary = _2 === void 0 ? "primary" : _2, _3 = _1.secondary, secondary = _3 === void 0 ? "secondary" : _3, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > -4 > ( -5 > { - > -6 > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -7 > -8 > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> primary = "primary" -11> -12> primary = "primary" -13> , - > -14> secondary = "secondary" -15> -16> secondary = "secondary" -17> - > } = { primary: "none", secondary: "none" } - > } = -18> multiRobot -19> -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +4 > ({ + > +5 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +6 > +7 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > primary = "primary" +10> +11> primary = "primary" +12> , + > +13> secondary = "secondary" +14> +15> secondary = "secondary" +16> + > } = { primary: "none", secondary: "none" } + > } = +17> multiRobot +18> , +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(39, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(73, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(73, 5) + SourceIndex(0) -4 >Emitted(39, 6) Source(73, 6) + SourceIndex(0) -5 >Emitted(39, 7) Source(74, 5) + SourceIndex(0) -6 >Emitted(39, 29) Source(77, 47) + SourceIndex(0) -7 >Emitted(39, 31) Source(74, 5) + SourceIndex(0) -8 >Emitted(39, 95) Source(77, 47) + SourceIndex(0) -9 >Emitted(39, 97) Source(75, 9) + SourceIndex(0) -10>Emitted(39, 112) Source(75, 28) + SourceIndex(0) -11>Emitted(39, 114) Source(75, 9) + SourceIndex(0) -12>Emitted(39, 154) Source(75, 28) + SourceIndex(0) -13>Emitted(39, 156) Source(76, 9) + SourceIndex(0) -14>Emitted(39, 173) Source(76, 32) + SourceIndex(0) -15>Emitted(39, 175) Source(76, 9) + SourceIndex(0) -16>Emitted(39, 219) Source(76, 32) + SourceIndex(0) -17>Emitted(39, 221) Source(78, 5) + SourceIndex(0) -18>Emitted(39, 231) Source(78, 15) + SourceIndex(0) -19>Emitted(39, 232) Source(78, 15) + SourceIndex(0) -20>Emitted(39, 234) Source(78, 17) + SourceIndex(0) -21>Emitted(39, 235) Source(78, 18) + SourceIndex(0) -22>Emitted(39, 238) Source(78, 21) + SourceIndex(0) -23>Emitted(39, 239) Source(78, 22) + SourceIndex(0) -24>Emitted(39, 241) Source(78, 24) + SourceIndex(0) -25>Emitted(39, 242) Source(78, 25) + SourceIndex(0) -26>Emitted(39, 245) Source(78, 28) + SourceIndex(0) -27>Emitted(39, 246) Source(78, 29) + SourceIndex(0) -28>Emitted(39, 248) Source(78, 31) + SourceIndex(0) -29>Emitted(39, 249) Source(78, 32) + SourceIndex(0) -30>Emitted(39, 251) Source(78, 34) + SourceIndex(0) -31>Emitted(39, 253) Source(78, 36) + SourceIndex(0) -32>Emitted(39, 254) Source(78, 37) + SourceIndex(0) +4 >Emitted(39, 6) Source(74, 5) + SourceIndex(0) +5 >Emitted(39, 28) Source(77, 47) + SourceIndex(0) +6 >Emitted(39, 30) Source(74, 5) + SourceIndex(0) +7 >Emitted(39, 94) Source(77, 47) + SourceIndex(0) +8 >Emitted(39, 96) Source(75, 9) + SourceIndex(0) +9 >Emitted(39, 111) Source(75, 28) + SourceIndex(0) +10>Emitted(39, 113) Source(75, 9) + SourceIndex(0) +11>Emitted(39, 153) Source(75, 28) + SourceIndex(0) +12>Emitted(39, 155) Source(76, 9) + SourceIndex(0) +13>Emitted(39, 172) Source(76, 32) + SourceIndex(0) +14>Emitted(39, 174) Source(76, 9) + SourceIndex(0) +15>Emitted(39, 218) Source(76, 32) + SourceIndex(0) +16>Emitted(39, 220) Source(78, 5) + SourceIndex(0) +17>Emitted(39, 230) Source(78, 15) + SourceIndex(0) +18>Emitted(39, 232) Source(78, 17) + SourceIndex(0) +19>Emitted(39, 233) Source(78, 18) + SourceIndex(0) +20>Emitted(39, 236) Source(78, 21) + SourceIndex(0) +21>Emitted(39, 237) Source(78, 22) + SourceIndex(0) +22>Emitted(39, 239) Source(78, 24) + SourceIndex(0) +23>Emitted(39, 240) Source(78, 25) + SourceIndex(0) +24>Emitted(39, 243) Source(78, 28) + SourceIndex(0) +25>Emitted(39, 244) Source(78, 29) + SourceIndex(0) +26>Emitted(39, 246) Source(78, 31) + SourceIndex(0) +27>Emitted(39, 247) Source(78, 32) + SourceIndex(0) +28>Emitted(39, 249) Source(78, 34) + SourceIndex(0) +29>Emitted(39, 251) Source(78, 36) + SourceIndex(0) +30>Emitted(39, 252) Source(78, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1545,125 +1485,119 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(41, 1) Source(80, 1) + SourceIndex(0) 2 >Emitted(41, 2) Source(80, 2) + SourceIndex(0) --- ->>>for ((_4 = getMultiRobot(), _5 = _4.skills, _6 = _5 === void 0 ? { primary: "none", secondary: "none" } : _5, _7 = _6.primary, primary = _7 === void 0 ? "primary" : _7, _8 = _6.secondary, secondary = _8 === void 0 ? "secondary" : _8, _4), i = 0; i < 1; i++) { +>>>for (_4 = getMultiRobot(), _5 = _4.skills, _6 = _5 === void 0 ? { primary: "none", secondary: "none" } : _5, _7 = _6.primary, primary = _7 === void 0 ? "primary" : _7, _8 = _6.secondary, secondary = _8 === void 0 ? "secondary" : _8, _4, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^ -31> ^^ -32> ^ +5 > ^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^ +29> ^^ +30> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -7 > -8 > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> primary = "primary" -13> -14> primary = "primary" -15> , - > -16> secondary = "secondary" -17> -18> secondary = "secondary" -19> - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -20> , -21> i -22> = -23> 0 -24> ; -25> i -26> < -27> 1 -28> ; -29> i -30> ++ -31> ) -32> { +5 > { + > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot() +6 > +7 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> primary = "primary" +12> +13> primary = "primary" +14> , + > +15> secondary = "secondary" +16> +17> secondary = "secondary" +18> + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot(), +19> i +20> = +21> 0 +22> ; +23> i +24> < +25> 1 +26> ; +27> i +28> ++ +29> ) +30> { 1->Emitted(42, 1) Source(81, 1) + SourceIndex(0) 2 >Emitted(42, 4) Source(81, 4) + SourceIndex(0) 3 >Emitted(42, 5) Source(81, 5) + SourceIndex(0) 4 >Emitted(42, 6) Source(81, 6) + SourceIndex(0) -5 >Emitted(42, 7) Source(81, 6) + SourceIndex(0) -6 >Emitted(42, 27) Source(86, 20) + SourceIndex(0) -7 >Emitted(42, 29) Source(82, 5) + SourceIndex(0) -8 >Emitted(42, 43) Source(85, 47) + SourceIndex(0) -9 >Emitted(42, 45) Source(82, 5) + SourceIndex(0) -10>Emitted(42, 109) Source(85, 47) + SourceIndex(0) -11>Emitted(42, 111) Source(83, 9) + SourceIndex(0) -12>Emitted(42, 126) Source(83, 28) + SourceIndex(0) -13>Emitted(42, 128) Source(83, 9) + SourceIndex(0) -14>Emitted(42, 168) Source(83, 28) + SourceIndex(0) -15>Emitted(42, 170) Source(84, 9) + SourceIndex(0) -16>Emitted(42, 187) Source(84, 32) + SourceIndex(0) -17>Emitted(42, 189) Source(84, 9) + SourceIndex(0) -18>Emitted(42, 233) Source(84, 32) + SourceIndex(0) -19>Emitted(42, 238) Source(86, 20) + SourceIndex(0) -20>Emitted(42, 240) Source(86, 22) + SourceIndex(0) -21>Emitted(42, 241) Source(86, 23) + SourceIndex(0) -22>Emitted(42, 244) Source(86, 26) + SourceIndex(0) -23>Emitted(42, 245) Source(86, 27) + SourceIndex(0) -24>Emitted(42, 247) Source(86, 29) + SourceIndex(0) -25>Emitted(42, 248) Source(86, 30) + SourceIndex(0) -26>Emitted(42, 251) Source(86, 33) + SourceIndex(0) -27>Emitted(42, 252) Source(86, 34) + SourceIndex(0) -28>Emitted(42, 254) Source(86, 36) + SourceIndex(0) -29>Emitted(42, 255) Source(86, 37) + SourceIndex(0) -30>Emitted(42, 257) Source(86, 39) + SourceIndex(0) -31>Emitted(42, 259) Source(86, 41) + SourceIndex(0) -32>Emitted(42, 260) Source(86, 42) + SourceIndex(0) +5 >Emitted(42, 26) Source(86, 20) + SourceIndex(0) +6 >Emitted(42, 28) Source(82, 5) + SourceIndex(0) +7 >Emitted(42, 42) Source(85, 47) + SourceIndex(0) +8 >Emitted(42, 44) Source(82, 5) + SourceIndex(0) +9 >Emitted(42, 108) Source(85, 47) + SourceIndex(0) +10>Emitted(42, 110) Source(83, 9) + SourceIndex(0) +11>Emitted(42, 125) Source(83, 28) + SourceIndex(0) +12>Emitted(42, 127) Source(83, 9) + SourceIndex(0) +13>Emitted(42, 167) Source(83, 28) + SourceIndex(0) +14>Emitted(42, 169) Source(84, 9) + SourceIndex(0) +15>Emitted(42, 186) Source(84, 32) + SourceIndex(0) +16>Emitted(42, 188) Source(84, 9) + SourceIndex(0) +17>Emitted(42, 232) Source(84, 32) + SourceIndex(0) +18>Emitted(42, 238) Source(86, 22) + SourceIndex(0) +19>Emitted(42, 239) Source(86, 23) + SourceIndex(0) +20>Emitted(42, 242) Source(86, 26) + SourceIndex(0) +21>Emitted(42, 243) Source(86, 27) + SourceIndex(0) +22>Emitted(42, 245) Source(86, 29) + SourceIndex(0) +23>Emitted(42, 246) Source(86, 30) + SourceIndex(0) +24>Emitted(42, 249) Source(86, 33) + SourceIndex(0) +25>Emitted(42, 250) Source(86, 34) + SourceIndex(0) +26>Emitted(42, 252) Source(86, 36) + SourceIndex(0) +27>Emitted(42, 253) Source(86, 37) + SourceIndex(0) +28>Emitted(42, 255) Source(86, 39) + SourceIndex(0) +29>Emitted(42, 257) Source(86, 41) + SourceIndex(0) +30>Emitted(42, 258) Source(86, 42) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1695,86 +1629,78 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(44, 1) Source(88, 1) + SourceIndex(0) 2 >Emitted(44, 2) Source(88, 2) + SourceIndex(0) --- ->>>for ((_9 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _10 = _9.skills, _11 = _10 === void 0 ? { primary: "none", secondary: "none" } : _10, _12 = _11.primary, primary = _12 === void 0 ? "primary" : _12, _13 = _11.secondary, secondary = _13 === void 0 ? "secondary" : _13, _9), +>>>for (_9 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _10 = _9.skills, _11 = _10 === void 0 ? { primary: "none", secondary: "none" } : _10, _12 = _11.primary, primary = _12 === void 0 ? "primary" : _12, _13 = _11.secondary, secondary = _13 === void 0 ? "secondary" : _13, _9, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -9 > -10> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> primary = "primary" -13> -14> primary = "primary" -15> , - > -16> secondary = "secondary" -17> -18> secondary = "secondary" -19> - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { + > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } + > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +8 > +9 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> primary = "primary" +12> +13> primary = "primary" +14> , + > +15> secondary = "secondary" +16> +17> secondary = "secondary" 1->Emitted(45, 1) Source(89, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(89, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(89, 5) + SourceIndex(0) 4 >Emitted(45, 6) Source(89, 6) + SourceIndex(0) -5 >Emitted(45, 7) Source(89, 6) + SourceIndex(0) -6 >Emitted(45, 85) Source(94, 90) + SourceIndex(0) -7 >Emitted(45, 87) Source(90, 5) + SourceIndex(0) -8 >Emitted(45, 102) Source(93, 47) + SourceIndex(0) -9 >Emitted(45, 104) Source(90, 5) + SourceIndex(0) -10>Emitted(45, 171) Source(93, 47) + SourceIndex(0) -11>Emitted(45, 173) Source(91, 9) + SourceIndex(0) -12>Emitted(45, 190) Source(91, 28) + SourceIndex(0) -13>Emitted(45, 192) Source(91, 9) + SourceIndex(0) -14>Emitted(45, 234) Source(91, 28) + SourceIndex(0) -15>Emitted(45, 236) Source(92, 9) + SourceIndex(0) -16>Emitted(45, 255) Source(92, 32) + SourceIndex(0) -17>Emitted(45, 257) Source(92, 9) + SourceIndex(0) -18>Emitted(45, 303) Source(92, 32) + SourceIndex(0) -19>Emitted(45, 308) Source(94, 90) + SourceIndex(0) +5 >Emitted(45, 84) Source(94, 90) + SourceIndex(0) +6 >Emitted(45, 86) Source(90, 5) + SourceIndex(0) +7 >Emitted(45, 101) Source(93, 47) + SourceIndex(0) +8 >Emitted(45, 103) Source(90, 5) + SourceIndex(0) +9 >Emitted(45, 170) Source(93, 47) + SourceIndex(0) +10>Emitted(45, 172) Source(91, 9) + SourceIndex(0) +11>Emitted(45, 189) Source(91, 28) + SourceIndex(0) +12>Emitted(45, 191) Source(91, 9) + SourceIndex(0) +13>Emitted(45, 233) Source(91, 28) + SourceIndex(0) +14>Emitted(45, 235) Source(92, 9) + SourceIndex(0) +15>Emitted(45, 254) Source(92, 32) + SourceIndex(0) +16>Emitted(45, 256) Source(92, 9) + SourceIndex(0) +17>Emitted(45, 302) Source(92, 32) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -1791,7 +1717,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > + > } = { primary: "none", secondary: "none" } + >} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -1849,101 +1777,95 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(48, 1) Source(97, 1) + SourceIndex(0) 2 >Emitted(48, 2) Source(97, 2) + SourceIndex(0) --- ->>>for ((_14 = robot.name, nameA = _14 === void 0 ? "noName" : _14, _15 = robot.skill, skillA = _15 === void 0 ? "skill" : _15, robot), i = 0; i < 1; i++) { +>>>for (_14 = robot.name, nameA = _14 === void 0 ? "noName" : _14, _15 = robot.skill, skillA = _15 === void 0 ? "skill" : _15, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > > > 2 >for 3 > -4 > ( -5 > { -6 > name: nameA = "noName" -7 > -8 > name: nameA = "noName" -9 > , -10> skill: skillA = "skill" -11> -12> skill: skillA = "skill" -13> } = -14> robot -15> -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +4 > ({ +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , +9 > skill: skillA = "skill" +10> +11> skill: skillA = "skill" +12> } = +13> robot +14> , +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(49, 1) Source(100, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(100, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(100, 5) + SourceIndex(0) -4 >Emitted(49, 6) Source(100, 6) + SourceIndex(0) -5 >Emitted(49, 7) Source(100, 7) + SourceIndex(0) -6 >Emitted(49, 23) Source(100, 29) + SourceIndex(0) -7 >Emitted(49, 25) Source(100, 7) + SourceIndex(0) -8 >Emitted(49, 64) Source(100, 29) + SourceIndex(0) -9 >Emitted(49, 66) Source(100, 31) + SourceIndex(0) -10>Emitted(49, 83) Source(100, 54) + SourceIndex(0) -11>Emitted(49, 85) Source(100, 31) + SourceIndex(0) -12>Emitted(49, 124) Source(100, 54) + SourceIndex(0) -13>Emitted(49, 126) Source(100, 59) + SourceIndex(0) -14>Emitted(49, 131) Source(100, 64) + SourceIndex(0) -15>Emitted(49, 132) Source(100, 64) + SourceIndex(0) -16>Emitted(49, 134) Source(100, 66) + SourceIndex(0) -17>Emitted(49, 135) Source(100, 67) + SourceIndex(0) -18>Emitted(49, 138) Source(100, 70) + SourceIndex(0) -19>Emitted(49, 139) Source(100, 71) + SourceIndex(0) -20>Emitted(49, 141) Source(100, 73) + SourceIndex(0) -21>Emitted(49, 142) Source(100, 74) + SourceIndex(0) -22>Emitted(49, 145) Source(100, 77) + SourceIndex(0) -23>Emitted(49, 146) Source(100, 78) + SourceIndex(0) -24>Emitted(49, 148) Source(100, 80) + SourceIndex(0) -25>Emitted(49, 149) Source(100, 81) + SourceIndex(0) -26>Emitted(49, 151) Source(100, 83) + SourceIndex(0) -27>Emitted(49, 153) Source(100, 85) + SourceIndex(0) -28>Emitted(49, 154) Source(100, 86) + SourceIndex(0) +4 >Emitted(49, 6) Source(100, 7) + SourceIndex(0) +5 >Emitted(49, 22) Source(100, 29) + SourceIndex(0) +6 >Emitted(49, 24) Source(100, 7) + SourceIndex(0) +7 >Emitted(49, 63) Source(100, 29) + SourceIndex(0) +8 >Emitted(49, 65) Source(100, 31) + SourceIndex(0) +9 >Emitted(49, 82) Source(100, 54) + SourceIndex(0) +10>Emitted(49, 84) Source(100, 31) + SourceIndex(0) +11>Emitted(49, 123) Source(100, 54) + SourceIndex(0) +12>Emitted(49, 125) Source(100, 59) + SourceIndex(0) +13>Emitted(49, 130) Source(100, 64) + SourceIndex(0) +14>Emitted(49, 132) Source(100, 66) + SourceIndex(0) +15>Emitted(49, 133) Source(100, 67) + SourceIndex(0) +16>Emitted(49, 136) Source(100, 70) + SourceIndex(0) +17>Emitted(49, 137) Source(100, 71) + SourceIndex(0) +18>Emitted(49, 139) Source(100, 73) + SourceIndex(0) +19>Emitted(49, 140) Source(100, 74) + SourceIndex(0) +20>Emitted(49, 143) Source(100, 77) + SourceIndex(0) +21>Emitted(49, 144) Source(100, 78) + SourceIndex(0) +22>Emitted(49, 146) Source(100, 80) + SourceIndex(0) +23>Emitted(49, 147) Source(100, 81) + SourceIndex(0) +24>Emitted(49, 149) Source(100, 83) + SourceIndex(0) +25>Emitted(49, 151) Source(100, 85) + SourceIndex(0) +26>Emitted(49, 152) Source(100, 86) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1975,99 +1897,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(51, 1) Source(102, 1) + SourceIndex(0) 2 >Emitted(51, 2) Source(102, 2) + SourceIndex(0) --- ->>>for ((_16 = getRobot(), _17 = _16.name, nameA = _17 === void 0 ? "noName" : _17, _18 = _16.skill, skillA = _18 === void 0 ? "skill" : _18, _16), i = 0; i < 1; i++) { +>>>for (_16 = getRobot(), _17 = _16.name, nameA = _17 === void 0 ? "noName" : _17, _18 = _16.skill, skillA = _18 === void 0 ? "skill" : _18, _16, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > {name: nameA = "noName", skill: skillA = "skill" } = getRobot() -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> , -12> skill: skillA = "skill" -13> -14> skill: skillA = "skill" -15> } = getRobot() -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > {name: nameA = "noName", skill: skillA = "skill" } = getRobot() +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> , +11> skill: skillA = "skill" +12> +13> skill: skillA = "skill" +14> } = getRobot(), +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(52, 1) Source(103, 1) + SourceIndex(0) 2 >Emitted(52, 4) Source(103, 4) + SourceIndex(0) 3 >Emitted(52, 5) Source(103, 5) + SourceIndex(0) 4 >Emitted(52, 6) Source(103, 6) + SourceIndex(0) -5 >Emitted(52, 7) Source(103, 6) + SourceIndex(0) -6 >Emitted(52, 23) Source(103, 69) + SourceIndex(0) -7 >Emitted(52, 25) Source(103, 7) + SourceIndex(0) -8 >Emitted(52, 39) Source(103, 29) + SourceIndex(0) -9 >Emitted(52, 41) Source(103, 7) + SourceIndex(0) -10>Emitted(52, 80) Source(103, 29) + SourceIndex(0) -11>Emitted(52, 82) Source(103, 31) + SourceIndex(0) -12>Emitted(52, 97) Source(103, 54) + SourceIndex(0) -13>Emitted(52, 99) Source(103, 31) + SourceIndex(0) -14>Emitted(52, 138) Source(103, 54) + SourceIndex(0) -15>Emitted(52, 144) Source(103, 69) + SourceIndex(0) -16>Emitted(52, 146) Source(103, 71) + SourceIndex(0) -17>Emitted(52, 147) Source(103, 72) + SourceIndex(0) -18>Emitted(52, 150) Source(103, 75) + SourceIndex(0) -19>Emitted(52, 151) Source(103, 76) + SourceIndex(0) -20>Emitted(52, 153) Source(103, 78) + SourceIndex(0) -21>Emitted(52, 154) Source(103, 79) + SourceIndex(0) -22>Emitted(52, 157) Source(103, 82) + SourceIndex(0) -23>Emitted(52, 158) Source(103, 83) + SourceIndex(0) -24>Emitted(52, 160) Source(103, 85) + SourceIndex(0) -25>Emitted(52, 161) Source(103, 86) + SourceIndex(0) -26>Emitted(52, 163) Source(103, 88) + SourceIndex(0) -27>Emitted(52, 165) Source(103, 90) + SourceIndex(0) -28>Emitted(52, 166) Source(103, 91) + SourceIndex(0) +5 >Emitted(52, 22) Source(103, 69) + SourceIndex(0) +6 >Emitted(52, 24) Source(103, 7) + SourceIndex(0) +7 >Emitted(52, 38) Source(103, 29) + SourceIndex(0) +8 >Emitted(52, 40) Source(103, 7) + SourceIndex(0) +9 >Emitted(52, 79) Source(103, 29) + SourceIndex(0) +10>Emitted(52, 81) Source(103, 31) + SourceIndex(0) +11>Emitted(52, 96) Source(103, 54) + SourceIndex(0) +12>Emitted(52, 98) Source(103, 31) + SourceIndex(0) +13>Emitted(52, 137) Source(103, 54) + SourceIndex(0) +14>Emitted(52, 144) Source(103, 71) + SourceIndex(0) +15>Emitted(52, 145) Source(103, 72) + SourceIndex(0) +16>Emitted(52, 148) Source(103, 75) + SourceIndex(0) +17>Emitted(52, 149) Source(103, 76) + SourceIndex(0) +18>Emitted(52, 151) Source(103, 78) + SourceIndex(0) +19>Emitted(52, 152) Source(103, 79) + SourceIndex(0) +20>Emitted(52, 155) Source(103, 82) + SourceIndex(0) +21>Emitted(52, 156) Source(103, 83) + SourceIndex(0) +22>Emitted(52, 158) Source(103, 85) + SourceIndex(0) +23>Emitted(52, 159) Source(103, 86) + SourceIndex(0) +24>Emitted(52, 161) Source(103, 88) + SourceIndex(0) +25>Emitted(52, 163) Source(103, 90) + SourceIndex(0) +26>Emitted(52, 164) Source(103, 91) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2099,99 +2015,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(54, 1) Source(105, 1) + SourceIndex(0) 2 >Emitted(54, 2) Source(105, 2) + SourceIndex(0) --- ->>>for ((_19 = { name: "trimmer", skill: "trimming" }, _20 = _19.name, nameA = _20 === void 0 ? "noName" : _20, _21 = _19.skill, skillA = _21 === void 0 ? "skill" : _21, _19), i = 0; i < 1; i++) { +>>>for (_19 = { name: "trimmer", skill: "trimming" }, _20 = _19.name, nameA = _20 === void 0 ? "noName" : _20, _21 = _19.skill, skillA = _21 === void 0 ? "skill" : _21, _19, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > {name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" } -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> , -12> skill: skillA = "skill" -13> -14> skill: skillA = "skill" -15> } = { name: "trimmer", skill: "trimming" } -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > {name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" } +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> , +11> skill: skillA = "skill" +12> +13> skill: skillA = "skill" +14> } = { name: "trimmer", skill: "trimming" }, +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(55, 1) Source(106, 1) + SourceIndex(0) 2 >Emitted(55, 4) Source(106, 4) + SourceIndex(0) 3 >Emitted(55, 5) Source(106, 5) + SourceIndex(0) 4 >Emitted(55, 6) Source(106, 6) + SourceIndex(0) -5 >Emitted(55, 7) Source(106, 6) + SourceIndex(0) -6 >Emitted(55, 51) Source(106, 104) + SourceIndex(0) -7 >Emitted(55, 53) Source(106, 7) + SourceIndex(0) -8 >Emitted(55, 67) Source(106, 29) + SourceIndex(0) -9 >Emitted(55, 69) Source(106, 7) + SourceIndex(0) -10>Emitted(55, 108) Source(106, 29) + SourceIndex(0) -11>Emitted(55, 110) Source(106, 31) + SourceIndex(0) -12>Emitted(55, 125) Source(106, 54) + SourceIndex(0) -13>Emitted(55, 127) Source(106, 31) + SourceIndex(0) -14>Emitted(55, 166) Source(106, 54) + SourceIndex(0) -15>Emitted(55, 172) Source(106, 104) + SourceIndex(0) -16>Emitted(55, 174) Source(106, 106) + SourceIndex(0) -17>Emitted(55, 175) Source(106, 107) + SourceIndex(0) -18>Emitted(55, 178) Source(106, 110) + SourceIndex(0) -19>Emitted(55, 179) Source(106, 111) + SourceIndex(0) -20>Emitted(55, 181) Source(106, 113) + SourceIndex(0) -21>Emitted(55, 182) Source(106, 114) + SourceIndex(0) -22>Emitted(55, 185) Source(106, 117) + SourceIndex(0) -23>Emitted(55, 186) Source(106, 118) + SourceIndex(0) -24>Emitted(55, 188) Source(106, 120) + SourceIndex(0) -25>Emitted(55, 189) Source(106, 121) + SourceIndex(0) -26>Emitted(55, 191) Source(106, 123) + SourceIndex(0) -27>Emitted(55, 193) Source(106, 125) + SourceIndex(0) -28>Emitted(55, 194) Source(106, 126) + SourceIndex(0) +5 >Emitted(55, 50) Source(106, 104) + SourceIndex(0) +6 >Emitted(55, 52) Source(106, 7) + SourceIndex(0) +7 >Emitted(55, 66) Source(106, 29) + SourceIndex(0) +8 >Emitted(55, 68) Source(106, 7) + SourceIndex(0) +9 >Emitted(55, 107) Source(106, 29) + SourceIndex(0) +10>Emitted(55, 109) Source(106, 31) + SourceIndex(0) +11>Emitted(55, 124) Source(106, 54) + SourceIndex(0) +12>Emitted(55, 126) Source(106, 31) + SourceIndex(0) +13>Emitted(55, 165) Source(106, 54) + SourceIndex(0) +14>Emitted(55, 172) Source(106, 106) + SourceIndex(0) +15>Emitted(55, 173) Source(106, 107) + SourceIndex(0) +16>Emitted(55, 176) Source(106, 110) + SourceIndex(0) +17>Emitted(55, 177) Source(106, 111) + SourceIndex(0) +18>Emitted(55, 179) Source(106, 113) + SourceIndex(0) +19>Emitted(55, 180) Source(106, 114) + SourceIndex(0) +20>Emitted(55, 183) Source(106, 117) + SourceIndex(0) +21>Emitted(55, 184) Source(106, 118) + SourceIndex(0) +22>Emitted(55, 186) Source(106, 120) + SourceIndex(0) +23>Emitted(55, 187) Source(106, 121) + SourceIndex(0) +24>Emitted(55, 189) Source(106, 123) + SourceIndex(0) +25>Emitted(55, 191) Source(106, 125) + SourceIndex(0) +26>Emitted(55, 192) Source(106, 126) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2223,134 +2133,128 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(57, 1) Source(108, 1) + SourceIndex(0) 2 >Emitted(57, 2) Source(108, 2) + SourceIndex(0) --- ->>>for ((_22 = multiRobot.name, nameA = _22 === void 0 ? "noName" : _22, _23 = multiRobot.skills, _24 = _23 === void 0 ? { primary: "none", secondary: "none" } : _23, _25 = _24.primary, primaryA = _25 === void 0 ? "primary" : _25, _26 = _24.secondary, secondaryA = _26 === void 0 ? "secondary" : _26, multiRobot), i = 0; i < 1; i++) { +>>>for (_22 = multiRobot.name, nameA = _22 === void 0 ? "noName" : _22, _23 = multiRobot.skills, _24 = _23 === void 0 ? { primary: "none", secondary: "none" } : _23, _25 = _24.primary, primaryA = _25 === void 0 ? "primary" : _25, _26 = _24.secondary, secondaryA = _26 === void 0 ? "secondary" : _26, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > -4 > ( -5 > { - > -6 > name: nameA = "noName" -7 > -8 > name: nameA = "noName" -9 > , - > -10> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> primary: primaryA = "primary" -15> -16> primary: primaryA = "primary" -17> , - > -18> secondary: secondaryA = "secondary" -19> -20> secondary: secondaryA = "secondary" -21> - > } = { primary: "none", secondary: "none" } - > } = -22> multiRobot -23> -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +4 > ({ + > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , + > +9 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> primary: primaryA = "primary" +14> +15> primary: primaryA = "primary" +16> , + > +17> secondary: secondaryA = "secondary" +18> +19> secondary: secondaryA = "secondary" +20> + > } = { primary: "none", secondary: "none" } + > } = +21> multiRobot +22> , +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(58, 1) Source(109, 1) + SourceIndex(0) 2 >Emitted(58, 4) Source(109, 4) + SourceIndex(0) 3 >Emitted(58, 5) Source(109, 5) + SourceIndex(0) -4 >Emitted(58, 6) Source(109, 6) + SourceIndex(0) -5 >Emitted(58, 7) Source(110, 5) + SourceIndex(0) -6 >Emitted(58, 28) Source(110, 27) + SourceIndex(0) -7 >Emitted(58, 30) Source(110, 5) + SourceIndex(0) -8 >Emitted(58, 69) Source(110, 27) + SourceIndex(0) -9 >Emitted(58, 71) Source(111, 5) + SourceIndex(0) -10>Emitted(58, 94) Source(114, 47) + SourceIndex(0) -11>Emitted(58, 96) Source(111, 5) + SourceIndex(0) -12>Emitted(58, 163) Source(114, 47) + SourceIndex(0) -13>Emitted(58, 165) Source(112, 9) + SourceIndex(0) -14>Emitted(58, 182) Source(112, 38) + SourceIndex(0) -15>Emitted(58, 184) Source(112, 9) + SourceIndex(0) -16>Emitted(58, 227) Source(112, 38) + SourceIndex(0) -17>Emitted(58, 229) Source(113, 9) + SourceIndex(0) -18>Emitted(58, 248) Source(113, 44) + SourceIndex(0) -19>Emitted(58, 250) Source(113, 9) + SourceIndex(0) -20>Emitted(58, 297) Source(113, 44) + SourceIndex(0) -21>Emitted(58, 299) Source(115, 5) + SourceIndex(0) -22>Emitted(58, 309) Source(115, 15) + SourceIndex(0) -23>Emitted(58, 310) Source(115, 15) + SourceIndex(0) -24>Emitted(58, 312) Source(115, 17) + SourceIndex(0) -25>Emitted(58, 313) Source(115, 18) + SourceIndex(0) -26>Emitted(58, 316) Source(115, 21) + SourceIndex(0) -27>Emitted(58, 317) Source(115, 22) + SourceIndex(0) -28>Emitted(58, 319) Source(115, 24) + SourceIndex(0) -29>Emitted(58, 320) Source(115, 25) + SourceIndex(0) -30>Emitted(58, 323) Source(115, 28) + SourceIndex(0) -31>Emitted(58, 324) Source(115, 29) + SourceIndex(0) -32>Emitted(58, 326) Source(115, 31) + SourceIndex(0) -33>Emitted(58, 327) Source(115, 32) + SourceIndex(0) -34>Emitted(58, 329) Source(115, 34) + SourceIndex(0) -35>Emitted(58, 331) Source(115, 36) + SourceIndex(0) -36>Emitted(58, 332) Source(115, 37) + SourceIndex(0) +4 >Emitted(58, 6) Source(110, 5) + SourceIndex(0) +5 >Emitted(58, 27) Source(110, 27) + SourceIndex(0) +6 >Emitted(58, 29) Source(110, 5) + SourceIndex(0) +7 >Emitted(58, 68) Source(110, 27) + SourceIndex(0) +8 >Emitted(58, 70) Source(111, 5) + SourceIndex(0) +9 >Emitted(58, 93) Source(114, 47) + SourceIndex(0) +10>Emitted(58, 95) Source(111, 5) + SourceIndex(0) +11>Emitted(58, 162) Source(114, 47) + SourceIndex(0) +12>Emitted(58, 164) Source(112, 9) + SourceIndex(0) +13>Emitted(58, 181) Source(112, 38) + SourceIndex(0) +14>Emitted(58, 183) Source(112, 9) + SourceIndex(0) +15>Emitted(58, 226) Source(112, 38) + SourceIndex(0) +16>Emitted(58, 228) Source(113, 9) + SourceIndex(0) +17>Emitted(58, 247) Source(113, 44) + SourceIndex(0) +18>Emitted(58, 249) Source(113, 9) + SourceIndex(0) +19>Emitted(58, 296) Source(113, 44) + SourceIndex(0) +20>Emitted(58, 298) Source(115, 5) + SourceIndex(0) +21>Emitted(58, 308) Source(115, 15) + SourceIndex(0) +22>Emitted(58, 310) Source(115, 17) + SourceIndex(0) +23>Emitted(58, 311) Source(115, 18) + SourceIndex(0) +24>Emitted(58, 314) Source(115, 21) + SourceIndex(0) +25>Emitted(58, 315) Source(115, 22) + SourceIndex(0) +26>Emitted(58, 317) Source(115, 24) + SourceIndex(0) +27>Emitted(58, 318) Source(115, 25) + SourceIndex(0) +28>Emitted(58, 321) Source(115, 28) + SourceIndex(0) +29>Emitted(58, 322) Source(115, 29) + SourceIndex(0) +30>Emitted(58, 324) Source(115, 31) + SourceIndex(0) +31>Emitted(58, 325) Source(115, 32) + SourceIndex(0) +32>Emitted(58, 327) Source(115, 34) + SourceIndex(0) +33>Emitted(58, 329) Source(115, 36) + SourceIndex(0) +34>Emitted(58, 330) Source(115, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2382,139 +2286,133 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(60, 1) Source(117, 1) + SourceIndex(0) 2 >Emitted(60, 2) Source(117, 2) + SourceIndex(0) --- ->>>for ((_27 = getMultiRobot(), _28 = _27.name, nameA = _28 === void 0 ? "noName" : _28, _29 = _27.skills, _30 = _29 === void 0 ? { primary: "none", secondary: "none" } : _29, _31 = _30.primary, primaryA = _31 === void 0 ? "primary" : _31, _32 = _30.secondary, secondaryA = _32 === void 0 ? "secondary" : _32, _27), i = 0; i < 1; i++) { +>>>for (_27 = getMultiRobot(), _28 = _27.name, nameA = _28 === void 0 ? "noName" : _28, _29 = _27.skills, _30 = _29 === void 0 ? { primary: "none", secondary: "none" } : _29, _31 = _30.primary, primaryA = _31 === void 0 ? "primary" : _31, _32 = _30.secondary, secondaryA = _32 === void 0 ? "secondary" : _32, _27, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +22> ^^^^^^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> , - > -12> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -15> -16> primary: primaryA = "primary" -17> -18> primary: primaryA = "primary" -19> , - > -20> secondary: secondaryA = "secondary" -21> -22> secondary: secondaryA = "secondary" -23> - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +5 > { + > name: nameA = "noName", + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot() +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> , + > +11> skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +14> +15> primary: primaryA = "primary" +16> +17> primary: primaryA = "primary" +18> , + > +19> secondary: secondaryA = "secondary" +20> +21> secondary: secondaryA = "secondary" +22> + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot(), +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(61, 1) Source(118, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(118, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(118, 5) + SourceIndex(0) 4 >Emitted(61, 6) Source(118, 6) + SourceIndex(0) -5 >Emitted(61, 7) Source(118, 6) + SourceIndex(0) -6 >Emitted(61, 28) Source(124, 20) + SourceIndex(0) -7 >Emitted(61, 30) Source(119, 5) + SourceIndex(0) -8 >Emitted(61, 44) Source(119, 27) + SourceIndex(0) -9 >Emitted(61, 46) Source(119, 5) + SourceIndex(0) -10>Emitted(61, 85) Source(119, 27) + SourceIndex(0) -11>Emitted(61, 87) Source(120, 5) + SourceIndex(0) -12>Emitted(61, 103) Source(123, 47) + SourceIndex(0) -13>Emitted(61, 105) Source(120, 5) + SourceIndex(0) -14>Emitted(61, 172) Source(123, 47) + SourceIndex(0) -15>Emitted(61, 174) Source(121, 9) + SourceIndex(0) -16>Emitted(61, 191) Source(121, 38) + SourceIndex(0) -17>Emitted(61, 193) Source(121, 9) + SourceIndex(0) -18>Emitted(61, 236) Source(121, 38) + SourceIndex(0) -19>Emitted(61, 238) Source(122, 9) + SourceIndex(0) -20>Emitted(61, 257) Source(122, 44) + SourceIndex(0) -21>Emitted(61, 259) Source(122, 9) + SourceIndex(0) -22>Emitted(61, 306) Source(122, 44) + SourceIndex(0) -23>Emitted(61, 312) Source(124, 20) + SourceIndex(0) -24>Emitted(61, 314) Source(124, 22) + SourceIndex(0) -25>Emitted(61, 315) Source(124, 23) + SourceIndex(0) -26>Emitted(61, 318) Source(124, 26) + SourceIndex(0) -27>Emitted(61, 319) Source(124, 27) + SourceIndex(0) -28>Emitted(61, 321) Source(124, 29) + SourceIndex(0) -29>Emitted(61, 322) Source(124, 30) + SourceIndex(0) -30>Emitted(61, 325) Source(124, 33) + SourceIndex(0) -31>Emitted(61, 326) Source(124, 34) + SourceIndex(0) -32>Emitted(61, 328) Source(124, 36) + SourceIndex(0) -33>Emitted(61, 329) Source(124, 37) + SourceIndex(0) -34>Emitted(61, 331) Source(124, 39) + SourceIndex(0) -35>Emitted(61, 333) Source(124, 41) + SourceIndex(0) -36>Emitted(61, 334) Source(124, 42) + SourceIndex(0) +5 >Emitted(61, 27) Source(124, 20) + SourceIndex(0) +6 >Emitted(61, 29) Source(119, 5) + SourceIndex(0) +7 >Emitted(61, 43) Source(119, 27) + SourceIndex(0) +8 >Emitted(61, 45) Source(119, 5) + SourceIndex(0) +9 >Emitted(61, 84) Source(119, 27) + SourceIndex(0) +10>Emitted(61, 86) Source(120, 5) + SourceIndex(0) +11>Emitted(61, 102) Source(123, 47) + SourceIndex(0) +12>Emitted(61, 104) Source(120, 5) + SourceIndex(0) +13>Emitted(61, 171) Source(123, 47) + SourceIndex(0) +14>Emitted(61, 173) Source(121, 9) + SourceIndex(0) +15>Emitted(61, 190) Source(121, 38) + SourceIndex(0) +16>Emitted(61, 192) Source(121, 9) + SourceIndex(0) +17>Emitted(61, 235) Source(121, 38) + SourceIndex(0) +18>Emitted(61, 237) Source(122, 9) + SourceIndex(0) +19>Emitted(61, 256) Source(122, 44) + SourceIndex(0) +20>Emitted(61, 258) Source(122, 9) + SourceIndex(0) +21>Emitted(61, 305) Source(122, 44) + SourceIndex(0) +22>Emitted(61, 312) Source(124, 22) + SourceIndex(0) +23>Emitted(61, 313) Source(124, 23) + SourceIndex(0) +24>Emitted(61, 316) Source(124, 26) + SourceIndex(0) +25>Emitted(61, 317) Source(124, 27) + SourceIndex(0) +26>Emitted(61, 319) Source(124, 29) + SourceIndex(0) +27>Emitted(61, 320) Source(124, 30) + SourceIndex(0) +28>Emitted(61, 323) Source(124, 33) + SourceIndex(0) +29>Emitted(61, 324) Source(124, 34) + SourceIndex(0) +30>Emitted(61, 326) Source(124, 36) + SourceIndex(0) +31>Emitted(61, 327) Source(124, 37) + SourceIndex(0) +32>Emitted(61, 329) Source(124, 39) + SourceIndex(0) +33>Emitted(61, 331) Source(124, 41) + SourceIndex(0) +34>Emitted(61, 332) Source(124, 42) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -2546,100 +2444,92 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(63, 1) Source(126, 1) + SourceIndex(0) 2 >Emitted(63, 2) Source(126, 2) + SourceIndex(0) --- ->>>for ((_33 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _34 = _33.name, nameA = _34 === void 0 ? "noName" : _34, _35 = _33.skills, _36 = _35 === void 0 ? { primary: "none", secondary: "none" } : _35, _37 = _36.primary, primaryA = _37 === void 0 ? "primary" : _37, _38 = _36.secondary, secondaryA = _38 === void 0 ? "secondary" : _38, _33), +>>>for (_33 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _34 = _33.name, nameA = _34 === void 0 ? "noName" : _34, _35 = _33.skills, _36 = _35 === void 0 ? { primary: "none", secondary: "none" } : _35, _37 = _36.primary, primaryA = _37 === void 0 ? "primary" : _37, _38 = _36.secondary, secondaryA = _38 === void 0 ? "secondary" : _38, _33, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > name: nameA = "noName" -9 > -10> name: nameA = "noName" -11> , - > -12> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "none", secondary: "none" } -15> -16> primary: primaryA = "primary" -17> -18> primary: primaryA = "primary" -19> , - > -20> secondary: secondaryA = "secondary" -21> -22> secondary: secondaryA = "secondary" -23> - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { + > name: nameA = "noName", + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } + > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > name: nameA = "noName" +8 > +9 > name: nameA = "noName" +10> , + > +11> skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "none", secondary: "none" } +14> +15> primary: primaryA = "primary" +16> +17> primary: primaryA = "primary" +18> , + > +19> secondary: secondaryA = "secondary" +20> +21> secondary: secondaryA = "secondary" 1->Emitted(64, 1) Source(127, 1) + SourceIndex(0) 2 >Emitted(64, 4) Source(127, 4) + SourceIndex(0) 3 >Emitted(64, 5) Source(127, 5) + SourceIndex(0) 4 >Emitted(64, 6) Source(127, 6) + SourceIndex(0) -5 >Emitted(64, 7) Source(127, 6) + SourceIndex(0) -6 >Emitted(64, 86) Source(133, 90) + SourceIndex(0) -7 >Emitted(64, 88) Source(128, 5) + SourceIndex(0) -8 >Emitted(64, 102) Source(128, 27) + SourceIndex(0) -9 >Emitted(64, 104) Source(128, 5) + SourceIndex(0) -10>Emitted(64, 143) Source(128, 27) + SourceIndex(0) -11>Emitted(64, 145) Source(129, 5) + SourceIndex(0) -12>Emitted(64, 161) Source(132, 47) + SourceIndex(0) -13>Emitted(64, 163) Source(129, 5) + SourceIndex(0) -14>Emitted(64, 230) Source(132, 47) + SourceIndex(0) -15>Emitted(64, 232) Source(130, 9) + SourceIndex(0) -16>Emitted(64, 249) Source(130, 38) + SourceIndex(0) -17>Emitted(64, 251) Source(130, 9) + SourceIndex(0) -18>Emitted(64, 294) Source(130, 38) + SourceIndex(0) -19>Emitted(64, 296) Source(131, 9) + SourceIndex(0) -20>Emitted(64, 315) Source(131, 44) + SourceIndex(0) -21>Emitted(64, 317) Source(131, 9) + SourceIndex(0) -22>Emitted(64, 364) Source(131, 44) + SourceIndex(0) -23>Emitted(64, 370) Source(133, 90) + SourceIndex(0) +5 >Emitted(64, 85) Source(133, 90) + SourceIndex(0) +6 >Emitted(64, 87) Source(128, 5) + SourceIndex(0) +7 >Emitted(64, 101) Source(128, 27) + SourceIndex(0) +8 >Emitted(64, 103) Source(128, 5) + SourceIndex(0) +9 >Emitted(64, 142) Source(128, 27) + SourceIndex(0) +10>Emitted(64, 144) Source(129, 5) + SourceIndex(0) +11>Emitted(64, 160) Source(132, 47) + SourceIndex(0) +12>Emitted(64, 162) Source(129, 5) + SourceIndex(0) +13>Emitted(64, 229) Source(132, 47) + SourceIndex(0) +14>Emitted(64, 231) Source(130, 9) + SourceIndex(0) +15>Emitted(64, 248) Source(130, 38) + SourceIndex(0) +16>Emitted(64, 250) Source(130, 9) + SourceIndex(0) +17>Emitted(64, 293) Source(130, 38) + SourceIndex(0) +18>Emitted(64, 295) Source(131, 9) + SourceIndex(0) +19>Emitted(64, 314) Source(131, 44) + SourceIndex(0) +20>Emitted(64, 316) Source(131, 9) + SourceIndex(0) +21>Emitted(64, 363) Source(131, 44) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -2656,7 +2546,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > + > } = { primary: "none", secondary: "none" } + >} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = @@ -2714,100 +2606,94 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(67, 1) Source(136, 1) + SourceIndex(0) 2 >Emitted(67, 2) Source(136, 2) + SourceIndex(0) --- ->>>for ((_39 = robot.name, name = _39 === void 0 ? "noName" : _39, _40 = robot.skill, skill = _40 === void 0 ? "skill" : _40, robot), i = 0; i < 1; i++) { +>>>for (_39 = robot.name, name = _39 === void 0 ? "noName" : _39, _40 = robot.skill, skill = _40 === void 0 ? "skill" : _40, robot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^ -15> ^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^ +14> ^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > > 2 >for 3 > -4 > ( -5 > { -6 > name = "noName" -7 > -8 > name = "noName" -9 > , -10> skill = "skill" -11> -12> skill = "skill" -13> } = -14> robot -15> -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +4 > ({ +5 > name = "noName" +6 > +7 > name = "noName" +8 > , +9 > skill = "skill" +10> +11> skill = "skill" +12> } = +13> robot +14> , +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(68, 1) Source(138, 1) + SourceIndex(0) 2 >Emitted(68, 4) Source(138, 4) + SourceIndex(0) 3 >Emitted(68, 5) Source(138, 5) + SourceIndex(0) -4 >Emitted(68, 6) Source(138, 6) + SourceIndex(0) -5 >Emitted(68, 7) Source(138, 8) + SourceIndex(0) -6 >Emitted(68, 23) Source(138, 23) + SourceIndex(0) -7 >Emitted(68, 25) Source(138, 8) + SourceIndex(0) -8 >Emitted(68, 63) Source(138, 23) + SourceIndex(0) -9 >Emitted(68, 65) Source(138, 25) + SourceIndex(0) -10>Emitted(68, 82) Source(138, 40) + SourceIndex(0) -11>Emitted(68, 84) Source(138, 25) + SourceIndex(0) -12>Emitted(68, 122) Source(138, 40) + SourceIndex(0) -13>Emitted(68, 124) Source(138, 45) + SourceIndex(0) -14>Emitted(68, 129) Source(138, 50) + SourceIndex(0) -15>Emitted(68, 130) Source(138, 50) + SourceIndex(0) -16>Emitted(68, 132) Source(138, 52) + SourceIndex(0) -17>Emitted(68, 133) Source(138, 53) + SourceIndex(0) -18>Emitted(68, 136) Source(138, 56) + SourceIndex(0) -19>Emitted(68, 137) Source(138, 57) + SourceIndex(0) -20>Emitted(68, 139) Source(138, 59) + SourceIndex(0) -21>Emitted(68, 140) Source(138, 60) + SourceIndex(0) -22>Emitted(68, 143) Source(138, 63) + SourceIndex(0) -23>Emitted(68, 144) Source(138, 64) + SourceIndex(0) -24>Emitted(68, 146) Source(138, 66) + SourceIndex(0) -25>Emitted(68, 147) Source(138, 67) + SourceIndex(0) -26>Emitted(68, 149) Source(138, 69) + SourceIndex(0) -27>Emitted(68, 151) Source(138, 71) + SourceIndex(0) -28>Emitted(68, 152) Source(138, 72) + SourceIndex(0) +4 >Emitted(68, 6) Source(138, 8) + SourceIndex(0) +5 >Emitted(68, 22) Source(138, 23) + SourceIndex(0) +6 >Emitted(68, 24) Source(138, 8) + SourceIndex(0) +7 >Emitted(68, 62) Source(138, 23) + SourceIndex(0) +8 >Emitted(68, 64) Source(138, 25) + SourceIndex(0) +9 >Emitted(68, 81) Source(138, 40) + SourceIndex(0) +10>Emitted(68, 83) Source(138, 25) + SourceIndex(0) +11>Emitted(68, 121) Source(138, 40) + SourceIndex(0) +12>Emitted(68, 123) Source(138, 45) + SourceIndex(0) +13>Emitted(68, 128) Source(138, 50) + SourceIndex(0) +14>Emitted(68, 130) Source(138, 52) + SourceIndex(0) +15>Emitted(68, 131) Source(138, 53) + SourceIndex(0) +16>Emitted(68, 134) Source(138, 56) + SourceIndex(0) +17>Emitted(68, 135) Source(138, 57) + SourceIndex(0) +18>Emitted(68, 137) Source(138, 59) + SourceIndex(0) +19>Emitted(68, 138) Source(138, 60) + SourceIndex(0) +20>Emitted(68, 141) Source(138, 63) + SourceIndex(0) +21>Emitted(68, 142) Source(138, 64) + SourceIndex(0) +22>Emitted(68, 144) Source(138, 66) + SourceIndex(0) +23>Emitted(68, 145) Source(138, 67) + SourceIndex(0) +24>Emitted(68, 147) Source(138, 69) + SourceIndex(0) +25>Emitted(68, 149) Source(138, 71) + SourceIndex(0) +26>Emitted(68, 150) Source(138, 72) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2839,99 +2725,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(70, 1) Source(140, 1) + SourceIndex(0) 2 >Emitted(70, 2) Source(140, 2) + SourceIndex(0) --- ->>>for ((_41 = getRobot(), _42 = _41.name, name = _42 === void 0 ? "noName" : _42, _43 = _41.skill, skill = _43 === void 0 ? "skill" : _43, _41), i = 0; i < 1; i++) { +>>>for (_41 = getRobot(), _42 = _41.name, name = _42 === void 0 ? "noName" : _42, _43 = _41.skill, skill = _43 === void 0 ? "skill" : _43, _41, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name = "noName", skill = "skill" } = getRobot() -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> , -12> skill = "skill" -13> -14> skill = "skill" -15> } = getRobot() -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > { name = "noName", skill = "skill" } = getRobot() +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> , +11> skill = "skill" +12> +13> skill = "skill" +14> } = getRobot(), +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(71, 1) Source(141, 1) + SourceIndex(0) 2 >Emitted(71, 4) Source(141, 4) + SourceIndex(0) 3 >Emitted(71, 5) Source(141, 5) + SourceIndex(0) 4 >Emitted(71, 6) Source(141, 6) + SourceIndex(0) -5 >Emitted(71, 7) Source(141, 6) + SourceIndex(0) -6 >Emitted(71, 23) Source(141, 55) + SourceIndex(0) -7 >Emitted(71, 25) Source(141, 8) + SourceIndex(0) -8 >Emitted(71, 39) Source(141, 23) + SourceIndex(0) -9 >Emitted(71, 41) Source(141, 8) + SourceIndex(0) -10>Emitted(71, 79) Source(141, 23) + SourceIndex(0) -11>Emitted(71, 81) Source(141, 25) + SourceIndex(0) -12>Emitted(71, 96) Source(141, 40) + SourceIndex(0) -13>Emitted(71, 98) Source(141, 25) + SourceIndex(0) -14>Emitted(71, 136) Source(141, 40) + SourceIndex(0) -15>Emitted(71, 142) Source(141, 55) + SourceIndex(0) -16>Emitted(71, 144) Source(141, 57) + SourceIndex(0) -17>Emitted(71, 145) Source(141, 58) + SourceIndex(0) -18>Emitted(71, 148) Source(141, 61) + SourceIndex(0) -19>Emitted(71, 149) Source(141, 62) + SourceIndex(0) -20>Emitted(71, 151) Source(141, 64) + SourceIndex(0) -21>Emitted(71, 152) Source(141, 65) + SourceIndex(0) -22>Emitted(71, 155) Source(141, 68) + SourceIndex(0) -23>Emitted(71, 156) Source(141, 69) + SourceIndex(0) -24>Emitted(71, 158) Source(141, 71) + SourceIndex(0) -25>Emitted(71, 159) Source(141, 72) + SourceIndex(0) -26>Emitted(71, 161) Source(141, 74) + SourceIndex(0) -27>Emitted(71, 163) Source(141, 76) + SourceIndex(0) -28>Emitted(71, 164) Source(141, 77) + SourceIndex(0) +5 >Emitted(71, 22) Source(141, 55) + SourceIndex(0) +6 >Emitted(71, 24) Source(141, 8) + SourceIndex(0) +7 >Emitted(71, 38) Source(141, 23) + SourceIndex(0) +8 >Emitted(71, 40) Source(141, 8) + SourceIndex(0) +9 >Emitted(71, 78) Source(141, 23) + SourceIndex(0) +10>Emitted(71, 80) Source(141, 25) + SourceIndex(0) +11>Emitted(71, 95) Source(141, 40) + SourceIndex(0) +12>Emitted(71, 97) Source(141, 25) + SourceIndex(0) +13>Emitted(71, 135) Source(141, 40) + SourceIndex(0) +14>Emitted(71, 142) Source(141, 57) + SourceIndex(0) +15>Emitted(71, 143) Source(141, 58) + SourceIndex(0) +16>Emitted(71, 146) Source(141, 61) + SourceIndex(0) +17>Emitted(71, 147) Source(141, 62) + SourceIndex(0) +18>Emitted(71, 149) Source(141, 64) + SourceIndex(0) +19>Emitted(71, 150) Source(141, 65) + SourceIndex(0) +20>Emitted(71, 153) Source(141, 68) + SourceIndex(0) +21>Emitted(71, 154) Source(141, 69) + SourceIndex(0) +22>Emitted(71, 156) Source(141, 71) + SourceIndex(0) +23>Emitted(71, 157) Source(141, 72) + SourceIndex(0) +24>Emitted(71, 159) Source(141, 74) + SourceIndex(0) +25>Emitted(71, 161) Source(141, 76) + SourceIndex(0) +26>Emitted(71, 162) Source(141, 77) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2963,99 +2843,93 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(73, 1) Source(143, 1) + SourceIndex(0) 2 >Emitted(73, 2) Source(143, 2) + SourceIndex(0) --- ->>>for ((_44 = { name: "trimmer", skill: "trimming" }, _45 = _44.name, name = _45 === void 0 ? "noName" : _45, _46 = _44.skill, skill = _46 === void 0 ? "skill" : _46, _44), i = 0; i < 1; i++) { +>>>for (_44 = { name: "trimmer", skill: "trimming" }, _45 = _44.name, name = _45 === void 0 ? "noName" : _45, _46 = _44.skill, skill = _46 === void 0 ? "skill" : _46, _44, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^^^^^ -16> ^^ -17> ^ -18> ^^^ -19> ^ -20> ^^ -21> ^ -22> ^^^ -23> ^ -24> ^^ -25> ^ -26> ^^ -27> ^^ -28> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^^^^^^ +15> ^ +16> ^^^ +17> ^ +18> ^^ +19> ^ +20> ^^^ +21> ^ +22> ^^ +23> ^ +24> ^^ +25> ^^ +26> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" } -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> , -12> skill = "skill" -13> -14> skill = "skill" -15> } = { name: "trimmer", skill: "trimming" } -16> , -17> i -18> = -19> 0 -20> ; -21> i -22> < -23> 1 -24> ; -25> i -26> ++ -27> ) -28> { +5 > { name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" } +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> , +11> skill = "skill" +12> +13> skill = "skill" +14> } = { name: "trimmer", skill: "trimming" }, +15> i +16> = +17> 0 +18> ; +19> i +20> < +21> 1 +22> ; +23> i +24> ++ +25> ) +26> { 1->Emitted(74, 1) Source(144, 1) + SourceIndex(0) 2 >Emitted(74, 4) Source(144, 4) + SourceIndex(0) 3 >Emitted(74, 5) Source(144, 5) + SourceIndex(0) 4 >Emitted(74, 6) Source(144, 6) + SourceIndex(0) -5 >Emitted(74, 7) Source(144, 6) + SourceIndex(0) -6 >Emitted(74, 51) Source(144, 90) + SourceIndex(0) -7 >Emitted(74, 53) Source(144, 8) + SourceIndex(0) -8 >Emitted(74, 67) Source(144, 23) + SourceIndex(0) -9 >Emitted(74, 69) Source(144, 8) + SourceIndex(0) -10>Emitted(74, 107) Source(144, 23) + SourceIndex(0) -11>Emitted(74, 109) Source(144, 25) + SourceIndex(0) -12>Emitted(74, 124) Source(144, 40) + SourceIndex(0) -13>Emitted(74, 126) Source(144, 25) + SourceIndex(0) -14>Emitted(74, 164) Source(144, 40) + SourceIndex(0) -15>Emitted(74, 170) Source(144, 90) + SourceIndex(0) -16>Emitted(74, 172) Source(144, 92) + SourceIndex(0) -17>Emitted(74, 173) Source(144, 93) + SourceIndex(0) -18>Emitted(74, 176) Source(144, 96) + SourceIndex(0) -19>Emitted(74, 177) Source(144, 97) + SourceIndex(0) -20>Emitted(74, 179) Source(144, 99) + SourceIndex(0) -21>Emitted(74, 180) Source(144, 100) + SourceIndex(0) -22>Emitted(74, 183) Source(144, 103) + SourceIndex(0) -23>Emitted(74, 184) Source(144, 104) + SourceIndex(0) -24>Emitted(74, 186) Source(144, 106) + SourceIndex(0) -25>Emitted(74, 187) Source(144, 107) + SourceIndex(0) -26>Emitted(74, 189) Source(144, 109) + SourceIndex(0) -27>Emitted(74, 191) Source(144, 111) + SourceIndex(0) -28>Emitted(74, 192) Source(144, 112) + SourceIndex(0) +5 >Emitted(74, 50) Source(144, 90) + SourceIndex(0) +6 >Emitted(74, 52) Source(144, 8) + SourceIndex(0) +7 >Emitted(74, 66) Source(144, 23) + SourceIndex(0) +8 >Emitted(74, 68) Source(144, 8) + SourceIndex(0) +9 >Emitted(74, 106) Source(144, 23) + SourceIndex(0) +10>Emitted(74, 108) Source(144, 25) + SourceIndex(0) +11>Emitted(74, 123) Source(144, 40) + SourceIndex(0) +12>Emitted(74, 125) Source(144, 25) + SourceIndex(0) +13>Emitted(74, 163) Source(144, 40) + SourceIndex(0) +14>Emitted(74, 170) Source(144, 92) + SourceIndex(0) +15>Emitted(74, 171) Source(144, 93) + SourceIndex(0) +16>Emitted(74, 174) Source(144, 96) + SourceIndex(0) +17>Emitted(74, 175) Source(144, 97) + SourceIndex(0) +18>Emitted(74, 177) Source(144, 99) + SourceIndex(0) +19>Emitted(74, 178) Source(144, 100) + SourceIndex(0) +20>Emitted(74, 181) Source(144, 103) + SourceIndex(0) +21>Emitted(74, 182) Source(144, 104) + SourceIndex(0) +22>Emitted(74, 184) Source(144, 106) + SourceIndex(0) +23>Emitted(74, 185) Source(144, 107) + SourceIndex(0) +24>Emitted(74, 187) Source(144, 109) + SourceIndex(0) +25>Emitted(74, 189) Source(144, 111) + SourceIndex(0) +26>Emitted(74, 190) Source(144, 112) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3087,134 +2961,128 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(76, 1) Source(146, 1) + SourceIndex(0) 2 >Emitted(76, 2) Source(146, 2) + SourceIndex(0) --- ->>>for ((_47 = multiRobot.name, name = _47 === void 0 ? "noName" : _47, _48 = multiRobot.skills, _49 = _48 === void 0 ? { primary: "none", secondary: "none" } : _48, _50 = _49.primary, primary = _50 === void 0 ? "primary" : _50, _51 = _49.secondary, secondary = _51 === void 0 ? "secondary" : _51, multiRobot), i = 0; i < 1; i++) { +>>>for (_47 = multiRobot.name, name = _47 === void 0 ? "noName" : _47, _48 = multiRobot.skills, _49 = _48 === void 0 ? { primary: "none", secondary: "none" } : _48, _50 = _49.primary, primary = _50 === void 0 ? "primary" : _50, _51 = _49.secondary, secondary = _51 === void 0 ? "secondary" : _51, multiRobot, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^ -23> ^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^ +22> ^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > -4 > ( -5 > { - > -6 > name = "noName" -7 > -8 > name = "noName" -9 > , - > -10> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -11> -12> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> primary = "primary" -15> -16> primary = "primary" -17> , - > -18> secondary = "secondary" -19> -20> secondary = "secondary" -21> - > } = { primary: "none", secondary: "none" } - > } = -22> multiRobot -23> -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +4 > ({ + > +5 > name = "noName" +6 > +7 > name = "noName" +8 > , + > +9 > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +10> +11> skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> primary = "primary" +14> +15> primary = "primary" +16> , + > +17> secondary = "secondary" +18> +19> secondary = "secondary" +20> + > } = { primary: "none", secondary: "none" } + > } = +21> multiRobot +22> , +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(77, 1) Source(147, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(147, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(147, 5) + SourceIndex(0) -4 >Emitted(77, 6) Source(147, 6) + SourceIndex(0) -5 >Emitted(77, 7) Source(148, 5) + SourceIndex(0) -6 >Emitted(77, 28) Source(148, 20) + SourceIndex(0) -7 >Emitted(77, 30) Source(148, 5) + SourceIndex(0) -8 >Emitted(77, 68) Source(148, 20) + SourceIndex(0) -9 >Emitted(77, 70) Source(149, 5) + SourceIndex(0) -10>Emitted(77, 93) Source(152, 47) + SourceIndex(0) -11>Emitted(77, 95) Source(149, 5) + SourceIndex(0) -12>Emitted(77, 162) Source(152, 47) + SourceIndex(0) -13>Emitted(77, 164) Source(150, 9) + SourceIndex(0) -14>Emitted(77, 181) Source(150, 28) + SourceIndex(0) -15>Emitted(77, 183) Source(150, 9) + SourceIndex(0) -16>Emitted(77, 225) Source(150, 28) + SourceIndex(0) -17>Emitted(77, 227) Source(151, 9) + SourceIndex(0) -18>Emitted(77, 246) Source(151, 32) + SourceIndex(0) -19>Emitted(77, 248) Source(151, 9) + SourceIndex(0) -20>Emitted(77, 294) Source(151, 32) + SourceIndex(0) -21>Emitted(77, 296) Source(153, 5) + SourceIndex(0) -22>Emitted(77, 306) Source(153, 15) + SourceIndex(0) -23>Emitted(77, 307) Source(153, 15) + SourceIndex(0) -24>Emitted(77, 309) Source(153, 17) + SourceIndex(0) -25>Emitted(77, 310) Source(153, 18) + SourceIndex(0) -26>Emitted(77, 313) Source(153, 21) + SourceIndex(0) -27>Emitted(77, 314) Source(153, 22) + SourceIndex(0) -28>Emitted(77, 316) Source(153, 24) + SourceIndex(0) -29>Emitted(77, 317) Source(153, 25) + SourceIndex(0) -30>Emitted(77, 320) Source(153, 28) + SourceIndex(0) -31>Emitted(77, 321) Source(153, 29) + SourceIndex(0) -32>Emitted(77, 323) Source(153, 31) + SourceIndex(0) -33>Emitted(77, 324) Source(153, 32) + SourceIndex(0) -34>Emitted(77, 326) Source(153, 34) + SourceIndex(0) -35>Emitted(77, 328) Source(153, 36) + SourceIndex(0) -36>Emitted(77, 329) Source(153, 37) + SourceIndex(0) +4 >Emitted(77, 6) Source(148, 5) + SourceIndex(0) +5 >Emitted(77, 27) Source(148, 20) + SourceIndex(0) +6 >Emitted(77, 29) Source(148, 5) + SourceIndex(0) +7 >Emitted(77, 67) Source(148, 20) + SourceIndex(0) +8 >Emitted(77, 69) Source(149, 5) + SourceIndex(0) +9 >Emitted(77, 92) Source(152, 47) + SourceIndex(0) +10>Emitted(77, 94) Source(149, 5) + SourceIndex(0) +11>Emitted(77, 161) Source(152, 47) + SourceIndex(0) +12>Emitted(77, 163) Source(150, 9) + SourceIndex(0) +13>Emitted(77, 180) Source(150, 28) + SourceIndex(0) +14>Emitted(77, 182) Source(150, 9) + SourceIndex(0) +15>Emitted(77, 224) Source(150, 28) + SourceIndex(0) +16>Emitted(77, 226) Source(151, 9) + SourceIndex(0) +17>Emitted(77, 245) Source(151, 32) + SourceIndex(0) +18>Emitted(77, 247) Source(151, 9) + SourceIndex(0) +19>Emitted(77, 293) Source(151, 32) + SourceIndex(0) +20>Emitted(77, 295) Source(153, 5) + SourceIndex(0) +21>Emitted(77, 305) Source(153, 15) + SourceIndex(0) +22>Emitted(77, 307) Source(153, 17) + SourceIndex(0) +23>Emitted(77, 308) Source(153, 18) + SourceIndex(0) +24>Emitted(77, 311) Source(153, 21) + SourceIndex(0) +25>Emitted(77, 312) Source(153, 22) + SourceIndex(0) +26>Emitted(77, 314) Source(153, 24) + SourceIndex(0) +27>Emitted(77, 315) Source(153, 25) + SourceIndex(0) +28>Emitted(77, 318) Source(153, 28) + SourceIndex(0) +29>Emitted(77, 319) Source(153, 29) + SourceIndex(0) +30>Emitted(77, 321) Source(153, 31) + SourceIndex(0) +31>Emitted(77, 322) Source(153, 32) + SourceIndex(0) +32>Emitted(77, 324) Source(153, 34) + SourceIndex(0) +33>Emitted(77, 326) Source(153, 36) + SourceIndex(0) +34>Emitted(77, 327) Source(153, 37) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -3246,139 +3114,133 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(79, 1) Source(155, 1) + SourceIndex(0) 2 >Emitted(79, 2) Source(155, 2) + SourceIndex(0) --- ->>>for ((_52 = getMultiRobot(), _53 = _52.name, name = _53 === void 0 ? "noName" : _53, _54 = _52.skills, _55 = _54 === void 0 ? { primary: "none", secondary: "none" } : _54, _56 = _55.primary, primary = _56 === void 0 ? "primary" : _56, _57 = _55.secondary, secondary = _57 === void 0 ? "secondary" : _57, _52), i = 0; i < 1; i++) { +>>>for (_52 = getMultiRobot(), _53 = _52.name, name = _53 === void 0 ? "noName" : _53, _54 = _52.skills, _55 = _54 === void 0 ? { primary: "none", secondary: "none" } : _54, _56 = _55.primary, primary = _56 === void 0 ? "primary" : _56, _57 = _55.secondary, secondary = _57 === void 0 ? "secondary" : _57, _52, i = 0; i < 1; i++) { 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ -24> ^^ -25> ^ -26> ^^^ -27> ^ -28> ^^ -29> ^ -30> ^^^ -31> ^ -32> ^^ -33> ^ -34> ^^ -35> ^^ -36> ^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +22> ^^^^^^^ +23> ^ +24> ^^^ +25> ^ +26> ^^ +27> ^ +28> ^^^ +29> ^ +30> ^^ +31> ^ +32> ^^ +33> ^^ +34> ^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > name = "noName", - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> , - > -12> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -15> -16> primary = "primary" -17> -18> primary = "primary" -19> , - > -20> secondary = "secondary" -21> -22> secondary = "secondary" -23> - > } = { primary: "none", secondary: "none" } - > } = getMultiRobot() -24> , -25> i -26> = -27> 0 -28> ; -29> i -30> < -31> 1 -32> ; -33> i -34> ++ -35> ) -36> { +5 > { + > name = "noName", + > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot() +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> , + > +11> skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +14> +15> primary = "primary" +16> +17> primary = "primary" +18> , + > +19> secondary = "secondary" +20> +21> secondary = "secondary" +22> + > } = { primary: "none", secondary: "none" } + > } = getMultiRobot(), +23> i +24> = +25> 0 +26> ; +27> i +28> < +29> 1 +30> ; +31> i +32> ++ +33> ) +34> { 1->Emitted(80, 1) Source(156, 1) + SourceIndex(0) 2 >Emitted(80, 4) Source(156, 4) + SourceIndex(0) 3 >Emitted(80, 5) Source(156, 5) + SourceIndex(0) 4 >Emitted(80, 6) Source(156, 6) + SourceIndex(0) -5 >Emitted(80, 7) Source(156, 6) + SourceIndex(0) -6 >Emitted(80, 28) Source(162, 20) + SourceIndex(0) -7 >Emitted(80, 30) Source(157, 5) + SourceIndex(0) -8 >Emitted(80, 44) Source(157, 20) + SourceIndex(0) -9 >Emitted(80, 46) Source(157, 5) + SourceIndex(0) -10>Emitted(80, 84) Source(157, 20) + SourceIndex(0) -11>Emitted(80, 86) Source(158, 5) + SourceIndex(0) -12>Emitted(80, 102) Source(161, 47) + SourceIndex(0) -13>Emitted(80, 104) Source(158, 5) + SourceIndex(0) -14>Emitted(80, 171) Source(161, 47) + SourceIndex(0) -15>Emitted(80, 173) Source(159, 9) + SourceIndex(0) -16>Emitted(80, 190) Source(159, 28) + SourceIndex(0) -17>Emitted(80, 192) Source(159, 9) + SourceIndex(0) -18>Emitted(80, 234) Source(159, 28) + SourceIndex(0) -19>Emitted(80, 236) Source(160, 9) + SourceIndex(0) -20>Emitted(80, 255) Source(160, 32) + SourceIndex(0) -21>Emitted(80, 257) Source(160, 9) + SourceIndex(0) -22>Emitted(80, 303) Source(160, 32) + SourceIndex(0) -23>Emitted(80, 309) Source(162, 20) + SourceIndex(0) -24>Emitted(80, 311) Source(162, 22) + SourceIndex(0) -25>Emitted(80, 312) Source(162, 23) + SourceIndex(0) -26>Emitted(80, 315) Source(162, 26) + SourceIndex(0) -27>Emitted(80, 316) Source(162, 27) + SourceIndex(0) -28>Emitted(80, 318) Source(162, 29) + SourceIndex(0) -29>Emitted(80, 319) Source(162, 30) + SourceIndex(0) -30>Emitted(80, 322) Source(162, 33) + SourceIndex(0) -31>Emitted(80, 323) Source(162, 34) + SourceIndex(0) -32>Emitted(80, 325) Source(162, 36) + SourceIndex(0) -33>Emitted(80, 326) Source(162, 37) + SourceIndex(0) -34>Emitted(80, 328) Source(162, 39) + SourceIndex(0) -35>Emitted(80, 330) Source(162, 41) + SourceIndex(0) -36>Emitted(80, 331) Source(162, 42) + SourceIndex(0) +5 >Emitted(80, 27) Source(162, 20) + SourceIndex(0) +6 >Emitted(80, 29) Source(157, 5) + SourceIndex(0) +7 >Emitted(80, 43) Source(157, 20) + SourceIndex(0) +8 >Emitted(80, 45) Source(157, 5) + SourceIndex(0) +9 >Emitted(80, 83) Source(157, 20) + SourceIndex(0) +10>Emitted(80, 85) Source(158, 5) + SourceIndex(0) +11>Emitted(80, 101) Source(161, 47) + SourceIndex(0) +12>Emitted(80, 103) Source(158, 5) + SourceIndex(0) +13>Emitted(80, 170) Source(161, 47) + SourceIndex(0) +14>Emitted(80, 172) Source(159, 9) + SourceIndex(0) +15>Emitted(80, 189) Source(159, 28) + SourceIndex(0) +16>Emitted(80, 191) Source(159, 9) + SourceIndex(0) +17>Emitted(80, 233) Source(159, 28) + SourceIndex(0) +18>Emitted(80, 235) Source(160, 9) + SourceIndex(0) +19>Emitted(80, 254) Source(160, 32) + SourceIndex(0) +20>Emitted(80, 256) Source(160, 9) + SourceIndex(0) +21>Emitted(80, 302) Source(160, 32) + SourceIndex(0) +22>Emitted(80, 309) Source(162, 22) + SourceIndex(0) +23>Emitted(80, 310) Source(162, 23) + SourceIndex(0) +24>Emitted(80, 313) Source(162, 26) + SourceIndex(0) +25>Emitted(80, 314) Source(162, 27) + SourceIndex(0) +26>Emitted(80, 316) Source(162, 29) + SourceIndex(0) +27>Emitted(80, 317) Source(162, 30) + SourceIndex(0) +28>Emitted(80, 320) Source(162, 33) + SourceIndex(0) +29>Emitted(80, 321) Source(162, 34) + SourceIndex(0) +30>Emitted(80, 323) Source(162, 36) + SourceIndex(0) +31>Emitted(80, 324) Source(162, 37) + SourceIndex(0) +32>Emitted(80, 326) Source(162, 39) + SourceIndex(0) +33>Emitted(80, 328) Source(162, 41) + SourceIndex(0) +34>Emitted(80, 329) Source(162, 42) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -3410,100 +3272,92 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 >>>} 1 > 2 >^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > 2 >} 1 >Emitted(82, 1) Source(164, 1) + SourceIndex(0) 2 >Emitted(82, 2) Source(164, 2) + SourceIndex(0) --- ->>>for ((_58 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _59 = _58.name, name = _59 === void 0 ? "noName" : _59, _60 = _58.skills, _61 = _60 === void 0 ? { primary: "none", secondary: "none" } : _60, _62 = _61.primary, primary = _62 === void 0 ? "primary" : _62, _63 = _61.secondary, secondary = _63 === void 0 ? "secondary" : _63, _58), +>>>for (_58 = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, _59 = _58.name, name = _59 === void 0 ? "noName" : _59, _60 = _58.skills, _61 = _60 === void 0 ? { primary: "none", secondary: "none" } : _60, _62 = _61.primary, primary = _62 === void 0 ? "primary" : _62, _63 = _61.secondary, secondary = _63 === void 0 ? "secondary" : _63, _58, 1-> 2 >^^^ 3 > ^ 4 > ^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^^^^^^^^^^^^ -21> ^^ -22> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -23> ^^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^ +20> ^^ +21> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > 2 >for 3 > 4 > ( -5 > -6 > { - > name = "noName", - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } -7 > -8 > name = "noName" -9 > -10> name = "noName" -11> , - > -12> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -13> -14> skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "none", secondary: "none" } -15> -16> primary = "primary" -17> -18> primary = "primary" -19> , - > -20> secondary = "secondary" -21> -22> secondary = "secondary" -23> - > } = { primary: "none", secondary: "none" } - > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +5 > { + > name = "noName", + > skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } + > } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } +6 > +7 > name = "noName" +8 > +9 > name = "noName" +10> , + > +11> skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +12> +13> skills: { + > primary = "primary", + > secondary = "secondary" + > } = { primary: "none", secondary: "none" } +14> +15> primary = "primary" +16> +17> primary = "primary" +18> , + > +19> secondary = "secondary" +20> +21> secondary = "secondary" 1->Emitted(83, 1) Source(165, 1) + SourceIndex(0) 2 >Emitted(83, 4) Source(165, 4) + SourceIndex(0) 3 >Emitted(83, 5) Source(165, 5) + SourceIndex(0) 4 >Emitted(83, 6) Source(165, 6) + SourceIndex(0) -5 >Emitted(83, 7) Source(165, 6) + SourceIndex(0) -6 >Emitted(83, 86) Source(171, 90) + SourceIndex(0) -7 >Emitted(83, 88) Source(166, 5) + SourceIndex(0) -8 >Emitted(83, 102) Source(166, 20) + SourceIndex(0) -9 >Emitted(83, 104) Source(166, 5) + SourceIndex(0) -10>Emitted(83, 142) Source(166, 20) + SourceIndex(0) -11>Emitted(83, 144) Source(167, 5) + SourceIndex(0) -12>Emitted(83, 160) Source(170, 47) + SourceIndex(0) -13>Emitted(83, 162) Source(167, 5) + SourceIndex(0) -14>Emitted(83, 229) Source(170, 47) + SourceIndex(0) -15>Emitted(83, 231) Source(168, 9) + SourceIndex(0) -16>Emitted(83, 248) Source(168, 28) + SourceIndex(0) -17>Emitted(83, 250) Source(168, 9) + SourceIndex(0) -18>Emitted(83, 292) Source(168, 28) + SourceIndex(0) -19>Emitted(83, 294) Source(169, 9) + SourceIndex(0) -20>Emitted(83, 313) Source(169, 32) + SourceIndex(0) -21>Emitted(83, 315) Source(169, 9) + SourceIndex(0) -22>Emitted(83, 361) Source(169, 32) + SourceIndex(0) -23>Emitted(83, 367) Source(171, 90) + SourceIndex(0) +5 >Emitted(83, 85) Source(171, 90) + SourceIndex(0) +6 >Emitted(83, 87) Source(166, 5) + SourceIndex(0) +7 >Emitted(83, 101) Source(166, 20) + SourceIndex(0) +8 >Emitted(83, 103) Source(166, 5) + SourceIndex(0) +9 >Emitted(83, 141) Source(166, 20) + SourceIndex(0) +10>Emitted(83, 143) Source(167, 5) + SourceIndex(0) +11>Emitted(83, 159) Source(170, 47) + SourceIndex(0) +12>Emitted(83, 161) Source(167, 5) + SourceIndex(0) +13>Emitted(83, 228) Source(170, 47) + SourceIndex(0) +14>Emitted(83, 230) Source(168, 9) + SourceIndex(0) +15>Emitted(83, 247) Source(168, 28) + SourceIndex(0) +16>Emitted(83, 249) Source(168, 9) + SourceIndex(0) +17>Emitted(83, 291) Source(168, 28) + SourceIndex(0) +18>Emitted(83, 293) Source(169, 9) + SourceIndex(0) +19>Emitted(83, 312) Source(169, 32) + SourceIndex(0) +20>Emitted(83, 314) Source(169, 9) + SourceIndex(0) +21>Emitted(83, 360) Source(169, 32) + SourceIndex(0) --- >>> i = 0; i < 1; i++) { 1 >^^^^ @@ -3520,7 +3374,9 @@ sourceFile:sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2 12> ^^ 13> ^ 14> ^^^-> -1 >, +1 > + > } = { primary: "none", secondary: "none" } + >} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, > 2 > i 3 > = diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types index aa8c95bae01..c5f2c806def 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types @@ -39,22 +39,22 @@ let robot: Robot = { name: "mower", skill: "mowing" }; >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }; >multiRobot : MultiRobot >MultiRobot : MultiRobot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function getRobot() { >getRobot : () => Robot @@ -83,20 +83,20 @@ let name: string, primary: string, secondary: string, skill: string; >skill : string for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) { ->{name: nameA = "noName" } = robot, i = 0 : number +>{name: nameA = "noName" } = robot, i = 0 : 0 >{name: nameA = "noName" } = robot : Robot >{name: nameA = "noName" } : { name?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -108,21 +108,21 @@ for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) { >nameA : string } for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { ->{name: nameA = "noName" } = getRobot(), i = 0 : number +>{name: nameA = "noName" } = getRobot(), i = 0 : 0 >{name: nameA = "noName" } = getRobot() : Robot >{name: nameA = "noName" } : { name?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -134,26 +134,26 @@ for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{name: nameA = "noName" } = { name: "trimmer", skill: "trimming" } : Robot >{name: nameA = "noName" } : { name?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >{ name: "trimmer", skill: "trimming" } : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -165,7 +165,7 @@ for ({name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, >nameA : string } for ({ ->{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : number +>{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : 0 >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot : MultiRobot >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -176,31 +176,31 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -212,7 +212,7 @@ for ({ >primaryA : string } for ({ ->{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : number +>{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : 0 >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot() : MultiRobot >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -223,32 +223,32 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -260,7 +260,7 @@ for ({ >primaryA : string } for ({ ->{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -271,43 +271,43 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -320,17 +320,17 @@ for ({ } for ({ name = "noName" } = robot, i = 0; i < 1; i++) { ->{ name = "noName" } = robot, i = 0 : number +>{ name = "noName" } = robot, i = 0 : 0 >{ name = "noName" } = robot : Robot >{ name = "noName" } : { name?: string; } >name : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -342,18 +342,18 @@ for ({ name = "noName" } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) { ->{ name = "noName" } = getRobot(), i = 0 : number +>{ name = "noName" } = getRobot(), i = 0 : 0 >{ name = "noName" } = getRobot() : Robot >{ name = "noName" } : { name?: string; } >name : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -365,7 +365,7 @@ for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name = "noName" } = { name: "trimmer", skill: "trimming" } : Robot >{ name = "noName" } : { name?: string; } >name : string @@ -373,15 +373,15 @@ for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -393,7 +393,7 @@ for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; >nameA : string } for ({ ->{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : number +>{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : 0 >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot : MultiRobot >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -411,18 +411,18 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -434,7 +434,7 @@ for ({ >primaryA : string } for ({ ->{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : number +>{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : 0 >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot() : MultiRobot >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -452,19 +452,19 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -476,7 +476,7 @@ for ({ >primaryA : string } for ({ ->{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { skills?: { primary?: string; secondary?: string; }; } @@ -494,30 +494,30 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -531,24 +531,24 @@ for ({ for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i++) { ->{name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0 : number +>{name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0 : 0 >{name: nameA = "noName", skill: skillA = "skill" } = robot : Robot >{name: nameA = "noName", skill: skillA = "skill" } : { name?: string; skill?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : string ->skillA = "skill" : string +>skillA = "skill" : "skill" >skillA : string ->"skill" : string +>"skill" : "skill" >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -560,25 +560,25 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i >nameA : string } for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < 1; i++) { ->{name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0 : number +>{name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0 : 0 >{name: nameA = "noName", skill: skillA = "skill" } = getRobot() : Robot >{name: nameA = "noName", skill: skillA = "skill" } : { name?: string; skill?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : string ->skillA = "skill" : string +>skillA = "skill" : "skill" >skillA : string ->"skill" : string +>"skill" : "skill" >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -590,30 +590,30 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < >nameA : string } for ({name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{name: nameA = "noName", skill: skillA = "skill" } = { name: "trimmer", skill: "trimming" } : Robot >{name: nameA = "noName", skill: skillA = "skill" } : { name?: string; skill?: string; } >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : string ->skillA = "skill" : string +>skillA = "skill" : "skill" >skillA : string ->"skill" : string +>"skill" : "skill" >{ name: "trimmer", skill: "trimming" } : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -625,15 +625,15 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = { name: "trimme >nameA : string } for ({ ->{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : number +>{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : 0 >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot : MultiRobot >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } name: nameA = "noName", >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : { primary?: string; secondary?: string; } @@ -642,31 +642,31 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -678,15 +678,15 @@ for ({ >primaryA : string } for ({ ->{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : number +>{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : 0 >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot() : MultiRobot >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } name: nameA = "noName", >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : { primary?: string; secondary?: string; } @@ -695,32 +695,32 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -732,15 +732,15 @@ for ({ >primaryA : string } for ({ ->{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ name: nameA = "noName", skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } name: nameA = "noName", >name : string ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : { primary?: string; secondary?: string; } @@ -749,43 +749,43 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -798,18 +798,18 @@ for ({ } for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) { ->{ name = "noName", skill = "skill" } = robot, i = 0 : number +>{ name = "noName", skill = "skill" } = robot, i = 0 : 0 >{ name = "noName", skill = "skill" } = robot : Robot >{ name = "noName", skill = "skill" } : { name?: string; skill?: string; } >name : string >skill : string >robot : Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -821,19 +821,19 @@ for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) { >nameA : string } for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) { ->{ name = "noName", skill = "skill" } = getRobot(), i = 0 : number +>{ name = "noName", skill = "skill" } = getRobot(), i = 0 : 0 >{ name = "noName", skill = "skill" } = getRobot() : Robot >{ name = "noName", skill = "skill" } : { name?: string; skill?: string; } >name : string >skill : string >getRobot() : Robot >getRobot : () => Robot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -845,7 +845,7 @@ for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) { >nameA : string } for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) { ->{ name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0 : number +>{ name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" }, i = 0 : 0 >{ name = "noName", skill = "skill" } = { name: "trimmer", skill: "trimming" } : Robot >{ name = "noName", skill = "skill" } : { name?: string; skill?: string; } >name : string @@ -854,15 +854,15 @@ for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "tr >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string ->i = 0 : number +>"trimming" : "trimming" +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -874,7 +874,7 @@ for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "tr >nameA : string } for ({ ->{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : number +>{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot, i = 0 : 0 >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = multiRobot : MultiRobot >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } @@ -895,18 +895,18 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = multiRobot, i = 0; i < 1; i++) { >multiRobot : MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -918,7 +918,7 @@ for ({ >primaryA : string } for ({ ->{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : number +>{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot(), i = 0 : 0 >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = getMultiRobot() : MultiRobot >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } @@ -939,19 +939,19 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = getMultiRobot(), i = 0; i < 1; i++) { >getMultiRobot() : MultiRobot >getMultiRobot : () => MultiRobot ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number @@ -963,7 +963,7 @@ for ({ >primaryA : string } for ({ ->{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : number +>{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, i = 0 : 0 >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >{ name = "noName", skills: { primary = "primary", secondary = "secondary" } = { primary: "none", secondary: "none" }} : { name?: string; skills?: { primary?: string; secondary?: string; }; } @@ -984,30 +984,30 @@ for ({ } = { primary: "none", secondary: "none" } >{ primary: "none", secondary: "none" } : { primary?: string; secondary?: string; } >primary : string ->"none" : string +>"none" : "none" >secondary : string ->"none" : string +>"none" : "none" } = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }, >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : MultiRobot >MultiRobot : MultiRobot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" i = 0; i < 1; i++) { ->i = 0 : number +>i = 0 : 0 >i : number ->0 : number +>0 : 0 >i < 1 : boolean >i : number ->1 : number +>1 : 1 >i++ : number >i : number diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.js.map index 076b6994fa3..f9218ab62eb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfArrayBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPattern.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxB,qBAAa,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7B,eAAa,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAAlC,eAAa,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6C,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAxD,0BAAwC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAA6C,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA7D,eAAwC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAA6C,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAAvE,eAAwC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnB,6BAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAkB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAxB,uBAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAkB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA7B,uBAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAgB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAtB,gCAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAgB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA3B,qBAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAgB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAArC,qBAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAAoC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAA1C,qBAA+B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAoC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA/C,eAA+B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAoC,UAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,eAAgB,EAAhB,IAAgB,CAAC;IAApD,iBAA+B,EAA1B,iBAAQ,EAAE,eAAM,EAAE,gBAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAA9D,4BAA8C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAnE,kBAA8C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAA7E,kBAA8C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAkC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAAxC,uBAA6B,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAkC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAA7C,kBAA6B,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAkC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAlD,kBAA6B,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6B,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAAnC,iDAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAA6B,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAxC,uCAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAA6B,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAAlD,uCAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPattern.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAnB,IAAA,iBAAS,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAxB,IAAA,WAAS,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;IAA7B,IAAA,WAAS,EAAN,aAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6C,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAAnD,IAAA,sBAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAA6C,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAAxD,IAAA,WAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAA6C,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;IAAlE,IAAA,WAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAlB,IAAA,yBAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAkB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAvB,IAAA,mBAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAkB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;IAA5B,IAAA,mBAAO;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAgB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAArB,IAAA,4BAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAgB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAA1B,IAAA,iBAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAgB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;IAApC,IAAA,iBAAK;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAAoC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAArC,IAAA,iBAA2B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAoC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA1C,IAAA,WAA2B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAoC,UAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,eAAgB,EAAhB,IAAgB;IAA/C,IAAA,aAA2B,EAA1B,iBAAQ,EAAE,eAAM,EAAE,gBAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAAzD,IAAA,wBAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAA9D,IAAA,cAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAmD,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAAxE,IAAA,cAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAkC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;IAAnC,IAAA,mBAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAkC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;IAAxC,IAAA,cAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAkC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;IAA7C,IAAA,cAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6B,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAAlC,IAAA,6CAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAA6B,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAAvC,IAAA,mCAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAA6B,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAAjD,IAAA,mCAAkB;IACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.sourcemap.txt index 17110072800..9c039efbea8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.sourcemap.txt @@ -332,7 +332,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -346,7 +345,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(13, 1) Source(21, 1) + SourceIndex(0) 2 >Emitted(13, 4) Source(21, 4) + SourceIndex(0) 3 >Emitted(13, 5) Source(21, 5) + SourceIndex(0) @@ -358,21 +356,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(13, 57) Source(21, 29) + SourceIndex(0) 10>Emitted(13, 59) Source(21, 23) + SourceIndex(0) 11>Emitted(13, 63) Source(21, 29) + SourceIndex(0) -12>Emitted(13, 64) Source(21, 30) + SourceIndex(0) --- >>> var _a = robots_1[_i], nameA = _a[1]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^ 1 > -2 > let [, nameA] -3 > -4 > nameA -1 >Emitted(14, 5) Source(21, 6) + SourceIndex(0) -2 >Emitted(14, 26) Source(21, 19) + SourceIndex(0) -3 >Emitted(14, 28) Source(21, 13) + SourceIndex(0) -4 >Emitted(14, 41) Source(21, 18) + SourceIndex(0) +2 > +3 > [, nameA] +4 > +5 > nameA +1 >Emitted(14, 5) Source(21, 10) + SourceIndex(0) +2 >Emitted(14, 9) Source(21, 10) + SourceIndex(0) +3 >Emitted(14, 26) Source(21, 19) + SourceIndex(0) +4 >Emitted(14, 28) Source(21, 13) + SourceIndex(0) +5 >Emitted(14, 41) Source(21, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -422,7 +422,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -437,7 +436,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(17, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(24, 5) + SourceIndex(0) @@ -451,21 +449,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(17, 50) Source(24, 34) + SourceIndex(0) 12>Emitted(17, 52) Source(24, 23) + SourceIndex(0) 13>Emitted(17, 56) Source(24, 34) + SourceIndex(0) -14>Emitted(17, 57) Source(24, 35) + SourceIndex(0) --- >>> var _d = _c[_b], nameA = _d[1]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^ 1 > -2 > let [, nameA] -3 > -4 > nameA -1 >Emitted(18, 5) Source(24, 6) + SourceIndex(0) -2 >Emitted(18, 20) Source(24, 19) + SourceIndex(0) -3 >Emitted(18, 22) Source(24, 13) + SourceIndex(0) -4 >Emitted(18, 35) Source(24, 18) + SourceIndex(0) +2 > +3 > [, nameA] +4 > +5 > nameA +1 >Emitted(18, 5) Source(24, 10) + SourceIndex(0) +2 >Emitted(18, 9) Source(24, 10) + SourceIndex(0) +3 >Emitted(18, 20) Source(24, 19) + SourceIndex(0) +4 >Emitted(18, 22) Source(24, 13) + SourceIndex(0) +5 >Emitted(18, 35) Source(24, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -517,7 +517,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -534,7 +533,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(21, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(27, 5) + SourceIndex(0) @@ -550,21 +548,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(21, 55) Source(27, 39) + SourceIndex(0) 14>Emitted(21, 57) Source(27, 23) + SourceIndex(0) 15>Emitted(21, 61) Source(27, 39) + SourceIndex(0) -16>Emitted(21, 62) Source(27, 40) + SourceIndex(0) --- >>> var _g = _f[_e], nameA = _g[1]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^ 1 > -2 > let [, nameA] -3 > -4 > nameA -1 >Emitted(22, 5) Source(27, 6) + SourceIndex(0) -2 >Emitted(22, 20) Source(27, 19) + SourceIndex(0) -3 >Emitted(22, 22) Source(27, 13) + SourceIndex(0) -4 >Emitted(22, 35) Source(27, 18) + SourceIndex(0) +2 > +3 > [, nameA] +4 > +5 > nameA +1 >Emitted(22, 5) Source(27, 10) + SourceIndex(0) +2 >Emitted(22, 9) Source(27, 10) + SourceIndex(0) +3 >Emitted(22, 20) Source(27, 19) + SourceIndex(0) +4 >Emitted(22, 22) Source(27, 13) + SourceIndex(0) +5 >Emitted(22, 35) Source(27, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -612,8 +612,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -626,7 +625,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(25, 1) Source(30, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(30, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(30, 5) + SourceIndex(0) @@ -638,33 +636,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(25, 72) Source(30, 61) + SourceIndex(0) 10>Emitted(25, 74) Source(30, 50) + SourceIndex(0) 11>Emitted(25, 78) Source(30, 61) + SourceIndex(0) -12>Emitted(25, 79) Source(30, 62) + SourceIndex(0) --- >>> var _j = multiRobots_1[_h], _k = _j[1], primarySkillA = _k[0], secondarySkillA = _k[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(26, 5) Source(30, 6) + SourceIndex(0) -2 >Emitted(26, 31) Source(30, 46) + SourceIndex(0) -3 >Emitted(26, 33) Source(30, 13) + SourceIndex(0) -4 >Emitted(26, 43) Source(30, 45) + SourceIndex(0) -5 >Emitted(26, 45) Source(30, 14) + SourceIndex(0) -6 >Emitted(26, 66) Source(30, 27) + SourceIndex(0) -7 >Emitted(26, 68) Source(30, 29) + SourceIndex(0) -8 >Emitted(26, 91) Source(30, 44) + SourceIndex(0) +2 > +3 > [, [primarySkillA, secondarySkillA]] +4 > +5 > [primarySkillA, secondarySkillA] +6 > +7 > primarySkillA +8 > , +9 > secondarySkillA +1->Emitted(26, 5) Source(30, 10) + SourceIndex(0) +2 >Emitted(26, 9) Source(30, 10) + SourceIndex(0) +3 >Emitted(26, 31) Source(30, 46) + SourceIndex(0) +4 >Emitted(26, 33) Source(30, 13) + SourceIndex(0) +5 >Emitted(26, 43) Source(30, 45) + SourceIndex(0) +6 >Emitted(26, 45) Source(30, 14) + SourceIndex(0) +7 >Emitted(26, 66) Source(30, 27) + SourceIndex(0) +8 >Emitted(26, 68) Source(30, 29) + SourceIndex(0) +9 >Emitted(26, 91) Source(30, 44) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -714,8 +714,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -730,7 +729,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(29, 1) Source(33, 1) + SourceIndex(0) 2 >Emitted(29, 4) Source(33, 4) + SourceIndex(0) 3 >Emitted(29, 5) Source(33, 5) + SourceIndex(0) @@ -744,33 +742,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(29, 55) Source(33, 66) + SourceIndex(0) 12>Emitted(29, 57) Source(33, 50) + SourceIndex(0) 13>Emitted(29, 61) Source(33, 66) + SourceIndex(0) -14>Emitted(29, 62) Source(33, 67) + SourceIndex(0) --- >>> var _o = _m[_l], _p = _o[1], primarySkillA = _p[0], secondarySkillA = _p[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(30, 5) Source(33, 6) + SourceIndex(0) -2 >Emitted(30, 20) Source(33, 46) + SourceIndex(0) -3 >Emitted(30, 22) Source(33, 13) + SourceIndex(0) -4 >Emitted(30, 32) Source(33, 45) + SourceIndex(0) -5 >Emitted(30, 34) Source(33, 14) + SourceIndex(0) -6 >Emitted(30, 55) Source(33, 27) + SourceIndex(0) -7 >Emitted(30, 57) Source(33, 29) + SourceIndex(0) -8 >Emitted(30, 80) Source(33, 44) + SourceIndex(0) +2 > +3 > [, [primarySkillA, secondarySkillA]] +4 > +5 > [primarySkillA, secondarySkillA] +6 > +7 > primarySkillA +8 > , +9 > secondarySkillA +1->Emitted(30, 5) Source(33, 10) + SourceIndex(0) +2 >Emitted(30, 9) Source(33, 10) + SourceIndex(0) +3 >Emitted(30, 20) Source(33, 46) + SourceIndex(0) +4 >Emitted(30, 22) Source(33, 13) + SourceIndex(0) +5 >Emitted(30, 32) Source(33, 45) + SourceIndex(0) +6 >Emitted(30, 34) Source(33, 14) + SourceIndex(0) +7 >Emitted(30, 55) Source(33, 27) + SourceIndex(0) +8 >Emitted(30, 57) Source(33, 29) + SourceIndex(0) +9 >Emitted(30, 80) Source(33, 44) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -822,8 +822,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^-> +16> ^^^^^^^^^^^-> 1-> > 2 >for @@ -840,7 +839,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(33, 1) Source(36, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(36, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(36, 5) + SourceIndex(0) @@ -856,33 +854,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(33, 65) Source(36, 76) + SourceIndex(0) 14>Emitted(33, 67) Source(36, 50) + SourceIndex(0) 15>Emitted(33, 71) Source(36, 76) + SourceIndex(0) -16>Emitted(33, 72) Source(36, 77) + SourceIndex(0) --- >>> var _s = _r[_q], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(34, 5) Source(36, 6) + SourceIndex(0) -2 >Emitted(34, 20) Source(36, 46) + SourceIndex(0) -3 >Emitted(34, 22) Source(36, 13) + SourceIndex(0) -4 >Emitted(34, 32) Source(36, 45) + SourceIndex(0) -5 >Emitted(34, 34) Source(36, 14) + SourceIndex(0) -6 >Emitted(34, 55) Source(36, 27) + SourceIndex(0) -7 >Emitted(34, 57) Source(36, 29) + SourceIndex(0) -8 >Emitted(34, 80) Source(36, 44) + SourceIndex(0) +2 > +3 > [, [primarySkillA, secondarySkillA]] +4 > +5 > [primarySkillA, secondarySkillA] +6 > +7 > primarySkillA +8 > , +9 > secondarySkillA +1->Emitted(34, 5) Source(36, 10) + SourceIndex(0) +2 >Emitted(34, 9) Source(36, 10) + SourceIndex(0) +3 >Emitted(34, 20) Source(36, 46) + SourceIndex(0) +4 >Emitted(34, 22) Source(36, 13) + SourceIndex(0) +5 >Emitted(34, 32) Source(36, 45) + SourceIndex(0) +6 >Emitted(34, 34) Source(36, 14) + SourceIndex(0) +7 >Emitted(34, 55) Source(36, 27) + SourceIndex(0) +8 >Emitted(34, 57) Source(36, 29) + SourceIndex(0) +9 >Emitted(34, 80) Source(36, 44) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -930,7 +930,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -944,7 +943,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(37, 1) Source(40, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(40, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(40, 5) + SourceIndex(0) @@ -956,15 +954,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(37, 57) Source(40, 29) + SourceIndex(0) 10>Emitted(37, 59) Source(40, 23) + SourceIndex(0) 11>Emitted(37, 63) Source(40, 29) + SourceIndex(0) -12>Emitted(37, 64) Source(40, 30) + SourceIndex(0) --- >>> var numberB = robots_2[_u][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > numberB +2 > +3 > numberB 1 >Emitted(38, 5) Source(40, 11) + SourceIndex(0) -2 >Emitted(38, 34) Source(40, 18) + SourceIndex(0) +2 >Emitted(38, 9) Source(40, 11) + SourceIndex(0) +3 >Emitted(38, 34) Source(40, 18) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1014,7 +1014,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1029,7 +1028,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(41, 1) Source(43, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(43, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(43, 5) + SourceIndex(0) @@ -1043,15 +1041,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(41, 50) Source(43, 34) + SourceIndex(0) 12>Emitted(41, 52) Source(43, 23) + SourceIndex(0) 13>Emitted(41, 56) Source(43, 34) + SourceIndex(0) -14>Emitted(41, 57) Source(43, 35) + SourceIndex(0) --- >>> var numberB = _w[_v][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ 1 > -2 > numberB +2 > +3 > numberB 1 >Emitted(42, 5) Source(43, 11) + SourceIndex(0) -2 >Emitted(42, 28) Source(43, 18) + SourceIndex(0) +2 >Emitted(42, 9) Source(43, 11) + SourceIndex(0) +3 >Emitted(42, 28) Source(43, 18) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1103,7 +1103,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -1120,7 +1119,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(45, 1) Source(46, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(46, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(46, 5) + SourceIndex(0) @@ -1136,15 +1134,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(45, 55) Source(46, 39) + SourceIndex(0) 14>Emitted(45, 57) Source(46, 23) + SourceIndex(0) 15>Emitted(45, 61) Source(46, 39) + SourceIndex(0) -16>Emitted(45, 62) Source(46, 40) + SourceIndex(0) --- >>> var numberB = _y[_x][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ 1 > -2 > numberB +2 > +3 > numberB 1 >Emitted(46, 5) Source(46, 11) + SourceIndex(0) -2 >Emitted(46, 28) Source(46, 18) + SourceIndex(0) +2 >Emitted(46, 9) Source(46, 11) + SourceIndex(0) +3 >Emitted(46, 28) Source(46, 18) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1192,7 +1192,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > 2 >for @@ -1205,7 +1204,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(49, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(49, 5) + SourceIndex(0) @@ -1217,15 +1215,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(49, 72) Source(49, 32) + SourceIndex(0) 10>Emitted(49, 74) Source(49, 21) + SourceIndex(0) 11>Emitted(49, 78) Source(49, 32) + SourceIndex(0) -12>Emitted(49, 79) Source(49, 33) + SourceIndex(0) --- >>> var nameB = multiRobots_2[_z][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > nameB +2 > +3 > nameB 1 >Emitted(50, 5) Source(49, 11) + SourceIndex(0) -2 >Emitted(50, 37) Source(49, 16) + SourceIndex(0) +2 >Emitted(50, 9) Source(49, 11) + SourceIndex(0) +3 >Emitted(50, 37) Source(49, 16) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1275,7 +1275,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1290,7 +1289,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(53, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(52, 5) + SourceIndex(0) @@ -1304,15 +1302,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(53, 55) Source(52, 37) + SourceIndex(0) 12>Emitted(53, 57) Source(52, 21) + SourceIndex(0) 13>Emitted(53, 61) Source(52, 37) + SourceIndex(0) -14>Emitted(53, 62) Source(52, 38) + SourceIndex(0) --- >>> var nameB = _1[_0][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ 1 > -2 > nameB +2 > +3 > nameB 1 >Emitted(54, 5) Source(52, 11) + SourceIndex(0) -2 >Emitted(54, 26) Source(52, 16) + SourceIndex(0) +2 >Emitted(54, 9) Source(52, 11) + SourceIndex(0) +3 >Emitted(54, 26) Source(52, 16) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1364,7 +1364,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -1381,7 +1380,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(57, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(55, 5) + SourceIndex(0) @@ -1397,15 +1395,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(57, 65) Source(55, 47) + SourceIndex(0) 14>Emitted(57, 67) Source(55, 21) + SourceIndex(0) 15>Emitted(57, 71) Source(55, 47) + SourceIndex(0) -16>Emitted(57, 72) Source(55, 48) + SourceIndex(0) --- >>> var nameB = _3[_2][0]; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ 1 > -2 > nameB +2 > +3 > nameB 1 >Emitted(58, 5) Source(55, 11) + SourceIndex(0) -2 >Emitted(58, 26) Source(55, 16) + SourceIndex(0) +2 >Emitted(58, 9) Source(55, 11) + SourceIndex(0) +3 >Emitted(58, 26) Source(55, 16) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1453,8 +1453,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^-> 1-> > > @@ -1468,7 +1467,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(61, 1) Source(59, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(59, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(59, 5) + SourceIndex(0) @@ -1480,33 +1478,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(61, 57) Source(59, 47) + SourceIndex(0) 10>Emitted(61, 59) Source(59, 41) + SourceIndex(0) 11>Emitted(61, 63) Source(59, 47) + SourceIndex(0) -12>Emitted(61, 64) Source(59, 48) + SourceIndex(0) --- >>> var _5 = robots_3[_4], numberA2 = _5[0], nameA2 = _5[1], skillA2 = _5[2]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(62, 5) Source(59, 6) + SourceIndex(0) -2 >Emitted(62, 26) Source(59, 37) + SourceIndex(0) -3 >Emitted(62, 28) Source(59, 11) + SourceIndex(0) -4 >Emitted(62, 44) Source(59, 19) + SourceIndex(0) -5 >Emitted(62, 46) Source(59, 21) + SourceIndex(0) -6 >Emitted(62, 60) Source(59, 27) + SourceIndex(0) -7 >Emitted(62, 62) Source(59, 29) + SourceIndex(0) -8 >Emitted(62, 77) Source(59, 36) + SourceIndex(0) +2 > +3 > [numberA2, nameA2, skillA2] +4 > +5 > numberA2 +6 > , +7 > nameA2 +8 > , +9 > skillA2 +1->Emitted(62, 5) Source(59, 10) + SourceIndex(0) +2 >Emitted(62, 9) Source(59, 10) + SourceIndex(0) +3 >Emitted(62, 26) Source(59, 37) + SourceIndex(0) +4 >Emitted(62, 28) Source(59, 11) + SourceIndex(0) +5 >Emitted(62, 44) Source(59, 19) + SourceIndex(0) +6 >Emitted(62, 46) Source(59, 21) + SourceIndex(0) +7 >Emitted(62, 60) Source(59, 27) + SourceIndex(0) +8 >Emitted(62, 62) Source(59, 29) + SourceIndex(0) +9 >Emitted(62, 77) Source(59, 36) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1556,8 +1556,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1572,7 +1571,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(65, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(65, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(65, 5) Source(62, 5) + SourceIndex(0) @@ -1586,33 +1584,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(65, 50) Source(62, 52) + SourceIndex(0) 12>Emitted(65, 52) Source(62, 41) + SourceIndex(0) 13>Emitted(65, 56) Source(62, 52) + SourceIndex(0) -14>Emitted(65, 57) Source(62, 53) + SourceIndex(0) --- >>> var _8 = _7[_6], numberA2 = _8[0], nameA2 = _8[1], skillA2 = _8[2]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(66, 5) Source(62, 6) + SourceIndex(0) -2 >Emitted(66, 20) Source(62, 37) + SourceIndex(0) -3 >Emitted(66, 22) Source(62, 11) + SourceIndex(0) -4 >Emitted(66, 38) Source(62, 19) + SourceIndex(0) -5 >Emitted(66, 40) Source(62, 21) + SourceIndex(0) -6 >Emitted(66, 54) Source(62, 27) + SourceIndex(0) -7 >Emitted(66, 56) Source(62, 29) + SourceIndex(0) -8 >Emitted(66, 71) Source(62, 36) + SourceIndex(0) +2 > +3 > [numberA2, nameA2, skillA2] +4 > +5 > numberA2 +6 > , +7 > nameA2 +8 > , +9 > skillA2 +1->Emitted(66, 5) Source(62, 10) + SourceIndex(0) +2 >Emitted(66, 9) Source(62, 10) + SourceIndex(0) +3 >Emitted(66, 20) Source(62, 37) + SourceIndex(0) +4 >Emitted(66, 22) Source(62, 11) + SourceIndex(0) +5 >Emitted(66, 38) Source(62, 19) + SourceIndex(0) +6 >Emitted(66, 40) Source(62, 21) + SourceIndex(0) +7 >Emitted(66, 54) Source(62, 27) + SourceIndex(0) +8 >Emitted(66, 56) Source(62, 29) + SourceIndex(0) +9 >Emitted(66, 71) Source(62, 36) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1664,8 +1664,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1682,7 +1681,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(69, 1) Source(65, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(65, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(65, 5) + SourceIndex(0) @@ -1698,33 +1696,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(69, 57) Source(65, 57) + SourceIndex(0) 14>Emitted(69, 59) Source(65, 41) + SourceIndex(0) 15>Emitted(69, 63) Source(65, 57) + SourceIndex(0) -16>Emitted(69, 64) Source(65, 58) + SourceIndex(0) --- >>> var _11 = _10[_9], numberA2 = _11[0], nameA2 = _11[1], skillA2 = _11[2]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(70, 5) Source(65, 6) + SourceIndex(0) -2 >Emitted(70, 22) Source(65, 37) + SourceIndex(0) -3 >Emitted(70, 24) Source(65, 11) + SourceIndex(0) -4 >Emitted(70, 41) Source(65, 19) + SourceIndex(0) -5 >Emitted(70, 43) Source(65, 21) + SourceIndex(0) -6 >Emitted(70, 58) Source(65, 27) + SourceIndex(0) -7 >Emitted(70, 60) Source(65, 29) + SourceIndex(0) -8 >Emitted(70, 76) Source(65, 36) + SourceIndex(0) +2 > +3 > [numberA2, nameA2, skillA2] +4 > +5 > numberA2 +6 > , +7 > nameA2 +8 > , +9 > skillA2 +1->Emitted(70, 5) Source(65, 10) + SourceIndex(0) +2 >Emitted(70, 9) Source(65, 10) + SourceIndex(0) +3 >Emitted(70, 22) Source(65, 37) + SourceIndex(0) +4 >Emitted(70, 24) Source(65, 11) + SourceIndex(0) +5 >Emitted(70, 41) Source(65, 19) + SourceIndex(0) +6 >Emitted(70, 43) Source(65, 21) + SourceIndex(0) +7 >Emitted(70, 58) Source(65, 27) + SourceIndex(0) +8 >Emitted(70, 60) Source(65, 29) + SourceIndex(0) +9 >Emitted(70, 76) Source(65, 36) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1772,8 +1772,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1786,7 +1785,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(73, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(73, 4) Source(68, 4) + SourceIndex(0) 3 >Emitted(73, 5) Source(68, 5) + SourceIndex(0) @@ -1798,39 +1796,41 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(73, 74) Source(68, 67) + SourceIndex(0) 10>Emitted(73, 76) Source(68, 56) + SourceIndex(0) 11>Emitted(73, 81) Source(68, 67) + SourceIndex(0) -12>Emitted(73, 82) Source(68, 68) + SourceIndex(0) --- >>> var _13 = multiRobots_3[_12], nameMA = _13[0], _14 = _13[1], primarySkillA = _14[0], secondarySkillA = _14[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(74, 5) Source(68, 6) + SourceIndex(0) -2 >Emitted(74, 33) Source(68, 52) + SourceIndex(0) -3 >Emitted(74, 35) Source(68, 11) + SourceIndex(0) -4 >Emitted(74, 50) Source(68, 17) + SourceIndex(0) -5 >Emitted(74, 52) Source(68, 19) + SourceIndex(0) -6 >Emitted(74, 64) Source(68, 51) + SourceIndex(0) -7 >Emitted(74, 66) Source(68, 20) + SourceIndex(0) -8 >Emitted(74, 88) Source(68, 33) + SourceIndex(0) -9 >Emitted(74, 90) Source(68, 35) + SourceIndex(0) -10>Emitted(74, 114) Source(68, 50) + SourceIndex(0) +2 > +3 > [nameMA, [primarySkillA, secondarySkillA]] +4 > +5 > nameMA +6 > , +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +1->Emitted(74, 5) Source(68, 10) + SourceIndex(0) +2 >Emitted(74, 9) Source(68, 10) + SourceIndex(0) +3 >Emitted(74, 33) Source(68, 52) + SourceIndex(0) +4 >Emitted(74, 35) Source(68, 11) + SourceIndex(0) +5 >Emitted(74, 50) Source(68, 17) + SourceIndex(0) +6 >Emitted(74, 52) Source(68, 19) + SourceIndex(0) +7 >Emitted(74, 64) Source(68, 51) + SourceIndex(0) +8 >Emitted(74, 66) Source(68, 20) + SourceIndex(0) +9 >Emitted(74, 88) Source(68, 33) + SourceIndex(0) +10>Emitted(74, 90) Source(68, 35) + SourceIndex(0) +11>Emitted(74, 114) Source(68, 50) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -1880,8 +1880,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1896,7 +1895,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(77, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(71, 5) + SourceIndex(0) @@ -1910,39 +1908,41 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(77, 59) Source(71, 72) + SourceIndex(0) 12>Emitted(77, 61) Source(71, 56) + SourceIndex(0) 13>Emitted(77, 66) Source(71, 72) + SourceIndex(0) -14>Emitted(77, 67) Source(71, 73) + SourceIndex(0) --- >>> var _17 = _16[_15], nameMA = _17[0], _18 = _17[1], primarySkillA = _18[0], secondarySkillA = _18[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(78, 5) Source(71, 6) + SourceIndex(0) -2 >Emitted(78, 23) Source(71, 52) + SourceIndex(0) -3 >Emitted(78, 25) Source(71, 11) + SourceIndex(0) -4 >Emitted(78, 40) Source(71, 17) + SourceIndex(0) -5 >Emitted(78, 42) Source(71, 19) + SourceIndex(0) -6 >Emitted(78, 54) Source(71, 51) + SourceIndex(0) -7 >Emitted(78, 56) Source(71, 20) + SourceIndex(0) -8 >Emitted(78, 78) Source(71, 33) + SourceIndex(0) -9 >Emitted(78, 80) Source(71, 35) + SourceIndex(0) -10>Emitted(78, 104) Source(71, 50) + SourceIndex(0) +2 > +3 > [nameMA, [primarySkillA, secondarySkillA]] +4 > +5 > nameMA +6 > , +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +1->Emitted(78, 5) Source(71, 10) + SourceIndex(0) +2 >Emitted(78, 9) Source(71, 10) + SourceIndex(0) +3 >Emitted(78, 23) Source(71, 52) + SourceIndex(0) +4 >Emitted(78, 25) Source(71, 11) + SourceIndex(0) +5 >Emitted(78, 40) Source(71, 17) + SourceIndex(0) +6 >Emitted(78, 42) Source(71, 19) + SourceIndex(0) +7 >Emitted(78, 54) Source(71, 51) + SourceIndex(0) +8 >Emitted(78, 56) Source(71, 20) + SourceIndex(0) +9 >Emitted(78, 78) Source(71, 33) + SourceIndex(0) +10>Emitted(78, 80) Source(71, 35) + SourceIndex(0) +11>Emitted(78, 104) Source(71, 50) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -1994,8 +1994,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2012,7 +2011,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(81, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(81, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(81, 5) Source(74, 5) + SourceIndex(0) @@ -2028,39 +2026,41 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(81, 69) Source(74, 82) + SourceIndex(0) 14>Emitted(81, 71) Source(74, 56) + SourceIndex(0) 15>Emitted(81, 76) Source(74, 82) + SourceIndex(0) -16>Emitted(81, 77) Source(74, 83) + SourceIndex(0) --- >>> var _21 = _20[_19], nameMA = _21[0], _22 = _21[1], primarySkillA = _22[0], secondarySkillA = _22[1]; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(82, 5) Source(74, 6) + SourceIndex(0) -2 >Emitted(82, 23) Source(74, 52) + SourceIndex(0) -3 >Emitted(82, 25) Source(74, 11) + SourceIndex(0) -4 >Emitted(82, 40) Source(74, 17) + SourceIndex(0) -5 >Emitted(82, 42) Source(74, 19) + SourceIndex(0) -6 >Emitted(82, 54) Source(74, 51) + SourceIndex(0) -7 >Emitted(82, 56) Source(74, 20) + SourceIndex(0) -8 >Emitted(82, 78) Source(74, 33) + SourceIndex(0) -9 >Emitted(82, 80) Source(74, 35) + SourceIndex(0) -10>Emitted(82, 104) Source(74, 50) + SourceIndex(0) +2 > +3 > [nameMA, [primarySkillA, secondarySkillA]] +4 > +5 > nameMA +6 > , +7 > [primarySkillA, secondarySkillA] +8 > +9 > primarySkillA +10> , +11> secondarySkillA +1->Emitted(82, 5) Source(74, 10) + SourceIndex(0) +2 >Emitted(82, 9) Source(74, 10) + SourceIndex(0) +3 >Emitted(82, 23) Source(74, 52) + SourceIndex(0) +4 >Emitted(82, 25) Source(74, 11) + SourceIndex(0) +5 >Emitted(82, 40) Source(74, 17) + SourceIndex(0) +6 >Emitted(82, 42) Source(74, 19) + SourceIndex(0) +7 >Emitted(82, 54) Source(74, 51) + SourceIndex(0) +8 >Emitted(82, 56) Source(74, 20) + SourceIndex(0) +9 >Emitted(82, 78) Source(74, 33) + SourceIndex(0) +10>Emitted(82, 80) Source(74, 35) + SourceIndex(0) +11>Emitted(82, 104) Source(74, 50) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2108,8 +2108,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^-> +12> ^^^^^^^^^^-> 1-> > > @@ -2123,7 +2122,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(85, 1) Source(78, 1) + SourceIndex(0) 2 >Emitted(85, 4) Source(78, 4) + SourceIndex(0) 3 >Emitted(85, 5) Source(78, 5) + SourceIndex(0) @@ -2135,27 +2133,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(85, 59) Source(78, 45) + SourceIndex(0) 10>Emitted(85, 61) Source(78, 39) + SourceIndex(0) 11>Emitted(85, 66) Source(78, 45) + SourceIndex(0) -12>Emitted(85, 67) Source(78, 46) + SourceIndex(0) --- >>> var _24 = robots_4[_23], numberA3 = _24[0], robotAInfo = _24.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1->Emitted(86, 5) Source(78, 6) + SourceIndex(0) -2 >Emitted(86, 28) Source(78, 35) + SourceIndex(0) -3 >Emitted(86, 30) Source(78, 11) + SourceIndex(0) -4 >Emitted(86, 47) Source(78, 19) + SourceIndex(0) -5 >Emitted(86, 49) Source(78, 21) + SourceIndex(0) -6 >Emitted(86, 74) Source(78, 34) + SourceIndex(0) +2 > +3 > [numberA3, ...robotAInfo] +4 > +5 > numberA3 +6 > , +7 > ...robotAInfo +1->Emitted(86, 5) Source(78, 10) + SourceIndex(0) +2 >Emitted(86, 9) Source(78, 10) + SourceIndex(0) +3 >Emitted(86, 28) Source(78, 35) + SourceIndex(0) +4 >Emitted(86, 30) Source(78, 11) + SourceIndex(0) +5 >Emitted(86, 47) Source(78, 19) + SourceIndex(0) +6 >Emitted(86, 49) Source(78, 21) + SourceIndex(0) +7 >Emitted(86, 74) Source(78, 34) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2205,8 +2205,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^-> +14> ^^^^^^^^^^-> 1-> > 2 >for @@ -2221,7 +2220,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(89, 1) Source(81, 1) + SourceIndex(0) 2 >Emitted(89, 4) Source(81, 4) + SourceIndex(0) 3 >Emitted(89, 5) Source(81, 5) + SourceIndex(0) @@ -2235,27 +2233,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(89, 54) Source(81, 50) + SourceIndex(0) 12>Emitted(89, 56) Source(81, 39) + SourceIndex(0) 13>Emitted(89, 61) Source(81, 50) + SourceIndex(0) -14>Emitted(89, 62) Source(81, 51) + SourceIndex(0) --- >>> var _27 = _26[_25], numberA3 = _27[0], robotAInfo = _27.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1->Emitted(90, 5) Source(81, 6) + SourceIndex(0) -2 >Emitted(90, 23) Source(81, 35) + SourceIndex(0) -3 >Emitted(90, 25) Source(81, 11) + SourceIndex(0) -4 >Emitted(90, 42) Source(81, 19) + SourceIndex(0) -5 >Emitted(90, 44) Source(81, 21) + SourceIndex(0) -6 >Emitted(90, 69) Source(81, 34) + SourceIndex(0) +2 > +3 > [numberA3, ...robotAInfo] +4 > +5 > numberA3 +6 > , +7 > ...robotAInfo +1->Emitted(90, 5) Source(81, 10) + SourceIndex(0) +2 >Emitted(90, 9) Source(81, 10) + SourceIndex(0) +3 >Emitted(90, 23) Source(81, 35) + SourceIndex(0) +4 >Emitted(90, 25) Source(81, 11) + SourceIndex(0) +5 >Emitted(90, 42) Source(81, 19) + SourceIndex(0) +6 >Emitted(90, 44) Source(81, 21) + SourceIndex(0) +7 >Emitted(90, 69) Source(81, 34) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2307,8 +2307,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^-> +16> ^^^^^-> 1-> > 2 >for @@ -2325,7 +2324,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(93, 1) Source(84, 1) + SourceIndex(0) 2 >Emitted(93, 4) Source(84, 4) + SourceIndex(0) 3 >Emitted(93, 5) Source(84, 5) + SourceIndex(0) @@ -2341,27 +2339,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(93, 59) Source(84, 55) + SourceIndex(0) 14>Emitted(93, 61) Source(84, 39) + SourceIndex(0) 15>Emitted(93, 66) Source(84, 55) + SourceIndex(0) -16>Emitted(93, 67) Source(84, 56) + SourceIndex(0) --- >>> var _30 = _29[_28], numberA3 = _30[0], robotAInfo = _30.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1->Emitted(94, 5) Source(84, 6) + SourceIndex(0) -2 >Emitted(94, 23) Source(84, 35) + SourceIndex(0) -3 >Emitted(94, 25) Source(84, 11) + SourceIndex(0) -4 >Emitted(94, 42) Source(84, 19) + SourceIndex(0) -5 >Emitted(94, 44) Source(84, 21) + SourceIndex(0) -6 >Emitted(94, 69) Source(84, 34) + SourceIndex(0) +2 > +3 > [numberA3, ...robotAInfo] +4 > +5 > numberA3 +6 > , +7 > ...robotAInfo +1->Emitted(94, 5) Source(84, 10) + SourceIndex(0) +2 >Emitted(94, 9) Source(84, 10) + SourceIndex(0) +3 >Emitted(94, 23) Source(84, 35) + SourceIndex(0) +4 >Emitted(94, 25) Source(84, 11) + SourceIndex(0) +5 >Emitted(94, 42) Source(84, 19) + SourceIndex(0) +6 >Emitted(94, 44) Source(84, 21) + SourceIndex(0) +7 >Emitted(94, 69) Source(84, 34) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2409,7 +2409,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ 1-> > 2 >for @@ -2422,7 +2421,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(97, 1) Source(87, 1) + SourceIndex(0) 2 >Emitted(97, 4) Source(87, 4) + SourceIndex(0) 3 >Emitted(97, 5) Source(87, 5) + SourceIndex(0) @@ -2434,15 +2432,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 9 >Emitted(97, 74) Source(87, 45) + SourceIndex(0) 10>Emitted(97, 76) Source(87, 34) + SourceIndex(0) 11>Emitted(97, 81) Source(87, 45) + SourceIndex(0) -12>Emitted(97, 82) Source(87, 46) + SourceIndex(0) --- >>> var multiRobotAInfo = multiRobots_4[_31].slice(0); 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > ...multiRobotAInfo +2 > +3 > ...multiRobotAInfo 1 >Emitted(98, 5) Source(87, 11) + SourceIndex(0) -2 >Emitted(98, 54) Source(87, 29) + SourceIndex(0) +2 >Emitted(98, 9) Source(87, 11) + SourceIndex(0) +3 >Emitted(98, 54) Source(87, 29) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2492,7 +2492,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ 1-> > 2 >for @@ -2507,7 +2506,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(101, 1) Source(90, 1) + SourceIndex(0) 2 >Emitted(101, 4) Source(90, 4) + SourceIndex(0) 3 >Emitted(101, 5) Source(90, 5) + SourceIndex(0) @@ -2521,15 +2519,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 11>Emitted(101, 59) Source(90, 50) + SourceIndex(0) 12>Emitted(101, 61) Source(90, 34) + SourceIndex(0) 13>Emitted(101, 66) Source(90, 50) + SourceIndex(0) -14>Emitted(101, 67) Source(90, 51) + SourceIndex(0) --- >>> var multiRobotAInfo = _33[_32].slice(0); 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > ...multiRobotAInfo +2 > +3 > ...multiRobotAInfo 1 >Emitted(102, 5) Source(90, 11) + SourceIndex(0) -2 >Emitted(102, 44) Source(90, 29) + SourceIndex(0) +2 >Emitted(102, 9) Source(90, 11) + SourceIndex(0) +3 >Emitted(102, 44) Source(90, 29) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ @@ -2581,7 +2581,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -2598,7 +2597,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(105, 1) Source(93, 1) + SourceIndex(0) 2 >Emitted(105, 4) Source(93, 4) + SourceIndex(0) 3 >Emitted(105, 5) Source(93, 5) + SourceIndex(0) @@ -2614,15 +2612,17 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern.ts 13>Emitted(105, 69) Source(93, 60) + SourceIndex(0) 14>Emitted(105, 71) Source(93, 34) + SourceIndex(0) 15>Emitted(105, 76) Source(93, 60) + SourceIndex(0) -16>Emitted(105, 77) Source(93, 61) + SourceIndex(0) --- >>> var multiRobotAInfo = _35[_34].slice(0); 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > ...multiRobotAInfo +2 > +3 > ...multiRobotAInfo 1 >Emitted(106, 5) Source(93, 11) + SourceIndex(0) -2 >Emitted(106, 44) Source(93, 29) + SourceIndex(0) +2 >Emitted(106, 9) Source(93, 11) + SourceIndex(0) +3 >Emitted(106, 44) Source(93, 29) + SourceIndex(0) --- >>> console.log(multiRobotAInfo); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types index 95c947f8fcc..41dc32d2648 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types @@ -16,17 +16,17 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" let robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let robots = [robotA, robotB]; >robots : [number, string, string][] @@ -45,19 +45,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let multiRobots = [multiRobotA, multiRobotB]; >multiRobots : [string, [string, string]][] @@ -314,7 +314,7 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB for (let [numberA3, ...robotAInfo] of robots) { >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robots : [number, string, string][] console.log(numberA3); @@ -326,7 +326,7 @@ for (let [numberA3, ...robotAInfo] of robots) { } for (let [numberA3, ...robotAInfo] of getRobots()) { >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -339,7 +339,7 @@ for (let [numberA3, ...robotAInfo] of getRobots()) { } for (let [numberA3, ...robotAInfo] of [robotA, robotB]) { >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.js.map index cae221df0f2..1a42ddf3907 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfArrayBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPattern2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AAEtG,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAApB,iBAAS,EAAN,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAc,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAzB,WAAS,EAAN,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAc,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA9B,WAAS,EAAN,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAApD,sBAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAAyC,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAAzD,WAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAAyC,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAAnE,WAAoC,EAAjC,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnB,yBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAc,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAxB,mBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAc,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA7B,mBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAY,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAtB,4BAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA3B,iBAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAArC,iBAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAAgC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAtC,iBAA2B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAgC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA3C,WAA2B,EAA1B,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAgC,UAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,eAAgB,EAAhB,IAAgB,CAAC;IAAhD,aAA2B,EAA1B,iBAAQ,EAAE,eAAM,EAAE,gBAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAA1D,wBAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAA/D,cAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAAzE,cAA0C,EAAzC,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAA8B,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAApC,mBAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA8B,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAAzC,cAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA8B,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAA9C,cAAyB,EAAxB,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAAnC,6CAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAAyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAxC,mCAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAAyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAAlD,mCAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPattern2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AAEtG,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;uBAAhB,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAc,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;iBAArB,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAc,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;iBAA1B,aAAK;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;4BAAhD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAAyC,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;iBAArD,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAAyC,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;iBAA/D,UAAgC,EAA/B,qBAAa,EAAE,uBAAe;IACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAlB,yBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAc,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAvB,mBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAc,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;IAA5B,mBAAO;IACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAY,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAArB,4BAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAA1B,iBAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;IAApC,iBAAK;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAAgC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;uBAApC,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAgC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;iBAAzC,gBAAQ,EAAE,cAAM,EAAE,eAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAAgC,UAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,eAAgB,EAAhB,IAAgB;mBAA9C,iBAAQ,EAAE,eAAM,EAAE,gBAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;8BAAxD,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBAA7D,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA+C,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;oBAAvE,eAAM,EAAE,YAAgC,EAA/B,sBAAa,EAAE,wBAAe;IACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAA8B,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAAlC,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA8B,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAAvC,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA8B,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;oBAA5C,iBAAQ,EAAE,yBAAa;IACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAAlC,6CAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAAyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAAvC,mCAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC;AACD,GAAG,CAAC,CAAyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAAjD,mCAAkB;IACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAChC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.sourcemap.txt index 72970488233..f670f9eda1f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.sourcemap.txt @@ -444,7 +444,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -458,7 +457,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(17, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(26, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(26, 5) + SourceIndex(0) @@ -470,21 +468,14 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(17, 57) Source(26, 25) + SourceIndex(0) 10>Emitted(17, 59) Source(26, 19) + SourceIndex(0) 11>Emitted(17, 63) Source(26, 25) + SourceIndex(0) -12>Emitted(17, 64) Source(26, 26) + SourceIndex(0) --- >>> _a = robots_1[_i], nameA = _a[1]; -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^ 1 > -2 > [, nameA] -3 > -4 > nameA -1 >Emitted(18, 5) Source(26, 6) + SourceIndex(0) -2 >Emitted(18, 22) Source(26, 15) + SourceIndex(0) -3 >Emitted(18, 24) Source(26, 9) + SourceIndex(0) -4 >Emitted(18, 37) Source(26, 14) + SourceIndex(0) +2 > nameA +1 >Emitted(18, 24) Source(26, 9) + SourceIndex(0) +2 >Emitted(18, 37) Source(26, 14) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -534,7 +525,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -549,7 +539,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(21, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(29, 5) + SourceIndex(0) @@ -563,21 +552,14 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(21, 50) Source(29, 30) + SourceIndex(0) 12>Emitted(21, 52) Source(29, 19) + SourceIndex(0) 13>Emitted(21, 56) Source(29, 30) + SourceIndex(0) -14>Emitted(21, 57) Source(29, 31) + SourceIndex(0) --- >>> _d = _c[_b], nameA = _d[1]; -1 >^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^ 1 > -2 > [, nameA] -3 > -4 > nameA -1 >Emitted(22, 5) Source(29, 6) + SourceIndex(0) -2 >Emitted(22, 16) Source(29, 15) + SourceIndex(0) -3 >Emitted(22, 18) Source(29, 9) + SourceIndex(0) -4 >Emitted(22, 31) Source(29, 14) + SourceIndex(0) +2 > nameA +1 >Emitted(22, 18) Source(29, 9) + SourceIndex(0) +2 >Emitted(22, 31) Source(29, 14) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -629,7 +611,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -646,7 +627,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(25, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(32, 5) + SourceIndex(0) @@ -662,21 +642,14 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(25, 55) Source(32, 35) + SourceIndex(0) 14>Emitted(25, 57) Source(32, 19) + SourceIndex(0) 15>Emitted(25, 61) Source(32, 35) + SourceIndex(0) -16>Emitted(25, 62) Source(32, 36) + SourceIndex(0) --- >>> _g = _f[_e], nameA = _g[1]; -1 >^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^ 1 > -2 > [, nameA] -3 > -4 > nameA -1 >Emitted(26, 5) Source(32, 6) + SourceIndex(0) -2 >Emitted(26, 16) Source(32, 15) + SourceIndex(0) -3 >Emitted(26, 18) Source(32, 9) + SourceIndex(0) -4 >Emitted(26, 31) Source(32, 14) + SourceIndex(0) +2 > nameA +1 >Emitted(26, 18) Source(32, 9) + SourceIndex(0) +2 >Emitted(26, 31) Source(32, 14) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -724,8 +697,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^-> +12> ^^^^^^^^^^^-> 1-> > 2 >for @@ -738,7 +710,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(29, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(29, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(29, 5) Source(35, 5) + SourceIndex(0) @@ -750,33 +721,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(29, 72) Source(35, 57) + SourceIndex(0) 10>Emitted(29, 74) Source(35, 46) + SourceIndex(0) 11>Emitted(29, 78) Source(35, 57) + SourceIndex(0) -12>Emitted(29, 79) Source(35, 58) + SourceIndex(0) --- >>> _j = multiRobots_1[_h], _k = _j[1], primarySkillA = _k[0], secondarySkillA = _k[1]; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(30, 5) Source(35, 6) + SourceIndex(0) -2 >Emitted(30, 27) Source(35, 42) + SourceIndex(0) -3 >Emitted(30, 29) Source(35, 9) + SourceIndex(0) -4 >Emitted(30, 39) Source(35, 41) + SourceIndex(0) -5 >Emitted(30, 41) Source(35, 10) + SourceIndex(0) -6 >Emitted(30, 62) Source(35, 23) + SourceIndex(0) -7 >Emitted(30, 64) Source(35, 25) + SourceIndex(0) -8 >Emitted(30, 87) Source(35, 40) + SourceIndex(0) +2 > [primarySkillA, secondarySkillA] +3 > +4 > primarySkillA +5 > , +6 > secondarySkillA +1->Emitted(30, 29) Source(35, 9) + SourceIndex(0) +2 >Emitted(30, 39) Source(35, 41) + SourceIndex(0) +3 >Emitted(30, 41) Source(35, 10) + SourceIndex(0) +4 >Emitted(30, 62) Source(35, 23) + SourceIndex(0) +5 >Emitted(30, 64) Source(35, 25) + SourceIndex(0) +6 >Emitted(30, 87) Source(35, 40) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -826,8 +790,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -842,7 +805,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(33, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(38, 5) + SourceIndex(0) @@ -856,33 +818,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(33, 55) Source(38, 62) + SourceIndex(0) 12>Emitted(33, 57) Source(38, 46) + SourceIndex(0) 13>Emitted(33, 61) Source(38, 62) + SourceIndex(0) -14>Emitted(33, 62) Source(38, 63) + SourceIndex(0) --- >>> _o = _m[_l], _p = _o[1], primarySkillA = _p[0], secondarySkillA = _p[1]; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(34, 5) Source(38, 6) + SourceIndex(0) -2 >Emitted(34, 16) Source(38, 42) + SourceIndex(0) -3 >Emitted(34, 18) Source(38, 9) + SourceIndex(0) -4 >Emitted(34, 28) Source(38, 41) + SourceIndex(0) -5 >Emitted(34, 30) Source(38, 10) + SourceIndex(0) -6 >Emitted(34, 51) Source(38, 23) + SourceIndex(0) -7 >Emitted(34, 53) Source(38, 25) + SourceIndex(0) -8 >Emitted(34, 76) Source(38, 40) + SourceIndex(0) +2 > [primarySkillA, secondarySkillA] +3 > +4 > primarySkillA +5 > , +6 > secondarySkillA +1->Emitted(34, 18) Source(38, 9) + SourceIndex(0) +2 >Emitted(34, 28) Source(38, 41) + SourceIndex(0) +3 >Emitted(34, 30) Source(38, 10) + SourceIndex(0) +4 >Emitted(34, 51) Source(38, 23) + SourceIndex(0) +5 >Emitted(34, 53) Source(38, 25) + SourceIndex(0) +6 >Emitted(34, 76) Source(38, 40) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -934,8 +889,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^-> +16> ^^^^^^^-> 1-> > 2 >for @@ -952,7 +906,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(37, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(41, 5) + SourceIndex(0) @@ -968,33 +921,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(37, 65) Source(41, 72) + SourceIndex(0) 14>Emitted(37, 67) Source(41, 46) + SourceIndex(0) 15>Emitted(37, 71) Source(41, 72) + SourceIndex(0) -16>Emitted(37, 72) Source(41, 73) + SourceIndex(0) --- >>> _s = _r[_q], _t = _s[1], primarySkillA = _t[0], secondarySkillA = _t[1]; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [primarySkillA, secondarySkillA]] -3 > -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -1->Emitted(38, 5) Source(41, 6) + SourceIndex(0) -2 >Emitted(38, 16) Source(41, 42) + SourceIndex(0) -3 >Emitted(38, 18) Source(41, 9) + SourceIndex(0) -4 >Emitted(38, 28) Source(41, 41) + SourceIndex(0) -5 >Emitted(38, 30) Source(41, 10) + SourceIndex(0) -6 >Emitted(38, 51) Source(41, 23) + SourceIndex(0) -7 >Emitted(38, 53) Source(41, 25) + SourceIndex(0) -8 >Emitted(38, 76) Source(41, 40) + SourceIndex(0) +2 > [primarySkillA, secondarySkillA] +3 > +4 > primarySkillA +5 > , +6 > secondarySkillA +1->Emitted(38, 18) Source(41, 9) + SourceIndex(0) +2 >Emitted(38, 28) Source(41, 41) + SourceIndex(0) +3 >Emitted(38, 30) Source(41, 10) + SourceIndex(0) +4 >Emitted(38, 51) Source(41, 23) + SourceIndex(0) +5 >Emitted(38, 53) Source(41, 25) + SourceIndex(0) +6 >Emitted(38, 76) Source(41, 40) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1042,7 +988,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -1056,7 +1001,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(41, 1) Source(45, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(45, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(45, 5) + SourceIndex(0) @@ -1068,7 +1012,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(41, 57) Source(45, 25) + SourceIndex(0) 10>Emitted(41, 59) Source(45, 19) + SourceIndex(0) 11>Emitted(41, 63) Source(45, 25) + SourceIndex(0) -12>Emitted(41, 64) Source(45, 26) + SourceIndex(0) --- >>> numberB = robots_2[_u][0]; 1 >^^^^ @@ -1126,7 +1069,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1141,7 +1083,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(45, 1) Source(48, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(48, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(48, 5) + SourceIndex(0) @@ -1155,7 +1096,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(45, 50) Source(48, 30) + SourceIndex(0) 12>Emitted(45, 52) Source(48, 19) + SourceIndex(0) 13>Emitted(45, 56) Source(48, 30) + SourceIndex(0) -14>Emitted(45, 57) Source(48, 31) + SourceIndex(0) --- >>> numberB = _w[_v][0]; 1 >^^^^ @@ -1216,7 +1156,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -1233,7 +1172,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(49, 1) Source(51, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(51, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(51, 5) + SourceIndex(0) @@ -1249,7 +1187,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(49, 55) Source(51, 35) + SourceIndex(0) 14>Emitted(49, 57) Source(51, 19) + SourceIndex(0) 15>Emitted(49, 61) Source(51, 35) + SourceIndex(0) -16>Emitted(49, 62) Source(51, 36) + SourceIndex(0) --- >>> numberB = _y[_x][0]; 1 >^^^^ @@ -1306,7 +1243,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > 2 >for @@ -1319,7 +1255,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(53, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(54, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(54, 5) + SourceIndex(0) @@ -1331,7 +1266,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(53, 72) Source(54, 28) + SourceIndex(0) 10>Emitted(53, 74) Source(54, 17) + SourceIndex(0) 11>Emitted(53, 78) Source(54, 28) + SourceIndex(0) -12>Emitted(53, 79) Source(54, 29) + SourceIndex(0) --- >>> nameB = multiRobots_2[_z][0]; 1 >^^^^ @@ -1389,7 +1323,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1404,7 +1337,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(57, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(57, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(57, 5) + SourceIndex(0) @@ -1418,7 +1350,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(57, 55) Source(57, 33) + SourceIndex(0) 12>Emitted(57, 57) Source(57, 17) + SourceIndex(0) 13>Emitted(57, 61) Source(57, 33) + SourceIndex(0) -14>Emitted(57, 62) Source(57, 34) + SourceIndex(0) --- >>> nameB = _1[_0][0]; 1 >^^^^ @@ -1479,7 +1410,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ 1-> > 2 >for @@ -1496,7 +1426,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(61, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(60, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(60, 5) + SourceIndex(0) @@ -1512,7 +1441,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(61, 65) Source(60, 43) + SourceIndex(0) 14>Emitted(61, 67) Source(60, 17) + SourceIndex(0) 15>Emitted(61, 71) Source(60, 43) + SourceIndex(0) -16>Emitted(61, 72) Source(60, 44) + SourceIndex(0) --- >>> nameB = _3[_2][0]; 1 >^^^^ @@ -1569,8 +1497,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^-> +12> ^^^^^^^^^^^^-> 1-> > > @@ -1584,7 +1511,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(65, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(65, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(65, 5) Source(64, 5) + SourceIndex(0) @@ -1596,33 +1522,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(65, 57) Source(64, 43) + SourceIndex(0) 10>Emitted(65, 59) Source(64, 37) + SourceIndex(0) 11>Emitted(65, 63) Source(64, 43) + SourceIndex(0) -12>Emitted(65, 64) Source(64, 44) + SourceIndex(0) --- >>> _5 = robots_3[_4], numberA2 = _5[0], nameA2 = _5[1], skillA2 = _5[2]; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ 1-> -2 > [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(66, 5) Source(64, 6) + SourceIndex(0) -2 >Emitted(66, 22) Source(64, 33) + SourceIndex(0) -3 >Emitted(66, 24) Source(64, 7) + SourceIndex(0) -4 >Emitted(66, 40) Source(64, 15) + SourceIndex(0) -5 >Emitted(66, 42) Source(64, 17) + SourceIndex(0) -6 >Emitted(66, 56) Source(64, 23) + SourceIndex(0) -7 >Emitted(66, 58) Source(64, 25) + SourceIndex(0) -8 >Emitted(66, 73) Source(64, 32) + SourceIndex(0) +2 > numberA2 +3 > , +4 > nameA2 +5 > , +6 > skillA2 +1->Emitted(66, 24) Source(64, 7) + SourceIndex(0) +2 >Emitted(66, 40) Source(64, 15) + SourceIndex(0) +3 >Emitted(66, 42) Source(64, 17) + SourceIndex(0) +4 >Emitted(66, 56) Source(64, 23) + SourceIndex(0) +5 >Emitted(66, 58) Source(64, 25) + SourceIndex(0) +6 >Emitted(66, 73) Source(64, 32) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1672,8 +1591,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1688,7 +1606,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(69, 1) Source(67, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(67, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(67, 5) + SourceIndex(0) @@ -1702,33 +1619,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(69, 50) Source(67, 48) + SourceIndex(0) 12>Emitted(69, 52) Source(67, 37) + SourceIndex(0) 13>Emitted(69, 56) Source(67, 48) + SourceIndex(0) -14>Emitted(69, 57) Source(67, 49) + SourceIndex(0) --- >>> _8 = _7[_6], numberA2 = _8[0], nameA2 = _8[1], skillA2 = _8[2]; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ 1-> -2 > [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(70, 5) Source(67, 6) + SourceIndex(0) -2 >Emitted(70, 16) Source(67, 33) + SourceIndex(0) -3 >Emitted(70, 18) Source(67, 7) + SourceIndex(0) -4 >Emitted(70, 34) Source(67, 15) + SourceIndex(0) -5 >Emitted(70, 36) Source(67, 17) + SourceIndex(0) -6 >Emitted(70, 50) Source(67, 23) + SourceIndex(0) -7 >Emitted(70, 52) Source(67, 25) + SourceIndex(0) -8 >Emitted(70, 67) Source(67, 32) + SourceIndex(0) +2 > numberA2 +3 > , +4 > nameA2 +5 > , +6 > skillA2 +1->Emitted(70, 18) Source(67, 7) + SourceIndex(0) +2 >Emitted(70, 34) Source(67, 15) + SourceIndex(0) +3 >Emitted(70, 36) Source(67, 17) + SourceIndex(0) +4 >Emitted(70, 50) Source(67, 23) + SourceIndex(0) +5 >Emitted(70, 52) Source(67, 25) + SourceIndex(0) +6 >Emitted(70, 67) Source(67, 32) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1780,8 +1690,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^-> +16> ^^^^^^^^^^^-> 1-> > 2 >for @@ -1798,7 +1707,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(73, 1) Source(70, 1) + SourceIndex(0) 2 >Emitted(73, 4) Source(70, 4) + SourceIndex(0) 3 >Emitted(73, 5) Source(70, 5) + SourceIndex(0) @@ -1814,33 +1722,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(73, 57) Source(70, 53) + SourceIndex(0) 14>Emitted(73, 59) Source(70, 37) + SourceIndex(0) 15>Emitted(73, 63) Source(70, 53) + SourceIndex(0) -16>Emitted(73, 64) Source(70, 54) + SourceIndex(0) --- >>> _11 = _10[_9], numberA2 = _11[0], nameA2 = _11[1], skillA2 = _11[2]; -1->^^^^ -2 > ^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ 1-> -2 > [numberA2, nameA2, skillA2] -3 > -4 > numberA2 -5 > , -6 > nameA2 -7 > , -8 > skillA2 -1->Emitted(74, 5) Source(70, 6) + SourceIndex(0) -2 >Emitted(74, 18) Source(70, 33) + SourceIndex(0) -3 >Emitted(74, 20) Source(70, 7) + SourceIndex(0) -4 >Emitted(74, 37) Source(70, 15) + SourceIndex(0) -5 >Emitted(74, 39) Source(70, 17) + SourceIndex(0) -6 >Emitted(74, 54) Source(70, 23) + SourceIndex(0) -7 >Emitted(74, 56) Source(70, 25) + SourceIndex(0) -8 >Emitted(74, 72) Source(70, 32) + SourceIndex(0) +2 > numberA2 +3 > , +4 > nameA2 +5 > , +6 > skillA2 +1->Emitted(74, 20) Source(70, 7) + SourceIndex(0) +2 >Emitted(74, 37) Source(70, 15) + SourceIndex(0) +3 >Emitted(74, 39) Source(70, 17) + SourceIndex(0) +4 >Emitted(74, 54) Source(70, 23) + SourceIndex(0) +5 >Emitted(74, 56) Source(70, 25) + SourceIndex(0) +6 >Emitted(74, 72) Source(70, 32) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1888,8 +1789,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1902,7 +1802,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(77, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(73, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(73, 5) + SourceIndex(0) @@ -1914,39 +1813,32 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(77, 74) Source(73, 63) + SourceIndex(0) 10>Emitted(77, 76) Source(73, 52) + SourceIndex(0) 11>Emitted(77, 81) Source(73, 63) + SourceIndex(0) -12>Emitted(77, 82) Source(73, 64) + SourceIndex(0) --- >>> _13 = multiRobots_3[_12], nameMA = _13[0], _14 = _13[1], primarySkillA = _14[0], secondarySkillA = _14[1]; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(78, 5) Source(73, 6) + SourceIndex(0) -2 >Emitted(78, 29) Source(73, 48) + SourceIndex(0) -3 >Emitted(78, 31) Source(73, 7) + SourceIndex(0) -4 >Emitted(78, 46) Source(73, 13) + SourceIndex(0) -5 >Emitted(78, 48) Source(73, 15) + SourceIndex(0) -6 >Emitted(78, 60) Source(73, 47) + SourceIndex(0) -7 >Emitted(78, 62) Source(73, 16) + SourceIndex(0) -8 >Emitted(78, 84) Source(73, 29) + SourceIndex(0) -9 >Emitted(78, 86) Source(73, 31) + SourceIndex(0) -10>Emitted(78, 110) Source(73, 46) + SourceIndex(0) +2 > nameMA +3 > , +4 > [primarySkillA, secondarySkillA] +5 > +6 > primarySkillA +7 > , +8 > secondarySkillA +1->Emitted(78, 31) Source(73, 7) + SourceIndex(0) +2 >Emitted(78, 46) Source(73, 13) + SourceIndex(0) +3 >Emitted(78, 48) Source(73, 15) + SourceIndex(0) +4 >Emitted(78, 60) Source(73, 47) + SourceIndex(0) +5 >Emitted(78, 62) Source(73, 16) + SourceIndex(0) +6 >Emitted(78, 84) Source(73, 29) + SourceIndex(0) +7 >Emitted(78, 86) Source(73, 31) + SourceIndex(0) +8 >Emitted(78, 110) Source(73, 46) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -1996,8 +1888,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2012,7 +1903,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(81, 1) Source(76, 1) + SourceIndex(0) 2 >Emitted(81, 4) Source(76, 4) + SourceIndex(0) 3 >Emitted(81, 5) Source(76, 5) + SourceIndex(0) @@ -2026,39 +1916,32 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(81, 59) Source(76, 68) + SourceIndex(0) 12>Emitted(81, 61) Source(76, 52) + SourceIndex(0) 13>Emitted(81, 66) Source(76, 68) + SourceIndex(0) -14>Emitted(81, 67) Source(76, 69) + SourceIndex(0) --- >>> _17 = _16[_15], nameMA = _17[0], _18 = _17[1], primarySkillA = _18[0], secondarySkillA = _18[1]; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(82, 5) Source(76, 6) + SourceIndex(0) -2 >Emitted(82, 19) Source(76, 48) + SourceIndex(0) -3 >Emitted(82, 21) Source(76, 7) + SourceIndex(0) -4 >Emitted(82, 36) Source(76, 13) + SourceIndex(0) -5 >Emitted(82, 38) Source(76, 15) + SourceIndex(0) -6 >Emitted(82, 50) Source(76, 47) + SourceIndex(0) -7 >Emitted(82, 52) Source(76, 16) + SourceIndex(0) -8 >Emitted(82, 74) Source(76, 29) + SourceIndex(0) -9 >Emitted(82, 76) Source(76, 31) + SourceIndex(0) -10>Emitted(82, 100) Source(76, 46) + SourceIndex(0) +2 > nameMA +3 > , +4 > [primarySkillA, secondarySkillA] +5 > +6 > primarySkillA +7 > , +8 > secondarySkillA +1->Emitted(82, 21) Source(76, 7) + SourceIndex(0) +2 >Emitted(82, 36) Source(76, 13) + SourceIndex(0) +3 >Emitted(82, 38) Source(76, 15) + SourceIndex(0) +4 >Emitted(82, 50) Source(76, 47) + SourceIndex(0) +5 >Emitted(82, 52) Source(76, 16) + SourceIndex(0) +6 >Emitted(82, 74) Source(76, 29) + SourceIndex(0) +7 >Emitted(82, 76) Source(76, 31) + SourceIndex(0) +8 >Emitted(82, 100) Source(76, 46) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2110,8 +1993,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2128,7 +2010,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(85, 1) Source(79, 1) + SourceIndex(0) 2 >Emitted(85, 4) Source(79, 4) + SourceIndex(0) 3 >Emitted(85, 5) Source(79, 5) + SourceIndex(0) @@ -2144,39 +2025,32 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(85, 69) Source(79, 78) + SourceIndex(0) 14>Emitted(85, 71) Source(79, 52) + SourceIndex(0) 15>Emitted(85, 76) Source(79, 78) + SourceIndex(0) -16>Emitted(85, 77) Source(79, 79) + SourceIndex(0) --- >>> _21 = _20[_19], nameMA = _21[0], _22 = _21[1], primarySkillA = _22[0], secondarySkillA = _22[1]; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA, [primarySkillA, secondarySkillA]] -3 > -4 > nameMA -5 > , -6 > [primarySkillA, secondarySkillA] -7 > -8 > primarySkillA -9 > , -10> secondarySkillA -1->Emitted(86, 5) Source(79, 6) + SourceIndex(0) -2 >Emitted(86, 19) Source(79, 48) + SourceIndex(0) -3 >Emitted(86, 21) Source(79, 7) + SourceIndex(0) -4 >Emitted(86, 36) Source(79, 13) + SourceIndex(0) -5 >Emitted(86, 38) Source(79, 15) + SourceIndex(0) -6 >Emitted(86, 50) Source(79, 47) + SourceIndex(0) -7 >Emitted(86, 52) Source(79, 16) + SourceIndex(0) -8 >Emitted(86, 74) Source(79, 29) + SourceIndex(0) -9 >Emitted(86, 76) Source(79, 31) + SourceIndex(0) -10>Emitted(86, 100) Source(79, 46) + SourceIndex(0) +2 > nameMA +3 > , +4 > [primarySkillA, secondarySkillA] +5 > +6 > primarySkillA +7 > , +8 > secondarySkillA +1->Emitted(86, 21) Source(79, 7) + SourceIndex(0) +2 >Emitted(86, 36) Source(79, 13) + SourceIndex(0) +3 >Emitted(86, 38) Source(79, 15) + SourceIndex(0) +4 >Emitted(86, 50) Source(79, 47) + SourceIndex(0) +5 >Emitted(86, 52) Source(79, 16) + SourceIndex(0) +6 >Emitted(86, 74) Source(79, 29) + SourceIndex(0) +7 >Emitted(86, 76) Source(79, 31) + SourceIndex(0) +8 >Emitted(86, 100) Source(79, 46) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2224,8 +2098,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^-> +12> ^^^^^^-> 1-> > > @@ -2239,7 +2112,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(89, 1) Source(83, 1) + SourceIndex(0) 2 >Emitted(89, 4) Source(83, 4) + SourceIndex(0) 3 >Emitted(89, 5) Source(83, 5) + SourceIndex(0) @@ -2251,27 +2123,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(89, 59) Source(83, 41) + SourceIndex(0) 10>Emitted(89, 61) Source(83, 35) + SourceIndex(0) 11>Emitted(89, 66) Source(83, 41) + SourceIndex(0) -12>Emitted(89, 67) Source(83, 42) + SourceIndex(0) --- >>> _24 = robots_4[_23], numberA3 = _24[0], robotAInfo = _24.slice(1); -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1->Emitted(90, 5) Source(83, 6) + SourceIndex(0) -2 >Emitted(90, 24) Source(83, 31) + SourceIndex(0) -3 >Emitted(90, 26) Source(83, 7) + SourceIndex(0) -4 >Emitted(90, 43) Source(83, 15) + SourceIndex(0) -5 >Emitted(90, 45) Source(83, 17) + SourceIndex(0) -6 >Emitted(90, 70) Source(83, 30) + SourceIndex(0) +2 > numberA3 +3 > , +4 > ...robotAInfo +1->Emitted(90, 26) Source(83, 7) + SourceIndex(0) +2 >Emitted(90, 43) Source(83, 15) + SourceIndex(0) +3 >Emitted(90, 45) Source(83, 17) + SourceIndex(0) +4 >Emitted(90, 70) Source(83, 30) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2321,8 +2186,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^-> +14> ^^^^^^-> 1-> > 2 >for @@ -2337,7 +2201,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(93, 1) Source(86, 1) + SourceIndex(0) 2 >Emitted(93, 4) Source(86, 4) + SourceIndex(0) 3 >Emitted(93, 5) Source(86, 5) + SourceIndex(0) @@ -2351,27 +2214,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(93, 54) Source(86, 46) + SourceIndex(0) 12>Emitted(93, 56) Source(86, 35) + SourceIndex(0) 13>Emitted(93, 61) Source(86, 46) + SourceIndex(0) -14>Emitted(93, 62) Source(86, 47) + SourceIndex(0) --- >>> _27 = _26[_25], numberA3 = _27[0], robotAInfo = _27.slice(1); -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1->Emitted(94, 5) Source(86, 6) + SourceIndex(0) -2 >Emitted(94, 19) Source(86, 31) + SourceIndex(0) -3 >Emitted(94, 21) Source(86, 7) + SourceIndex(0) -4 >Emitted(94, 38) Source(86, 15) + SourceIndex(0) -5 >Emitted(94, 40) Source(86, 17) + SourceIndex(0) -6 >Emitted(94, 65) Source(86, 30) + SourceIndex(0) +2 > numberA3 +3 > , +4 > ...robotAInfo +1->Emitted(94, 21) Source(86, 7) + SourceIndex(0) +2 >Emitted(94, 38) Source(86, 15) + SourceIndex(0) +3 >Emitted(94, 40) Source(86, 17) + SourceIndex(0) +4 >Emitted(94, 65) Source(86, 30) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2423,7 +2279,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ +16> ^-> 1-> > 2 >for @@ -2440,7 +2296,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(97, 1) Source(89, 1) + SourceIndex(0) 2 >Emitted(97, 4) Source(89, 4) + SourceIndex(0) 3 >Emitted(97, 5) Source(89, 5) + SourceIndex(0) @@ -2456,27 +2311,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(97, 59) Source(89, 51) + SourceIndex(0) 14>Emitted(97, 61) Source(89, 35) + SourceIndex(0) 15>Emitted(97, 66) Source(89, 51) + SourceIndex(0) -16>Emitted(97, 67) Source(89, 52) + SourceIndex(0) --- >>> _30 = _29[_28], numberA3 = _30[0], robotAInfo = _30.slice(1); -1 >^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -2 > [numberA3, ...robotAInfo] -3 > -4 > numberA3 -5 > , -6 > ...robotAInfo -1 >Emitted(98, 5) Source(89, 6) + SourceIndex(0) -2 >Emitted(98, 19) Source(89, 31) + SourceIndex(0) -3 >Emitted(98, 21) Source(89, 7) + SourceIndex(0) -4 >Emitted(98, 38) Source(89, 15) + SourceIndex(0) -5 >Emitted(98, 40) Source(89, 17) + SourceIndex(0) -6 >Emitted(98, 65) Source(89, 30) + SourceIndex(0) +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1-> +2 > numberA3 +3 > , +4 > ...robotAInfo +1->Emitted(98, 21) Source(89, 7) + SourceIndex(0) +2 >Emitted(98, 38) Source(89, 15) + SourceIndex(0) +3 >Emitted(98, 40) Source(89, 17) + SourceIndex(0) +4 >Emitted(98, 65) Source(89, 30) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2524,7 +2372,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ 1-> > 2 >for @@ -2537,7 +2384,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(101, 1) Source(92, 1) + SourceIndex(0) 2 >Emitted(101, 4) Source(92, 4) + SourceIndex(0) 3 >Emitted(101, 5) Source(92, 5) + SourceIndex(0) @@ -2549,7 +2395,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 9 >Emitted(101, 74) Source(92, 41) + SourceIndex(0) 10>Emitted(101, 76) Source(92, 30) + SourceIndex(0) 11>Emitted(101, 81) Source(92, 41) + SourceIndex(0) -12>Emitted(101, 82) Source(92, 42) + SourceIndex(0) --- >>> multiRobotAInfo = multiRobots_4[_31].slice(0); 1 >^^^^ @@ -2607,7 +2452,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ 1-> > 2 >for @@ -2622,7 +2466,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(105, 1) Source(95, 1) + SourceIndex(0) 2 >Emitted(105, 4) Source(95, 4) + SourceIndex(0) 3 >Emitted(105, 5) Source(95, 5) + SourceIndex(0) @@ -2636,7 +2479,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 11>Emitted(105, 59) Source(95, 46) + SourceIndex(0) 12>Emitted(105, 61) Source(95, 30) + SourceIndex(0) 13>Emitted(105, 66) Source(95, 46) + SourceIndex(0) -14>Emitted(105, 67) Source(95, 47) + SourceIndex(0) --- >>> multiRobotAInfo = _33[_32].slice(0); 1 >^^^^ @@ -2696,7 +2538,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -2713,7 +2554,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(109, 1) Source(98, 1) + SourceIndex(0) 2 >Emitted(109, 4) Source(98, 4) + SourceIndex(0) 3 >Emitted(109, 5) Source(98, 5) + SourceIndex(0) @@ -2729,7 +2569,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPattern2.ts 13>Emitted(109, 69) Source(98, 56) + SourceIndex(0) 14>Emitted(109, 71) Source(98, 30) + SourceIndex(0) 15>Emitted(109, 76) Source(98, 56) + SourceIndex(0) -16>Emitted(109, 77) Source(98, 57) + SourceIndex(0) --- >>> multiRobotAInfo = _35[_34].slice(0); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types index 78cb778b545..abc08ee63d4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types @@ -16,17 +16,17 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" let robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let robots = [robotA, robotB]; >robots : [number, string, string][] @@ -45,19 +45,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let multiRobots = [multiRobotA, multiRobotB]; >multiRobots : [string, [string, string]][] @@ -89,7 +89,7 @@ let numberA2: number, nameA2: string, skillA2: string, nameMA: string; let numberA3: number, robotAInfo: (number | string)[], multiRobotAInfo: (string | [string, string])[]; >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >multiRobotAInfo : (string | [string, string])[] for ([, nameA] of robots) { @@ -357,10 +357,10 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { } for ([numberA3, ...robotAInfo] of robots) { ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robots : [number, string, string][] console.log(numberA3); @@ -371,10 +371,10 @@ for ([numberA3, ...robotAInfo] of robots) { >numberA3 : number } for ([numberA3, ...robotAInfo] of getRobots()) { ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -386,10 +386,10 @@ for ([numberA3, ...robotAInfo] of getRobots()) { >numberA3 : number } for ([numberA3, ...robotAInfo] of [robotA, robotB]) { ->[numberA3, ...robotAInfo] : (number | string)[] +>[numberA3, ...robotAInfo] : (string | number)[] >numberA3 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js.map index 4d12f811df1..69f896d1274 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAA6B,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnC,qBAAwB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6B,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAxC,eAAwB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6B,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA7C,eAAwB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAGyB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAHpC,0BAGoB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAHzC,eAGoB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAHnD,eAGoB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAuB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxB,wBAAY,EAAZ,iCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7B,mBAAY,EAAZ,mCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAlC,qBAAY,EAAZ,mCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAA2B,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAAjC,+BAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA2B,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAtC,qBAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA2B,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAAhD,qBAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA8D,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAApE,uBAAyD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA8D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAAzE,kBAAyD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA8D,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAA9E,kBAAyD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAHpC,4BAGoB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAHzC,kBAGoB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAHnD,kBAGoB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAuC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAA7C,uBAAkC,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAAlD,kBAAkC,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAvD,kBAAkC,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAA6B,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAA9B,IAAA,iBAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6B,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAnC,IAAA,WAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6B,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;IAAxC,IAAA,WAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAGyB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAH/B,IAAA,sBAGgB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAHpC,IAAA,WAGgB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;IAH9C,IAAA,WAGgB,EAHb,UAGY,EAHZ,8CAGY,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAuB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAvB,IAAA,oBAAY,EAAZ,iCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA5B,IAAA,eAAY,EAAZ,mCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;IAAjC,IAAA,iBAAY,EAAZ,mCAAY;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAA2B,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAAhC,IAAA,2BAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA2B,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAArC,IAAA,iBAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA2B,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAA/C,IAAA,iBAAgB,EAAhB,uCAAgB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA8D,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;IAA/D,IAAA,mBAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA8D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;IAApE,IAAA,cAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA8D,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;IAAzE,IAAA,cAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAH/B,IAAA,wBAGgB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAHpC,IAAA,cAGgB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAH9C,IAAA,cAGgB,EAHf,YAAiB,EAAjB,wCAAiB,EAAE,YAGL,EAHK,iDAGL,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAuC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;IAAxC,IAAA,mBAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;IAA7C,IAAA,cAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;IAAlD,IAAA,cAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.sourcemap.txt index de9a60de903..d59dc00248d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.sourcemap.txt @@ -332,8 +332,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^-> 1-> > > @@ -347,7 +346,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(13, 1) Source(21, 1) + SourceIndex(0) 2 >Emitted(13, 4) Source(21, 4) + SourceIndex(0) 3 >Emitted(13, 5) Source(21, 5) + SourceIndex(0) @@ -359,27 +357,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(13, 57) Source(21, 40) + SourceIndex(0) 10>Emitted(13, 59) Source(21, 34) + SourceIndex(0) 11>Emitted(13, 63) Source(21, 40) + SourceIndex(0) -12>Emitted(13, 64) Source(21, 41) + SourceIndex(0) --- >>> var _a = robots_1[_i], _b = _a[1], nameA = _b === void 0 ? "noName" : _b; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(14, 5) Source(21, 6) + SourceIndex(0) -2 >Emitted(14, 26) Source(21, 30) + SourceIndex(0) -3 >Emitted(14, 28) Source(21, 13) + SourceIndex(0) -4 >Emitted(14, 38) Source(21, 29) + SourceIndex(0) -5 >Emitted(14, 40) Source(21, 13) + SourceIndex(0) -6 >Emitted(14, 77) Source(21, 29) + SourceIndex(0) +2 > +3 > [, nameA = "noName"] +4 > +5 > nameA = "noName" +6 > +7 > nameA = "noName" +1->Emitted(14, 5) Source(21, 10) + SourceIndex(0) +2 >Emitted(14, 9) Source(21, 10) + SourceIndex(0) +3 >Emitted(14, 26) Source(21, 30) + SourceIndex(0) +4 >Emitted(14, 28) Source(21, 13) + SourceIndex(0) +5 >Emitted(14, 38) Source(21, 29) + SourceIndex(0) +6 >Emitted(14, 40) Source(21, 13) + SourceIndex(0) +7 >Emitted(14, 77) Source(21, 29) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -429,8 +429,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -445,7 +444,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(17, 1) Source(24, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(24, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(24, 5) + SourceIndex(0) @@ -459,27 +457,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(17, 50) Source(24, 45) + SourceIndex(0) 12>Emitted(17, 52) Source(24, 34) + SourceIndex(0) 13>Emitted(17, 56) Source(24, 45) + SourceIndex(0) -14>Emitted(17, 57) Source(24, 46) + SourceIndex(0) --- >>> var _e = _d[_c], _f = _e[1], nameA = _f === void 0 ? "noName" : _f; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(18, 5) Source(24, 6) + SourceIndex(0) -2 >Emitted(18, 20) Source(24, 30) + SourceIndex(0) -3 >Emitted(18, 22) Source(24, 13) + SourceIndex(0) -4 >Emitted(18, 32) Source(24, 29) + SourceIndex(0) -5 >Emitted(18, 34) Source(24, 13) + SourceIndex(0) -6 >Emitted(18, 71) Source(24, 29) + SourceIndex(0) +2 > +3 > [, nameA = "noName"] +4 > +5 > nameA = "noName" +6 > +7 > nameA = "noName" +1->Emitted(18, 5) Source(24, 10) + SourceIndex(0) +2 >Emitted(18, 9) Source(24, 10) + SourceIndex(0) +3 >Emitted(18, 20) Source(24, 30) + SourceIndex(0) +4 >Emitted(18, 22) Source(24, 13) + SourceIndex(0) +5 >Emitted(18, 32) Source(24, 29) + SourceIndex(0) +6 >Emitted(18, 34) Source(24, 13) + SourceIndex(0) +7 >Emitted(18, 71) Source(24, 29) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -531,8 +531,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^^-> +16> ^^^^^^^^^^^^-> 1-> > 2 >for @@ -549,7 +548,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(21, 1) Source(27, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(27, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(27, 5) + SourceIndex(0) @@ -565,27 +563,29 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(21, 55) Source(27, 50) + SourceIndex(0) 14>Emitted(21, 57) Source(27, 34) + SourceIndex(0) 15>Emitted(21, 61) Source(27, 50) + SourceIndex(0) -16>Emitted(21, 62) Source(27, 51) + SourceIndex(0) --- >>> var _j = _h[_g], _k = _j[1], nameA = _k === void 0 ? "noName" : _k; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(22, 5) Source(27, 6) + SourceIndex(0) -2 >Emitted(22, 20) Source(27, 30) + SourceIndex(0) -3 >Emitted(22, 22) Source(27, 13) + SourceIndex(0) -4 >Emitted(22, 32) Source(27, 29) + SourceIndex(0) -5 >Emitted(22, 34) Source(27, 13) + SourceIndex(0) -6 >Emitted(22, 71) Source(27, 29) + SourceIndex(0) +2 > +3 > [, nameA = "noName"] +4 > +5 > nameA = "noName" +6 > +7 > nameA = "noName" +1->Emitted(22, 5) Source(27, 10) + SourceIndex(0) +2 >Emitted(22, 9) Source(27, 10) + SourceIndex(0) +3 >Emitted(22, 20) Source(27, 30) + SourceIndex(0) +4 >Emitted(22, 22) Source(27, 13) + SourceIndex(0) +5 >Emitted(22, 32) Source(27, 29) + SourceIndex(0) +6 >Emitted(22, 34) Source(27, 13) + SourceIndex(0) +7 >Emitted(22, 71) Source(27, 29) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -633,8 +633,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -650,7 +649,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(25, 1) Source(30, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(30, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(30, 5) + SourceIndex(0) @@ -662,61 +660,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(25, 72) Source(33, 41) + SourceIndex(0) 10>Emitted(25, 74) Source(33, 30) + SourceIndex(0) 11>Emitted(25, 78) Source(33, 41) + SourceIndex(0) -12>Emitted(25, 79) Source(33, 42) + SourceIndex(0) --- >>> var _m = multiRobots_1[_l], _o = _m[1], _p = _o === void 0 ? ["skill1", "skill2"] : _o, _q = _p[0], primarySkillA = _q === void 0 ? "primary" : _q, _r = _p[1], secondarySkillA = _r === void 0 ? "secondary" : _r; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > +3 > [, [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +6 > +7 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +8 > +9 > primarySkillA = "primary" +10> +11> primarySkillA = "primary" +12> , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(26, 5) Source(30, 6) + SourceIndex(0) -2 >Emitted(26, 31) Source(33, 26) + SourceIndex(0) -3 >Emitted(26, 33) Source(30, 13) + SourceIndex(0) -4 >Emitted(26, 43) Source(33, 25) + SourceIndex(0) -5 >Emitted(26, 45) Source(30, 13) + SourceIndex(0) -6 >Emitted(26, 91) Source(33, 25) + SourceIndex(0) -7 >Emitted(26, 93) Source(31, 5) + SourceIndex(0) -8 >Emitted(26, 103) Source(31, 30) + SourceIndex(0) -9 >Emitted(26, 105) Source(31, 5) + SourceIndex(0) -10>Emitted(26, 151) Source(31, 30) + SourceIndex(0) -11>Emitted(26, 153) Source(32, 5) + SourceIndex(0) -12>Emitted(26, 163) Source(32, 34) + SourceIndex(0) -13>Emitted(26, 165) Source(32, 5) + SourceIndex(0) -14>Emitted(26, 215) Source(32, 34) + SourceIndex(0) +13> secondarySkillA = "secondary" +14> +15> secondarySkillA = "secondary" +1->Emitted(26, 5) Source(30, 10) + SourceIndex(0) +2 >Emitted(26, 9) Source(30, 10) + SourceIndex(0) +3 >Emitted(26, 31) Source(33, 26) + SourceIndex(0) +4 >Emitted(26, 33) Source(30, 13) + SourceIndex(0) +5 >Emitted(26, 43) Source(33, 25) + SourceIndex(0) +6 >Emitted(26, 45) Source(30, 13) + SourceIndex(0) +7 >Emitted(26, 91) Source(33, 25) + SourceIndex(0) +8 >Emitted(26, 93) Source(31, 5) + SourceIndex(0) +9 >Emitted(26, 103) Source(31, 30) + SourceIndex(0) +10>Emitted(26, 105) Source(31, 5) + SourceIndex(0) +11>Emitted(26, 151) Source(31, 30) + SourceIndex(0) +12>Emitted(26, 153) Source(32, 5) + SourceIndex(0) +13>Emitted(26, 163) Source(32, 34) + SourceIndex(0) +14>Emitted(26, 165) Source(32, 5) + SourceIndex(0) +15>Emitted(26, 215) Source(32, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -767,8 +767,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -786,7 +785,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(29, 1) Source(36, 1) + SourceIndex(0) 2 >Emitted(29, 4) Source(36, 4) + SourceIndex(0) 3 >Emitted(29, 5) Source(36, 5) + SourceIndex(0) @@ -800,61 +798,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(29, 55) Source(39, 46) + SourceIndex(0) 12>Emitted(29, 57) Source(39, 30) + SourceIndex(0) 13>Emitted(29, 61) Source(39, 46) + SourceIndex(0) -14>Emitted(29, 62) Source(39, 47) + SourceIndex(0) --- >>> var _u = _t[_s], _v = _u[1], _w = _v === void 0 ? ["skill1", "skill2"] : _v, _x = _w[0], primarySkillA = _x === void 0 ? "primary" : _x, _y = _w[1], secondarySkillA = _y === void 0 ? "secondary" : _y; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > +3 > [, [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +6 > +7 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +8 > +9 > primarySkillA = "primary" +10> +11> primarySkillA = "primary" +12> , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(30, 5) Source(36, 6) + SourceIndex(0) -2 >Emitted(30, 20) Source(39, 26) + SourceIndex(0) -3 >Emitted(30, 22) Source(36, 13) + SourceIndex(0) -4 >Emitted(30, 32) Source(39, 25) + SourceIndex(0) -5 >Emitted(30, 34) Source(36, 13) + SourceIndex(0) -6 >Emitted(30, 80) Source(39, 25) + SourceIndex(0) -7 >Emitted(30, 82) Source(37, 5) + SourceIndex(0) -8 >Emitted(30, 92) Source(37, 30) + SourceIndex(0) -9 >Emitted(30, 94) Source(37, 5) + SourceIndex(0) -10>Emitted(30, 140) Source(37, 30) + SourceIndex(0) -11>Emitted(30, 142) Source(38, 5) + SourceIndex(0) -12>Emitted(30, 152) Source(38, 34) + SourceIndex(0) -13>Emitted(30, 154) Source(38, 5) + SourceIndex(0) -14>Emitted(30, 204) Source(38, 34) + SourceIndex(0) +13> secondarySkillA = "secondary" +14> +15> secondarySkillA = "secondary" +1->Emitted(30, 5) Source(36, 10) + SourceIndex(0) +2 >Emitted(30, 9) Source(36, 10) + SourceIndex(0) +3 >Emitted(30, 20) Source(39, 26) + SourceIndex(0) +4 >Emitted(30, 22) Source(36, 13) + SourceIndex(0) +5 >Emitted(30, 32) Source(39, 25) + SourceIndex(0) +6 >Emitted(30, 34) Source(36, 13) + SourceIndex(0) +7 >Emitted(30, 80) Source(39, 25) + SourceIndex(0) +8 >Emitted(30, 82) Source(37, 5) + SourceIndex(0) +9 >Emitted(30, 92) Source(37, 30) + SourceIndex(0) +10>Emitted(30, 94) Source(37, 5) + SourceIndex(0) +11>Emitted(30, 140) Source(37, 30) + SourceIndex(0) +12>Emitted(30, 142) Source(38, 5) + SourceIndex(0) +13>Emitted(30, 152) Source(38, 34) + SourceIndex(0) +14>Emitted(30, 154) Source(38, 5) + SourceIndex(0) +15>Emitted(30, 204) Source(38, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -907,8 +907,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -928,7 +927,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(33, 1) Source(42, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(42, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(42, 5) + SourceIndex(0) @@ -944,61 +942,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(33, 65) Source(45, 56) + SourceIndex(0) 14>Emitted(33, 67) Source(45, 30) + SourceIndex(0) 15>Emitted(33, 71) Source(45, 56) + SourceIndex(0) -16>Emitted(33, 72) Source(45, 57) + SourceIndex(0) --- >>> var _1 = _0[_z], _2 = _1[1], _3 = _2 === void 0 ? ["skill1", "skill2"] : _2, _4 = _3[0], primarySkillA = _4 === void 0 ? "primary" : _4, _5 = _3[1], secondarySkillA = _5 === void 0 ? "secondary" : _5; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > +3 > [, [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +6 > +7 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +8 > +9 > primarySkillA = "primary" +10> +11> primarySkillA = "primary" +12> , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(34, 5) Source(42, 6) + SourceIndex(0) -2 >Emitted(34, 20) Source(45, 26) + SourceIndex(0) -3 >Emitted(34, 22) Source(42, 13) + SourceIndex(0) -4 >Emitted(34, 32) Source(45, 25) + SourceIndex(0) -5 >Emitted(34, 34) Source(42, 13) + SourceIndex(0) -6 >Emitted(34, 80) Source(45, 25) + SourceIndex(0) -7 >Emitted(34, 82) Source(43, 5) + SourceIndex(0) -8 >Emitted(34, 92) Source(43, 30) + SourceIndex(0) -9 >Emitted(34, 94) Source(43, 5) + SourceIndex(0) -10>Emitted(34, 140) Source(43, 30) + SourceIndex(0) -11>Emitted(34, 142) Source(44, 5) + SourceIndex(0) -12>Emitted(34, 152) Source(44, 34) + SourceIndex(0) -13>Emitted(34, 154) Source(44, 5) + SourceIndex(0) -14>Emitted(34, 204) Source(44, 34) + SourceIndex(0) +13> secondarySkillA = "secondary" +14> +15> secondarySkillA = "secondary" +1->Emitted(34, 5) Source(42, 10) + SourceIndex(0) +2 >Emitted(34, 9) Source(42, 10) + SourceIndex(0) +3 >Emitted(34, 20) Source(45, 26) + SourceIndex(0) +4 >Emitted(34, 22) Source(42, 13) + SourceIndex(0) +5 >Emitted(34, 32) Source(45, 25) + SourceIndex(0) +6 >Emitted(34, 34) Source(42, 13) + SourceIndex(0) +7 >Emitted(34, 80) Source(45, 25) + SourceIndex(0) +8 >Emitted(34, 82) Source(43, 5) + SourceIndex(0) +9 >Emitted(34, 92) Source(43, 30) + SourceIndex(0) +10>Emitted(34, 94) Source(43, 5) + SourceIndex(0) +11>Emitted(34, 140) Source(43, 30) + SourceIndex(0) +12>Emitted(34, 142) Source(44, 5) + SourceIndex(0) +13>Emitted(34, 152) Source(44, 34) + SourceIndex(0) +14>Emitted(34, 154) Source(44, 5) + SourceIndex(0) +15>Emitted(34, 204) Source(44, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1047,8 +1047,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^-> +12> ^^^-> 1-> > > @@ -1062,7 +1061,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(37, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(49, 5) + SourceIndex(0) @@ -1074,21 +1072,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(37, 57) Source(49, 34) + SourceIndex(0) 10>Emitted(37, 59) Source(49, 28) + SourceIndex(0) 11>Emitted(37, 63) Source(49, 34) + SourceIndex(0) -12>Emitted(37, 64) Source(49, 35) + SourceIndex(0) --- >>> var _7 = robots_2[_6][0], numberB = _7 === void 0 ? -1 : _7; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > numberB = -1 -3 > -4 > numberB = -1 +2 > +3 > numberB = -1 +4 > +5 > numberB = -1 1->Emitted(38, 5) Source(49, 11) + SourceIndex(0) -2 >Emitted(38, 29) Source(49, 23) + SourceIndex(0) -3 >Emitted(38, 31) Source(49, 11) + SourceIndex(0) -4 >Emitted(38, 64) Source(49, 23) + SourceIndex(0) +2 >Emitted(38, 9) Source(49, 11) + SourceIndex(0) +3 >Emitted(38, 29) Source(49, 23) + SourceIndex(0) +4 >Emitted(38, 31) Source(49, 11) + SourceIndex(0) +5 >Emitted(38, 64) Source(49, 23) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1138,8 +1138,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^-> +14> ^^^^^^^-> 1-> > 2 >for @@ -1154,7 +1153,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(41, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(52, 5) + SourceIndex(0) @@ -1168,21 +1166,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(41, 50) Source(52, 39) + SourceIndex(0) 12>Emitted(41, 52) Source(52, 28) + SourceIndex(0) 13>Emitted(41, 56) Source(52, 39) + SourceIndex(0) -14>Emitted(41, 57) Source(52, 40) + SourceIndex(0) --- >>> var _10 = _9[_8][0], numberB = _10 === void 0 ? -1 : _10; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > numberB = -1 -3 > -4 > numberB = -1 +2 > +3 > numberB = -1 +4 > +5 > numberB = -1 1->Emitted(42, 5) Source(52, 11) + SourceIndex(0) -2 >Emitted(42, 24) Source(52, 23) + SourceIndex(0) -3 >Emitted(42, 26) Source(52, 11) + SourceIndex(0) -4 >Emitted(42, 61) Source(52, 23) + SourceIndex(0) +2 >Emitted(42, 9) Source(52, 11) + SourceIndex(0) +3 >Emitted(42, 24) Source(52, 23) + SourceIndex(0) +4 >Emitted(42, 26) Source(52, 11) + SourceIndex(0) +5 >Emitted(42, 61) Source(52, 23) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1234,7 +1234,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -1251,7 +1250,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(45, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(55, 5) + SourceIndex(0) @@ -1267,21 +1265,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(45, 59) Source(55, 44) + SourceIndex(0) 14>Emitted(45, 61) Source(55, 28) + SourceIndex(0) 15>Emitted(45, 66) Source(55, 44) + SourceIndex(0) -16>Emitted(45, 67) Source(55, 45) + SourceIndex(0) --- >>> var _13 = _12[_11][0], numberB = _13 === void 0 ? -1 : _13; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > numberB = -1 -3 > -4 > numberB = -1 +2 > +3 > numberB = -1 +4 > +5 > numberB = -1 1 >Emitted(46, 5) Source(55, 11) + SourceIndex(0) -2 >Emitted(46, 26) Source(55, 23) + SourceIndex(0) -3 >Emitted(46, 28) Source(55, 11) + SourceIndex(0) -4 >Emitted(46, 63) Source(55, 23) + SourceIndex(0) +2 >Emitted(46, 9) Source(55, 11) + SourceIndex(0) +3 >Emitted(46, 26) Source(55, 23) + SourceIndex(0) +4 >Emitted(46, 28) Source(55, 11) + SourceIndex(0) +5 >Emitted(46, 63) Source(55, 23) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ @@ -1329,7 +1329,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ 1-> > 2 >for @@ -1342,7 +1341,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(49, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(58, 5) + SourceIndex(0) @@ -1354,21 +1352,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(49, 74) Source(58, 43) + SourceIndex(0) 10>Emitted(49, 76) Source(58, 32) + SourceIndex(0) 11>Emitted(49, 81) Source(58, 43) + SourceIndex(0) -12>Emitted(49, 82) Source(58, 44) + SourceIndex(0) --- >>> var _15 = multiRobots_2[_14][0], nameB = _15 === void 0 ? "noName" : _15; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > nameB = "noName" -3 > -4 > nameB = "noName" +2 > +3 > nameB = "noName" +4 > +5 > nameB = "noName" 1 >Emitted(50, 5) Source(58, 11) + SourceIndex(0) -2 >Emitted(50, 36) Source(58, 27) + SourceIndex(0) -3 >Emitted(50, 38) Source(58, 11) + SourceIndex(0) -4 >Emitted(50, 77) Source(58, 27) + SourceIndex(0) +2 >Emitted(50, 9) Source(58, 11) + SourceIndex(0) +3 >Emitted(50, 36) Source(58, 27) + SourceIndex(0) +4 >Emitted(50, 38) Source(58, 11) + SourceIndex(0) +5 >Emitted(50, 77) Source(58, 27) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1418,8 +1418,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^-> +14> ^^^-> 1-> > 2 >for @@ -1434,7 +1433,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(53, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(61, 5) + SourceIndex(0) @@ -1448,21 +1446,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(53, 59) Source(61, 48) + SourceIndex(0) 12>Emitted(53, 61) Source(61, 32) + SourceIndex(0) 13>Emitted(53, 66) Source(61, 48) + SourceIndex(0) -14>Emitted(53, 67) Source(61, 49) + SourceIndex(0) --- >>> var _18 = _17[_16][0], nameB = _18 === void 0 ? "noName" : _18; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > nameB = "noName" -3 > -4 > nameB = "noName" +2 > +3 > nameB = "noName" +4 > +5 > nameB = "noName" 1->Emitted(54, 5) Source(61, 11) + SourceIndex(0) -2 >Emitted(54, 26) Source(61, 27) + SourceIndex(0) -3 >Emitted(54, 28) Source(61, 11) + SourceIndex(0) -4 >Emitted(54, 67) Source(61, 27) + SourceIndex(0) +2 >Emitted(54, 9) Source(61, 11) + SourceIndex(0) +3 >Emitted(54, 26) Source(61, 27) + SourceIndex(0) +4 >Emitted(54, 28) Source(61, 11) + SourceIndex(0) +5 >Emitted(54, 67) Source(61, 27) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1514,7 +1514,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -1531,7 +1530,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(57, 1) Source(64, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(64, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(64, 5) + SourceIndex(0) @@ -1547,21 +1545,23 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(57, 69) Source(64, 58) + SourceIndex(0) 14>Emitted(57, 71) Source(64, 32) + SourceIndex(0) 15>Emitted(57, 76) Source(64, 58) + SourceIndex(0) -16>Emitted(57, 77) Source(64, 59) + SourceIndex(0) --- >>> var _21 = _20[_19][0], nameB = _21 === void 0 ? "noName" : _21; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > nameB = "noName" -3 > -4 > nameB = "noName" +2 > +3 > nameB = "noName" +4 > +5 > nameB = "noName" 1 >Emitted(58, 5) Source(64, 11) + SourceIndex(0) -2 >Emitted(58, 26) Source(64, 27) + SourceIndex(0) -3 >Emitted(58, 28) Source(64, 11) + SourceIndex(0) -4 >Emitted(58, 67) Source(64, 27) + SourceIndex(0) +2 >Emitted(58, 9) Source(64, 11) + SourceIndex(0) +3 >Emitted(58, 26) Source(64, 27) + SourceIndex(0) +4 >Emitted(58, 28) Source(64, 11) + SourceIndex(0) +5 >Emitted(58, 67) Source(64, 27) + SourceIndex(0) --- >>> console.log(nameB); 1 >^^^^ @@ -1609,8 +1609,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -1624,7 +1623,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(61, 1) Source(68, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(68, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(68, 5) + SourceIndex(0) @@ -1636,51 +1634,53 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(61, 59) Source(68, 73) + SourceIndex(0) 10>Emitted(61, 61) Source(68, 67) + SourceIndex(0) 11>Emitted(61, 66) Source(68, 73) + SourceIndex(0) -12>Emitted(61, 67) Source(68, 74) + SourceIndex(0) --- >>> var _23 = robots_3[_22], _24 = _23[0], numberA2 = _24 === void 0 ? -1 : _24, _25 = _23[1], nameA2 = _25 === void 0 ? "noName" : _25, _26 = _23[2], skillA2 = _26 === void 0 ? "skill" : _26; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(62, 5) Source(68, 6) + SourceIndex(0) -2 >Emitted(62, 28) Source(68, 63) + SourceIndex(0) -3 >Emitted(62, 30) Source(68, 11) + SourceIndex(0) -4 >Emitted(62, 42) Source(68, 24) + SourceIndex(0) -5 >Emitted(62, 44) Source(68, 11) + SourceIndex(0) -6 >Emitted(62, 80) Source(68, 24) + SourceIndex(0) -7 >Emitted(62, 82) Source(68, 26) + SourceIndex(0) -8 >Emitted(62, 94) Source(68, 43) + SourceIndex(0) -9 >Emitted(62, 96) Source(68, 26) + SourceIndex(0) -10>Emitted(62, 136) Source(68, 43) + SourceIndex(0) -11>Emitted(62, 138) Source(68, 45) + SourceIndex(0) -12>Emitted(62, 150) Source(68, 62) + SourceIndex(0) -13>Emitted(62, 152) Source(68, 45) + SourceIndex(0) -14>Emitted(62, 192) Source(68, 62) + SourceIndex(0) +2 > +3 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] +4 > +5 > numberA2 = -1 +6 > +7 > numberA2 = -1 +8 > , +9 > nameA2 = "noName" +10> +11> nameA2 = "noName" +12> , +13> skillA2 = "skill" +14> +15> skillA2 = "skill" +1->Emitted(62, 5) Source(68, 10) + SourceIndex(0) +2 >Emitted(62, 9) Source(68, 10) + SourceIndex(0) +3 >Emitted(62, 28) Source(68, 63) + SourceIndex(0) +4 >Emitted(62, 30) Source(68, 11) + SourceIndex(0) +5 >Emitted(62, 42) Source(68, 24) + SourceIndex(0) +6 >Emitted(62, 44) Source(68, 11) + SourceIndex(0) +7 >Emitted(62, 80) Source(68, 24) + SourceIndex(0) +8 >Emitted(62, 82) Source(68, 26) + SourceIndex(0) +9 >Emitted(62, 94) Source(68, 43) + SourceIndex(0) +10>Emitted(62, 96) Source(68, 26) + SourceIndex(0) +11>Emitted(62, 136) Source(68, 43) + SourceIndex(0) +12>Emitted(62, 138) Source(68, 45) + SourceIndex(0) +13>Emitted(62, 150) Source(68, 62) + SourceIndex(0) +14>Emitted(62, 152) Source(68, 45) + SourceIndex(0) +15>Emitted(62, 192) Source(68, 62) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1730,8 +1730,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1746,7 +1745,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(65, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(65, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(65, 5) Source(71, 5) + SourceIndex(0) @@ -1760,51 +1758,53 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(65, 54) Source(71, 78) + SourceIndex(0) 12>Emitted(65, 56) Source(71, 67) + SourceIndex(0) 13>Emitted(65, 61) Source(71, 78) + SourceIndex(0) -14>Emitted(65, 62) Source(71, 79) + SourceIndex(0) --- >>> var _29 = _28[_27], _30 = _29[0], numberA2 = _30 === void 0 ? -1 : _30, _31 = _29[1], nameA2 = _31 === void 0 ? "noName" : _31, _32 = _29[2], skillA2 = _32 === void 0 ? "skill" : _32; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(66, 5) Source(71, 6) + SourceIndex(0) -2 >Emitted(66, 23) Source(71, 63) + SourceIndex(0) -3 >Emitted(66, 25) Source(71, 11) + SourceIndex(0) -4 >Emitted(66, 37) Source(71, 24) + SourceIndex(0) -5 >Emitted(66, 39) Source(71, 11) + SourceIndex(0) -6 >Emitted(66, 75) Source(71, 24) + SourceIndex(0) -7 >Emitted(66, 77) Source(71, 26) + SourceIndex(0) -8 >Emitted(66, 89) Source(71, 43) + SourceIndex(0) -9 >Emitted(66, 91) Source(71, 26) + SourceIndex(0) -10>Emitted(66, 131) Source(71, 43) + SourceIndex(0) -11>Emitted(66, 133) Source(71, 45) + SourceIndex(0) -12>Emitted(66, 145) Source(71, 62) + SourceIndex(0) -13>Emitted(66, 147) Source(71, 45) + SourceIndex(0) -14>Emitted(66, 187) Source(71, 62) + SourceIndex(0) +2 > +3 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] +4 > +5 > numberA2 = -1 +6 > +7 > numberA2 = -1 +8 > , +9 > nameA2 = "noName" +10> +11> nameA2 = "noName" +12> , +13> skillA2 = "skill" +14> +15> skillA2 = "skill" +1->Emitted(66, 5) Source(71, 10) + SourceIndex(0) +2 >Emitted(66, 9) Source(71, 10) + SourceIndex(0) +3 >Emitted(66, 23) Source(71, 63) + SourceIndex(0) +4 >Emitted(66, 25) Source(71, 11) + SourceIndex(0) +5 >Emitted(66, 37) Source(71, 24) + SourceIndex(0) +6 >Emitted(66, 39) Source(71, 11) + SourceIndex(0) +7 >Emitted(66, 75) Source(71, 24) + SourceIndex(0) +8 >Emitted(66, 77) Source(71, 26) + SourceIndex(0) +9 >Emitted(66, 89) Source(71, 43) + SourceIndex(0) +10>Emitted(66, 91) Source(71, 26) + SourceIndex(0) +11>Emitted(66, 131) Source(71, 43) + SourceIndex(0) +12>Emitted(66, 133) Source(71, 45) + SourceIndex(0) +13>Emitted(66, 145) Source(71, 62) + SourceIndex(0) +14>Emitted(66, 147) Source(71, 45) + SourceIndex(0) +15>Emitted(66, 187) Source(71, 62) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1856,8 +1856,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1874,7 +1873,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(69, 1) Source(74, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(74, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(74, 5) + SourceIndex(0) @@ -1890,51 +1888,53 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(69, 59) Source(74, 83) + SourceIndex(0) 14>Emitted(69, 61) Source(74, 67) + SourceIndex(0) 15>Emitted(69, 66) Source(74, 83) + SourceIndex(0) -16>Emitted(69, 67) Source(74, 84) + SourceIndex(0) --- >>> var _35 = _34[_33], _36 = _35[0], numberA2 = _36 === void 0 ? -1 : _36, _37 = _35[1], nameA2 = _37 === void 0 ? "noName" : _37, _38 = _35[2], skillA2 = _38 === void 0 ? "skill" : _38; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(70, 5) Source(74, 6) + SourceIndex(0) -2 >Emitted(70, 23) Source(74, 63) + SourceIndex(0) -3 >Emitted(70, 25) Source(74, 11) + SourceIndex(0) -4 >Emitted(70, 37) Source(74, 24) + SourceIndex(0) -5 >Emitted(70, 39) Source(74, 11) + SourceIndex(0) -6 >Emitted(70, 75) Source(74, 24) + SourceIndex(0) -7 >Emitted(70, 77) Source(74, 26) + SourceIndex(0) -8 >Emitted(70, 89) Source(74, 43) + SourceIndex(0) -9 >Emitted(70, 91) Source(74, 26) + SourceIndex(0) -10>Emitted(70, 131) Source(74, 43) + SourceIndex(0) -11>Emitted(70, 133) Source(74, 45) + SourceIndex(0) -12>Emitted(70, 145) Source(74, 62) + SourceIndex(0) -13>Emitted(70, 147) Source(74, 45) + SourceIndex(0) -14>Emitted(70, 187) Source(74, 62) + SourceIndex(0) +2 > +3 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] +4 > +5 > numberA2 = -1 +6 > +7 > numberA2 = -1 +8 > , +9 > nameA2 = "noName" +10> +11> nameA2 = "noName" +12> , +13> skillA2 = "skill" +14> +15> skillA2 = "skill" +1->Emitted(70, 5) Source(74, 10) + SourceIndex(0) +2 >Emitted(70, 9) Source(74, 10) + SourceIndex(0) +3 >Emitted(70, 23) Source(74, 63) + SourceIndex(0) +4 >Emitted(70, 25) Source(74, 11) + SourceIndex(0) +5 >Emitted(70, 37) Source(74, 24) + SourceIndex(0) +6 >Emitted(70, 39) Source(74, 11) + SourceIndex(0) +7 >Emitted(70, 75) Source(74, 24) + SourceIndex(0) +8 >Emitted(70, 77) Source(74, 26) + SourceIndex(0) +9 >Emitted(70, 89) Source(74, 43) + SourceIndex(0) +10>Emitted(70, 91) Source(74, 26) + SourceIndex(0) +11>Emitted(70, 131) Source(74, 43) + SourceIndex(0) +12>Emitted(70, 133) Source(74, 45) + SourceIndex(0) +13>Emitted(70, 145) Source(74, 62) + SourceIndex(0) +14>Emitted(70, 147) Source(74, 45) + SourceIndex(0) +15>Emitted(70, 187) Source(74, 62) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1982,8 +1982,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1999,7 +1998,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(73, 1) Source(77, 1) + SourceIndex(0) 2 >Emitted(73, 4) Source(77, 4) + SourceIndex(0) 3 >Emitted(73, 5) Source(77, 5) + SourceIndex(0) @@ -2011,73 +2009,75 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(73, 74) Source(80, 41) + SourceIndex(0) 10>Emitted(73, 76) Source(80, 30) + SourceIndex(0) 11>Emitted(73, 81) Source(80, 41) + SourceIndex(0) -12>Emitted(73, 82) Source(80, 42) + SourceIndex(0) --- >>> var _40 = multiRobots_3[_39], _41 = _40[0], nameMA = _41 === void 0 ? "noName" : _41, _42 = _40[1], _43 = _42 === void 0 ? ["skill1", "skill2"] : _42, _44 = _43[0], primarySkillA = _44 === void 0 ? "primary" : _44, _45 = _43[1], secondarySkillA = _45 === void 0 ? "secondary" : _45; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > +3 > [nameMA = "noName", [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > nameMA = "noName" +6 > +7 > nameMA = "noName" +8 > , +9 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +10> +11> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +12> +13> primarySkillA = "primary" +14> +15> primarySkillA = "primary" +16> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(74, 5) Source(77, 6) + SourceIndex(0) -2 >Emitted(74, 33) Source(80, 26) + SourceIndex(0) -3 >Emitted(74, 35) Source(77, 11) + SourceIndex(0) -4 >Emitted(74, 47) Source(77, 28) + SourceIndex(0) -5 >Emitted(74, 49) Source(77, 11) + SourceIndex(0) -6 >Emitted(74, 89) Source(77, 28) + SourceIndex(0) -7 >Emitted(74, 91) Source(77, 30) + SourceIndex(0) -8 >Emitted(74, 103) Source(80, 25) + SourceIndex(0) -9 >Emitted(74, 105) Source(77, 30) + SourceIndex(0) -10>Emitted(74, 154) Source(80, 25) + SourceIndex(0) -11>Emitted(74, 156) Source(78, 5) + SourceIndex(0) -12>Emitted(74, 168) Source(78, 30) + SourceIndex(0) -13>Emitted(74, 170) Source(78, 5) + SourceIndex(0) -14>Emitted(74, 218) Source(78, 30) + SourceIndex(0) -15>Emitted(74, 220) Source(79, 5) + SourceIndex(0) -16>Emitted(74, 232) Source(79, 34) + SourceIndex(0) -17>Emitted(74, 234) Source(79, 5) + SourceIndex(0) -18>Emitted(74, 286) Source(79, 34) + SourceIndex(0) +17> secondarySkillA = "secondary" +18> +19> secondarySkillA = "secondary" +1->Emitted(74, 5) Source(77, 10) + SourceIndex(0) +2 >Emitted(74, 9) Source(77, 10) + SourceIndex(0) +3 >Emitted(74, 33) Source(80, 26) + SourceIndex(0) +4 >Emitted(74, 35) Source(77, 11) + SourceIndex(0) +5 >Emitted(74, 47) Source(77, 28) + SourceIndex(0) +6 >Emitted(74, 49) Source(77, 11) + SourceIndex(0) +7 >Emitted(74, 89) Source(77, 28) + SourceIndex(0) +8 >Emitted(74, 91) Source(77, 30) + SourceIndex(0) +9 >Emitted(74, 103) Source(80, 25) + SourceIndex(0) +10>Emitted(74, 105) Source(77, 30) + SourceIndex(0) +11>Emitted(74, 154) Source(80, 25) + SourceIndex(0) +12>Emitted(74, 156) Source(78, 5) + SourceIndex(0) +13>Emitted(74, 168) Source(78, 30) + SourceIndex(0) +14>Emitted(74, 170) Source(78, 5) + SourceIndex(0) +15>Emitted(74, 218) Source(78, 30) + SourceIndex(0) +16>Emitted(74, 220) Source(79, 5) + SourceIndex(0) +17>Emitted(74, 232) Source(79, 34) + SourceIndex(0) +18>Emitted(74, 234) Source(79, 5) + SourceIndex(0) +19>Emitted(74, 286) Source(79, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2128,8 +2128,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2147,7 +2146,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(77, 1) Source(83, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(83, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(83, 5) + SourceIndex(0) @@ -2161,73 +2159,75 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(77, 59) Source(86, 46) + SourceIndex(0) 12>Emitted(77, 61) Source(86, 30) + SourceIndex(0) 13>Emitted(77, 66) Source(86, 46) + SourceIndex(0) -14>Emitted(77, 67) Source(86, 47) + SourceIndex(0) --- >>> var _48 = _47[_46], _49 = _48[0], nameMA = _49 === void 0 ? "noName" : _49, _50 = _48[1], _51 = _50 === void 0 ? ["skill1", "skill2"] : _50, _52 = _51[0], primarySkillA = _52 === void 0 ? "primary" : _52, _53 = _51[1], secondarySkillA = _53 === void 0 ? "secondary" : _53; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > +3 > [nameMA = "noName", [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > nameMA = "noName" +6 > +7 > nameMA = "noName" +8 > , +9 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +10> +11> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +12> +13> primarySkillA = "primary" +14> +15> primarySkillA = "primary" +16> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(78, 5) Source(83, 6) + SourceIndex(0) -2 >Emitted(78, 23) Source(86, 26) + SourceIndex(0) -3 >Emitted(78, 25) Source(83, 11) + SourceIndex(0) -4 >Emitted(78, 37) Source(83, 28) + SourceIndex(0) -5 >Emitted(78, 39) Source(83, 11) + SourceIndex(0) -6 >Emitted(78, 79) Source(83, 28) + SourceIndex(0) -7 >Emitted(78, 81) Source(83, 30) + SourceIndex(0) -8 >Emitted(78, 93) Source(86, 25) + SourceIndex(0) -9 >Emitted(78, 95) Source(83, 30) + SourceIndex(0) -10>Emitted(78, 144) Source(86, 25) + SourceIndex(0) -11>Emitted(78, 146) Source(84, 5) + SourceIndex(0) -12>Emitted(78, 158) Source(84, 30) + SourceIndex(0) -13>Emitted(78, 160) Source(84, 5) + SourceIndex(0) -14>Emitted(78, 208) Source(84, 30) + SourceIndex(0) -15>Emitted(78, 210) Source(85, 5) + SourceIndex(0) -16>Emitted(78, 222) Source(85, 34) + SourceIndex(0) -17>Emitted(78, 224) Source(85, 5) + SourceIndex(0) -18>Emitted(78, 276) Source(85, 34) + SourceIndex(0) +17> secondarySkillA = "secondary" +18> +19> secondarySkillA = "secondary" +1->Emitted(78, 5) Source(83, 10) + SourceIndex(0) +2 >Emitted(78, 9) Source(83, 10) + SourceIndex(0) +3 >Emitted(78, 23) Source(86, 26) + SourceIndex(0) +4 >Emitted(78, 25) Source(83, 11) + SourceIndex(0) +5 >Emitted(78, 37) Source(83, 28) + SourceIndex(0) +6 >Emitted(78, 39) Source(83, 11) + SourceIndex(0) +7 >Emitted(78, 79) Source(83, 28) + SourceIndex(0) +8 >Emitted(78, 81) Source(83, 30) + SourceIndex(0) +9 >Emitted(78, 93) Source(86, 25) + SourceIndex(0) +10>Emitted(78, 95) Source(83, 30) + SourceIndex(0) +11>Emitted(78, 144) Source(86, 25) + SourceIndex(0) +12>Emitted(78, 146) Source(84, 5) + SourceIndex(0) +13>Emitted(78, 158) Source(84, 30) + SourceIndex(0) +14>Emitted(78, 160) Source(84, 5) + SourceIndex(0) +15>Emitted(78, 208) Source(84, 30) + SourceIndex(0) +16>Emitted(78, 210) Source(85, 5) + SourceIndex(0) +17>Emitted(78, 222) Source(85, 34) + SourceIndex(0) +18>Emitted(78, 224) Source(85, 5) + SourceIndex(0) +19>Emitted(78, 276) Source(85, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2280,8 +2280,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2301,7 +2300,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(81, 1) Source(89, 1) + SourceIndex(0) 2 >Emitted(81, 4) Source(89, 4) + SourceIndex(0) 3 >Emitted(81, 5) Source(89, 5) + SourceIndex(0) @@ -2317,73 +2315,75 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(81, 69) Source(92, 56) + SourceIndex(0) 14>Emitted(81, 71) Source(92, 30) + SourceIndex(0) 15>Emitted(81, 76) Source(92, 56) + SourceIndex(0) -16>Emitted(81, 77) Source(92, 57) + SourceIndex(0) --- >>> var _56 = _55[_54], _57 = _56[0], nameMA = _57 === void 0 ? "noName" : _57, _58 = _56[1], _59 = _58 === void 0 ? ["skill1", "skill2"] : _58, _60 = _59[0], primarySkillA = _60 === void 0 ? "primary" : _60, _61 = _59[1], secondarySkillA = _61 === void 0 ? "secondary" : _61; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > +3 > [nameMA = "noName", [ + > primarySkillA = "primary", + > secondarySkillA = "secondary" + > ] = ["skill1", "skill2"]] +4 > +5 > nameMA = "noName" +6 > +7 > nameMA = "noName" +8 > , +9 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +10> +11> [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +12> +13> primarySkillA = "primary" +14> +15> primarySkillA = "primary" +16> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(82, 5) Source(89, 6) + SourceIndex(0) -2 >Emitted(82, 23) Source(92, 26) + SourceIndex(0) -3 >Emitted(82, 25) Source(89, 11) + SourceIndex(0) -4 >Emitted(82, 37) Source(89, 28) + SourceIndex(0) -5 >Emitted(82, 39) Source(89, 11) + SourceIndex(0) -6 >Emitted(82, 79) Source(89, 28) + SourceIndex(0) -7 >Emitted(82, 81) Source(89, 30) + SourceIndex(0) -8 >Emitted(82, 93) Source(92, 25) + SourceIndex(0) -9 >Emitted(82, 95) Source(89, 30) + SourceIndex(0) -10>Emitted(82, 144) Source(92, 25) + SourceIndex(0) -11>Emitted(82, 146) Source(90, 5) + SourceIndex(0) -12>Emitted(82, 158) Source(90, 30) + SourceIndex(0) -13>Emitted(82, 160) Source(90, 5) + SourceIndex(0) -14>Emitted(82, 208) Source(90, 30) + SourceIndex(0) -15>Emitted(82, 210) Source(91, 5) + SourceIndex(0) -16>Emitted(82, 222) Source(91, 34) + SourceIndex(0) -17>Emitted(82, 224) Source(91, 5) + SourceIndex(0) -18>Emitted(82, 276) Source(91, 34) + SourceIndex(0) +17> secondarySkillA = "secondary" +18> +19> secondarySkillA = "secondary" +1->Emitted(82, 5) Source(89, 10) + SourceIndex(0) +2 >Emitted(82, 9) Source(89, 10) + SourceIndex(0) +3 >Emitted(82, 23) Source(92, 26) + SourceIndex(0) +4 >Emitted(82, 25) Source(89, 11) + SourceIndex(0) +5 >Emitted(82, 37) Source(89, 28) + SourceIndex(0) +6 >Emitted(82, 39) Source(89, 11) + SourceIndex(0) +7 >Emitted(82, 79) Source(89, 28) + SourceIndex(0) +8 >Emitted(82, 81) Source(89, 30) + SourceIndex(0) +9 >Emitted(82, 93) Source(92, 25) + SourceIndex(0) +10>Emitted(82, 95) Source(89, 30) + SourceIndex(0) +11>Emitted(82, 144) Source(92, 25) + SourceIndex(0) +12>Emitted(82, 146) Source(90, 5) + SourceIndex(0) +13>Emitted(82, 158) Source(90, 30) + SourceIndex(0) +14>Emitted(82, 160) Source(90, 5) + SourceIndex(0) +15>Emitted(82, 208) Source(90, 30) + SourceIndex(0) +16>Emitted(82, 210) Source(91, 5) + SourceIndex(0) +17>Emitted(82, 222) Source(91, 34) + SourceIndex(0) +18>Emitted(82, 224) Source(91, 5) + SourceIndex(0) +19>Emitted(82, 276) Source(91, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2432,8 +2432,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -2447,7 +2446,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(85, 1) Source(96, 1) + SourceIndex(0) 2 >Emitted(85, 4) Source(96, 4) + SourceIndex(0) 3 >Emitted(85, 5) Source(96, 5) + SourceIndex(0) @@ -2459,33 +2457,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(85, 59) Source(96, 50) + SourceIndex(0) 10>Emitted(85, 61) Source(96, 44) + SourceIndex(0) 11>Emitted(85, 66) Source(96, 50) + SourceIndex(0) -12>Emitted(85, 67) Source(96, 51) + SourceIndex(0) --- >>> var _63 = robots_4[_62], _64 = _63[0], numberA3 = _64 === void 0 ? -1 : _64, robotAInfo = _63.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(86, 5) Source(96, 6) + SourceIndex(0) -2 >Emitted(86, 28) Source(96, 40) + SourceIndex(0) -3 >Emitted(86, 30) Source(96, 11) + SourceIndex(0) -4 >Emitted(86, 42) Source(96, 24) + SourceIndex(0) -5 >Emitted(86, 44) Source(96, 11) + SourceIndex(0) -6 >Emitted(86, 80) Source(96, 24) + SourceIndex(0) -7 >Emitted(86, 82) Source(96, 26) + SourceIndex(0) -8 >Emitted(86, 107) Source(96, 39) + SourceIndex(0) +2 > +3 > [numberA3 = -1, ...robotAInfo] +4 > +5 > numberA3 = -1 +6 > +7 > numberA3 = -1 +8 > , +9 > ...robotAInfo +1->Emitted(86, 5) Source(96, 10) + SourceIndex(0) +2 >Emitted(86, 9) Source(96, 10) + SourceIndex(0) +3 >Emitted(86, 28) Source(96, 40) + SourceIndex(0) +4 >Emitted(86, 30) Source(96, 11) + SourceIndex(0) +5 >Emitted(86, 42) Source(96, 24) + SourceIndex(0) +6 >Emitted(86, 44) Source(96, 11) + SourceIndex(0) +7 >Emitted(86, 80) Source(96, 24) + SourceIndex(0) +8 >Emitted(86, 82) Source(96, 26) + SourceIndex(0) +9 >Emitted(86, 107) Source(96, 39) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2535,8 +2535,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2551,7 +2550,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(89, 1) Source(99, 1) + SourceIndex(0) 2 >Emitted(89, 4) Source(99, 4) + SourceIndex(0) 3 >Emitted(89, 5) Source(99, 5) + SourceIndex(0) @@ -2565,33 +2563,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(89, 54) Source(99, 55) + SourceIndex(0) 12>Emitted(89, 56) Source(99, 44) + SourceIndex(0) 13>Emitted(89, 61) Source(99, 55) + SourceIndex(0) -14>Emitted(89, 62) Source(99, 56) + SourceIndex(0) --- >>> var _67 = _66[_65], _68 = _67[0], numberA3 = _68 === void 0 ? -1 : _68, robotAInfo = _67.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(90, 5) Source(99, 6) + SourceIndex(0) -2 >Emitted(90, 23) Source(99, 40) + SourceIndex(0) -3 >Emitted(90, 25) Source(99, 11) + SourceIndex(0) -4 >Emitted(90, 37) Source(99, 24) + SourceIndex(0) -5 >Emitted(90, 39) Source(99, 11) + SourceIndex(0) -6 >Emitted(90, 75) Source(99, 24) + SourceIndex(0) -7 >Emitted(90, 77) Source(99, 26) + SourceIndex(0) -8 >Emitted(90, 102) Source(99, 39) + SourceIndex(0) +2 > +3 > [numberA3 = -1, ...robotAInfo] +4 > +5 > numberA3 = -1 +6 > +7 > numberA3 = -1 +8 > , +9 > ...robotAInfo +1->Emitted(90, 5) Source(99, 10) + SourceIndex(0) +2 >Emitted(90, 9) Source(99, 10) + SourceIndex(0) +3 >Emitted(90, 23) Source(99, 40) + SourceIndex(0) +4 >Emitted(90, 25) Source(99, 11) + SourceIndex(0) +5 >Emitted(90, 37) Source(99, 24) + SourceIndex(0) +6 >Emitted(90, 39) Source(99, 11) + SourceIndex(0) +7 >Emitted(90, 75) Source(99, 24) + SourceIndex(0) +8 >Emitted(90, 77) Source(99, 26) + SourceIndex(0) +9 >Emitted(90, 102) Source(99, 39) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2643,8 +2643,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2661,7 +2660,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(93, 1) Source(102, 1) + SourceIndex(0) 2 >Emitted(93, 4) Source(102, 4) + SourceIndex(0) 3 >Emitted(93, 5) Source(102, 5) + SourceIndex(0) @@ -2677,33 +2675,35 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(93, 59) Source(102, 60) + SourceIndex(0) 14>Emitted(93, 61) Source(102, 44) + SourceIndex(0) 15>Emitted(93, 66) Source(102, 60) + SourceIndex(0) -16>Emitted(93, 67) Source(102, 61) + SourceIndex(0) --- >>> var _71 = _70[_69], _72 = _71[0], numberA3 = _72 === void 0 ? -1 : _72, robotAInfo = _71.slice(1); 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(94, 5) Source(102, 6) + SourceIndex(0) -2 >Emitted(94, 23) Source(102, 40) + SourceIndex(0) -3 >Emitted(94, 25) Source(102, 11) + SourceIndex(0) -4 >Emitted(94, 37) Source(102, 24) + SourceIndex(0) -5 >Emitted(94, 39) Source(102, 11) + SourceIndex(0) -6 >Emitted(94, 75) Source(102, 24) + SourceIndex(0) -7 >Emitted(94, 77) Source(102, 26) + SourceIndex(0) -8 >Emitted(94, 102) Source(102, 39) + SourceIndex(0) +2 > +3 > [numberA3 = -1, ...robotAInfo] +4 > +5 > numberA3 = -1 +6 > +7 > numberA3 = -1 +8 > , +9 > ...robotAInfo +1->Emitted(94, 5) Source(102, 10) + SourceIndex(0) +2 >Emitted(94, 9) Source(102, 10) + SourceIndex(0) +3 >Emitted(94, 23) Source(102, 40) + SourceIndex(0) +4 >Emitted(94, 25) Source(102, 11) + SourceIndex(0) +5 >Emitted(94, 37) Source(102, 24) + SourceIndex(0) +6 >Emitted(94, 39) Source(102, 11) + SourceIndex(0) +7 >Emitted(94, 75) Source(102, 24) + SourceIndex(0) +8 >Emitted(94, 77) Source(102, 26) + SourceIndex(0) +9 >Emitted(94, 102) Source(102, 39) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types index 488b5c46145..e82c981033e 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types @@ -16,17 +16,17 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" let robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let robots = [robotA, robotB]; >robots : [number, string, string][] @@ -45,19 +45,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let multiRobots = [multiRobotA, multiRobotB]; >multiRobots : [string, [string, string]][] @@ -75,7 +75,7 @@ function getMultiRobots() { for (let [, nameA = "noName"] of robots) { > : undefined >nameA : string ->"noName" : string +>"noName" : "noName" >robots : [number, string, string][] console.log(nameA); @@ -88,7 +88,7 @@ for (let [, nameA = "noName"] of robots) { for (let [, nameA = "noName"] of getRobots()) { > : undefined >nameA : string ->"noName" : string +>"noName" : "noName" >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -102,7 +102,7 @@ for (let [, nameA = "noName"] of getRobots()) { for (let [, nameA = "noName"] of [robotA, robotB]) { > : undefined >nameA : string ->"noName" : string +>"noName" : "noName" >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -119,16 +119,16 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of multiRobots) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >multiRobots : [string, [string, string]][] console.log(primarySkillA); @@ -143,16 +143,16 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of getMultiRobots()) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -168,16 +168,16 @@ for (let [, [ primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -192,8 +192,8 @@ for (let [, [ for (let [numberB = -1] of robots) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robots : [number, string, string][] console.log(numberB); @@ -205,8 +205,8 @@ for (let [numberB = -1] of robots) { } for (let [numberB = -1] of getRobots()) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -219,8 +219,8 @@ for (let [numberB = -1] of getRobots()) { } for (let [numberB = -1] of [robotA, robotB]) { >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -234,7 +234,7 @@ for (let [numberB = -1] of [robotA, robotB]) { } for (let [nameB = "noName"] of multiRobots) { >nameB : string ->"noName" : string +>"noName" : "noName" >multiRobots : [string, [string, string]][] console.log(nameB); @@ -246,7 +246,7 @@ for (let [nameB = "noName"] of multiRobots) { } for (let [nameB = "noName"] of getMultiRobots()) { >nameB : string ->"noName" : string +>"noName" : "noName" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -259,7 +259,7 @@ for (let [nameB = "noName"] of getMultiRobots()) { } for (let [nameB = "noName"] of [multiRobotA, multiRobotB]) { >nameB : string ->"noName" : string +>"noName" : "noName" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -274,12 +274,12 @@ for (let [nameB = "noName"] of [multiRobotA, multiRobotB]) { for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"noName" : string +>"noName" : "noName" >skillA2 : string ->"skill" : string +>"skill" : "skill" >robots : [number, string, string][] console.log(nameA2); @@ -291,12 +291,12 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { } for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"noName" : string +>"noName" : "noName" >skillA2 : string ->"skill" : string +>"skill" : "skill" >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -309,12 +309,12 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { } for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) { >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"noName" : string +>"noName" : "noName" >skillA2 : string ->"skill" : string +>"skill" : "skill" >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -328,20 +328,20 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robot } for (let [nameMA = "noName", [ >nameMA : string ->"noName" : string +>"noName" : "noName" primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of multiRobots) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >multiRobots : [string, [string, string]][] console.log(nameMA); @@ -353,20 +353,20 @@ for (let [nameMA = "noName", [ } for (let [nameMA = "noName", [ >nameMA : string ->"noName" : string +>"noName" : "noName" primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of getMultiRobots()) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -379,20 +379,20 @@ for (let [nameMA = "noName", [ } for (let [nameMA = "noName", [ >nameMA : string ->"noName" : string +>"noName" : "noName" primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -407,9 +407,9 @@ for (let [nameMA = "noName", [ for (let [numberA3 = -1, ...robotAInfo] of robots) { >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >robots : [number, string, string][] console.log(numberA3); @@ -421,9 +421,9 @@ for (let [numberA3 = -1, ...robotAInfo] of robots) { } for (let [numberA3 = -1, ...robotAInfo] of getRobots()) { >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -436,9 +436,9 @@ for (let [numberA3 = -1, ...robotAInfo] of getRobots()) { } for (let [numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js.map index ccee72c33bf..f0224061c2b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AAEtG,GAAG,CAAC,CAAyB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAA/B,iBAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAApC,WAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAAzC,WAAoB,EAAjB,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAGyB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAHpC,sBAGoB,EAHjB,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAHzC,WAGoB,EAHjB,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,CAAC;IAHnD,WAGoB,EAHjB,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAmB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxB,oBAAY,EAAZ,iCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAmB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7B,eAAY,EAAZ,mCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAmB,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAlC,iBAAY,EAAZ,mCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAAjC,2BAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAtC,iBAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAAhD,iBAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA0D,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAAhE,mBAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA0D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAArE,cAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA0D,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAA1E,cAAqD,EAApD,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAHpC,wBAGoB,EAHnB,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAHzC,cAGoB,EAHnB,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B,CAAC;IAHnD,cAGoB,EAHnB,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAmC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAAzC,mBAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAmC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAA9C,cAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAmC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAnD,cAA8B,EAA7B,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9B;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7C;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAClE,IAAI,OAAe,EAAE,KAAa,CAAC;AACnC,IAAI,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,CAAC;AACtE,IAAI,QAAgB,EAAE,UAA+B,EAAE,eAA8C,CAAC;AAEtG,GAAG,CAAC,CAAyB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;uBAA3B,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;iBAAhC,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyB,UAAgB,EAAhB,MAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,cAAgB,EAAhB,IAAgB;iBAArC,UAAgB,EAAhB,qCAAgB;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAGyB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;4BAHhC,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;iBAHrC,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AACD,GAAG,CAAC,CAGyB,UAA0B,EAA1B,MAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,cAA0B,EAA1B,IAA0B;iBAH/C,UAGgB,EAHhB,8CAGgB,EAFpB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,GAAG,CAAC,CAAmB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAvB,oBAAY,EAAZ,iCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAmB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA5B,eAAY,EAAZ,mCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAmB,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;IAAjC,iBAAY,EAAZ,mCAAY;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AACD,GAAG,CAAC,CAAuB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IAAhC,2BAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAArC,iBAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;IAA/C,iBAAgB,EAAhB,uCAAgB;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA0D,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAA9D,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA0D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAAnE,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAA0D,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;oBAAxE,YAAa,EAAb,oCAAa,EAAE,YAAiB,EAAjB,wCAAiB,EAAE,YAAiB,EAAjB,wCAAiB;IACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;8BAHlC,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBAHvC,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AACD,GAAG,CAAC,CAGyB,WAA0B,EAA1B,OAAC,WAAW,EAAE,WAAW,CAAC,EAA1B,gBAA0B,EAA1B,KAA0B;oBAHjD,YAAiB,EAAjB,wCAAiB,EAAE,YAGD,EAHC,iDAGD,EAFpB,YAAyB,EAAzB,gDAAyB,EACzB,YAA6B,EAA7B,oDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,GAAG,CAAC,CAAmC,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAAvC,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAmC,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAA5C,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAmC,WAAgB,EAAhB,OAAC,MAAM,EAAE,MAAM,CAAC,EAAhB,gBAAgB,EAAhB,KAAgB;oBAAjD,YAAa,EAAb,oCAAa,EAAE,yBAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.sourcemap.txt index dc11eb52da9..f9ab0c470e7 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.sourcemap.txt @@ -444,8 +444,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^-> +12> ^^^^^^^^^^^^-> 1-> > > @@ -459,7 +458,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(17, 1) Source(26, 1) + SourceIndex(0) 2 >Emitted(17, 4) Source(26, 4) + SourceIndex(0) 3 >Emitted(17, 5) Source(26, 5) + SourceIndex(0) @@ -471,27 +469,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(17, 57) Source(26, 36) + SourceIndex(0) 10>Emitted(17, 59) Source(26, 30) + SourceIndex(0) 11>Emitted(17, 63) Source(26, 36) + SourceIndex(0) -12>Emitted(17, 64) Source(26, 37) + SourceIndex(0) --- >>> _a = robots_1[_i], _b = _a[1], nameA = _b === void 0 ? "noName" : _b; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(18, 5) Source(26, 6) + SourceIndex(0) -2 >Emitted(18, 22) Source(26, 26) + SourceIndex(0) -3 >Emitted(18, 24) Source(26, 9) + SourceIndex(0) -4 >Emitted(18, 34) Source(26, 25) + SourceIndex(0) -5 >Emitted(18, 36) Source(26, 9) + SourceIndex(0) -6 >Emitted(18, 73) Source(26, 25) + SourceIndex(0) +2 > nameA = "noName" +3 > +4 > nameA = "noName" +1->Emitted(18, 24) Source(26, 9) + SourceIndex(0) +2 >Emitted(18, 34) Source(26, 25) + SourceIndex(0) +3 >Emitted(18, 36) Source(26, 9) + SourceIndex(0) +4 >Emitted(18, 73) Source(26, 25) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -541,8 +532,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^-> 1-> > 2 >for @@ -557,7 +547,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(21, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(21, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(21, 5) Source(29, 5) + SourceIndex(0) @@ -571,27 +560,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(21, 50) Source(29, 41) + SourceIndex(0) 12>Emitted(21, 52) Source(29, 30) + SourceIndex(0) 13>Emitted(21, 56) Source(29, 41) + SourceIndex(0) -14>Emitted(21, 57) Source(29, 42) + SourceIndex(0) --- >>> _e = _d[_c], _f = _e[1], nameA = _f === void 0 ? "noName" : _f; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(22, 5) Source(29, 6) + SourceIndex(0) -2 >Emitted(22, 16) Source(29, 26) + SourceIndex(0) -3 >Emitted(22, 18) Source(29, 9) + SourceIndex(0) -4 >Emitted(22, 28) Source(29, 25) + SourceIndex(0) -5 >Emitted(22, 30) Source(29, 9) + SourceIndex(0) -6 >Emitted(22, 67) Source(29, 25) + SourceIndex(0) +2 > nameA = "noName" +3 > +4 > nameA = "noName" +1->Emitted(22, 18) Source(29, 9) + SourceIndex(0) +2 >Emitted(22, 28) Source(29, 25) + SourceIndex(0) +3 >Emitted(22, 30) Source(29, 9) + SourceIndex(0) +4 >Emitted(22, 67) Source(29, 25) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -643,8 +625,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^-> +16> ^^^^^^^^-> 1-> > 2 >for @@ -661,7 +642,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(25, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(25, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(25, 5) Source(32, 5) + SourceIndex(0) @@ -677,27 +657,20 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(25, 55) Source(32, 46) + SourceIndex(0) 14>Emitted(25, 57) Source(32, 30) + SourceIndex(0) 15>Emitted(25, 61) Source(32, 46) + SourceIndex(0) -16>Emitted(25, 62) Source(32, 47) + SourceIndex(0) --- >>> _j = _h[_g], _k = _j[1], nameA = _k === void 0 ? "noName" : _k; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, nameA = "noName"] -3 > -4 > nameA = "noName" -5 > -6 > nameA = "noName" -1->Emitted(26, 5) Source(32, 6) + SourceIndex(0) -2 >Emitted(26, 16) Source(32, 26) + SourceIndex(0) -3 >Emitted(26, 18) Source(32, 9) + SourceIndex(0) -4 >Emitted(26, 28) Source(32, 25) + SourceIndex(0) -5 >Emitted(26, 30) Source(32, 9) + SourceIndex(0) -6 >Emitted(26, 67) Source(32, 25) + SourceIndex(0) +2 > nameA = "noName" +3 > +4 > nameA = "noName" +1->Emitted(26, 18) Source(32, 9) + SourceIndex(0) +2 >Emitted(26, 28) Source(32, 25) + SourceIndex(0) +3 >Emitted(26, 30) Source(32, 9) + SourceIndex(0) +4 >Emitted(26, 67) Source(32, 25) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -745,8 +718,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -762,7 +734,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(29, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(29, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(29, 5) Source(35, 5) + SourceIndex(0) @@ -774,61 +745,51 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(29, 72) Source(38, 41) + SourceIndex(0) 10>Emitted(29, 74) Source(38, 30) + SourceIndex(0) 11>Emitted(29, 78) Source(38, 41) + SourceIndex(0) -12>Emitted(29, 79) Source(38, 42) + SourceIndex(0) --- >>> _m = multiRobots_1[_l], _o = _m[1], _p = _o === void 0 ? ["skill1", "skill2"] : _o, _q = _p[0], primarySkillA = _q === void 0 ? "primary" : _q, _r = _p[1], secondarySkillA = _r === void 0 ? "secondary" : _r; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +3 > +4 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +5 > +6 > primarySkillA = "primary" +7 > +8 > primarySkillA = "primary" +9 > , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(30, 5) Source(35, 6) + SourceIndex(0) -2 >Emitted(30, 27) Source(38, 26) + SourceIndex(0) -3 >Emitted(30, 29) Source(35, 9) + SourceIndex(0) -4 >Emitted(30, 39) Source(38, 25) + SourceIndex(0) -5 >Emitted(30, 41) Source(35, 9) + SourceIndex(0) -6 >Emitted(30, 87) Source(38, 25) + SourceIndex(0) -7 >Emitted(30, 89) Source(36, 5) + SourceIndex(0) -8 >Emitted(30, 99) Source(36, 30) + SourceIndex(0) -9 >Emitted(30, 101) Source(36, 5) + SourceIndex(0) -10>Emitted(30, 147) Source(36, 30) + SourceIndex(0) -11>Emitted(30, 149) Source(37, 5) + SourceIndex(0) -12>Emitted(30, 159) Source(37, 34) + SourceIndex(0) -13>Emitted(30, 161) Source(37, 5) + SourceIndex(0) -14>Emitted(30, 211) Source(37, 34) + SourceIndex(0) +10> secondarySkillA = "secondary" +11> +12> secondarySkillA = "secondary" +1->Emitted(30, 29) Source(35, 9) + SourceIndex(0) +2 >Emitted(30, 39) Source(38, 25) + SourceIndex(0) +3 >Emitted(30, 41) Source(35, 9) + SourceIndex(0) +4 >Emitted(30, 87) Source(38, 25) + SourceIndex(0) +5 >Emitted(30, 89) Source(36, 5) + SourceIndex(0) +6 >Emitted(30, 99) Source(36, 30) + SourceIndex(0) +7 >Emitted(30, 101) Source(36, 5) + SourceIndex(0) +8 >Emitted(30, 147) Source(36, 30) + SourceIndex(0) +9 >Emitted(30, 149) Source(37, 5) + SourceIndex(0) +10>Emitted(30, 159) Source(37, 34) + SourceIndex(0) +11>Emitted(30, 161) Source(37, 5) + SourceIndex(0) +12>Emitted(30, 211) Source(37, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -879,8 +840,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -898,7 +858,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(33, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(33, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(33, 5) Source(41, 5) + SourceIndex(0) @@ -912,61 +871,51 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(33, 55) Source(44, 46) + SourceIndex(0) 12>Emitted(33, 57) Source(44, 30) + SourceIndex(0) 13>Emitted(33, 61) Source(44, 46) + SourceIndex(0) -14>Emitted(33, 62) Source(44, 47) + SourceIndex(0) --- >>> _u = _t[_s], _v = _u[1], _w = _v === void 0 ? ["skill1", "skill2"] : _v, _x = _w[0], primarySkillA = _x === void 0 ? "primary" : _x, _y = _w[1], secondarySkillA = _y === void 0 ? "secondary" : _y; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +3 > +4 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +5 > +6 > primarySkillA = "primary" +7 > +8 > primarySkillA = "primary" +9 > , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(34, 5) Source(41, 6) + SourceIndex(0) -2 >Emitted(34, 16) Source(44, 26) + SourceIndex(0) -3 >Emitted(34, 18) Source(41, 9) + SourceIndex(0) -4 >Emitted(34, 28) Source(44, 25) + SourceIndex(0) -5 >Emitted(34, 30) Source(41, 9) + SourceIndex(0) -6 >Emitted(34, 76) Source(44, 25) + SourceIndex(0) -7 >Emitted(34, 78) Source(42, 5) + SourceIndex(0) -8 >Emitted(34, 88) Source(42, 30) + SourceIndex(0) -9 >Emitted(34, 90) Source(42, 5) + SourceIndex(0) -10>Emitted(34, 136) Source(42, 30) + SourceIndex(0) -11>Emitted(34, 138) Source(43, 5) + SourceIndex(0) -12>Emitted(34, 148) Source(43, 34) + SourceIndex(0) -13>Emitted(34, 150) Source(43, 5) + SourceIndex(0) -14>Emitted(34, 200) Source(43, 34) + SourceIndex(0) +10> secondarySkillA = "secondary" +11> +12> secondarySkillA = "secondary" +1->Emitted(34, 18) Source(41, 9) + SourceIndex(0) +2 >Emitted(34, 28) Source(44, 25) + SourceIndex(0) +3 >Emitted(34, 30) Source(41, 9) + SourceIndex(0) +4 >Emitted(34, 76) Source(44, 25) + SourceIndex(0) +5 >Emitted(34, 78) Source(42, 5) + SourceIndex(0) +6 >Emitted(34, 88) Source(42, 30) + SourceIndex(0) +7 >Emitted(34, 90) Source(42, 5) + SourceIndex(0) +8 >Emitted(34, 136) Source(42, 30) + SourceIndex(0) +9 >Emitted(34, 138) Source(43, 5) + SourceIndex(0) +10>Emitted(34, 148) Source(43, 34) + SourceIndex(0) +11>Emitted(34, 150) Source(43, 5) + SourceIndex(0) +12>Emitted(34, 200) Source(43, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1019,8 +968,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1040,7 +988,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(37, 1) Source(47, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(47, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(47, 5) + SourceIndex(0) @@ -1056,61 +1003,51 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(37, 65) Source(50, 56) + SourceIndex(0) 14>Emitted(37, 67) Source(50, 30) + SourceIndex(0) 15>Emitted(37, 71) Source(50, 56) + SourceIndex(0) -16>Emitted(37, 72) Source(50, 57) + SourceIndex(0) --- >>> _1 = _0[_z], _2 = _1[1], _3 = _2 === void 0 ? ["skill1", "skill2"] : _2, _4 = _3[0], primarySkillA = _4 === void 0 ? "primary" : _4, _5 = _3[1], secondarySkillA = _5 === void 0 ? "secondary" : _5; -1->^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [, [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > [ +2 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -5 > -6 > [ +3 > +4 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -7 > -8 > primarySkillA = "primary" -9 > -10> primarySkillA = "primary" -11> , +5 > +6 > primarySkillA = "primary" +7 > +8 > primarySkillA = "primary" +9 > , > -12> secondarySkillA = "secondary" -13> -14> secondarySkillA = "secondary" -1->Emitted(38, 5) Source(47, 6) + SourceIndex(0) -2 >Emitted(38, 16) Source(50, 26) + SourceIndex(0) -3 >Emitted(38, 18) Source(47, 9) + SourceIndex(0) -4 >Emitted(38, 28) Source(50, 25) + SourceIndex(0) -5 >Emitted(38, 30) Source(47, 9) + SourceIndex(0) -6 >Emitted(38, 76) Source(50, 25) + SourceIndex(0) -7 >Emitted(38, 78) Source(48, 5) + SourceIndex(0) -8 >Emitted(38, 88) Source(48, 30) + SourceIndex(0) -9 >Emitted(38, 90) Source(48, 5) + SourceIndex(0) -10>Emitted(38, 136) Source(48, 30) + SourceIndex(0) -11>Emitted(38, 138) Source(49, 5) + SourceIndex(0) -12>Emitted(38, 148) Source(49, 34) + SourceIndex(0) -13>Emitted(38, 150) Source(49, 5) + SourceIndex(0) -14>Emitted(38, 200) Source(49, 34) + SourceIndex(0) +10> secondarySkillA = "secondary" +11> +12> secondarySkillA = "secondary" +1->Emitted(38, 18) Source(47, 9) + SourceIndex(0) +2 >Emitted(38, 28) Source(50, 25) + SourceIndex(0) +3 >Emitted(38, 30) Source(47, 9) + SourceIndex(0) +4 >Emitted(38, 76) Source(50, 25) + SourceIndex(0) +5 >Emitted(38, 78) Source(48, 5) + SourceIndex(0) +6 >Emitted(38, 88) Source(48, 30) + SourceIndex(0) +7 >Emitted(38, 90) Source(48, 5) + SourceIndex(0) +8 >Emitted(38, 136) Source(48, 30) + SourceIndex(0) +9 >Emitted(38, 138) Source(49, 5) + SourceIndex(0) +10>Emitted(38, 148) Source(49, 34) + SourceIndex(0) +11>Emitted(38, 150) Source(49, 5) + SourceIndex(0) +12>Emitted(38, 200) Source(49, 34) + SourceIndex(0) --- >>> console.log(primarySkillA); 1 >^^^^ @@ -1159,7 +1096,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -1173,7 +1109,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(41, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(54, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(54, 5) + SourceIndex(0) @@ -1185,7 +1120,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(41, 57) Source(54, 30) + SourceIndex(0) 10>Emitted(41, 59) Source(54, 24) + SourceIndex(0) 11>Emitted(41, 63) Source(54, 30) + SourceIndex(0) -12>Emitted(41, 64) Source(54, 31) + SourceIndex(0) --- >>> _7 = robots_2[_6][0], numberB = _7 === void 0 ? -1 : _7; 1 >^^^^ @@ -1249,8 +1183,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^-> +14> ^^^-> 1-> > 2 >for @@ -1265,7 +1198,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(45, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(57, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(57, 5) + SourceIndex(0) @@ -1279,7 +1211,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(45, 50) Source(57, 35) + SourceIndex(0) 12>Emitted(45, 52) Source(57, 24) + SourceIndex(0) 13>Emitted(45, 56) Source(57, 35) + SourceIndex(0) -14>Emitted(45, 57) Source(57, 36) + SourceIndex(0) --- >>> _10 = _9[_8][0], numberB = _10 === void 0 ? -1 : _10; 1->^^^^ @@ -1345,7 +1276,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -1362,7 +1292,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(49, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(60, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(60, 5) + SourceIndex(0) @@ -1378,7 +1307,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(49, 59) Source(60, 40) + SourceIndex(0) 14>Emitted(49, 61) Source(60, 24) + SourceIndex(0) 15>Emitted(49, 66) Source(60, 40) + SourceIndex(0) -16>Emitted(49, 67) Source(60, 41) + SourceIndex(0) --- >>> _13 = _12[_11][0], numberB = _13 === void 0 ? -1 : _13; 1 >^^^^ @@ -1440,7 +1368,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ 1-> > 2 >for @@ -1453,7 +1380,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(53, 1) Source(63, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(63, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(63, 5) + SourceIndex(0) @@ -1465,7 +1391,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(53, 74) Source(63, 39) + SourceIndex(0) 10>Emitted(53, 76) Source(63, 28) + SourceIndex(0) 11>Emitted(53, 81) Source(63, 39) + SourceIndex(0) -12>Emitted(53, 82) Source(63, 40) + SourceIndex(0) --- >>> _15 = multiRobots_2[_14][0], nameB = _15 === void 0 ? "noName" : _15; 1 >^^^^ @@ -1529,7 +1454,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ 1-> > 2 >for @@ -1544,7 +1468,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(57, 1) Source(66, 1) + SourceIndex(0) 2 >Emitted(57, 4) Source(66, 4) + SourceIndex(0) 3 >Emitted(57, 5) Source(66, 5) + SourceIndex(0) @@ -1558,7 +1481,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(57, 59) Source(66, 44) + SourceIndex(0) 12>Emitted(57, 61) Source(66, 28) + SourceIndex(0) 13>Emitted(57, 66) Source(66, 44) + SourceIndex(0) -14>Emitted(57, 67) Source(66, 45) + SourceIndex(0) --- >>> _18 = _17[_16][0], nameB = _18 === void 0 ? "noName" : _18; 1 >^^^^ @@ -1624,7 +1546,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ 1-> > 2 >for @@ -1641,7 +1562,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(61, 1) Source(69, 1) + SourceIndex(0) 2 >Emitted(61, 4) Source(69, 4) + SourceIndex(0) 3 >Emitted(61, 5) Source(69, 5) + SourceIndex(0) @@ -1657,7 +1577,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(61, 69) Source(69, 54) + SourceIndex(0) 14>Emitted(61, 71) Source(69, 28) + SourceIndex(0) 15>Emitted(61, 76) Source(69, 54) + SourceIndex(0) -16>Emitted(61, 77) Source(69, 55) + SourceIndex(0) --- >>> _21 = _20[_19][0], nameB = _21 === void 0 ? "noName" : _21; 1 >^^^^ @@ -1719,8 +1638,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -1734,7 +1652,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(65, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(65, 4) Source(73, 4) + SourceIndex(0) 3 >Emitted(65, 5) Source(73, 5) + SourceIndex(0) @@ -1746,51 +1663,44 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(65, 59) Source(73, 69) + SourceIndex(0) 10>Emitted(65, 61) Source(73, 63) + SourceIndex(0) 11>Emitted(65, 66) Source(73, 69) + SourceIndex(0) -12>Emitted(65, 67) Source(73, 70) + SourceIndex(0) --- >>> _23 = robots_3[_22], _24 = _23[0], numberA2 = _24 === void 0 ? -1 : _24, _25 = _23[1], nameA2 = _25 === void 0 ? "noName" : _25, _26 = _23[2], skillA2 = _26 === void 0 ? "skill" : _26; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(66, 5) Source(73, 6) + SourceIndex(0) -2 >Emitted(66, 24) Source(73, 59) + SourceIndex(0) -3 >Emitted(66, 26) Source(73, 7) + SourceIndex(0) -4 >Emitted(66, 38) Source(73, 20) + SourceIndex(0) -5 >Emitted(66, 40) Source(73, 7) + SourceIndex(0) -6 >Emitted(66, 76) Source(73, 20) + SourceIndex(0) -7 >Emitted(66, 78) Source(73, 22) + SourceIndex(0) -8 >Emitted(66, 90) Source(73, 39) + SourceIndex(0) -9 >Emitted(66, 92) Source(73, 22) + SourceIndex(0) -10>Emitted(66, 132) Source(73, 39) + SourceIndex(0) -11>Emitted(66, 134) Source(73, 41) + SourceIndex(0) -12>Emitted(66, 146) Source(73, 58) + SourceIndex(0) -13>Emitted(66, 148) Source(73, 41) + SourceIndex(0) -14>Emitted(66, 188) Source(73, 58) + SourceIndex(0) +2 > numberA2 = -1 +3 > +4 > numberA2 = -1 +5 > , +6 > nameA2 = "noName" +7 > +8 > nameA2 = "noName" +9 > , +10> skillA2 = "skill" +11> +12> skillA2 = "skill" +1->Emitted(66, 26) Source(73, 7) + SourceIndex(0) +2 >Emitted(66, 38) Source(73, 20) + SourceIndex(0) +3 >Emitted(66, 40) Source(73, 7) + SourceIndex(0) +4 >Emitted(66, 76) Source(73, 20) + SourceIndex(0) +5 >Emitted(66, 78) Source(73, 22) + SourceIndex(0) +6 >Emitted(66, 90) Source(73, 39) + SourceIndex(0) +7 >Emitted(66, 92) Source(73, 22) + SourceIndex(0) +8 >Emitted(66, 132) Source(73, 39) + SourceIndex(0) +9 >Emitted(66, 134) Source(73, 41) + SourceIndex(0) +10>Emitted(66, 146) Source(73, 58) + SourceIndex(0) +11>Emitted(66, 148) Source(73, 41) + SourceIndex(0) +12>Emitted(66, 188) Source(73, 58) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1840,8 +1750,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1856,7 +1765,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(69, 1) Source(76, 1) + SourceIndex(0) 2 >Emitted(69, 4) Source(76, 4) + SourceIndex(0) 3 >Emitted(69, 5) Source(76, 5) + SourceIndex(0) @@ -1870,51 +1778,44 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(69, 54) Source(76, 74) + SourceIndex(0) 12>Emitted(69, 56) Source(76, 63) + SourceIndex(0) 13>Emitted(69, 61) Source(76, 74) + SourceIndex(0) -14>Emitted(69, 62) Source(76, 75) + SourceIndex(0) --- >>> _29 = _28[_27], _30 = _29[0], numberA2 = _30 === void 0 ? -1 : _30, _31 = _29[1], nameA2 = _31 === void 0 ? "noName" : _31, _32 = _29[2], skillA2 = _32 === void 0 ? "skill" : _32; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(70, 5) Source(76, 6) + SourceIndex(0) -2 >Emitted(70, 19) Source(76, 59) + SourceIndex(0) -3 >Emitted(70, 21) Source(76, 7) + SourceIndex(0) -4 >Emitted(70, 33) Source(76, 20) + SourceIndex(0) -5 >Emitted(70, 35) Source(76, 7) + SourceIndex(0) -6 >Emitted(70, 71) Source(76, 20) + SourceIndex(0) -7 >Emitted(70, 73) Source(76, 22) + SourceIndex(0) -8 >Emitted(70, 85) Source(76, 39) + SourceIndex(0) -9 >Emitted(70, 87) Source(76, 22) + SourceIndex(0) -10>Emitted(70, 127) Source(76, 39) + SourceIndex(0) -11>Emitted(70, 129) Source(76, 41) + SourceIndex(0) -12>Emitted(70, 141) Source(76, 58) + SourceIndex(0) -13>Emitted(70, 143) Source(76, 41) + SourceIndex(0) -14>Emitted(70, 183) Source(76, 58) + SourceIndex(0) +2 > numberA2 = -1 +3 > +4 > numberA2 = -1 +5 > , +6 > nameA2 = "noName" +7 > +8 > nameA2 = "noName" +9 > , +10> skillA2 = "skill" +11> +12> skillA2 = "skill" +1->Emitted(70, 21) Source(76, 7) + SourceIndex(0) +2 >Emitted(70, 33) Source(76, 20) + SourceIndex(0) +3 >Emitted(70, 35) Source(76, 7) + SourceIndex(0) +4 >Emitted(70, 71) Source(76, 20) + SourceIndex(0) +5 >Emitted(70, 73) Source(76, 22) + SourceIndex(0) +6 >Emitted(70, 85) Source(76, 39) + SourceIndex(0) +7 >Emitted(70, 87) Source(76, 22) + SourceIndex(0) +8 >Emitted(70, 127) Source(76, 39) + SourceIndex(0) +9 >Emitted(70, 129) Source(76, 41) + SourceIndex(0) +10>Emitted(70, 141) Source(76, 58) + SourceIndex(0) +11>Emitted(70, 143) Source(76, 41) + SourceIndex(0) +12>Emitted(70, 183) Source(76, 58) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -1966,8 +1867,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1984,7 +1884,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(73, 1) Source(79, 1) + SourceIndex(0) 2 >Emitted(73, 4) Source(79, 4) + SourceIndex(0) 3 >Emitted(73, 5) Source(79, 5) + SourceIndex(0) @@ -2000,51 +1899,44 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(73, 59) Source(79, 79) + SourceIndex(0) 14>Emitted(73, 61) Source(79, 63) + SourceIndex(0) 15>Emitted(73, 66) Source(79, 79) + SourceIndex(0) -16>Emitted(73, 67) Source(79, 80) + SourceIndex(0) --- >>> _35 = _34[_33], _36 = _35[0], numberA2 = _36 === void 0 ? -1 : _36, _37 = _35[1], nameA2 = _37 === void 0 ? "noName" : _37, _38 = _35[2], skillA2 = _38 === void 0 ? "skill" : _38; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] -3 > -4 > numberA2 = -1 -5 > -6 > numberA2 = -1 -7 > , -8 > nameA2 = "noName" -9 > -10> nameA2 = "noName" -11> , -12> skillA2 = "skill" -13> -14> skillA2 = "skill" -1->Emitted(74, 5) Source(79, 6) + SourceIndex(0) -2 >Emitted(74, 19) Source(79, 59) + SourceIndex(0) -3 >Emitted(74, 21) Source(79, 7) + SourceIndex(0) -4 >Emitted(74, 33) Source(79, 20) + SourceIndex(0) -5 >Emitted(74, 35) Source(79, 7) + SourceIndex(0) -6 >Emitted(74, 71) Source(79, 20) + SourceIndex(0) -7 >Emitted(74, 73) Source(79, 22) + SourceIndex(0) -8 >Emitted(74, 85) Source(79, 39) + SourceIndex(0) -9 >Emitted(74, 87) Source(79, 22) + SourceIndex(0) -10>Emitted(74, 127) Source(79, 39) + SourceIndex(0) -11>Emitted(74, 129) Source(79, 41) + SourceIndex(0) -12>Emitted(74, 141) Source(79, 58) + SourceIndex(0) -13>Emitted(74, 143) Source(79, 41) + SourceIndex(0) -14>Emitted(74, 183) Source(79, 58) + SourceIndex(0) +2 > numberA2 = -1 +3 > +4 > numberA2 = -1 +5 > , +6 > nameA2 = "noName" +7 > +8 > nameA2 = "noName" +9 > , +10> skillA2 = "skill" +11> +12> skillA2 = "skill" +1->Emitted(74, 21) Source(79, 7) + SourceIndex(0) +2 >Emitted(74, 33) Source(79, 20) + SourceIndex(0) +3 >Emitted(74, 35) Source(79, 7) + SourceIndex(0) +4 >Emitted(74, 71) Source(79, 20) + SourceIndex(0) +5 >Emitted(74, 73) Source(79, 22) + SourceIndex(0) +6 >Emitted(74, 85) Source(79, 39) + SourceIndex(0) +7 >Emitted(74, 87) Source(79, 22) + SourceIndex(0) +8 >Emitted(74, 127) Source(79, 39) + SourceIndex(0) +9 >Emitted(74, 129) Source(79, 41) + SourceIndex(0) +10>Emitted(74, 141) Source(79, 58) + SourceIndex(0) +11>Emitted(74, 143) Source(79, 41) + SourceIndex(0) +12>Emitted(74, 183) Source(79, 58) + SourceIndex(0) --- >>> console.log(nameA2); 1 >^^^^ @@ -2092,8 +1984,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2109,7 +2000,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(77, 1) Source(82, 1) + SourceIndex(0) 2 >Emitted(77, 4) Source(82, 4) + SourceIndex(0) 3 >Emitted(77, 5) Source(82, 5) + SourceIndex(0) @@ -2121,73 +2011,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(77, 74) Source(85, 41) + SourceIndex(0) 10>Emitted(77, 76) Source(85, 30) + SourceIndex(0) 11>Emitted(77, 81) Source(85, 41) + SourceIndex(0) -12>Emitted(77, 82) Source(85, 42) + SourceIndex(0) --- >>> _40 = multiRobots_3[_39], _41 = _40[0], nameMA = _41 === void 0 ? "noName" : _41, _42 = _40[1], _43 = _42 === void 0 ? ["skill1", "skill2"] : _42, _44 = _43[0], primarySkillA = _44 === void 0 ? "primary" : _44, _45 = _43[1], secondarySkillA = _45 === void 0 ? "secondary" : _45; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > nameMA = "noName" +3 > +4 > nameMA = "noName" +5 > , +6 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +7 > +8 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +9 > +10> primarySkillA = "primary" +11> +12> primarySkillA = "primary" +13> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(78, 5) Source(82, 6) + SourceIndex(0) -2 >Emitted(78, 29) Source(85, 26) + SourceIndex(0) -3 >Emitted(78, 31) Source(82, 7) + SourceIndex(0) -4 >Emitted(78, 43) Source(82, 24) + SourceIndex(0) -5 >Emitted(78, 45) Source(82, 7) + SourceIndex(0) -6 >Emitted(78, 85) Source(82, 24) + SourceIndex(0) -7 >Emitted(78, 87) Source(82, 26) + SourceIndex(0) -8 >Emitted(78, 99) Source(85, 25) + SourceIndex(0) -9 >Emitted(78, 101) Source(82, 26) + SourceIndex(0) -10>Emitted(78, 150) Source(85, 25) + SourceIndex(0) -11>Emitted(78, 152) Source(83, 5) + SourceIndex(0) -12>Emitted(78, 164) Source(83, 30) + SourceIndex(0) -13>Emitted(78, 166) Source(83, 5) + SourceIndex(0) -14>Emitted(78, 214) Source(83, 30) + SourceIndex(0) -15>Emitted(78, 216) Source(84, 5) + SourceIndex(0) -16>Emitted(78, 228) Source(84, 34) + SourceIndex(0) -17>Emitted(78, 230) Source(84, 5) + SourceIndex(0) -18>Emitted(78, 282) Source(84, 34) + SourceIndex(0) +14> secondarySkillA = "secondary" +15> +16> secondarySkillA = "secondary" +1->Emitted(78, 31) Source(82, 7) + SourceIndex(0) +2 >Emitted(78, 43) Source(82, 24) + SourceIndex(0) +3 >Emitted(78, 45) Source(82, 7) + SourceIndex(0) +4 >Emitted(78, 85) Source(82, 24) + SourceIndex(0) +5 >Emitted(78, 87) Source(82, 26) + SourceIndex(0) +6 >Emitted(78, 99) Source(85, 25) + SourceIndex(0) +7 >Emitted(78, 101) Source(82, 26) + SourceIndex(0) +8 >Emitted(78, 150) Source(85, 25) + SourceIndex(0) +9 >Emitted(78, 152) Source(83, 5) + SourceIndex(0) +10>Emitted(78, 164) Source(83, 30) + SourceIndex(0) +11>Emitted(78, 166) Source(83, 5) + SourceIndex(0) +12>Emitted(78, 214) Source(83, 30) + SourceIndex(0) +13>Emitted(78, 216) Source(84, 5) + SourceIndex(0) +14>Emitted(78, 228) Source(84, 34) + SourceIndex(0) +15>Emitted(78, 230) Source(84, 5) + SourceIndex(0) +16>Emitted(78, 282) Source(84, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2238,8 +2118,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2257,7 +2136,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(81, 1) Source(88, 1) + SourceIndex(0) 2 >Emitted(81, 4) Source(88, 4) + SourceIndex(0) 3 >Emitted(81, 5) Source(88, 5) + SourceIndex(0) @@ -2271,73 +2149,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(81, 59) Source(91, 46) + SourceIndex(0) 12>Emitted(81, 61) Source(91, 30) + SourceIndex(0) 13>Emitted(81, 66) Source(91, 46) + SourceIndex(0) -14>Emitted(81, 67) Source(91, 47) + SourceIndex(0) --- >>> _48 = _47[_46], _49 = _48[0], nameMA = _49 === void 0 ? "noName" : _49, _50 = _48[1], _51 = _50 === void 0 ? ["skill1", "skill2"] : _50, _52 = _51[0], primarySkillA = _52 === void 0 ? "primary" : _52, _53 = _51[1], secondarySkillA = _53 === void 0 ? "secondary" : _53; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > nameMA = "noName" +3 > +4 > nameMA = "noName" +5 > , +6 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +7 > +8 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +9 > +10> primarySkillA = "primary" +11> +12> primarySkillA = "primary" +13> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(82, 5) Source(88, 6) + SourceIndex(0) -2 >Emitted(82, 19) Source(91, 26) + SourceIndex(0) -3 >Emitted(82, 21) Source(88, 7) + SourceIndex(0) -4 >Emitted(82, 33) Source(88, 24) + SourceIndex(0) -5 >Emitted(82, 35) Source(88, 7) + SourceIndex(0) -6 >Emitted(82, 75) Source(88, 24) + SourceIndex(0) -7 >Emitted(82, 77) Source(88, 26) + SourceIndex(0) -8 >Emitted(82, 89) Source(91, 25) + SourceIndex(0) -9 >Emitted(82, 91) Source(88, 26) + SourceIndex(0) -10>Emitted(82, 140) Source(91, 25) + SourceIndex(0) -11>Emitted(82, 142) Source(89, 5) + SourceIndex(0) -12>Emitted(82, 154) Source(89, 30) + SourceIndex(0) -13>Emitted(82, 156) Source(89, 5) + SourceIndex(0) -14>Emitted(82, 204) Source(89, 30) + SourceIndex(0) -15>Emitted(82, 206) Source(90, 5) + SourceIndex(0) -16>Emitted(82, 218) Source(90, 34) + SourceIndex(0) -17>Emitted(82, 220) Source(90, 5) + SourceIndex(0) -18>Emitted(82, 272) Source(90, 34) + SourceIndex(0) +14> secondarySkillA = "secondary" +15> +16> secondarySkillA = "secondary" +1->Emitted(82, 21) Source(88, 7) + SourceIndex(0) +2 >Emitted(82, 33) Source(88, 24) + SourceIndex(0) +3 >Emitted(82, 35) Source(88, 7) + SourceIndex(0) +4 >Emitted(82, 75) Source(88, 24) + SourceIndex(0) +5 >Emitted(82, 77) Source(88, 26) + SourceIndex(0) +6 >Emitted(82, 89) Source(91, 25) + SourceIndex(0) +7 >Emitted(82, 91) Source(88, 26) + SourceIndex(0) +8 >Emitted(82, 140) Source(91, 25) + SourceIndex(0) +9 >Emitted(82, 142) Source(89, 5) + SourceIndex(0) +10>Emitted(82, 154) Source(89, 30) + SourceIndex(0) +11>Emitted(82, 156) Source(89, 5) + SourceIndex(0) +12>Emitted(82, 204) Source(89, 30) + SourceIndex(0) +13>Emitted(82, 206) Source(90, 5) + SourceIndex(0) +14>Emitted(82, 218) Source(90, 34) + SourceIndex(0) +15>Emitted(82, 220) Source(90, 5) + SourceIndex(0) +16>Emitted(82, 272) Source(90, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2390,8 +2258,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2411,7 +2278,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [multiRobotA, multiRobotB] 14> 15> [multiRobotA, multiRobotB] -16> ) 1->Emitted(85, 1) Source(94, 1) + SourceIndex(0) 2 >Emitted(85, 4) Source(94, 4) + SourceIndex(0) 3 >Emitted(85, 5) Source(94, 5) + SourceIndex(0) @@ -2427,73 +2293,63 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(85, 69) Source(97, 56) + SourceIndex(0) 14>Emitted(85, 71) Source(97, 30) + SourceIndex(0) 15>Emitted(85, 76) Source(97, 56) + SourceIndex(0) -16>Emitted(85, 77) Source(97, 57) + SourceIndex(0) --- >>> _56 = _55[_54], _57 = _56[0], nameMA = _57 === void 0 ? "noName" : _57, _58 = _56[1], _59 = _58 === void 0 ? ["skill1", "skill2"] : _58, _60 = _59[0], primarySkillA = _60 === void 0 ? "primary" : _60, _61 = _59[1], secondarySkillA = _61 === void 0 ? "secondary" : _61; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [nameMA = "noName", [ - > primarySkillA = "primary", - > secondarySkillA = "secondary" - > ] = ["skill1", "skill2"]] -3 > -4 > nameMA = "noName" -5 > -6 > nameMA = "noName" -7 > , -8 > [ +2 > nameMA = "noName" +3 > +4 > nameMA = "noName" +5 > , +6 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -9 > -10> [ +7 > +8 > [ > primarySkillA = "primary", > secondarySkillA = "secondary" > ] = ["skill1", "skill2"] -11> -12> primarySkillA = "primary" -13> -14> primarySkillA = "primary" -15> , +9 > +10> primarySkillA = "primary" +11> +12> primarySkillA = "primary" +13> , > -16> secondarySkillA = "secondary" -17> -18> secondarySkillA = "secondary" -1->Emitted(86, 5) Source(94, 6) + SourceIndex(0) -2 >Emitted(86, 19) Source(97, 26) + SourceIndex(0) -3 >Emitted(86, 21) Source(94, 7) + SourceIndex(0) -4 >Emitted(86, 33) Source(94, 24) + SourceIndex(0) -5 >Emitted(86, 35) Source(94, 7) + SourceIndex(0) -6 >Emitted(86, 75) Source(94, 24) + SourceIndex(0) -7 >Emitted(86, 77) Source(94, 26) + SourceIndex(0) -8 >Emitted(86, 89) Source(97, 25) + SourceIndex(0) -9 >Emitted(86, 91) Source(94, 26) + SourceIndex(0) -10>Emitted(86, 140) Source(97, 25) + SourceIndex(0) -11>Emitted(86, 142) Source(95, 5) + SourceIndex(0) -12>Emitted(86, 154) Source(95, 30) + SourceIndex(0) -13>Emitted(86, 156) Source(95, 5) + SourceIndex(0) -14>Emitted(86, 204) Source(95, 30) + SourceIndex(0) -15>Emitted(86, 206) Source(96, 5) + SourceIndex(0) -16>Emitted(86, 218) Source(96, 34) + SourceIndex(0) -17>Emitted(86, 220) Source(96, 5) + SourceIndex(0) -18>Emitted(86, 272) Source(96, 34) + SourceIndex(0) +14> secondarySkillA = "secondary" +15> +16> secondarySkillA = "secondary" +1->Emitted(86, 21) Source(94, 7) + SourceIndex(0) +2 >Emitted(86, 33) Source(94, 24) + SourceIndex(0) +3 >Emitted(86, 35) Source(94, 7) + SourceIndex(0) +4 >Emitted(86, 75) Source(94, 24) + SourceIndex(0) +5 >Emitted(86, 77) Source(94, 26) + SourceIndex(0) +6 >Emitted(86, 89) Source(97, 25) + SourceIndex(0) +7 >Emitted(86, 91) Source(94, 26) + SourceIndex(0) +8 >Emitted(86, 140) Source(97, 25) + SourceIndex(0) +9 >Emitted(86, 142) Source(95, 5) + SourceIndex(0) +10>Emitted(86, 154) Source(95, 30) + SourceIndex(0) +11>Emitted(86, 156) Source(95, 5) + SourceIndex(0) +12>Emitted(86, 204) Source(95, 30) + SourceIndex(0) +13>Emitted(86, 206) Source(96, 5) + SourceIndex(0) +14>Emitted(86, 218) Source(96, 34) + SourceIndex(0) +15>Emitted(86, 220) Source(96, 5) + SourceIndex(0) +16>Emitted(86, 272) Source(96, 34) + SourceIndex(0) --- >>> console.log(nameMA); 1 >^^^^ @@ -2542,8 +2398,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -2557,7 +2412,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 > robots 10> 11> robots -12> ) 1->Emitted(89, 1) Source(101, 1) + SourceIndex(0) 2 >Emitted(89, 4) Source(101, 4) + SourceIndex(0) 3 >Emitted(89, 5) Source(101, 5) + SourceIndex(0) @@ -2569,33 +2423,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 9 >Emitted(89, 59) Source(101, 46) + SourceIndex(0) 10>Emitted(89, 61) Source(101, 40) + SourceIndex(0) 11>Emitted(89, 66) Source(101, 46) + SourceIndex(0) -12>Emitted(89, 67) Source(101, 47) + SourceIndex(0) --- >>> _63 = robots_4[_62], _64 = _63[0], numberA3 = _64 === void 0 ? -1 : _64, robotAInfo = _63.slice(1); -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(90, 5) Source(101, 6) + SourceIndex(0) -2 >Emitted(90, 24) Source(101, 36) + SourceIndex(0) -3 >Emitted(90, 26) Source(101, 7) + SourceIndex(0) -4 >Emitted(90, 38) Source(101, 20) + SourceIndex(0) -5 >Emitted(90, 40) Source(101, 7) + SourceIndex(0) -6 >Emitted(90, 76) Source(101, 20) + SourceIndex(0) -7 >Emitted(90, 78) Source(101, 22) + SourceIndex(0) -8 >Emitted(90, 103) Source(101, 35) + SourceIndex(0) +2 > numberA3 = -1 +3 > +4 > numberA3 = -1 +5 > , +6 > ...robotAInfo +1->Emitted(90, 26) Source(101, 7) + SourceIndex(0) +2 >Emitted(90, 38) Source(101, 20) + SourceIndex(0) +3 >Emitted(90, 40) Source(101, 7) + SourceIndex(0) +4 >Emitted(90, 76) Source(101, 20) + SourceIndex(0) +5 >Emitted(90, 78) Source(101, 22) + SourceIndex(0) +6 >Emitted(90, 103) Source(101, 35) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2645,8 +2492,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2661,7 +2507,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(93, 1) Source(104, 1) + SourceIndex(0) 2 >Emitted(93, 4) Source(104, 4) + SourceIndex(0) 3 >Emitted(93, 5) Source(104, 5) + SourceIndex(0) @@ -2675,33 +2520,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 11>Emitted(93, 54) Source(104, 51) + SourceIndex(0) 12>Emitted(93, 56) Source(104, 40) + SourceIndex(0) 13>Emitted(93, 61) Source(104, 51) + SourceIndex(0) -14>Emitted(93, 62) Source(104, 52) + SourceIndex(0) --- >>> _67 = _66[_65], _68 = _67[0], numberA3 = _68 === void 0 ? -1 : _68, robotAInfo = _67.slice(1); -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(94, 5) Source(104, 6) + SourceIndex(0) -2 >Emitted(94, 19) Source(104, 36) + SourceIndex(0) -3 >Emitted(94, 21) Source(104, 7) + SourceIndex(0) -4 >Emitted(94, 33) Source(104, 20) + SourceIndex(0) -5 >Emitted(94, 35) Source(104, 7) + SourceIndex(0) -6 >Emitted(94, 71) Source(104, 20) + SourceIndex(0) -7 >Emitted(94, 73) Source(104, 22) + SourceIndex(0) -8 >Emitted(94, 98) Source(104, 35) + SourceIndex(0) +2 > numberA3 = -1 +3 > +4 > numberA3 = -1 +5 > , +6 > ...robotAInfo +1->Emitted(94, 21) Source(104, 7) + SourceIndex(0) +2 >Emitted(94, 33) Source(104, 20) + SourceIndex(0) +3 >Emitted(94, 35) Source(104, 7) + SourceIndex(0) +4 >Emitted(94, 71) Source(104, 20) + SourceIndex(0) +5 >Emitted(94, 73) Source(104, 22) + SourceIndex(0) +6 >Emitted(94, 98) Source(104, 35) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ @@ -2753,8 +2591,7 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> ^^^^^^^^^^^^^^^^ 14> ^^ 15> ^^^^^ -16> ^ -17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2771,7 +2608,6 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13> [robotA, robotB] 14> 15> [robotA, robotB] -16> ) 1->Emitted(97, 1) Source(107, 1) + SourceIndex(0) 2 >Emitted(97, 4) Source(107, 4) + SourceIndex(0) 3 >Emitted(97, 5) Source(107, 5) + SourceIndex(0) @@ -2787,33 +2623,26 @@ sourceFile:sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues 13>Emitted(97, 59) Source(107, 56) + SourceIndex(0) 14>Emitted(97, 61) Source(107, 40) + SourceIndex(0) 15>Emitted(97, 66) Source(107, 56) + SourceIndex(0) -16>Emitted(97, 67) Source(107, 57) + SourceIndex(0) --- >>> _71 = _70[_69], _72 = _71[0], numberA3 = _72 === void 0 ? -1 : _72, robotAInfo = _71.slice(1); -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > [numberA3 = -1, ...robotAInfo] -3 > -4 > numberA3 = -1 -5 > -6 > numberA3 = -1 -7 > , -8 > ...robotAInfo -1->Emitted(98, 5) Source(107, 6) + SourceIndex(0) -2 >Emitted(98, 19) Source(107, 36) + SourceIndex(0) -3 >Emitted(98, 21) Source(107, 7) + SourceIndex(0) -4 >Emitted(98, 33) Source(107, 20) + SourceIndex(0) -5 >Emitted(98, 35) Source(107, 7) + SourceIndex(0) -6 >Emitted(98, 71) Source(107, 20) + SourceIndex(0) -7 >Emitted(98, 73) Source(107, 22) + SourceIndex(0) -8 >Emitted(98, 98) Source(107, 35) + SourceIndex(0) +2 > numberA3 = -1 +3 > +4 > numberA3 = -1 +5 > , +6 > ...robotAInfo +1->Emitted(98, 21) Source(107, 7) + SourceIndex(0) +2 >Emitted(98, 33) Source(107, 20) + SourceIndex(0) +3 >Emitted(98, 35) Source(107, 7) + SourceIndex(0) +4 >Emitted(98, 71) Source(107, 20) + SourceIndex(0) +5 >Emitted(98, 73) Source(107, 22) + SourceIndex(0) +6 >Emitted(98, 98) Source(107, 35) + SourceIndex(0) --- >>> console.log(numberA3); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types index 5f580ad38f4..dad997dac4f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types @@ -16,17 +16,17 @@ let robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" let robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let robots = [robotA, robotB]; >robots : [number, string, string][] @@ -45,19 +45,19 @@ let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let multiRobots = [multiRobotA, multiRobotB]; >multiRobots : [string, [string, string]][] @@ -89,15 +89,15 @@ let numberA2: number, nameA2: string, skillA2: string, nameMA: string; let numberA3: number, robotAInfo: (number | string)[], multiRobotAInfo: (string | [string, string])[]; >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >multiRobotAInfo : (string | [string, string])[] for ([, nameA = "noName"] of robots) { >[, nameA = "noName"] : [undefined, string] > : undefined ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >robots : [number, string, string][] console.log(nameA); @@ -110,9 +110,9 @@ for ([, nameA = "noName"] of robots) { for ([, nameA = "noName"] of getRobots()) { >[, nameA = "noName"] : [undefined, string] > : undefined ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -126,9 +126,9 @@ for ([, nameA = "noName"] of getRobots()) { for ([, nameA = "noName"] of [robotA, robotB]) { >[, nameA = "noName"] : [undefined, string] > : undefined ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -147,19 +147,19 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of multiRobots) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >multiRobots : [string, [string, string]][] console.log(primarySkillA); @@ -176,19 +176,19 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of getMultiRobots()) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -206,19 +206,19 @@ for ([, [ >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -233,10 +233,10 @@ for ([, [ for ([numberB = -1] of robots) { >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robots : [number, string, string][] console.log(numberB); @@ -248,10 +248,10 @@ for ([numberB = -1] of robots) { } for ([numberB = -1] of getRobots()) { >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -264,10 +264,10 @@ for ([numberB = -1] of getRobots()) { } for ([numberB = -1] of [robotA, robotB]) { >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -281,9 +281,9 @@ for ([numberB = -1] of [robotA, robotB]) { } for ([nameB = "noName"] of multiRobots) { >[nameB = "noName"] : [string] ->nameB = "noName" : string +>nameB = "noName" : "noName" >nameB : string ->"noName" : string +>"noName" : "noName" >multiRobots : [string, [string, string]][] console.log(nameB); @@ -295,9 +295,9 @@ for ([nameB = "noName"] of multiRobots) { } for ([nameB = "noName"] of getMultiRobots()) { >[nameB = "noName"] : [string] ->nameB = "noName" : string +>nameB = "noName" : "noName" >nameB : string ->"noName" : string +>"noName" : "noName" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -310,9 +310,9 @@ for ([nameB = "noName"] of getMultiRobots()) { } for ([nameB = "noName"] of [multiRobotA, multiRobotB]) { >[nameB = "noName"] : [string] ->nameB = "noName" : string +>nameB = "noName" : "noName" >nameB : string ->"noName" : string +>"noName" : "noName" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -327,16 +327,16 @@ for ([nameB = "noName"] of [multiRobotA, multiRobotB]) { for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >[numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "noName" : string +>-1 : -1 +>1 : 1 +>nameA2 = "noName" : "noName" >nameA2 : string ->"noName" : string ->skillA2 = "skill" : string +>"noName" : "noName" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >robots : [number, string, string][] console.log(nameA2); @@ -348,16 +348,16 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { } for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >[numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "noName" : string +>-1 : -1 +>1 : 1 +>nameA2 = "noName" : "noName" >nameA2 : string ->"noName" : string ->skillA2 = "skill" : string +>"noName" : "noName" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -370,16 +370,16 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { } for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) { >[numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] : [number, string, string] ->numberA2 = -1 : number +>numberA2 = -1 : -1 >numberA2 : number ->-1 : number ->1 : number ->nameA2 = "noName" : string +>-1 : -1 +>1 : 1 +>nameA2 = "noName" : "noName" >nameA2 : string ->"noName" : string ->skillA2 = "skill" : string +>"noName" : "noName" +>skillA2 = "skill" : "skill" >skillA2 : string ->"skill" : string +>"skill" : "skill" >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] @@ -393,26 +393,26 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) } for ([nameMA = "noName", [ >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"]] : [string, [string, string]] ->nameMA = "noName" : string +>nameMA = "noName" : "noName" >nameMA : string ->"noName" : string +>"noName" : "noName" >[ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"] : [string, string] >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of multiRobots) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >multiRobots : [string, [string, string]][] console.log(nameMA); @@ -424,26 +424,26 @@ for ([nameMA = "noName", [ } for ([nameMA = "noName", [ >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"]] : [string, [string, string]] ->nameMA = "noName" : string +>nameMA = "noName" : "noName" >nameMA : string ->"noName" : string +>"noName" : "noName" >[ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"] : [string, string] >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of getMultiRobots()) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >getMultiRobots() : [string, [string, string]][] >getMultiRobots : () => [string, [string, string]][] @@ -456,26 +456,26 @@ for ([nameMA = "noName", [ } for ([nameMA = "noName", [ >[nameMA = "noName", [ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"]] : [string, [string, string]] ->nameMA = "noName" : string +>nameMA = "noName" : "noName" >nameMA : string ->"noName" : string +>"noName" : "noName" >[ primarySkillA = "primary", secondarySkillA = "secondary"] = ["skill1", "skill2"] : [string, string] >[ primarySkillA = "primary", secondarySkillA = "secondary"] : [string, string] primarySkillA = "primary", ->primarySkillA = "primary" : string +>primarySkillA = "primary" : "primary" >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" ->secondarySkillA = "secondary" : string +>secondarySkillA = "secondary" : "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) { >["skill1", "skill2"] : [string, string] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" >[multiRobotA, multiRobotB] : [string, [string, string]][] >multiRobotA : [string, [string, string]] >multiRobotB : [string, [string, string]] @@ -489,13 +489,13 @@ for ([nameMA = "noName", [ } for ([numberA3 = -1, ...robotAInfo] of robots) { ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robots : [number, string, string][] console.log(numberA3); @@ -506,13 +506,13 @@ for ([numberA3 = -1, ...robotAInfo] of robots) { >numberA3 : number } for ([numberA3 = -1, ...robotAInfo] of getRobots()) { ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -524,13 +524,13 @@ for ([numberA3 = -1, ...robotAInfo] of getRobots()) { >numberA3 : number } for ([numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { ->[numberA3 = -1, ...robotAInfo] : (number | string)[] ->numberA3 = -1 : number +>[numberA3 = -1, ...robotAInfo] : (string | number)[] +>numberA3 = -1 : -1 >numberA3 : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[robotA, robotB] : [number, string, string][] >robotA : [number, string, string] >robotB : [number, string, string] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.js.map index 3f10e267eb9..3fe49ed9ef9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfObjectBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPattern.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAuB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxB,6BAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7B,uBAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAA9F,uBAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAiE,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAtE,iCAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAiE,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA3E,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAiE,UACS,EADT,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADT,cACS,EADT,IACS,CAAC;IADpE,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAEzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAAsC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAA5C,qBAAiC,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAsC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAjD,eAAiC,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAsC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAAlH,eAAiC,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAxF,0BAAwE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA7F,eAAwE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UACH,EADG,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACjJ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADG,cACH,EADG,IACH,CAAC;IAD1E,eAAwE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAErE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPattern.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAuB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAvB,IAAA,yBAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA5B,IAAA,mBAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAA7F,IAAA,mBAAW;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAiE,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAArE,IAAA,6BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAiE,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAA1E,IAAA,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAiE,UACS,EADT,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADT,cACS,EADT,IACS;IADnE,IAAA,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAEzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAAsC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAvC,IAAA,iBAA6B,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAsC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA5C,IAAA,WAA6B,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAsC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAA7G,IAAA,WAA6B,EAA5B,eAAW,EAAE,iBAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAAnF,IAAA,sBAAoE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAAxF,IAAA,WAAoE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6E,UACH,EADG,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACjJ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADG,cACH,EADG,IACH;IADrE,IAAA,WAAoE,EAAnE,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAErE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.sourcemap.txt index 5403a0863a3..a22c02644c2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.sourcemap.txt @@ -320,7 +320,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -334,7 +333,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(10, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(10, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(10, 5) Source(29, 5) + SourceIndex(0) @@ -346,15 +344,17 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 >Emitted(10, 57) Source(29, 34) + SourceIndex(0) 10>Emitted(10, 59) Source(29, 28) + SourceIndex(0) 11>Emitted(10, 63) Source(29, 34) + SourceIndex(0) -12>Emitted(10, 64) Source(29, 35) + SourceIndex(0) --- >>> var nameA = robots_1[_i].name; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > name: nameA +2 > +3 > name: nameA 1 >Emitted(11, 5) Source(29, 11) + SourceIndex(0) -2 >Emitted(11, 34) Source(29, 22) + SourceIndex(0) +2 >Emitted(11, 9) Source(29, 11) + SourceIndex(0) +3 >Emitted(11, 34) Source(29, 22) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -404,7 +404,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -419,7 +418,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(14, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(14, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(14, 5) Source(32, 5) + SourceIndex(0) @@ -433,15 +431,17 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11>Emitted(14, 50) Source(32, 39) + SourceIndex(0) 12>Emitted(14, 52) Source(32, 28) + SourceIndex(0) 13>Emitted(14, 56) Source(32, 39) + SourceIndex(0) -14>Emitted(14, 57) Source(32, 40) + SourceIndex(0) --- >>> var nameA = _b[_a].name; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ 1 > -2 > name: nameA +2 > +3 > name: nameA 1 >Emitted(15, 5) Source(32, 11) + SourceIndex(0) -2 >Emitted(15, 28) Source(32, 22) + SourceIndex(0) +2 >Emitted(15, 9) Source(32, 11) + SourceIndex(0) +3 >Emitted(15, 28) Source(32, 22) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -509,7 +509,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -542,7 +541,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(18, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(35, 5) + SourceIndex(0) @@ -574,15 +572,17 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29>Emitted(18, 115) Source(35, 104) + SourceIndex(0) 30>Emitted(18, 117) Source(35, 28) + SourceIndex(0) 31>Emitted(18, 121) Source(35, 104) + SourceIndex(0) -32>Emitted(18, 122) Source(35, 105) + SourceIndex(0) --- >>> var nameA = _d[_c].name; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ 1 > -2 > name: nameA +2 > +3 > name: nameA 1 >Emitted(19, 5) Source(35, 11) + SourceIndex(0) -2 >Emitted(19, 28) Source(35, 22) + SourceIndex(0) +2 >Emitted(19, 9) Source(35, 11) + SourceIndex(0) +3 >Emitted(19, 28) Source(35, 22) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -630,8 +630,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^-> +12> ^^^^^^^^^^^^-> 1-> > 2 >for @@ -644,7 +643,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(22, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(22, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(22, 5) Source(38, 5) + SourceIndex(0) @@ -656,27 +654,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 >Emitted(22, 72) Source(38, 81) + SourceIndex(0) 10>Emitted(22, 74) Source(38, 70) + SourceIndex(0) 11>Emitted(22, 78) Source(38, 81) + SourceIndex(0) -12>Emitted(22, 79) Source(38, 82) + SourceIndex(0) --- >>> var _f = multiRobots_1[_e].skills, primaryA = _f.primary, secondaryA = _f.secondary; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > skills: { primary: primaryA, secondary: secondaryA } -3 > -4 > primary: primaryA -5 > , -6 > secondary: secondaryA +2 > +3 > skills: { primary: primaryA, secondary: secondaryA } +4 > +5 > primary: primaryA +6 > , +7 > secondary: secondaryA 1->Emitted(23, 5) Source(38, 12) + SourceIndex(0) -2 >Emitted(23, 38) Source(38, 64) + SourceIndex(0) -3 >Emitted(23, 40) Source(38, 22) + SourceIndex(0) -4 >Emitted(23, 61) Source(38, 39) + SourceIndex(0) -5 >Emitted(23, 63) Source(38, 41) + SourceIndex(0) -6 >Emitted(23, 88) Source(38, 62) + SourceIndex(0) +2 >Emitted(23, 9) Source(38, 12) + SourceIndex(0) +3 >Emitted(23, 38) Source(38, 64) + SourceIndex(0) +4 >Emitted(23, 40) Source(38, 22) + SourceIndex(0) +5 >Emitted(23, 61) Source(38, 39) + SourceIndex(0) +6 >Emitted(23, 63) Source(38, 41) + SourceIndex(0) +7 >Emitted(23, 88) Source(38, 62) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -726,8 +726,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -742,7 +741,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(26, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(26, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(26, 5) Source(41, 5) + SourceIndex(0) @@ -756,27 +754,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11>Emitted(26, 55) Source(41, 86) + SourceIndex(0) 12>Emitted(26, 57) Source(41, 70) + SourceIndex(0) 13>Emitted(26, 61) Source(41, 86) + SourceIndex(0) -14>Emitted(26, 62) Source(41, 87) + SourceIndex(0) --- >>> var _j = _h[_g].skills, primaryA = _j.primary, secondaryA = _j.secondary; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > skills: { primary: primaryA, secondary: secondaryA } -3 > -4 > primary: primaryA -5 > , -6 > secondary: secondaryA +2 > +3 > skills: { primary: primaryA, secondary: secondaryA } +4 > +5 > primary: primaryA +6 > , +7 > secondary: secondaryA 1->Emitted(27, 5) Source(41, 12) + SourceIndex(0) -2 >Emitted(27, 27) Source(41, 64) + SourceIndex(0) -3 >Emitted(27, 29) Source(41, 22) + SourceIndex(0) -4 >Emitted(27, 50) Source(41, 39) + SourceIndex(0) -5 >Emitted(27, 52) Source(41, 41) + SourceIndex(0) -6 >Emitted(27, 77) Source(41, 62) + SourceIndex(0) +2 >Emitted(27, 9) Source(41, 12) + SourceIndex(0) +3 >Emitted(27, 27) Source(41, 64) + SourceIndex(0) +4 >Emitted(27, 29) Source(41, 22) + SourceIndex(0) +5 >Emitted(27, 50) Source(41, 39) + SourceIndex(0) +6 >Emitted(27, 52) Source(41, 41) + SourceIndex(0) +7 >Emitted(27, 77) Source(41, 62) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -913,7 +913,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ 1->, > 2 > { @@ -940,7 +939,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(31, 5) Source(45, 5) + SourceIndex(0) 2 >Emitted(31, 7) Source(45, 7) + SourceIndex(0) 3 >Emitted(31, 11) Source(45, 11) + SourceIndex(0) @@ -964,27 +962,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 21>Emitted(31, 95) Source(45, 79) + SourceIndex(0) 22>Emitted(31, 97) Source(44, 70) + SourceIndex(0) 23>Emitted(31, 101) Source(45, 79) + SourceIndex(0) -24>Emitted(31, 102) Source(45, 80) + SourceIndex(0) --- >>> var _m = _l[_k].skills, primaryA = _m.primary, secondaryA = _m.secondary; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > skills: { primary: primaryA, secondary: secondaryA } -3 > -4 > primary: primaryA -5 > , -6 > secondary: secondaryA +2 > +3 > skills: { primary: primaryA, secondary: secondaryA } +4 > +5 > primary: primaryA +6 > , +7 > secondary: secondaryA 1 >Emitted(32, 5) Source(44, 12) + SourceIndex(0) -2 >Emitted(32, 27) Source(44, 64) + SourceIndex(0) -3 >Emitted(32, 29) Source(44, 22) + SourceIndex(0) -4 >Emitted(32, 50) Source(44, 39) + SourceIndex(0) -5 >Emitted(32, 52) Source(44, 41) + SourceIndex(0) -6 >Emitted(32, 77) Source(44, 62) + SourceIndex(0) +2 >Emitted(32, 9) Source(44, 12) + SourceIndex(0) +3 >Emitted(32, 27) Source(44, 64) + SourceIndex(0) +4 >Emitted(32, 29) Source(44, 22) + SourceIndex(0) +5 >Emitted(32, 50) Source(44, 39) + SourceIndex(0) +6 >Emitted(32, 52) Source(44, 41) + SourceIndex(0) +7 >Emitted(32, 77) Source(44, 62) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1033,7 +1033,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ +12> ^-> 1-> > > @@ -1047,7 +1047,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(35, 1) Source(49, 1) + SourceIndex(0) 2 >Emitted(35, 4) Source(49, 4) + SourceIndex(0) 3 >Emitted(35, 5) Source(49, 5) + SourceIndex(0) @@ -1059,27 +1058,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 >Emitted(35, 57) Source(49, 49) + SourceIndex(0) 10>Emitted(35, 59) Source(49, 43) + SourceIndex(0) 11>Emitted(35, 63) Source(49, 49) + SourceIndex(0) -12>Emitted(35, 64) Source(49, 50) + SourceIndex(0) --- >>> var _p = robots_2[_o], nameA = _p.name, skillA = _p.skill; -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ -1 > -2 > let {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1 >Emitted(36, 5) Source(49, 6) + SourceIndex(0) -2 >Emitted(36, 26) Source(49, 39) + SourceIndex(0) -3 >Emitted(36, 28) Source(49, 11) + SourceIndex(0) -4 >Emitted(36, 43) Source(49, 22) + SourceIndex(0) -5 >Emitted(36, 45) Source(49, 24) + SourceIndex(0) -6 >Emitted(36, 62) Source(49, 37) + SourceIndex(0) +1->^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^ +1-> +2 > +3 > {name: nameA, skill: skillA } +4 > +5 > name: nameA +6 > , +7 > skill: skillA +1->Emitted(36, 5) Source(49, 10) + SourceIndex(0) +2 >Emitted(36, 9) Source(49, 10) + SourceIndex(0) +3 >Emitted(36, 26) Source(49, 39) + SourceIndex(0) +4 >Emitted(36, 28) Source(49, 11) + SourceIndex(0) +5 >Emitted(36, 43) Source(49, 22) + SourceIndex(0) +6 >Emitted(36, 45) Source(49, 24) + SourceIndex(0) +7 >Emitted(36, 62) Source(49, 37) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1129,8 +1130,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^-> +14> ^^-> 1-> > 2 >for @@ -1145,7 +1145,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(39, 1) Source(52, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(52, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(52, 5) + SourceIndex(0) @@ -1159,27 +1158,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11>Emitted(39, 50) Source(52, 54) + SourceIndex(0) 12>Emitted(39, 52) Source(52, 43) + SourceIndex(0) 13>Emitted(39, 56) Source(52, 54) + SourceIndex(0) -14>Emitted(39, 57) Source(52, 55) + SourceIndex(0) --- >>> var _s = _r[_q], nameA = _s.name, skillA = _s.skill; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1->Emitted(40, 5) Source(52, 6) + SourceIndex(0) -2 >Emitted(40, 20) Source(52, 39) + SourceIndex(0) -3 >Emitted(40, 22) Source(52, 11) + SourceIndex(0) -4 >Emitted(40, 37) Source(52, 22) + SourceIndex(0) -5 >Emitted(40, 39) Source(52, 24) + SourceIndex(0) -6 >Emitted(40, 56) Source(52, 37) + SourceIndex(0) +2 > +3 > {name: nameA, skill: skillA } +4 > +5 > name: nameA +6 > , +7 > skill: skillA +1->Emitted(40, 5) Source(52, 10) + SourceIndex(0) +2 >Emitted(40, 9) Source(52, 10) + SourceIndex(0) +3 >Emitted(40, 20) Source(52, 39) + SourceIndex(0) +4 >Emitted(40, 22) Source(52, 11) + SourceIndex(0) +5 >Emitted(40, 37) Source(52, 22) + SourceIndex(0) +6 >Emitted(40, 39) Source(52, 24) + SourceIndex(0) +7 >Emitted(40, 56) Source(52, 37) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1247,7 +1248,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -1280,7 +1280,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(43, 1) Source(55, 1) + SourceIndex(0) 2 >Emitted(43, 4) Source(55, 4) + SourceIndex(0) 3 >Emitted(43, 5) Source(55, 5) + SourceIndex(0) @@ -1312,27 +1311,29 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 29>Emitted(43, 115) Source(55, 119) + SourceIndex(0) 30>Emitted(43, 117) Source(55, 43) + SourceIndex(0) 31>Emitted(43, 121) Source(55, 119) + SourceIndex(0) -32>Emitted(43, 122) Source(55, 120) + SourceIndex(0) --- >>> var _v = _u[_t], nameA = _v.name, skillA = _v.skill; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^ 1 > -2 > let {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1 >Emitted(44, 5) Source(55, 6) + SourceIndex(0) -2 >Emitted(44, 20) Source(55, 39) + SourceIndex(0) -3 >Emitted(44, 22) Source(55, 11) + SourceIndex(0) -4 >Emitted(44, 37) Source(55, 22) + SourceIndex(0) -5 >Emitted(44, 39) Source(55, 24) + SourceIndex(0) -6 >Emitted(44, 56) Source(55, 37) + SourceIndex(0) +2 > +3 > {name: nameA, skill: skillA } +4 > +5 > name: nameA +6 > , +7 > skill: skillA +1 >Emitted(44, 5) Source(55, 10) + SourceIndex(0) +2 >Emitted(44, 9) Source(55, 10) + SourceIndex(0) +3 >Emitted(44, 20) Source(55, 39) + SourceIndex(0) +4 >Emitted(44, 22) Source(55, 11) + SourceIndex(0) +5 >Emitted(44, 37) Source(55, 22) + SourceIndex(0) +6 >Emitted(44, 39) Source(55, 24) + SourceIndex(0) +7 >Emitted(44, 56) Source(55, 37) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1380,8 +1381,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1394,7 +1394,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(47, 1) Source(58, 1) + SourceIndex(0) 2 >Emitted(47, 4) Source(58, 4) + SourceIndex(0) 3 >Emitted(47, 5) Source(58, 5) + SourceIndex(0) @@ -1406,39 +1405,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 9 >Emitted(47, 72) Source(58, 93) + SourceIndex(0) 10>Emitted(47, 74) Source(58, 82) + SourceIndex(0) 11>Emitted(47, 78) Source(58, 93) + SourceIndex(0) -12>Emitted(47, 79) Source(58, 94) + SourceIndex(0) --- >>> var _x = multiRobots_2[_w], nameA = _x.name, _y = _x.skills, primaryA = _y.primary, secondaryA = _y.secondary; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(48, 5) Source(58, 6) + SourceIndex(0) -2 >Emitted(48, 31) Source(58, 78) + SourceIndex(0) -3 >Emitted(48, 33) Source(58, 11) + SourceIndex(0) -4 >Emitted(48, 48) Source(58, 22) + SourceIndex(0) -5 >Emitted(48, 50) Source(58, 24) + SourceIndex(0) -6 >Emitted(48, 64) Source(58, 76) + SourceIndex(0) -7 >Emitted(48, 66) Source(58, 34) + SourceIndex(0) -8 >Emitted(48, 87) Source(58, 51) + SourceIndex(0) -9 >Emitted(48, 89) Source(58, 53) + SourceIndex(0) -10>Emitted(48, 114) Source(58, 74) + SourceIndex(0) +2 > +3 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } +4 > +5 > name: nameA +6 > , +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA +1->Emitted(48, 5) Source(58, 10) + SourceIndex(0) +2 >Emitted(48, 9) Source(58, 10) + SourceIndex(0) +3 >Emitted(48, 31) Source(58, 78) + SourceIndex(0) +4 >Emitted(48, 33) Source(58, 11) + SourceIndex(0) +5 >Emitted(48, 48) Source(58, 22) + SourceIndex(0) +6 >Emitted(48, 50) Source(58, 24) + SourceIndex(0) +7 >Emitted(48, 64) Source(58, 76) + SourceIndex(0) +8 >Emitted(48, 66) Source(58, 34) + SourceIndex(0) +9 >Emitted(48, 87) Source(58, 51) + SourceIndex(0) +10>Emitted(48, 89) Source(58, 53) + SourceIndex(0) +11>Emitted(48, 114) Source(58, 74) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1488,8 +1489,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1504,7 +1504,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(51, 1) Source(61, 1) + SourceIndex(0) 2 >Emitted(51, 4) Source(61, 4) + SourceIndex(0) 3 >Emitted(51, 5) Source(61, 5) + SourceIndex(0) @@ -1518,39 +1517,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 11>Emitted(51, 55) Source(61, 98) + SourceIndex(0) 12>Emitted(51, 57) Source(61, 82) + SourceIndex(0) 13>Emitted(51, 61) Source(61, 98) + SourceIndex(0) -14>Emitted(51, 62) Source(61, 99) + SourceIndex(0) --- >>> var _1 = _0[_z], nameA = _1.name, _2 = _1.skills, primaryA = _2.primary, secondaryA = _2.secondary; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(52, 5) Source(61, 6) + SourceIndex(0) -2 >Emitted(52, 20) Source(61, 78) + SourceIndex(0) -3 >Emitted(52, 22) Source(61, 11) + SourceIndex(0) -4 >Emitted(52, 37) Source(61, 22) + SourceIndex(0) -5 >Emitted(52, 39) Source(61, 24) + SourceIndex(0) -6 >Emitted(52, 53) Source(61, 76) + SourceIndex(0) -7 >Emitted(52, 55) Source(61, 34) + SourceIndex(0) -8 >Emitted(52, 76) Source(61, 51) + SourceIndex(0) -9 >Emitted(52, 78) Source(61, 53) + SourceIndex(0) -10>Emitted(52, 103) Source(61, 74) + SourceIndex(0) +2 > +3 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } +4 > +5 > name: nameA +6 > , +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA +1->Emitted(52, 5) Source(61, 10) + SourceIndex(0) +2 >Emitted(52, 9) Source(61, 10) + SourceIndex(0) +3 >Emitted(52, 20) Source(61, 78) + SourceIndex(0) +4 >Emitted(52, 22) Source(61, 11) + SourceIndex(0) +5 >Emitted(52, 37) Source(61, 22) + SourceIndex(0) +6 >Emitted(52, 39) Source(61, 24) + SourceIndex(0) +7 >Emitted(52, 53) Source(61, 76) + SourceIndex(0) +8 >Emitted(52, 55) Source(61, 34) + SourceIndex(0) +9 >Emitted(52, 76) Source(61, 51) + SourceIndex(0) +10>Emitted(52, 78) Source(61, 53) + SourceIndex(0) +11>Emitted(52, 103) Source(61, 74) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1687,8 +1688,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ -25> ^^^-> +24> ^^^^-> 1->, > 2 > { @@ -1715,7 +1715,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(56, 5) Source(65, 5) + SourceIndex(0) 2 >Emitted(56, 7) Source(65, 7) + SourceIndex(0) 3 >Emitted(56, 11) Source(65, 11) + SourceIndex(0) @@ -1739,39 +1738,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern.ts 21>Emitted(56, 95) Source(65, 79) + SourceIndex(0) 22>Emitted(56, 97) Source(64, 82) + SourceIndex(0) 23>Emitted(56, 101) Source(65, 79) + SourceIndex(0) -24>Emitted(56, 102) Source(65, 80) + SourceIndex(0) --- >>> var _5 = _4[_3], nameA = _5.name, _6 = _5.skills, primaryA = _6.primary, secondaryA = _6.secondary; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(57, 5) Source(64, 6) + SourceIndex(0) -2 >Emitted(57, 20) Source(64, 78) + SourceIndex(0) -3 >Emitted(57, 22) Source(64, 11) + SourceIndex(0) -4 >Emitted(57, 37) Source(64, 22) + SourceIndex(0) -5 >Emitted(57, 39) Source(64, 24) + SourceIndex(0) -6 >Emitted(57, 53) Source(64, 76) + SourceIndex(0) -7 >Emitted(57, 55) Source(64, 34) + SourceIndex(0) -8 >Emitted(57, 76) Source(64, 51) + SourceIndex(0) -9 >Emitted(57, 78) Source(64, 53) + SourceIndex(0) -10>Emitted(57, 103) Source(64, 74) + SourceIndex(0) +2 > +3 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } +4 > +5 > name: nameA +6 > , +7 > skills: { primary: primaryA, secondary: secondaryA } +8 > +9 > primary: primaryA +10> , +11> secondary: secondaryA +1->Emitted(57, 5) Source(64, 10) + SourceIndex(0) +2 >Emitted(57, 9) Source(64, 10) + SourceIndex(0) +3 >Emitted(57, 20) Source(64, 78) + SourceIndex(0) +4 >Emitted(57, 22) Source(64, 11) + SourceIndex(0) +5 >Emitted(57, 37) Source(64, 22) + SourceIndex(0) +6 >Emitted(57, 39) Source(64, 24) + SourceIndex(0) +7 >Emitted(57, 53) Source(64, 76) + SourceIndex(0) +8 >Emitted(57, 55) Source(64, 34) + SourceIndex(0) +9 >Emitted(57, 76) Source(64, 51) + SourceIndex(0) +10>Emitted(57, 78) Source(64, 53) + SourceIndex(0) +11>Emitted(57, 103) Source(64, 74) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types index 17c060225dc..26d570974df 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types @@ -40,14 +40,14 @@ let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", sk >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >multiRobots : MultiRobot[] @@ -55,24 +55,24 @@ let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", s >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]; >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" function getRobots() { >getRobots : () => Robot[] @@ -119,14 +119,14 @@ for (let {name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -175,24 +175,24 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "m >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -239,14 +239,14 @@ for (let {name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -301,24 +301,24 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.js.map index c8610cbeef8..47fdde05e22 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfObjectBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPattern2.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAmB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxB,yBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7B,mBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAA9F,mBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6D,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAtE,6BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6D,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAA3E,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6D,UACa,EADb,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACjI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADb,cACa,EADb,IACa,CAAC;IADxE,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAErD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAjB,wBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAtB,kBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAAvF,kBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAAhD,6BAA8B,EAApB,oBAAO,EAAE,wBAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAArD,kBAA8B,EAApB,oBAAO,EAAE,wBAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,UACmC,EADnC,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC3G,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADnC,cACmC,EADnC,IACmC,CAAC;IADxE,kBAA8B,EAApB,oBAAO,EAAE,wBAAS;IAE/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAGD,GAAG,CAAC,CAAkC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAxC,iBAA6B,EAA5B,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAA7C,WAA6B,EAA5B,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAA9G,WAA6B,EAA5B,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAApF,uBAAoE,EAAnE,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAAzF,cAAoE,EAAnE,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,WACC,EADD,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC7I,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADD,gBACC,EADD,KACC,CAAC;IAD1E,cAAoE,EAAnE,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IAEjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAAzB,mBAAc,EAAb,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAA9B,cAAc,EAAb,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E,CAAC;IAA/F,cAAc,EAAb,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IAAvD,wBAAuC,EAAtC,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAA5D,cAAuC,EAAtC,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAC8B,EAD9B,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChH,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD9B,gBAC8B,EAD9B,KAC8B,CAAC;IAD1E,cAAuC,EAAtC,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IAEpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPattern2.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAAmB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAvB,yBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAA5B,mBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAA7F,mBAAW;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA6D,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAArE,6BAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6D,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAA1E,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAA6D,UACa,EADb,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACjI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADb,cACa,EADb,IACa;IADvE,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB;IAErD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAhB,wBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAArB,kBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAY,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAAtF,kBAAI;IACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAuC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAA/C,6BAA8B,EAApB,oBAAO,EAAE,wBAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAApD,kBAA8B,EAApB,oBAAO,EAAE,wBAAS;IAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAAuC,UACmC,EADnC,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC3G,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADnC,cACmC,EADnC,IACmC;IADvE,kBAA8B,EAApB,oBAAO,EAAE,wBAAS;IAE/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAGD,GAAG,CAAC,CAAkC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;uBAAtC,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;iBAA3C,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;iBAA5G,eAAW,EAAE,iBAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;6BAAlF,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBAAvF,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAyE,WACC,EADD,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC7I,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADD,gBACC,EADD,KACC;oBADxE,gBAAW,EAAE,gBAAoD,EAA1C,sBAAiB,EAAE,0BAAqB;IAEjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAAvB,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAA5B,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAmB,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E;oBAA7F,eAAI,EAAE,iBAAK;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;8BAArD,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBAA1D,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAC8B,EAD9B,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChH,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD9B,gBAC8B,EAD9B,KAC8B;oBADxE,eAAI,EAAE,gBAA8B,EAApB,qBAAO,EAAE,yBAAS;IAEpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.sourcemap.txt index 8a603317954..b246504de7a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.sourcemap.txt @@ -394,7 +394,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -408,7 +407,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(12, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(12, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(12, 5) Source(32, 5) + SourceIndex(0) @@ -420,7 +418,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(12, 57) Source(32, 30) + SourceIndex(0) 10>Emitted(12, 59) Source(32, 24) + SourceIndex(0) 11>Emitted(12, 63) Source(32, 30) + SourceIndex(0) -12>Emitted(12, 64) Source(32, 31) + SourceIndex(0) --- >>> nameA = robots_1[_i].name; 1 >^^^^ @@ -478,7 +475,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -493,7 +489,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(16, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(16, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(16, 5) Source(35, 5) + SourceIndex(0) @@ -507,7 +502,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(16, 50) Source(35, 35) + SourceIndex(0) 12>Emitted(16, 52) Source(35, 24) + SourceIndex(0) 13>Emitted(16, 56) Source(35, 35) + SourceIndex(0) -14>Emitted(16, 57) Source(35, 36) + SourceIndex(0) --- >>> nameA = _b[_a].name; 1 >^^^^ @@ -584,7 +578,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -617,7 +610,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(20, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(20, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(20, 5) Source(38, 5) + SourceIndex(0) @@ -649,7 +641,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29>Emitted(20, 115) Source(38, 100) + SourceIndex(0) 30>Emitted(20, 117) Source(38, 24) + SourceIndex(0) 31>Emitted(20, 121) Source(38, 100) + SourceIndex(0) -32>Emitted(20, 122) Source(38, 101) + SourceIndex(0) --- >>> nameA = _d[_c].name; 1 >^^^^ @@ -706,8 +697,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^-> +12> ^^^^^^^^-> 1-> > 2 >for @@ -720,7 +710,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(24, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(41, 5) + SourceIndex(0) @@ -732,7 +721,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(24, 72) Source(41, 77) + SourceIndex(0) 10>Emitted(24, 74) Source(41, 66) + SourceIndex(0) 11>Emitted(24, 78) Source(41, 77) + SourceIndex(0) -12>Emitted(24, 79) Source(41, 78) + SourceIndex(0) --- >>> _f = multiRobots_1[_e].skills, primaryA = _f.primary, secondaryA = _f.secondary; 1->^^^^ @@ -802,8 +790,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -818,7 +805,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(28, 1) Source(44, 1) + SourceIndex(0) 2 >Emitted(28, 4) Source(44, 4) + SourceIndex(0) 3 >Emitted(28, 5) Source(44, 5) + SourceIndex(0) @@ -832,7 +818,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(28, 55) Source(44, 82) + SourceIndex(0) 12>Emitted(28, 57) Source(44, 66) + SourceIndex(0) 13>Emitted(28, 61) Source(44, 82) + SourceIndex(0) -14>Emitted(28, 62) Source(44, 83) + SourceIndex(0) --- >>> _j = _h[_g].skills, primaryA = _j.primary, secondaryA = _j.secondary; 1->^^^^ @@ -989,7 +974,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ 1->, > 2 > { @@ -1016,7 +1000,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(33, 5) Source(48, 5) + SourceIndex(0) 2 >Emitted(33, 7) Source(48, 7) + SourceIndex(0) 3 >Emitted(33, 11) Source(48, 11) + SourceIndex(0) @@ -1040,7 +1023,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21>Emitted(33, 95) Source(48, 79) + SourceIndex(0) 22>Emitted(33, 97) Source(47, 66) + SourceIndex(0) 23>Emitted(33, 101) Source(48, 79) + SourceIndex(0) -24>Emitted(33, 102) Source(48, 80) + SourceIndex(0) --- >>> _m = _l[_k].skills, primaryA = _m.primary, secondaryA = _m.secondary; 1 >^^^^ @@ -1109,7 +1091,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > 2 >for @@ -1122,7 +1103,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(37, 1) Source(51, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(51, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(51, 5) + SourceIndex(0) @@ -1134,7 +1114,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(37, 57) Source(51, 23) + SourceIndex(0) 10>Emitted(37, 59) Source(51, 17) + SourceIndex(0) 11>Emitted(37, 63) Source(51, 23) + SourceIndex(0) -12>Emitted(37, 64) Source(51, 24) + SourceIndex(0) --- >>> name = robots_2[_o].name; 1 >^^^^ @@ -1192,7 +1171,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1207,7 +1185,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(41, 1) Source(54, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(54, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(54, 5) + SourceIndex(0) @@ -1221,7 +1198,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(41, 50) Source(54, 28) + SourceIndex(0) 12>Emitted(41, 52) Source(54, 17) + SourceIndex(0) 13>Emitted(41, 56) Source(54, 28) + SourceIndex(0) -14>Emitted(41, 57) Source(54, 29) + SourceIndex(0) --- >>> name = _q[_p].name; 1 >^^^^ @@ -1298,7 +1274,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -1331,7 +1306,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(45, 1) Source(57, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(57, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(57, 5) + SourceIndex(0) @@ -1363,7 +1337,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29>Emitted(45, 115) Source(57, 93) + SourceIndex(0) 30>Emitted(45, 117) Source(57, 17) + SourceIndex(0) 31>Emitted(45, 121) Source(57, 93) + SourceIndex(0) -32>Emitted(45, 122) Source(57, 94) + SourceIndex(0) --- >>> name = _s[_r].name; 1 >^^^^ @@ -1420,8 +1393,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^-> +12> ^^^^^^-> 1-> > 2 >for @@ -1434,7 +1406,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(49, 1) Source(60, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(60, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(60, 5) + SourceIndex(0) @@ -1446,7 +1417,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(49, 72) Source(60, 55) + SourceIndex(0) 10>Emitted(49, 74) Source(60, 44) + SourceIndex(0) 11>Emitted(49, 78) Source(60, 55) + SourceIndex(0) -12>Emitted(49, 79) Source(60, 56) + SourceIndex(0) --- >>> _u = multiRobots_2[_t].skills, primary = _u.primary, secondary = _u.secondary; 1->^^^^ @@ -1516,8 +1486,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^-> +14> ^^^^^^^^^^^^-> 1-> > 2 >for @@ -1532,7 +1501,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(53, 1) Source(63, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(63, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(63, 5) + SourceIndex(0) @@ -1546,7 +1514,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(53, 55) Source(63, 60) + SourceIndex(0) 12>Emitted(53, 57) Source(63, 44) + SourceIndex(0) 13>Emitted(53, 61) Source(63, 60) + SourceIndex(0) -14>Emitted(53, 62) Source(63, 61) + SourceIndex(0) --- >>> _x = _w[_v].skills, primary = _x.primary, secondary = _x.secondary; 1->^^^^ @@ -1703,7 +1670,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ 1->, > 2 > { @@ -1730,7 +1696,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(58, 5) Source(67, 5) + SourceIndex(0) 2 >Emitted(58, 7) Source(67, 7) + SourceIndex(0) 3 >Emitted(58, 11) Source(67, 11) + SourceIndex(0) @@ -1754,7 +1719,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21>Emitted(58, 95) Source(67, 79) + SourceIndex(0) 22>Emitted(58, 97) Source(66, 44) + SourceIndex(0) 23>Emitted(58, 101) Source(67, 79) + SourceIndex(0) -24>Emitted(58, 102) Source(67, 80) + SourceIndex(0) --- >>> _0 = _z[_y].skills, primary = _0.primary, secondary = _0.secondary; 1 >^^^^ @@ -1823,7 +1787,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ 1-> > > @@ -1838,7 +1801,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(62, 1) Source(72, 1) + SourceIndex(0) 2 >Emitted(62, 4) Source(72, 4) + SourceIndex(0) 3 >Emitted(62, 5) Source(72, 5) + SourceIndex(0) @@ -1850,27 +1812,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(62, 57) Source(72, 45) + SourceIndex(0) 10>Emitted(62, 59) Source(72, 39) + SourceIndex(0) 11>Emitted(62, 63) Source(72, 45) + SourceIndex(0) -12>Emitted(62, 64) Source(72, 46) + SourceIndex(0) --- >>> _2 = robots_3[_1], nameA = _2.name, skillA = _2.skill; -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1 >Emitted(63, 5) Source(72, 6) + SourceIndex(0) -2 >Emitted(63, 22) Source(72, 35) + SourceIndex(0) -3 >Emitted(63, 24) Source(72, 7) + SourceIndex(0) -4 >Emitted(63, 39) Source(72, 18) + SourceIndex(0) -5 >Emitted(63, 41) Source(72, 20) + SourceIndex(0) -6 >Emitted(63, 58) Source(72, 33) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skill: skillA +1 >Emitted(63, 24) Source(72, 7) + SourceIndex(0) +2 >Emitted(63, 39) Source(72, 18) + SourceIndex(0) +3 >Emitted(63, 41) Source(72, 20) + SourceIndex(0) +4 >Emitted(63, 58) Source(72, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1920,7 +1875,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ 1-> > 2 >for @@ -1935,7 +1889,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(66, 1) Source(75, 1) + SourceIndex(0) 2 >Emitted(66, 4) Source(75, 4) + SourceIndex(0) 3 >Emitted(66, 5) Source(75, 5) + SourceIndex(0) @@ -1949,27 +1902,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(66, 50) Source(75, 50) + SourceIndex(0) 12>Emitted(66, 52) Source(75, 39) + SourceIndex(0) 13>Emitted(66, 56) Source(75, 50) + SourceIndex(0) -14>Emitted(66, 57) Source(75, 51) + SourceIndex(0) --- >>> _5 = _4[_3], nameA = _5.name, skillA = _5.skill; -1 >^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1 >Emitted(67, 5) Source(75, 6) + SourceIndex(0) -2 >Emitted(67, 16) Source(75, 35) + SourceIndex(0) -3 >Emitted(67, 18) Source(75, 7) + SourceIndex(0) -4 >Emitted(67, 33) Source(75, 18) + SourceIndex(0) -5 >Emitted(67, 35) Source(75, 20) + SourceIndex(0) -6 >Emitted(67, 52) Source(75, 33) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skill: skillA +1 >Emitted(67, 18) Source(75, 7) + SourceIndex(0) +2 >Emitted(67, 33) Source(75, 18) + SourceIndex(0) +3 >Emitted(67, 35) Source(75, 20) + SourceIndex(0) +4 >Emitted(67, 52) Source(75, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2037,7 +1983,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -2070,7 +2015,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(70, 1) Source(78, 1) + SourceIndex(0) 2 >Emitted(70, 4) Source(78, 4) + SourceIndex(0) 3 >Emitted(70, 5) Source(78, 5) + SourceIndex(0) @@ -2102,27 +2046,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29>Emitted(70, 115) Source(78, 115) + SourceIndex(0) 30>Emitted(70, 117) Source(78, 39) + SourceIndex(0) 31>Emitted(70, 121) Source(78, 115) + SourceIndex(0) -32>Emitted(70, 122) Source(78, 116) + SourceIndex(0) --- >>> _8 = _7[_6], nameA = _8.name, skillA = _8.skill; -1 >^^^^ -2 > ^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name: nameA, skill: skillA } -3 > -4 > name: nameA -5 > , -6 > skill: skillA -1 >Emitted(71, 5) Source(78, 6) + SourceIndex(0) -2 >Emitted(71, 16) Source(78, 35) + SourceIndex(0) -3 >Emitted(71, 18) Source(78, 7) + SourceIndex(0) -4 >Emitted(71, 33) Source(78, 18) + SourceIndex(0) -5 >Emitted(71, 35) Source(78, 20) + SourceIndex(0) -6 >Emitted(71, 52) Source(78, 33) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skill: skillA +1 >Emitted(71, 18) Source(78, 7) + SourceIndex(0) +2 >Emitted(71, 33) Source(78, 18) + SourceIndex(0) +3 >Emitted(71, 35) Source(78, 20) + SourceIndex(0) +4 >Emitted(71, 52) Source(78, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2170,8 +2107,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2184,7 +2120,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(74, 1) Source(81, 1) + SourceIndex(0) 2 >Emitted(74, 4) Source(81, 4) + SourceIndex(0) 3 >Emitted(74, 5) Source(81, 5) + SourceIndex(0) @@ -2196,39 +2131,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(74, 72) Source(81, 89) + SourceIndex(0) 10>Emitted(74, 74) Source(81, 78) + SourceIndex(0) 11>Emitted(74, 78) Source(81, 89) + SourceIndex(0) -12>Emitted(74, 79) Source(81, 90) + SourceIndex(0) --- >>> _10 = multiRobots_3[_9], nameA = _10.name, _11 = _10.skills, primaryA = _11.primary, secondaryA = _11.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(75, 5) Source(81, 6) + SourceIndex(0) -2 >Emitted(75, 28) Source(81, 74) + SourceIndex(0) -3 >Emitted(75, 30) Source(81, 7) + SourceIndex(0) -4 >Emitted(75, 46) Source(81, 18) + SourceIndex(0) -5 >Emitted(75, 48) Source(81, 20) + SourceIndex(0) -6 >Emitted(75, 64) Source(81, 72) + SourceIndex(0) -7 >Emitted(75, 66) Source(81, 30) + SourceIndex(0) -8 >Emitted(75, 88) Source(81, 47) + SourceIndex(0) -9 >Emitted(75, 90) Source(81, 49) + SourceIndex(0) -10>Emitted(75, 116) Source(81, 70) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skills: { primary: primaryA, secondary: secondaryA } +5 > +6 > primary: primaryA +7 > , +8 > secondary: secondaryA +1->Emitted(75, 30) Source(81, 7) + SourceIndex(0) +2 >Emitted(75, 46) Source(81, 18) + SourceIndex(0) +3 >Emitted(75, 48) Source(81, 20) + SourceIndex(0) +4 >Emitted(75, 64) Source(81, 72) + SourceIndex(0) +5 >Emitted(75, 66) Source(81, 30) + SourceIndex(0) +6 >Emitted(75, 88) Source(81, 47) + SourceIndex(0) +7 >Emitted(75, 90) Source(81, 49) + SourceIndex(0) +8 >Emitted(75, 116) Source(81, 70) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2278,8 +2206,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2294,7 +2221,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(78, 1) Source(84, 1) + SourceIndex(0) 2 >Emitted(78, 4) Source(84, 4) + SourceIndex(0) 3 >Emitted(78, 5) Source(84, 5) + SourceIndex(0) @@ -2308,39 +2234,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(78, 59) Source(84, 94) + SourceIndex(0) 12>Emitted(78, 61) Source(84, 78) + SourceIndex(0) 13>Emitted(78, 66) Source(84, 94) + SourceIndex(0) -14>Emitted(78, 67) Source(84, 95) + SourceIndex(0) --- >>> _14 = _13[_12], nameA = _14.name, _15 = _14.skills, primaryA = _15.primary, secondaryA = _15.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(79, 5) Source(84, 6) + SourceIndex(0) -2 >Emitted(79, 19) Source(84, 74) + SourceIndex(0) -3 >Emitted(79, 21) Source(84, 7) + SourceIndex(0) -4 >Emitted(79, 37) Source(84, 18) + SourceIndex(0) -5 >Emitted(79, 39) Source(84, 20) + SourceIndex(0) -6 >Emitted(79, 55) Source(84, 72) + SourceIndex(0) -7 >Emitted(79, 57) Source(84, 30) + SourceIndex(0) -8 >Emitted(79, 79) Source(84, 47) + SourceIndex(0) -9 >Emitted(79, 81) Source(84, 49) + SourceIndex(0) -10>Emitted(79, 107) Source(84, 70) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skills: { primary: primaryA, secondary: secondaryA } +5 > +6 > primary: primaryA +7 > , +8 > secondary: secondaryA +1->Emitted(79, 21) Source(84, 7) + SourceIndex(0) +2 >Emitted(79, 37) Source(84, 18) + SourceIndex(0) +3 >Emitted(79, 39) Source(84, 20) + SourceIndex(0) +4 >Emitted(79, 55) Source(84, 72) + SourceIndex(0) +5 >Emitted(79, 57) Source(84, 30) + SourceIndex(0) +6 >Emitted(79, 79) Source(84, 47) + SourceIndex(0) +7 >Emitted(79, 81) Source(84, 49) + SourceIndex(0) +8 >Emitted(79, 107) Source(84, 70) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2477,8 +2396,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^^^^-> +24> ^^^^^-> 1->, > 2 > { @@ -2505,7 +2423,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(83, 5) Source(88, 5) + SourceIndex(0) 2 >Emitted(83, 7) Source(88, 7) + SourceIndex(0) 3 >Emitted(83, 11) Source(88, 11) + SourceIndex(0) @@ -2529,39 +2446,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21>Emitted(83, 97) Source(88, 79) + SourceIndex(0) 22>Emitted(83, 99) Source(87, 78) + SourceIndex(0) 23>Emitted(83, 104) Source(88, 79) + SourceIndex(0) -24>Emitted(83, 105) Source(88, 80) + SourceIndex(0) --- >>> _18 = _17[_16], nameA = _18.name, _19 = _18.skills, primaryA = _19.primary, secondaryA = _19.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } -3 > -4 > name: nameA -5 > , -6 > skills: { primary: primaryA, secondary: secondaryA } -7 > -8 > primary: primaryA -9 > , -10> secondary: secondaryA -1->Emitted(84, 5) Source(87, 6) + SourceIndex(0) -2 >Emitted(84, 19) Source(87, 74) + SourceIndex(0) -3 >Emitted(84, 21) Source(87, 7) + SourceIndex(0) -4 >Emitted(84, 37) Source(87, 18) + SourceIndex(0) -5 >Emitted(84, 39) Source(87, 20) + SourceIndex(0) -6 >Emitted(84, 55) Source(87, 72) + SourceIndex(0) -7 >Emitted(84, 57) Source(87, 30) + SourceIndex(0) -8 >Emitted(84, 79) Source(87, 47) + SourceIndex(0) -9 >Emitted(84, 81) Source(87, 49) + SourceIndex(0) -10>Emitted(84, 107) Source(87, 70) + SourceIndex(0) +2 > name: nameA +3 > , +4 > skills: { primary: primaryA, secondary: secondaryA } +5 > +6 > primary: primaryA +7 > , +8 > secondary: secondaryA +1->Emitted(84, 21) Source(87, 7) + SourceIndex(0) +2 >Emitted(84, 37) Source(87, 18) + SourceIndex(0) +3 >Emitted(84, 39) Source(87, 20) + SourceIndex(0) +4 >Emitted(84, 55) Source(87, 72) + SourceIndex(0) +5 >Emitted(84, 57) Source(87, 30) + SourceIndex(0) +6 >Emitted(84, 79) Source(87, 47) + SourceIndex(0) +7 >Emitted(84, 81) Source(87, 49) + SourceIndex(0) +8 >Emitted(84, 107) Source(87, 70) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2610,7 +2520,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ 1-> > 2 >for @@ -2623,7 +2532,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > robots 10> 11> robots -12> ) 1->Emitted(87, 1) Source(91, 1) + SourceIndex(0) 2 >Emitted(87, 4) Source(91, 4) + SourceIndex(0) 3 >Emitted(87, 5) Source(91, 5) + SourceIndex(0) @@ -2635,27 +2543,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(87, 59) Source(91, 30) + SourceIndex(0) 10>Emitted(87, 61) Source(91, 24) + SourceIndex(0) 11>Emitted(87, 66) Source(91, 30) + SourceIndex(0) -12>Emitted(87, 67) Source(91, 31) + SourceIndex(0) --- >>> _21 = robots_4[_20], name = _21.name, skill = _21.skill; -1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name, skill } -3 > -4 > name -5 > , -6 > skill -1 >Emitted(88, 5) Source(91, 6) + SourceIndex(0) -2 >Emitted(88, 24) Source(91, 20) + SourceIndex(0) -3 >Emitted(88, 26) Source(91, 7) + SourceIndex(0) -4 >Emitted(88, 41) Source(91, 11) + SourceIndex(0) -5 >Emitted(88, 43) Source(91, 13) + SourceIndex(0) -6 >Emitted(88, 60) Source(91, 18) + SourceIndex(0) +2 > name +3 > , +4 > skill +1 >Emitted(88, 26) Source(91, 7) + SourceIndex(0) +2 >Emitted(88, 41) Source(91, 11) + SourceIndex(0) +3 >Emitted(88, 43) Source(91, 13) + SourceIndex(0) +4 >Emitted(88, 60) Source(91, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2705,7 +2606,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ 1-> > 2 >for @@ -2720,7 +2620,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(91, 1) Source(94, 1) + SourceIndex(0) 2 >Emitted(91, 4) Source(94, 4) + SourceIndex(0) 3 >Emitted(91, 5) Source(94, 5) + SourceIndex(0) @@ -2734,27 +2633,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(91, 54) Source(94, 35) + SourceIndex(0) 12>Emitted(91, 56) Source(94, 24) + SourceIndex(0) 13>Emitted(91, 61) Source(94, 35) + SourceIndex(0) -14>Emitted(91, 62) Source(94, 36) + SourceIndex(0) --- >>> _24 = _23[_22], name = _24.name, skill = _24.skill; -1 >^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name, skill } -3 > -4 > name -5 > , -6 > skill -1 >Emitted(92, 5) Source(94, 6) + SourceIndex(0) -2 >Emitted(92, 19) Source(94, 20) + SourceIndex(0) -3 >Emitted(92, 21) Source(94, 7) + SourceIndex(0) -4 >Emitted(92, 36) Source(94, 11) + SourceIndex(0) -5 >Emitted(92, 38) Source(94, 13) + SourceIndex(0) -6 >Emitted(92, 55) Source(94, 18) + SourceIndex(0) +2 > name +3 > , +4 > skill +1 >Emitted(92, 21) Source(94, 7) + SourceIndex(0) +2 >Emitted(92, 36) Source(94, 11) + SourceIndex(0) +3 >Emitted(92, 38) Source(94, 13) + SourceIndex(0) +4 >Emitted(92, 55) Source(94, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2822,7 +2714,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> ^^^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^^ -32> ^ 1-> > 2 >for @@ -2855,7 +2746,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(95, 1) Source(97, 1) + SourceIndex(0) 2 >Emitted(95, 4) Source(97, 4) + SourceIndex(0) 3 >Emitted(95, 5) Source(97, 5) + SourceIndex(0) @@ -2887,27 +2777,20 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 29>Emitted(95, 119) Source(97, 100) + SourceIndex(0) 30>Emitted(95, 121) Source(97, 24) + SourceIndex(0) 31>Emitted(95, 126) Source(97, 100) + SourceIndex(0) -32>Emitted(95, 127) Source(97, 101) + SourceIndex(0) --- >>> _27 = _26[_25], name = _27.name, skill = _27.skill; -1 >^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^ 1 > -2 > {name, skill } -3 > -4 > name -5 > , -6 > skill -1 >Emitted(96, 5) Source(97, 6) + SourceIndex(0) -2 >Emitted(96, 19) Source(97, 20) + SourceIndex(0) -3 >Emitted(96, 21) Source(97, 7) + SourceIndex(0) -4 >Emitted(96, 36) Source(97, 11) + SourceIndex(0) -5 >Emitted(96, 38) Source(97, 13) + SourceIndex(0) -6 >Emitted(96, 55) Source(97, 18) + SourceIndex(0) +2 > name +3 > , +4 > skill +1 >Emitted(96, 21) Source(97, 7) + SourceIndex(0) +2 >Emitted(96, 36) Source(97, 11) + SourceIndex(0) +3 >Emitted(96, 38) Source(97, 13) + SourceIndex(0) +4 >Emitted(96, 55) Source(97, 18) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2955,8 +2838,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2969,7 +2851,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(99, 1) Source(100, 1) + SourceIndex(0) 2 >Emitted(99, 4) Source(100, 4) + SourceIndex(0) 3 >Emitted(99, 5) Source(100, 5) + SourceIndex(0) @@ -2981,39 +2862,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 9 >Emitted(99, 74) Source(100, 60) + SourceIndex(0) 10>Emitted(99, 76) Source(100, 49) + SourceIndex(0) 11>Emitted(99, 81) Source(100, 60) + SourceIndex(0) -12>Emitted(99, 82) Source(100, 61) + SourceIndex(0) --- >>> _29 = multiRobots_4[_28], name = _29.name, _30 = _29.skills, primary = _30.primary, secondary = _30.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name, skills: { primary, secondary } } -3 > -4 > name -5 > , -6 > skills: { primary, secondary } -7 > -8 > primary -9 > , -10> secondary -1->Emitted(100, 5) Source(100, 6) + SourceIndex(0) -2 >Emitted(100, 29) Source(100, 45) + SourceIndex(0) -3 >Emitted(100, 31) Source(100, 7) + SourceIndex(0) -4 >Emitted(100, 46) Source(100, 11) + SourceIndex(0) -5 >Emitted(100, 48) Source(100, 13) + SourceIndex(0) -6 >Emitted(100, 64) Source(100, 43) + SourceIndex(0) -7 >Emitted(100, 66) Source(100, 23) + SourceIndex(0) -8 >Emitted(100, 87) Source(100, 30) + SourceIndex(0) -9 >Emitted(100, 89) Source(100, 32) + SourceIndex(0) -10>Emitted(100, 114) Source(100, 41) + SourceIndex(0) +2 > name +3 > , +4 > skills: { primary, secondary } +5 > +6 > primary +7 > , +8 > secondary +1->Emitted(100, 31) Source(100, 7) + SourceIndex(0) +2 >Emitted(100, 46) Source(100, 11) + SourceIndex(0) +3 >Emitted(100, 48) Source(100, 13) + SourceIndex(0) +4 >Emitted(100, 64) Source(100, 43) + SourceIndex(0) +5 >Emitted(100, 66) Source(100, 23) + SourceIndex(0) +6 >Emitted(100, 87) Source(100, 30) + SourceIndex(0) +7 >Emitted(100, 89) Source(100, 32) + SourceIndex(0) +8 >Emitted(100, 114) Source(100, 41) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3063,8 +2937,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -3079,7 +2952,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(103, 1) Source(103, 1) + SourceIndex(0) 2 >Emitted(103, 4) Source(103, 4) + SourceIndex(0) 3 >Emitted(103, 5) Source(103, 5) + SourceIndex(0) @@ -3093,39 +2965,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 11>Emitted(103, 59) Source(103, 65) + SourceIndex(0) 12>Emitted(103, 61) Source(103, 49) + SourceIndex(0) 13>Emitted(103, 66) Source(103, 65) + SourceIndex(0) -14>Emitted(103, 67) Source(103, 66) + SourceIndex(0) --- >>> _33 = _32[_31], name = _33.name, _34 = _33.skills, primary = _34.primary, secondary = _34.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name, skills: { primary, secondary } } -3 > -4 > name -5 > , -6 > skills: { primary, secondary } -7 > -8 > primary -9 > , -10> secondary -1->Emitted(104, 5) Source(103, 6) + SourceIndex(0) -2 >Emitted(104, 19) Source(103, 45) + SourceIndex(0) -3 >Emitted(104, 21) Source(103, 7) + SourceIndex(0) -4 >Emitted(104, 36) Source(103, 11) + SourceIndex(0) -5 >Emitted(104, 38) Source(103, 13) + SourceIndex(0) -6 >Emitted(104, 54) Source(103, 43) + SourceIndex(0) -7 >Emitted(104, 56) Source(103, 23) + SourceIndex(0) -8 >Emitted(104, 77) Source(103, 30) + SourceIndex(0) -9 >Emitted(104, 79) Source(103, 32) + SourceIndex(0) -10>Emitted(104, 104) Source(103, 41) + SourceIndex(0) +2 > name +3 > , +4 > skills: { primary, secondary } +5 > +6 > primary +7 > , +8 > secondary +1->Emitted(104, 21) Source(103, 7) + SourceIndex(0) +2 >Emitted(104, 36) Source(103, 11) + SourceIndex(0) +3 >Emitted(104, 38) Source(103, 13) + SourceIndex(0) +4 >Emitted(104, 54) Source(103, 43) + SourceIndex(0) +5 >Emitted(104, 56) Source(103, 23) + SourceIndex(0) +6 >Emitted(104, 77) Source(103, 30) + SourceIndex(0) +7 >Emitted(104, 79) Source(103, 32) + SourceIndex(0) +8 >Emitted(104, 104) Source(103, 41) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3262,8 +3127,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^-> +24> ^^-> 1->, > 2 > { @@ -3290,7 +3154,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(108, 5) Source(107, 5) + SourceIndex(0) 2 >Emitted(108, 7) Source(107, 7) + SourceIndex(0) 3 >Emitted(108, 11) Source(107, 11) + SourceIndex(0) @@ -3314,39 +3177,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPattern2.ts 21>Emitted(108, 97) Source(107, 79) + SourceIndex(0) 22>Emitted(108, 99) Source(106, 49) + SourceIndex(0) 23>Emitted(108, 104) Source(107, 79) + SourceIndex(0) -24>Emitted(108, 105) Source(107, 80) + SourceIndex(0) --- >>> _37 = _36[_35], name = _37.name, _38 = _37.skills, primary = _38.primary, secondary = _38.secondary; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name, skills: { primary, secondary } } -3 > -4 > name -5 > , -6 > skills: { primary, secondary } -7 > -8 > primary -9 > , -10> secondary -1->Emitted(109, 5) Source(106, 6) + SourceIndex(0) -2 >Emitted(109, 19) Source(106, 45) + SourceIndex(0) -3 >Emitted(109, 21) Source(106, 7) + SourceIndex(0) -4 >Emitted(109, 36) Source(106, 11) + SourceIndex(0) -5 >Emitted(109, 38) Source(106, 13) + SourceIndex(0) -6 >Emitted(109, 54) Source(106, 43) + SourceIndex(0) -7 >Emitted(109, 56) Source(106, 23) + SourceIndex(0) -8 >Emitted(109, 77) Source(106, 30) + SourceIndex(0) -9 >Emitted(109, 79) Source(106, 32) + SourceIndex(0) -10>Emitted(109, 104) Source(106, 41) + SourceIndex(0) +2 > name +3 > , +4 > skills: { primary, secondary } +5 > +6 > primary +7 > , +8 > secondary +1->Emitted(109, 21) Source(106, 7) + SourceIndex(0) +2 >Emitted(109, 36) Source(106, 11) + SourceIndex(0) +3 >Emitted(109, 38) Source(106, 13) + SourceIndex(0) +4 >Emitted(109, 54) Source(106, 43) + SourceIndex(0) +5 >Emitted(109, 56) Source(106, 23) + SourceIndex(0) +6 >Emitted(109, 77) Source(106, 30) + SourceIndex(0) +7 >Emitted(109, 79) Source(106, 32) + SourceIndex(0) +8 >Emitted(109, 104) Source(106, 41) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types index 1f292542545..64680d66001 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types @@ -40,14 +40,14 @@ let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", sk >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >multiRobots : MultiRobot[] @@ -55,24 +55,24 @@ let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", s >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]; >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" function getRobots() { >getRobots : () => Robot[] @@ -135,14 +135,14 @@ for ({name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -197,24 +197,24 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "mower >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -254,14 +254,14 @@ for ({name } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: " >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -310,24 +310,24 @@ for ({ skills: { primary, secondary } } of [{ name: "mower", skills: { primary: >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -378,14 +378,14 @@ for ({name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { nam >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -446,24 +446,24 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of [{ >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void @@ -506,14 +506,14 @@ for ({name, skill } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -565,24 +565,24 @@ for ({name, skills: { primary, secondary } } of [{ name: "mower", skills: { prim >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js.map index 89313ae9027..87f1e878b55 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAkC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnC,0BAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAxC,oBAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAAzG,oBAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CACkD,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IADvD,iCACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAEnF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CACkD,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IAD5D,sBACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAEnF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAEA,UAC0E,EAD1E,KAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAClF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD1E,cAC0E,EAD1E,IAC0E,CAAC;IAHpE,sBACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAInF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAA6D,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnE,qBAAwD,EAAnD,YAAsB,EAAtB,qCAAsB,EAAE,aAAyB,EAAzB,uCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8D,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAzE,eAAyD,EAApD,YAAsB,EAAtB,qCAAsB,EAAE,aAAyB,EAAzB,uCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8D,UAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,eAA4E,EAA5E,IAA4E,CAAC;IAA1I,iBAAyD,EAApD,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IANZ,4BAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IANjB,kBAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,MAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE,CAAC;IAP1E,kBAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAIvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,GAAG,CAAC,CAAkC,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAlC,IAAA,sBAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAvC,IAAA,gBAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAkC,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAAxG,IAAA,gBAAsB,EAAtB,qCAAsB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CACkD,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IADtD,IAAA,6BACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAEnF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CACkD,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAD3D,IAAA,kBACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAEnF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAEA,UAC0E,EAD1E,KAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAClF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD1E,cAC0E,EAD1E,IAC0E;IAHnE,IAAA,kBACqC,EADrC,sEACqC,EAD3B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAInF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAA6D,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAA9D,IAAA,iBAAoD,EAAnD,YAAsB,EAAtB,qCAAsB,EAAE,aAAyB,EAAzB,uCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8D,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAApE,IAAA,WAAqD,EAApD,YAAsB,EAAtB,qCAAsB,EAAE,aAAyB,EAAzB,uCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8D,UAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,eAA4E,EAA5E,IAA4E;IAArI,IAAA,aAAqD,EAApD,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;IANP,IAAA,wBAMR,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IANZ,IAAA,cAMR,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,MAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE;IAPrE,IAAA,cAMR,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAIvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.sourcemap.txt index e63344455ae..2b43f2fc360 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.sourcemap.txt @@ -320,8 +320,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^-> +12> ^^^^^^^^^-> 1-> > > @@ -335,7 +334,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(10, 1) Source(29, 1) + SourceIndex(0) 2 >Emitted(10, 4) Source(29, 4) + SourceIndex(0) 3 >Emitted(10, 5) Source(29, 5) + SourceIndex(0) @@ -347,21 +345,23 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(10, 57) Source(29, 45) + SourceIndex(0) 10>Emitted(10, 59) Source(29, 39) + SourceIndex(0) 11>Emitted(10, 63) Source(29, 45) + SourceIndex(0) -12>Emitted(10, 64) Source(29, 46) + SourceIndex(0) --- >>> var _a = robots_1[_i].name, nameA = _a === void 0 ? "noName" : _a; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > name: nameA = "noName" -3 > -4 > name: nameA = "noName" +2 > +3 > name: nameA = "noName" +4 > +5 > name: nameA = "noName" 1->Emitted(11, 5) Source(29, 11) + SourceIndex(0) -2 >Emitted(11, 31) Source(29, 33) + SourceIndex(0) -3 >Emitted(11, 33) Source(29, 11) + SourceIndex(0) -4 >Emitted(11, 70) Source(29, 33) + SourceIndex(0) +2 >Emitted(11, 9) Source(29, 11) + SourceIndex(0) +3 >Emitted(11, 31) Source(29, 33) + SourceIndex(0) +4 >Emitted(11, 33) Source(29, 11) + SourceIndex(0) +5 >Emitted(11, 70) Source(29, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -411,8 +411,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^-> +14> ^^^^^^^^^^-> 1-> > 2 >for @@ -427,7 +426,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(14, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(14, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(14, 5) Source(32, 5) + SourceIndex(0) @@ -441,21 +439,23 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(14, 50) Source(32, 50) + SourceIndex(0) 12>Emitted(14, 52) Source(32, 39) + SourceIndex(0) 13>Emitted(14, 56) Source(32, 50) + SourceIndex(0) -14>Emitted(14, 57) Source(32, 51) + SourceIndex(0) --- >>> var _d = _c[_b].name, nameA = _d === void 0 ? "noName" : _d; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > name: nameA = "noName" -3 > -4 > name: nameA = "noName" +2 > +3 > name: nameA = "noName" +4 > +5 > name: nameA = "noName" 1->Emitted(15, 5) Source(32, 11) + SourceIndex(0) -2 >Emitted(15, 25) Source(32, 33) + SourceIndex(0) -3 >Emitted(15, 27) Source(32, 11) + SourceIndex(0) -4 >Emitted(15, 64) Source(32, 33) + SourceIndex(0) +2 >Emitted(15, 9) Source(32, 11) + SourceIndex(0) +3 >Emitted(15, 25) Source(32, 33) + SourceIndex(0) +4 >Emitted(15, 27) Source(32, 11) + SourceIndex(0) +5 >Emitted(15, 64) Source(32, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -523,7 +523,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -556,7 +555,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(18, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(18, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(18, 5) Source(35, 5) + SourceIndex(0) @@ -588,21 +586,23 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(18, 115) Source(35, 115) + SourceIndex(0) 30>Emitted(18, 117) Source(35, 39) + SourceIndex(0) 31>Emitted(18, 121) Source(35, 115) + SourceIndex(0) -32>Emitted(18, 122) Source(35, 116) + SourceIndex(0) --- >>> var _g = _f[_e].name, nameA = _g === void 0 ? "noName" : _g; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > -2 > name: nameA = "noName" -3 > -4 > name: nameA = "noName" +2 > +3 > name: nameA = "noName" +4 > +5 > name: nameA = "noName" 1 >Emitted(19, 5) Source(35, 11) + SourceIndex(0) -2 >Emitted(19, 25) Source(35, 33) + SourceIndex(0) -3 >Emitted(19, 27) Source(35, 11) + SourceIndex(0) -4 >Emitted(19, 64) Source(35, 33) + SourceIndex(0) +2 >Emitted(19, 9) Source(35, 11) + SourceIndex(0) +3 >Emitted(19, 25) Source(35, 33) + SourceIndex(0) +4 >Emitted(19, 27) Source(35, 11) + SourceIndex(0) +5 >Emitted(19, 64) Source(35, 33) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -650,8 +650,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -665,7 +664,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(22, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(22, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(22, 5) Source(38, 5) + SourceIndex(0) @@ -677,47 +675,49 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(22, 72) Source(39, 66) + SourceIndex(0) 10>Emitted(22, 74) Source(39, 55) + SourceIndex(0) 11>Emitted(22, 78) Source(39, 66) + SourceIndex(0) -12>Emitted(22, 79) Source(39, 67) + SourceIndex(0) --- >>> var _j = multiRobots_1[_h].skills, _k = _j === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _j, _l = _k.primary, primaryA = _l === void 0 ? "primary" : _l, _m = _k.secondary, secondaryA = _m === void 0 ? "secondary" : _m; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = - > { primary: "nosKill", secondary: "noSkill" } -3 > -4 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = +2 > +3 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = + > { primary: "nosKill", secondary: "noSkill" } +4 > +5 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = > { primary: "nosKill", secondary: "noSkill" } -5 > -6 > primary: primaryA = "primary" -7 > -8 > primary: primaryA = "primary" -9 > , -10> secondary: secondaryA = "secondary" -11> -12> secondary: secondaryA = "secondary" +6 > +7 > primary: primaryA = "primary" +8 > +9 > primary: primaryA = "primary" +10> , +11> secondary: secondaryA = "secondary" +12> +13> secondary: secondaryA = "secondary" 1->Emitted(23, 5) Source(38, 12) + SourceIndex(0) -2 >Emitted(23, 38) Source(39, 49) + SourceIndex(0) -3 >Emitted(23, 40) Source(38, 12) + SourceIndex(0) -4 >Emitted(23, 110) Source(39, 49) + SourceIndex(0) -5 >Emitted(23, 112) Source(38, 22) + SourceIndex(0) -6 >Emitted(23, 127) Source(38, 51) + SourceIndex(0) -7 >Emitted(23, 129) Source(38, 22) + SourceIndex(0) -8 >Emitted(23, 170) Source(38, 51) + SourceIndex(0) -9 >Emitted(23, 172) Source(38, 53) + SourceIndex(0) -10>Emitted(23, 189) Source(38, 88) + SourceIndex(0) -11>Emitted(23, 191) Source(38, 53) + SourceIndex(0) -12>Emitted(23, 236) Source(38, 88) + SourceIndex(0) +2 >Emitted(23, 9) Source(38, 12) + SourceIndex(0) +3 >Emitted(23, 38) Source(39, 49) + SourceIndex(0) +4 >Emitted(23, 40) Source(38, 12) + SourceIndex(0) +5 >Emitted(23, 110) Source(39, 49) + SourceIndex(0) +6 >Emitted(23, 112) Source(38, 22) + SourceIndex(0) +7 >Emitted(23, 127) Source(38, 51) + SourceIndex(0) +8 >Emitted(23, 129) Source(38, 22) + SourceIndex(0) +9 >Emitted(23, 170) Source(38, 51) + SourceIndex(0) +10>Emitted(23, 172) Source(38, 53) + SourceIndex(0) +11>Emitted(23, 189) Source(38, 88) + SourceIndex(0) +12>Emitted(23, 191) Source(38, 53) + SourceIndex(0) +13>Emitted(23, 236) Source(38, 88) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -768,8 +768,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -785,7 +784,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(26, 1) Source(42, 1) + SourceIndex(0) 2 >Emitted(26, 4) Source(42, 4) + SourceIndex(0) 3 >Emitted(26, 5) Source(42, 5) + SourceIndex(0) @@ -799,47 +797,49 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(26, 55) Source(43, 71) + SourceIndex(0) 12>Emitted(26, 57) Source(43, 55) + SourceIndex(0) 13>Emitted(26, 61) Source(43, 71) + SourceIndex(0) -14>Emitted(26, 62) Source(43, 72) + SourceIndex(0) --- >>> var _q = _p[_o].skills, _r = _q === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _q, _s = _r.primary, primaryA = _s === void 0 ? "primary" : _s, _t = _r.secondary, secondaryA = _t === void 0 ? "secondary" : _t; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = - > { primary: "nosKill", secondary: "noSkill" } -3 > -4 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = +2 > +3 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = + > { primary: "nosKill", secondary: "noSkill" } +4 > +5 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = > { primary: "nosKill", secondary: "noSkill" } -5 > -6 > primary: primaryA = "primary" -7 > -8 > primary: primaryA = "primary" -9 > , -10> secondary: secondaryA = "secondary" -11> -12> secondary: secondaryA = "secondary" +6 > +7 > primary: primaryA = "primary" +8 > +9 > primary: primaryA = "primary" +10> , +11> secondary: secondaryA = "secondary" +12> +13> secondary: secondaryA = "secondary" 1->Emitted(27, 5) Source(42, 12) + SourceIndex(0) -2 >Emitted(27, 27) Source(43, 49) + SourceIndex(0) -3 >Emitted(27, 29) Source(42, 12) + SourceIndex(0) -4 >Emitted(27, 99) Source(43, 49) + SourceIndex(0) -5 >Emitted(27, 101) Source(42, 22) + SourceIndex(0) -6 >Emitted(27, 116) Source(42, 51) + SourceIndex(0) -7 >Emitted(27, 118) Source(42, 22) + SourceIndex(0) -8 >Emitted(27, 159) Source(42, 51) + SourceIndex(0) -9 >Emitted(27, 161) Source(42, 53) + SourceIndex(0) -10>Emitted(27, 178) Source(42, 88) + SourceIndex(0) -11>Emitted(27, 180) Source(42, 53) + SourceIndex(0) -12>Emitted(27, 225) Source(42, 88) + SourceIndex(0) +2 >Emitted(27, 9) Source(42, 12) + SourceIndex(0) +3 >Emitted(27, 27) Source(43, 49) + SourceIndex(0) +4 >Emitted(27, 29) Source(42, 12) + SourceIndex(0) +5 >Emitted(27, 99) Source(43, 49) + SourceIndex(0) +6 >Emitted(27, 101) Source(42, 22) + SourceIndex(0) +7 >Emitted(27, 116) Source(42, 51) + SourceIndex(0) +8 >Emitted(27, 118) Source(42, 22) + SourceIndex(0) +9 >Emitted(27, 159) Source(42, 51) + SourceIndex(0) +10>Emitted(27, 161) Source(42, 53) + SourceIndex(0) +11>Emitted(27, 178) Source(42, 88) + SourceIndex(0) +12>Emitted(27, 180) Source(42, 53) + SourceIndex(0) +13>Emitted(27, 225) Source(42, 88) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -982,8 +982,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -1010,7 +1009,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(31, 5) Source(49, 5) + SourceIndex(0) 2 >Emitted(31, 7) Source(49, 7) + SourceIndex(0) 3 >Emitted(31, 11) Source(49, 11) + SourceIndex(0) @@ -1034,47 +1032,49 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(31, 95) Source(49, 79) + SourceIndex(0) 22>Emitted(31, 97) Source(48, 5) + SourceIndex(0) 23>Emitted(31, 101) Source(49, 79) + SourceIndex(0) -24>Emitted(31, 102) Source(49, 80) + SourceIndex(0) --- >>> var _w = _v[_u].skills, _x = _w === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _w, _y = _x.primary, primaryA = _y === void 0 ? "primary" : _y, _z = _x.secondary, secondaryA = _z === void 0 ? "secondary" : _z; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = - > { primary: "nosKill", secondary: "noSkill" } -3 > -4 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = +2 > +3 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = + > { primary: "nosKill", secondary: "noSkill" } +4 > +5 > skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } = > { primary: "nosKill", secondary: "noSkill" } -5 > -6 > primary: primaryA = "primary" -7 > -8 > primary: primaryA = "primary" -9 > , -10> secondary: secondaryA = "secondary" -11> -12> secondary: secondaryA = "secondary" +6 > +7 > primary: primaryA = "primary" +8 > +9 > primary: primaryA = "primary" +10> , +11> secondary: secondaryA = "secondary" +12> +13> secondary: secondaryA = "secondary" 1->Emitted(32, 5) Source(46, 12) + SourceIndex(0) -2 >Emitted(32, 27) Source(47, 49) + SourceIndex(0) -3 >Emitted(32, 29) Source(46, 12) + SourceIndex(0) -4 >Emitted(32, 99) Source(47, 49) + SourceIndex(0) -5 >Emitted(32, 101) Source(46, 22) + SourceIndex(0) -6 >Emitted(32, 116) Source(46, 51) + SourceIndex(0) -7 >Emitted(32, 118) Source(46, 22) + SourceIndex(0) -8 >Emitted(32, 159) Source(46, 51) + SourceIndex(0) -9 >Emitted(32, 161) Source(46, 53) + SourceIndex(0) -10>Emitted(32, 178) Source(46, 88) + SourceIndex(0) -11>Emitted(32, 180) Source(46, 53) + SourceIndex(0) -12>Emitted(32, 225) Source(46, 88) + SourceIndex(0) +2 >Emitted(32, 9) Source(46, 12) + SourceIndex(0) +3 >Emitted(32, 27) Source(47, 49) + SourceIndex(0) +4 >Emitted(32, 29) Source(46, 12) + SourceIndex(0) +5 >Emitted(32, 99) Source(47, 49) + SourceIndex(0) +6 >Emitted(32, 101) Source(46, 22) + SourceIndex(0) +7 >Emitted(32, 116) Source(46, 51) + SourceIndex(0) +8 >Emitted(32, 118) Source(46, 22) + SourceIndex(0) +9 >Emitted(32, 159) Source(46, 51) + SourceIndex(0) +10>Emitted(32, 161) Source(46, 53) + SourceIndex(0) +11>Emitted(32, 178) Source(46, 88) + SourceIndex(0) +12>Emitted(32, 180) Source(46, 53) + SourceIndex(0) +13>Emitted(32, 225) Source(46, 88) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -1125,8 +1125,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -1140,7 +1139,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(35, 1) Source(53, 1) + SourceIndex(0) 2 >Emitted(35, 4) Source(53, 4) + SourceIndex(0) 3 >Emitted(35, 5) Source(53, 5) + SourceIndex(0) @@ -1152,39 +1150,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(35, 57) Source(53, 72) + SourceIndex(0) 10>Emitted(35, 59) Source(53, 66) + SourceIndex(0) 11>Emitted(35, 63) Source(53, 72) + SourceIndex(0) -12>Emitted(35, 64) Source(53, 73) + SourceIndex(0) --- >>> var _1 = robots_2[_0], _2 = _1.name, nameA = _2 === void 0 ? "noName" : _2, _3 = _1.skill, skillA = _3 === void 0 ? "noSkill" : _3; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(36, 5) Source(53, 6) + SourceIndex(0) -2 >Emitted(36, 26) Source(53, 62) + SourceIndex(0) -3 >Emitted(36, 28) Source(53, 11) + SourceIndex(0) -4 >Emitted(36, 40) Source(53, 33) + SourceIndex(0) -5 >Emitted(36, 42) Source(53, 11) + SourceIndex(0) -6 >Emitted(36, 79) Source(53, 33) + SourceIndex(0) -7 >Emitted(36, 81) Source(53, 35) + SourceIndex(0) -8 >Emitted(36, 94) Source(53, 60) + SourceIndex(0) -9 >Emitted(36, 96) Source(53, 35) + SourceIndex(0) -10>Emitted(36, 135) Source(53, 60) + SourceIndex(0) +2 > +3 > {name: nameA = "noName", skill: skillA = "noSkill" } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , +9 > skill: skillA = "noSkill" +10> +11> skill: skillA = "noSkill" +1->Emitted(36, 5) Source(53, 10) + SourceIndex(0) +2 >Emitted(36, 9) Source(53, 10) + SourceIndex(0) +3 >Emitted(36, 26) Source(53, 62) + SourceIndex(0) +4 >Emitted(36, 28) Source(53, 11) + SourceIndex(0) +5 >Emitted(36, 40) Source(53, 33) + SourceIndex(0) +6 >Emitted(36, 42) Source(53, 11) + SourceIndex(0) +7 >Emitted(36, 79) Source(53, 33) + SourceIndex(0) +8 >Emitted(36, 81) Source(53, 35) + SourceIndex(0) +9 >Emitted(36, 94) Source(53, 60) + SourceIndex(0) +10>Emitted(36, 96) Source(53, 35) + SourceIndex(0) +11>Emitted(36, 135) Source(53, 60) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1234,8 +1234,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1250,7 +1249,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(39, 1) Source(56, 1) + SourceIndex(0) 2 >Emitted(39, 4) Source(56, 4) + SourceIndex(0) 3 >Emitted(39, 5) Source(56, 5) + SourceIndex(0) @@ -1264,39 +1262,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(39, 50) Source(56, 78) + SourceIndex(0) 12>Emitted(39, 52) Source(56, 67) + SourceIndex(0) 13>Emitted(39, 56) Source(56, 78) + SourceIndex(0) -14>Emitted(39, 57) Source(56, 79) + SourceIndex(0) --- >>> var _6 = _5[_4], _7 = _6.name, nameA = _7 === void 0 ? "noName" : _7, _8 = _6.skill, skillA = _8 === void 0 ? "noSkill" : _8; 1->^^^^ -2 > ^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(40, 5) Source(56, 6) + SourceIndex(0) -2 >Emitted(40, 20) Source(56, 63) + SourceIndex(0) -3 >Emitted(40, 22) Source(56, 11) + SourceIndex(0) -4 >Emitted(40, 34) Source(56, 33) + SourceIndex(0) -5 >Emitted(40, 36) Source(56, 11) + SourceIndex(0) -6 >Emitted(40, 73) Source(56, 33) + SourceIndex(0) -7 >Emitted(40, 75) Source(56, 35) + SourceIndex(0) -8 >Emitted(40, 88) Source(56, 60) + SourceIndex(0) -9 >Emitted(40, 90) Source(56, 35) + SourceIndex(0) -10>Emitted(40, 129) Source(56, 60) + SourceIndex(0) +2 > +3 > {name: nameA = "noName", skill: skillA = "noSkill" } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , +9 > skill: skillA = "noSkill" +10> +11> skill: skillA = "noSkill" +1->Emitted(40, 5) Source(56, 10) + SourceIndex(0) +2 >Emitted(40, 9) Source(56, 10) + SourceIndex(0) +3 >Emitted(40, 20) Source(56, 63) + SourceIndex(0) +4 >Emitted(40, 22) Source(56, 11) + SourceIndex(0) +5 >Emitted(40, 34) Source(56, 33) + SourceIndex(0) +6 >Emitted(40, 36) Source(56, 11) + SourceIndex(0) +7 >Emitted(40, 73) Source(56, 33) + SourceIndex(0) +8 >Emitted(40, 75) Source(56, 35) + SourceIndex(0) +9 >Emitted(40, 88) Source(56, 60) + SourceIndex(0) +10>Emitted(40, 90) Source(56, 35) + SourceIndex(0) +11>Emitted(40, 129) Source(56, 60) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1364,8 +1364,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ -33> ^^^^^^^^^^^^^^^^^-> +32> ^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1398,7 +1397,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(43, 1) Source(59, 1) + SourceIndex(0) 2 >Emitted(43, 4) Source(59, 4) + SourceIndex(0) 3 >Emitted(43, 5) Source(59, 5) + SourceIndex(0) @@ -1430,39 +1428,41 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(43, 117) Source(59, 143) + SourceIndex(0) 30>Emitted(43, 119) Source(59, 67) + SourceIndex(0) 31>Emitted(43, 123) Source(59, 143) + SourceIndex(0) -32>Emitted(43, 124) Source(59, 144) + SourceIndex(0) --- >>> var _11 = _10[_9], _12 = _11.name, nameA = _12 === void 0 ? "noName" : _12, _13 = _11.skill, skillA = _13 === void 0 ? "noSkill" : _13; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(44, 5) Source(59, 6) + SourceIndex(0) -2 >Emitted(44, 22) Source(59, 63) + SourceIndex(0) -3 >Emitted(44, 24) Source(59, 11) + SourceIndex(0) -4 >Emitted(44, 38) Source(59, 33) + SourceIndex(0) -5 >Emitted(44, 40) Source(59, 11) + SourceIndex(0) -6 >Emitted(44, 79) Source(59, 33) + SourceIndex(0) -7 >Emitted(44, 81) Source(59, 35) + SourceIndex(0) -8 >Emitted(44, 96) Source(59, 60) + SourceIndex(0) -9 >Emitted(44, 98) Source(59, 35) + SourceIndex(0) -10>Emitted(44, 139) Source(59, 60) + SourceIndex(0) +2 > +3 > {name: nameA = "noName", skill: skillA = "noSkill" } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , +9 > skill: skillA = "noSkill" +10> +11> skill: skillA = "noSkill" +1->Emitted(44, 5) Source(59, 10) + SourceIndex(0) +2 >Emitted(44, 9) Source(59, 10) + SourceIndex(0) +3 >Emitted(44, 22) Source(59, 63) + SourceIndex(0) +4 >Emitted(44, 24) Source(59, 11) + SourceIndex(0) +5 >Emitted(44, 38) Source(59, 33) + SourceIndex(0) +6 >Emitted(44, 40) Source(59, 11) + SourceIndex(0) +7 >Emitted(44, 79) Source(59, 33) + SourceIndex(0) +8 >Emitted(44, 81) Source(59, 35) + SourceIndex(0) +9 >Emitted(44, 96) Source(59, 60) + SourceIndex(0) +10>Emitted(44, 98) Source(59, 35) + SourceIndex(0) +11>Emitted(44, 139) Source(59, 60) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1510,8 +1510,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1530,7 +1529,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(47, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(47, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(47, 5) Source(62, 5) + SourceIndex(0) @@ -1542,77 +1540,79 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(47, 74) Source(68, 17) + SourceIndex(0) 10>Emitted(47, 76) Source(68, 6) + SourceIndex(0) 11>Emitted(47, 81) Source(68, 17) + SourceIndex(0) -12>Emitted(47, 82) Source(68, 18) + SourceIndex(0) --- >>> var _15 = multiRobots_2[_14], _16 = _15.name, nameA = _16 === void 0 ? "noName" : _16, _17 = _15.skills, _18 = _17 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _17, _19 = _18.primary, primaryA = _19 === void 0 ? "primary" : _19, _20 = _18.secondary, secondaryA = _20 === void 0 ? "secondary" : _20; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > +3 > { + > name: nameA = "noName", + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "noSkill", secondary: "noSkill" } + > } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , > -8 > skills: { +9 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +10> +11> skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +12> +13> primary: primaryA = "primary" +14> +15> primary: primaryA = "primary" +16> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(48, 5) Source(62, 6) + SourceIndex(0) -2 >Emitted(48, 33) Source(68, 2) + SourceIndex(0) -3 >Emitted(48, 35) Source(63, 5) + SourceIndex(0) -4 >Emitted(48, 49) Source(63, 27) + SourceIndex(0) -5 >Emitted(48, 51) Source(63, 5) + SourceIndex(0) -6 >Emitted(48, 90) Source(63, 27) + SourceIndex(0) -7 >Emitted(48, 92) Source(64, 5) + SourceIndex(0) -8 >Emitted(48, 108) Source(67, 53) + SourceIndex(0) -9 >Emitted(48, 110) Source(64, 5) + SourceIndex(0) -10>Emitted(48, 183) Source(67, 53) + SourceIndex(0) -11>Emitted(48, 185) Source(65, 9) + SourceIndex(0) -12>Emitted(48, 202) Source(65, 38) + SourceIndex(0) -13>Emitted(48, 204) Source(65, 9) + SourceIndex(0) -14>Emitted(48, 247) Source(65, 38) + SourceIndex(0) -15>Emitted(48, 249) Source(66, 9) + SourceIndex(0) -16>Emitted(48, 268) Source(66, 44) + SourceIndex(0) -17>Emitted(48, 270) Source(66, 9) + SourceIndex(0) -18>Emitted(48, 317) Source(66, 44) + SourceIndex(0) +17> secondary: secondaryA = "secondary" +18> +19> secondary: secondaryA = "secondary" +1->Emitted(48, 5) Source(62, 10) + SourceIndex(0) +2 >Emitted(48, 9) Source(62, 10) + SourceIndex(0) +3 >Emitted(48, 33) Source(68, 2) + SourceIndex(0) +4 >Emitted(48, 35) Source(63, 5) + SourceIndex(0) +5 >Emitted(48, 49) Source(63, 27) + SourceIndex(0) +6 >Emitted(48, 51) Source(63, 5) + SourceIndex(0) +7 >Emitted(48, 90) Source(63, 27) + SourceIndex(0) +8 >Emitted(48, 92) Source(64, 5) + SourceIndex(0) +9 >Emitted(48, 108) Source(67, 53) + SourceIndex(0) +10>Emitted(48, 110) Source(64, 5) + SourceIndex(0) +11>Emitted(48, 183) Source(67, 53) + SourceIndex(0) +12>Emitted(48, 185) Source(65, 9) + SourceIndex(0) +13>Emitted(48, 202) Source(65, 38) + SourceIndex(0) +14>Emitted(48, 204) Source(65, 9) + SourceIndex(0) +15>Emitted(48, 247) Source(65, 38) + SourceIndex(0) +16>Emitted(48, 249) Source(66, 9) + SourceIndex(0) +17>Emitted(48, 268) Source(66, 44) + SourceIndex(0) +18>Emitted(48, 270) Source(66, 9) + SourceIndex(0) +19>Emitted(48, 317) Source(66, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1664,8 +1664,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1686,7 +1685,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(51, 1) Source(71, 1) + SourceIndex(0) 2 >Emitted(51, 4) Source(71, 4) + SourceIndex(0) 3 >Emitted(51, 5) Source(71, 5) + SourceIndex(0) @@ -1700,77 +1698,79 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(51, 59) Source(77, 22) + SourceIndex(0) 12>Emitted(51, 61) Source(77, 6) + SourceIndex(0) 13>Emitted(51, 66) Source(77, 22) + SourceIndex(0) -14>Emitted(51, 67) Source(77, 23) + SourceIndex(0) --- >>> var _23 = _22[_21], _24 = _23.name, nameA = _24 === void 0 ? "noName" : _24, _25 = _23.skills, _26 = _25 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _25, _27 = _26.primary, primaryA = _27 === void 0 ? "primary" : _27, _28 = _26.secondary, secondaryA = _28 === void 0 ? "secondary" : _28; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > +3 > { + > name: nameA = "noName", + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "noSkill", secondary: "noSkill" } + > } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , > -8 > skills: { +9 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +10> +11> skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +12> +13> primary: primaryA = "primary" +14> +15> primary: primaryA = "primary" +16> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(52, 5) Source(71, 6) + SourceIndex(0) -2 >Emitted(52, 23) Source(77, 2) + SourceIndex(0) -3 >Emitted(52, 25) Source(72, 5) + SourceIndex(0) -4 >Emitted(52, 39) Source(72, 27) + SourceIndex(0) -5 >Emitted(52, 41) Source(72, 5) + SourceIndex(0) -6 >Emitted(52, 80) Source(72, 27) + SourceIndex(0) -7 >Emitted(52, 82) Source(73, 5) + SourceIndex(0) -8 >Emitted(52, 98) Source(76, 53) + SourceIndex(0) -9 >Emitted(52, 100) Source(73, 5) + SourceIndex(0) -10>Emitted(52, 173) Source(76, 53) + SourceIndex(0) -11>Emitted(52, 175) Source(74, 9) + SourceIndex(0) -12>Emitted(52, 192) Source(74, 38) + SourceIndex(0) -13>Emitted(52, 194) Source(74, 9) + SourceIndex(0) -14>Emitted(52, 237) Source(74, 38) + SourceIndex(0) -15>Emitted(52, 239) Source(75, 9) + SourceIndex(0) -16>Emitted(52, 258) Source(75, 44) + SourceIndex(0) -17>Emitted(52, 260) Source(75, 9) + SourceIndex(0) -18>Emitted(52, 307) Source(75, 44) + SourceIndex(0) +17> secondary: secondaryA = "secondary" +18> +19> secondary: secondaryA = "secondary" +1->Emitted(52, 5) Source(71, 10) + SourceIndex(0) +2 >Emitted(52, 9) Source(71, 10) + SourceIndex(0) +3 >Emitted(52, 23) Source(77, 2) + SourceIndex(0) +4 >Emitted(52, 25) Source(72, 5) + SourceIndex(0) +5 >Emitted(52, 39) Source(72, 27) + SourceIndex(0) +6 >Emitted(52, 41) Source(72, 5) + SourceIndex(0) +7 >Emitted(52, 80) Source(72, 27) + SourceIndex(0) +8 >Emitted(52, 82) Source(73, 5) + SourceIndex(0) +9 >Emitted(52, 98) Source(76, 53) + SourceIndex(0) +10>Emitted(52, 100) Source(73, 5) + SourceIndex(0) +11>Emitted(52, 173) Source(76, 53) + SourceIndex(0) +12>Emitted(52, 175) Source(74, 9) + SourceIndex(0) +13>Emitted(52, 192) Source(74, 38) + SourceIndex(0) +14>Emitted(52, 194) Source(74, 9) + SourceIndex(0) +15>Emitted(52, 237) Source(74, 38) + SourceIndex(0) +16>Emitted(52, 239) Source(75, 9) + SourceIndex(0) +17>Emitted(52, 258) Source(75, 44) + SourceIndex(0) +18>Emitted(52, 260) Source(75, 9) + SourceIndex(0) +19>Emitted(52, 307) Source(75, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -1918,8 +1918,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -1946,7 +1945,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(56, 5) Source(87, 5) + SourceIndex(0) 2 >Emitted(56, 7) Source(87, 7) + SourceIndex(0) 3 >Emitted(56, 11) Source(87, 11) + SourceIndex(0) @@ -1970,77 +1968,79 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(56, 97) Source(87, 79) + SourceIndex(0) 22>Emitted(56, 99) Source(86, 6) + SourceIndex(0) 23>Emitted(56, 104) Source(87, 79) + SourceIndex(0) -24>Emitted(56, 105) Source(87, 80) + SourceIndex(0) --- >>> var _31 = _30[_29], _32 = _31.name, nameA = _32 === void 0 ? "noName" : _32, _33 = _31.skills, _34 = _33 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _33, _35 = _34.primary, primaryA = _35 === void 0 ? "primary" : _35, _36 = _34.secondary, secondaryA = _36 === void 0 ? "secondary" : _36; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > let { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > +3 > { + > name: nameA = "noName", + > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "noSkill", secondary: "noSkill" } + > } +4 > +5 > name: nameA = "noName" +6 > +7 > name: nameA = "noName" +8 > , > -8 > skills: { +9 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +10> +11> skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +12> +13> primary: primaryA = "primary" +14> +15> primary: primaryA = "primary" +16> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(57, 5) Source(80, 6) + SourceIndex(0) -2 >Emitted(57, 23) Source(86, 2) + SourceIndex(0) -3 >Emitted(57, 25) Source(81, 5) + SourceIndex(0) -4 >Emitted(57, 39) Source(81, 27) + SourceIndex(0) -5 >Emitted(57, 41) Source(81, 5) + SourceIndex(0) -6 >Emitted(57, 80) Source(81, 27) + SourceIndex(0) -7 >Emitted(57, 82) Source(82, 5) + SourceIndex(0) -8 >Emitted(57, 98) Source(85, 53) + SourceIndex(0) -9 >Emitted(57, 100) Source(82, 5) + SourceIndex(0) -10>Emitted(57, 173) Source(85, 53) + SourceIndex(0) -11>Emitted(57, 175) Source(83, 9) + SourceIndex(0) -12>Emitted(57, 192) Source(83, 38) + SourceIndex(0) -13>Emitted(57, 194) Source(83, 9) + SourceIndex(0) -14>Emitted(57, 237) Source(83, 38) + SourceIndex(0) -15>Emitted(57, 239) Source(84, 9) + SourceIndex(0) -16>Emitted(57, 258) Source(84, 44) + SourceIndex(0) -17>Emitted(57, 260) Source(84, 9) + SourceIndex(0) -18>Emitted(57, 307) Source(84, 44) + SourceIndex(0) +17> secondary: secondaryA = "secondary" +18> +19> secondary: secondaryA = "secondary" +1->Emitted(57, 5) Source(80, 10) + SourceIndex(0) +2 >Emitted(57, 9) Source(80, 10) + SourceIndex(0) +3 >Emitted(57, 23) Source(86, 2) + SourceIndex(0) +4 >Emitted(57, 25) Source(81, 5) + SourceIndex(0) +5 >Emitted(57, 39) Source(81, 27) + SourceIndex(0) +6 >Emitted(57, 41) Source(81, 5) + SourceIndex(0) +7 >Emitted(57, 80) Source(81, 27) + SourceIndex(0) +8 >Emitted(57, 82) Source(82, 5) + SourceIndex(0) +9 >Emitted(57, 98) Source(85, 53) + SourceIndex(0) +10>Emitted(57, 100) Source(82, 5) + SourceIndex(0) +11>Emitted(57, 173) Source(85, 53) + SourceIndex(0) +12>Emitted(57, 175) Source(83, 9) + SourceIndex(0) +13>Emitted(57, 192) Source(83, 38) + SourceIndex(0) +14>Emitted(57, 194) Source(83, 9) + SourceIndex(0) +15>Emitted(57, 237) Source(83, 38) + SourceIndex(0) +16>Emitted(57, 239) Source(84, 9) + SourceIndex(0) +17>Emitted(57, 258) Source(84, 44) + SourceIndex(0) +18>Emitted(57, 260) Source(84, 9) + SourceIndex(0) +19>Emitted(57, 307) Source(84, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types index 36f67f946f0..d55ab46cbd2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types @@ -40,14 +40,14 @@ let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", sk >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >multiRobots : MultiRobot[] @@ -55,24 +55,24 @@ let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", s >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]; >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" function getRobots() { >getRobots : () => Robot[] @@ -91,7 +91,7 @@ function getMultiRobots() { for (let {name: nameA = "noName" } of robots) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >robots : Robot[] console.log(nameA); @@ -104,7 +104,7 @@ for (let {name: nameA = "noName" } of robots) { for (let {name: nameA = "noName" } of getRobots()) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >getRobots() : Robot[] >getRobots : () => Robot[] @@ -118,18 +118,18 @@ for (let {name: nameA = "noName" } of getRobots()) { for (let {name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -142,17 +142,17 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >skills : any >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of multiRobots) { >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" >multiRobots : MultiRobot[] console.log(primaryA); @@ -166,17 +166,17 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >skills : any >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of getMultiRobots()) { >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" >getMultiRobots() : MultiRobot[] >getMultiRobots : () => MultiRobot[] @@ -191,17 +191,17 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >skills : any >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : MultiRobot[] @@ -209,24 +209,24 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -239,10 +239,10 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec for (let {name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >robots : Robot[] console.log(nameA); @@ -255,10 +255,10 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of robots) { for (let {name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >getRobots() : Robot[] >getRobots : () => Robot[] @@ -272,21 +272,21 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { for (let {name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) { >name : any >nameA : string ->"noName" : string +>"noName" : "noName" >skill : any >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -299,7 +299,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -307,19 +307,19 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of multiRobots) { >multiRobots : MultiRobot[] @@ -335,7 +335,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -343,19 +343,19 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of getMultiRobots()) { >getMultiRobots() : MultiRobot[] @@ -372,7 +372,7 @@ for (let { name: nameA = "noName", >name : any >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : any @@ -380,19 +380,19 @@ for (let { primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : MultiRobot[] @@ -400,24 +400,24 @@ for (let { >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js.map index 0529919c803..645808f0709 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAA8B,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAAnC,sBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8B,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAxC,gBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8B,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAAzG,gBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CACkD,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAD3D,6BACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAE/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CACkD,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,CAAC;IADhE,kBACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAE/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAEA,UAC8E,EAD9E,KAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD9E,cAC8E,EAD9E,IAC8E,CAAC;IAH5E,kBACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAI/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAAwB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;IAA5B,sBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAwB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW,CAAC;IAAjC,gBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAwB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E,CAAC;IAAlG,gBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAKC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;IAJb,6BAGgD,EAHhD,uEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAKC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IAJlB,qBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAKC,WACyE,EADzE,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE,CAAC;IAL3E,qBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAI3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAGD,GAAG,CAAC,CAAyD,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAA/D,mBAAoD,EAAnD,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA0D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAArE,cAAqD,EAApD,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA0D,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E,CAAC;IAAtI,cAAqD,EAApD,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IANZ,wBAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IANjB,cAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,MAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE,CAAC;IAP1E,cAMJ,EALG,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAIvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA4C,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM,CAAC;IAAlD,mBAAuC,EAArC,cAAe,EAAf,sCAAe,EAAE,eAAkB,EAAlB,wCAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW,CAAC;IAAvD,cAAuC,EAArC,cAAe,EAAf,sCAAe,EAAE,eAAiB,EAAjB,wCAAiB;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E,CAAC;IAAxH,cAAuC,EAArC,cAAe,EAAf,sCAAe,EAAE,eAAkB,EAAlB,wCAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW,CAAC;IANZ,wBAMJ,EALG,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB,CAAC;IANjB,cAMJ,EALG,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE,CAAC;IAP1E,cAMJ,EALG,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAI3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAgBA,IAAI,MAAM,GAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnG,IAAI,WAAW,GAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE/E;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC;AAED,IAAI,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAE,CAAS,EAAE,MAAc,CAAC;AACnF,IAAI,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAa,CAAC;AAEpE,GAAG,CAAC,CAA8B,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAAlC,sBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8B,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAvC,gBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA8B,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAAxG,gBAAsB,EAAtB,qCAAsB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CACkD,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAD1D,6BACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAE/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CACkD,UAAgB,EAAhB,KAAA,cAAc,EAAE,EAAhB,cAAgB,EAAhB,IAAgB;IAD/D,kBACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAE/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAEA,UAC8E,EAD9E,KAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAD9E,cAC8E,EAD9E,IAC8E;IAH3E,kBACyC,EADzC,sEACyC,EAD/B,eAA6B,EAA7B,yCAA6B,EAAE,iBAAmC,EAAnC,6CAAmC;IAI/E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAED,GAAG,CAAC,CAAwB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;IAA3B,sBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAwB,UAAW,EAAX,KAAA,SAAS,EAAE,EAAX,cAAW,EAAX,IAAW;IAAhC,gBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAAwB,UAA4E,EAA5E,MAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;IAAjG,gBAAe,EAAf,oCAAe;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAKC,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;IAJZ,6BAGgD,EAHhD,uEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAKC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;IAJjB,qBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AACD,GAAG,CAAC,CAKC,WACyE,EADzE,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE;IAL1E,qBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAI3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;CACzB;AAGD,GAAG,CAAC,CAAyD,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAA7D,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA0D,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAAnE,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA0D,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E;oBAApI,cAAsB,EAAtB,uCAAsB,EAAE,eAAyB,EAAzB,yCAAyB;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;8BALZ,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBALjB,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAGvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,MAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE;oBAN1E,cAAsB,EAAtB,uCAAsB,EACtB,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAA6B,EAA7B,2CAA6B,EAC7B,mBAAmC,EAAnC,+CAAmC;IAIvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,GAAG,CAAC,CAA4C,WAAM,EAAN,iBAAM,EAAN,qBAAM,EAAN,KAAM;yBAA/C,cAAe,EAAf,sCAAe,EAAE,eAAkB,EAAlB,wCAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAAW,EAAX,MAAA,SAAS,EAAE,EAAX,gBAAW,EAAX,KAAW;oBAApD,cAAe,EAAf,sCAAe,EAAE,eAAiB,EAAjB,wCAAiB;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAA4C,WAA4E,EAA5E,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAA5E,gBAA4E,EAA5E,KAA4E;oBAArH,cAAe,EAAf,sCAAe,EAAE,eAAkB,EAAlB,wCAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAW,EAAX,2BAAW,EAAX,0BAAW,EAAX,KAAW;8BALZ,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WAAgB,EAAhB,MAAA,cAAc,EAAE,EAAhB,gBAAgB,EAAhB,KAAgB;oBALjB,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAG3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB;AACD,GAAG,CAAC,CAMC,WACyE,EADzE,OAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACrE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EADzE,gBACyE,EADzE,KACyE;oBAN1E,cAAe,EAAf,sCAAe,EACf,gBAGgD,EAHhD,yEAGgD,EAF5C,iBAAmB,EAAnB,0CAAmB,EACnB,mBAAuB,EAAvB,8CAAuB;IAI3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CACtB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.sourcemap.txt index f80a065e9ce..82d95b72094 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.sourcemap.txt @@ -394,8 +394,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^-> +12> ^^^^^-> 1-> > > @@ -409,7 +408,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(12, 1) Source(32, 1) + SourceIndex(0) 2 >Emitted(12, 4) Source(32, 4) + SourceIndex(0) 3 >Emitted(12, 5) Source(32, 5) + SourceIndex(0) @@ -421,7 +419,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(12, 57) Source(32, 41) + SourceIndex(0) 10>Emitted(12, 59) Source(32, 35) + SourceIndex(0) 11>Emitted(12, 63) Source(32, 41) + SourceIndex(0) -12>Emitted(12, 64) Source(32, 42) + SourceIndex(0) --- >>> _a = robots_1[_i].name, nameA = _a === void 0 ? "noName" : _a; 1->^^^^ @@ -485,8 +482,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^-> +14> ^^^^^^-> 1-> > 2 >for @@ -501,7 +497,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(16, 1) Source(35, 1) + SourceIndex(0) 2 >Emitted(16, 4) Source(35, 4) + SourceIndex(0) 3 >Emitted(16, 5) Source(35, 5) + SourceIndex(0) @@ -515,7 +510,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(16, 50) Source(35, 46) + SourceIndex(0) 12>Emitted(16, 52) Source(35, 35) + SourceIndex(0) 13>Emitted(16, 56) Source(35, 46) + SourceIndex(0) -14>Emitted(16, 57) Source(35, 47) + SourceIndex(0) --- >>> _d = _c[_b].name, nameA = _d === void 0 ? "noName" : _d; 1->^^^^ @@ -597,7 +591,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -630,7 +623,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(20, 1) Source(38, 1) + SourceIndex(0) 2 >Emitted(20, 4) Source(38, 4) + SourceIndex(0) 3 >Emitted(20, 5) Source(38, 5) + SourceIndex(0) @@ -662,7 +654,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(20, 115) Source(38, 111) + SourceIndex(0) 30>Emitted(20, 117) Source(38, 35) + SourceIndex(0) 31>Emitted(20, 121) Source(38, 111) + SourceIndex(0) -32>Emitted(20, 122) Source(38, 112) + SourceIndex(0) --- >>> _g = _f[_e].name, nameA = _g === void 0 ? "noName" : _g; 1 >^^^^ @@ -724,8 +715,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -739,7 +729,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(24, 1) Source(41, 1) + SourceIndex(0) 2 >Emitted(24, 4) Source(41, 4) + SourceIndex(0) 3 >Emitted(24, 5) Source(41, 5) + SourceIndex(0) @@ -751,7 +740,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(24, 72) Source(42, 66) + SourceIndex(0) 10>Emitted(24, 74) Source(42, 55) + SourceIndex(0) 11>Emitted(24, 78) Source(42, 66) + SourceIndex(0) -12>Emitted(24, 79) Source(42, 67) + SourceIndex(0) --- >>> _j = multiRobots_1[_h].skills, _k = _j === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _j, _l = _k.primary, primaryA = _l === void 0 ? "primary" : _l, _m = _k.secondary, secondaryA = _m === void 0 ? "secondary" : _m; 1->^^^^ @@ -842,8 +830,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -859,7 +846,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(28, 1) Source(45, 1) + SourceIndex(0) 2 >Emitted(28, 4) Source(45, 4) + SourceIndex(0) 3 >Emitted(28, 5) Source(45, 5) + SourceIndex(0) @@ -873,7 +859,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(28, 55) Source(46, 71) + SourceIndex(0) 12>Emitted(28, 57) Source(46, 55) + SourceIndex(0) 13>Emitted(28, 61) Source(46, 71) + SourceIndex(0) -14>Emitted(28, 62) Source(46, 72) + SourceIndex(0) --- >>> _q = _p[_o].skills, _r = _q === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _q, _s = _r.primary, primaryA = _s === void 0 ? "primary" : _s, _t = _r.secondary, secondaryA = _t === void 0 ? "secondary" : _t; 1->^^^^ @@ -1056,8 +1041,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -1084,7 +1068,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(33, 5) Source(52, 9) + SourceIndex(0) 2 >Emitted(33, 7) Source(52, 11) + SourceIndex(0) 3 >Emitted(33, 11) Source(52, 15) + SourceIndex(0) @@ -1108,7 +1091,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(33, 95) Source(52, 83) + SourceIndex(0) 22>Emitted(33, 97) Source(51, 5) + SourceIndex(0) 23>Emitted(33, 101) Source(52, 83) + SourceIndex(0) -24>Emitted(33, 102) Source(52, 84) + SourceIndex(0) --- >>> _w = _v[_u].skills, _x = _w === void 0 ? { primary: "nosKill", secondary: "noSkill" } : _w, _y = _x.primary, primaryA = _y === void 0 ? "primary" : _y, _z = _x.secondary, secondaryA = _z === void 0 ? "secondary" : _z; 1->^^^^ @@ -1199,8 +1181,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^-> +12> ^^^^-> 1-> > > @@ -1214,7 +1195,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(37, 1) Source(56, 1) + SourceIndex(0) 2 >Emitted(37, 4) Source(56, 4) + SourceIndex(0) 3 >Emitted(37, 5) Source(56, 5) + SourceIndex(0) @@ -1226,7 +1206,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(37, 57) Source(56, 35) + SourceIndex(0) 10>Emitted(37, 59) Source(56, 29) + SourceIndex(0) 11>Emitted(37, 63) Source(56, 35) + SourceIndex(0) -12>Emitted(37, 64) Source(56, 36) + SourceIndex(0) --- >>> _1 = robots_2[_0].name, name = _1 === void 0 ? "noName" : _1; 1->^^^^ @@ -1290,8 +1269,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^ -14> ^ -15> ^^^^-> +14> ^^^^^-> 1-> > 2 >for @@ -1306,7 +1284,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(41, 1) Source(59, 1) + SourceIndex(0) 2 >Emitted(41, 4) Source(59, 4) + SourceIndex(0) 3 >Emitted(41, 5) Source(59, 5) + SourceIndex(0) @@ -1320,7 +1297,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(41, 50) Source(59, 40) + SourceIndex(0) 12>Emitted(41, 52) Source(59, 29) + SourceIndex(0) 13>Emitted(41, 56) Source(59, 40) + SourceIndex(0) -14>Emitted(41, 57) Source(59, 41) + SourceIndex(0) --- >>> _4 = _3[_2].name, name = _4 === void 0 ? "noName" : _4; 1->^^^^ @@ -1402,7 +1378,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^ -32> ^ 1-> > 2 >for @@ -1435,7 +1410,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(45, 1) Source(62, 1) + SourceIndex(0) 2 >Emitted(45, 4) Source(62, 4) + SourceIndex(0) 3 >Emitted(45, 5) Source(62, 5) + SourceIndex(0) @@ -1467,7 +1441,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(45, 115) Source(62, 105) + SourceIndex(0) 30>Emitted(45, 117) Source(62, 29) + SourceIndex(0) 31>Emitted(45, 121) Source(62, 105) + SourceIndex(0) -32>Emitted(45, 122) Source(62, 106) + SourceIndex(0) --- >>> _7 = _6[_5].name, name = _7 === void 0 ? "noName" : _7; 1 >^^^^ @@ -1529,8 +1502,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1548,7 +1520,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(49, 1) Source(65, 1) + SourceIndex(0) 2 >Emitted(49, 4) Source(65, 4) + SourceIndex(0) 3 >Emitted(49, 5) Source(65, 5) + SourceIndex(0) @@ -1560,7 +1531,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(49, 72) Source(70, 17) + SourceIndex(0) 10>Emitted(49, 74) Source(70, 6) + SourceIndex(0) 11>Emitted(49, 78) Source(70, 17) + SourceIndex(0) -12>Emitted(49, 79) Source(70, 18) + SourceIndex(0) --- >>> _9 = multiRobots_2[_8].skills, _10 = _9 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _9, _11 = _10.primary, primary = _11 === void 0 ? "primary" : _11, _12 = _10.secondary, secondary = _12 === void 0 ? "secondary" : _12; 1->^^^^ @@ -1657,8 +1627,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -1678,7 +1647,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(53, 1) Source(73, 1) + SourceIndex(0) 2 >Emitted(53, 4) Source(73, 4) + SourceIndex(0) 3 >Emitted(53, 5) Source(73, 5) + SourceIndex(0) @@ -1692,7 +1660,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(53, 59) Source(78, 22) + SourceIndex(0) 12>Emitted(53, 61) Source(78, 6) + SourceIndex(0) 13>Emitted(53, 66) Source(78, 22) + SourceIndex(0) -14>Emitted(53, 67) Source(78, 23) + SourceIndex(0) --- >>> _15 = _14[_13].skills, _16 = _15 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _15, _17 = _16.primary, primary = _17 === void 0 ? "primary" : _17, _18 = _16.secondary, secondary = _18 === void 0 ? "secondary" : _18; 1->^^^^ @@ -1881,8 +1848,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -1909,7 +1875,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(58, 5) Source(87, 5) + SourceIndex(0) 2 >Emitted(58, 7) Source(87, 7) + SourceIndex(0) 3 >Emitted(58, 11) Source(87, 11) + SourceIndex(0) @@ -1933,7 +1898,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(58, 97) Source(87, 79) + SourceIndex(0) 22>Emitted(58, 99) Source(86, 6) + SourceIndex(0) 23>Emitted(58, 104) Source(87, 79) + SourceIndex(0) -24>Emitted(58, 105) Source(87, 80) + SourceIndex(0) --- >>> _21 = _20[_19].skills, _22 = _21 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _21, _23 = _22.primary, primary = _23 === void 0 ? "primary" : _23, _24 = _22.secondary, secondary = _24 === void 0 ? "secondary" : _24; 1->^^^^ @@ -2029,8 +1993,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -2045,7 +2008,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(62, 1) Source(92, 1) + SourceIndex(0) 2 >Emitted(62, 4) Source(92, 4) + SourceIndex(0) 3 >Emitted(62, 5) Source(92, 5) + SourceIndex(0) @@ -2057,39 +2019,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(62, 59) Source(92, 68) + SourceIndex(0) 10>Emitted(62, 61) Source(92, 62) + SourceIndex(0) 11>Emitted(62, 66) Source(92, 68) + SourceIndex(0) -12>Emitted(62, 67) Source(92, 69) + SourceIndex(0) --- >>> _26 = robots_3[_25], _27 = _26.name, nameA = _27 === void 0 ? "noName" : _27, _28 = _26.skill, skillA = _28 === void 0 ? "noSkill" : _28; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(63, 5) Source(92, 6) + SourceIndex(0) -2 >Emitted(63, 24) Source(92, 58) + SourceIndex(0) -3 >Emitted(63, 26) Source(92, 7) + SourceIndex(0) -4 >Emitted(63, 40) Source(92, 29) + SourceIndex(0) -5 >Emitted(63, 42) Source(92, 7) + SourceIndex(0) -6 >Emitted(63, 81) Source(92, 29) + SourceIndex(0) -7 >Emitted(63, 83) Source(92, 31) + SourceIndex(0) -8 >Emitted(63, 98) Source(92, 56) + SourceIndex(0) -9 >Emitted(63, 100) Source(92, 31) + SourceIndex(0) -10>Emitted(63, 141) Source(92, 56) + SourceIndex(0) +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , +6 > skill: skillA = "noSkill" +7 > +8 > skill: skillA = "noSkill" +1->Emitted(63, 26) Source(92, 7) + SourceIndex(0) +2 >Emitted(63, 40) Source(92, 29) + SourceIndex(0) +3 >Emitted(63, 42) Source(92, 7) + SourceIndex(0) +4 >Emitted(63, 81) Source(92, 29) + SourceIndex(0) +5 >Emitted(63, 83) Source(92, 31) + SourceIndex(0) +6 >Emitted(63, 98) Source(92, 56) + SourceIndex(0) +7 >Emitted(63, 100) Source(92, 31) + SourceIndex(0) +8 >Emitted(63, 141) Source(92, 56) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2139,8 +2094,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2155,7 +2109,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(66, 1) Source(95, 1) + SourceIndex(0) 2 >Emitted(66, 4) Source(95, 4) + SourceIndex(0) 3 >Emitted(66, 5) Source(95, 5) + SourceIndex(0) @@ -2169,39 +2122,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(66, 54) Source(95, 74) + SourceIndex(0) 12>Emitted(66, 56) Source(95, 63) + SourceIndex(0) 13>Emitted(66, 61) Source(95, 74) + SourceIndex(0) -14>Emitted(66, 62) Source(95, 75) + SourceIndex(0) --- >>> _31 = _30[_29], _32 = _31.name, nameA = _32 === void 0 ? "noName" : _32, _33 = _31.skill, skillA = _33 === void 0 ? "noSkill" : _33; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(67, 5) Source(95, 6) + SourceIndex(0) -2 >Emitted(67, 19) Source(95, 59) + SourceIndex(0) -3 >Emitted(67, 21) Source(95, 7) + SourceIndex(0) -4 >Emitted(67, 35) Source(95, 29) + SourceIndex(0) -5 >Emitted(67, 37) Source(95, 7) + SourceIndex(0) -6 >Emitted(67, 76) Source(95, 29) + SourceIndex(0) -7 >Emitted(67, 78) Source(95, 31) + SourceIndex(0) -8 >Emitted(67, 93) Source(95, 56) + SourceIndex(0) -9 >Emitted(67, 95) Source(95, 31) + SourceIndex(0) -10>Emitted(67, 136) Source(95, 56) + SourceIndex(0) +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , +6 > skill: skillA = "noSkill" +7 > +8 > skill: skillA = "noSkill" +1->Emitted(67, 21) Source(95, 7) + SourceIndex(0) +2 >Emitted(67, 35) Source(95, 29) + SourceIndex(0) +3 >Emitted(67, 37) Source(95, 7) + SourceIndex(0) +4 >Emitted(67, 76) Source(95, 29) + SourceIndex(0) +5 >Emitted(67, 78) Source(95, 31) + SourceIndex(0) +6 >Emitted(67, 93) Source(95, 56) + SourceIndex(0) +7 >Emitted(67, 95) Source(95, 31) + SourceIndex(0) +8 >Emitted(67, 136) Source(95, 56) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2269,8 +2215,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^^ -32> ^ -33> ^^^^^^^^^^^-> +32> ^^^^^^^^^^^^-> 1-> > 2 >for @@ -2303,7 +2248,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(70, 1) Source(98, 1) + SourceIndex(0) 2 >Emitted(70, 4) Source(98, 4) + SourceIndex(0) 3 >Emitted(70, 5) Source(98, 5) + SourceIndex(0) @@ -2335,39 +2279,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(70, 119) Source(98, 139) + SourceIndex(0) 30>Emitted(70, 121) Source(98, 63) + SourceIndex(0) 31>Emitted(70, 126) Source(98, 139) + SourceIndex(0) -32>Emitted(70, 127) Source(98, 140) + SourceIndex(0) --- >>> _36 = _35[_34], _37 = _36.name, nameA = _37 === void 0 ? "noName" : _37, _38 = _36.skill, skillA = _38 === void 0 ? "noSkill" : _38; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > {name: nameA = "noName", skill: skillA = "noSkill" } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , -8 > skill: skillA = "noSkill" -9 > -10> skill: skillA = "noSkill" -1->Emitted(71, 5) Source(98, 6) + SourceIndex(0) -2 >Emitted(71, 19) Source(98, 59) + SourceIndex(0) -3 >Emitted(71, 21) Source(98, 7) + SourceIndex(0) -4 >Emitted(71, 35) Source(98, 29) + SourceIndex(0) -5 >Emitted(71, 37) Source(98, 7) + SourceIndex(0) -6 >Emitted(71, 76) Source(98, 29) + SourceIndex(0) -7 >Emitted(71, 78) Source(98, 31) + SourceIndex(0) -8 >Emitted(71, 93) Source(98, 56) + SourceIndex(0) -9 >Emitted(71, 95) Source(98, 31) + SourceIndex(0) -10>Emitted(71, 136) Source(98, 56) + SourceIndex(0) +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , +6 > skill: skillA = "noSkill" +7 > +8 > skill: skillA = "noSkill" +1->Emitted(71, 21) Source(98, 7) + SourceIndex(0) +2 >Emitted(71, 35) Source(98, 29) + SourceIndex(0) +3 >Emitted(71, 37) Source(98, 7) + SourceIndex(0) +4 >Emitted(71, 76) Source(98, 29) + SourceIndex(0) +5 >Emitted(71, 78) Source(98, 31) + SourceIndex(0) +6 >Emitted(71, 93) Source(98, 56) + SourceIndex(0) +7 >Emitted(71, 95) Source(98, 31) + SourceIndex(0) +8 >Emitted(71, 136) Source(98, 56) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2415,8 +2352,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2435,7 +2371,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(74, 1) Source(101, 1) + SourceIndex(0) 2 >Emitted(74, 4) Source(101, 4) + SourceIndex(0) 3 >Emitted(74, 5) Source(101, 5) + SourceIndex(0) @@ -2447,77 +2382,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(74, 74) Source(107, 17) + SourceIndex(0) 10>Emitted(74, 76) Source(107, 6) + SourceIndex(0) 11>Emitted(74, 81) Source(107, 17) + SourceIndex(0) -12>Emitted(74, 82) Source(107, 18) + SourceIndex(0) --- >>> _40 = multiRobots_3[_39], _41 = _40.name, nameA = _41 === void 0 ? "noName" : _41, _42 = _40.skills, _43 = _42 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _42, _44 = _43.primary, primaryA = _44 === void 0 ? "primary" : _44, _45 = _43.secondary, secondaryA = _45 === void 0 ? "secondary" : _45; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(75, 5) Source(101, 6) + SourceIndex(0) -2 >Emitted(75, 29) Source(107, 2) + SourceIndex(0) -3 >Emitted(75, 31) Source(102, 5) + SourceIndex(0) -4 >Emitted(75, 45) Source(102, 27) + SourceIndex(0) -5 >Emitted(75, 47) Source(102, 5) + SourceIndex(0) -6 >Emitted(75, 86) Source(102, 27) + SourceIndex(0) -7 >Emitted(75, 88) Source(103, 5) + SourceIndex(0) -8 >Emitted(75, 104) Source(106, 53) + SourceIndex(0) -9 >Emitted(75, 106) Source(103, 5) + SourceIndex(0) -10>Emitted(75, 179) Source(106, 53) + SourceIndex(0) -11>Emitted(75, 181) Source(104, 9) + SourceIndex(0) -12>Emitted(75, 198) Source(104, 38) + SourceIndex(0) -13>Emitted(75, 200) Source(104, 9) + SourceIndex(0) -14>Emitted(75, 243) Source(104, 38) + SourceIndex(0) -15>Emitted(75, 245) Source(105, 9) + SourceIndex(0) -16>Emitted(75, 264) Source(105, 44) + SourceIndex(0) -17>Emitted(75, 266) Source(105, 9) + SourceIndex(0) -18>Emitted(75, 313) Source(105, 44) + SourceIndex(0) +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +1->Emitted(75, 31) Source(102, 5) + SourceIndex(0) +2 >Emitted(75, 45) Source(102, 27) + SourceIndex(0) +3 >Emitted(75, 47) Source(102, 5) + SourceIndex(0) +4 >Emitted(75, 86) Source(102, 27) + SourceIndex(0) +5 >Emitted(75, 88) Source(103, 5) + SourceIndex(0) +6 >Emitted(75, 104) Source(106, 53) + SourceIndex(0) +7 >Emitted(75, 106) Source(103, 5) + SourceIndex(0) +8 >Emitted(75, 179) Source(106, 53) + SourceIndex(0) +9 >Emitted(75, 181) Source(104, 9) + SourceIndex(0) +10>Emitted(75, 198) Source(104, 38) + SourceIndex(0) +11>Emitted(75, 200) Source(104, 9) + SourceIndex(0) +12>Emitted(75, 243) Source(104, 38) + SourceIndex(0) +13>Emitted(75, 245) Source(105, 9) + SourceIndex(0) +14>Emitted(75, 264) Source(105, 44) + SourceIndex(0) +15>Emitted(75, 266) Source(105, 9) + SourceIndex(0) +16>Emitted(75, 313) Source(105, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2569,8 +2491,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -2591,7 +2512,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(78, 1) Source(110, 1) + SourceIndex(0) 2 >Emitted(78, 4) Source(110, 4) + SourceIndex(0) 3 >Emitted(78, 5) Source(110, 5) + SourceIndex(0) @@ -2605,77 +2525,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(78, 59) Source(116, 22) + SourceIndex(0) 12>Emitted(78, 61) Source(116, 6) + SourceIndex(0) 13>Emitted(78, 66) Source(116, 22) + SourceIndex(0) -14>Emitted(78, 67) Source(116, 23) + SourceIndex(0) --- >>> _48 = _47[_46], _49 = _48.name, nameA = _49 === void 0 ? "noName" : _49, _50 = _48.skills, _51 = _50 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _50, _52 = _51.primary, primaryA = _52 === void 0 ? "primary" : _52, _53 = _51.secondary, secondaryA = _53 === void 0 ? "secondary" : _53; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(79, 5) Source(110, 6) + SourceIndex(0) -2 >Emitted(79, 19) Source(116, 2) + SourceIndex(0) -3 >Emitted(79, 21) Source(111, 5) + SourceIndex(0) -4 >Emitted(79, 35) Source(111, 27) + SourceIndex(0) -5 >Emitted(79, 37) Source(111, 5) + SourceIndex(0) -6 >Emitted(79, 76) Source(111, 27) + SourceIndex(0) -7 >Emitted(79, 78) Source(112, 5) + SourceIndex(0) -8 >Emitted(79, 94) Source(115, 53) + SourceIndex(0) -9 >Emitted(79, 96) Source(112, 5) + SourceIndex(0) -10>Emitted(79, 169) Source(115, 53) + SourceIndex(0) -11>Emitted(79, 171) Source(113, 9) + SourceIndex(0) -12>Emitted(79, 188) Source(113, 38) + SourceIndex(0) -13>Emitted(79, 190) Source(113, 9) + SourceIndex(0) -14>Emitted(79, 233) Source(113, 38) + SourceIndex(0) -15>Emitted(79, 235) Source(114, 9) + SourceIndex(0) -16>Emitted(79, 254) Source(114, 44) + SourceIndex(0) -17>Emitted(79, 256) Source(114, 9) + SourceIndex(0) -18>Emitted(79, 303) Source(114, 44) + SourceIndex(0) +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +1->Emitted(79, 21) Source(111, 5) + SourceIndex(0) +2 >Emitted(79, 35) Source(111, 27) + SourceIndex(0) +3 >Emitted(79, 37) Source(111, 5) + SourceIndex(0) +4 >Emitted(79, 76) Source(111, 27) + SourceIndex(0) +5 >Emitted(79, 78) Source(112, 5) + SourceIndex(0) +6 >Emitted(79, 94) Source(115, 53) + SourceIndex(0) +7 >Emitted(79, 96) Source(112, 5) + SourceIndex(0) +8 >Emitted(79, 169) Source(115, 53) + SourceIndex(0) +9 >Emitted(79, 171) Source(113, 9) + SourceIndex(0) +10>Emitted(79, 188) Source(113, 38) + SourceIndex(0) +11>Emitted(79, 190) Source(113, 9) + SourceIndex(0) +12>Emitted(79, 233) Source(113, 38) + SourceIndex(0) +13>Emitted(79, 235) Source(114, 9) + SourceIndex(0) +14>Emitted(79, 254) Source(114, 44) + SourceIndex(0) +15>Emitted(79, 256) Source(114, 9) + SourceIndex(0) +16>Emitted(79, 303) Source(114, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2823,8 +2730,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -2851,7 +2757,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(83, 5) Source(126, 5) + SourceIndex(0) 2 >Emitted(83, 7) Source(126, 7) + SourceIndex(0) 3 >Emitted(83, 11) Source(126, 11) + SourceIndex(0) @@ -2875,77 +2780,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(83, 97) Source(126, 79) + SourceIndex(0) 22>Emitted(83, 99) Source(125, 6) + SourceIndex(0) 23>Emitted(83, 104) Source(126, 79) + SourceIndex(0) -24>Emitted(83, 105) Source(126, 80) + SourceIndex(0) --- >>> _56 = _55[_54], _57 = _56.name, nameA = _57 === void 0 ? "noName" : _57, _58 = _56.skills, _59 = _58 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _58, _60 = _59.primary, primaryA = _60 === void 0 ? "primary" : _60, _61 = _59.secondary, secondaryA = _61 === void 0 ? "secondary" : _61; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name: nameA = "noName", - > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name: nameA = "noName" -5 > -6 > name: nameA = "noName" -7 > , +2 > name: nameA = "noName" +3 > +4 > name: nameA = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary: primaryA = "primary" -13> -14> primary: primaryA = "primary" -15> , +9 > +10> primary: primaryA = "primary" +11> +12> primary: primaryA = "primary" +13> , > -16> secondary: secondaryA = "secondary" -17> -18> secondary: secondaryA = "secondary" -1->Emitted(84, 5) Source(119, 6) + SourceIndex(0) -2 >Emitted(84, 19) Source(125, 2) + SourceIndex(0) -3 >Emitted(84, 21) Source(120, 5) + SourceIndex(0) -4 >Emitted(84, 35) Source(120, 27) + SourceIndex(0) -5 >Emitted(84, 37) Source(120, 5) + SourceIndex(0) -6 >Emitted(84, 76) Source(120, 27) + SourceIndex(0) -7 >Emitted(84, 78) Source(121, 5) + SourceIndex(0) -8 >Emitted(84, 94) Source(124, 53) + SourceIndex(0) -9 >Emitted(84, 96) Source(121, 5) + SourceIndex(0) -10>Emitted(84, 169) Source(124, 53) + SourceIndex(0) -11>Emitted(84, 171) Source(122, 9) + SourceIndex(0) -12>Emitted(84, 188) Source(122, 38) + SourceIndex(0) -13>Emitted(84, 190) Source(122, 9) + SourceIndex(0) -14>Emitted(84, 233) Source(122, 38) + SourceIndex(0) -15>Emitted(84, 235) Source(123, 9) + SourceIndex(0) -16>Emitted(84, 254) Source(123, 44) + SourceIndex(0) -17>Emitted(84, 256) Source(123, 9) + SourceIndex(0) -18>Emitted(84, 303) Source(123, 44) + SourceIndex(0) +14> secondary: secondaryA = "secondary" +15> +16> secondary: secondaryA = "secondary" +1->Emitted(84, 21) Source(120, 5) + SourceIndex(0) +2 >Emitted(84, 35) Source(120, 27) + SourceIndex(0) +3 >Emitted(84, 37) Source(120, 5) + SourceIndex(0) +4 >Emitted(84, 76) Source(120, 27) + SourceIndex(0) +5 >Emitted(84, 78) Source(121, 5) + SourceIndex(0) +6 >Emitted(84, 94) Source(124, 53) + SourceIndex(0) +7 >Emitted(84, 96) Source(121, 5) + SourceIndex(0) +8 >Emitted(84, 169) Source(124, 53) + SourceIndex(0) +9 >Emitted(84, 171) Source(122, 9) + SourceIndex(0) +10>Emitted(84, 188) Source(122, 38) + SourceIndex(0) +11>Emitted(84, 190) Source(122, 9) + SourceIndex(0) +12>Emitted(84, 233) Source(122, 38) + SourceIndex(0) +13>Emitted(84, 235) Source(123, 9) + SourceIndex(0) +14>Emitted(84, 254) Source(123, 44) + SourceIndex(0) +15>Emitted(84, 256) Source(123, 9) + SourceIndex(0) +16>Emitted(84, 303) Source(123, 44) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -2996,8 +2888,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -3011,7 +2902,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > robots 10> 11> robots -12> ) 1->Emitted(87, 1) Source(130, 1) + SourceIndex(0) 2 >Emitted(87, 4) Source(130, 4) + SourceIndex(0) 3 >Emitted(87, 5) Source(130, 5) + SourceIndex(0) @@ -3023,39 +2913,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(87, 59) Source(130, 55) + SourceIndex(0) 10>Emitted(87, 61) Source(130, 49) + SourceIndex(0) 11>Emitted(87, 66) Source(130, 55) + SourceIndex(0) -12>Emitted(87, 67) Source(130, 56) + SourceIndex(0) --- >>> _63 = robots_4[_62], _64 = _63.name, name = _64 === void 0 ? "noName" : _64, _65 = _63.skill, skill = _65 === void 0 ? "noSkill" : _65; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { name = "noName", skill = "noSkill" } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , -8 > skill = "noSkill" -9 > -10> skill = "noSkill" -1->Emitted(88, 5) Source(130, 6) + SourceIndex(0) -2 >Emitted(88, 24) Source(130, 45) + SourceIndex(0) -3 >Emitted(88, 26) Source(130, 8) + SourceIndex(0) -4 >Emitted(88, 40) Source(130, 23) + SourceIndex(0) -5 >Emitted(88, 42) Source(130, 8) + SourceIndex(0) -6 >Emitted(88, 80) Source(130, 23) + SourceIndex(0) -7 >Emitted(88, 82) Source(130, 25) + SourceIndex(0) -8 >Emitted(88, 97) Source(130, 43) + SourceIndex(0) -9 >Emitted(88, 99) Source(130, 25) + SourceIndex(0) -10>Emitted(88, 139) Source(130, 43) + SourceIndex(0) +2 > name = "noName" +3 > +4 > name = "noName" +5 > , +6 > skill = "noSkill" +7 > +8 > skill = "noSkill" +1->Emitted(88, 26) Source(130, 8) + SourceIndex(0) +2 >Emitted(88, 40) Source(130, 23) + SourceIndex(0) +3 >Emitted(88, 42) Source(130, 8) + SourceIndex(0) +4 >Emitted(88, 80) Source(130, 23) + SourceIndex(0) +5 >Emitted(88, 82) Source(130, 25) + SourceIndex(0) +6 >Emitted(88, 97) Source(130, 43) + SourceIndex(0) +7 >Emitted(88, 99) Source(130, 25) + SourceIndex(0) +8 >Emitted(88, 139) Source(130, 43) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3105,8 +2988,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -3121,7 +3003,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getRobots() 12> 13> getRobots() -14> ) 1->Emitted(91, 1) Source(133, 1) + SourceIndex(0) 2 >Emitted(91, 4) Source(133, 4) + SourceIndex(0) 3 >Emitted(91, 5) Source(133, 5) + SourceIndex(0) @@ -3135,39 +3016,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(91, 54) Source(133, 60) + SourceIndex(0) 12>Emitted(91, 56) Source(133, 49) + SourceIndex(0) 13>Emitted(91, 61) Source(133, 60) + SourceIndex(0) -14>Emitted(91, 62) Source(133, 61) + SourceIndex(0) --- >>> _68 = _67[_66], _69 = _68.name, name = _69 === void 0 ? "noName" : _69, _70 = _68.skill, skill = _70 === void 0 ? "noSkill" : _70; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { name = "noName", skill = "noSkill" } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , -8 > skill = "noSkill" -9 > -10> skill = "noSkill" -1->Emitted(92, 5) Source(133, 6) + SourceIndex(0) -2 >Emitted(92, 19) Source(133, 45) + SourceIndex(0) -3 >Emitted(92, 21) Source(133, 8) + SourceIndex(0) -4 >Emitted(92, 35) Source(133, 23) + SourceIndex(0) -5 >Emitted(92, 37) Source(133, 8) + SourceIndex(0) -6 >Emitted(92, 75) Source(133, 23) + SourceIndex(0) -7 >Emitted(92, 77) Source(133, 25) + SourceIndex(0) -8 >Emitted(92, 92) Source(133, 42) + SourceIndex(0) -9 >Emitted(92, 94) Source(133, 25) + SourceIndex(0) -10>Emitted(92, 134) Source(133, 42) + SourceIndex(0) +2 > name = "noName" +3 > +4 > name = "noName" +5 > , +6 > skill = "noSkill" +7 > +8 > skill = "noSkill" +1->Emitted(92, 21) Source(133, 8) + SourceIndex(0) +2 >Emitted(92, 35) Source(133, 23) + SourceIndex(0) +3 >Emitted(92, 37) Source(133, 8) + SourceIndex(0) +4 >Emitted(92, 75) Source(133, 23) + SourceIndex(0) +5 >Emitted(92, 77) Source(133, 25) + SourceIndex(0) +6 >Emitted(92, 92) Source(133, 42) + SourceIndex(0) +7 >Emitted(92, 94) Source(133, 25) + SourceIndex(0) +8 >Emitted(92, 134) Source(133, 42) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3235,8 +3109,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> ^^^^^^^^^^^^^^^^ 30> ^^ 31> ^^^^^ -32> ^ -33> ^^^^^^^^^-> +32> ^^^^^^^^^^-> 1-> > 2 >for @@ -3269,7 +3142,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] 30> 31> [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] -32> ) 1->Emitted(95, 1) Source(136, 1) + SourceIndex(0) 2 >Emitted(95, 4) Source(136, 4) + SourceIndex(0) 3 >Emitted(95, 5) Source(136, 5) + SourceIndex(0) @@ -3301,39 +3173,32 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 29>Emitted(95, 119) Source(136, 125) + SourceIndex(0) 30>Emitted(95, 121) Source(136, 49) + SourceIndex(0) 31>Emitted(95, 126) Source(136, 125) + SourceIndex(0) -32>Emitted(95, 127) Source(136, 126) + SourceIndex(0) --- >>> _73 = _72[_71], _74 = _73.name, name = _74 === void 0 ? "noName" : _74, _75 = _73.skill, skill = _75 === void 0 ? "noSkill" : _75; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { name = "noName", skill = "noSkill" } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , -8 > skill = "noSkill" -9 > -10> skill = "noSkill" -1->Emitted(96, 5) Source(136, 6) + SourceIndex(0) -2 >Emitted(96, 19) Source(136, 45) + SourceIndex(0) -3 >Emitted(96, 21) Source(136, 8) + SourceIndex(0) -4 >Emitted(96, 35) Source(136, 23) + SourceIndex(0) -5 >Emitted(96, 37) Source(136, 8) + SourceIndex(0) -6 >Emitted(96, 75) Source(136, 23) + SourceIndex(0) -7 >Emitted(96, 77) Source(136, 25) + SourceIndex(0) -8 >Emitted(96, 92) Source(136, 43) + SourceIndex(0) -9 >Emitted(96, 94) Source(136, 25) + SourceIndex(0) -10>Emitted(96, 134) Source(136, 43) + SourceIndex(0) +2 > name = "noName" +3 > +4 > name = "noName" +5 > , +6 > skill = "noSkill" +7 > +8 > skill = "noSkill" +1->Emitted(96, 21) Source(136, 8) + SourceIndex(0) +2 >Emitted(96, 35) Source(136, 23) + SourceIndex(0) +3 >Emitted(96, 37) Source(136, 8) + SourceIndex(0) +4 >Emitted(96, 75) Source(136, 23) + SourceIndex(0) +5 >Emitted(96, 77) Source(136, 25) + SourceIndex(0) +6 >Emitted(96, 92) Source(136, 43) + SourceIndex(0) +7 >Emitted(96, 94) Source(136, 25) + SourceIndex(0) +8 >Emitted(96, 134) Source(136, 43) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3381,8 +3246,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^ 10> ^^ 11> ^^^^^ -12> ^ -13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -3401,7 +3265,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 > multiRobots 10> 11> multiRobots -12> ) 1->Emitted(99, 1) Source(139, 1) + SourceIndex(0) 2 >Emitted(99, 4) Source(139, 4) + SourceIndex(0) 3 >Emitted(99, 5) Source(139, 5) + SourceIndex(0) @@ -3413,77 +3276,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 9 >Emitted(99, 74) Source(145, 17) + SourceIndex(0) 10>Emitted(99, 76) Source(145, 6) + SourceIndex(0) 11>Emitted(99, 81) Source(145, 17) + SourceIndex(0) -12>Emitted(99, 82) Source(145, 18) + SourceIndex(0) --- >>> _77 = multiRobots_4[_76], _78 = _77.name, name = _78 === void 0 ? "noName" : _78, _79 = _77.skills, _80 = _79 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _79, _81 = _80.primary, primary = _81 === void 0 ? "primary" : _81, _82 = _80.secondary, secondary = _82 === void 0 ? "secondary" : _82; -1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name = "noName", - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , +2 > name = "noName" +3 > +4 > name = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary = "primary" -13> -14> primary = "primary" -15> , +9 > +10> primary = "primary" +11> +12> primary = "primary" +13> , > -16> secondary = "secondary" -17> -18> secondary = "secondary" -1->Emitted(100, 5) Source(139, 6) + SourceIndex(0) -2 >Emitted(100, 29) Source(145, 2) + SourceIndex(0) -3 >Emitted(100, 31) Source(140, 5) + SourceIndex(0) -4 >Emitted(100, 45) Source(140, 20) + SourceIndex(0) -5 >Emitted(100, 47) Source(140, 5) + SourceIndex(0) -6 >Emitted(100, 85) Source(140, 20) + SourceIndex(0) -7 >Emitted(100, 87) Source(141, 5) + SourceIndex(0) -8 >Emitted(100, 103) Source(144, 53) + SourceIndex(0) -9 >Emitted(100, 105) Source(141, 5) + SourceIndex(0) -10>Emitted(100, 178) Source(144, 53) + SourceIndex(0) -11>Emitted(100, 180) Source(142, 9) + SourceIndex(0) -12>Emitted(100, 197) Source(142, 28) + SourceIndex(0) -13>Emitted(100, 199) Source(142, 9) + SourceIndex(0) -14>Emitted(100, 241) Source(142, 28) + SourceIndex(0) -15>Emitted(100, 243) Source(143, 9) + SourceIndex(0) -16>Emitted(100, 262) Source(143, 32) + SourceIndex(0) -17>Emitted(100, 264) Source(143, 9) + SourceIndex(0) -18>Emitted(100, 310) Source(143, 32) + SourceIndex(0) +14> secondary = "secondary" +15> +16> secondary = "secondary" +1->Emitted(100, 31) Source(140, 5) + SourceIndex(0) +2 >Emitted(100, 45) Source(140, 20) + SourceIndex(0) +3 >Emitted(100, 47) Source(140, 5) + SourceIndex(0) +4 >Emitted(100, 85) Source(140, 20) + SourceIndex(0) +5 >Emitted(100, 87) Source(141, 5) + SourceIndex(0) +6 >Emitted(100, 103) Source(144, 53) + SourceIndex(0) +7 >Emitted(100, 105) Source(141, 5) + SourceIndex(0) +8 >Emitted(100, 178) Source(144, 53) + SourceIndex(0) +9 >Emitted(100, 180) Source(142, 9) + SourceIndex(0) +10>Emitted(100, 197) Source(142, 28) + SourceIndex(0) +11>Emitted(100, 199) Source(142, 9) + SourceIndex(0) +12>Emitted(100, 241) Source(142, 28) + SourceIndex(0) +13>Emitted(100, 243) Source(143, 9) + SourceIndex(0) +14>Emitted(100, 262) Source(143, 32) + SourceIndex(0) +15>Emitted(100, 264) Source(143, 9) + SourceIndex(0) +16>Emitted(100, 310) Source(143, 32) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3535,8 +3385,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> ^^^^^^^^^^^^^^^^ 12> ^^ 13> ^^^^^ -14> ^ -15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >for @@ -3557,7 +3406,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11> getMultiRobots() 12> 13> getMultiRobots() -14> ) 1->Emitted(103, 1) Source(148, 1) + SourceIndex(0) 2 >Emitted(103, 4) Source(148, 4) + SourceIndex(0) 3 >Emitted(103, 5) Source(148, 5) + SourceIndex(0) @@ -3571,77 +3419,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 11>Emitted(103, 59) Source(154, 22) + SourceIndex(0) 12>Emitted(103, 61) Source(154, 6) + SourceIndex(0) 13>Emitted(103, 66) Source(154, 22) + SourceIndex(0) -14>Emitted(103, 67) Source(154, 23) + SourceIndex(0) --- >>> _85 = _84[_83], _86 = _85.name, name = _86 === void 0 ? "noName" : _86, _87 = _85.skills, _88 = _87 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _87, _89 = _88.primary, primary = _89 === void 0 ? "primary" : _89, _90 = _88.secondary, secondary = _90 === void 0 ? "secondary" : _90; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name = "noName", - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , +2 > name = "noName" +3 > +4 > name = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary = "primary" -13> -14> primary = "primary" -15> , +9 > +10> primary = "primary" +11> +12> primary = "primary" +13> , > -16> secondary = "secondary" -17> -18> secondary = "secondary" -1->Emitted(104, 5) Source(148, 6) + SourceIndex(0) -2 >Emitted(104, 19) Source(154, 2) + SourceIndex(0) -3 >Emitted(104, 21) Source(149, 5) + SourceIndex(0) -4 >Emitted(104, 35) Source(149, 20) + SourceIndex(0) -5 >Emitted(104, 37) Source(149, 5) + SourceIndex(0) -6 >Emitted(104, 75) Source(149, 20) + SourceIndex(0) -7 >Emitted(104, 77) Source(150, 5) + SourceIndex(0) -8 >Emitted(104, 93) Source(153, 53) + SourceIndex(0) -9 >Emitted(104, 95) Source(150, 5) + SourceIndex(0) -10>Emitted(104, 168) Source(153, 53) + SourceIndex(0) -11>Emitted(104, 170) Source(151, 9) + SourceIndex(0) -12>Emitted(104, 187) Source(151, 28) + SourceIndex(0) -13>Emitted(104, 189) Source(151, 9) + SourceIndex(0) -14>Emitted(104, 231) Source(151, 28) + SourceIndex(0) -15>Emitted(104, 233) Source(152, 9) + SourceIndex(0) -16>Emitted(104, 252) Source(152, 32) + SourceIndex(0) -17>Emitted(104, 254) Source(152, 9) + SourceIndex(0) -18>Emitted(104, 300) Source(152, 32) + SourceIndex(0) +14> secondary = "secondary" +15> +16> secondary = "secondary" +1->Emitted(104, 21) Source(149, 5) + SourceIndex(0) +2 >Emitted(104, 35) Source(149, 20) + SourceIndex(0) +3 >Emitted(104, 37) Source(149, 5) + SourceIndex(0) +4 >Emitted(104, 75) Source(149, 20) + SourceIndex(0) +5 >Emitted(104, 77) Source(150, 5) + SourceIndex(0) +6 >Emitted(104, 93) Source(153, 53) + SourceIndex(0) +7 >Emitted(104, 95) Source(150, 5) + SourceIndex(0) +8 >Emitted(104, 168) Source(153, 53) + SourceIndex(0) +9 >Emitted(104, 170) Source(151, 9) + SourceIndex(0) +10>Emitted(104, 187) Source(151, 28) + SourceIndex(0) +11>Emitted(104, 189) Source(151, 9) + SourceIndex(0) +12>Emitted(104, 231) Source(151, 28) + SourceIndex(0) +13>Emitted(104, 233) Source(152, 9) + SourceIndex(0) +14>Emitted(104, 252) Source(152, 32) + SourceIndex(0) +15>Emitted(104, 254) Source(152, 9) + SourceIndex(0) +16>Emitted(104, 300) Source(152, 32) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -3786,8 +3621,7 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21> ^^^^^^^^^^^^^^^^ 22> ^^ 23> ^^^^^ -24> ^ -25> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +24> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1->, > 2 > { @@ -3814,7 +3648,6 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 22> 23> [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, > { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] -24> ) 1->Emitted(108, 5) Source(164, 5) + SourceIndex(0) 2 >Emitted(108, 7) Source(164, 7) + SourceIndex(0) 3 >Emitted(108, 11) Source(164, 11) + SourceIndex(0) @@ -3838,77 +3671,64 @@ sourceFile:sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValue 21>Emitted(108, 97) Source(164, 79) + SourceIndex(0) 22>Emitted(108, 99) Source(163, 6) + SourceIndex(0) 23>Emitted(108, 104) Source(164, 79) + SourceIndex(0) -24>Emitted(108, 105) Source(164, 80) + SourceIndex(0) --- >>> _93 = _92[_91], _94 = _93.name, name = _94 === void 0 ? "noName" : _94, _95 = _93.skills, _96 = _95 === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _95, _97 = _96.primary, primary = _97 === void 0 ? "primary" : _97, _98 = _96.secondary, secondary = _98 === void 0 ? "secondary" : _98; -1->^^^^ -2 > ^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^ -17> ^^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1->^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^^^^^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^^^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> -2 > { - > name = "noName", - > skills: { - > primary = "primary", - > secondary = "secondary" - > } = { primary: "noSkill", secondary: "noSkill" } - > } -3 > -4 > name = "noName" -5 > -6 > name = "noName" -7 > , +2 > name = "noName" +3 > +4 > name = "noName" +5 > , > -8 > skills: { +6 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> skills: { +7 > +8 > skills: { > primary = "primary", > secondary = "secondary" > } = { primary: "noSkill", secondary: "noSkill" } -11> -12> primary = "primary" -13> -14> primary = "primary" -15> , +9 > +10> primary = "primary" +11> +12> primary = "primary" +13> , > -16> secondary = "secondary" -17> -18> secondary = "secondary" -1->Emitted(109, 5) Source(157, 6) + SourceIndex(0) -2 >Emitted(109, 19) Source(163, 2) + SourceIndex(0) -3 >Emitted(109, 21) Source(158, 5) + SourceIndex(0) -4 >Emitted(109, 35) Source(158, 20) + SourceIndex(0) -5 >Emitted(109, 37) Source(158, 5) + SourceIndex(0) -6 >Emitted(109, 75) Source(158, 20) + SourceIndex(0) -7 >Emitted(109, 77) Source(159, 5) + SourceIndex(0) -8 >Emitted(109, 93) Source(162, 53) + SourceIndex(0) -9 >Emitted(109, 95) Source(159, 5) + SourceIndex(0) -10>Emitted(109, 168) Source(162, 53) + SourceIndex(0) -11>Emitted(109, 170) Source(160, 9) + SourceIndex(0) -12>Emitted(109, 187) Source(160, 28) + SourceIndex(0) -13>Emitted(109, 189) Source(160, 9) + SourceIndex(0) -14>Emitted(109, 231) Source(160, 28) + SourceIndex(0) -15>Emitted(109, 233) Source(161, 9) + SourceIndex(0) -16>Emitted(109, 252) Source(161, 32) + SourceIndex(0) -17>Emitted(109, 254) Source(161, 9) + SourceIndex(0) -18>Emitted(109, 300) Source(161, 32) + SourceIndex(0) +14> secondary = "secondary" +15> +16> secondary = "secondary" +1->Emitted(109, 21) Source(158, 5) + SourceIndex(0) +2 >Emitted(109, 35) Source(158, 20) + SourceIndex(0) +3 >Emitted(109, 37) Source(158, 5) + SourceIndex(0) +4 >Emitted(109, 75) Source(158, 20) + SourceIndex(0) +5 >Emitted(109, 77) Source(159, 5) + SourceIndex(0) +6 >Emitted(109, 93) Source(162, 53) + SourceIndex(0) +7 >Emitted(109, 95) Source(159, 5) + SourceIndex(0) +8 >Emitted(109, 168) Source(162, 53) + SourceIndex(0) +9 >Emitted(109, 170) Source(160, 9) + SourceIndex(0) +10>Emitted(109, 187) Source(160, 28) + SourceIndex(0) +11>Emitted(109, 189) Source(160, 9) + SourceIndex(0) +12>Emitted(109, 231) Source(160, 28) + SourceIndex(0) +13>Emitted(109, 233) Source(161, 9) + SourceIndex(0) +14>Emitted(109, 252) Source(161, 32) + SourceIndex(0) +15>Emitted(109, 254) Source(161, 9) + SourceIndex(0) +16>Emitted(109, 300) Source(161, 32) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types index adb5d515fe4..6119665124d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types @@ -40,14 +40,14 @@ let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", sk >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >multiRobots : MultiRobot[] @@ -55,24 +55,24 @@ let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", s >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]; >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" function getRobots() { >getRobots : () => Robot[] @@ -104,9 +104,9 @@ let name: string, primary: string, secondary: string, skill: string; for ({name: nameA = "noName" } of robots) { >{name: nameA = "noName" } : { name?: string; } >name : Robot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >robots : Robot[] console.log(nameA); @@ -119,9 +119,9 @@ for ({name: nameA = "noName" } of robots) { for ({name: nameA = "noName" } of getRobots()) { >{name: nameA = "noName" } : { name?: string; } >name : Robot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >getRobots() : Robot[] >getRobots : () => Robot[] @@ -135,20 +135,20 @@ for ({name: nameA = "noName" } of getRobots()) { for ({name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) { >{name: nameA = "noName" } : { name?: string; } >name : { name: string; skill: string; } ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -163,20 +163,20 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } : { primary?: string; secondary?: string; } >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of multiRobots) { >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" >multiRobots : MultiRobot[] console.log(primaryA); @@ -192,20 +192,20 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } : { primary?: string; secondary?: string; } >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of getMultiRobots()) { >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" >getMultiRobots() : MultiRobot[] >getMultiRobots : () => MultiRobot[] @@ -222,20 +222,20 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } = { primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >{ primary: primaryA = "primary", secondary: secondaryA = "secondary" } : { primary?: string; secondary?: string; } >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" { primary: "nosKill", secondary: "noSkill" } } of >{ primary: "nosKill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"nosKill" : string +>"nosKill" : "nosKill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : MultiRobot[] @@ -243,24 +243,24 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -301,14 +301,14 @@ for ({ name = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimme >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -334,9 +334,9 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of multiRobots) { >multiRobots : MultiRobot[] @@ -365,9 +365,9 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of getMultiRobots()) { >getMultiRobots() : MultiRobot[] @@ -397,32 +397,32 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(primaryA); >console.log(primaryA) : void @@ -436,13 +436,13 @@ for ({ for ({name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >{name: nameA = "noName", skill: skillA = "noSkill" } : { name?: string; skill?: string; } >name : Robot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : Robot ->skillA = "noSkill" : string +>skillA = "noSkill" : "noSkill" >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >robots : Robot[] console.log(nameA); @@ -455,13 +455,13 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of robots) { for ({name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >{name: nameA = "noName", skill: skillA = "noSkill" } : { name?: string; skill?: string; } >name : Robot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : Robot ->skillA = "noSkill" : string +>skillA = "noSkill" : "noSkill" >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >getRobots() : Robot[] >getRobots : () => Robot[] @@ -475,24 +475,24 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { for ({name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) { >{name: nameA = "noName", skill: skillA = "noSkill" } : { name?: string; skill?: string; } >name : { name: string; skill: string; } ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" >skill : { name: string; skill: string; } ->skillA = "noSkill" : string +>skillA = "noSkill" : "noSkill" >skillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -506,9 +506,9 @@ for ({ name: nameA = "noName", >name : MultiRobot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : MultiRobot @@ -517,22 +517,22 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of multiRobots) { >multiRobots : MultiRobot[] @@ -549,9 +549,9 @@ for ({ name: nameA = "noName", >name : MultiRobot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : MultiRobot @@ -560,22 +560,22 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of getMultiRobots()) { >getMultiRobots() : MultiRobot[] @@ -593,9 +593,9 @@ for ({ name: nameA = "noName", >name : MultiRobot ->nameA = "noName" : string +>nameA = "noName" : "noName" >nameA : string ->"noName" : string +>"noName" : "noName" skills: { >skills : MultiRobot @@ -604,22 +604,22 @@ for ({ primary: primaryA = "primary", >primary : string ->primaryA = "primary" : string +>primaryA = "primary" : "primary" >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : string ->secondaryA = "secondary" : string +>secondaryA = "secondary" : "secondary" >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : MultiRobot[] @@ -627,24 +627,24 @@ for ({ >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void @@ -688,14 +688,14 @@ for ({ name = "noName", skill = "noSkill" } of [{ name: "mower", skill: "mowing >[{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }] : { name: string; skill: string; }[] >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" console.log(nameA); >console.log(nameA) : void @@ -724,9 +724,9 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of multiRobots) { >multiRobots : MultiRobot[] @@ -758,9 +758,9 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of getMultiRobots()) { >getMultiRobots() : MultiRobot[] @@ -793,32 +793,32 @@ for ({ } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, >[{ name: "mower", skills: { primary: "mowing", secondary: "none" } }, { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }] : { name: string; skills: { primary: string; secondary: string; }; }[] >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) { >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" console.log(nameA); >console.log(nameA) : void diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types index af27c32d15b..eef87d57c45 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types @@ -28,13 +28,13 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >Robot : Robot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { >foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void @@ -95,13 +95,13 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" foo2(robotA); >foo2(robotA) : void @@ -113,13 +113,13 @@ foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" foo3(robotA); >foo3(robotA) : void @@ -131,11 +131,11 @@ foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo3 : ({skills}: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types index 1115931feef..9f5b16407ca 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types @@ -28,13 +28,13 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >Robot : Robot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" function foo1( >foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}?: Robot) => void @@ -45,19 +45,19 @@ function foo1( primary: primaryA = "primary", >primary : any >primaryA : string ->"primary" : string +>"primary" : "primary" secondary: secondaryA = "secondary" >secondary : any >secondaryA : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "SomeSkill", secondary: "someSkill" } >{ primary: "SomeSkill", secondary: "someSkill" } : { primary?: string; secondary?: string; } >primary : string ->"SomeSkill" : string +>"SomeSkill" : "SomeSkill" >secondary : string ->"someSkill" : string +>"someSkill" : "someSkill" }: Robot = robotA) { >Robot : Robot @@ -76,7 +76,7 @@ function foo2( name: nameC = "name", >name : any >nameC : string ->"name" : string +>"name" : "name" skills: { >skills : any @@ -84,19 +84,19 @@ function foo2( primary: primaryB = "primary", >primary : any >primaryB : string ->"primary" : string +>"primary" : "primary" secondary: secondaryB = "secondary" >secondary : any >secondaryB : string ->"secondary" : string +>"secondary" : "secondary" } = { primary: "SomeSkill", secondary: "someSkill" } >{ primary: "SomeSkill", secondary: "someSkill" } : { primary?: string; secondary?: string; } >primary : string ->"SomeSkill" : string +>"SomeSkill" : "SomeSkill" >secondary : string ->"someSkill" : string +>"someSkill" : "someSkill" }: Robot = robotA) { >Robot : Robot @@ -114,9 +114,9 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro >skills : { primary?: string; secondary?: string; } >{ primary: "SomeSkill", secondary: "someSkill" } : { primary: string; secondary: string; } >primary : string ->"SomeSkill" : string +>"SomeSkill" : "SomeSkill" >secondary : string ->"someSkill" : string +>"someSkill" : "someSkill" >Robot : Robot >robotA : Robot @@ -140,13 +140,13 @@ foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" foo2(robotA); >foo2(robotA) : void @@ -158,13 +158,13 @@ foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" foo3(robotA); >foo3(robotA) : void @@ -176,11 +176,11 @@ foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" >foo3 : ({skills}?: Robot) => void >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types index 6b8f26acf43..225071a3d2e 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types @@ -17,16 +17,16 @@ declare var console: { } var hello = "hello"; >hello : string ->"hello" : string +>"hello" : "hello" var robotA: Robot = { name: "mower", skill: "mowing" }; >robotA : Robot >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" function foo1({ name: nameA }: Robot) { >foo1 : ({name: nameA}: Robot) => void @@ -79,9 +79,9 @@ foo1({ name: "Edger", skill: "cutting edges" }); >foo1 : ({name: nameA}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" foo2(robotA); >foo2(robotA) : void @@ -93,9 +93,9 @@ foo2({ name: "Edger", skill: "cutting edges" }); >foo2 : ({name: nameB, skill: skillB}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" foo3(robotA); >foo3(robotA) : void @@ -107,7 +107,7 @@ foo3({ name: "Edger", skill: "cutting edges" }); >foo3 : ({name}: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types index 253c5feae8f..db6a8bcab29 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types @@ -17,22 +17,22 @@ declare var console: { } var hello = "hello"; >hello : string ->"hello" : string +>"hello" : "hello" var robotA: Robot = { name: "mower", skill: "mowing" }; >robotA : Robot >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" function foo1({ name: nameA = "" }: Robot = { }) { >foo1 : ({name: nameA}?: Robot) => void >name : any >nameA : string ->"" : string +>"" : "" >Robot : Robot >{ } : {} @@ -47,10 +47,10 @@ function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = { >foo2 : ({name: nameB, skill: skillB}?: Robot) => void >name : any >nameB : string ->"" : string +>"" : "" >skill : any >skillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >Robot : Robot >{} : {} @@ -64,7 +64,7 @@ function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = { function foo3({ name = "" }: Robot = {}) { >foo3 : ({name}?: Robot) => void >name : string ->"" : string +>"" : "" >Robot : Robot >{} : {} @@ -86,9 +86,9 @@ foo1({ name: "Edger", skill: "cutting edges" }); >foo1 : ({name: nameA}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" foo2(robotA); >foo2(robotA) : void @@ -100,9 +100,9 @@ foo2({ name: "Edger", skill: "cutting edges" }); >foo2 : ({name: nameB, skill: skillB}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" foo3(robotA); >foo3(robotA) : void @@ -114,7 +114,7 @@ foo3({ name: "Edger", skill: "cutting edges" }); >foo3 : ({name}?: Robot) => void >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index 9c695f1c0dd..d7aed64a232 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -13,9 +13,9 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function foo1([, nameA]: Robot) { >foo1 : ([, nameA]: [number, string, string]) => void @@ -62,7 +62,7 @@ function foo3([numberA2, nameA2, skillA2]: Robot) { function foo4([numberA3, ...robotAInfo]: Robot) { >foo4 : ([numberA3, ...robotAInfo]: [number, string, string]) => void >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >Robot : [number, string, string] console.log(robotAInfo); @@ -70,7 +70,7 @@ function foo4([numberA3, ...robotAInfo]: Robot) { >console.log : (msg: any) => void >console : { log(msg: any): void; } >log : (msg: any) => void ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] } foo1(robotA); @@ -82,9 +82,9 @@ foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void >foo1 : ([, nameA]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo2(robotA); >foo2(robotA) : void @@ -95,9 +95,9 @@ foo2([2, "trimmer", "trimming"]); >foo2([2, "trimmer", "trimming"]) : void >foo2 : ([numberB]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo3(robotA); >foo3(robotA) : void @@ -108,9 +108,9 @@ foo3([2, "trimmer", "trimming"]); >foo3([2, "trimmer", "trimming"]) : void >foo3 : ([numberA2, nameA2, skillA2]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo4(robotA); >foo4(robotA) : void @@ -121,7 +121,7 @@ foo4([2, "trimmer", "trimming"]); >foo4([2, "trimmer", "trimming"]) : void >foo4 : ([numberA3, ...robotAInfo]: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types index b3e09d962c3..00809184d3b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types @@ -13,10 +13,10 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >robotA : [string, [string, string]] >Robot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function foo1([, skillA]: Robot) { >foo1 : ([, skillA]: [string, [string, string]]) => void @@ -82,10 +82,10 @@ foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void >foo1 : ([, skillA]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" foo2(robotA); >foo2(robotA) : void @@ -96,10 +96,10 @@ foo2(["roomba", ["vaccum", "mopping"]]); >foo2(["roomba", ["vaccum", "mopping"]]) : void >foo2 : ([nameMB]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" foo3(robotA); >foo3(robotA) : void @@ -110,10 +110,10 @@ foo3(["roomba", ["vaccum", "mopping"]]); >foo3(["roomba", ["vaccum", "mopping"]]) : void >foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" foo4(robotA); >foo4(robotA) : void @@ -124,8 +124,8 @@ foo4(["roomba", ["vaccum", "mopping"]]); >foo4(["roomba", ["vaccum", "mopping"]]) : void >foo4 : ([...multiRobotAInfo]: [string, [string, string]]) => void >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 366c538dda7..a9d1013c136 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -13,21 +13,21 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { >foo1 : ([, nameA]?: [number, string, string]) => void > : undefined >nameA : string ->"noName" : string +>"noName" : "noName" >Robot : [number, string, string] >[-1, "name", "skill"] : [number, string, string] ->-1 : number ->1 : number ->"name" : string ->"skill" : string +>-1 : -1 +>1 : 1 +>"name" : "name" +>"skill" : "skill" console.log(nameA); >console.log(nameA) : void @@ -40,14 +40,14 @@ function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { >foo2 : ([numberB]?: [number, string, string]) => void >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >Robot : [number, string, string] >[-1, "name", "skill"] : [number, string, string] ->-1 : number ->1 : number ->"name" : string ->"skill" : string +>-1 : -1 +>1 : 1 +>"name" : "name" +>"skill" : "skill" console.log(numberB); >console.log(numberB) : void @@ -60,18 +60,18 @@ function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) { >foo3 : ([numberA2, nameA2, skillA2]?: [number, string, string]) => void >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"name" : string +>"name" : "name" >skillA2 : string ->"skill" : string +>"skill" : "skill" >Robot : [number, string, string] >[-1, "name", "skill"] : [number, string, string] ->-1 : number ->1 : number ->"name" : string ->"skill" : string +>-1 : -1 +>1 : 1 +>"name" : "name" +>"skill" : "skill" console.log(nameA2); >console.log(nameA2) : void @@ -84,22 +84,22 @@ function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { >foo4 : ([numberA3, ...robotAInfo]?: [number, string, string]) => void >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >Robot : [number, string, string] >[-1, "name", "skill"] : [number, string, string] ->-1 : number ->1 : number ->"name" : string ->"skill" : string +>-1 : -1 +>1 : 1 +>"name" : "name" +>"skill" : "skill" console.log(robotAInfo); >console.log(robotAInfo) : void >console.log : (msg: any) => void >console : { log(msg: any): void; } >log : (msg: any) => void ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] } foo1(robotA); @@ -111,9 +111,9 @@ foo1([2, "trimmer", "trimming"]); >foo1([2, "trimmer", "trimming"]) : void >foo1 : ([, nameA]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo2(robotA); >foo2(robotA) : void @@ -124,9 +124,9 @@ foo2([2, "trimmer", "trimming"]); >foo2([2, "trimmer", "trimming"]) : void >foo2 : ([numberB]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo3(robotA); >foo3(robotA) : void @@ -137,9 +137,9 @@ foo3([2, "trimmer", "trimming"]); >foo3([2, "trimmer", "trimming"]) : void >foo3 : ([numberA2, nameA2, skillA2]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" foo4(robotA); >foo4(robotA) : void @@ -150,7 +150,7 @@ foo4([2, "trimmer", "trimming"]); >foo4([2, "trimmer", "trimming"]) : void >foo4 : ([numberA3, ...robotAInfo]?: [number, string, string]) => void >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types index bd140d6a232..b3569bb58b7 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types @@ -13,24 +13,24 @@ var robotA: Robot = ["trimmer", ["trimming", "edging"]]; >robotA : [string, string[]] >Robot : [string, string[]] >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) { >foo1 : ([, skillA]?: [string, string[]]) => void > : undefined >skillA : string[] >["noSkill", "noSkill"] : string[] ->"noSkill" : string ->"noSkill" : string +>"noSkill" : "noSkill" +>"noSkill" : "noSkill" >Robot : [string, string[]] >["name", ["skill1", "skill2"]] : [string, string[]] ->"name" : string +>"name" : "name" >["skill1", "skill2"] : string[] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" console.log(skillA); >console.log(skillA) : void @@ -43,13 +43,13 @@ function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "s function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { >foo2 : ([nameMB]?: [string, string[]]) => void >nameMB : string ->"noName" : string +>"noName" : "noName" >Robot : [string, string[]] >["name", ["skill1", "skill2"]] : [string, string[]] ->"name" : string +>"name" : "name" >["skill1", "skill2"] : string[] ->"skill1" : string ->"skill2" : string +>"skill1" : "skill1" +>"skill2" : "skill2" console.log(nameMB); >console.log(nameMB) : void @@ -62,20 +62,20 @@ function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { function foo3([nameMA = "noName", [ >foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, string[]]) => void >nameMA : string ->"noName" : string +>"noName" : "noName" primarySkillA = "primary", >primarySkillA : string ->"primary" : string +>"primary" : "primary" secondarySkillA = "secondary" >secondarySkillA : string ->"secondary" : string +>"secondary" : "secondary" ] = ["noSkill", "noSkill"]]: Robot) { >["noSkill", "noSkill"] : [string, string] ->"noSkill" : string ->"noSkill" : string +>"noSkill" : "noSkill" +>"noSkill" : "noSkill" >Robot : [string, string[]] console.log(nameMA); @@ -95,10 +95,10 @@ foo1(["roomba", ["vaccum", "mopping"]]); >foo1(["roomba", ["vaccum", "mopping"]]) : void >foo1 : ([, skillA]?: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" foo2(robotA); >foo2(robotA) : void @@ -109,10 +109,10 @@ foo2(["roomba", ["vaccum", "mopping"]]); >foo2(["roomba", ["vaccum", "mopping"]]) : void >foo2 : ([nameMB]?: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" foo3(robotA); >foo3(robotA) : void @@ -123,8 +123,8 @@ foo3(["roomba", ["vaccum", "mopping"]]); >foo3(["roomba", ["vaccum", "mopping"]]) : void >foo3 : ([nameMA, [primarySkillA, secondarySkillA]]: [string, string[]]) => void >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.js.map index 17d9a9b0411..d23d39085be 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatement.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatement.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatement.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,uBAAW,CAAY;AACvB,uBAAW,EAAE,qBAAa,CAAY;AAC5C,IAAA,8CAA8E,EAAxE,eAAW,EAAE,iBAAa,CAA+C;AAC/E,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatement.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatement.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,IAAA,mBAAW,CAAY;AACvB,IAAA,mBAAW,EAAE,qBAAa,CAAY;AACxC,IAAA,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,CAA+C;AAC/E,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.sourcemap.txt index f066ec465cf..c017267f22a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.sourcemap.txt @@ -129,35 +129,41 @@ sourceFile:sourceMapValidationDestructuringVariableStatement.ts --- >>>var nameA = robotA.name; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var { -2 >name: nameA -3 > } = robotA; +2 > +3 > name: nameA +4 > } = robotA; 1 >Emitted(4, 1) Source(11, 7) + SourceIndex(0) -2 >Emitted(4, 24) Source(11, 18) + SourceIndex(0) -3 >Emitted(4, 25) Source(11, 30) + SourceIndex(0) +2 >Emitted(4, 5) Source(11, 7) + SourceIndex(0) +3 >Emitted(4, 24) Source(11, 18) + SourceIndex(0) +4 >Emitted(4, 25) Source(11, 30) + SourceIndex(0) --- >>>var nameB = robotB.name, skillB = robotB.skill; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { -2 >name: nameB -3 > , -4 > skill: skillB -5 > } = robotB; +2 > +3 > name: nameB +4 > , +5 > skill: skillB +6 > } = robotB; 1->Emitted(5, 1) Source(12, 7) + SourceIndex(0) -2 >Emitted(5, 24) Source(12, 18) + SourceIndex(0) -3 >Emitted(5, 26) Source(12, 20) + SourceIndex(0) -4 >Emitted(5, 47) Source(12, 33) + SourceIndex(0) -5 >Emitted(5, 48) Source(12, 45) + SourceIndex(0) +2 >Emitted(5, 5) Source(12, 7) + SourceIndex(0) +3 >Emitted(5, 24) Source(12, 18) + SourceIndex(0) +4 >Emitted(5, 26) Source(12, 20) + SourceIndex(0) +5 >Emitted(5, 47) Source(12, 33) + SourceIndex(0) +6 >Emitted(5, 48) Source(12, 45) + SourceIndex(0) --- >>>var _a = { name: "Edger", skill: "cutting edges" }, nameC = _a.name, skillC = _a.skill; 1-> @@ -169,16 +175,16 @@ sourceFile:sourceMapValidationDestructuringVariableStatement.ts 7 > ^^^^^^^^^^^^^^^^^ 8 > ^ 1-> - > + >var 2 > -3 > var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" } +3 > { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" } 4 > 5 > name: nameC 6 > , 7 > skill: skillC 8 > } = { name: "Edger", skill: "cutting edges" }; -1->Emitted(6, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(6, 5) Source(13, 1) + SourceIndex(0) +1->Emitted(6, 1) Source(13, 5) + SourceIndex(0) +2 >Emitted(6, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(6, 51) Source(13, 79) + SourceIndex(0) 4 >Emitted(6, 53) Source(13, 7) + SourceIndex(0) 5 >Emitted(6, 68) Source(13, 18) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types index 82a2ffe88f6..5d61294b568 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types @@ -17,25 +17,25 @@ declare var console: { } var hello = "hello"; >hello : string ->"hello" : string +>"hello" : "hello" var robotA: Robot = { name: "mower", skill: "mowing" }; >robotA : Robot >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" var robotB: Robot = { name: "trimmer", skill: "trimming" }; >robotB : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" var { name: nameA } = robotA; >name : any @@ -56,9 +56,9 @@ var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }; >skillC : string >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" if (nameA == nameB) { >nameA == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.js.map index cc2ae54143d..ad8a81464b4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatement1.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatement1.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatement1.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC3D,IAAI,CAAS,EAAI,mBAAW,CAAY;AACxC,IAAI,CAAS,EAAI,mBAAW,EAAE,qBAAa,CAAY;AACvD,IAAI,CAAS,EAAE,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,CAA+C;AAEpF,uBAAW,EAAa,CAAC,GAAG,KAAK,CAAC;AAClC,uBAAW,EAAE,qBAAa,EAAa,CAAC,GAAG,QAAQ,CAAC;AAC1D,IAAA,8CAA8E,EAAxE,eAAW,EAAE,iBAAa,EAAgD,CAAC,GAAG,KAAK,CAAC;AAE1F,IAAI,CAAC,GAAG,KAAK,EAAI,mBAAW,EAAa,EAAE,GAAE,OAAO,CAAC;AACrD,IAAI,CAAC,GAAG,KAAK,EAAI,mBAAW,EAAE,qBAAa,EAAa,EAAE,GAAG,OAAO,CAAC;AACrE,IAAI,CAAC,GAAG,KAAK,EAAE,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,EAAgD,EAAE,GAAG,KAAK,CAAC;AACtG,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatement1.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatement1.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACvD,IAAA,CAAS,EAAI,mBAAW,CAAY;AACpC,IAAA,CAAS,EAAI,mBAAW,EAAE,qBAAa,CAAY;AACnD,IAAA,CAAS,EAAE,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,CAA+C;AAEpF,IAAA,mBAAW,EAAa,CAAC,GAAG,KAAK,CAAC;AAClC,IAAA,mBAAW,EAAE,qBAAa,EAAa,CAAC,GAAG,QAAQ,CAAC;AACtD,IAAA,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,EAAgD,CAAC,GAAG,KAAK,CAAC;AAE1F,IAAI,CAAC,GAAG,KAAK,EAAI,mBAAW,EAAa,EAAE,GAAE,OAAO,CAAC;AACrD,IAAI,CAAC,GAAG,KAAK,EAAI,mBAAW,EAAE,qBAAa,EAAa,EAAE,GAAG,OAAO,CAAC;AACrE,IAAI,CAAC,GAAG,KAAK,EAAE,8CAA0E,EAAxE,eAAW,EAAE,iBAAa,EAAgD,EAAE,GAAG,KAAK,CAAC;AACtG,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.sourcemap.txt index 70407ad9f81..889170266b3 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.sourcemap.txt @@ -136,13 +136,13 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 6 > ^ 7 > ^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > - > -2 >var + >var +2 > 3 > a: string 4 > , { 5 > name: nameA 6 > } = robotA; -1 >Emitted(4, 1) Source(11, 1) + SourceIndex(0) +1 >Emitted(4, 1) Source(11, 5) + SourceIndex(0) 2 >Emitted(4, 5) Source(11, 5) + SourceIndex(0) 3 >Emitted(4, 6) Source(11, 14) + SourceIndex(0) 4 >Emitted(4, 8) Source(11, 18) + SourceIndex(0) @@ -160,15 +160,15 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 8 > ^ 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> - > -2 >var + >var +2 > 3 > b: string 4 > , { 5 > name: nameB 6 > , 7 > skill: skillB 8 > } = robotB; -1->Emitted(5, 1) Source(12, 1) + SourceIndex(0) +1->Emitted(5, 1) Source(12, 5) + SourceIndex(0) 2 >Emitted(5, 5) Source(12, 5) + SourceIndex(0) 3 >Emitted(5, 6) Source(12, 14) + SourceIndex(0) 4 >Emitted(5, 8) Source(12, 18) + SourceIndex(0) @@ -189,8 +189,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 9 > ^^^^^^^^^^^^^^^^^ 10> ^ 1-> - > -2 >var + >var +2 > 3 > c: string 4 > , 5 > { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" } @@ -199,7 +199,7 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 8 > , 9 > skill: skillC 10> } = { name: "Edger", skill: "cutting edges" }; -1->Emitted(6, 1) Source(13, 1) + SourceIndex(0) +1->Emitted(6, 1) Source(13, 5) + SourceIndex(0) 2 >Emitted(6, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(6, 6) Source(13, 14) + SourceIndex(0) 4 >Emitted(6, 8) Source(13, 16) + SourceIndex(0) @@ -212,60 +212,66 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts --- >>>var nameA = robotA.name, a = hello; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^ -5 > ^^^ -6 > ^^^^^ -7 > ^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^ +6 > ^^^ +7 > ^^^^^ +8 > ^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >var { -2 >name: nameA -3 > } = robotA, -4 > a -5 > = -6 > hello -7 > ; +2 > +3 > name: nameA +4 > } = robotA, +5 > a +6 > = +7 > hello +8 > ; 1 >Emitted(7, 1) Source(15, 7) + SourceIndex(0) -2 >Emitted(7, 24) Source(15, 18) + SourceIndex(0) -3 >Emitted(7, 26) Source(15, 31) + SourceIndex(0) -4 >Emitted(7, 27) Source(15, 32) + SourceIndex(0) -5 >Emitted(7, 30) Source(15, 35) + SourceIndex(0) -6 >Emitted(7, 35) Source(15, 40) + SourceIndex(0) -7 >Emitted(7, 36) Source(15, 41) + SourceIndex(0) +2 >Emitted(7, 5) Source(15, 7) + SourceIndex(0) +3 >Emitted(7, 24) Source(15, 18) + SourceIndex(0) +4 >Emitted(7, 26) Source(15, 31) + SourceIndex(0) +5 >Emitted(7, 27) Source(15, 32) + SourceIndex(0) +6 >Emitted(7, 30) Source(15, 35) + SourceIndex(0) +7 >Emitted(7, 35) Source(15, 40) + SourceIndex(0) +8 >Emitted(7, 36) Source(15, 41) + SourceIndex(0) --- >>>var nameB = robotB.name, skillB = robotB.skill, b = " hello"; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^ -7 > ^^^ -8 > ^^^^^^^^ -9 > ^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^ +8 > ^^^ +9 > ^^^^^^^^ +10> ^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { -2 >name: nameB -3 > , -4 > skill: skillB -5 > } = robotB, -6 > b -7 > = -8 > " hello" -9 > ; +2 > +3 > name: nameB +4 > , +5 > skill: skillB +6 > } = robotB, +7 > b +8 > = +9 > " hello" +10> ; 1->Emitted(8, 1) Source(16, 7) + SourceIndex(0) -2 >Emitted(8, 24) Source(16, 18) + SourceIndex(0) -3 >Emitted(8, 26) Source(16, 20) + SourceIndex(0) -4 >Emitted(8, 47) Source(16, 33) + SourceIndex(0) -5 >Emitted(8, 49) Source(16, 46) + SourceIndex(0) -6 >Emitted(8, 50) Source(16, 47) + SourceIndex(0) -7 >Emitted(8, 53) Source(16, 50) + SourceIndex(0) -8 >Emitted(8, 61) Source(16, 58) + SourceIndex(0) -9 >Emitted(8, 62) Source(16, 59) + SourceIndex(0) +2 >Emitted(8, 5) Source(16, 7) + SourceIndex(0) +3 >Emitted(8, 24) Source(16, 18) + SourceIndex(0) +4 >Emitted(8, 26) Source(16, 20) + SourceIndex(0) +5 >Emitted(8, 47) Source(16, 33) + SourceIndex(0) +6 >Emitted(8, 49) Source(16, 46) + SourceIndex(0) +7 >Emitted(8, 50) Source(16, 47) + SourceIndex(0) +8 >Emitted(8, 53) Source(16, 50) + SourceIndex(0) +9 >Emitted(8, 61) Source(16, 58) + SourceIndex(0) +10>Emitted(8, 62) Source(16, 59) + SourceIndex(0) --- >>>var _b = { name: "Edger", skill: "cutting edges" }, nameC = _b.name, skillC = _b.skill, c = hello; 1-> @@ -281,9 +287,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 11> ^^^^^ 12> ^ 1-> - > + >var 2 > -3 > var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" } +3 > { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" } 4 > 5 > name: nameC 6 > , @@ -293,8 +299,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatement1.ts 10> = 11> hello 12> ; -1->Emitted(9, 1) Source(17, 1) + SourceIndex(0) -2 >Emitted(9, 5) Source(17, 1) + SourceIndex(0) +1->Emitted(9, 1) Source(17, 5) + SourceIndex(0) +2 >Emitted(9, 5) Source(17, 5) + SourceIndex(0) 3 >Emitted(9, 51) Source(17, 79) + SourceIndex(0) 4 >Emitted(9, 53) Source(17, 7) + SourceIndex(0) 5 >Emitted(9, 68) Source(17, 18) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types index 9d8023f5f74..9ed1df0f533 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types @@ -17,25 +17,25 @@ declare var console: { } var hello = "hello"; >hello : string ->"hello" : string +>"hello" : "hello" var robotA: Robot = { name: "mower", skill: "mowing" }; >robotA : Robot >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" var robotB: Robot = { name: "trimmer", skill: "trimming" }; >robotB : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" var a: string, { name: nameA } = robotA; >a : string @@ -59,9 +59,9 @@ var c: string, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting >skillC : string >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" var { name: nameA } = robotA, a = hello; >name : any @@ -77,7 +77,7 @@ var { name: nameB, skill: skillB } = robotB, b = " hello"; >skillB : string >robotB : Robot >b : string ->" hello" : string +>" hello" : " hello" var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c = hello; >name : any @@ -86,9 +86,9 @@ var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, >skillC : string >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" >c : string >hello : string @@ -99,7 +99,7 @@ var a = hello, { name: nameA } = robotA, a1= "hello"; >nameA : string >robotA : Robot >a1 : string ->"hello" : string +>"hello" : "hello" var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello"; >b : string @@ -110,7 +110,7 @@ var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello"; >skillB : string >robotB : Robot >b1 : string ->"hello" : string +>"hello" : "hello" var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c1 = hello; >c : string @@ -121,9 +121,9 @@ var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting >skillC : string >{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" >c1 : string >hello : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js.map index cf91be353da..85d004a7ec6 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAGxC,qBAAK,CAAW;AAClB,uBAAO,CAAW;AAClB,wBAAQ,EAAE,kBAAM,EAAE,mBAAO,CAAW;AAEpC,iDAAQ,CAAoC;AACjD,IAAA,oCAA8D,EAAzD,eAAO,EAAE,aAAK,EAAE,cAAM,CAAoC;AAE1D,wBAAQ,EAAE,4BAAa,CAAW;AAEvC,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAGxC,IAAA,iBAAK,CAAW;AAClB,IAAA,mBAAO,CAAW;AAClB,IAAA,oBAAQ,EAAE,kBAAM,EAAE,mBAAO,CAAW;AAEpC,IAAA,6CAAQ,CAAoC;AAC7C,IAAA,oCAA0D,EAAzD,eAAO,EAAE,aAAK,EAAE,cAAM,CAAoC;AAE1D,IAAA,oBAAQ,EAAE,4BAAa,CAAW;AAEvC,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.sourcemap.txt index 43bcf108a9d..fbb082b4ecc 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.sourcemap.txt @@ -92,69 +92,81 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern. --- >>>var nameA = robotA[1]; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^-> 1 > > > >let [, -2 >nameA -3 > ] = robotA; +2 > +3 > nameA +4 > ] = robotA; 1 >Emitted(3, 1) Source(9, 8) + SourceIndex(0) -2 >Emitted(3, 22) Source(9, 13) + SourceIndex(0) -3 >Emitted(3, 23) Source(9, 24) + SourceIndex(0) +2 >Emitted(3, 5) Source(9, 8) + SourceIndex(0) +3 >Emitted(3, 22) Source(9, 13) + SourceIndex(0) +4 >Emitted(3, 23) Source(9, 24) + SourceIndex(0) --- >>>var numberB = robotB[0]; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >let [ -2 >numberB -3 > ] = robotB; +2 > +3 > numberB +4 > ] = robotB; 1->Emitted(4, 1) Source(10, 6) + SourceIndex(0) -2 >Emitted(4, 24) Source(10, 13) + SourceIndex(0) -3 >Emitted(4, 25) Source(10, 24) + SourceIndex(0) +2 >Emitted(4, 5) Source(10, 6) + SourceIndex(0) +3 >Emitted(4, 24) Source(10, 13) + SourceIndex(0) +4 >Emitted(4, 25) Source(10, 24) + SourceIndex(0) --- >>>var numberA2 = robotA[0], nameA2 = robotA[1], skillA2 = robotA[2]; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^ +8 > ^ 1-> >let [ -2 >numberA2 -3 > , -4 > nameA2 -5 > , -6 > skillA2 -7 > ] = robotA; +2 > +3 > numberA2 +4 > , +5 > nameA2 +6 > , +7 > skillA2 +8 > ] = robotA; 1->Emitted(5, 1) Source(11, 6) + SourceIndex(0) -2 >Emitted(5, 25) Source(11, 14) + SourceIndex(0) -3 >Emitted(5, 27) Source(11, 16) + SourceIndex(0) -4 >Emitted(5, 45) Source(11, 22) + SourceIndex(0) -5 >Emitted(5, 47) Source(11, 24) + SourceIndex(0) -6 >Emitted(5, 66) Source(11, 31) + SourceIndex(0) -7 >Emitted(5, 67) Source(11, 42) + SourceIndex(0) +2 >Emitted(5, 5) Source(11, 6) + SourceIndex(0) +3 >Emitted(5, 25) Source(11, 14) + SourceIndex(0) +4 >Emitted(5, 27) Source(11, 16) + SourceIndex(0) +5 >Emitted(5, 45) Source(11, 22) + SourceIndex(0) +6 >Emitted(5, 47) Source(11, 24) + SourceIndex(0) +7 >Emitted(5, 66) Source(11, 31) + SourceIndex(0) +8 >Emitted(5, 67) Source(11, 42) + SourceIndex(0) --- >>>var numberC2 = [3, "edging", "Trimming edges"][0]; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >let [ -2 >numberC2 -3 > ] = [3, "edging", "Trimming edges"]; +2 > +3 > numberC2 +4 > ] = [3, "edging", "Trimming edges"]; 1 >Emitted(6, 1) Source(13, 6) + SourceIndex(0) -2 >Emitted(6, 50) Source(13, 14) + SourceIndex(0) -3 >Emitted(6, 51) Source(13, 50) + SourceIndex(0) +2 >Emitted(6, 5) Source(13, 6) + SourceIndex(0) +3 >Emitted(6, 50) Source(13, 14) + SourceIndex(0) +4 >Emitted(6, 51) Source(13, 50) + SourceIndex(0) --- >>>var _a = [3, "edging", "Trimming edges"], numberC = _a[0], nameC = _a[1], skillC = _a[2]; 1-> @@ -168,9 +180,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern. 9 > ^^^^^^^^^^^^^^ 10> ^ 1-> - > + >let 2 > -3 > let [numberC, nameC, skillC] = [3, "edging", "Trimming edges"] +3 > [numberC, nameC, skillC] = [3, "edging", "Trimming edges"] 4 > 5 > numberC 6 > , @@ -178,8 +190,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern. 8 > , 9 > skillC 10> ] = [3, "edging", "Trimming edges"]; -1->Emitted(7, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(7, 5) Source(14, 1) + SourceIndex(0) +1->Emitted(7, 1) Source(14, 5) + SourceIndex(0) +2 >Emitted(7, 5) Source(14, 5) + SourceIndex(0) 3 >Emitted(7, 41) Source(14, 63) + SourceIndex(0) 4 >Emitted(7, 43) Source(14, 6) + SourceIndex(0) 5 >Emitted(7, 58) Source(14, 13) + SourceIndex(0) @@ -191,22 +203,25 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern. --- >>>var numberA3 = robotA[0], robotAInfo = robotA.slice(1); 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ 1 > > >let [ -2 >numberA3 -3 > , -4 > ...robotAInfo -5 > ] = robotA; +2 > +3 > numberA3 +4 > , +5 > ...robotAInfo +6 > ] = robotA; 1 >Emitted(8, 1) Source(16, 6) + SourceIndex(0) -2 >Emitted(8, 25) Source(16, 14) + SourceIndex(0) -3 >Emitted(8, 27) Source(16, 16) + SourceIndex(0) -4 >Emitted(8, 55) Source(16, 29) + SourceIndex(0) -5 >Emitted(8, 56) Source(16, 40) + SourceIndex(0) +2 >Emitted(8, 5) Source(16, 6) + SourceIndex(0) +3 >Emitted(8, 25) Source(16, 14) + SourceIndex(0) +4 >Emitted(8, 27) Source(16, 16) + SourceIndex(0) +5 >Emitted(8, 55) Source(16, 29) + SourceIndex(0) +6 >Emitted(8, 56) Source(16, 40) + SourceIndex(0) --- >>>if (nameA == nameA2) { 1 > diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types index 73006f4ec45..46bdfec4b06 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types @@ -13,17 +13,17 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" var robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let [, nameA] = robotA; @@ -44,22 +44,22 @@ let [numberA2, nameA2, skillA2] = robotA; let [numberC2] = [3, "edging", "Trimming edges"]; >numberC2 : number >[3, "edging", "Trimming edges"] : [number, string, string] ->3 : number ->"edging" : string ->"Trimming edges" : string +>3 : 3 +>"edging" : "edging" +>"Trimming edges" : "Trimming edges" let [numberC, nameC, skillC] = [3, "edging", "Trimming edges"]; >numberC : number >nameC : string >skillC : string >[3, "edging", "Trimming edges"] : [number, string, string] ->3 : number ->"edging" : string ->"Trimming edges" : string +>3 : 3 +>"edging" : "edging" +>"Trimming edges" : "Trimming edges" let [numberA3, ...robotAInfo] = robotA; >numberA3 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robotA : [number, string, string] if (nameA == nameA2) { diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map index 6d0bcc3b9b2..30ce8c0ea8a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts"],"names":[],"mappings":"AAIA,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,2BAAM,CAAgB;AACxB,2BAAM,CAAgB;AACtB,2BAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,CAAiB;AAExD,iDAAM,CAAsC;AACjD,IAAA,sCAAmF,EAA9E,eAAO,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,CAAuC;AAE/E,0CAAkB,CAAgB;AAEvC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts"],"names":[],"mappings":"AAIA,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,IAAA,uBAAM,CAAgB;AACxB,IAAA,uBAAM,CAAgB;AACtB,IAAA,uBAAM,EAAE,mBAAgC,EAA/B,qBAAa,EAAE,uBAAe,CAAiB;AAExD,IAAA,6CAAM,CAAsC;AAC7C,IAAA,sCAA+E,EAA9E,eAAO,EAAE,UAAgC,EAA/B,qBAAa,EAAE,uBAAe,CAAuC;AAE/E,IAAA,sCAAkB,CAAgB;AAEvC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.sourcemap.txt index 64e22a28771..fb2170d1b46 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.sourcemap.txt @@ -104,74 +104,86 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern2 --- >>>var skillA = multiRobotA[1]; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^-> 1 > > >let [, -2 >skillA -3 > ] = multiRobotA; +2 > +3 > skillA +4 > ] = multiRobotA; 1 >Emitted(3, 1) Source(8, 8) + SourceIndex(0) -2 >Emitted(3, 28) Source(8, 14) + SourceIndex(0) -3 >Emitted(3, 29) Source(8, 30) + SourceIndex(0) +2 >Emitted(3, 5) Source(8, 8) + SourceIndex(0) +3 >Emitted(3, 28) Source(8, 14) + SourceIndex(0) +4 >Emitted(3, 29) Source(8, 30) + SourceIndex(0) --- >>>var nameMB = multiRobotB[0]; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >let [ -2 >nameMB -3 > ] = multiRobotB; +2 > +3 > nameMB +4 > ] = multiRobotB; 1->Emitted(4, 1) Source(9, 6) + SourceIndex(0) -2 >Emitted(4, 28) Source(9, 12) + SourceIndex(0) -3 >Emitted(4, 29) Source(9, 28) + SourceIndex(0) +2 >Emitted(4, 5) Source(9, 6) + SourceIndex(0) +3 >Emitted(4, 28) Source(9, 12) + SourceIndex(0) +4 >Emitted(4, 29) Source(9, 28) + SourceIndex(0) --- >>>var nameMA = multiRobotA[0], _a = multiRobotA[1], primarySkillA = _a[0], secondarySkillA = _a[1]; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^ +10> ^ 1-> >let [ -2 >nameMA -3 > , -4 > [primarySkillA, secondarySkillA] -5 > -6 > primarySkillA -7 > , -8 > secondarySkillA -9 > ]] = multiRobotA; +2 > +3 > nameMA +4 > , +5 > [primarySkillA, secondarySkillA] +6 > +7 > primarySkillA +8 > , +9 > secondarySkillA +10> ]] = multiRobotA; 1->Emitted(5, 1) Source(10, 6) + SourceIndex(0) -2 >Emitted(5, 28) Source(10, 12) + SourceIndex(0) -3 >Emitted(5, 30) Source(10, 14) + SourceIndex(0) -4 >Emitted(5, 49) Source(10, 46) + SourceIndex(0) -5 >Emitted(5, 51) Source(10, 15) + SourceIndex(0) -6 >Emitted(5, 72) Source(10, 28) + SourceIndex(0) -7 >Emitted(5, 74) Source(10, 30) + SourceIndex(0) -8 >Emitted(5, 97) Source(10, 45) + SourceIndex(0) -9 >Emitted(5, 98) Source(10, 62) + SourceIndex(0) +2 >Emitted(5, 5) Source(10, 6) + SourceIndex(0) +3 >Emitted(5, 28) Source(10, 12) + SourceIndex(0) +4 >Emitted(5, 30) Source(10, 14) + SourceIndex(0) +5 >Emitted(5, 49) Source(10, 46) + SourceIndex(0) +6 >Emitted(5, 51) Source(10, 15) + SourceIndex(0) +7 >Emitted(5, 72) Source(10, 28) + SourceIndex(0) +8 >Emitted(5, 74) Source(10, 30) + SourceIndex(0) +9 >Emitted(5, 97) Source(10, 45) + SourceIndex(0) +10>Emitted(5, 98) Source(10, 62) + SourceIndex(0) --- >>>var nameMC = ["roomba", ["vaccum", "mopping"]][0]; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >let [ -2 >nameMC -3 > ] = ["roomba", ["vaccum", "mopping"]]; +2 > +3 > nameMC +4 > ] = ["roomba", ["vaccum", "mopping"]]; 1 >Emitted(6, 1) Source(12, 6) + SourceIndex(0) -2 >Emitted(6, 50) Source(12, 12) + SourceIndex(0) -3 >Emitted(6, 51) Source(12, 50) + SourceIndex(0) +2 >Emitted(6, 5) Source(12, 6) + SourceIndex(0) +3 >Emitted(6, 50) Source(12, 12) + SourceIndex(0) +4 >Emitted(6, 51) Source(12, 50) + SourceIndex(0) --- >>>var _b = ["roomba", ["vaccum", "mopping"]], nameMC2 = _b[0], _c = _b[1], primarySkillC = _c[0], secondarySkillC = _c[1]; 1-> @@ -187,9 +199,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern2 11> ^^^^^^^^^^^^^^^^^^^^^^^ 12> ^ 1-> - > + >let 2 > -3 > let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]] +3 > [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]] 4 > 5 > nameMC2 6 > , @@ -199,8 +211,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern2 10> , 11> secondarySkillC 12> ]] = ["roomba", ["vaccum", "mopping"]]; -1->Emitted(7, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(7, 5) Source(13, 1) + SourceIndex(0) +1->Emitted(7, 1) Source(13, 5) + SourceIndex(0) +2 >Emitted(7, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(7, 43) Source(13, 84) + SourceIndex(0) 4 >Emitted(7, 45) Source(13, 6) + SourceIndex(0) 5 >Emitted(7, 60) Source(13, 13) + SourceIndex(0) @@ -214,16 +226,19 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern2 --- >>>var multiRobotAInfo = multiRobotA.slice(0); 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^ 1 > > >let [ -2 >...multiRobotAInfo -3 > ] = multiRobotA; +2 > +3 > ...multiRobotAInfo +4 > ] = multiRobotA; 1 >Emitted(8, 1) Source(15, 6) + SourceIndex(0) -2 >Emitted(8, 43) Source(15, 24) + SourceIndex(0) -3 >Emitted(8, 44) Source(15, 40) + SourceIndex(0) +2 >Emitted(8, 5) Source(15, 6) + SourceIndex(0) +3 >Emitted(8, 43) Source(15, 24) + SourceIndex(0) +4 >Emitted(8, 44) Source(15, 40) + SourceIndex(0) --- >>>if (nameMB == nameMA) { 1 > diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types index 57d4b271c2f..99f280985b5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types @@ -13,19 +13,19 @@ var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let [, skillA] = multiRobotA; > : undefined @@ -45,20 +45,20 @@ let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA; let [nameMC] = ["roomba", ["vaccum", "mopping"]]; >nameMC : string >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]]; >nameMC2 : string >primarySkillC : string >secondarySkillC : string >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" let [...multiRobotAInfo] = multiRobotA; >multiRobotAInfo : (string | [string, string])[] @@ -77,8 +77,8 @@ if (nameMB == nameMA) { >skillA[0] + skillA[1] : string >skillA[0] : string >skillA : [string, string] ->0 : number +>0 : 0 >skillA[1] : string >skillA : [string, string] ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types index 5ca93029977..bdd2059b863 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types @@ -16,35 +16,35 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" var robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["mower", ["mowing", ""]] : [string, [string, string]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : [string, string] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, [string, string]] >MultiSkilledRobot : [string, [string, string]] >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let nameA: string, numberB: number, nameB: string, skillB: string; >nameA : string @@ -53,7 +53,7 @@ let nameA: string, numberB: number, nameB: string, skillB: string; >skillB : string let robotAInfo: (number | string)[]; ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] let multiSkillB: [string, string], nameMB: string, primarySkillB: string, secondarySkillB: string; >multiSkillB : [string, string] @@ -85,9 +85,9 @@ let multiRobotAInfo: (string | [string, string])[]; > : undefined >nameB : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [, multiSkillB] = multiRobotB; >[, multiSkillB] = multiRobotB : [string, [string, string]] @@ -110,10 +110,10 @@ let multiRobotAInfo: (string | [string, string])[]; > : undefined >multiSkillB : [string, string] >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" [numberB] = robotB; >[numberB] = robotB : [number, string, string] @@ -133,9 +133,9 @@ let multiRobotAInfo: (string | [string, string])[]; >[numberB] : [number] >numberB : number >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [nameMB] = multiRobotB; >[nameMB] = multiRobotB : [string, [string, string]] @@ -155,10 +155,10 @@ let multiRobotAInfo: (string | [string, string])[]; >[nameMB] : [string] >nameMB : string >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" [numberB, nameB, skillB] = robotB; >[numberB, nameB, skillB] = robotB : [number, string, string] @@ -184,9 +184,9 @@ let multiRobotAInfo: (string | [string, string])[]; >nameB : string >skillB : string >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [nameMB, [primarySkillB, secondarySkillB]] = multiRobotB; >[nameMB, [primarySkillB, secondarySkillB]] = multiRobotB : [string, [string, string]] @@ -215,40 +215,40 @@ let multiRobotAInfo: (string | [string, string])[]; >primarySkillB : string >secondarySkillB : string >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" [numberB, ...robotAInfo] = robotB; >[numberB, ...robotAInfo] = robotB : [number, string, string] ->[numberB, ...robotAInfo] : (number | string)[] +>[numberB, ...robotAInfo] : (string | number)[] >numberB : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robotB : [number, string, string] [numberB, ...robotAInfo] = getRobotB(); >[numberB, ...robotAInfo] = getRobotB() : [number, string, string] ->[numberB, ...robotAInfo] : (number | string)[] +>[numberB, ...robotAInfo] : (string | number)[] >numberB : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobotB() : [number, string, string] >getRobotB : () => [number, string, string] [numberB, ...robotAInfo] = [2, "trimmer", "trimming"]; >[numberB, ...robotAInfo] = [2, "trimmer", "trimming"] : [number, string, string] ->[numberB, ...robotAInfo] : (number | string)[] +>[numberB, ...robotAInfo] : (string | number)[] >numberB : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[2, "trimmer", "trimming"] : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [...multiRobotAInfo] = multiRobotA; >[...multiRobotAInfo] = multiRobotA : [string, [string, string]] @@ -271,10 +271,10 @@ let multiRobotAInfo: (string | [string, string])[]; >...multiRobotAInfo : string | [string, string] >multiRobotAInfo : (string | [string, string])[] >["trimmer", ["trimming", "edging"]] : (string | [string, string])[] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" if (nameA == nameB) { >nameA == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map index 96fd86faa4e..faa5e070b0a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.ts"],"names":[],"mappings":"AACK,iBAAC,CAAW"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.ts"],"names":[],"mappings":"AACK,IAAA,aAAC,CAAW"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.sourcemap.txt index a52c7701db2..0499d382d10 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.sourcemap.txt @@ -10,15 +10,18 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern4 ------------------------------------------------------------------- >>>var x = [1, 2][0]; 1 > -2 >^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var [ -2 >x -3 > ] = [1, 2]; +2 > +3 > x +4 > ] = [1, 2]; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 18) Source(2, 7) + SourceIndex(0) -3 >Emitted(1, 19) Source(2, 18) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 18) Source(2, 7) + SourceIndex(0) +4 >Emitted(1, 19) Source(2, 18) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.types index 461939a11aa..4f61c672b81 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern4.types @@ -3,6 +3,6 @@ var [x] = [1, 2]; >x : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js.map index 337a73240b9..31ad84b4b44 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.ts"],"names":[],"mappings":"AACK,iBAAC,CAAW;AACjB,IAAA,WAAmB,EAAd,SAAC,EAAE,SAAC,CAAW"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.ts"],"names":[],"mappings":"AACK,IAAA,aAAC,CAAW;AACb,IAAA,WAAe,EAAd,SAAC,EAAE,SAAC,CAAW"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.sourcemap.txt index 338b6424185..1775f60ffe0 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.sourcemap.txt @@ -10,16 +10,19 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern5 ------------------------------------------------------------------- >>>var x = [1, 2][0]; 1 > -2 >^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^-> 1 > >var [ -2 >x -3 > ] = [1, 2]; +2 > +3 > x +4 > ] = [1, 2]; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 18) Source(2, 7) + SourceIndex(0) -3 >Emitted(1, 19) Source(2, 18) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 18) Source(2, 7) + SourceIndex(0) +4 >Emitted(1, 19) Source(2, 18) + SourceIndex(0) --- >>>var _a = [1, 2], y = _a[0], z = _a[1]; 1-> @@ -32,16 +35,16 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern5 8 > ^ 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> - > + >var 2 > -3 > var [y, z] = [1, 2] +3 > [y, z] = [1, 2] 4 > 5 > y 6 > , 7 > z 8 > ] = [1, 2]; -1->Emitted(2, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(3, 1) + SourceIndex(0) +1->Emitted(2, 1) Source(3, 5) + SourceIndex(0) +2 >Emitted(2, 5) Source(3, 5) + SourceIndex(0) 3 >Emitted(2, 16) Source(3, 20) + SourceIndex(0) 4 >Emitted(2, 18) Source(3, 6) + SourceIndex(0) 5 >Emitted(2, 27) Source(3, 7) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.types index 1ef747517e4..908e566ca71 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern5.types @@ -3,13 +3,13 @@ var [x] = [1, 2]; >x : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var [y, z] = [1, 2]; >y : number >z : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map index 9594cc22809..1271129d1c9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.ts"],"names":[],"mappings":"AACK,kBAAM,EAAN,2BAAM,CAAW"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.ts"],"names":[],"mappings":"AACK,IAAA,cAAM,EAAN,2BAAM,CAAW"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.sourcemap.txt index 90ebe4dc9ac..2dadb2f5352 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.sourcemap.txt @@ -10,21 +10,24 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern6 ------------------------------------------------------------------- >>>var _a = [1, 2][0], x = _a === void 0 ? 20 : _a; 1 > -2 >^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var [ -2 >x = 20 -3 > -4 > x = 20 -5 > ] = [1, 2]; +2 > +3 > x = 20 +4 > +5 > x = 20 +6 > ] = [1, 2]; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 19) Source(2, 12) + SourceIndex(0) -3 >Emitted(1, 21) Source(2, 6) + SourceIndex(0) -4 >Emitted(1, 48) Source(2, 12) + SourceIndex(0) -5 >Emitted(1, 49) Source(2, 23) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 19) Source(2, 12) + SourceIndex(0) +4 >Emitted(1, 21) Source(2, 6) + SourceIndex(0) +5 >Emitted(1, 48) Source(2, 12) + SourceIndex(0) +6 >Emitted(1, 49) Source(2, 23) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.types index 1b94874ae7c..166a6192bb7 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern6.types @@ -2,8 +2,8 @@ var [x = 20] = [1, 2]; >x : number ->20 : number +>20 : 20 >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js.map index 0def6b1a730..eb0df6f9ca2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.ts"],"names":[],"mappings":"AACA,IAAA,WAAwB,EAAnB,UAAM,EAAN,2BAAM,EAAE,SAAC,CAAW"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.ts"],"names":[],"mappings":"AACI,IAAA,WAAoB,EAAnB,UAAM,EAAN,2BAAM,EAAE,SAAC,CAAW"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.sourcemap.txt index f2a95375f2a..e4b2c871cb1 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.sourcemap.txt @@ -21,9 +21,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern7 10> ^ 11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > - > + >var 2 > -3 > var [x = 20, j] = [1, 2] +3 > [x = 20, j] = [1, 2] 4 > 5 > x = 20 6 > @@ -31,8 +31,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern7 8 > , 9 > j 10> ] = [1, 2]; -1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(1, 5) Source(2, 1) + SourceIndex(0) +1 >Emitted(1, 1) Source(2, 5) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 5) + SourceIndex(0) 3 >Emitted(1, 16) Source(2, 25) + SourceIndex(0) 4 >Emitted(1, 18) Source(2, 6) + SourceIndex(0) 5 >Emitted(1, 28) Source(2, 12) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.types index 9b369e410a4..da537c6e109 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern7.types @@ -2,9 +2,9 @@ var [x = 20, j] = [1, 2]; >x : number ->20 : number +>20 : 20 >j : number >[1, 2] : [number, number] ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js.map index ce017fbbbcd..eb622ca275b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAExC,kBAAgB,EAAhB,qCAAgB,CAAW;AAC7B,kBAAY,EAAZ,iCAAY,CAAW;AACvB,kBAAa,EAAb,kCAAa,EAAE,cAAiB,EAAjB,sCAAiB,EAAE,cAAmB,EAAnB,wCAAmB,CAAW;AAEhE,2CAAa,EAAb,kCAAa,CAAoC;AACtD,IAAA,oCAA0F,EAArF,UAAY,EAAZ,iCAAY,EAAE,UAAgB,EAAhB,qCAAgB,EAAE,UAAkB,EAAlB,uCAAkB,CAAoC;AAEtF,kBAAa,EAAb,kCAAa,EAAE,4BAAa,CAAW;AAE5C,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAExC,IAAA,cAAgB,EAAhB,qCAAgB,CAAW;AAC7B,IAAA,cAAY,EAAZ,iCAAY,CAAW;AACvB,IAAA,cAAa,EAAb,kCAAa,EAAE,cAAiB,EAAjB,sCAAiB,EAAE,cAAmB,EAAnB,wCAAmB,CAAW;AAEhE,IAAA,uCAAa,EAAb,kCAAa,CAAoC;AAClD,IAAA,oCAAsF,EAArF,UAAY,EAAZ,iCAAY,EAAE,UAAgB,EAAhB,qCAAgB,EAAE,UAAkB,EAAlB,uCAAkB,CAAoC;AAEtF,IAAA,cAAa,EAAb,kCAAa,EAAE,4BAAa,CAAW;AAE5C,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.sourcemap.txt index 9df44518ca1..93c8e84f4cd 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.sourcemap.txt @@ -93,103 +93,115 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD --- >>>var _a = robotA[1], nameA = _a === void 0 ? "noName" : _a; 1-> -2 >^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ 1-> > >let [, -2 >nameA = "noName" -3 > -4 > nameA = "noName" -5 > ] = robotA; +2 > +3 > nameA = "noName" +4 > +5 > nameA = "noName" +6 > ] = robotA; 1->Emitted(3, 1) Source(8, 8) + SourceIndex(0) -2 >Emitted(3, 19) Source(8, 24) + SourceIndex(0) -3 >Emitted(3, 21) Source(8, 8) + SourceIndex(0) -4 >Emitted(3, 58) Source(8, 24) + SourceIndex(0) -5 >Emitted(3, 59) Source(8, 35) + SourceIndex(0) +2 >Emitted(3, 5) Source(8, 8) + SourceIndex(0) +3 >Emitted(3, 19) Source(8, 24) + SourceIndex(0) +4 >Emitted(3, 21) Source(8, 8) + SourceIndex(0) +5 >Emitted(3, 58) Source(8, 24) + SourceIndex(0) +6 >Emitted(3, 59) Source(8, 35) + SourceIndex(0) --- >>>var _b = robotB[0], numberB = _b === void 0 ? -1 : _b; 1 > -2 >^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >let [ -2 >numberB = -1 -3 > -4 > numberB = -1 -5 > ] = robotB; +2 > +3 > numberB = -1 +4 > +5 > numberB = -1 +6 > ] = robotB; 1 >Emitted(4, 1) Source(9, 6) + SourceIndex(0) -2 >Emitted(4, 19) Source(9, 18) + SourceIndex(0) -3 >Emitted(4, 21) Source(9, 6) + SourceIndex(0) -4 >Emitted(4, 54) Source(9, 18) + SourceIndex(0) -5 >Emitted(4, 55) Source(9, 29) + SourceIndex(0) +2 >Emitted(4, 5) Source(9, 6) + SourceIndex(0) +3 >Emitted(4, 19) Source(9, 18) + SourceIndex(0) +4 >Emitted(4, 21) Source(9, 6) + SourceIndex(0) +5 >Emitted(4, 54) Source(9, 18) + SourceIndex(0) +6 >Emitted(4, 55) Source(9, 29) + SourceIndex(0) --- >>>var _c = robotA[0], numberA2 = _c === void 0 ? -1 : _c, _d = robotA[1], nameA2 = _d === void 0 ? "noName" : _d, _e = robotA[2], skillA2 = _e === void 0 ? "noSkill" : _e; 1-> -2 >^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^ 1-> >let [ -2 >numberA2 = -1 -3 > -4 > numberA2 = -1 -5 > , -6 > nameA2 = "noName" -7 > -8 > nameA2 = "noName" -9 > , -10> skillA2 = "noSkill" -11> -12> skillA2 = "noSkill" -13> ] = robotA; +2 > +3 > numberA2 = -1 +4 > +5 > numberA2 = -1 +6 > , +7 > nameA2 = "noName" +8 > +9 > nameA2 = "noName" +10> , +11> skillA2 = "noSkill" +12> +13> skillA2 = "noSkill" +14> ] = robotA; 1->Emitted(5, 1) Source(10, 6) + SourceIndex(0) -2 >Emitted(5, 19) Source(10, 19) + SourceIndex(0) -3 >Emitted(5, 21) Source(10, 6) + SourceIndex(0) -4 >Emitted(5, 55) Source(10, 19) + SourceIndex(0) -5 >Emitted(5, 57) Source(10, 21) + SourceIndex(0) -6 >Emitted(5, 71) Source(10, 38) + SourceIndex(0) -7 >Emitted(5, 73) Source(10, 21) + SourceIndex(0) -8 >Emitted(5, 111) Source(10, 38) + SourceIndex(0) -9 >Emitted(5, 113) Source(10, 40) + SourceIndex(0) -10>Emitted(5, 127) Source(10, 59) + SourceIndex(0) -11>Emitted(5, 129) Source(10, 40) + SourceIndex(0) -12>Emitted(5, 169) Source(10, 59) + SourceIndex(0) -13>Emitted(5, 170) Source(10, 70) + SourceIndex(0) +2 >Emitted(5, 5) Source(10, 6) + SourceIndex(0) +3 >Emitted(5, 19) Source(10, 19) + SourceIndex(0) +4 >Emitted(5, 21) Source(10, 6) + SourceIndex(0) +5 >Emitted(5, 55) Source(10, 19) + SourceIndex(0) +6 >Emitted(5, 57) Source(10, 21) + SourceIndex(0) +7 >Emitted(5, 71) Source(10, 38) + SourceIndex(0) +8 >Emitted(5, 73) Source(10, 21) + SourceIndex(0) +9 >Emitted(5, 111) Source(10, 38) + SourceIndex(0) +10>Emitted(5, 113) Source(10, 40) + SourceIndex(0) +11>Emitted(5, 127) Source(10, 59) + SourceIndex(0) +12>Emitted(5, 129) Source(10, 40) + SourceIndex(0) +13>Emitted(5, 169) Source(10, 59) + SourceIndex(0) +14>Emitted(5, 170) Source(10, 70) + SourceIndex(0) --- >>>var _f = [3, "edging", "Trimming edges"][0], numberC2 = _f === void 0 ? -1 : _f; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >let [ -2 >numberC2 = -1 -3 > -4 > numberC2 = -1 -5 > ] = [3, "edging", "Trimming edges"]; +2 > +3 > numberC2 = -1 +4 > +5 > numberC2 = -1 +6 > ] = [3, "edging", "Trimming edges"]; 1 >Emitted(6, 1) Source(12, 6) + SourceIndex(0) -2 >Emitted(6, 44) Source(12, 19) + SourceIndex(0) -3 >Emitted(6, 46) Source(12, 6) + SourceIndex(0) -4 >Emitted(6, 80) Source(12, 19) + SourceIndex(0) -5 >Emitted(6, 81) Source(12, 55) + SourceIndex(0) +2 >Emitted(6, 5) Source(12, 6) + SourceIndex(0) +3 >Emitted(6, 44) Source(12, 19) + SourceIndex(0) +4 >Emitted(6, 46) Source(12, 6) + SourceIndex(0) +5 >Emitted(6, 80) Source(12, 19) + SourceIndex(0) +6 >Emitted(6, 81) Source(12, 55) + SourceIndex(0) --- >>>var _g = [3, "edging", "Trimming edges"], _h = _g[0], numberC = _h === void 0 ? -1 : _h, _j = _g[1], nameC = _j === void 0 ? "noName" : _j, _k = _g[2], skillC = _k === void 0 ? "noSkill" : _k; 1-> @@ -209,9 +221,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD 15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 16> ^ 1-> - > + >let 2 > -3 > let [numberC = -1, nameC = "noName", skillC = "noSkill"] = [3, "edging", "Trimming edges"] +3 > [numberC = -1, nameC = "noName", skillC = "noSkill"] = [3, "edging", "Trimming edges"] 4 > 5 > numberC = -1 6 > @@ -225,8 +237,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD 14> 15> skillC = "noSkill" 16> ] = [3, "edging", "Trimming edges"]; -1->Emitted(7, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(7, 5) Source(13, 1) + SourceIndex(0) +1->Emitted(7, 1) Source(13, 5) + SourceIndex(0) +2 >Emitted(7, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(7, 41) Source(13, 91) + SourceIndex(0) 4 >Emitted(7, 43) Source(13, 6) + SourceIndex(0) 5 >Emitted(7, 53) Source(13, 18) + SourceIndex(0) @@ -244,28 +256,31 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD --- >>>var _l = robotA[0], numberA3 = _l === void 0 ? -1 : _l, robotAInfo = robotA.slice(1); 1 > -2 >^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^ 1 > > >let [ -2 >numberA3 = -1 -3 > -4 > numberA3 = -1 -5 > , -6 > ...robotAInfo -7 > ] = robotA; +2 > +3 > numberA3 = -1 +4 > +5 > numberA3 = -1 +6 > , +7 > ...robotAInfo +8 > ] = robotA; 1 >Emitted(8, 1) Source(15, 6) + SourceIndex(0) -2 >Emitted(8, 19) Source(15, 19) + SourceIndex(0) -3 >Emitted(8, 21) Source(15, 6) + SourceIndex(0) -4 >Emitted(8, 55) Source(15, 19) + SourceIndex(0) -5 >Emitted(8, 57) Source(15, 21) + SourceIndex(0) -6 >Emitted(8, 85) Source(15, 34) + SourceIndex(0) -7 >Emitted(8, 86) Source(15, 45) + SourceIndex(0) +2 >Emitted(8, 5) Source(15, 6) + SourceIndex(0) +3 >Emitted(8, 19) Source(15, 19) + SourceIndex(0) +4 >Emitted(8, 21) Source(15, 6) + SourceIndex(0) +5 >Emitted(8, 55) Source(15, 19) + SourceIndex(0) +6 >Emitted(8, 57) Source(15, 21) + SourceIndex(0) +7 >Emitted(8, 85) Source(15, 34) + SourceIndex(0) +8 >Emitted(8, 86) Source(15, 45) + SourceIndex(0) --- >>>if (nameA == nameA2) { 1 > diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types index 2dad459725e..fae55a6cabf 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types @@ -13,67 +13,67 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" var robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" let [, nameA = "noName"] = robotA; > : undefined >nameA : string ->"noName" : string +>"noName" : "noName" >robotA : [number, string, string] let [numberB = -1] = robotB; >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robotB : [number, string, string] let [numberA2 = -1, nameA2 = "noName", skillA2 = "noSkill"] = robotA; >numberA2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameA2 : string ->"noName" : string +>"noName" : "noName" >skillA2 : string ->"noSkill" : string +>"noSkill" : "noSkill" >robotA : [number, string, string] let [numberC2 = -1] = [3, "edging", "Trimming edges"]; >numberC2 : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[3, "edging", "Trimming edges"] : [number, string, string] ->3 : number ->"edging" : string ->"Trimming edges" : string +>3 : 3 +>"edging" : "edging" +>"Trimming edges" : "Trimming edges" let [numberC = -1, nameC = "noName", skillC = "noSkill"] = [3, "edging", "Trimming edges"]; >numberC : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >nameC : string ->"noName" : string +>"noName" : "noName" >skillC : string ->"noSkill" : string +>"noSkill" : "noSkill" >[3, "edging", "Trimming edges"] : [number, string, string] ->3 : number ->"edging" : string ->"Trimming edges" : string +>3 : 3 +>"edging" : "edging" +>"Trimming edges" : "Trimming edges" let [numberA3 = -1, ...robotAInfo] = robotA; >numberA3 : number ->-1 : number ->1 : number ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>robotAInfo : (string | number)[] >robotA : [number, string, string] if (nameA == nameA2) { diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js.map index 11ca67c19ad..d7290353064 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAIA,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,uBAA+B,EAA/B,oDAA+B,CAAgB;AACjD,uBAAiB,EAAjB,sCAAiB,CAAiB;AAClC,uBAAiB,EAAjB,sCAAiB,EAAE,mBAAiF,EAAjF,gDAAiF,EAAhF,UAAyB,EAAzB,8CAAyB,EAAE,UAA2B,EAA3B,gDAA2B,CAA0C;AAEpH,6CAAiB,EAAjB,sCAAiB,CAAuC;AAC7D,IAAA,sCAA+I,EAA1I,UAAkB,EAAlB,uCAAkB,EAAE,UAAiF,EAAjF,gDAAiF,EAAhF,UAAyB,EAAzB,8CAAyB,EAAE,UAA2B,EAA3B,gDAA2B,CAAgE;AAEhJ,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAIA,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,IAAA,mBAA+B,EAA/B,oDAA+B,CAAgB;AACjD,IAAA,mBAAiB,EAAjB,sCAAiB,CAAiB;AAClC,IAAA,mBAAiB,EAAjB,sCAAiB,EAAE,mBAAiF,EAAjF,gDAAiF,EAAhF,UAAyB,EAAzB,8CAAyB,EAAE,UAA2B,EAA3B,gDAA2B,CAA0C;AAEpH,IAAA,yCAAiB,EAAjB,sCAAiB,CAAuC;AACzD,IAAA,sCAA2I,EAA1I,UAAkB,EAAlB,uCAAkB,EAAE,UAAiF,EAAjF,gDAAiF,EAAhF,UAAyB,EAAzB,8CAAyB,EAAE,UAA2B,EAA3B,gDAA2B,CAAgE;AAEhJ,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.sourcemap.txt index 30f2ee65592..fc4aa48b1ce 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.sourcemap.txt @@ -105,115 +105,127 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD --- >>>var _a = multiRobotA[1], skillA = _a === void 0 ? ["noSkill", "noSkill"] : _a; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ 1-> > >let [, -2 >skillA = ["noSkill", "noSkill"] -3 > -4 > skillA = ["noSkill", "noSkill"] -5 > ] = multiRobotA; +2 > +3 > skillA = ["noSkill", "noSkill"] +4 > +5 > skillA = ["noSkill", "noSkill"] +6 > ] = multiRobotA; 1->Emitted(3, 1) Source(8, 8) + SourceIndex(0) -2 >Emitted(3, 24) Source(8, 39) + SourceIndex(0) -3 >Emitted(3, 26) Source(8, 8) + SourceIndex(0) -4 >Emitted(3, 78) Source(8, 39) + SourceIndex(0) -5 >Emitted(3, 79) Source(8, 55) + SourceIndex(0) +2 >Emitted(3, 5) Source(8, 8) + SourceIndex(0) +3 >Emitted(3, 24) Source(8, 39) + SourceIndex(0) +4 >Emitted(3, 26) Source(8, 8) + SourceIndex(0) +5 >Emitted(3, 78) Source(8, 39) + SourceIndex(0) +6 >Emitted(3, 79) Source(8, 55) + SourceIndex(0) --- >>>var _b = multiRobotB[0], nameMB = _b === void 0 ? "noName" : _b; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >let [ -2 >nameMB = "noName" -3 > -4 > nameMB = "noName" -5 > ] = multiRobotB; +2 > +3 > nameMB = "noName" +4 > +5 > nameMB = "noName" +6 > ] = multiRobotB; 1 >Emitted(4, 1) Source(9, 6) + SourceIndex(0) -2 >Emitted(4, 24) Source(9, 23) + SourceIndex(0) -3 >Emitted(4, 26) Source(9, 6) + SourceIndex(0) -4 >Emitted(4, 64) Source(9, 23) + SourceIndex(0) -5 >Emitted(4, 65) Source(9, 40) + SourceIndex(0) +2 >Emitted(4, 5) Source(9, 6) + SourceIndex(0) +3 >Emitted(4, 24) Source(9, 23) + SourceIndex(0) +4 >Emitted(4, 26) Source(9, 6) + SourceIndex(0) +5 >Emitted(4, 64) Source(9, 23) + SourceIndex(0) +6 >Emitted(4, 65) Source(9, 40) + SourceIndex(0) --- >>>var _c = multiRobotA[0], nameMA = _c === void 0 ? "noName" : _c, _d = multiRobotA[1], _e = _d === void 0 ? ["noSkill", "noSkill"] : _d, _f = _e[0], primarySkillA = _f === void 0 ? "noSkill" : _f, _g = _e[1], secondarySkillA = _g === void 0 ? "noSkill" : _g; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^ +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^ 1-> >let [ -2 >nameMA = "noName" -3 > -4 > nameMA = "noName" -5 > , -6 > [primarySkillA = "noSkill", secondarySkillA = "noSkill"] = ["noSkill", "noSkill"] -7 > -8 > [primarySkillA = "noSkill", secondarySkillA = "noSkill"] = ["noSkill", "noSkill"] -9 > -10> primarySkillA = "noSkill" -11> -12> primarySkillA = "noSkill" -13> , -14> secondarySkillA = "noSkill" -15> -16> secondarySkillA = "noSkill" -17> ] = ["noSkill", "noSkill"]] = multiRobotA; +2 > +3 > nameMA = "noName" +4 > +5 > nameMA = "noName" +6 > , +7 > [primarySkillA = "noSkill", secondarySkillA = "noSkill"] = ["noSkill", "noSkill"] +8 > +9 > [primarySkillA = "noSkill", secondarySkillA = "noSkill"] = ["noSkill", "noSkill"] +10> +11> primarySkillA = "noSkill" +12> +13> primarySkillA = "noSkill" +14> , +15> secondarySkillA = "noSkill" +16> +17> secondarySkillA = "noSkill" +18> ] = ["noSkill", "noSkill"]] = multiRobotA; 1->Emitted(5, 1) Source(10, 6) + SourceIndex(0) -2 >Emitted(5, 24) Source(10, 23) + SourceIndex(0) -3 >Emitted(5, 26) Source(10, 6) + SourceIndex(0) -4 >Emitted(5, 64) Source(10, 23) + SourceIndex(0) -5 >Emitted(5, 66) Source(10, 25) + SourceIndex(0) -6 >Emitted(5, 85) Source(10, 106) + SourceIndex(0) -7 >Emitted(5, 87) Source(10, 25) + SourceIndex(0) -8 >Emitted(5, 135) Source(10, 106) + SourceIndex(0) -9 >Emitted(5, 137) Source(10, 26) + SourceIndex(0) -10>Emitted(5, 147) Source(10, 51) + SourceIndex(0) -11>Emitted(5, 149) Source(10, 26) + SourceIndex(0) -12>Emitted(5, 195) Source(10, 51) + SourceIndex(0) -13>Emitted(5, 197) Source(10, 53) + SourceIndex(0) -14>Emitted(5, 207) Source(10, 80) + SourceIndex(0) -15>Emitted(5, 209) Source(10, 53) + SourceIndex(0) -16>Emitted(5, 257) Source(10, 80) + SourceIndex(0) -17>Emitted(5, 258) Source(10, 122) + SourceIndex(0) +2 >Emitted(5, 5) Source(10, 6) + SourceIndex(0) +3 >Emitted(5, 24) Source(10, 23) + SourceIndex(0) +4 >Emitted(5, 26) Source(10, 6) + SourceIndex(0) +5 >Emitted(5, 64) Source(10, 23) + SourceIndex(0) +6 >Emitted(5, 66) Source(10, 25) + SourceIndex(0) +7 >Emitted(5, 85) Source(10, 106) + SourceIndex(0) +8 >Emitted(5, 87) Source(10, 25) + SourceIndex(0) +9 >Emitted(5, 135) Source(10, 106) + SourceIndex(0) +10>Emitted(5, 137) Source(10, 26) + SourceIndex(0) +11>Emitted(5, 147) Source(10, 51) + SourceIndex(0) +12>Emitted(5, 149) Source(10, 26) + SourceIndex(0) +13>Emitted(5, 195) Source(10, 51) + SourceIndex(0) +14>Emitted(5, 197) Source(10, 53) + SourceIndex(0) +15>Emitted(5, 207) Source(10, 80) + SourceIndex(0) +16>Emitted(5, 209) Source(10, 53) + SourceIndex(0) +17>Emitted(5, 257) Source(10, 80) + SourceIndex(0) +18>Emitted(5, 258) Source(10, 122) + SourceIndex(0) --- >>>var _h = ["roomba", ["vaccum", "mopping"]][0], nameMC = _h === void 0 ? "noName" : _h; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >let [ -2 >nameMC = "noName" -3 > -4 > nameMC = "noName" -5 > ] = ["roomba", ["vaccum", "mopping"]]; +2 > +3 > nameMC = "noName" +4 > +5 > nameMC = "noName" +6 > ] = ["roomba", ["vaccum", "mopping"]]; 1 >Emitted(6, 1) Source(12, 6) + SourceIndex(0) -2 >Emitted(6, 46) Source(12, 23) + SourceIndex(0) -3 >Emitted(6, 48) Source(12, 6) + SourceIndex(0) -4 >Emitted(6, 86) Source(12, 23) + SourceIndex(0) -5 >Emitted(6, 87) Source(12, 62) + SourceIndex(0) +2 >Emitted(6, 5) Source(12, 6) + SourceIndex(0) +3 >Emitted(6, 46) Source(12, 23) + SourceIndex(0) +4 >Emitted(6, 48) Source(12, 6) + SourceIndex(0) +5 >Emitted(6, 86) Source(12, 23) + SourceIndex(0) +6 >Emitted(6, 87) Source(12, 62) + SourceIndex(0) --- >>>var _j = ["roomba", ["vaccum", "mopping"]], _k = _j[0], nameMC2 = _k === void 0 ? "noName" : _k, _l = _j[1], _m = _l === void 0 ? ["noSkill", "noSkill"] : _l, _o = _m[0], primarySkillC = _o === void 0 ? "noSkill" : _o, _p = _m[1], secondarySkillC = _p === void 0 ? "noSkill" : _p; 1-> @@ -237,9 +249,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD 19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 20> ^ 1-> - > + >let 2 > -3 > let [nameMC2 = "noName", [primarySkillC = "noSkill", secondarySkillC = "noSkill"] = ["noSkill", "noSkill"]] = ["roomba", ["vaccum", "mopping"]] +3 > [nameMC2 = "noName", [primarySkillC = "noSkill", secondarySkillC = "noSkill"] = ["noSkill", "noSkill"]] = ["roomba", ["vaccum", "mopping"]] 4 > 5 > nameMC2 = "noName" 6 > @@ -257,8 +269,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPatternD 18> 19> secondarySkillC = "noSkill" 20> ] = ["noSkill", "noSkill"]] = ["roomba", ["vaccum", "mopping"]]; -1->Emitted(7, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(7, 5) Source(13, 1) + SourceIndex(0) +1->Emitted(7, 1) Source(13, 5) + SourceIndex(0) +2 >Emitted(7, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(7, 43) Source(13, 144) + SourceIndex(0) 4 >Emitted(7, 45) Source(13, 6) + SourceIndex(0) 5 >Emitted(7, 55) Source(13, 24) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types index 12215507d4a..21d75479c6d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types @@ -13,69 +13,69 @@ var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, string[]] >MultiSkilledRobot : [string, string[]] >["mower", ["mowing", ""]] : [string, string[]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : string[] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, string[]] >MultiSkilledRobot : [string, string[]] >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let [, skillA = ["noSkill", "noSkill"]] = multiRobotA; > : undefined >skillA : string[] >["noSkill", "noSkill"] : string[] ->"noSkill" : string ->"noSkill" : string +>"noSkill" : "noSkill" +>"noSkill" : "noSkill" >multiRobotA : [string, string[]] let [nameMB = "noName" ] = multiRobotB; >nameMB : string ->"noName" : string +>"noName" : "noName" >multiRobotB : [string, string[]] let [nameMA = "noName", [primarySkillA = "noSkill", secondarySkillA = "noSkill"] = ["noSkill", "noSkill"]] = multiRobotA; >nameMA : string ->"noName" : string +>"noName" : "noName" >primarySkillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondarySkillA : string ->"noSkill" : string +>"noSkill" : "noSkill" >["noSkill", "noSkill"] : [string, string] ->"noSkill" : string ->"noSkill" : string +>"noSkill" : "noSkill" +>"noSkill" : "noSkill" >multiRobotA : [string, string[]] let [nameMC = "noName" ] = ["roomba", ["vaccum", "mopping"]]; >nameMC : string ->"noName" : string +>"noName" : "noName" >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" let [nameMC2 = "noName", [primarySkillC = "noSkill", secondarySkillC = "noSkill"] = ["noSkill", "noSkill"]] = ["roomba", ["vaccum", "mopping"]]; >nameMC2 : string ->"noName" : string +>"noName" : "noName" >primarySkillC : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondarySkillC : string ->"noSkill" : string +>"noSkill" : "noSkill" >["noSkill", "noSkill"] : [string, string] ->"noSkill" : string ->"noSkill" : string +>"noSkill" : "noSkill" +>"noSkill" : "noSkill" >["roomba", ["vaccum", "mopping"]] : [string, [string, string]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : [string, string] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" if (nameMB == nameMA) { >nameMB == nameMA : boolean @@ -90,8 +90,8 @@ if (nameMB == nameMA) { >skillA[0] + skillA[1] : string >skillA[0] : string >skillA : string[] ->0 : number +>0 : 0 >skillA[1] : string >skillA : string[] ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types index 7edf6c63e4a..35c458f4310 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types @@ -16,35 +16,35 @@ var robotA: Robot = [1, "mower", "mowing"]; >robotA : [number, string, string] >Robot : [number, string, string] >[1, "mower", "mowing"] : [number, string, string] ->1 : number ->"mower" : string ->"mowing" : string +>1 : 1 +>"mower" : "mower" +>"mowing" : "mowing" var robotB: Robot = [2, "trimmer", "trimming"]; >robotB : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]]; >multiRobotA : [string, string[]] >MultiSkilledRobot : [string, string[]] >["mower", ["mowing", ""]] : [string, string[]] ->"mower" : string +>"mower" : "mower" >["mowing", ""] : string[] ->"mowing" : string ->"" : string +>"mowing" : "mowing" +>"" : "" var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]]; >multiRobotB : [string, string[]] >MultiSkilledRobot : [string, string[]] >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" let nameA: string, numberB: number, nameB: string, skillB: string; >nameA : string @@ -53,7 +53,7 @@ let nameA: string, numberB: number, nameB: string, skillB: string; >skillB : string let robotAInfo: (number | string)[]; ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] let multiSkillB: string[], nameMB: string, primarySkillB: string, secondarySkillB: string; >multiSkillB : string[] @@ -68,18 +68,18 @@ let multiRobotAInfo: (string | string[])[]; >[, nameA = "helloNoName"] = robotA : [number, string, string] >[, nameA = "helloNoName"] : [undefined, string] > : undefined ->nameA = "helloNoName" : string +>nameA = "helloNoName" : "helloNoName" >nameA : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >robotA : [number, string, string] [, nameB = "helloNoName"] = getRobotB(); >[, nameB = "helloNoName"] = getRobotB() : [number, string, string] >[, nameB = "helloNoName"] : [undefined, string] > : undefined ->nameB = "helloNoName" : string +>nameB = "helloNoName" : "helloNoName" >nameB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >getRobotB() : [number, string, string] >getRobotB : () => [number, string, string] @@ -87,13 +87,13 @@ let multiRobotAInfo: (string | string[])[]; >[, nameB = "helloNoName"] = [2, "trimmer", "trimming"] : [number, string, string] >[, nameB = "helloNoName"] : [undefined, string] > : undefined ->nameB = "helloNoName" : string +>nameB = "helloNoName" : "helloNoName" >nameB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [, multiSkillB = []] = multiRobotB; >[, multiSkillB = []] = multiRobotB : [string, string[]] @@ -122,151 +122,151 @@ let multiRobotAInfo: (string | string[])[]; >multiSkillB : string[] >[] : undefined[] >["roomba", ["vaccum", "mopping"]] : [string, string[]] ->"roomba" : string +>"roomba" : "roomba" >["vaccum", "mopping"] : string[] ->"vaccum" : string ->"mopping" : string +>"vaccum" : "vaccum" +>"mopping" : "mopping" [numberB = -1] = robotB; >[numberB = -1] = robotB : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >robotB : [number, string, string] [numberB = -1] = getRobotB(); >[numberB = -1] = getRobotB() : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >getRobotB() : [number, string, string] >getRobotB : () => [number, string, string] [numberB = -1] = [2, "trimmer", "trimming"]; >[numberB = -1] = [2, "trimmer", "trimming"] : [number, string, string] >[numberB = -1] : [number] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [nameMB = "helloNoName"] = multiRobotB; >[nameMB = "helloNoName"] = multiRobotB : [string, string[]] >[nameMB = "helloNoName"] : [string] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >multiRobotB : [string, string[]] [nameMB = "helloNoName"] = getMultiRobotB(); >[nameMB = "helloNoName"] = getMultiRobotB() : [string, string[]] >[nameMB = "helloNoName"] : [string] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >getMultiRobotB() : [string, string[]] >getMultiRobotB : () => [string, string[]] [nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]]; >[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]] : [string, string[]] >[nameMB = "helloNoName"] : [string] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >["trimmer", ["trimming", "edging"]] : [string, string[]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : string[] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" [numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB; >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB : [number, string, string] >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->nameB = "helloNoName" : string +>-1 : -1 +>1 : 1 +>nameB = "helloNoName" : "helloNoName" >nameB : string ->"helloNoName" : string ->skillB = "noSkill" : string +>"helloNoName" : "helloNoName" +>skillB = "noSkill" : "noSkill" >skillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >robotB : [number, string, string] [numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB(); >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB() : [number, string, string] >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->nameB = "helloNoName" : string +>-1 : -1 +>1 : 1 +>nameB = "helloNoName" : "helloNoName" >nameB : string ->"helloNoName" : string ->skillB = "noSkill" : string +>"helloNoName" : "helloNoName" +>skillB = "noSkill" : "noSkill" >skillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >getRobotB() : [number, string, string] >getRobotB : () => [number, string, string] [numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"]; >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"] : [number, string, string] >[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string] ->numberB = -1 : number +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->nameB = "helloNoName" : string +>-1 : -1 +>1 : 1 +>nameB = "helloNoName" : "helloNoName" >nameB : string ->"helloNoName" : string ->skillB = "noSkill" : string +>"helloNoName" : "helloNoName" +>skillB = "noSkill" : "noSkill" >skillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" [nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB; >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB : [string, string[]] >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string] >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string] ->primarySkillB = "noSkill" : string +>primarySkillB = "noSkill" : "noSkill" >primarySkillB : string ->"noSkill" : string ->secondarySkillB = "noSkill" : string +>"noSkill" : "noSkill" +>secondarySkillB = "noSkill" : "noSkill" >secondarySkillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >[] : [string, string] >multiRobotB : [string, string[]] [nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB(); >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB() : [string, string[]] >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string] >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string] ->primarySkillB = "noSkill" : string +>primarySkillB = "noSkill" : "noSkill" >primarySkillB : string ->"noSkill" : string ->secondarySkillB = "noSkill" : string +>"noSkill" : "noSkill" +>secondarySkillB = "noSkill" : "noSkill" >secondarySkillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >[] : [string, string] >getMultiRobotB() : [string, string[]] >getMultiRobotB : () => [string, string[]] @@ -274,64 +274,64 @@ let multiRobotAInfo: (string | string[])[]; [nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]] >[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]] ->nameMB = "helloNoName" : string +>nameMB = "helloNoName" : "helloNoName" >nameMB : string ->"helloNoName" : string +>"helloNoName" : "helloNoName" >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string] >[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string] ->primarySkillB = "noSkill" : string +>primarySkillB = "noSkill" : "noSkill" >primarySkillB : string ->"noSkill" : string ->secondarySkillB = "noSkill" : string +>"noSkill" : "noSkill" +>secondarySkillB = "noSkill" : "noSkill" >secondarySkillB : string ->"noSkill" : string +>"noSkill" : "noSkill" >[] : [string, string] ["trimmer", ["trimming", "edging"]]; >["trimmer", ["trimming", "edging"]] : [string, [string, string]] ->"trimmer" : string +>"trimmer" : "trimmer" >["trimming", "edging"] : [string, string] ->"trimming" : string ->"edging" : string +>"trimming" : "trimming" +>"edging" : "edging" [numberB = -1, ...robotAInfo] = robotB; >[numberB = -1, ...robotAInfo] = robotB : [number, string, string] ->[numberB = -1, ...robotAInfo] : (number | string)[] ->numberB = -1 : number +>[numberB = -1, ...robotAInfo] : (string | number)[] +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robotB : [number, string, string] [numberB = -1, ...robotAInfo] = getRobotB(); >[numberB = -1, ...robotAInfo] = getRobotB() : [number, string, string] ->[numberB = -1, ...robotAInfo] : (number | string)[] ->numberB = -1 : number +>[numberB = -1, ...robotAInfo] : (string | number)[] +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobotB() : [number, string, string] >getRobotB : () => [number, string, string] [numberB = -1, ...robotAInfo] = [2, "trimmer", "trimming"]; >[numberB = -1, ...robotAInfo] = [2, "trimmer", "trimming"] : [number, string, string] ->[numberB = -1, ...robotAInfo] : (number | string)[] ->numberB = -1 : number +>[numberB = -1, ...robotAInfo] : (string | number)[] +>numberB = -1 : -1 >numberB : number ->-1 : number ->1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>-1 : -1 +>1 : 1 +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >[2, "trimmer", "trimming"] : [number, string, string] >Robot : [number, string, string] >[2, "trimmer", "trimming"] : [number, string, string] ->2 : number ->"trimmer" : string ->"trimming" : string +>2 : 2 +>"trimmer" : "trimmer" +>"trimming" : "trimming" if (nameA == nameB) { >nameA == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.js.map index d85d9d2d669..75b4ebb7e4c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementDefaultValues.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,oBAAwB,EAAxB,uCAAwB,CAAY;AACpC,oBAAwB,EAAxB,uCAAwB,EAAE,iBAAoC,EAApC,kDAAoC,CAAY;AAChF,IAAA,8CAAkH,EAA5G,YAAwB,EAAxB,uCAAwB,EAAE,aAAoC,EAApC,kDAAoC,CAA+C;AACnH,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementDefaultValues.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,IAAA,gBAAwB,EAAxB,uCAAwB,CAAY;AACpC,IAAA,gBAAwB,EAAxB,uCAAwB,EAAE,iBAAoC,EAApC,kDAAoC,CAAY;AAC5E,IAAA,8CAA8G,EAA5G,YAAwB,EAAxB,uCAAwB,EAAE,aAAoC,EAApC,kDAAoC,CAA+C;AACnH,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.sourcemap.txt index 12e5526e77c..e11d56c5037 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.sourcemap.txt @@ -130,53 +130,59 @@ sourceFile:sourceMapValidationDestructuringVariableStatementDefaultValues.ts --- >>>var _a = robotA.name, nameA = _a === void 0 ? "" : _a; 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { -2 >name: nameA = "" -3 > -4 > name: nameA = "" -5 > } = robotA; +2 > +3 > name: nameA = "" +4 > +5 > name: nameA = "" +6 > } = robotA; 1->Emitted(4, 1) Source(11, 7) + SourceIndex(0) -2 >Emitted(4, 21) Source(11, 31) + SourceIndex(0) -3 >Emitted(4, 23) Source(11, 7) + SourceIndex(0) -4 >Emitted(4, 62) Source(11, 31) + SourceIndex(0) -5 >Emitted(4, 63) Source(11, 43) + SourceIndex(0) +2 >Emitted(4, 5) Source(11, 7) + SourceIndex(0) +3 >Emitted(4, 21) Source(11, 31) + SourceIndex(0) +4 >Emitted(4, 23) Source(11, 7) + SourceIndex(0) +5 >Emitted(4, 62) Source(11, 31) + SourceIndex(0) +6 >Emitted(4, 63) Source(11, 43) + SourceIndex(0) --- >>>var _b = robotB.name, nameB = _b === void 0 ? "" : _b, _c = robotB.skill, skillB = _c === void 0 ? "" : _c; 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { -2 >name: nameB = "" -3 > -4 > name: nameB = "" -5 > , -6 > skill: skillB = "" -7 > -8 > skill: skillB = "" -9 > } = robotB; +2 > +3 > name: nameB = "" +4 > +5 > name: nameB = "" +6 > , +7 > skill: skillB = "" +8 > +9 > skill: skillB = "" +10> } = robotB; 1->Emitted(5, 1) Source(12, 7) + SourceIndex(0) -2 >Emitted(5, 21) Source(12, 31) + SourceIndex(0) -3 >Emitted(5, 23) Source(12, 7) + SourceIndex(0) -4 >Emitted(5, 62) Source(12, 31) + SourceIndex(0) -5 >Emitted(5, 64) Source(12, 33) + SourceIndex(0) -6 >Emitted(5, 81) Source(12, 69) + SourceIndex(0) -7 >Emitted(5, 83) Source(12, 33) + SourceIndex(0) -8 >Emitted(5, 133) Source(12, 69) + SourceIndex(0) -9 >Emitted(5, 134) Source(12, 81) + SourceIndex(0) +2 >Emitted(5, 5) Source(12, 7) + SourceIndex(0) +3 >Emitted(5, 21) Source(12, 31) + SourceIndex(0) +4 >Emitted(5, 23) Source(12, 7) + SourceIndex(0) +5 >Emitted(5, 62) Source(12, 31) + SourceIndex(0) +6 >Emitted(5, 64) Source(12, 33) + SourceIndex(0) +7 >Emitted(5, 81) Source(12, 69) + SourceIndex(0) +8 >Emitted(5, 83) Source(12, 33) + SourceIndex(0) +9 >Emitted(5, 133) Source(12, 69) + SourceIndex(0) +10>Emitted(5, 134) Source(12, 81) + SourceIndex(0) --- >>>var _d = { name: "Edger", skill: "cutting edges" }, _e = _d.name, nameC = _e === void 0 ? "" : _e, _f = _d.skill, skillC = _f === void 0 ? "" : _f; 1-> @@ -192,9 +198,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementDefaultValues.ts 11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12> ^ 1-> - > + >var 2 > -3 > var { name: nameC = "", skill: skillC = "" } = { name: "Edger", skill: "cutting edges" } +3 > { name: nameC = "", skill: skillC = "" } = { name: "Edger", skill: "cutting edges" } 4 > 5 > name: nameC = "" 6 > @@ -204,8 +210,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementDefaultValues.ts 10> 11> skill: skillC = "" 12> } = { name: "Edger", skill: "cutting edges" }; -1->Emitted(6, 1) Source(13, 1) + SourceIndex(0) -2 >Emitted(6, 5) Source(13, 1) + SourceIndex(0) +1->Emitted(6, 1) Source(13, 5) + SourceIndex(0) +2 >Emitted(6, 5) Source(13, 5) + SourceIndex(0) 3 >Emitted(6, 51) Source(13, 115) + SourceIndex(0) 4 >Emitted(6, 53) Source(13, 7) + SourceIndex(0) 5 >Emitted(6, 65) Source(13, 31) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types index 0ad3330e867..fbce7dedef1 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types @@ -17,53 +17,53 @@ declare var console: { } var hello = "hello"; >hello : string ->"hello" : string +>"hello" : "hello" var robotA: Robot = { name: "mower", skill: "mowing" }; >robotA : Robot >Robot : Robot >{ name: "mower", skill: "mowing" } : { name: string; skill: string; } >name : string ->"mower" : string +>"mower" : "mower" >skill : string ->"mowing" : string +>"mowing" : "mowing" var robotB: Robot = { name: "trimmer", skill: "trimming" }; >robotB : Robot >Robot : Robot >{ name: "trimmer", skill: "trimming" } : { name: string; skill: string; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skill : string ->"trimming" : string +>"trimming" : "trimming" var { name: nameA = "" } = robotA; >name : any >nameA : string ->"" : string +>"" : "" >robotA : Robot var { name: nameB = "", skill: skillB = "" } = robotB; >name : any >nameB : string ->"" : string +>"" : "" >skill : any >skillB : string ->"" : string +>"" : "" >robotB : Robot var { name: nameC = "", skill: skillC = "" } = { name: "Edger", skill: "cutting edges" }; >name : any >nameC : string ->"" : string +>"" : "" >skill : any >skillC : string ->"" : string +>"" : "" >{ name: "Edger", skill: "cutting edges" } : { name?: string; skill?: string; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skill : string ->"cutting edges" : string +>"cutting edges" : "cutting edges" if (nameA == nameB) { >nameA == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js.map index cd7a9813374..c0f2dad3fd5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACxF,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AAExF,sBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAc;AAChE,uBAAW,EAAE,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAc;AACnF,IAAA,mFAA0J,EAApJ,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAsF;AAE3J,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACxF,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AAExF,IAAA,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAc;AAChE,IAAA,mBAAW,EAAE,kBAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAc;AAC/E,IAAA,mFAAsJ,EAApJ,eAAW,EAAE,cAAoD,EAA1C,qBAAiB,EAAE,yBAAqB,CAAsF;AAE3J,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.sourcemap.txt index 4d0845e1a75..32fcd1552b3 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.sourcemap.txt @@ -158,60 +158,66 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP --- >>>var _a = robotA.skills, primaryA = _a.primary, secondaryA = _a.secondary; 1 > -2 >^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^ -8 > ^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +8 > ^ +9 > ^^^^^^^^^^^^^^^^^^^^^^-> 1 > > >var { -2 >skills: { primary: primaryA, secondary: secondaryA } -3 > -4 > primary: primaryA -5 > , -6 > secondary: secondaryA -7 > } } = robotA; +2 > +3 > skills: { primary: primaryA, secondary: secondaryA } +4 > +5 > primary: primaryA +6 > , +7 > secondary: secondaryA +8 > } } = robotA; 1 >Emitted(3, 1) Source(14, 7) + SourceIndex(0) -2 >Emitted(3, 23) Source(14, 59) + SourceIndex(0) -3 >Emitted(3, 25) Source(14, 17) + SourceIndex(0) -4 >Emitted(3, 46) Source(14, 34) + SourceIndex(0) -5 >Emitted(3, 48) Source(14, 36) + SourceIndex(0) -6 >Emitted(3, 73) Source(14, 57) + SourceIndex(0) -7 >Emitted(3, 74) Source(14, 71) + SourceIndex(0) +2 >Emitted(3, 5) Source(14, 7) + SourceIndex(0) +3 >Emitted(3, 23) Source(14, 59) + SourceIndex(0) +4 >Emitted(3, 25) Source(14, 17) + SourceIndex(0) +5 >Emitted(3, 46) Source(14, 34) + SourceIndex(0) +6 >Emitted(3, 48) Source(14, 36) + SourceIndex(0) +7 >Emitted(3, 73) Source(14, 57) + SourceIndex(0) +8 >Emitted(3, 74) Source(14, 71) + SourceIndex(0) --- >>>var nameB = robotB.name, _b = robotB.skills, primaryB = _b.primary, secondaryB = _b.secondary; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^ +11> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { -2 >name: nameB -3 > , -4 > skills: { primary: primaryB, secondary: secondaryB } -5 > -6 > primary: primaryB -7 > , -8 > secondary: secondaryB -9 > } } = robotB; +2 > +3 > name: nameB +4 > , +5 > skills: { primary: primaryB, secondary: secondaryB } +6 > +7 > primary: primaryB +8 > , +9 > secondary: secondaryB +10> } } = robotB; 1->Emitted(4, 1) Source(15, 7) + SourceIndex(0) -2 >Emitted(4, 24) Source(15, 18) + SourceIndex(0) -3 >Emitted(4, 26) Source(15, 20) + SourceIndex(0) -4 >Emitted(4, 44) Source(15, 72) + SourceIndex(0) -5 >Emitted(4, 46) Source(15, 30) + SourceIndex(0) -6 >Emitted(4, 67) Source(15, 47) + SourceIndex(0) -7 >Emitted(4, 69) Source(15, 49) + SourceIndex(0) -8 >Emitted(4, 94) Source(15, 70) + SourceIndex(0) -9 >Emitted(4, 95) Source(15, 84) + SourceIndex(0) +2 >Emitted(4, 5) Source(15, 7) + SourceIndex(0) +3 >Emitted(4, 24) Source(15, 18) + SourceIndex(0) +4 >Emitted(4, 26) Source(15, 20) + SourceIndex(0) +5 >Emitted(4, 44) Source(15, 72) + SourceIndex(0) +6 >Emitted(4, 46) Source(15, 30) + SourceIndex(0) +7 >Emitted(4, 67) Source(15, 47) + SourceIndex(0) +8 >Emitted(4, 69) Source(15, 49) + SourceIndex(0) +9 >Emitted(4, 94) Source(15, 70) + SourceIndex(0) +10>Emitted(4, 95) Source(15, 84) + SourceIndex(0) --- >>>var _c = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }, nameC = _c.name, _d = _c.skills, primaryB = _d.primary, secondaryB = _d.secondary; 1-> @@ -227,9 +233,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP 11> ^^^^^^^^^^^^^^^^^^^^^^^^^ 12> ^ 1-> - > + >var 2 > -3 > var { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } +3 > { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } 4 > 5 > name: nameC 6 > , @@ -239,8 +245,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP 10> , 11> secondary: secondaryB 12> } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }; -1->Emitted(5, 1) Source(16, 1) + SourceIndex(0) -2 >Emitted(5, 5) Source(16, 1) + SourceIndex(0) +1->Emitted(5, 1) Source(16, 5) + SourceIndex(0) +2 >Emitted(5, 5) Source(16, 5) + SourceIndex(0) 3 >Emitted(5, 88) Source(16, 155) + SourceIndex(0) 4 >Emitted(5, 90) Source(16, 7) + SourceIndex(0) 5 >Emitted(5, 105) Source(16, 18) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types index 1101b01b1a7..cf60c4a515f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types @@ -28,26 +28,26 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >Robot : Robot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }; >robotB : Robot >Robot : Robot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" var { skills: { primary: primaryA, secondary: secondaryA } } = robotA; >skills : any @@ -77,13 +77,13 @@ var { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { na >secondaryB : string >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" if (nameB == nameB) { >nameB == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js.map index 9ad442f4698..80bfe76492a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACxF,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AAG1F,sBAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAE9B;AAEP,oBAA+B,EAA/B,8CAA+B,EAC/B,kBAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAE9B;AACX,IAAA,mFAMyF,EALrF,YAA+B,EAA/B,8CAA+B,EAC/B,cAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAEiD;AAE1F,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACxF,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AAG1F,IAAA,kBAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAE9B;AAEP,IAAA,gBAA+B,EAA/B,8CAA+B,EAC/B,kBAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAE9B;AACP,IAAA,mFAMqF,EALrF,YAA+B,EAA/B,8CAA+B,EAC/B,cAGgD,EAHhD,sEAGgD,EAF5C,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAiC,EAAjC,2CAAiC,CAEiD;AAE1F,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,IAAI,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.sourcemap.txt index 5e007440890..cf4629d28d0 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.sourcemap.txt @@ -159,123 +159,129 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP --- >>>var _a = robotA.skills, _b = _a === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _a, _c = _b.primary, primaryA = _c === void 0 ? "noSkill" : _c, _d = _b.secondary, secondaryA = _d === void 0 ? "noSkill" : _d; 1-> -2 >^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^ -14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^ +15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > >var { > -2 >skills: { - > primary: primaryA = "noSkill", - > secondary: secondaryA = "noSkill" - > } = { primary: "noSkill", secondary: "noSkill" } -3 > -4 > skills: { +2 > +3 > skills: { + > primary: primaryA = "noSkill", + > secondary: secondaryA = "noSkill" + > } = { primary: "noSkill", secondary: "noSkill" } +4 > +5 > skills: { > primary: primaryA = "noSkill", > secondary: secondaryA = "noSkill" > } = { primary: "noSkill", secondary: "noSkill" } -5 > -6 > primary: primaryA = "noSkill" -7 > -8 > primary: primaryA = "noSkill" -9 > , +6 > +7 > primary: primaryA = "noSkill" +8 > +9 > primary: primaryA = "noSkill" +10> , > -10> secondary: secondaryA = "noSkill" -11> -12> secondary: secondaryA = "noSkill" -13> +11> secondary: secondaryA = "noSkill" +12> +13> secondary: secondaryA = "noSkill" +14> > } = { primary: "noSkill", secondary: "noSkill" } > } = robotA; 1->Emitted(3, 1) Source(15, 5) + SourceIndex(0) -2 >Emitted(3, 23) Source(18, 53) + SourceIndex(0) -3 >Emitted(3, 25) Source(15, 5) + SourceIndex(0) -4 >Emitted(3, 95) Source(18, 53) + SourceIndex(0) -5 >Emitted(3, 97) Source(16, 9) + SourceIndex(0) -6 >Emitted(3, 112) Source(16, 38) + SourceIndex(0) -7 >Emitted(3, 114) Source(16, 9) + SourceIndex(0) -8 >Emitted(3, 155) Source(16, 38) + SourceIndex(0) -9 >Emitted(3, 157) Source(17, 9) + SourceIndex(0) -10>Emitted(3, 174) Source(17, 42) + SourceIndex(0) -11>Emitted(3, 176) Source(17, 9) + SourceIndex(0) -12>Emitted(3, 219) Source(17, 42) + SourceIndex(0) -13>Emitted(3, 220) Source(19, 12) + SourceIndex(0) +2 >Emitted(3, 5) Source(15, 5) + SourceIndex(0) +3 >Emitted(3, 23) Source(18, 53) + SourceIndex(0) +4 >Emitted(3, 25) Source(15, 5) + SourceIndex(0) +5 >Emitted(3, 95) Source(18, 53) + SourceIndex(0) +6 >Emitted(3, 97) Source(16, 9) + SourceIndex(0) +7 >Emitted(3, 112) Source(16, 38) + SourceIndex(0) +8 >Emitted(3, 114) Source(16, 9) + SourceIndex(0) +9 >Emitted(3, 155) Source(16, 38) + SourceIndex(0) +10>Emitted(3, 157) Source(17, 9) + SourceIndex(0) +11>Emitted(3, 174) Source(17, 42) + SourceIndex(0) +12>Emitted(3, 176) Source(17, 9) + SourceIndex(0) +13>Emitted(3, 219) Source(17, 42) + SourceIndex(0) +14>Emitted(3, 220) Source(19, 12) + SourceIndex(0) --- >>>var _e = robotB.name, nameB = _e === void 0 ? "noNameSpecified" : _e, _f = robotB.skills, _g = _f === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _f, _h = _g.primary, primaryB = _h === void 0 ? "noSkill" : _h, _j = _g.secondary, secondaryB = _j === void 0 ? "noSkill" : _j; 1-> -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^^^^^^^ -15> ^^ -16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -17> ^ -18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^^^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +18> ^ +19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> >var { > -2 >name: nameB = "noNameSpecified" -3 > -4 > name: nameB = "noNameSpecified" -5 > , +2 > +3 > name: nameB = "noNameSpecified" +4 > +5 > name: nameB = "noNameSpecified" +6 > , > -6 > skills: { +7 > skills: { > primary: primaryB = "noSkill", > secondary: secondaryB = "noSkill" > } = { primary: "noSkill", secondary: "noSkill" } -7 > -8 > skills: { +8 > +9 > skills: { > primary: primaryB = "noSkill", > secondary: secondaryB = "noSkill" > } = { primary: "noSkill", secondary: "noSkill" } -9 > -10> primary: primaryB = "noSkill" -11> -12> primary: primaryB = "noSkill" -13> , +10> +11> primary: primaryB = "noSkill" +12> +13> primary: primaryB = "noSkill" +14> , > -14> secondary: secondaryB = "noSkill" -15> -16> secondary: secondaryB = "noSkill" -17> +15> secondary: secondaryB = "noSkill" +16> +17> secondary: secondaryB = "noSkill" +18> > } = { primary: "noSkill", secondary: "noSkill" } > } = robotB; 1->Emitted(4, 1) Source(21, 5) + SourceIndex(0) -2 >Emitted(4, 21) Source(21, 36) + SourceIndex(0) -3 >Emitted(4, 23) Source(21, 5) + SourceIndex(0) -4 >Emitted(4, 69) Source(21, 36) + SourceIndex(0) -5 >Emitted(4, 71) Source(22, 5) + SourceIndex(0) -6 >Emitted(4, 89) Source(25, 53) + SourceIndex(0) -7 >Emitted(4, 91) Source(22, 5) + SourceIndex(0) -8 >Emitted(4, 161) Source(25, 53) + SourceIndex(0) -9 >Emitted(4, 163) Source(23, 9) + SourceIndex(0) -10>Emitted(4, 178) Source(23, 38) + SourceIndex(0) -11>Emitted(4, 180) Source(23, 9) + SourceIndex(0) -12>Emitted(4, 221) Source(23, 38) + SourceIndex(0) -13>Emitted(4, 223) Source(24, 9) + SourceIndex(0) -14>Emitted(4, 240) Source(24, 42) + SourceIndex(0) -15>Emitted(4, 242) Source(24, 9) + SourceIndex(0) -16>Emitted(4, 285) Source(24, 42) + SourceIndex(0) -17>Emitted(4, 286) Source(26, 12) + SourceIndex(0) +2 >Emitted(4, 5) Source(21, 5) + SourceIndex(0) +3 >Emitted(4, 21) Source(21, 36) + SourceIndex(0) +4 >Emitted(4, 23) Source(21, 5) + SourceIndex(0) +5 >Emitted(4, 69) Source(21, 36) + SourceIndex(0) +6 >Emitted(4, 71) Source(22, 5) + SourceIndex(0) +7 >Emitted(4, 89) Source(25, 53) + SourceIndex(0) +8 >Emitted(4, 91) Source(22, 5) + SourceIndex(0) +9 >Emitted(4, 161) Source(25, 53) + SourceIndex(0) +10>Emitted(4, 163) Source(23, 9) + SourceIndex(0) +11>Emitted(4, 178) Source(23, 38) + SourceIndex(0) +12>Emitted(4, 180) Source(23, 9) + SourceIndex(0) +13>Emitted(4, 221) Source(23, 38) + SourceIndex(0) +14>Emitted(4, 223) Source(24, 9) + SourceIndex(0) +15>Emitted(4, 240) Source(24, 42) + SourceIndex(0) +16>Emitted(4, 242) Source(24, 9) + SourceIndex(0) +17>Emitted(4, 285) Source(24, 42) + SourceIndex(0) +18>Emitted(4, 286) Source(26, 12) + SourceIndex(0) --- >>>var _k = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }, _l = _k.name, nameC = _l === void 0 ? "noNameSpecified" : _l, _m = _k.skills, _o = _m === void 0 ? { primary: "noSkill", secondary: "noSkill" } : _m, _p = _o.primary, primaryB = _p === void 0 ? "noSkill" : _p, _q = _o.secondary, secondaryB = _q === void 0 ? "noSkill" : _q; 1-> @@ -299,9 +305,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP 19> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 20> ^ 1-> - > + >var 2 > -3 > var { +3 > { > name: nameC = "noNameSpecified", > skills: { > primary: primaryB = "noSkill", @@ -335,8 +341,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementNestedObjectBindingP 20> > } = { primary: "noSkill", secondary: "noSkill" } > } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }; -1->Emitted(5, 1) Source(27, 1) + SourceIndex(0) -2 >Emitted(5, 5) Source(27, 1) + SourceIndex(0) +1->Emitted(5, 1) Source(27, 5) + SourceIndex(0) +2 >Emitted(5, 5) Source(27, 5) + SourceIndex(0) 3 >Emitted(5, 88) Source(33, 90) + SourceIndex(0) 4 >Emitted(5, 90) Source(28, 5) + SourceIndex(0) 5 >Emitted(5, 102) Source(28, 36) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types index e3fdec19339..fa007d9a2fc 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types @@ -28,26 +28,26 @@ var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "no >Robot : Robot >{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"mower" : string +>"mower" : "mower" >skills : { primary: string; secondary: string; } >{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; } >primary : string ->"mowing" : string +>"mowing" : "mowing" >secondary : string ->"none" : string +>"none" : "none" var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }; >robotB : Robot >Robot : Robot >{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"trimmer" : string +>"trimmer" : "trimmer" >skills : { primary: string; secondary: string; } >{ primary: "trimming", secondary: "edging" } : { primary: string; secondary: string; } >primary : string ->"trimming" : string +>"trimming" : "trimming" >secondary : string ->"edging" : string +>"edging" : "edging" var { skills: { @@ -56,19 +56,19 @@ var { primary: primaryA = "noSkill", >primary : any >primaryA : string ->"noSkill" : string +>"noSkill" : "noSkill" secondary: secondaryA = "noSkill" >secondary : any >secondaryA : string ->"noSkill" : string +>"noSkill" : "noSkill" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } = robotA; >robotA : Robot @@ -77,7 +77,7 @@ var { name: nameB = "noNameSpecified", >name : any >nameB : string ->"noNameSpecified" : string +>"noNameSpecified" : "noNameSpecified" skills: { >skills : any @@ -85,19 +85,19 @@ var { primary: primaryB = "noSkill", >primary : any >primaryB : string ->"noSkill" : string +>"noSkill" : "noSkill" secondary: secondaryB = "noSkill" >secondary : any >secondaryB : string ->"noSkill" : string +>"noSkill" : "noSkill" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } = robotB; >robotB : Robot @@ -106,7 +106,7 @@ var { name: nameC = "noNameSpecified", >name : any >nameC : string ->"noNameSpecified" : string +>"noNameSpecified" : "noNameSpecified" skills: { >skills : any @@ -114,32 +114,32 @@ var { primary: primaryB = "noSkill", >primary : any >primaryB : string ->"noSkill" : string +>"noSkill" : "noSkill" secondary: secondaryB = "noSkill" >secondary : any >secondaryB : string ->"noSkill" : string +>"noSkill" : "noSkill" } = { primary: "noSkill", secondary: "noSkill" } >{ primary: "noSkill", secondary: "noSkill" } : { primary?: string; secondary?: string; } >primary : string ->"noSkill" : string +>"noSkill" : "noSkill" >secondary : string ->"noSkill" : string +>"noSkill" : "noSkill" } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }; >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : Robot >Robot : Robot >{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; } >name : string ->"Edger" : string +>"Edger" : "Edger" >skills : { primary: string; secondary: string; } >{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; } >primary : string ->"edging" : string +>"edging" : "edging" >secondary : string ->"branch trimming" : string +>"branch trimming" : "branch trimming" if (nameB == nameB) { >nameB == nameB : boolean diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map index 5ecd5985927..71a3949b553 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.ts"],"names":[],"mappings":"AACK,mBAAC,CAAc"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.ts"],"names":[],"mappings":"AACK,IAAA,eAAC,CAAc"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.sourcemap.txt index 8e5860c7a77..829e0d19195 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.sourcemap.txt @@ -10,15 +10,18 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern ------------------------------------------------------------------- >>>var x = { x: 20 }.x; 1 > -2 >^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var { -2 >x -3 > } = { x: 20 }; +2 > +3 > x +4 > } = { x: 20 }; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 20) Source(2, 7) + SourceIndex(0) -3 >Emitted(1, 21) Source(2, 21) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 20) Source(2, 7) + SourceIndex(0) +4 >Emitted(1, 21) Source(2, 21) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.types index c975a9eaae5..14995bbe1c9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern1.types @@ -4,5 +4,5 @@ var {x} = { x: 20 }; >x : number >{ x: 20 } : { x: number; } >x : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js.map index 6d3a8b40d22..7eda5a24bdb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.ts"],"names":[],"mappings":"AACK,mBAAC,CAAc;AACpB,IAAA,qBAA+B,EAAzB,QAAC,EAAE,QAAC,CAAsB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.ts"],"names":[],"mappings":"AACK,IAAA,eAAC,CAAc;AAChB,IAAA,qBAA2B,EAAzB,QAAC,EAAE,QAAC,CAAsB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.sourcemap.txt index e9454cb2bfa..380c6e2b14e 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.sourcemap.txt @@ -10,16 +10,19 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern ------------------------------------------------------------------- >>>var x = { x: 20 }.x; 1 > -2 >^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^ +4 > ^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var { -2 >x -3 > } = { x: 20 }; +2 > +3 > x +4 > } = { x: 20 }; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 20) Source(2, 7) + SourceIndex(0) -3 >Emitted(1, 21) Source(2, 21) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 20) Source(2, 7) + SourceIndex(0) +4 >Emitted(1, 21) Source(2, 21) + SourceIndex(0) --- >>>var _a = { a: 30, b: 40 }, a = _a.a, b = _a.b; 1-> @@ -32,16 +35,16 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern 8 > ^ 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> - > + >var 2 > -3 > var { a, b } = { a: 30, b: 40 } +3 > { a, b } = { a: 30, b: 40 } 4 > 5 > a 6 > , 7 > b 8 > } = { a: 30, b: 40 }; -1->Emitted(2, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(2, 5) Source(3, 1) + SourceIndex(0) +1->Emitted(2, 1) Source(3, 5) + SourceIndex(0) +2 >Emitted(2, 5) Source(3, 5) + SourceIndex(0) 3 >Emitted(2, 26) Source(3, 32) + SourceIndex(0) 4 >Emitted(2, 28) Source(3, 7) + SourceIndex(0) 5 >Emitted(2, 36) Source(3, 8) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.types index a694d4ecd29..52a5484052c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern2.types @@ -4,14 +4,14 @@ var {x} = { x: 20 }; >x : number >{ x: 20 } : { x: number; } >x : number ->20 : number +>20 : 20 var { a, b } = { a: 30, b: 40 }; >a : number >b : number >{ a: 30, b: 40 } : { a: number; b: number; } >a : number ->30 : number +>30 : 30 >b : number ->40 : number +>40 : 40 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map index 975a48aa0ee..3bc06d2dc75 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.ts"],"names":[],"mappings":"AACK,oBAAO,EAAP,4BAAO,CAAc"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.ts"],"names":[],"mappings":"AACK,IAAA,gBAAO,EAAP,4BAAO,CAAc"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.sourcemap.txt index 2fa0c81199b..fb3483829c6 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.sourcemap.txt @@ -10,21 +10,24 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern ------------------------------------------------------------------- >>>var _a = { x: 20 }.x, x = _a === void 0 ? 500 : _a; 1 > -2 >^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +2 >^^^^ +3 > ^^^^^^^^^^^^^^^^ +4 > ^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >var { -2 >x = 500 -3 > -4 > x = 500 -5 > } = { x: 20 }; +2 > +3 > x = 500 +4 > +5 > x = 500 +6 > } = { x: 20 }; 1 >Emitted(1, 1) Source(2, 6) + SourceIndex(0) -2 >Emitted(1, 21) Source(2, 13) + SourceIndex(0) -3 >Emitted(1, 23) Source(2, 6) + SourceIndex(0) -4 >Emitted(1, 51) Source(2, 13) + SourceIndex(0) -5 >Emitted(1, 52) Source(2, 27) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 6) + SourceIndex(0) +3 >Emitted(1, 21) Source(2, 13) + SourceIndex(0) +4 >Emitted(1, 23) Source(2, 6) + SourceIndex(0) +5 >Emitted(1, 51) Source(2, 13) + SourceIndex(0) +6 >Emitted(1, 52) Source(2, 27) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.types index bec1b195c98..4b70fa8aa8d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern3.types @@ -2,8 +2,8 @@ var {x = 500} = { x: 20 }; >x : number ->500 : number +>500 : 500 >{ x: 20 } : { x?: number; } >x : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js.map b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js.map index e0b108863b0..5f160d2ac45 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js.map] -{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.ts"],"names":[],"mappings":"AACA,IAAA,uBAC4B,EADvB,SAAO,EAAP,4BAAO,EACP,QAAC,CAAuB"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.ts"],"names":[],"mappings":"AACI,IAAA,uBACwB,EADvB,SAAO,EAAP,4BAAO,EACP,QAAC,CAAuB"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.sourcemap.txt index 6ae979f8ade..6a64ae9c320 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.sourcemap.txt @@ -21,9 +21,9 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern 10> ^ 11> ^^^^^^^^^^^^^^^^^^-> 1 > - > + >var 2 > -3 > var {x = 500, +3 > {x = 500, > y} = { x: 20, y: "hi" } 4 > 5 > x = 500 @@ -33,8 +33,8 @@ sourceFile:sourceMapValidationDestructuringVariableStatementObjectBindingPattern > 9 > y 10> } = { x: 20, y: "hi" }; -1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(1, 5) Source(2, 1) + SourceIndex(0) +1 >Emitted(1, 1) Source(2, 5) + SourceIndex(0) +2 >Emitted(1, 5) Source(2, 5) + SourceIndex(0) 3 >Emitted(1, 28) Source(3, 29) + SourceIndex(0) 4 >Emitted(1, 30) Source(2, 6) + SourceIndex(0) 5 >Emitted(1, 39) Source(2, 13) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.types index 1d00ac2d56b..1bd508ef2e5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementObjectBindingPattern4.types @@ -2,13 +2,13 @@ var {x = 500, >x : number ->500 : number +>500 : 500 y} = { x: 20, y: "hi" }; >y : string >{ x: 20, y: "hi" } : { x?: number; y: string; } >x : number ->20 : number +>20 : 20 >y : string ->"hi" : string +>"hi" : "hi" diff --git a/tests/baselines/reference/sourceMapValidationDo.types b/tests/baselines/reference/sourceMapValidationDo.types index 7623a483fd1..85716b8f8b8 100644 --- a/tests/baselines/reference/sourceMapValidationDo.types +++ b/tests/baselines/reference/sourceMapValidationDo.types @@ -1,7 +1,7 @@ === tests/cases/compiler/sourceMapValidationDo.ts === var i = 0; >i : number ->0 : number +>0 : 0 do { @@ -12,7 +12,7 @@ do } while (i < 10); >i < 10 : boolean >i : number ->10 : number +>10 : 10 do { i++; @@ -22,5 +22,5 @@ do { } while (i < 20); >i < 20 : boolean >i : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types index 9ddfd93b89d..d51798c084f 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types +++ b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types @@ -1,7 +1,7 @@ === tests/cases/compiler/sourceMapValidationFunctionExpressions.ts === var greetings = 0; >greetings : number ->0 : number +>0 : 0 var greet = (greeting: string): number => { >greet : (greeting: string) => number @@ -18,7 +18,7 @@ var greet = (greeting: string): number => { greet("Hello"); >greet("Hello") : number >greet : (greeting: string) => number ->"Hello" : string +>"Hello" : "Hello" var incrGreetings = () => greetings++; >incrGreetings : () => number diff --git a/tests/baselines/reference/sourceMapValidationFunctions.js.map b/tests/baselines/reference/sourceMapValidationFunctions.js.map index 7578efc11f8..a6913fe2369 100644 --- a/tests/baselines/reference/sourceMapValidationFunctions.js.map +++ b/tests/baselines/reference/sourceMapValidationFunctions.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationFunctions.js.map] -{"version":3,"file":"sourceMapValidationFunctions.js","sourceRoot":"","sources":["sourceMapValidationFunctions.ts"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,eAAe,QAAgB;IAC3B,SAAS,EAAE,CAAC;IACZ,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC;AACD,gBAAgB,QAAgB,EAAE,CAAM,EAAE,CAAU;IAAlB,iBAAM,GAAN,MAAM;IAAc,oBAAuB;SAAvB,WAAuB,CAAvB,sBAAuB,CAAvB,IAAuB;QAAvB,mCAAuB;;IACzE,SAAS,EAAE,CAAC;IACZ,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC;AACD,aAAa,QAAgB,EAAE,CAAM,EAAE,CAAU;IAAlB,iBAAM,GAAN,MAAM;IAAc,oBAAuB;SAAvB,WAAuB,CAAvB,sBAAuB,CAAvB,IAAuB;QAAvB,mCAAuB;;IAEtE,MAAM,CAAC;AACX,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationFunctions.js","sourceRoot":"","sources":["sourceMapValidationFunctions.ts"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,eAAe,QAAgB;IAC3B,SAAS,EAAE,CAAC;IACZ,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC;AACD,gBAAgB,QAAgB,EAAE,CAAM,EAAE,CAAU;IAAlB,kBAAA,EAAA,MAAM;IAAc,oBAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,mCAAuB;;IACzE,SAAS,EAAE,CAAC;IACZ,MAAM,CAAC,SAAS,CAAC;AACrB,CAAC;AACD,aAAa,QAAgB,EAAE,CAAM,EAAE,CAAU;IAAlB,kBAAA,EAAA,MAAM;IAAc,oBAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,mCAAuB;;IAEtE,MAAM,CAAC;AACX,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationFunctions.sourcemap.txt b/tests/baselines/reference/sourceMapValidationFunctions.sourcemap.txt index 95759f76f16..9dabdf3d8f2 100644 --- a/tests/baselines/reference/sourceMapValidationFunctions.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationFunctions.sourcemap.txt @@ -112,15 +112,15 @@ sourceFile:sourceMapValidationFunctions.ts --- >>> if (n === void 0) { n = 10; } 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^ 4 > ^^^^^^ 1-> -2 > n = 10 -3 > +2 > +3 > 4 > n = 10 1->Emitted(7, 5) Source(6, 35) + SourceIndex(0) -2 >Emitted(7, 22) Source(6, 41) + SourceIndex(0) +2 >Emitted(7, 23) Source(6, 35) + SourceIndex(0) 3 >Emitted(7, 25) Source(6, 35) + SourceIndex(0) 4 >Emitted(7, 31) Source(6, 41) + SourceIndex(0) --- @@ -135,21 +135,21 @@ sourceFile:sourceMapValidationFunctions.ts --- >>> for (var _i = 3; _i < arguments.length; _i++) { 1->^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ 1-> 2 > ...restParams: string[] -3 > +3 > 4 > ...restParams: string[] -5 > +5 > 6 > ...restParams: string[] 1->Emitted(9, 10) Source(6, 55) + SourceIndex(0) -2 >Emitted(9, 21) Source(6, 78) + SourceIndex(0) +2 >Emitted(9, 20) Source(6, 78) + SourceIndex(0) 3 >Emitted(9, 22) Source(6, 55) + SourceIndex(0) -4 >Emitted(9, 44) Source(6, 78) + SourceIndex(0) +4 >Emitted(9, 43) Source(6, 78) + SourceIndex(0) 5 >Emitted(9, 45) Source(6, 55) + SourceIndex(0) 6 >Emitted(9, 49) Source(6, 78) + SourceIndex(0) --- @@ -233,15 +233,15 @@ sourceFile:sourceMapValidationFunctions.ts --- >>> if (n === void 0) { n = 10; } 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^ -3 > ^^^ +2 > ^^^^^^^^^^^^^^^^^^ +3 > ^^ 4 > ^^^^^^ 1-> -2 > n = 10 -3 > +2 > +3 > 4 > n = 10 1->Emitted(16, 5) Source(10, 32) + SourceIndex(0) -2 >Emitted(16, 22) Source(10, 38) + SourceIndex(0) +2 >Emitted(16, 23) Source(10, 32) + SourceIndex(0) 3 >Emitted(16, 25) Source(10, 32) + SourceIndex(0) 4 >Emitted(16, 31) Source(10, 38) + SourceIndex(0) --- @@ -256,21 +256,21 @@ sourceFile:sourceMapValidationFunctions.ts --- >>> for (var _i = 3; _i < arguments.length; _i++) { 1->^^^^^^^^^ -2 > ^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^ -5 > ^ +2 > ^^^^^^^^^^ +3 > ^^ +4 > ^^^^^^^^^^^^^^^^^^^^^ +5 > ^^ 6 > ^^^^ 1-> 2 > ...restParams: string[] -3 > +3 > 4 > ...restParams: string[] -5 > +5 > 6 > ...restParams: string[] 1->Emitted(18, 10) Source(10, 52) + SourceIndex(0) -2 >Emitted(18, 21) Source(10, 75) + SourceIndex(0) +2 >Emitted(18, 20) Source(10, 75) + SourceIndex(0) 3 >Emitted(18, 22) Source(10, 52) + SourceIndex(0) -4 >Emitted(18, 44) Source(10, 75) + SourceIndex(0) +4 >Emitted(18, 43) Source(10, 75) + SourceIndex(0) 5 >Emitted(18, 45) Source(10, 52) + SourceIndex(0) 6 >Emitted(18, 49) Source(10, 75) + SourceIndex(0) --- diff --git a/tests/baselines/reference/sourceMapValidationFunctions.types b/tests/baselines/reference/sourceMapValidationFunctions.types index 82cb550a8aa..6a085996c5c 100644 --- a/tests/baselines/reference/sourceMapValidationFunctions.types +++ b/tests/baselines/reference/sourceMapValidationFunctions.types @@ -1,7 +1,7 @@ === tests/cases/compiler/sourceMapValidationFunctions.ts === var greetings = 0; >greetings : number ->0 : number +>0 : 0 function greet(greeting: string): number { >greet : (greeting: string) => number @@ -18,7 +18,7 @@ function greet2(greeting: string, n = 10, x?: string, ...restParams: string[]): >greet2 : (greeting: string, n?: number, x?: string, ...restParams: string[]) => number >greeting : string >n : number ->10 : number +>10 : 10 >x : string >restParams : string[] @@ -33,7 +33,7 @@ function foo(greeting: string, n = 10, x?: string, ...restParams: string[]) >foo : (greeting: string, n?: number, x?: string, ...restParams: string[]) => void >greeting : string >n : number ->10 : number +>10 : 10 >x : string >restParams : string[] { diff --git a/tests/baselines/reference/sourceMapValidationIfElse.types b/tests/baselines/reference/sourceMapValidationIfElse.types index 30de2f11450..b4a76d55647 100644 --- a/tests/baselines/reference/sourceMapValidationIfElse.types +++ b/tests/baselines/reference/sourceMapValidationIfElse.types @@ -1,12 +1,12 @@ === tests/cases/compiler/sourceMapValidationIfElse.ts === var i = 10; >i : number ->10 : number +>10 : 10 if (i == 10) { >i == 10 : boolean >i : number ->10 : number +>10 : 10 i++; >i++ : number @@ -18,7 +18,7 @@ if (i == 10) { if (i == 10) >i == 10 : boolean >i : number ->10 : number +>10 : 10 { i++; >i++ : number @@ -27,7 +27,7 @@ if (i == 10) else if (i == 20) { >i == 20 : boolean >i : number ->20 : number +>20 : 20 i--; >i-- : number @@ -36,12 +36,12 @@ else if (i == 20) { } else if (i == 30) { >i == 30 : boolean >i : number ->30 : number +>30 : 30 i += 70; >i += 70 : number >i : number ->70 : number +>70 : 70 } else { i--; diff --git a/tests/baselines/reference/sourceMapValidationImport.js.map b/tests/baselines/reference/sourceMapValidationImport.js.map index 2a1a549beff..5b7870209a1 100644 --- a/tests/baselines/reference/sourceMapValidationImport.js.map +++ b/tests/baselines/reference/sourceMapValidationImport.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationImport.js.map] -{"version":3,"file":"sourceMapValidationImport.js","sourceRoot":"","sources":["sourceMapValidationImport.ts"],"names":[],"mappings":";AAAA,IAAc,CAAC,CAGd;AAHD,WAAc,CAAC,EAAC,CAAC;IACb;QAAA;QACA,CAAC;QAAD,QAAC;IAAD,CAAC,AADD,IACC;IADY,GAAC,IACb,CAAA;AACL,CAAC,EAHa,CAAC,GAAD,SAAC,KAAD,SAAC,QAGd;AACD,IAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACD,SAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,IAAI,CAAC,GAAG,IAAI,SAAC,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationImport.js","sourceRoot":"","sources":["sourceMapValidationImport.ts"],"names":[],"mappings":";AAAA,IAAc,CAAC,CAGd;AAHD,WAAc,CAAC;IACX;QAAA;QACA,CAAC;QAAD,QAAC;IAAD,CAAC,AADD,IACC;IADY,GAAC,IACb,CAAA;AACL,CAAC,EAHa,CAAC,GAAD,SAAC,KAAD,SAAC,QAGd;AACD,IAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACD,QAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,IAAI,CAAC,GAAG,IAAI,SAAC,EAAE,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationImport.sourcemap.txt b/tests/baselines/reference/sourceMapValidationImport.sourcemap.txt index ca0ae80c5fc..15e68b22c90 100644 --- a/tests/baselines/reference/sourceMapValidationImport.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationImport.sourcemap.txt @@ -31,24 +31,18 @@ sourceFile:sourceMapValidationImport.ts 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^-> 1-> 2 >export module 3 > m -4 > -5 > { 1->Emitted(3, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(3, 12) Source(1, 15) + SourceIndex(0) 3 >Emitted(3, 13) Source(1, 16) + SourceIndex(0) -4 >Emitted(3, 15) Source(1, 17) + SourceIndex(0) -5 >Emitted(3, 16) Source(1, 18) + SourceIndex(0) --- >>> var c = (function () { 1->^^^^ 2 > ^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(4, 5) Source(2, 5) + SourceIndex(0) --- @@ -171,28 +165,31 @@ sourceFile:sourceMapValidationImport.ts --- >>>exports.b = m.c; 1-> -2 >^^^^^^^^^ -3 > ^^^ -4 > ^ -5 > ^ -6 > ^ -7 > ^ -8 > ^-> +2 >^^^^^^^^ +3 > ^ +4 > ^^^ +5 > ^ +6 > ^ +7 > ^ +8 > ^ +9 > ^-> 1-> >export import -2 >b -3 > = -4 > m -5 > . -6 > c -7 > ; +2 > +3 > b +4 > = +5 > m +6 > . +7 > c +8 > ; 1->Emitted(12, 1) Source(6, 15) + SourceIndex(0) -2 >Emitted(12, 10) Source(6, 16) + SourceIndex(0) -3 >Emitted(12, 13) Source(6, 19) + SourceIndex(0) -4 >Emitted(12, 14) Source(6, 20) + SourceIndex(0) -5 >Emitted(12, 15) Source(6, 21) + SourceIndex(0) -6 >Emitted(12, 16) Source(6, 22) + SourceIndex(0) -7 >Emitted(12, 17) Source(6, 23) + SourceIndex(0) +2 >Emitted(12, 9) Source(6, 15) + SourceIndex(0) +3 >Emitted(12, 10) Source(6, 16) + SourceIndex(0) +4 >Emitted(12, 13) Source(6, 19) + SourceIndex(0) +5 >Emitted(12, 14) Source(6, 20) + SourceIndex(0) +6 >Emitted(12, 15) Source(6, 21) + SourceIndex(0) +7 >Emitted(12, 16) Source(6, 22) + SourceIndex(0) +8 >Emitted(12, 17) Source(6, 23) + SourceIndex(0) --- >>>var x = new a(); 1-> diff --git a/tests/baselines/reference/sourceMapValidationLabeled.types b/tests/baselines/reference/sourceMapValidationLabeled.types index 7af624ac93b..6756494a5c7 100644 --- a/tests/baselines/reference/sourceMapValidationLabeled.types +++ b/tests/baselines/reference/sourceMapValidationLabeled.types @@ -5,5 +5,5 @@ x: var b = 10; >b : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/sourceMapValidationModule.js.map b/tests/baselines/reference/sourceMapValidationModule.js.map index 4cc15e902ed..357f455d4fd 100644 --- a/tests/baselines/reference/sourceMapValidationModule.js.map +++ b/tests/baselines/reference/sourceMapValidationModule.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationModule.js.map] -{"version":3,"file":"sourceMapValidationModule.js","sourceRoot":"","sources":["sourceMapValidationModule.ts"],"names":[],"mappings":"AAAA,IAAO,EAAE,CAGR;AAHD,WAAO,EAAE,EAAC,CAAC;IACP,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,EAAE,CAAC;AACR,CAAC,EAHM,EAAE,KAAF,EAAE,QAGR;AACD,IAAO,EAAE,CAQR;AARD,WAAO,EAAE,EAAC,CAAC;IACP,IAAO,EAAE,CAER;IAFD,WAAO,EAAE,EAAC,CAAC;QACI,IAAC,GAAG,EAAE,CAAC;IACtB,CAAC,EAFM,EAAE,KAAF,EAAE,QAER;IAED;QACI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IAFe,MAAG,MAElB,CAAA;AACL,CAAC,EARM,EAAE,KAAF,EAAE,QAQR"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationModule.js","sourceRoot":"","sources":["sourceMapValidationModule.ts"],"names":[],"mappings":"AAAA,IAAO,EAAE,CAGR;AAHD,WAAO,EAAE;IACL,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,EAAE,CAAC;AACR,CAAC,EAHM,EAAE,KAAF,EAAE,QAGR;AACD,IAAO,EAAE,CAQR;AARD,WAAO,EAAE;IACL,IAAO,EAAE,CAER;IAFD,WAAO,EAAE;QACM,IAAC,GAAG,EAAE,CAAC;IACtB,CAAC,EAFM,EAAE,KAAF,EAAE,QAER;IAED;QACI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IAFe,MAAG,MAElB,CAAA;AACL,CAAC,EARM,EAAE,KAAF,EAAE,QAQR"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationModule.sourcemap.txt b/tests/baselines/reference/sourceMapValidationModule.sourcemap.txt index a03e3567b8c..3b2174a7310 100644 --- a/tests/baselines/reference/sourceMapValidationModule.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationModule.sourcemap.txt @@ -30,34 +30,29 @@ sourceFile:sourceMapValidationModule.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ +4 > ^^^-> 1-> 2 >module 3 > m2 -4 > -5 > { 1->Emitted(2, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(1, 8) + SourceIndex(0) 3 >Emitted(2, 14) Source(1, 10) + SourceIndex(0) -4 >Emitted(2, 16) Source(1, 11) + SourceIndex(0) -5 >Emitted(2, 17) Source(1, 12) + SourceIndex(0) --- >>> var a = 10; -1 >^^^^ +1->^^^^ 2 > ^^^^ 3 > ^ 4 > ^^^ 5 > ^^ 6 > ^ -1 > +1-> { > 2 > var 3 > a 4 > = 5 > 10 6 > ; -1 >Emitted(3, 5) Source(2, 5) + SourceIndex(0) +1->Emitted(3, 5) Source(2, 5) + SourceIndex(0) 2 >Emitted(3, 9) Source(2, 9) + SourceIndex(0) 3 >Emitted(3, 10) Source(2, 10) + SourceIndex(0) 4 >Emitted(3, 13) Source(2, 13) + SourceIndex(0) @@ -135,18 +130,12 @@ sourceFile:sourceMapValidationModule.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ 1-> 2 >module 3 > m3 -4 > -5 > { 1->Emitted(7, 1) Source(5, 1) + SourceIndex(0) 2 >Emitted(7, 12) Source(5, 8) + SourceIndex(0) 3 >Emitted(7, 14) Source(5, 10) + SourceIndex(0) -4 >Emitted(7, 16) Source(5, 11) + SourceIndex(0) -5 >Emitted(7, 17) Source(5, 12) + SourceIndex(0) --- >>> var m4; 1 >^^^^ @@ -154,7 +143,7 @@ sourceFile:sourceMapValidationModule.ts 3 > ^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > +1 > { > 2 > module 3 > m4 @@ -170,33 +159,28 @@ sourceFile:sourceMapValidationModule.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ +4 > ^^-> 1-> 2 > module 3 > m4 -4 > -5 > { 1->Emitted(9, 5) Source(6, 5) + SourceIndex(0) 2 >Emitted(9, 16) Source(6, 12) + SourceIndex(0) 3 >Emitted(9, 18) Source(6, 14) + SourceIndex(0) -4 >Emitted(9, 20) Source(6, 15) + SourceIndex(0) -5 >Emitted(9, 21) Source(6, 16) + SourceIndex(0) --- >>> m4.x = 30; -1 >^^^^^^^^ +1->^^^^^^^^ 2 > ^^^^ 3 > ^^^ 4 > ^^ 5 > ^ 6 > ^^^^^^^-> -1 > +1-> { > export var 2 > x 3 > = 4 > 30 5 > ; -1 >Emitted(10, 9) Source(7, 20) + SourceIndex(0) +1->Emitted(10, 9) Source(7, 20) + SourceIndex(0) 2 >Emitted(10, 13) Source(7, 21) + SourceIndex(0) 3 >Emitted(10, 16) Source(7, 24) + SourceIndex(0) 4 >Emitted(10, 18) Source(7, 26) + SourceIndex(0) diff --git a/tests/baselines/reference/sourceMapValidationModule.types b/tests/baselines/reference/sourceMapValidationModule.types index 2c653270650..45651200300 100644 --- a/tests/baselines/reference/sourceMapValidationModule.types +++ b/tests/baselines/reference/sourceMapValidationModule.types @@ -4,7 +4,7 @@ module m2 { var a = 10; >a : number ->10 : number +>10 : 10 a++; >a++ : number @@ -18,7 +18,7 @@ module m3 { export var x = 30; >x : number ->30 : number +>30 : 30 } export function foo() { diff --git a/tests/baselines/reference/sourceMapValidationSwitch.types b/tests/baselines/reference/sourceMapValidationSwitch.types index a594004a548..9df86ee2132 100644 --- a/tests/baselines/reference/sourceMapValidationSwitch.types +++ b/tests/baselines/reference/sourceMapValidationSwitch.types @@ -1,13 +1,13 @@ === tests/cases/compiler/sourceMapValidationSwitch.ts === var x = 10; >x : number ->10 : number +>10 : 10 switch (x) { >x : number case 5: ->5 : number +>5 : 5 x++; >x++ : number @@ -15,7 +15,7 @@ switch (x) { break; case 10: ->10 : number +>10 : 10 { x--; >x-- : number @@ -29,13 +29,13 @@ switch (x) { >x : number >x *10 : number >x : number ->10 : number +>10 : 10 } switch (x) >x : number { case 5: ->5 : number +>5 : 5 x++; >x++ : number @@ -43,7 +43,7 @@ switch (x) break; case 10: ->10 : number +>10 : 10 { x--; >x-- : number @@ -58,6 +58,6 @@ switch (x) >x : number >x * 10 : number >x : number ->10 : number +>10 : 10 } } diff --git a/tests/baselines/reference/sourceMapValidationTryCatchFinally.types b/tests/baselines/reference/sourceMapValidationTryCatchFinally.types index 9159ee5aa45..7d7fb1d3aa9 100644 --- a/tests/baselines/reference/sourceMapValidationTryCatchFinally.types +++ b/tests/baselines/reference/sourceMapValidationTryCatchFinally.types @@ -1,7 +1,7 @@ === tests/cases/compiler/sourceMapValidationTryCatchFinally.ts === var x = 10; >x : number ->10 : number +>10 : 10 try { x = x + 1; @@ -9,7 +9,7 @@ try { >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 } catch (e) { >e : any @@ -19,7 +19,7 @@ try { >x : number >x - 1 : number >x : number ->1 : number +>1 : 1 } finally { x = x * 10; @@ -27,7 +27,7 @@ try { >x : number >x * 10 : number >x : number ->10 : number +>10 : 10 } try { @@ -36,7 +36,7 @@ try >x : number >x + 1 : number >x : number ->1 : number +>1 : 1 throw new Error(); >new Error() : Error @@ -50,7 +50,7 @@ catch (e) >x : number >x - 1 : number >x : number ->1 : number +>1 : 1 } finally { @@ -59,5 +59,5 @@ finally >x : number >x * 10 : number >x : number ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/sourceMapValidationVariables.types b/tests/baselines/reference/sourceMapValidationVariables.types index 2bacc7b526f..5dc46f5e792 100644 --- a/tests/baselines/reference/sourceMapValidationVariables.types +++ b/tests/baselines/reference/sourceMapValidationVariables.types @@ -1,19 +1,19 @@ === tests/cases/compiler/sourceMapValidationVariables.ts === var a = 10; >a : number ->10 : number +>10 : 10 var b; >b : any var c = 10, d, e; >c : number ->10 : number +>10 : 10 >d : any >e : any var c2, d2 = 10; >c2 : any >d2 : number ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/sourceMapValidationWhile.types b/tests/baselines/reference/sourceMapValidationWhile.types index 9225b93e08c..71b50d86736 100644 --- a/tests/baselines/reference/sourceMapValidationWhile.types +++ b/tests/baselines/reference/sourceMapValidationWhile.types @@ -1,12 +1,12 @@ === tests/cases/compiler/sourceMapValidationWhile.ts === var a = 10; >a : number ->10 : number +>10 : 10 while (a == 10) { >a == 10 : boolean >a : number ->10 : number +>10 : 10 a++; >a++ : number @@ -15,7 +15,7 @@ while (a == 10) { while (a == 10) >a == 10 : boolean >a : number ->10 : number +>10 : 10 { a++; >a++ : number diff --git a/tests/baselines/reference/sourceMapValidationWithComments.types b/tests/baselines/reference/sourceMapValidationWithComments.types index 26971f0aaab..3e4b4639754 100644 --- a/tests/baselines/reference/sourceMapValidationWithComments.types +++ b/tests/baselines/reference/sourceMapValidationWithComments.types @@ -8,7 +8,7 @@ class DebugClass { // Start Debugger Test Code var i = 0; >i : number ->0 : number +>0 : 0 i++; >i++ : number @@ -50,6 +50,6 @@ class DebugClass { return true; ->true : boolean +>true : true } } diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types b/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types index 8e9cda7377a..7c7cbc4e599 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithCopyright.types @@ -19,11 +19,11 @@ var x = { a: 10, >a : number ->10 : number +>10 : 10 b: 20 >b : number ->20 : number +>20 : 20 }; diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.js.map b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.js.map index 39f552b2002..a20d3ecb6dc 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.js.map +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.js.map @@ -1,2 +1,2 @@ //// [fooResult.js.map] -{"version":3,"file":"fooResult.js","sourceRoot":"","sources":["tests/cases/compiler/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":"AAAA,IAAO,CAAC,CAEP;AAFD,WAAO,CAAC,EAAC,CAAC;IACK,GAAC,GAAG,CAAC,CAAC;AACrB,CAAC,EAFM,CAAC,KAAD,CAAC,QAEP;ACFD,IAAO,EAAE,CAGR;AAHD,WAAO,EAAE,EAAC,CAAC;IACP;QAAA;QACA,CAAC;QAAD,SAAC;IAAD,CAAC,AADD,IACC;IADY,KAAE,KACd,CAAA;AACL,CAAC,EAHM,EAAE,KAAF,EAAE,QAGR"} \ No newline at end of file +{"version":3,"file":"fooResult.js","sourceRoot":"","sources":["tests/cases/compiler/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":"AAAA,IAAO,CAAC,CAEP;AAFD,WAAO,CAAC;IACO,GAAC,GAAG,CAAC,CAAC;AACrB,CAAC,EAFM,CAAC,KAAD,CAAC,QAEP;ACFD,IAAO,EAAE,CAGR;AAHD,WAAO,EAAE;IACL;QAAA;QACA,CAAC;QAAD,SAAC;IAAD,CAAC,AADD,IACC;IADY,KAAE,KACd,CAAA;AACL,CAAC,EAHM,EAAE,KAAF,EAAE,QAGR"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.sourcemap.txt b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.sourcemap.txt index e0f2a3cbbba..6895212b401 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.sourcemap.txt +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.sourcemap.txt @@ -29,33 +29,28 @@ sourceFile:tests/cases/compiler/a.ts 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ +4 > ^-> 1-> 2 >module 3 > M -4 > -5 > { 1->Emitted(2, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(1, 8) + SourceIndex(0) 3 >Emitted(2, 13) Source(1, 9) + SourceIndex(0) -4 >Emitted(2, 15) Source(1, 10) + SourceIndex(0) -5 >Emitted(2, 16) Source(1, 11) + SourceIndex(0) --- >>> M.X = 1; -1 >^^^^ +1->^^^^ 2 > ^^^ 3 > ^^^ 4 > ^ 5 > ^ 6 > ^^^^^^^-> -1 > +1-> { > export var 2 > X 3 > = 4 > 1 5 > ; -1 >Emitted(3, 5) Source(2, 16) + SourceIndex(0) +1->Emitted(3, 5) Source(2, 16) + SourceIndex(0) 2 >Emitted(3, 8) Source(2, 17) + SourceIndex(0) 3 >Emitted(3, 11) Source(2, 20) + SourceIndex(0) 4 >Emitted(3, 12) Source(2, 21) + SourceIndex(0) @@ -113,24 +108,18 @@ sourceFile:tests/cases/compiler/b.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^-> 1-> 2 >module 3 > m1 -4 > -5 > { 1->Emitted(6, 1) Source(1, 1) + SourceIndex(1) 2 >Emitted(6, 12) Source(1, 8) + SourceIndex(1) 3 >Emitted(6, 14) Source(1, 10) + SourceIndex(1) -4 >Emitted(6, 16) Source(1, 11) + SourceIndex(1) -5 >Emitted(6, 17) Source(1, 12) + SourceIndex(1) --- >>> var c1 = (function () { 1->^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(7, 5) Source(2, 5) + SourceIndex(1) --- diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types index 561be8ce783..d3a26c4114e 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types @@ -4,7 +4,7 @@ module M { export var X = 1; >X : number ->1 : number +>1 : 1 } interface Navigator { >Navigator : Navigator diff --git a/tests/baselines/reference/sourcemapValidationDuplicateNames.js.map b/tests/baselines/reference/sourcemapValidationDuplicateNames.js.map index c32505b01ae..10225f979e5 100644 --- a/tests/baselines/reference/sourcemapValidationDuplicateNames.js.map +++ b/tests/baselines/reference/sourcemapValidationDuplicateNames.js.map @@ -1,2 +1,2 @@ //// [sourcemapValidationDuplicateNames.js.map] -{"version":3,"file":"sourcemapValidationDuplicateNames.js","sourceRoot":"","sources":["sourcemapValidationDuplicateNames.ts"],"names":[],"mappings":"AAAA,IAAO,EAAE,CAIR;AAJD,WAAO,EAAE,EAAC,CAAC;IACP,IAAI,CAAC,GAAG,EAAE,CAAC;IACX;QAAA;QACA,CAAC;QAAD,QAAC;IAAD,CAAC,AADD,IACC;IADY,IAAC,IACb,CAAA;AACL,CAAC,EAJM,EAAE,KAAF,EAAE,QAIR;AACD,IAAO,EAAE,CAER;AAFD,WAAO,EAAE,EAAC,CAAC;IACP,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACvB,CAAC,EAFM,EAAE,KAAF,EAAE,QAER"} \ No newline at end of file +{"version":3,"file":"sourcemapValidationDuplicateNames.js","sourceRoot":"","sources":["sourcemapValidationDuplicateNames.ts"],"names":[],"mappings":"AAAA,IAAO,EAAE,CAIR;AAJD,WAAO,EAAE;IACL,IAAI,CAAC,GAAG,EAAE,CAAC;IACX;QAAA;QACA,CAAC;QAAD,QAAC;IAAD,CAAC,AADD,IACC;IADY,IAAC,IACb,CAAA;AACL,CAAC,EAJM,EAAE,KAAF,EAAE,QAIR;AACD,IAAO,EAAE,CAER;AAFD,WAAO,EAAE;IACL,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACvB,CAAC,EAFM,EAAE,KAAF,EAAE,QAER"} \ No newline at end of file diff --git a/tests/baselines/reference/sourcemapValidationDuplicateNames.sourcemap.txt b/tests/baselines/reference/sourcemapValidationDuplicateNames.sourcemap.txt index 5e67d69a517..5ae487440ee 100644 --- a/tests/baselines/reference/sourcemapValidationDuplicateNames.sourcemap.txt +++ b/tests/baselines/reference/sourcemapValidationDuplicateNames.sourcemap.txt @@ -31,35 +31,30 @@ sourceFile:sourcemapValidationDuplicateNames.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ +4 > ^^^-> 1-> 2 >module 3 > m1 -4 > -5 > { 1->Emitted(2, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(1, 8) + SourceIndex(0) 3 >Emitted(2, 14) Source(1, 10) + SourceIndex(0) -4 >Emitted(2, 16) Source(1, 11) + SourceIndex(0) -5 >Emitted(2, 17) Source(1, 12) + SourceIndex(0) --- >>> var x = 10; -1 >^^^^ +1->^^^^ 2 > ^^^^ 3 > ^ 4 > ^^^ 5 > ^^ 6 > ^ 7 > ^^^^^^^^^^^^-> -1 > +1-> { > 2 > var 3 > x 4 > = 5 > 10 6 > ; -1 >Emitted(3, 5) Source(2, 5) + SourceIndex(0) +1->Emitted(3, 5) Source(2, 5) + SourceIndex(0) 2 >Emitted(3, 9) Source(2, 9) + SourceIndex(0) 3 >Emitted(3, 10) Source(2, 10) + SourceIndex(0) 4 >Emitted(3, 13) Source(2, 13) + SourceIndex(0) @@ -179,19 +174,13 @@ sourceFile:sourcemapValidationDuplicateNames.ts 1-> 2 >^^^^^^^^^^^ 3 > ^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +4 > ^^^^^^^^^^^-> 1-> 2 >module 3 > m1 -4 > -5 > { 1->Emitted(12, 1) Source(6, 1) + SourceIndex(0) 2 >Emitted(12, 12) Source(6, 8) + SourceIndex(0) 3 >Emitted(12, 14) Source(6, 10) + SourceIndex(0) -4 >Emitted(12, 16) Source(6, 11) + SourceIndex(0) -5 >Emitted(12, 17) Source(6, 12) + SourceIndex(0) --- >>> var b = new m1.c(); 1->^^^^ @@ -204,7 +193,7 @@ sourceFile:sourcemapValidationDuplicateNames.ts 8 > ^ 9 > ^^ 10> ^ -1-> +1-> { > 2 > var 3 > b diff --git a/tests/baselines/reference/sourcemapValidationDuplicateNames.types b/tests/baselines/reference/sourcemapValidationDuplicateNames.types index ccc6caa23b4..3798144f3af 100644 --- a/tests/baselines/reference/sourcemapValidationDuplicateNames.types +++ b/tests/baselines/reference/sourcemapValidationDuplicateNames.types @@ -4,7 +4,7 @@ module m1 { var x = 10; >x : number ->10 : number +>10 : 10 export class c { >c : c diff --git a/tests/baselines/reference/specializeVarArgs1.types b/tests/baselines/reference/specializeVarArgs1.types index 97b46876e66..68e1be49d5e 100644 --- a/tests/baselines/reference/specializeVarArgs1.types +++ b/tests/baselines/reference/specializeVarArgs1.types @@ -41,5 +41,5 @@ a.push('Some Value'); >a.push : (...values: string[]) => any >a : ObservableArray >push : (...values: string[]) => any ->'Some Value' : string +>'Some Value' : "Some Value" diff --git a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt index 61b499e0aee..cf294de7780 100644 --- a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt +++ b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(7,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(8,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(7,4): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. +tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(8,4): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. ==== tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts (2 errors) ==== @@ -11,7 +11,7 @@ tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(8,4): error TS2 // both are errors x3(1, (x: string) => 1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. x3(1, (x: 'hm') => 1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. \ No newline at end of file +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js index 62a23d538c4..a641ecd6f03 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.js @@ -148,9 +148,9 @@ function outer(x) { var Inner = (function () { function Inner() { } - Inner.y = x; return Inner; }()); + Inner.y = x; return Inner; } var y = outer(5).y; diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index 2596959de9e..f217f42a8d6 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols @@ -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, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(staticAnonymousTypeNotReferencingTypeParameter.ts, 68, 40)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.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); } diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index 8d35f32707a..f2bd83674cd 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -24,7 +24,7 @@ let y: number = outer(5).y; >outer(5).y : number >outer(5) : typeof Inner >outer : (x: T) => typeof Inner ->5 : number +>5 : 5 >y : number class ListWrapper2 { @@ -42,7 +42,7 @@ class ListWrapper2 { >array.slice : (start?: number, end?: number) => T[] >array : T[] >slice : (start?: number, end?: number) => T[] ->0 : number +>0 : 0 static reversed(dit: typeof ListWrapper2, array: T[]): T[] { >reversed : (dit: typeof ListWrapper2, array: T[]) => T[] @@ -92,7 +92,7 @@ namespace tessst { for (let i = 0, len = array.length; i < len; i++) { >i : number ->0 : number +>0 : 0 >len : number >array.length : number >array : T[] @@ -171,7 +171,7 @@ class ListWrapper { >array.slice : (start?: number, end?: number) => T[] >array : T[] >slice : (start?: number, end?: number) => T[] ->0 : number +>0 : 0 static forEachWithIndex(dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) { >forEachWithIndex : (dit: typeof ListWrapper, array: T[], fn: (t: T, n: number) => void) => void @@ -187,7 +187,7 @@ class ListWrapper { for (var i = 0; i < array.length; i++) { >i : number ->0 : number +>0 : 0 >i < array.length : boolean >i : number >array.length : number @@ -222,7 +222,7 @@ class ListWrapper { return array[0]; >array[0] : T >array : T[] ->0 : number +>0 : 0 } static last(dit: typeof ListWrapper, array: T[]): T { >last : (dit: typeof ListWrapper, array: T[]) => T @@ -241,7 +241,7 @@ class ListWrapper { >array.length : number >array : T[] >length : number ->0 : number +>0 : 0 >null : null return array[array.length - 1]; @@ -251,7 +251,7 @@ class ListWrapper { >array.length : number >array : T[] >length : number ->1 : number +>1 : 1 } static indexOf(dit: typeof ListWrapper, array: T[], value: T, startIndex: number = 0): number { >indexOf : (dit: typeof ListWrapper, array: T[], value: T, startIndex?: number) => number @@ -263,7 +263,7 @@ class ListWrapper { >value : T >T : T >startIndex : number ->0 : number +>0 : 0 return array.indexOf(value, startIndex); >array.indexOf(value, startIndex) : number @@ -288,8 +288,8 @@ class ListWrapper { >list : T[] >indexOf : (searchElement: T, fromIndex?: number) => number >el : T ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 static reversed(dit: typeof ListWrapper, array: T[]): T[] { >reversed : (dit: typeof ListWrapper, array: T[]) => T[] @@ -318,8 +318,8 @@ class ListWrapper { >scanner.scanRange : (start: number, length: number, callback: () => T) => T >scanner : Scanner >scanRange : (start: number, length: number, callback: () => T) => T ->3 : number ->5 : number +>3 : 3 +>5 : 5 >() => { } : () => void return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; @@ -348,9 +348,9 @@ class ListWrapper { >a : any[] >b : any[] >a.concat(b) : any[] ->a.concat : (...items: any[]) => any[] +>a.concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >a : any[] ->concat : (...items: any[]) => any[] +>concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } >b : any[] static insert(dit: typeof ListWrapper, list: T[], index: number, value: T) { list.splice(index, 0, value); } @@ -368,7 +368,7 @@ class ListWrapper { >list : T[] >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } >index : number ->0 : number +>0 : 0 >value : T static removeAt(dit: typeof ListWrapper, list: T[], index: number): T { @@ -393,7 +393,7 @@ class ListWrapper { >list : T[] >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } >index : number ->1 : number +>1 : 1 return res; >res : T @@ -410,7 +410,7 @@ class ListWrapper { for (var i = 0; i < items.length; ++i) { >i : number ->0 : number +>0 : 0 >i < items.length : boolean >i : number >items.length : number @@ -435,7 +435,7 @@ class ListWrapper { >list : T[] >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } >index : number ->1 : number +>1 : 1 } } static remove(dit: typeof ListWrapper, list: T[], el: T): boolean { @@ -459,8 +459,8 @@ class ListWrapper { if (index > -1) { >index > -1 : boolean >index : number ->-1 : number ->1 : number +>-1 : -1 +>1 : 1 list.splice(index, 1); >list.splice(index, 1) : T[] @@ -468,24 +468,24 @@ class ListWrapper { >list : T[] >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } >index : number ->1 : number +>1 : 1 return true; ->true : boolean +>true : true } return false; ->false : boolean +>false : false } static clear(dit: typeof ListWrapper, list: any[]) { list.length = 0; } >clear : (dit: typeof ListWrapper, list: any[]) => void >dit : typeof ListWrapper >ListWrapper : typeof ListWrapper >list : any[] ->list.length = 0 : number +>list.length = 0 : 0 >list.length : number >list : any[] >length : number ->0 : number +>0 : 0 static isEmpty(dit: typeof ListWrapper, list: any[]): boolean { return list.length == 0; } >isEmpty : (dit: typeof ListWrapper, list: any[]) => boolean @@ -496,7 +496,7 @@ class ListWrapper { >list.length : number >list : any[] >length : number ->0 : number +>0 : 0 static fill(dit: typeof ListWrapper, list: any[], value: any, start: number = 0, end: number = null) { >fill : (dit: typeof ListWrapper, list: any[], value: any, start?: number, end?: number) => void @@ -505,7 +505,7 @@ class ListWrapper { >list : any[] >value : any >start : number ->0 : number +>0 : 0 >end : number >null : null @@ -540,11 +540,11 @@ class ListWrapper { >b.length : number >b : any[] >length : number ->false : boolean +>false : false for (var i = 0; i < a.length; ++i) { >i : number ->0 : number +>0 : 0 >i < a.length : boolean >i : number >a.length : number @@ -561,10 +561,10 @@ class ListWrapper { >b[i] : any >b : any[] >i : number ->false : boolean +>false : false } return true; ->true : boolean +>true : true } static slice(dit: typeof ListWrapper, l: T[], from: number = 0, to: number = null): T[] { >slice : (dit: typeof ListWrapper, l: T[], from?: number, to?: number) => T[] @@ -574,7 +574,7 @@ class ListWrapper { >l : T[] >T : T >from : number ->0 : number +>0 : 0 >to : number >null : null >T : T @@ -662,9 +662,9 @@ class ListWrapper { >l : T[] >T : T >JSON.stringify(l) : string ->JSON.stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[], space?: string | number): string; } +>stringify : { (value: any, replacer?: (key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } >l : T[] static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { @@ -684,7 +684,7 @@ class ListWrapper { >list.length : number >list : T[] >length : number ->0 : number +>0 : 0 return null; >null : null @@ -701,7 +701,7 @@ class ListWrapper { for (var index = 0; index < list.length; index++) { >index : number ->0 : number +>0 : 0 >index < list.length : boolean >index : number >list.length : number @@ -757,10 +757,10 @@ let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); >clone : (dit: typeof ListWrapper, array: T[]) => T[] >ListWrapper : typeof ListWrapper >[1,2,3,4] : number[] ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 declare function isBlank(x: any): boolean; >isBlank : (x: any) => boolean diff --git a/tests/baselines/reference/staticClassProps.js b/tests/baselines/reference/staticClassProps.js index c808e4eb7fd..48798bd4def 100644 --- a/tests/baselines/reference/staticClassProps.js +++ b/tests/baselines/reference/staticClassProps.js @@ -12,7 +12,8 @@ class C var C = (function () { function C() { } - C.prototype.foo = function () { }; - C.z = 1; + C.prototype.foo = function () { + }; return C; }()); +C.z = 1; diff --git a/tests/baselines/reference/staticFactory1.types b/tests/baselines/reference/staticFactory1.types index 538728de2df..941dc614559 100644 --- a/tests/baselines/reference/staticFactory1.types +++ b/tests/baselines/reference/staticFactory1.types @@ -4,7 +4,7 @@ class Base { foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 static create() { >create : () => Base @@ -21,7 +21,7 @@ class Derived extends Base { foo() { return 2; } >foo : () => number ->2 : number +>2 : 2 } var d = Derived.create(); >d : Base diff --git a/tests/baselines/reference/staticInstanceResolution.types b/tests/baselines/reference/staticInstanceResolution.types index 255242252e3..1eb555487da 100644 --- a/tests/baselines/reference/staticInstanceResolution.types +++ b/tests/baselines/reference/staticInstanceResolution.types @@ -18,7 +18,7 @@ class Comment { >comments[0].getDocCommentText : () => void >comments[0] : Comment >comments : Comment[] ->0 : number +>0 : 0 >getDocCommentText : () => void var c: Comment; diff --git a/tests/baselines/reference/staticInstanceResolution2.types b/tests/baselines/reference/staticInstanceResolution2.types index 200e3336a28..68abb3a08ce 100644 --- a/tests/baselines/reference/staticInstanceResolution2.types +++ b/tests/baselines/reference/staticInstanceResolution2.types @@ -7,7 +7,7 @@ A.hasOwnProperty('foo'); >A.hasOwnProperty : (v: string) => boolean >A : typeof A >hasOwnProperty : (v: string) => boolean ->'foo' : string +>'foo' : "foo" class B { >B : B @@ -19,7 +19,7 @@ B.hasOwnProperty('foo'); >B.hasOwnProperty : (v: string) => boolean >B : typeof B >hasOwnProperty : (v: string) => boolean ->'foo' : string +>'foo' : "foo" diff --git a/tests/baselines/reference/staticInstanceResolution3.js b/tests/baselines/reference/staticInstanceResolution3.js index 238d1bdad13..c480fd33285 100644 --- a/tests/baselines/reference/staticInstanceResolution3.js +++ b/tests/baselines/reference/staticInstanceResolution3.js @@ -26,5 +26,5 @@ exports.Promise = Promise; //// [staticInstanceResolution3_1.js] "use strict"; /// -var WinJS = require('./staticInstanceResolution3_0'); +var WinJS = require("./staticInstanceResolution3_0"); WinJS.Promise.timeout(10); diff --git a/tests/baselines/reference/staticInstanceResolution3.types b/tests/baselines/reference/staticInstanceResolution3.types index fe50c659f6d..2bc480b0ac8 100644 --- a/tests/baselines/reference/staticInstanceResolution3.types +++ b/tests/baselines/reference/staticInstanceResolution3.types @@ -10,7 +10,7 @@ WinJS.Promise.timeout(10); >WinJS : typeof WinJS >Promise : typeof WinJS.Promise >timeout : (delay: number) => WinJS.Promise ->10 : number +>10 : 10 === tests/cases/compiler/staticInstanceResolution3_0.ts === export class Promise { diff --git a/tests/baselines/reference/staticInstanceResolution5.errors.txt b/tests/baselines/reference/staticInstanceResolution5.errors.txt index da6f0fde143..f36851b2b97 100644 --- a/tests/baselines/reference/staticInstanceResolution5.errors.txt +++ b/tests/baselines/reference/staticInstanceResolution5.errors.txt @@ -4,7 +4,7 @@ tests/cases/compiler/staticInstanceResolution5_1.ts(6,16): error TS2304: Cannot ==== tests/cases/compiler/staticInstanceResolution5_1.ts (3 errors) ==== - import WinJS = require('staticInstanceResolution5_0.ts'); + import WinJS = require('staticInstanceResolution5_0'); // these 3 should be errors var x = (w1: WinJS) => { }; diff --git a/tests/baselines/reference/staticInstanceResolution5.js b/tests/baselines/reference/staticInstanceResolution5.js index 0809d1af5f0..b3514e00aad 100644 --- a/tests/baselines/reference/staticInstanceResolution5.js +++ b/tests/baselines/reference/staticInstanceResolution5.js @@ -8,7 +8,7 @@ export class Promise { } //// [staticInstanceResolution5_1.ts] -import WinJS = require('staticInstanceResolution5_0.ts'); +import WinJS = require('staticInstanceResolution5_0'); // these 3 should be errors var x = (w1: WinJS) => { }; diff --git a/tests/baselines/reference/staticMemberAccessOffDerivedType1.js b/tests/baselines/reference/staticMemberAccessOffDerivedType1.js index a05ece1dbbb..1c76a251220 100644 --- a/tests/baselines/reference/staticMemberAccessOffDerivedType1.js +++ b/tests/baselines/reference/staticMemberAccessOffDerivedType1.js @@ -28,6 +28,6 @@ var P = (function (_super) { function P() { _super.apply(this, arguments); } - P.SomeNumber = P.GetNumber(); return P; }(SomeBase)); +P.SomeNumber = P.GetNumber(); diff --git a/tests/baselines/reference/staticMemberAccessOffDerivedType1.types b/tests/baselines/reference/staticMemberAccessOffDerivedType1.types index 55b9c83969b..8eaba4abb98 100644 --- a/tests/baselines/reference/staticMemberAccessOffDerivedType1.types +++ b/tests/baselines/reference/staticMemberAccessOffDerivedType1.types @@ -6,7 +6,7 @@ class SomeBase { >GetNumber : () => number return 2; ->2 : number +>2 : 2 } } class P extends SomeBase { diff --git a/tests/baselines/reference/staticMemberInitialization.js b/tests/baselines/reference/staticMemberInitialization.js index c21c29ed4f8..13a5c8c25c6 100644 --- a/tests/baselines/reference/staticMemberInitialization.js +++ b/tests/baselines/reference/staticMemberInitialization.js @@ -10,8 +10,8 @@ var r = C.x; var C = (function () { function C() { } - C.x = 1; return C; }()); +C.x = 1; var c = new C(); var r = C.x; diff --git a/tests/baselines/reference/staticMemberInitialization.types b/tests/baselines/reference/staticMemberInitialization.types index 518b2fce25f..cb2c37f3fe0 100644 --- a/tests/baselines/reference/staticMemberInitialization.types +++ b/tests/baselines/reference/staticMemberInitialization.types @@ -4,7 +4,7 @@ class C { static x = 1; >x : number ->1 : number +>1 : 1 } var c = new C(); diff --git a/tests/baselines/reference/staticMemberWithStringAndNumberNames.js b/tests/baselines/reference/staticMemberWithStringAndNumberNames.js index 2fdd64ea04b..9d8846ba963 100644 --- a/tests/baselines/reference/staticMemberWithStringAndNumberNames.js +++ b/tests/baselines/reference/staticMemberWithStringAndNumberNames.js @@ -19,10 +19,10 @@ var C = (function () { this.x2 = C['0']; this.x3 = C[0]; } - C["foo"] = 0; - C[0] = 1; - C.s = C['foo']; - C.s2 = C['0']; - C.s3 = C[0]; return C; }()); +C["foo"] = 0; +C[0] = 1; +C.s = C['foo']; +C.s2 = C['0']; +C.s3 = C[0]; diff --git a/tests/baselines/reference/staticMemberWithStringAndNumberNames.types b/tests/baselines/reference/staticMemberWithStringAndNumberNames.types index e23ac90d59a..b0826343d20 100644 --- a/tests/baselines/reference/staticMemberWithStringAndNumberNames.types +++ b/tests/baselines/reference/staticMemberWithStringAndNumberNames.types @@ -3,44 +3,44 @@ class C { >C : C static "foo" = 0; ->0 : number +>0 : 0 static 0 = 1; ->1 : number +>1 : 1 x = C['foo']; >x : number >C['foo'] : number >C : typeof C ->'foo' : string +>'foo' : "foo" x2 = C['0']; >x2 : number >C['0'] : number >C : typeof C ->'0' : string +>'0' : "0" x3 = C[0]; >x3 : number >C[0] : number >C : typeof C ->0 : number +>0 : 0 static s = C['foo']; >s : number >C['foo'] : number >C : typeof C ->'foo' : string +>'foo' : "foo" static s2 = C['0']; >s2 : number >C['0'] : number >C : typeof C ->'0' : string +>'0' : "0" static s3 = C[0]; >s3 : number >C[0] : number >C : typeof C ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/staticModifierAlreadySeen.js b/tests/baselines/reference/staticModifierAlreadySeen.js index 76f8b050d6f..c37d4c0807a 100644 --- a/tests/baselines/reference/staticModifierAlreadySeen.js +++ b/tests/baselines/reference/staticModifierAlreadySeen.js @@ -9,6 +9,6 @@ var C = (function () { function C() { } C.bar = function () { }; - C.foo = 1; return C; }()); +C.foo = 1; diff --git a/tests/baselines/reference/staticPropSuper.js b/tests/baselines/reference/staticPropSuper.js index f4bc5ece8d1..c25c406746d 100644 --- a/tests/baselines/reference/staticPropSuper.js +++ b/tests/baselines/reference/staticPropSuper.js @@ -52,9 +52,9 @@ var B = (function (_super) { var x = 1; // should not error _super.call(this); } - B.s = 9; return B; }(A)); +B.s = 9; var C = (function (_super) { __extends(C, _super); function C() { diff --git a/tests/baselines/reference/statics.js b/tests/baselines/reference/statics.js index 3776c09c8ce..d52a28208e6 100644 --- a/tests/baselines/reference/statics.js +++ b/tests/baselines/reference/statics.js @@ -45,11 +45,11 @@ var M; C.f = function (n) { return "wow: " + (n + C.y + C.pub + C.priv); }; - C.priv = 2; - C.pub = 3; - C.y = C.priv; return C; }()); + C.priv = 2; + C.pub = 3; + C.y = C.priv; M.C = C; var c = C.y; function f() { diff --git a/tests/baselines/reference/staticsInConstructorBodies.js b/tests/baselines/reference/staticsInConstructorBodies.js index 9bc3ed29325..edd49456ef7 100644 --- a/tests/baselines/reference/staticsInConstructorBodies.js +++ b/tests/baselines/reference/staticsInConstructorBodies.js @@ -11,6 +11,6 @@ var C = (function () { function C() { } C.m1 = function () { }; // ERROR - C.p1 = 0; // ERROR return C; }()); +C.p1 = 0; // ERROR diff --git a/tests/baselines/reference/staticsNotInScopeInClodule.js b/tests/baselines/reference/staticsNotInScopeInClodule.js index 150ae8aca5b..e10ed2b31d3 100644 --- a/tests/baselines/reference/staticsNotInScopeInClodule.js +++ b/tests/baselines/reference/staticsNotInScopeInClodule.js @@ -11,9 +11,9 @@ module Clod { var Clod = (function () { function Clod() { } - Clod.x = 10; return Clod; }()); +Clod.x = 10; var Clod; (function (Clod) { var p = x; // x isn't in scope here diff --git a/tests/baselines/reference/stradac.types b/tests/baselines/reference/stradac.types index acdb54f45bd..b0b0cb895a2 100644 --- a/tests/baselines/reference/stradac.types +++ b/tests/baselines/reference/stradac.types @@ -1,7 +1,7 @@ === tests/cases/compiler/stradac.ts === var x = 10; >x : number ->10 : number +>10 : 10 // C++-style comment diff --git a/tests/baselines/reference/strictModeInConstructor.js b/tests/baselines/reference/strictModeInConstructor.js index bcfbdf22414..446fed5b76a 100644 --- a/tests/baselines/reference/strictModeInConstructor.js +++ b/tests/baselines/reference/strictModeInConstructor.js @@ -105,18 +105,18 @@ var Bs = (function (_super) { "use strict"; // No error _super.call(this); } - Bs.s = 9; return Bs; }(A)); +Bs.s = 9; var Cs = (function (_super) { __extends(Cs, _super); function Cs() { _super.call(this); // No error "use strict"; } - Cs.s = 9; return Cs; }(A)); +Cs.s = 9; var Ds = (function (_super) { __extends(Ds, _super); function Ds() { @@ -124,6 +124,6 @@ var Ds = (function (_super) { _super.call(this); "use strict"; } - Ds.s = 9; return Ds; }(A)); +Ds.s = 9; diff --git a/tests/baselines/reference/strictModeUseContextualKeyword.types b/tests/baselines/reference/strictModeUseContextualKeyword.types index a13e3d16ef8..9c6a89a7321 100644 --- a/tests/baselines/reference/strictModeUseContextualKeyword.types +++ b/tests/baselines/reference/strictModeUseContextualKeyword.types @@ -1,10 +1,10 @@ === tests/cases/compiler/strictModeUseContextualKeyword.ts === "use strict" ->"use strict" : string +>"use strict" : "use strict" var as = 0; >as : number ->0 : number +>0 : 0 function foo(as: string) { } >foo : (as: string) => void @@ -29,6 +29,6 @@ function H() { >as : number >{ as: 1 } : { as: number; } >as : number ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/strictModeWordInExportDeclaration.types b/tests/baselines/reference/strictModeWordInExportDeclaration.types index aa5f8e84f82..5064280bd31 100644 --- a/tests/baselines/reference/strictModeWordInExportDeclaration.types +++ b/tests/baselines/reference/strictModeWordInExportDeclaration.types @@ -1,10 +1,10 @@ === tests/cases/compiler/strictModeWordInExportDeclaration.ts === "use strict" ->"use strict" : string +>"use strict" : "use strict" var x = 1; >x : number ->1 : number +>1 : 1 export { x as foo } >x : number diff --git a/tests/baselines/reference/strictNullChecksNoWidening.types b/tests/baselines/reference/strictNullChecksNoWidening.types index 6dd2ee3fb4c..a544f9cef94 100644 --- a/tests/baselines/reference/strictNullChecksNoWidening.types +++ b/tests/baselines/reference/strictNullChecksNoWidening.types @@ -11,7 +11,7 @@ var a2 = undefined; var a3 = void 0; >a3 : undefined >void 0 : undefined ->0 : number +>0 : 0 var b1 = []; >b1 : never[] diff --git a/tests/baselines/reference/strictNullLogicalAndOr.types b/tests/baselines/reference/strictNullLogicalAndOr.types index a11a7033fb6..50eb6586a0f 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.types +++ b/tests/baselines/reference/strictNullLogicalAndOr.types @@ -9,12 +9,12 @@ let sinOrCos = Math.random() < .5; >Math.random : () => number >Math : Math >random : () => number ->.5 : number +>.5 : 0.5 let choice = sinOrCos && Math.sin || Math.cos; >choice : (x: number) => number >sinOrCos && Math.sin || Math.cos : (x: number) => number ->sinOrCos && Math.sin : (x: number) => number +>sinOrCos && Math.sin : false | ((x: number) => number) >sinOrCos : boolean >Math.sin : (x: number) => number >Math : Math @@ -37,14 +37,14 @@ function sq(n?: number): number { const r = n !== undefined && n*n || 0; >r : number >n !== undefined && n*n || 0 : number ->n !== undefined && n*n : number +>n !== undefined && n*n : number | false >n !== undefined : boolean >n : number | undefined >undefined : undefined >n*n : number >n : number >n : number ->0 : number +>0 : 0 return r; >r : number @@ -53,5 +53,5 @@ function sq(n?: number): number { sq(3); >sq(3) : number >sq : (n?: number | undefined) => number ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/stringHasStringValuedNumericIndexer.types b/tests/baselines/reference/stringHasStringValuedNumericIndexer.types index ce9504358eb..01f086ebbf4 100644 --- a/tests/baselines/reference/stringHasStringValuedNumericIndexer.types +++ b/tests/baselines/reference/stringHasStringValuedNumericIndexer.types @@ -2,6 +2,6 @@ var str: string = ""[0]; >str : string >""[0] : string ->"" : string ->0 : number +>"" : "" +>0 : 0 diff --git a/tests/baselines/reference/stringIncludes.types b/tests/baselines/reference/stringIncludes.types index 0d1e5ffea4d..1dce85fcec7 100644 --- a/tests/baselines/reference/stringIncludes.types +++ b/tests/baselines/reference/stringIncludes.types @@ -8,17 +8,17 @@ includes = "abcde".includes("cd"); >includes : boolean >"abcde".includes("cd") : boolean >"abcde".includes : (searchString: string, position?: number) => boolean ->"abcde" : string +>"abcde" : "abcde" >includes : (searchString: string, position?: number) => boolean ->"cd" : string +>"cd" : "cd" includes = "abcde".includes("cd", 2); >includes = "abcde".includes("cd", 2) : boolean >includes : boolean >"abcde".includes("cd", 2) : boolean >"abcde".includes : (searchString: string, position?: number) => boolean ->"abcde" : string +>"abcde" : "abcde" >includes : (searchString: string, position?: number) => boolean ->"cd" : string ->2 : number +>"cd" : "cd" +>2 : 2 diff --git a/tests/baselines/reference/stringIndexingResults.types b/tests/baselines/reference/stringIndexingResults.types index 1fdc580b1a2..9d7c19f49cc 100644 --- a/tests/baselines/reference/stringIndexingResults.types +++ b/tests/baselines/reference/stringIndexingResults.types @@ -7,7 +7,7 @@ class C { y = ''; >y : string ->'' : string +>'' : "" } var c: C; @@ -18,19 +18,19 @@ var r1 = c['y']; >r1 : string >c['y'] : string >c : C ->'y' : string +>'y' : "y" var r2 = c['a']; >r2 : string >c['a'] : string >c : C ->'a' : string +>'a' : "a" var r3 = c[1]; >r3 : string >c[1] : string >c : C ->1 : number +>1 : 1 interface I { >I : I @@ -50,19 +50,19 @@ var r4 = i['y']; >r4 : string >i['y'] : string >i : I ->'y' : string +>'y' : "y" var r5 = i['a']; >r5 : string >i['a'] : string >i : I ->'a' : string +>'a' : "a" var r6 = i[1]; >r6 : string >i[1] : string >i : I ->1 : number +>1 : 1 var a: { >a : { [x: string]: string; y: string; } @@ -78,42 +78,42 @@ var r7 = a['y']; >r7 : string >a['y'] : string >a : { [x: string]: string; y: string; } ->'y' : string +>'y' : "y" var r8 = a['a']; >r8 : string >a['a'] : string >a : { [x: string]: string; y: string; } ->'a' : string +>'a' : "a" var r9 = a[1]; >r9 : string >a[1] : string >a : { [x: string]: string; y: string; } ->1 : number +>1 : 1 var b: { [x: string]: string } = { y: '' } >b : { [x: string]: string; } >x : string >{ y: '' } : { y: string; } >y : string ->'' : string +>'' : "" var r10 = b['y']; >r10 : string >b['y'] : string >b : { [x: string]: string; } ->'y' : string +>'y' : "y" var r11 = b['a']; >r11 : string >b['a'] : string >b : { [x: string]: string; } ->'a' : string +>'a' : "a" var r12 = b[1]; >r12 : string >b[1] : string >b : { [x: string]: string; } ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/stringLiteralCheckedInIf01.types b/tests/baselines/reference/stringLiteralCheckedInIf01.types index 75b7eadbc19..2505870f9a9 100644 --- a/tests/baselines/reference/stringLiteralCheckedInIf01.types +++ b/tests/baselines/reference/stringLiteralCheckedInIf01.types @@ -1,41 +1,41 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralCheckedInIf01.ts === type S = "a" | "b"; ->S : "a" | "b" +>S : S type T = S[] | S; ->T : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->S : "a" | "b" +>T : T +>S : S +>S : S function f(foo: T) { ->f : (foo: ("a" | "b")[] | "a" | "b") => ("a" | "b")[] | "a" | "b" ->foo : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>f : (foo: T) => S +>foo : T +>T : T if (foo === "a") { >foo === "a" : boolean ->foo : ("a" | "b")[] | "a" | "b" ->"a" : string +>foo : T +>"a" : "a" return foo; ->foo : ("a" | "b")[] | "a" | "b" +>foo : "a" } else if (foo === "b") { >foo === "b" : boolean ->foo : ("a" | "b")[] | "a" | "b" ->"b" : string +>foo : "b" | S[] +>"b" : "b" return foo; ->foo : ("a" | "b")[] | "a" | "b" +>foo : "b" } else { return (foo as S[])[0]; ->(foo as S[])[0] : "a" | "b" ->(foo as S[]) : ("a" | "b")[] ->foo as S[] : ("a" | "b")[] ->foo : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->0 : number +>(foo as S[])[0] : S +>(foo as S[]) : S[] +>foo as S[] : S[] +>foo : S[] +>S : S +>0 : 0 } } diff --git a/tests/baselines/reference/stringLiteralCheckedInIf02.types b/tests/baselines/reference/stringLiteralCheckedInIf02.types index 79f4c6a223a..6589c85222a 100644 --- a/tests/baselines/reference/stringLiteralCheckedInIf02.types +++ b/tests/baselines/reference/stringLiteralCheckedInIf02.types @@ -1,47 +1,47 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralCheckedInIf02.ts === type S = "a" | "b"; ->S : "a" | "b" +>S : S type T = S[] | S; ->T : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->S : "a" | "b" +>T : T +>S : S +>S : S function isS(t: T): t is S { ->isS : (t: ("a" | "b")[] | "a" | "b") => t is "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>isS : (t: T) => t is S +>t : T +>T : T >t : any ->S : "a" | "b" +>S : S return t === "a" || t === "b"; >t === "a" || t === "b" : boolean >t === "a" : boolean ->t : ("a" | "b")[] | "a" | "b" ->"a" : string +>t : T +>"a" : "a" >t === "b" : boolean ->t : ("a" | "b")[] | "a" | "b" ->"b" : string +>t : "b" | S[] +>"b" : "b" } function f(foo: T) { ->f : (foo: ("a" | "b")[] | "a" | "b") => "a" | "b" ->foo : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>f : (foo: T) => S +>foo : T +>T : T if (isS(foo)) { >isS(foo) : boolean ->isS : (t: ("a" | "b")[] | "a" | "b") => t is "a" | "b" ->foo : ("a" | "b")[] | "a" | "b" +>isS : (t: T) => t is S +>foo : T return foo; ->foo : "a" | "b" +>foo : S } else { return foo[0]; ->foo[0] : "a" | "b" ->foo : ("a" | "b")[] ->0 : number +>foo[0] : S +>foo : S[] +>0 : 0 } } diff --git a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types index cfbb77e07e0..5f2d68d47cd 100644 --- a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types +++ b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types @@ -1,37 +1,37 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralMatchedInSwitch01.ts === type S = "a" | "b"; ->S : "a" | "b" +>S : S type T = S[] | S; ->T : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->S : "a" | "b" +>T : T +>S : S +>S : S var foo: T; ->foo : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>foo : T +>T : T switch (foo) { ->foo : ("a" | "b")[] | "a" | "b" +>foo : T case "a": ->"a" : string +>"a" : "a" case "b": ->"b" : string +>"b" : "b" break; default: foo = (foo as S[])[0]; ->foo = (foo as S[])[0] : "a" | "b" ->foo : ("a" | "b")[] | "a" | "b" ->(foo as S[])[0] : "a" | "b" ->(foo as S[]) : ("a" | "b")[] ->foo as S[] : ("a" | "b")[] ->foo : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->0 : number +>foo = (foo as S[])[0] : S +>foo : T +>(foo as S[])[0] : S +>(foo as S[]) : S[] +>foo as S[] : S[] +>foo : S[] +>S : S +>0 : 0 break; } diff --git a/tests/baselines/reference/stringLiteralObjectLiteralDeclaration1.types b/tests/baselines/reference/stringLiteralObjectLiteralDeclaration1.types index 3f06c5eaa75..7c4ea1c86bb 100644 --- a/tests/baselines/reference/stringLiteralObjectLiteralDeclaration1.types +++ b/tests/baselines/reference/stringLiteralObjectLiteralDeclaration1.types @@ -5,6 +5,6 @@ module m1 { export var n = { 'foo bar': 4 }; >n : { 'foo bar': number; } >{ 'foo bar': 4 } : { 'foo bar': number; } ->4 : number +>4 : 4 } diff --git a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types index ee5b5b27b54..c5022b5463b 100644 --- a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types +++ b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types @@ -6,13 +6,13 @@ var x = {'text\ ': string; } ':'hello'} ->'hello' : string +>'hello' : "hello" x.text = "bar" ->x.text = "bar" : string +>x.text = "bar" : "bar" >x.text : string >x : { 'text\ ': string; } >text : string ->"bar" : string +>"bar" : "bar" diff --git a/tests/baselines/reference/stringLiteralTypeAssertion01.types b/tests/baselines/reference/stringLiteralTypeAssertion01.types index f70313f8347..051b8ffc573 100644 --- a/tests/baselines/reference/stringLiteralTypeAssertion01.types +++ b/tests/baselines/reference/stringLiteralTypeAssertion01.types @@ -1,20 +1,20 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypeAssertion01.ts === type S = "a" | "b"; ->S : "a" | "b" +>S : S type T = S[] | S; ->T : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" ->S : "a" | "b" +>T : T +>S : S +>S : S var s: S; ->s : "a" | "b" ->S : "a" | "b" +>s : S +>S : S var t: T; ->t : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>t : T +>T : T var str: string; >str : string @@ -22,62 +22,62 @@ var str: string; //////////////// s = t; ->s = t : "a" | "b" ->s : "a" | "b" ->t : "a" | "b" ->S : "a" | "b" ->t : ("a" | "b")[] | "a" | "b" +>s = t : S +>s : S +>t : S +>S : S +>t : T s = t as S; ->s = t as S : "a" | "b" ->s : "a" | "b" ->t as S : "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->S : "a" | "b" +>s = t as S : S +>s : S +>t as S : S +>t : T +>S : S s = str; ->s = str : "a" | "b" ->s : "a" | "b" ->str : "a" | "b" ->S : "a" | "b" +>s = str : S +>s : S +>str : S +>S : S >str : string s = str as S; ->s = str as S : "a" | "b" ->s : "a" | "b" ->str as S : "a" | "b" +>s = str as S : S +>s : S +>str as S : S >str : string ->S : "a" | "b" +>S : S //////////////// t = s; ->t = s : ("a" | "b")[] | "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->s : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" ->s : "a" | "b" +>t = s : T +>t : T +>s : T +>T : T +>s : S t = s as T; ->t = s as T : ("a" | "b")[] | "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->s as T : ("a" | "b")[] | "a" | "b" ->s : "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>t = s as T : T +>t : T +>s as T : T +>s : S +>T : T t = str; ->t = str : ("a" | "b")[] | "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->str : ("a" | "b")[] | "a" | "b" ->T : ("a" | "b")[] | "a" | "b" +>t = str : T +>t : T +>str : T +>T : T >str : string t = str as T; ->t = str as T : ("a" | "b")[] | "a" | "b" ->t : ("a" | "b")[] | "a" | "b" ->str as T : ("a" | "b")[] | "a" | "b" +>t = str as T : T +>t : T +>str as T : T >str : string ->T : ("a" | "b")[] | "a" | "b" +>T : T //////////////// @@ -85,23 +85,23 @@ str = s; >str = s : string >str : string >s : string ->s : "a" | "b" +>s : S str = s as string; >str = s as string : string >str : string >s as string : string ->s : "a" | "b" +>s : S str = t; >str = t : string >str : string >t : string ->t : ("a" | "b")[] | "a" | "b" +>t : T str = t as string; >str = t as string : string >str : string >t as string : string ->t : ("a" | "b")[] | "a" | "b" +>t : T diff --git a/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.errors.txt b/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.errors.txt new file mode 100644 index 00000000000..3a884d2d1c4 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/types/stringLiteral/stringLiteralTypesAndLogicalOrExpressions01.ts(6,5): error TS2322: Type 'string' is not assignable to type '"foo"'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesAndLogicalOrExpressions01.ts(8,5): error TS2322: Type 'string' is not assignable to type '"foo" | "bar"'. + + +==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesAndLogicalOrExpressions01.ts (2 errors) ==== + + declare function myRandBool(): boolean; + + let a: "foo" = "foo"; + let b = a || "foo"; + let c: "foo" = b; + ~ +!!! error TS2322: Type 'string' is not assignable to type '"foo"'. + let d = b || "bar"; + let e: "foo" | "bar" = d; + ~ +!!! error TS2322: Type 'string' is not assignable to type '"foo" | "bar"'. + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.js b/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.js index 479256b18b7..b6bcaf7c887 100644 --- a/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.js +++ b/tests/baselines/reference/stringLiteralTypesAndLogicalOrExpressions01.js @@ -20,7 +20,7 @@ var e = d; //// [stringLiteralTypesAndLogicalOrExpressions01.d.ts] declare function myRandBool(): boolean; declare let a: "foo"; -declare let b: "foo"; +declare let b: string; declare let c: "foo"; -declare let d: "foo" | "bar"; +declare let d: string; declare let e: "foo" | "bar"; diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.js b/tests/baselines/reference/stringLiteralTypesAndTuples01.js index ae02d12429a..4700cc65730 100644 --- a/tests/baselines/reference/stringLiteralTypesAndTuples01.js +++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.js @@ -38,5 +38,5 @@ function rawr(dino) { //// [stringLiteralTypesAndTuples01.d.ts] declare let hello: string, brave: string, newish: string, world: string; declare type RexOrRaptor = "t-rex" | "raptor"; -declare let im: "I'm", a: "a", dinosaur: "t-rex" | "raptor"; -declare function rawr(dino: RexOrRaptor): string; +declare let im: "I'm", a: "a", dinosaur: RexOrRaptor; +declare function rawr(dino: RexOrRaptor): "ROAAAAR!" | "yip yip!"; diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.types b/tests/baselines/reference/stringLiteralTypesAndTuples01.types index e8b5b37a2dd..f69e36cf541 100644 --- a/tests/baselines/reference/stringLiteralTypesAndTuples01.types +++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.types @@ -7,53 +7,53 @@ let [hello, brave, newish, world] = ["Hello", "Brave", "New", "World"]; >newish : string >world : string >["Hello", "Brave", "New", "World"] : [string, string, string, string] ->"Hello" : string ->"Brave" : string ->"New" : string ->"World" : string +>"Hello" : "Hello" +>"Brave" : "Brave" +>"New" : "New" +>"World" : "World" type RexOrRaptor = "t-rex" | "raptor" ->RexOrRaptor : "t-rex" | "raptor" +>RexOrRaptor : RexOrRaptor let [im, a, dinosaur]: ["I'm", "a", RexOrRaptor] = ['I\'m', 'a', 't-rex']; >im : "I'm" >a : "a" ->dinosaur : "t-rex" | "raptor" ->RexOrRaptor : "t-rex" | "raptor" +>dinosaur : RexOrRaptor +>RexOrRaptor : RexOrRaptor >['I\'m', 'a', 't-rex'] : ["I'm", "a", "t-rex"] >'I\'m' : "I'm" >'a' : "a" >'t-rex' : "t-rex" rawr(dinosaur); ->rawr(dinosaur) : string ->rawr : (dino: "t-rex" | "raptor") => string +>rawr(dinosaur) : "ROAAAAR!" | "yip yip!" +>rawr : (dino: RexOrRaptor) => "ROAAAAR!" | "yip yip!" >dinosaur : "t-rex" function rawr(dino: RexOrRaptor) { ->rawr : (dino: "t-rex" | "raptor") => string ->dino : "t-rex" | "raptor" ->RexOrRaptor : "t-rex" | "raptor" +>rawr : (dino: RexOrRaptor) => "ROAAAAR!" | "yip yip!" +>dino : RexOrRaptor +>RexOrRaptor : RexOrRaptor if (dino === "t-rex") { >dino === "t-rex" : boolean ->dino : "t-rex" | "raptor" ->"t-rex" : string +>dino : RexOrRaptor +>"t-rex" : "t-rex" return "ROAAAAR!"; ->"ROAAAAR!" : string +>"ROAAAAR!" : "ROAAAAR!" } if (dino === "raptor") { >dino === "raptor" : boolean ->dino : "t-rex" | "raptor" ->"raptor" : string +>dino : "raptor" +>"raptor" : "raptor" return "yip yip!"; ->"yip yip!" : string +>"yip yip!" : "yip yip!" } throw "Unexpected " + dino; >"Unexpected " + dino : string ->"Unexpected " : string ->dino : "t-rex" | "raptor" +>"Unexpected " : "Unexpected " +>dino : never } diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.types b/tests/baselines/reference/stringLiteralTypesAsTags01.types index 64b099b34f2..ad53fb01c79 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags01.types @@ -1,14 +1,14 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags01.ts === type Kind = "A" | "B" ->Kind : "A" | "B" +>Kind : Kind interface Entity { >Entity : Entity kind: Kind; ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind } interface A extends Entity { @@ -34,7 +34,7 @@ interface B extends Entity { } function hasKind(entity: Entity, kind: "A"): entity is A; ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >entity : Entity >Entity : Entity >kind : "A" @@ -42,7 +42,7 @@ function hasKind(entity: Entity, kind: "A"): entity is A; >A : A function hasKind(entity: Entity, kind: "B"): entity is B; ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >entity : Entity >Entity : Entity >kind : "B" @@ -50,27 +50,27 @@ function hasKind(entity: Entity, kind: "B"): entity is B; >B : B function hasKind(entity: Entity, kind: Kind): entity is Entity; ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >entity : Entity >Entity : Entity ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind >entity : any >Entity : Entity function hasKind(entity: Entity, kind: Kind): boolean { ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >entity : Entity >Entity : Entity ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind return entity.kind === kind; >entity.kind === kind : boolean ->entity.kind : "A" | "B" +>entity.kind : Kind >entity : Entity ->kind : "A" | "B" ->kind : "A" | "B" +>kind : Kind +>kind : Kind } let x: A = { @@ -79,17 +79,17 @@ let x: A = { >{ kind: "A", a: 100,} : { kind: "A"; a: number; } kind: "A", ->kind : "A" +>kind : string >"A" : "A" a: 100, >a : number ->100 : number +>100 : 100 } if (hasKind(x, "A")) { >hasKind(x, "A") : boolean ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >x : A >"A" : "A" @@ -99,14 +99,14 @@ if (hasKind(x, "A")) { } else { let b = x; ->b : A ->x : A +>b : never +>x : never } if (!hasKind(x, "B")) { >!hasKind(x, "B") : boolean >hasKind(x, "B") : boolean ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: "A" | "B"): entity is Entity; } +>hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } >x : A >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags02.types b/tests/baselines/reference/stringLiteralTypesAsTags02.types index 92b294a2498..2e2cb2831b6 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags02.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags02.types @@ -1,14 +1,14 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags02.ts === type Kind = "A" | "B" ->Kind : "A" | "B" +>Kind : Kind interface Entity { >Entity : Entity kind: Kind; ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind } interface A extends Entity { @@ -53,18 +53,18 @@ function hasKind(entity: Entity, kind: Kind): entity is (A | B) { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } >entity : Entity >Entity : Entity ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind >entity : any >A : A >B : B return entity.kind === kind; >entity.kind === kind : boolean ->entity.kind : "A" | "B" +>entity.kind : Kind >entity : Entity ->kind : "A" | "B" ->kind : "A" | "B" +>kind : Kind +>kind : Kind } let x: A = { @@ -73,12 +73,12 @@ let x: A = { >{ kind: "A", a: 100,} : { kind: "A"; a: number; } kind: "A", ->kind : "A" +>kind : string >"A" : "A" a: 100, >a : number ->100 : number +>100 : 100 } if (hasKind(x, "A")) { @@ -93,8 +93,8 @@ if (hasKind(x, "A")) { } else { let b = x; ->b : A ->x : A +>b : never +>x : never } if (!hasKind(x, "B")) { diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.types b/tests/baselines/reference/stringLiteralTypesAsTags03.types index 49ae3da4be0..17507c1036f 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags03.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags03.types @@ -1,14 +1,14 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTags03.ts === type Kind = "A" | "B" ->Kind : "A" | "B" +>Kind : Kind interface Entity { >Entity : Entity kind: Kind; ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind } interface A extends Entity { @@ -57,17 +57,17 @@ function hasKind(entity: Entity, kind: Kind): entity is Entity { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } >entity : Entity >Entity : Entity ->kind : "A" | "B" ->Kind : "A" | "B" +>kind : Kind +>Kind : Kind >entity : any >Entity : Entity return entity.kind === kind; >entity.kind === kind : boolean ->entity.kind : "A" | "B" +>entity.kind : Kind >entity : Entity ->kind : "A" | "B" ->kind : "A" | "B" +>kind : Kind +>kind : Kind } let x: A = { @@ -76,12 +76,12 @@ let x: A = { >{ kind: "A", a: 100,} : { kind: "A"; a: number; } kind: "A", ->kind : "A" +>kind : string >"A" : "A" a: 100, >a : number ->100 : number +>100 : 100 } if (hasKind(x, "A")) { @@ -96,8 +96,8 @@ if (hasKind(x, "A")) { } else { let b = x; ->b : A ->x : A +>b : never +>x : never } if (!hasKind(x, "B")) { diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.js b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.js index 4f49d326ec0..805f16228ba 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.js +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.js @@ -38,8 +38,8 @@ hResult = h("bar"); declare function foo(f: (x: T) => T): (x: T) => T; declare function bar(f: (x: T) => T): (x: T) => T; declare let f: (x: "foo") => "foo"; -declare let fResult: "foo"; +declare let fResult: string; declare let g: (x: "foo") => "foo"; -declare let gResult: "foo"; +declare let gResult: string; declare let h: (x: "foo" | "bar") => "foo" | "bar"; -declare let hResult: "foo" | "bar"; +declare let hResult: string; diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types index fe9163fc819..e213faf3b69 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types @@ -33,7 +33,7 @@ let f = foo(x => x); >x : "foo" let fResult = f("foo"); ->fResult : "foo" +>fResult : string >f("foo") : "foo" >f : (x: "foo") => "foo" >"foo" : "foo" @@ -48,7 +48,7 @@ let g = foo((x => x)); >x : "foo" let gResult = g("foo"); ->gResult : "foo" +>gResult : string >g("foo") : "foo" >g : (x: "foo") => "foo" >"foo" : "foo" @@ -62,14 +62,14 @@ let h = bar(x => x); >x : "foo" | "bar" let hResult = h("foo"); ->hResult : "foo" | "bar" +>hResult : string >h("foo") : "foo" | "bar" >h : (x: "foo" | "bar") => "foo" | "bar" >"foo" : "foo" hResult = h("bar"); >hResult = h("bar") : "foo" | "bar" ->hResult : "foo" | "bar" +>hResult : string >h("bar") : "foo" | "bar" >h : (x: "foo" | "bar") => "foo" | "bar" >"bar" : "bar" diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.errors.txt b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.errors.txt deleted file mode 100644 index ed6450ad329..00000000000 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTypeParameterConstraint02.ts(6,13): error TS2345: Argument of type '(y: "foo" | "bar") => string' is not assignable to parameter of type '(x: "foo") => "foo"'. - Type 'string' is not assignable to type '"foo"'. - - -==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTypeParameterConstraint02.ts (1 errors) ==== - - function foo(f: (x: T) => T) { - return f; - } - - let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(y: "foo" | "bar") => string' is not assignable to parameter of type '(x: "foo") => "foo"'. -!!! error TS2345: Type 'string' is not assignable to type '"foo"'. - let fResult = f("foo"); \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.js b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.js index c024ac6bc43..06ee42b68ad 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.js +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.js @@ -17,5 +17,5 @@ var fResult = f("foo"); //// [stringLiteralTypesAsTypeParameterConstraint02.d.ts] declare function foo(f: (x: T) => T): (x: T) => T; -declare let f: any; -declare let fResult: any; +declare let f: (x: "foo") => "foo"; +declare let fResult: string; diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.symbols b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.symbols new file mode 100644 index 00000000000..1c5eb457788 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.symbols @@ -0,0 +1,25 @@ +=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTypeParameterConstraint02.ts === + +function foo(f: (x: T) => T) { +>foo : Symbol(foo, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 0, 0)) +>T : Symbol(T, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 13)) +>f : Symbol(f, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 30)) +>x : Symbol(x, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 34)) +>T : Symbol(T, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 13)) +>T : Symbol(T, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 13)) + + return f; +>f : Symbol(f, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 1, 30)) +} + +let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); +>f : Symbol(f, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 5, 3)) +>foo : Symbol(foo, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 0, 0)) +>y : Symbol(y, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 5, 13)) +>y : Symbol(y, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 5, 13)) +>y : Symbol(y, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 5, 13)) + +let fResult = f("foo"); +>fResult : Symbol(fResult, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 6, 3)) +>f : Symbol(f, Decl(stringLiteralTypesAsTypeParameterConstraint02.ts, 5, 3)) + diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types new file mode 100644 index 00000000000..75ba54cf6c2 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesAsTypeParameterConstraint02.ts === + +function foo(f: (x: T) => T) { +>foo : (f: (x: T) => T) => (x: T) => T +>T : T +>f : (x: T) => T +>x : T +>T : T +>T : T + + return f; +>f : (x: T) => T +} + +let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); +>f : (x: "foo") => "foo" +>foo((y: "foo" | "bar") => y === "foo" ? y : "foo") : (x: "foo") => "foo" +>foo : (f: (x: T) => T) => (x: T) => T +>(y: "foo" | "bar") => y === "foo" ? y : "foo" : (y: "foo" | "bar") => "foo" +>y : "foo" | "bar" +>y === "foo" ? y : "foo" : "foo" +>y === "foo" : boolean +>y : "foo" | "bar" +>"foo" : "foo" +>y : "foo" +>"foo" : "foo" + +let fResult = f("foo"); +>fResult : string +>f("foo") : "foo" +>f : (x: "foo") => "foo" +>"foo" : "foo" + diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.errors.txt b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.errors.txt new file mode 100644 index 00000000000..39b2b154cc8 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes01.ts(16,9): error TS2322: Type 'string' is not assignable to type '"foo" | "bar" | "baz"'. + + +==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes01.ts (1 errors) ==== + + type T = "foo" | "bar" | "baz"; + + var x: "foo" | "bar" | "baz" = undefined; + var y: T = undefined; + + if (x === "foo") { + let a = x; + } + else if (x !== "bar") { + let b = x || y; + } + else { + let c = x; + let d = y; + let e: (typeof x) | (typeof y) = c || d; + ~ +!!! error TS2322: Type 'string' is not assignable to type '"foo" | "bar" | "baz"'. + } + + x = y; + y = x; \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types index 7201aaa91ca..96ec536f82f 100644 --- a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types @@ -15,27 +15,27 @@ var y: T = undefined; if (x === "foo") { >x === "foo" : boolean >x : "foo" | "bar" | "baz" ->"foo" : string +>"foo" : "foo" let a = x; ->a : "foo" | "bar" | "baz" ->x : "foo" | "bar" | "baz" +>a : "foo" +>x : "foo" } else if (x !== "bar") { >x !== "bar" : boolean ->x : "foo" | "bar" | "baz" ->"bar" : string +>x : "bar" | "baz" +>"bar" : "bar" let b = x || y; >b : "foo" | "bar" | "baz" >x || y : "foo" | "bar" | "baz" ->x : "foo" | "bar" | "baz" +>x : "baz" >y : "foo" | "bar" | "baz" } else { let c = x; ->c : "foo" | "bar" | "baz" ->x : "foo" | "bar" | "baz" +>c : "bar" +>x : "bar" let d = y; >d : "foo" | "bar" | "baz" @@ -43,10 +43,10 @@ else { let e: (typeof x) | (typeof y) = c || d; >e : "foo" | "bar" | "baz" ->x : "foo" | "bar" | "baz" +>x : "bar" >y : "foo" | "bar" | "baz" >c || d : "foo" | "bar" | "baz" ->c : "foo" | "bar" | "baz" +>c : "bar" >d : "foo" | "bar" | "baz" } diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes02.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes02.types index 242248617e0..40b34796e72 100644 --- a/tests/baselines/reference/stringLiteralTypesInUnionTypes02.types +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes02.types @@ -4,7 +4,7 @@ type T = string | "foo" | "bar" | "baz"; >T : string | "foo" | "bar" | "baz" var x: "foo" | "bar" | "baz" | string = undefined; ->x : "foo" | "bar" | "baz" | string +>x : string | "foo" | "bar" | "baz" >undefined : undefined var y: T = undefined; @@ -14,49 +14,49 @@ var y: T = undefined; if (x === "foo") { >x === "foo" : boolean ->x : string ->"foo" : string +>x : string | "foo" | "bar" | "baz" +>"foo" : "foo" let a = x; >a : string ->x : string +>x : string | "foo" } else if (x !== "bar") { >x !== "bar" : boolean ->x : string ->"bar" : string +>x : string | "bar" | "baz" +>"bar" : "bar" let b = x || y; >b : string >x || y : string ->x : string ->y : string +>x : string | "baz" +>y : string | "foo" | "bar" | "baz" } else { let c = x; >c : string ->x : string +>x : string | "bar" let d = y; >d : string ->y : string +>y : string | "foo" | "bar" | "baz" let e: (typeof x) | (typeof y) = c || d; ->e : string ->x : string ->y : string +>e : string | "foo" | "bar" | "baz" +>x : string | "bar" +>y : string | "foo" | "bar" | "baz" >c || d : string >c : string >d : string } x = y; ->x = y : string ->x : "foo" | "bar" | "baz" | string ->y : string +>x = y : string | "foo" | "bar" | "baz" +>x : string | "foo" | "bar" | "baz" +>y : string | "foo" | "bar" | "baz" y = x; ->y = x : string +>y = x : string | "foo" | "bar" | "baz" >y : string | "foo" | "bar" | "baz" ->x : string +>x : string | "foo" | "bar" | "baz" diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes03.errors.txt b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.errors.txt new file mode 100644 index 00000000000..784f368c164 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.errors.txt @@ -0,0 +1,28 @@ +tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes03.ts(16,9): error TS2322: Type 'string | number' is not assignable to type 'number | "foo" | "bar"'. + Type 'string' is not assignable to type 'number | "foo" | "bar"'. + + +==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes03.ts (1 errors) ==== + + type T = number | "foo" | "bar"; + + var x: "foo" | "bar" | number; + var y: T = undefined; + + if (x === "foo") { + let a = x; + } + else if (x !== "bar") { + let b = x || y; + } + else { + let c = x; + let d = y; + let e: (typeof x) | (typeof y) = c || d; + ~ +!!! error TS2322: Type 'string | number' is not assignable to type 'number | "foo" | "bar"'. +!!! error TS2322: Type 'string' is not assignable to type 'number | "foo" | "bar"'. + } + + x = y; + y = x; \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types index 920f7e1a71c..99a729c7cf9 100644 --- a/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types @@ -4,7 +4,7 @@ type T = number | "foo" | "bar"; >T : number | "foo" | "bar" var x: "foo" | "bar" | number; ->x : "foo" | "bar" | number +>x : number | "foo" | "bar" var y: T = undefined; >y : number | "foo" | "bar" @@ -13,49 +13,49 @@ var y: T = undefined; if (x === "foo") { >x === "foo" : boolean ->x : "foo" | "bar" | number ->"foo" : string +>x : number | "foo" | "bar" +>"foo" : "foo" let a = x; ->a : "foo" | "bar" | number ->x : "foo" | "bar" | number +>a : "foo" +>x : "foo" } else if (x !== "bar") { >x !== "bar" : boolean ->x : "foo" | "bar" | number ->"bar" : string +>x : number | "bar" +>"bar" : "bar" let b = x || y; ->b : "foo" | "bar" | number ->x || y : "foo" | "bar" | number ->x : "foo" | "bar" | number +>b : number | "foo" | "bar" +>x || y : number | "foo" | "bar" +>x : number >y : number | "foo" | "bar" } else { let c = x; ->c : "foo" | "bar" | number ->x : "foo" | "bar" | number +>c : "bar" +>x : "bar" let d = y; >d : number | "foo" | "bar" >y : number | "foo" | "bar" let e: (typeof x) | (typeof y) = c || d; ->e : "foo" | "bar" | number ->x : "foo" | "bar" | number +>e : number | "foo" | "bar" +>x : "bar" >y : number | "foo" | "bar" ->c || d : "foo" | "bar" | number ->c : "foo" | "bar" | number +>c || d : number | "foo" | "bar" +>c : "bar" >d : number | "foo" | "bar" } x = y; >x = y : number | "foo" | "bar" ->x : "foo" | "bar" | number +>x : number | "foo" | "bar" >y : number | "foo" | "bar" y = x; ->y = x : "foo" | "bar" | number +>y = x : number | "foo" | "bar" >y : number | "foo" | "bar" ->x : "foo" | "bar" | number +>x : number | "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types index fdaaa21b6cb..3d2a41ec5c9 100644 --- a/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types +++ b/tests/baselines/reference/stringLiteralTypesInUnionTypes04.types @@ -1,92 +1,92 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes04.ts === type T = "" | "foo"; ->T : "" | "foo" +>T : T let x: T = undefined; ->x : "" | "foo" ->T : "" | "foo" +>x : T +>T : T >undefined : undefined let y: T = undefined; ->y : "" | "foo" ->T : "" | "foo" +>y : T +>T : T >undefined : undefined if (x === "") { >x === "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let a = x; ->a : "" | "foo" ->x : "" | "foo" +>a : string +>x : "" } if (x !== "") { >x !== "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let b = x; ->b : "" | "foo" ->x : "" | "foo" +>b : string +>x : "foo" } if (x == "") { >x == "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let c = x; ->c : "" | "foo" ->x : "" | "foo" +>c : string +>x : "" } if (x != "") { >x != "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let d = x; ->d : "" | "foo" ->x : "" | "foo" +>d : string +>x : "foo" } if (x) { ->x : "" | "foo" +>x : T let e = x; ->e : "" | "foo" ->x : "" | "foo" +>e : string +>x : "foo" } if (!x) { >!x : boolean ->x : "" | "foo" +>x : T let f = x; ->f : "" | "foo" ->x : "" | "foo" +>f : string +>x : T } if (!!x) { >!!x : boolean >!x : boolean ->x : "" | "foo" +>x : T let g = x; ->g : "" | "foo" ->x : "" | "foo" +>g : string +>x : "foo" } if (!!!x) { >!!!x : boolean >!!x : boolean >!x : boolean ->x : "" | "foo" +>x : T let h = x; ->h : "" | "foo" ->x : "" | "foo" +>h : string +>x : T } diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types index 8150eedd7b8..00af8e68373 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types @@ -9,7 +9,7 @@ function f(x: string): number { >x : string return 0; ->0 : number +>0 : 0 } function g(x: "foo"): number; @@ -21,7 +21,7 @@ function g(x: string): number { >x : string return 0; ->0 : number +>0 : 0 } let a = f; diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types index 7187e276fe4..694a300d3d3 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types @@ -9,7 +9,7 @@ function f(x: "foo"): number { >x : "foo" return 0; ->0 : number +>0 : 0 } function g(x: "foo"): number; @@ -21,7 +21,7 @@ function g(x: "foo"): number { >x : "foo" return 0; ->0 : number +>0 : 0 } let a = f; diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types index b7dd9262a67..925d2547411 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types @@ -13,7 +13,7 @@ function f(x: string): number { >x : string return 0; ->0 : number +>0 : 0 } function g(x: "foo"): number; @@ -25,7 +25,7 @@ function g(x: string): number { >x : string return 0; ->0 : number +>0 : 0 } let a = f; diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.js b/tests/baselines/reference/stringLiteralTypesOverloads01.js index f3331c9f717..dd050b5e464 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.js @@ -109,6 +109,6 @@ declare const boolean: "boolean"; declare const stringOrNumber: "string" | "number"; declare const stringOrBoolean: "string" | "boolean"; declare const booleanOrNumber: "number" | "boolean"; -declare const stringOrBooleanOrNumber: "string" | "boolean" | "number"; +declare const stringOrBooleanOrNumber: PrimitiveName; declare namespace Consts2 { } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.types b/tests/baselines/reference/stringLiteralTypesOverloads01.types index 6ba8d482117..2a0bc61f3e8 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types @@ -1,69 +1,69 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads01.ts === type PrimitiveName = 'string' | 'number' | 'boolean'; ->PrimitiveName : "string" | "number" | "boolean" +>PrimitiveName : PrimitiveName function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >x : "string" function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >x : "number" function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >x : "boolean" function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->x : "boolean" | "string" +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>x : "string" | "boolean" function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->x : "boolean" | "number" +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>x : "number" | "boolean" function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->x : "number" | "string" +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>x : "string" | "number" function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->x : "number" | "string" | "boolean" +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>x : PrimitiveName function getFalsyPrimitive(x: PrimitiveName): number | string | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->x : "string" | "number" | "boolean" ->PrimitiveName : "string" | "number" | "boolean" +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>x : PrimitiveName +>PrimitiveName : PrimitiveName if (x === "string") { >x === "string" : boolean ->x : "string" | "number" | "boolean" ->"string" : string +>x : PrimitiveName +>"string" : "string" return ""; ->"" : string +>"" : "" } if (x === "number") { >x === "number" : boolean ->x : "string" | "number" | "boolean" ->"number" : string +>x : "number" | "boolean" +>"number" : "number" return 0; ->0 : number +>0 : 0 } if (x === "boolean") { >x === "boolean" : boolean ->x : "string" | "number" | "boolean" ->"boolean" : string +>x : "boolean" +>"boolean" : "boolean" return false; ->false : boolean +>false : false } // Should be unreachable. throw "Invalid value"; ->"Invalid value" : string +>"Invalid value" : "Invalid value" } namespace Consts1 { @@ -72,19 +72,19 @@ namespace Consts1 { const EMPTY_STRING = getFalsyPrimitive("string"); >EMPTY_STRING : string >getFalsyPrimitive("string") : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >"string" : "string" const ZERO = getFalsyPrimitive('number'); >ZERO : number >getFalsyPrimitive('number') : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >'number' : "number" const FALSE = getFalsyPrimitive("boolean"); >FALSE : boolean >getFalsyPrimitive("boolean") : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >"boolean" : "boolean" } @@ -119,8 +119,8 @@ const booleanOrNumber = number || boolean; >boolean : "boolean" const stringOrBooleanOrNumber = stringOrBoolean || number; ->stringOrBooleanOrNumber : "string" | "boolean" | "number" ->stringOrBoolean || number : "string" | "boolean" | "number" +>stringOrBooleanOrNumber : PrimitiveName +>stringOrBoolean || number : PrimitiveName >stringOrBoolean : "string" | "boolean" >number : "number" @@ -130,44 +130,44 @@ namespace Consts2 { const EMPTY_STRING = getFalsyPrimitive(string); >EMPTY_STRING : string >getFalsyPrimitive(string) : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >string : "string" const ZERO = getFalsyPrimitive(number); >ZERO : number >getFalsyPrimitive(number) : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >number : "number" const FALSE = getFalsyPrimitive(boolean); >FALSE : boolean >getFalsyPrimitive(boolean) : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >boolean : "boolean" const a = getFalsyPrimitive(stringOrNumber); ->a : number | string ->getFalsyPrimitive(stringOrNumber) : number | string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>a : string | number +>getFalsyPrimitive(stringOrNumber) : string | number +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >stringOrNumber : "string" | "number" const b = getFalsyPrimitive(stringOrBoolean); ->b : boolean | string ->getFalsyPrimitive(stringOrBoolean) : boolean | string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>b : string | boolean +>getFalsyPrimitive(stringOrBoolean) : string | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >stringOrBoolean : "string" | "boolean" const c = getFalsyPrimitive(booleanOrNumber); ->c : boolean | number ->getFalsyPrimitive(booleanOrNumber) : boolean | number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +>c : number | boolean +>getFalsyPrimitive(booleanOrNumber) : number | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } >booleanOrNumber : "number" | "boolean" const d = getFalsyPrimitive(stringOrBooleanOrNumber); ->d : number | string | boolean ->getFalsyPrimitive(stringOrBooleanOrNumber) : number | string | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } ->stringOrBooleanOrNumber : "string" | "boolean" | "number" +>d : string | number | boolean +>getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: PrimitiveName): string | number | boolean; } +>stringOrBooleanOrNumber : PrimitiveName } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.errors.txt b/tests/baselines/reference/stringLiteralTypesOverloads02.errors.txt deleted file mode 100644 index 995cf687b70..00000000000 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.errors.txt +++ /dev/null @@ -1,57 +0,0 @@ -tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads02.ts(9,10): error TS2354: No best common type exists among return expressions. - - -==== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads02.ts (1 errors) ==== - - function getFalsyPrimitive(x: "string"): string; - function getFalsyPrimitive(x: "number"): number; - function getFalsyPrimitive(x: "boolean"): boolean; - function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; - function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; - function getFalsyPrimitive(x: "number" | "string"): number | string; - function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; - function getFalsyPrimitive(x: string) { - ~~~~~~~~~~~~~~~~~ -!!! error TS2354: No best common type exists among return expressions. - if (x === "string") { - return ""; - } - if (x === "number") { - return 0; - } - if (x === "boolean") { - return false; - } - - // Should be unreachable. - throw "Invalid value"; - } - - namespace Consts1 { - const EMPTY_STRING = getFalsyPrimitive("string"); - const ZERO = getFalsyPrimitive('number'); - const FALSE = getFalsyPrimitive("boolean"); - } - - const string: "string" = "string" - const number: "number" = "number" - const boolean: "boolean" = "boolean" - - const stringOrNumber = string || number; - const stringOrBoolean = string || boolean; - const booleanOrNumber = number || boolean; - const stringOrBooleanOrNumber = stringOrBoolean || number; - - namespace Consts2 { - const EMPTY_STRING = getFalsyPrimitive(string); - const ZERO = getFalsyPrimitive(number); - const FALSE = getFalsyPrimitive(boolean); - - const a = getFalsyPrimitive(stringOrNumber); - const b = getFalsyPrimitive(stringOrBoolean); - const c = getFalsyPrimitive(booleanOrNumber); - const d = getFalsyPrimitive(stringOrBooleanOrNumber); - } - - - \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.js b/tests/baselines/reference/stringLiteralTypesOverloads02.js index 3c53f9380a8..0e7bd8c82c8 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.js @@ -7,7 +7,7 @@ function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; function getFalsyPrimitive(x: "number" | "string"): number | string; function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; -function getFalsyPrimitive(x: string) { +function getFalsyPrimitive(x: string): string | number | boolean { if (x === "string") { return ""; } @@ -28,9 +28,9 @@ namespace Consts1 { const FALSE = getFalsyPrimitive("boolean"); } -const string: "string" = "string" -const number: "number" = "number" -const boolean: "boolean" = "boolean" +const string = "string" +const number = "number" +const boolean = "boolean" const stringOrNumber = string || number; const stringOrBoolean = string || boolean; @@ -106,6 +106,6 @@ declare const boolean: "boolean"; declare const stringOrNumber: "string" | "number"; declare const stringOrBoolean: "string" | "boolean"; declare const booleanOrNumber: "number" | "boolean"; -declare const stringOrBooleanOrNumber: "string" | "boolean" | "number"; +declare const stringOrBooleanOrNumber: "string" | "number" | "boolean"; declare namespace Consts2 { } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.symbols b/tests/baselines/reference/stringLiteralTypesOverloads02.symbols new file mode 100644 index 00000000000..1bbedacf8a5 --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.symbols @@ -0,0 +1,140 @@ +=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads02.ts === + +function getFalsyPrimitive(x: "string"): string; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 1, 27)) + +function getFalsyPrimitive(x: "number"): number; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 2, 27)) + +function getFalsyPrimitive(x: "boolean"): boolean; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 3, 27)) + +function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 4, 27)) + +function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 5, 27)) + +function getFalsyPrimitive(x: "number" | "string"): number | string; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 6, 27)) + +function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 7, 27)) + +function getFalsyPrimitive(x: string): string | number | boolean { +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 8, 27)) + + if (x === "string") { +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 8, 27)) + + return ""; + } + if (x === "number") { +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 8, 27)) + + return 0; + } + if (x === "boolean") { +>x : Symbol(x, Decl(stringLiteralTypesOverloads02.ts, 8, 27)) + + return false; + } + + // Should be unreachable. + throw "Invalid value"; +} + +namespace Consts1 { +>Consts1 : Symbol(Consts1, Decl(stringLiteralTypesOverloads02.ts, 21, 1)) + + const EMPTY_STRING = getFalsyPrimitive("string"); +>EMPTY_STRING : Symbol(EMPTY_STRING, Decl(stringLiteralTypesOverloads02.ts, 24, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) + + const ZERO = getFalsyPrimitive('number'); +>ZERO : Symbol(ZERO, Decl(stringLiteralTypesOverloads02.ts, 25, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) + + const FALSE = getFalsyPrimitive("boolean"); +>FALSE : Symbol(FALSE, Decl(stringLiteralTypesOverloads02.ts, 26, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +} + +const string = "string" +>string : Symbol(string, Decl(stringLiteralTypesOverloads02.ts, 29, 5)) + +const number = "number" +>number : Symbol(number, Decl(stringLiteralTypesOverloads02.ts, 30, 5)) + +const boolean = "boolean" +>boolean : Symbol(boolean, Decl(stringLiteralTypesOverloads02.ts, 31, 5)) + +const stringOrNumber = string || number; +>stringOrNumber : Symbol(stringOrNumber, Decl(stringLiteralTypesOverloads02.ts, 33, 5)) +>string : Symbol(string, Decl(stringLiteralTypesOverloads02.ts, 29, 5)) +>number : Symbol(number, Decl(stringLiteralTypesOverloads02.ts, 30, 5)) + +const stringOrBoolean = string || boolean; +>stringOrBoolean : Symbol(stringOrBoolean, Decl(stringLiteralTypesOverloads02.ts, 34, 5)) +>string : Symbol(string, Decl(stringLiteralTypesOverloads02.ts, 29, 5)) +>boolean : Symbol(boolean, Decl(stringLiteralTypesOverloads02.ts, 31, 5)) + +const booleanOrNumber = number || boolean; +>booleanOrNumber : Symbol(booleanOrNumber, Decl(stringLiteralTypesOverloads02.ts, 35, 5)) +>number : Symbol(number, Decl(stringLiteralTypesOverloads02.ts, 30, 5)) +>boolean : Symbol(boolean, Decl(stringLiteralTypesOverloads02.ts, 31, 5)) + +const stringOrBooleanOrNumber = stringOrBoolean || number; +>stringOrBooleanOrNumber : Symbol(stringOrBooleanOrNumber, Decl(stringLiteralTypesOverloads02.ts, 36, 5)) +>stringOrBoolean : Symbol(stringOrBoolean, Decl(stringLiteralTypesOverloads02.ts, 34, 5)) +>number : Symbol(number, Decl(stringLiteralTypesOverloads02.ts, 30, 5)) + +namespace Consts2 { +>Consts2 : Symbol(Consts2, Decl(stringLiteralTypesOverloads02.ts, 36, 58)) + + const EMPTY_STRING = getFalsyPrimitive(string); +>EMPTY_STRING : Symbol(EMPTY_STRING, Decl(stringLiteralTypesOverloads02.ts, 39, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>string : Symbol(string, Decl(stringLiteralTypesOverloads02.ts, 29, 5)) + + const ZERO = getFalsyPrimitive(number); +>ZERO : Symbol(ZERO, Decl(stringLiteralTypesOverloads02.ts, 40, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>number : Symbol(number, Decl(stringLiteralTypesOverloads02.ts, 30, 5)) + + const FALSE = getFalsyPrimitive(boolean); +>FALSE : Symbol(FALSE, Decl(stringLiteralTypesOverloads02.ts, 41, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>boolean : Symbol(boolean, Decl(stringLiteralTypesOverloads02.ts, 31, 5)) + + const a = getFalsyPrimitive(stringOrNumber); +>a : Symbol(a, Decl(stringLiteralTypesOverloads02.ts, 43, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>stringOrNumber : Symbol(stringOrNumber, Decl(stringLiteralTypesOverloads02.ts, 33, 5)) + + const b = getFalsyPrimitive(stringOrBoolean); +>b : Symbol(b, Decl(stringLiteralTypesOverloads02.ts, 44, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>stringOrBoolean : Symbol(stringOrBoolean, Decl(stringLiteralTypesOverloads02.ts, 34, 5)) + + const c = getFalsyPrimitive(booleanOrNumber); +>c : Symbol(c, Decl(stringLiteralTypesOverloads02.ts, 45, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>booleanOrNumber : Symbol(booleanOrNumber, Decl(stringLiteralTypesOverloads02.ts, 35, 5)) + + const d = getFalsyPrimitive(stringOrBooleanOrNumber); +>d : Symbol(d, Decl(stringLiteralTypesOverloads02.ts, 46, 9)) +>getFalsyPrimitive : Symbol(getFalsyPrimitive, Decl(stringLiteralTypesOverloads02.ts, 0, 0), Decl(stringLiteralTypesOverloads02.ts, 1, 48), Decl(stringLiteralTypesOverloads02.ts, 2, 48), Decl(stringLiteralTypesOverloads02.ts, 3, 50), Decl(stringLiteralTypesOverloads02.ts, 4, 70), Decl(stringLiteralTypesOverloads02.ts, 5, 70), Decl(stringLiteralTypesOverloads02.ts, 6, 68), Decl(stringLiteralTypesOverloads02.ts, 7, 90)) +>stringOrBooleanOrNumber : Symbol(stringOrBooleanOrNumber, Decl(stringLiteralTypesOverloads02.ts, 36, 5)) +} + + + diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.types b/tests/baselines/reference/stringLiteralTypesOverloads02.types new file mode 100644 index 00000000000..7122929e85d --- /dev/null +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.types @@ -0,0 +1,170 @@ +=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads02.ts === + +function getFalsyPrimitive(x: "string"): string; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "string" + +function getFalsyPrimitive(x: "number"): number; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "number" + +function getFalsyPrimitive(x: "boolean"): boolean; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "boolean" + +function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "string" | "boolean" + +function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "number" | "boolean" + +function getFalsyPrimitive(x: "number" | "string"): number | string; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "string" | "number" + +function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : "string" | "number" | "boolean" + +function getFalsyPrimitive(x: string): string | number | boolean { +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>x : string + + if (x === "string") { +>x === "string" : boolean +>x : string +>"string" : "string" + + return ""; +>"" : "" + } + if (x === "number") { +>x === "number" : boolean +>x : string +>"number" : "number" + + return 0; +>0 : 0 + } + if (x === "boolean") { +>x === "boolean" : boolean +>x : string +>"boolean" : "boolean" + + return false; +>false : false + } + + // Should be unreachable. + throw "Invalid value"; +>"Invalid value" : "Invalid value" +} + +namespace Consts1 { +>Consts1 : typeof Consts1 + + const EMPTY_STRING = getFalsyPrimitive("string"); +>EMPTY_STRING : string +>getFalsyPrimitive("string") : string +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>"string" : "string" + + const ZERO = getFalsyPrimitive('number'); +>ZERO : number +>getFalsyPrimitive('number') : number +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>'number' : "number" + + const FALSE = getFalsyPrimitive("boolean"); +>FALSE : boolean +>getFalsyPrimitive("boolean") : boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>"boolean" : "boolean" +} + +const string = "string" +>string : "string" +>"string" : "string" + +const number = "number" +>number : "number" +>"number" : "number" + +const boolean = "boolean" +>boolean : "boolean" +>"boolean" : "boolean" + +const stringOrNumber = string || number; +>stringOrNumber : "string" | "number" +>string || number : "string" | "number" +>string : "string" +>number : "number" + +const stringOrBoolean = string || boolean; +>stringOrBoolean : "string" | "boolean" +>string || boolean : "string" | "boolean" +>string : "string" +>boolean : "boolean" + +const booleanOrNumber = number || boolean; +>booleanOrNumber : "number" | "boolean" +>number || boolean : "number" | "boolean" +>number : "number" +>boolean : "boolean" + +const stringOrBooleanOrNumber = stringOrBoolean || number; +>stringOrBooleanOrNumber : "string" | "number" | "boolean" +>stringOrBoolean || number : "string" | "number" | "boolean" +>stringOrBoolean : "string" | "boolean" +>number : "number" + +namespace Consts2 { +>Consts2 : typeof Consts2 + + const EMPTY_STRING = getFalsyPrimitive(string); +>EMPTY_STRING : string +>getFalsyPrimitive(string) : string +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>string : "string" + + const ZERO = getFalsyPrimitive(number); +>ZERO : number +>getFalsyPrimitive(number) : number +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>number : "number" + + const FALSE = getFalsyPrimitive(boolean); +>FALSE : boolean +>getFalsyPrimitive(boolean) : boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>boolean : "boolean" + + const a = getFalsyPrimitive(stringOrNumber); +>a : string | number +>getFalsyPrimitive(stringOrNumber) : string | number +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>stringOrNumber : "string" | "number" + + const b = getFalsyPrimitive(stringOrBoolean); +>b : string | boolean +>getFalsyPrimitive(stringOrBoolean) : string | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>stringOrBoolean : "string" | "boolean" + + const c = getFalsyPrimitive(booleanOrNumber); +>c : number | boolean +>getFalsyPrimitive(booleanOrNumber) : number | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>booleanOrNumber : "number" | "boolean" + + const d = getFalsyPrimitive(stringOrBooleanOrNumber); +>d : string | number | boolean +>getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>stringOrBooleanOrNumber : "string" | "number" | "boolean" +} + + + diff --git a/tests/baselines/reference/stringLiteralTypesOverloads04.js b/tests/baselines/reference/stringLiteralTypesOverloads04.js index fd10ac986a9..81e123c3e57 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads04.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads04.js @@ -3,7 +3,7 @@ declare function f(x: (p: "foo" | "bar") => "foo"); f(y => { - let z = y = "foo"; + const z = y = "foo"; return z; }) diff --git a/tests/baselines/reference/stringLiteralTypesOverloads04.symbols b/tests/baselines/reference/stringLiteralTypesOverloads04.symbols index 9f468b8bd95..de1951d325a 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads04.symbols +++ b/tests/baselines/reference/stringLiteralTypesOverloads04.symbols @@ -9,11 +9,11 @@ f(y => { >f : Symbol(f, Decl(stringLiteralTypesOverloads04.ts, 0, 0)) >y : Symbol(y, Decl(stringLiteralTypesOverloads04.ts, 3, 2)) - let z = y = "foo"; ->z : Symbol(z, Decl(stringLiteralTypesOverloads04.ts, 4, 7)) + const z = y = "foo"; +>z : Symbol(z, Decl(stringLiteralTypesOverloads04.ts, 4, 9)) >y : Symbol(y, Decl(stringLiteralTypesOverloads04.ts, 3, 2)) return z; ->z : Symbol(z, Decl(stringLiteralTypesOverloads04.ts, 4, 7)) +>z : Symbol(z, Decl(stringLiteralTypesOverloads04.ts, 4, 9)) }) diff --git a/tests/baselines/reference/stringLiteralTypesOverloads04.types b/tests/baselines/reference/stringLiteralTypesOverloads04.types index 32d316494ca..8cb8b2a7cea 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads04.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads04.types @@ -6,12 +6,12 @@ declare function f(x: (p: "foo" | "bar") => "foo"); >p : "foo" | "bar" f(y => { ->f(y => { let z = y = "foo"; return z;}) : any +>f(y => { const z = y = "foo"; return z;}) : any >f : (x: (p: "foo" | "bar") => "foo") => any ->y => { let z = y = "foo"; return z;} : (y: "foo" | "bar") => "foo" +>y => { const z = y = "foo"; return z;} : (y: "foo" | "bar") => "foo" >y : "foo" | "bar" - let z = y = "foo"; + const z = y = "foo"; >z : "foo" >y = "foo" : "foo" >y : "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types index 4a765ea5312..0a87ffad865 100644 --- a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types +++ b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types @@ -1,69 +1,69 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesTypePredicates01.ts === type Kind = "A" | "B" ->Kind : "A" | "B" +>Kind : Kind function kindIs(kind: Kind, is: "A"): kind is "A"; ->kindIs : { (kind: "A" | "B", is: "A"): kind is "A"; (kind: "A" | "B", is: "B"): kind is "B"; } ->kind : "A" | "B" ->Kind : "A" | "B" +>kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } +>kind : Kind +>Kind : Kind >is : "A" >kind : any function kindIs(kind: Kind, is: "B"): kind is "B"; ->kindIs : { (kind: "A" | "B", is: "A"): kind is "A"; (kind: "A" | "B", is: "B"): kind is "B"; } ->kind : "A" | "B" ->Kind : "A" | "B" +>kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } +>kind : Kind +>Kind : Kind >is : "B" >kind : any function kindIs(kind: Kind, is: Kind): boolean { ->kindIs : { (kind: "A" | "B", is: "A"): kind is "A"; (kind: "A" | "B", is: "B"): kind is "B"; } ->kind : "A" | "B" ->Kind : "A" | "B" ->is : "A" | "B" ->Kind : "A" | "B" +>kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } +>kind : Kind +>Kind : Kind +>is : Kind +>Kind : Kind return kind === is; >kind === is : boolean ->kind : "A" | "B" ->is : "A" | "B" +>kind : Kind +>is : Kind } var x: Kind = undefined; ->x : "A" | "B" ->Kind : "A" | "B" +>x : Kind +>Kind : Kind >undefined : undefined if (kindIs(x, "A")) { >kindIs(x, "A") : boolean ->kindIs : { (kind: "A" | "B", is: "A"): kind is "A"; (kind: "A" | "B", is: "B"): kind is "B"; } ->x : "A" | "B" +>kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } +>x : Kind >"A" : "A" let a = x; ->a : "A" +>a : string >x : "A" } else { let b = x; ->b : "B" +>b : string >x : "B" } if (!kindIs(x, "B")) { >!kindIs(x, "B") : boolean >kindIs(x, "B") : boolean ->kindIs : { (kind: "A" | "B", is: "A"): kind is "A"; (kind: "A" | "B", is: "B"): kind is "B"; } ->x : "A" | "B" +>kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } +>x : Kind >"B" : "B" let c = x; ->c : "A" +>c : string >x : "A" } else { let d = x; ->d : "B" +>d : string >x : "B" } diff --git a/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types b/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types index 90cb538b800..46dfef010a0 100644 --- a/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types +++ b/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types @@ -15,34 +15,34 @@ let abcOrXyz: "ABC" | "XYZ" = abc || xyz; >xyz : "XYZ" let abcOrXyzOrNumber: "ABC" | "XYZ" | number = abcOrXyz || 100; ->abcOrXyzOrNumber : "ABC" | "XYZ" | number ->abcOrXyz || 100 : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" +>abcOrXyz || 100 : "ABC" | "XYZ" | 100 >abcOrXyz : "ABC" | "XYZ" ->100 : number +>100 : 100 let a = "" + abc; >a : string >"" + abc : string ->"" : string +>"" : "" >abc : "ABC" let b = abc + ""; >b : string >abc + "" : string >abc : "ABC" ->"" : string +>"" : "" let c = 10 + abc; >c : string >10 + abc : string ->10 : number +>10 : 10 >abc : "ABC" let d = abc + 10; >d : string >abc + 10 : string >abc : "ABC" ->10 : number +>10 : 10 let e = xyz + abc; >e : string @@ -59,14 +59,14 @@ let f = abc + xyz; let g = true + abc; >g : string >true + abc : string ->true : boolean +>true : true >abc : "ABC" let h = abc + true; >h : string >abc + true : string >abc : "ABC" ->true : boolean +>true : true let i = abc + abcOrXyz + xyz; >i : string @@ -95,47 +95,47 @@ let l = -abcOrXyz; let m = abcOrXyzOrNumber + ""; >m : string >abcOrXyzOrNumber + "" : string ->abcOrXyzOrNumber : "ABC" | "XYZ" | number ->"" : string +>abcOrXyzOrNumber : number | "ABC" | "XYZ" +>"" : "" let n = "" + abcOrXyzOrNumber; >n : string >"" + abcOrXyzOrNumber : string ->"" : string ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>"" : "" +>abcOrXyzOrNumber : number | "ABC" | "XYZ" let o = abcOrXyzOrNumber + abcOrXyz; >o : string >abcOrXyzOrNumber + abcOrXyz : string ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" >abcOrXyz : "ABC" | "XYZ" let p = abcOrXyz + abcOrXyzOrNumber; >p : string >abcOrXyz + abcOrXyzOrNumber : string >abcOrXyz : "ABC" | "XYZ" ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" let q = !abcOrXyzOrNumber; >q : boolean >!abcOrXyzOrNumber : boolean ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" let r = ~abcOrXyzOrNumber; >r : number >~abcOrXyzOrNumber : number ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" let s = abcOrXyzOrNumber < abcOrXyzOrNumber; >s : boolean >abcOrXyzOrNumber < abcOrXyzOrNumber : boolean ->abcOrXyzOrNumber : "ABC" | "XYZ" | number ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" +>abcOrXyzOrNumber : number | "ABC" | "XYZ" let t = abcOrXyzOrNumber >= abcOrXyz; >t : boolean >abcOrXyzOrNumber >= abcOrXyz : boolean ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" >abcOrXyz : "ABC" | "XYZ" let u = abc === abcOrXyz; @@ -148,5 +148,5 @@ let v = abcOrXyz === abcOrXyzOrNumber; >v : boolean >abcOrXyz === abcOrXyzOrNumber : boolean >abcOrXyz : "ABC" | "XYZ" ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" diff --git a/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt b/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt index 92afe67df0c..a51469baa93 100644 --- a/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt +++ b/tests/baselines/reference/stringLiteralTypesWithVariousOperators02.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(7,9): error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and 'number'. -tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(8,9): error TS2365: Operator '+' cannot be applied to types 'number' and '"ABC" | "XYZ" | number'. -tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(9,9): error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and '"ABC" | "XYZ" | number'. -tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(10,9): error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and 'boolean'. -tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(11,9): error TS2365: Operator '+' cannot be applied to types 'boolean' and '"ABC" | "XYZ" | number'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(7,9): error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and '100'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(8,9): error TS2365: Operator '+' cannot be applied to types '100' and 'number | "ABC" | "XYZ"'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(9,9): error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and 'number | "ABC" | "XYZ"'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(10,9): error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and 'true'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(11,9): error TS2365: Operator '+' cannot be applied to types 'false' and 'number | "ABC" | "XYZ"'. tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(12,9): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(13,11): error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(14,9): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. @@ -21,19 +21,19 @@ tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperato let a = abcOrXyzOrNumber + 100; ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and 'number'. +!!! error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and '100'. let b = 100 + abcOrXyzOrNumber; ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'number' and '"ABC" | "XYZ" | number'. +!!! error TS2365: Operator '+' cannot be applied to types '100' and 'number | "ABC" | "XYZ"'. let c = abcOrXyzOrNumber + abcOrXyzOrNumber; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and '"ABC" | "XYZ" | number'. +!!! error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and 'number | "ABC" | "XYZ"'. let d = abcOrXyzOrNumber + true; ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types '"ABC" | "XYZ" | number' and 'boolean'. +!!! error TS2365: Operator '+' cannot be applied to types 'number | "ABC" | "XYZ"' and 'true'. let e = false + abcOrXyzOrNumber; ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'boolean' and '"ABC" | "XYZ" | number'. +!!! error TS2365: Operator '+' cannot be applied to types 'false' and 'number | "ABC" | "XYZ"'. let f = abcOrXyzOrNumber++; ~~~~~~~~~~~~~~~~ !!! error TS2356: An arithmetic operand must be of type 'any', 'number' or an enum type. diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.js b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.js new file mode 100644 index 00000000000..2c80e8a704e --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.js @@ -0,0 +1,9 @@ +//// [stringLiteralsAssertionsInEqualityComparisons01.ts] +var a = "foo" === "bar" as string; +var b = "foo" !== ("bar" as string); +var c = "foo" == ("bar"); + +//// [stringLiteralsAssertionsInEqualityComparisons01.js] +var a = "foo" === "bar"; +var b = "foo" !== "bar"; +var c = "foo" == "bar"; diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.symbols b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.symbols new file mode 100644 index 00000000000..3affecc854e --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons01.ts === +var a = "foo" === "bar" as string; +>a : Symbol(a, Decl(stringLiteralsAssertionsInEqualityComparisons01.ts, 0, 3)) + +var b = "foo" !== ("bar" as string); +>b : Symbol(b, Decl(stringLiteralsAssertionsInEqualityComparisons01.ts, 1, 3)) + +var c = "foo" == ("bar"); +>c : Symbol(c, Decl(stringLiteralsAssertionsInEqualityComparisons01.ts, 2, 3)) + diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.types b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.types new file mode 100644 index 00000000000..71cfd959f5e --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons01.types @@ -0,0 +1,24 @@ +=== tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons01.ts === +var a = "foo" === "bar" as string; +>a : boolean +>"foo" === "bar" as string : boolean +>"foo" : "foo" +>"bar" as string : string +>"bar" : "bar" + +var b = "foo" !== ("bar" as string); +>b : boolean +>"foo" !== ("bar" as string) : boolean +>"foo" : "foo" +>("bar" as string) : string +>"bar" as string : string +>"bar" : "bar" + +var c = "foo" == ("bar"); +>c : boolean +>"foo" == ("bar") : boolean +>"foo" : "foo" +>("bar") : any +>"bar" : any +>"bar" : "bar" + diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt new file mode 100644 index 00000000000..fd92af4e84f --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts(3,9): error TS2365: Operator '===' cannot be applied to types '"foo"' and '"baz"'. +tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts(5,9): error TS2365: Operator '==' cannot be applied to types 'string' and 'number'. +tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts(5,19): error TS2352: Type 'string' cannot be converted to type 'number'. + + +==== tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts (3 errors) ==== + type EnhancedString = string & { enhancements: any }; + + var a = "foo" === "bar" as "baz"; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"foo"' and '"baz"'. + var b = "foo" !== ("bar" as "foo"); + var c = "foo" == ("bar"); + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'string' and 'number'. + ~~~~~~~~~~~~~ +!!! error TS2352: Type 'string' cannot be converted to type 'number'. + var d = "foo" === ("bar" as EnhancedString); \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.js b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.js new file mode 100644 index 00000000000..32beac89bf7 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.js @@ -0,0 +1,13 @@ +//// [stringLiteralsAssertionsInEqualityComparisons02.ts] +type EnhancedString = string & { enhancements: any }; + +var a = "foo" === "bar" as "baz"; +var b = "foo" !== ("bar" as "foo"); +var c = "foo" == ("bar"); +var d = "foo" === ("bar" as EnhancedString); + +//// [stringLiteralsAssertionsInEqualityComparisons02.js] +var a = "foo" === "bar"; +var b = "foo" !== "bar"; +var c = "foo" == "bar"; +var d = "foo" === "bar"; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt new file mode 100644 index 00000000000..17b4e39e0c5 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.errors.txt @@ -0,0 +1,44 @@ +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(8,5): error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(9,5): error TS2365: Operator '===' cannot be applied to types '"bar"' and '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(10,5): error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(17,5): error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(18,5): error TS2365: Operator '!==' cannot be applied to types '"bar"' and '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts(19,5): error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts (6 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + + let b: boolean; + b = x === y; + b = "foo" === y + b = y === "foo"; + b = "foo" === "bar"; + ~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" === x; + ~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"bar"' and '"foo"'. + b = x === "bar"; + ~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. + b = y === "bar"; + b = "bar" === y; + + b = x !== y; + b = "foo" !== y + b = y !== "foo"; + b = "foo" !== "bar"; + ~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" !== x; + ~~~~~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types '"bar"' and '"foo"'. + b = x !== "bar"; + ~~~~~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. + b = y !== "bar"; + b = "bar" !== y; + + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js new file mode 100644 index 00000000000..fc08a354338 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks01.js @@ -0,0 +1,45 @@ +//// [stringLiteralsWithEqualityChecks01.ts] +let x: "foo"; +let y: "foo" | "bar"; + +let b: boolean; +b = x === y; +b = "foo" === y +b = y === "foo"; +b = "foo" === "bar"; +b = "bar" === x; +b = x === "bar"; +b = y === "bar"; +b = "bar" === y; + +b = x !== y; +b = "foo" !== y +b = y !== "foo"; +b = "foo" !== "bar"; +b = "bar" !== x; +b = x !== "bar"; +b = y !== "bar"; +b = "bar" !== y; + + + +//// [stringLiteralsWithEqualityChecks01.js] +var x; +var y; +var b; +b = x === y; +b = "foo" === y; +b = y === "foo"; +b = "foo" === "bar"; +b = "bar" === x; +b = x === "bar"; +b = y === "bar"; +b = "bar" === y; +b = x !== y; +b = "foo" !== y; +b = y !== "foo"; +b = "foo" !== "bar"; +b = "bar" !== x; +b = x !== "bar"; +b = y !== "bar"; +b = "bar" !== y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt new file mode 100644 index 00000000000..ef01bbf5109 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.errors.txt @@ -0,0 +1,44 @@ +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(8,5): error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(9,5): error TS2365: Operator '==' cannot be applied to types '"bar"' and '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(10,5): error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(17,5): error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(18,5): error TS2365: Operator '!=' cannot be applied to types '"bar"' and '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts(19,5): error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts (6 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + + let b: boolean; + b = x == y; + b = "foo" == y + b = y == "foo"; + b = "foo" == "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" == x; + ~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '"bar"' and '"foo"'. + b = x == "bar"; + ~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. + b = y == "bar"; + b = "bar" == y; + + b = x != y; + b = "foo" != y + b = y != "foo"; + b = "foo" != "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" != x; + ~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"bar"' and '"foo"'. + b = x != "bar"; + ~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + b = y != "bar"; + b = "bar" != y; + + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js new file mode 100644 index 00000000000..b31246251a3 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks02.js @@ -0,0 +1,45 @@ +//// [stringLiteralsWithEqualityChecks02.ts] +let x: "foo"; +let y: "foo" | "bar"; + +let b: boolean; +b = x == y; +b = "foo" == y +b = y == "foo"; +b = "foo" == "bar"; +b = "bar" == x; +b = x == "bar"; +b = y == "bar"; +b = "bar" == y; + +b = x != y; +b = "foo" != y +b = y != "foo"; +b = "foo" != "bar"; +b = "bar" != x; +b = x != "bar"; +b = y != "bar"; +b = "bar" != y; + + + +//// [stringLiteralsWithEqualityChecks02.js] +var x; +var y; +var b; +b = x == y; +b = "foo" == y; +b = y == "foo"; +b = "foo" == "bar"; +b = "bar" == x; +b = x == "bar"; +b = y == "bar"; +b = "bar" == y; +b = x != y; +b = "foo" != y; +b = y != "foo"; +b = "foo" != "bar"; +b = "bar" != x; +b = x != "bar"; +b = y != "bar"; +b = "bar" != y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt new file mode 100644 index 00000000000..a12d3f7f0d2 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.errors.txt @@ -0,0 +1,39 @@ +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts(16,5): error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts(25,5): error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts (2 errors) ==== + interface Runnable { + isRunning: boolean; + } + + interface Refrigerator extends Runnable { + makesFoodGoBrrr: boolean; + } + + let x: string; + let y: "foo" | Refrigerator; + + let b: boolean; + b = x === y; + b = "foo" === y + b = y === "foo"; + b = "foo" === "bar"; + ~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" === x; + b = x === "bar"; + b = y === "bar"; + b = "bar" === y; + + b = x !== y; + b = "foo" !== y + b = y !== "foo"; + b = "foo" !== "bar"; + ~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" !== x; + b = x !== "bar"; + b = y !== "bar"; + b = "bar" !== y; + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js new file mode 100644 index 00000000000..e418c73ff69 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks03.js @@ -0,0 +1,52 @@ +//// [stringLiteralsWithEqualityChecks03.ts] +interface Runnable { + isRunning: boolean; +} + +interface Refrigerator extends Runnable { + makesFoodGoBrrr: boolean; +} + +let x: string; +let y: "foo" | Refrigerator; + +let b: boolean; +b = x === y; +b = "foo" === y +b = y === "foo"; +b = "foo" === "bar"; +b = "bar" === x; +b = x === "bar"; +b = y === "bar"; +b = "bar" === y; + +b = x !== y; +b = "foo" !== y +b = y !== "foo"; +b = "foo" !== "bar"; +b = "bar" !== x; +b = x !== "bar"; +b = y !== "bar"; +b = "bar" !== y; + + +//// [stringLiteralsWithEqualityChecks03.js] +var x; +var y; +var b; +b = x === y; +b = "foo" === y; +b = y === "foo"; +b = "foo" === "bar"; +b = "bar" === x; +b = x === "bar"; +b = y === "bar"; +b = "bar" === y; +b = x !== y; +b = "foo" !== y; +b = y !== "foo"; +b = "foo" !== "bar"; +b = "bar" !== x; +b = x !== "bar"; +b = y !== "bar"; +b = "bar" !== y; diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt new file mode 100644 index 00000000000..fde735023d9 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.errors.txt @@ -0,0 +1,39 @@ +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts(16,5): error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts(25,5): error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts (2 errors) ==== + interface Runnable { + isRunning: boolean; + } + + interface Refrigerator extends Runnable { + makesFoodGoBrrr: boolean; + } + + let x: string; + let y: "foo" | Refrigerator; + + let b: boolean; + b = x == y; + b = "foo" == y + b = y == "foo"; + b = "foo" == "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" == x; + b = x == "bar"; + b = y == "bar"; + b = "bar" == y; + + b = x != y; + b = "foo" != y + b = y != "foo"; + b = "foo" != "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + b = "bar" != x; + b = x != "bar"; + b = y != "bar"; + b = "bar" != y; + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js new file mode 100644 index 00000000000..52f43cdfa5e --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithEqualityChecks04.js @@ -0,0 +1,52 @@ +//// [stringLiteralsWithEqualityChecks04.ts] +interface Runnable { + isRunning: boolean; +} + +interface Refrigerator extends Runnable { + makesFoodGoBrrr: boolean; +} + +let x: string; +let y: "foo" | Refrigerator; + +let b: boolean; +b = x == y; +b = "foo" == y +b = y == "foo"; +b = "foo" == "bar"; +b = "bar" == x; +b = x == "bar"; +b = y == "bar"; +b = "bar" == y; + +b = x != y; +b = "foo" != y +b = y != "foo"; +b = "foo" != "bar"; +b = "bar" != x; +b = x != "bar"; +b = y != "bar"; +b = "bar" != y; + + +//// [stringLiteralsWithEqualityChecks04.js] +var x; +var y; +var b; +b = x == y; +b = "foo" == y; +b = y == "foo"; +b = "foo" == "bar"; +b = "bar" == x; +b = x == "bar"; +b = y == "bar"; +b = "bar" == y; +b = x != y; +b = "foo" != y; +b = y != "foo"; +b = "foo" != "bar"; +b = "bar" != x; +b = x != "bar"; +b = y != "bar"; +b = "bar" != y; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt new file mode 100644 index 00000000000..b127d999d94 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts(7,10): error TS2678: Type '"bar"' is not comparable to type '"foo"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts (1 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + + switch (x) { + case "foo": + break; + case "bar": + ~~~~~ +!!! error TS2678: Type '"bar"' is not comparable to type '"foo"'. + break; + case y: + y; + break; + } + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js new file mode 100644 index 00000000000..b9541ef05e6 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements01.js @@ -0,0 +1,27 @@ +//// [stringLiteralsWithSwitchStatements01.ts] +let x: "foo"; +let y: "foo" | "bar"; + +switch (x) { + case "foo": + break; + case "bar": + break; + case y: + y; + break; +} + + +//// [stringLiteralsWithSwitchStatements01.js] +var x; +var y; +switch (x) { + case "foo": + break; + case "bar": + break; + case y: + y; + break; +} diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt new file mode 100644 index 00000000000..1a4d9a4c560 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts(8,5): error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts(13,5): error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts (2 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + + let b: boolean; + b = x == y; + b = "foo" == y + b = y == "foo"; + b = "foo" == "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types '"foo"' and '"bar"'. + + b = x != y; + b = "foo" != y + b = y != "foo"; + b = "foo" != "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types '"foo"' and '"bar"'. + + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js new file mode 100644 index 00000000000..04871615617 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements02.js @@ -0,0 +1,29 @@ +//// [stringLiteralsWithSwitchStatements02.ts] +let x: "foo"; +let y: "foo" | "bar"; + +let b: boolean; +b = x == y; +b = "foo" == y +b = y == "foo"; +b = "foo" == "bar"; + +b = x != y; +b = "foo" != y +b = y != "foo"; +b = "foo" != "bar"; + + + +//// [stringLiteralsWithSwitchStatements02.js] +var x; +var y; +var b; +b = x == y; +b = "foo" == y; +b = y == "foo"; +b = "foo" == "bar"; +b = x != y; +b = "foo" != y; +b = y != "foo"; +b = "foo" != "bar"; diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt new file mode 100644 index 00000000000..c5aedb81334 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt @@ -0,0 +1,56 @@ +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(10,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. + Type '"baz"' is not comparable to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(12,10): error TS2678: Type '"bar"' is not comparable to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(14,10): error TS2678: Type '"baz"' is not comparable to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(20,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. + Type '"baz"' is not comparable to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(22,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. + Type '"baz"' is not comparable to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(23,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. + Type '"baz"' is not comparable to type '"foo"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts (6 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + let z: "bar"; + + declare function randBool(): boolean; + + switch (x) { + case randBool() ? "foo" : "baz": + break; + case (randBool() ? ("bar") : "baz" ? "bar" : "baz"): + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. +!!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + break; + case (("bar")): + ~~~~~~~~~ +!!! error TS2678: Type '"bar"' is not comparable to type '"foo"'. + break; + case (x, y, ("baz")): + ~~~~~~~~~~~~~~~ +!!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + x; + y; + break; + case (("foo" || ("bar"))): + break; + case (("bar" || ("baz"))): + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. +!!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + break; + case z || "baz": + ~~~~~~~~~~ +!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. +!!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + case "baz" || z: + ~~~~~~~~~~ +!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. +!!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + z; + break; + } + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js new file mode 100644 index 00000000000..17596249e6c --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.js @@ -0,0 +1,53 @@ +//// [stringLiteralsWithSwitchStatements03.ts] +let x: "foo"; +let y: "foo" | "bar"; +let z: "bar"; + +declare function randBool(): boolean; + +switch (x) { + case randBool() ? "foo" : "baz": + break; + case (randBool() ? ("bar") : "baz" ? "bar" : "baz"): + break; + case (("bar")): + break; + case (x, y, ("baz")): + x; + y; + break; + case (("foo" || ("bar"))): + break; + case (("bar" || ("baz"))): + break; + case z || "baz": + case "baz" || z: + z; + break; +} + + +//// [stringLiteralsWithSwitchStatements03.js] +var x; +var y; +var z; +switch (x) { + case randBool() ? "foo" : "baz": + break; + case (randBool() ? ("bar") : "baz" ? "bar" : "baz"): + break; + case (("bar")): + break; + case (x, y, ("baz")): + x; + y; + break; + case (("foo" || ("bar"))): + break; + case (("bar" || ("baz"))): + break; + case z || "baz": + case "baz" || z: + z; + break; +} diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt new file mode 100644 index 00000000000..10a461c753a --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt @@ -0,0 +1,28 @@ +tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts(11,10): error TS2678: Type '"baz"' is not comparable to type '"foo" | "bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts (1 errors) ==== + let x: "foo"; + let y: "foo" | "bar"; + + declare function randBool(): boolean; + + switch (y) { + case "foo", x: + break; + case x, "foo": + break; + case x, "baz": + ~~~~~~~~ +!!! error TS2678: Type '"baz"' is not comparable to type '"foo" | "bar"'. + break; + case "baz", x: + break; + case "baz" && "bar": + break; + case "baz" && ("foo" || "bar"): + break; + case "bar" && ("baz" || "bar"): + break; + } + \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js new file mode 100644 index 00000000000..da2ce7b4150 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js @@ -0,0 +1,43 @@ +//// [stringLiteralsWithSwitchStatements04.ts] +let x: "foo"; +let y: "foo" | "bar"; + +declare function randBool(): boolean; + +switch (y) { + case "foo", x: + break; + case x, "foo": + break; + case x, "baz": + break; + case "baz", x: + break; + case "baz" && "bar": + break; + case "baz" && ("foo" || "bar"): + break; + case "bar" && ("baz" || "bar"): + break; +} + + +//// [stringLiteralsWithSwitchStatements04.js] +var x; +var y; +switch (y) { + case "foo", x: + break; + case x, "foo": + break; + case x, "baz": + break; + case "baz", x: + break; + case "baz" && "bar": + break; + case "baz" && ("foo" || "bar"): + break; + case "bar" && ("baz" || "bar"): + break; +} diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols new file mode 100644 index 00000000000..40062a34b47 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.symbols @@ -0,0 +1,37 @@ +=== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts === +let x: "foo"; +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) + +let y: "foo" | "bar"; +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 3)) + +declare function randBool(): boolean; +>randBool : Symbol(randBool, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 21)) + +switch (y) { +>y : Symbol(y, Decl(stringLiteralsWithSwitchStatements04.ts, 1, 3)) + + case "foo", x: +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) + + break; + case x, "foo": +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) + + break; + case x, "baz": +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) + + break; + case "baz", x: +>x : Symbol(x, Decl(stringLiteralsWithSwitchStatements04.ts, 0, 3)) + + break; + case "baz" && "bar": + break; + case "baz" && ("foo" || "bar"): + break; + case "bar" && ("baz" || "bar"): + break; +} + diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types new file mode 100644 index 00000000000..fc395576a72 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.types @@ -0,0 +1,63 @@ +=== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts === +let x: "foo"; +>x : "foo" + +let y: "foo" | "bar"; +>y : "foo" | "bar" + +declare function randBool(): boolean; +>randBool : () => boolean + +switch (y) { +>y : "foo" | "bar" + + case "foo", x: +>"foo", x : "foo" +>"foo" : string +>x : "foo" + + break; + case x, "foo": +>x, "foo" : string +>x : "foo" +>"foo" : string + + break; + case x, "baz": +>x, "baz" : string +>x : "foo" +>"baz" : string + + break; + case "baz", x: +>"baz", x : "foo" +>"baz" : string +>x : "foo" + + break; + case "baz" && "bar": +>"baz" && "bar" : string +>"baz" : string +>"bar" : string + + break; + case "baz" && ("foo" || "bar"): +>"baz" && ("foo" || "bar") : string +>"baz" : string +>("foo" || "bar") : string +>"foo" || "bar" : string +>"foo" : string +>"bar" : string + + break; + case "bar" && ("baz" || "bar"): +>"bar" && ("baz" || "bar") : string +>"bar" : string +>("baz" || "bar") : string +>"baz" || "bar" : string +>"baz" : string +>"bar" : string + + break; +} + diff --git a/tests/baselines/reference/stringLiteralsWithTypeAssertions01.js b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.js new file mode 100644 index 00000000000..6e74c737517 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.js @@ -0,0 +1,18 @@ +//// [stringLiteralsWithTypeAssertions01.ts] +let fooOrBar: "foo" | "bar"; + +let a = "foo" as "bar"; +let b = "bar" as "foo"; +let c = fooOrBar as "foo"; +let d = fooOrBar as "bar"; +let e = fooOrBar as "baz"; +let f = "baz" as typeof fooOrBar; + +//// [stringLiteralsWithTypeAssertions01.js] +var fooOrBar; +var a = "foo"; +var b = "bar"; +var c = fooOrBar; +var d = fooOrBar; +var e = fooOrBar; +var f = "baz"; diff --git a/tests/baselines/reference/stringLiteralsWithTypeAssertions01.symbols b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.symbols new file mode 100644 index 00000000000..915432deca3 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.symbols @@ -0,0 +1,26 @@ +=== tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts === +let fooOrBar: "foo" | "bar"; +>fooOrBar : Symbol(fooOrBar, Decl(stringLiteralsWithTypeAssertions01.ts, 0, 3)) + +let a = "foo" as "bar"; +>a : Symbol(a, Decl(stringLiteralsWithTypeAssertions01.ts, 2, 3)) + +let b = "bar" as "foo"; +>b : Symbol(b, Decl(stringLiteralsWithTypeAssertions01.ts, 3, 3)) + +let c = fooOrBar as "foo"; +>c : Symbol(c, Decl(stringLiteralsWithTypeAssertions01.ts, 4, 3)) +>fooOrBar : Symbol(fooOrBar, Decl(stringLiteralsWithTypeAssertions01.ts, 0, 3)) + +let d = fooOrBar as "bar"; +>d : Symbol(d, Decl(stringLiteralsWithTypeAssertions01.ts, 5, 3)) +>fooOrBar : Symbol(fooOrBar, Decl(stringLiteralsWithTypeAssertions01.ts, 0, 3)) + +let e = fooOrBar as "baz"; +>e : Symbol(e, Decl(stringLiteralsWithTypeAssertions01.ts, 6, 3)) +>fooOrBar : Symbol(fooOrBar, Decl(stringLiteralsWithTypeAssertions01.ts, 0, 3)) + +let f = "baz" as typeof fooOrBar; +>f : Symbol(f, Decl(stringLiteralsWithTypeAssertions01.ts, 7, 3)) +>fooOrBar : Symbol(fooOrBar, Decl(stringLiteralsWithTypeAssertions01.ts, 0, 3)) + diff --git a/tests/baselines/reference/stringLiteralsWithTypeAssertions01.types b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.types new file mode 100644 index 00000000000..4cd85990702 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.types @@ -0,0 +1,35 @@ +=== tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts === +let fooOrBar: "foo" | "bar"; +>fooOrBar : "foo" | "bar" + +let a = "foo" as "bar"; +>a : string +>"foo" as "bar" : "bar" +>"foo" : "foo" + +let b = "bar" as "foo"; +>b : string +>"bar" as "foo" : "foo" +>"bar" : "bar" + +let c = fooOrBar as "foo"; +>c : string +>fooOrBar as "foo" : "foo" +>fooOrBar : "foo" | "bar" + +let d = fooOrBar as "bar"; +>d : string +>fooOrBar as "bar" : "bar" +>fooOrBar : "foo" | "bar" + +let e = fooOrBar as "baz"; +>e : string +>fooOrBar as "baz" : "baz" +>fooOrBar : "foo" | "bar" + +let f = "baz" as typeof fooOrBar; +>f : string +>"baz" as typeof fooOrBar : "foo" | "bar" +>"baz" : "baz" +>fooOrBar : "foo" | "bar" + diff --git a/tests/baselines/reference/stringNamedPropertyAccess.types b/tests/baselines/reference/stringNamedPropertyAccess.types index 2d0b585f828..1b3d56abc10 100644 --- a/tests/baselines/reference/stringNamedPropertyAccess.types +++ b/tests/baselines/reference/stringNamedPropertyAccess.types @@ -13,13 +13,13 @@ var r1 = c["a b"]; >r1 : number >c["a b"] : number >c : C ->"a b" : string +>"a b" : "a b" var r1b = C['c d']; >r1b : number >C['c d'] : number >C : typeof C ->'c d' : string +>'c d' : "c d" interface I { >I : I @@ -34,7 +34,7 @@ var r2 = i["a b"]; >r2 : number >i["a b"] : number >i : I ->"a b" : string +>"a b" : "a b" var a: { >a : { "a b": number; } @@ -45,18 +45,18 @@ var r3 = a["a b"]; >r3 : number >a["a b"] : number >a : { "a b": number; } ->"a b" : string +>"a b" : "a b" var b = { >b : { "a b": number; } >{ "a b": 1} : { "a b": number; } "a b": 1 ->1 : number +>1 : 1 } var r4 = b["a b"]; >r4 : number >b["a b"] : number >b : { "a b": number; } ->"a b" : string +>"a b" : "a b" diff --git a/tests/baselines/reference/stringPropCodeGen.types b/tests/baselines/reference/stringPropCodeGen.types index 9b061a510e1..184718982fa 100644 --- a/tests/baselines/reference/stringPropCodeGen.types +++ b/tests/baselines/reference/stringPropCodeGen.types @@ -7,7 +7,7 @@ var a = { >function() { } : () => void "bar" : 5 ->5 : number +>5 : 5 }; diff --git a/tests/baselines/reference/stringPropertyAccess.types b/tests/baselines/reference/stringPropertyAccess.types index 05409140353..fd2ec13da74 100644 --- a/tests/baselines/reference/stringPropertyAccess.types +++ b/tests/baselines/reference/stringPropertyAccess.types @@ -1,7 +1,7 @@ === tests/cases/conformance/types/primitives/string/stringPropertyAccess.ts === var x = ''; >x : string ->'' : string +>'' : "" var a = x.charAt(0); >a : string @@ -9,7 +9,7 @@ var a = x.charAt(0); >x.charAt : (pos: number) => string >x : string >charAt : (pos: number) => string ->0 : number +>0 : 0 var b = x.hasOwnProperty('charAt'); >b : boolean @@ -17,21 +17,21 @@ var b = x.hasOwnProperty('charAt'); >x.hasOwnProperty : (v: string) => boolean >x : string >hasOwnProperty : (v: string) => boolean ->'charAt' : string +>'charAt' : "charAt" var c = x['charAt'](0); >c : string >x['charAt'](0) : string >x['charAt'] : (pos: number) => string >x : string ->'charAt' : string ->0 : number +>'charAt' : "charAt" +>0 : 0 var e = x['hasOwnProperty']('toFixed'); >e : boolean >x['hasOwnProperty']('toFixed') : boolean >x['hasOwnProperty'] : (v: string) => boolean >x : string ->'hasOwnProperty' : string ->'toFixed' : string +>'hasOwnProperty' : "hasOwnProperty" +>'toFixed' : "toFixed" diff --git a/tests/baselines/reference/stringPropertyAccessWithError.errors.txt b/tests/baselines/reference/stringPropertyAccessWithError.errors.txt index fef1613bc5f..7cff28ee85d 100644 --- a/tests/baselines/reference/stringPropertyAccessWithError.errors.txt +++ b/tests/baselines/reference/stringPropertyAccessWithError.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/types/primitives/string/stringPropertyAccessWithError.ts(2,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/primitives/string/stringPropertyAccessWithError.ts(2,21): error TS2345: Argument of type '"invalid"' is not assignable to parameter of type 'number'. ==== tests/cases/conformance/types/primitives/string/stringPropertyAccessWithError.ts (1 errors) ==== var x = ''; var d = x['charAt']('invalid'); // error ~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. \ No newline at end of file +!!! error TS2345: Argument of type '"invalid"' is not assignable to parameter of type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/structural1.types b/tests/baselines/reference/structural1.types index 8ad3c679286..12dfb25d91d 100644 --- a/tests/baselines/reference/structural1.types +++ b/tests/baselines/reference/structural1.types @@ -23,8 +23,8 @@ module M { >f : (i: I) => void >{salt:2,pepper:0} : { salt: number; pepper: number; } >salt : number ->2 : number +>2 : 2 >pepper : number ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/styleOptions.types b/tests/baselines/reference/styleOptions.types index f0c0e93161c..fca394ed9af 100644 --- a/tests/baselines/reference/styleOptions.types +++ b/tests/baselines/reference/styleOptions.types @@ -3,11 +3,11 @@ var x = 1; >x : number ->1 : number +>1 : 1 var y = 1; >y : number ->1 : number +>1 : 1 var t = x == y; >t : boolean diff --git a/tests/baselines/reference/subtypeRelationForNever.types b/tests/baselines/reference/subtypeRelationForNever.types index c577ee07862..67c92b9b079 100644 --- a/tests/baselines/reference/subtypeRelationForNever.types +++ b/tests/baselines/reference/subtypeRelationForNever.types @@ -27,13 +27,13 @@ function withFew(values: a[], haveFew: (values: a[]) => r, haveNone: (reas >values.length : number >values : a[] >length : number ->0 : number +>0 : 0 >haveFew(values) : r >haveFew : (values: a[]) => r >values : a[] >haveNone('No values.') : r >haveNone : (reason: string) => r ->'No values.' : string +>'No values.' : "No values." } function id(value: a) : a { return value; } >id : (value: a) => a @@ -48,9 +48,9 @@ const result = withFew([1, 2, 3], id, fail); // expected result is number[] >withFew([1, 2, 3], id, fail) : number[] >withFew : (values: a[], haveFew: (values: a[]) => r, haveNone: (reason: string) => r) => r >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >id : (value: a) => a >fail : (message: string) => never diff --git a/tests/baselines/reference/subtypesOfAny.types b/tests/baselines/reference/subtypesOfAny.types index efa9fd1cd82..aebe77df12e 100644 --- a/tests/baselines/reference/subtypesOfAny.types +++ b/tests/baselines/reference/subtypesOfAny.types @@ -187,7 +187,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } interface I15 { >I15 : I15 @@ -210,7 +210,7 @@ module c { export var bar = 1; >bar : number ->1 : number +>1 : 1 } interface I16 { >I16 : I16 diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types index 39c50bde355..99aef9e95f6 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types @@ -14,14 +14,14 @@ function f1(x: T, y: U) { var r = true ? x : y; >r : U >true ? x : y : U ->true : boolean +>true : true >x : T >y : U var r = true ? y : x; >r : U >true ? y : x : U ->true : boolean +>true : true >y : U >x : T } @@ -44,14 +44,14 @@ function f2(x: T, y: U, z: V) { var r = true ? x : y; >r : U >true ? x : y : U ->true : boolean +>true : true >x : T >y : U var r = true ? y : x; >r : U >true ? y : x : U ->true : boolean +>true : true >y : U >x : T @@ -59,14 +59,14 @@ function f2(x: T, y: U, z: V) { var r2 = true ? z : y; >r2 : V >true ? z : y : V ->true : boolean +>true : true >z : V >y : U var r2 = true ? y : z; >r2 : V >true ? y : z : V ->true : boolean +>true : true >y : U >z : V @@ -74,14 +74,14 @@ function f2(x: T, y: U, z: V) { var r2a = true ? z : x; >r2a : V >true ? z : x : V ->true : boolean +>true : true >z : V >x : T var r2b = true ? x : z; >r2b : V >true ? x : z : V ->true : boolean +>true : true >x : T >z : V } @@ -101,14 +101,14 @@ function f3(x: T, y: U) { var r = true ? x : y; >r : U >true ? x : y : U ->true : boolean +>true : true >x : T >y : U var r = true ? y : x; >r : U >true ? y : x : U ->true : boolean +>true : true >y : U >x : T @@ -116,7 +116,7 @@ function f3(x: T, y: U) { var r2 = true ? x : new Date(); >r2 : Date >true ? x : new Date() : Date ->true : boolean +>true : true >x : T >new Date() : Date >Date : DateConstructor @@ -124,7 +124,7 @@ function f3(x: T, y: U) { var r2 = true ? new Date() : x; >r2 : Date >true ? new Date() : x : Date ->true : boolean +>true : true >new Date() : Date >Date : DateConstructor >x : T @@ -133,7 +133,7 @@ function f3(x: T, y: U) { var r3 = true ? y : new Date(); >r3 : Date >true ? y : new Date() : Date ->true : boolean +>true : true >y : U >new Date() : Date >Date : DateConstructor @@ -141,7 +141,7 @@ function f3(x: T, y: U) { var r3 = true ? new Date() : y; >r3 : Date >true ? new Date() : y : Date ->true : boolean +>true : true >new Date() : Date >Date : DateConstructor >y : U @@ -174,7 +174,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } class c { baz: string } >c : c @@ -185,7 +185,7 @@ module c { export var bar = 1; >bar : number ->1 : number +>1 : 1 } function f4(x: T) { @@ -198,14 +198,14 @@ function f4(x: T) { var r0 = true ? x : null; // ok >r0 : T >true ? x : null : T ->true : boolean +>true : true >x : T >null : null var r0 = true ? null : x; // ok >r0 : T >true ? null : x : T ->true : boolean +>true : true >null : null >x : T @@ -216,14 +216,14 @@ function f4(x: T) { var r0b = true ? u : x; // ok >r0b : any >true ? u : x : any ->true : boolean +>true : true >u : any >x : T var r0b = true ? x : u; // ok >r0b : any >true ? x : u : any ->true : boolean +>true : true >x : T >u : any } @@ -237,17 +237,17 @@ function f5(x: T) { var r1 = true ? 1 : x; // ok >r1 : number | T ->true ? 1 : x : number | T ->true : boolean ->1 : number +>true ? 1 : x : 1 | T +>true : true +>1 : 1 >x : T var r1 = true ? x : 1; // ok >r1 : number | T ->true ? x : 1 : T | number ->true : boolean +>true ? x : 1 : 1 | T +>true : true >x : T ->1 : number +>1 : 1 } function f6(x: T) { @@ -259,17 +259,17 @@ function f6(x: T) { var r2 = true ? '' : x; // ok >r2 : string | T ->true ? '' : x : string | T ->true : boolean ->'' : string +>true ? '' : x : "" | T +>true : true +>'' : "" >x : T var r2 = true ? x : ''; // ok >r2 : string | T ->true ? x : '' : T | string ->true : boolean +>true ? x : '' : "" | T +>true : true >x : T ->'' : string +>'' : "" } function f7(x: T) { @@ -281,17 +281,17 @@ function f7(x: T) { var r3 = true ? true : x; // ok >r3 : boolean | T ->true ? true : x : boolean | T ->true : boolean ->true : boolean +>true ? true : x : true | T +>true : true +>true : true >x : T var r3 = true ? x : true; // ok >r3 : boolean | T ->true ? x : true : T | boolean ->true : boolean +>true ? x : true : true | T +>true : true >x : T ->true : boolean +>true : true } function f8(x: T) { @@ -304,7 +304,7 @@ function f8(x: T) { var r4 = true ? new Date() : x; // ok >r4 : Date >true ? new Date() : x : Date ->true : boolean +>true : true >new Date() : Date >Date : DateConstructor >x : T @@ -312,7 +312,7 @@ function f8(x: T) { var r4 = true ? x : new Date(); // ok >r4 : Date >true ? x : new Date() : Date ->true : boolean +>true : true >x : T >new Date() : Date >Date : DateConstructor @@ -328,14 +328,14 @@ function f9(x: T) { var r5 = true ? /1/ : x; // ok >r5 : RegExp >true ? /1/ : x : RegExp ->true : boolean +>true : true >/1/ : RegExp >x : T var r5 = true ? x : /1/; // ok >r5 : RegExp >true ? x : /1/ : RegExp ->true : boolean +>true : true >x : T >/1/ : RegExp } @@ -350,20 +350,20 @@ function f10(x: T) { var r6 = true ? { foo: 1 } : x; // ok >r6 : { foo: number; } >true ? { foo: 1 } : x : { foo: number; } ->true : boolean +>true : true >{ foo: 1 } : { foo: number; } >foo : number ->1 : number +>1 : 1 >x : T var r6 = true ? x : { foo: 1 }; // ok >r6 : { foo: number; } >true ? x : { foo: 1 } : { foo: number; } ->true : boolean +>true : true >x : T >{ foo: 1 } : { foo: number; } >foo : number ->1 : number +>1 : 1 } function f11 void>(x: T) { @@ -375,14 +375,14 @@ function f11 void>(x: T) { var r7 = true ? () => { } : x; // ok >r7 : () => void >true ? () => { } : x : () => void ->true : boolean +>true : true >() => { } : () => void >x : T var r7 = true ? x : () => { }; // ok >r7 : () => void >true ? x : () => { } : () => void ->true : boolean +>true : true >x : T >() => { } : () => void } @@ -400,7 +400,7 @@ function f12(x: U) => U>(x: T) { var r8 = true ? (x: T) => { return x } : x; // ok >r8 : (x: T) => T >true ? (x: T) => { return x } : x : (x: T) => T ->true : boolean +>true : true >(x: T) => { return x } : (x: T) => T >T : T >x : T @@ -411,7 +411,7 @@ function f12(x: U) => U>(x: T) { var r8b = true ? x : (x: T) => { return x }; // ok, type parameters not identical across declarations >r8b : (x: T) => T >true ? x : (x: T) => { return x } : (x: T) => T ->true : boolean +>true : true >x : T >(x: T) => { return x } : (x: T) => T >T : T @@ -434,14 +434,14 @@ function f13(x: T) { var r9 = true ? i1 : x; // ok >r9 : I1 >true ? i1 : x : I1 ->true : boolean +>true : true >i1 : I1 >x : T var r9 = true ? x : i1; // ok >r9 : I1 >true ? x : i1 : I1 ->true : boolean +>true : true >x : T >i1 : I1 } @@ -460,14 +460,14 @@ function f14(x: T) { var r10 = true ? c1 : x; // ok >r10 : C1 >true ? c1 : x : C1 ->true : boolean +>true : true >c1 : C1 >x : T var r10 = true ? x : c1; // ok >r10 : C1 >true ? x : c1 : C1 ->true : boolean +>true : true >x : T >c1 : C1 } @@ -486,14 +486,14 @@ function f15>(x: T) { var r12 = true ? c2 : x; // ok >r12 : C2 >true ? c2 : x : C2 ->true : boolean +>true : true >c2 : C2 >x : T var r12 = true ? x : c2; // ok >r12 : C2 >true ? x : c2 : C2 ->true : boolean +>true : true >x : T >c2 : C2 } @@ -506,23 +506,23 @@ function f16(x: T) { >T : T var r13 = true ? E : x; // ok ->r13 : typeof E | T ->true ? E : x : typeof E | T ->true : boolean +>r13 : T | typeof E +>true ? E : x : T | typeof E +>true : true >E : typeof E >x : T var r13 = true ? x : E; // ok ->r13 : typeof E | T +>r13 : T | typeof E >true ? x : E : T | typeof E ->true : boolean +>true : true >x : T >E : typeof E var r14 = true ? E.A : x; // ok >r14 : E >true ? E.A : x : E ->true : boolean +>true : true >E.A : E >E : typeof E >A : E @@ -531,7 +531,7 @@ function f16(x: T) { var r14 = true ? x : E.A; // ok >r14 : E >true ? x : E.A : E ->true : boolean +>true : true >x : T >E.A : E >E : typeof E @@ -552,14 +552,14 @@ function f17(x: T) { var r15 = true ? af : x; // ok >r15 : typeof f >true ? af : x : typeof f ->true : boolean +>true : true >af : typeof f >x : T var r15 = true ? x : af; // ok >r15 : typeof f >true ? x : af : typeof f ->true : boolean +>true : true >x : T >af : typeof f } @@ -578,14 +578,14 @@ function f18(x: T) { var r16 = true ? ac : x; // ok >r16 : typeof c >true ? ac : x : typeof c ->true : boolean +>true : true >ac : typeof c >x : T var r16 = true ? x : ac; // ok >r16 : typeof c >true ? x : ac : typeof c ->true : boolean +>true : true >x : T >ac : typeof c } @@ -606,14 +606,14 @@ function f19(x: T) { var r17 = true ? x : a; // ok >r17 : T >true ? x : a : T ->true : boolean +>true : true >x : T >a : U var r17 = true ? a : x; // ok >r17 : T >true ? a : x : T ->true : boolean +>true : true >a : U >x : T } @@ -630,14 +630,14 @@ function f19(x: T) { var r18 = true ? x : a; // ok >r18 : T >true ? x : a : T ->true : boolean +>true : true >x : T >a : V var r18 = true ? a : x; // ok >r18 : T >true ? a : x : T ->true : boolean +>true : true >a : V >x : T } @@ -653,7 +653,7 @@ function f20(x: T) { var r19 = true ? new Object() : x; // ok >r19 : Object >true ? new Object() : x : Object ->true : boolean +>true : true >new Object() : Object >Object : ObjectConstructor >x : T @@ -661,7 +661,7 @@ function f20(x: T) { var r19 = true ? x : new Object(); // ok >r19 : Object >true ? x : new Object() : Object ->true : boolean +>true : true >x : T >new Object() : Object >Object : ObjectConstructor @@ -677,14 +677,14 @@ function f21(x: T) { var r20 = true ? {} : x; // ok >r20 : {} >true ? {} : x : {} ->true : boolean +>true : true >{} : {} >x : T var r20 = true ? x : {}; // ok >r20 : {} >true ? x : {} : {} ->true : boolean +>true : true >x : T >{} : {} } diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types index 88c58998264..598fec51bc0 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types @@ -18,14 +18,14 @@ function f(t: T, u: U, v: V) { var r = true ? t : u; >r : U >true ? t : u : U ->true : boolean +>true : true >t : T >u : U var r = true ? u : t; >r : U >true ? u : t : U ->true : boolean +>true : true >u : U >t : T @@ -33,29 +33,29 @@ function f(t: T, u: U, v: V) { var r2 = true ? t : v; >r2 : T | V >true ? t : v : T | V ->true : boolean +>true : true >t : T >v : V var r2 = true ? v : t; >r2 : T | V ->true ? v : t : V | T ->true : boolean +>true ? v : t : T | V +>true : true >v : V >t : T // ok var r3 = true ? v : u; ->r3 : V | U ->true ? v : u : V | U ->true : boolean +>r3 : U | V +>true ? v : u : U | V +>true : true >v : V >u : U var r3 = true ? u : v; ->r3 : V | U +>r3 : U | V >true ? u : v : U | V ->true : boolean +>true : true >u : U >v : V } diff --git a/tests/baselines/reference/subtypesOfUnion.errors.txt b/tests/baselines/reference/subtypesOfUnion.errors.txt index 7c2e88ec8fd..fade5377814 100644 --- a/tests/baselines/reference/subtypesOfUnion.errors.txt +++ b/tests/baselines/reference/subtypesOfUnion.errors.txt @@ -12,21 +12,21 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOf tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(28,5): error TS2411: Property 'foo16' of type 'T' is not assignable to string index type 'string | number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(29,5): error TS2411: Property 'foo17' of type 'Object' is not assignable to string index type 'string | number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(30,5): error TS2411: Property 'foo18' of type '{}' is not assignable to string index type 'string | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(35,5): error TS2411: Property 'foo2' of type 'string' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(37,5): error TS2411: Property 'foo4' of type 'boolean' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(39,5): error TS2411: Property 'foo6' of type 'Date' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(40,5): error TS2411: Property 'foo7' of type 'RegExp' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(41,5): error TS2411: Property 'foo8' of type '{ bar: number; }' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(42,5): error TS2411: Property 'foo9' of type 'I8' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(43,5): error TS2411: Property 'foo10' of type 'A' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(44,5): error TS2411: Property 'foo11' of type 'A2' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(45,5): error TS2411: Property 'foo12' of type '(x: any) => number' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(46,5): error TS2411: Property 'foo13' of type '(x: T) => T' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(47,5): error TS2411: Property 'foo14' of type 'typeof f' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(48,5): error TS2411: Property 'foo15' of type 'typeof c' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(49,5): error TS2411: Property 'foo16' of type 'T' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(50,5): error TS2411: Property 'foo17' of type 'Object' is not assignable to string index type 'E | number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(51,5): error TS2411: Property 'foo18' of type '{}' is not assignable to string index type 'E | number'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(35,5): error TS2411: Property 'foo2' of type 'string' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(37,5): error TS2411: Property 'foo4' of type 'boolean' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(39,5): error TS2411: Property 'foo6' of type 'Date' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(40,5): error TS2411: Property 'foo7' of type 'RegExp' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(41,5): error TS2411: Property 'foo8' of type '{ bar: number; }' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(42,5): error TS2411: Property 'foo9' of type 'I8' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(43,5): error TS2411: Property 'foo10' of type 'A' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(44,5): error TS2411: Property 'foo11' of type 'A2' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(45,5): error TS2411: Property 'foo12' of type '(x: any) => number' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(46,5): error TS2411: Property 'foo13' of type '(x: T) => T' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(47,5): error TS2411: Property 'foo14' of type 'typeof f' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(48,5): error TS2411: Property 'foo15' of type 'typeof c' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(49,5): error TS2411: Property 'foo16' of type 'T' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(50,5): error TS2411: Property 'foo17' of type 'Object' is not assignable to string index type 'number | E'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts(51,5): error TS2411: Property 'foo18' of type '{}' is not assignable to string index type 'number | E'. ==== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfUnion.ts (29 errors) ==== @@ -94,49 +94,49 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOf foo: any; // ok foo2: string; // error ~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'string' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo2' of type 'string' is not assignable to string index type 'number | E'. foo3: number; // ok foo4: boolean; // error ~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo4' of type 'boolean' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo4' of type 'boolean' is not assignable to string index type 'number | E'. foo5: E; // ok foo6: Date; // error ~~~~~~~~~~~ -!!! error TS2411: Property 'foo6' of type 'Date' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo6' of type 'Date' is not assignable to string index type 'number | E'. foo7: RegExp; // error ~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo7' of type 'RegExp' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo7' of type 'RegExp' is not assignable to string index type 'number | E'. foo8: { bar: number }; // error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo8' of type '{ bar: number; }' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo8' of type '{ bar: number; }' is not assignable to string index type 'number | E'. foo9: I8; // error ~~~~~~~~~ -!!! error TS2411: Property 'foo9' of type 'I8' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo9' of type 'I8' is not assignable to string index type 'number | E'. foo10: A; // error ~~~~~~~~~ -!!! error TS2411: Property 'foo10' of type 'A' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo10' of type 'A' is not assignable to string index type 'number | E'. foo11: A2; // error ~~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo11' of type 'A2' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo11' of type 'A2' is not assignable to string index type 'number | E'. foo12: (x) => number; //error ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo12' of type '(x: any) => number' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo12' of type '(x: any) => number' is not assignable to string index type 'number | E'. foo13: (x: T) => T; // error ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo13' of type '(x: T) => T' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo13' of type '(x: T) => T' is not assignable to string index type 'number | E'. foo14: typeof f; // error ~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo14' of type 'typeof f' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo14' of type 'typeof f' is not assignable to string index type 'number | E'. foo15: typeof c; // error ~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo15' of type 'typeof c' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo15' of type 'typeof c' is not assignable to string index type 'number | E'. foo16: T; // error ~~~~~~~~~ -!!! error TS2411: Property 'foo16' of type 'T' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo16' of type 'T' is not assignable to string index type 'number | E'. foo17: Object; // error ~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo17' of type 'Object' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo17' of type 'Object' is not assignable to string index type 'number | E'. foo18: {}; // error ~~~~~~~~~~ -!!! error TS2411: Property 'foo18' of type '{}' is not assignable to string index type 'E | number'. +!!! error TS2411: Property 'foo18' of type '{}' is not assignable to string index type 'number | E'. } \ No newline at end of file diff --git a/tests/baselines/reference/subtypingTransitivity.types b/tests/baselines/reference/subtypingTransitivity.types index 0a41e045d98..8aabf635313 100644 --- a/tests/baselines/reference/subtypingTransitivity.types +++ b/tests/baselines/reference/subtypingTransitivity.types @@ -35,11 +35,11 @@ var d2: D2; >D2 : D2 d.x = ''; ->d.x = '' : string +>d.x = '' : "" >d.x : string >d : D >x : string ->'' : string +>'' : "" b = d; >b = d : D @@ -47,9 +47,9 @@ b = d; >d : D b.x = 1; // assigned number to string ->b.x = 1 : number +>b.x = 1 : 1 >b.x : Object >b : B >x : Object ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/subtypingWithCallSignatures.types b/tests/baselines/reference/subtypingWithCallSignatures.types index 50e773882d0..3f6994c8a04 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures.types +++ b/tests/baselines/reference/subtypingWithCallSignatures.types @@ -18,7 +18,7 @@ module CallSignature { >foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } >(x: number) => 1 : (x: number) => number >x : number ->1 : number +>1 : 1 var r2 = foo1((x: T) => ''); // ok because base returns void >r2 : (x: number) => void @@ -28,7 +28,7 @@ module CallSignature { >T : T >x : T >T : T ->'' : string +>'' : "" declare function foo2(cb: (x: number, y: number) => void): typeof cb; >foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } @@ -48,7 +48,7 @@ module CallSignature { >(x: number, y: number) => 1 : (x: number, y: number) => number >x : number >y : number ->1 : number +>1 : 1 var r4 = foo2((x: T) => ''); // ok because base returns void >r4 : (x: number, y: number) => void @@ -58,5 +58,5 @@ module CallSignature { >T : T >x : T >T : T ->'' : string +>'' : "" } diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.types b/tests/baselines/reference/subtypingWithCallSignatures2.types index b72993e7bea..8ce4b566b86 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.types +++ b/tests/baselines/reference/subtypingWithCallSignatures2.types @@ -322,7 +322,7 @@ var r1arg2 = (x: number) => [1]; >(x: number) => [1] : (x: number) => number[] >x : number >[1] : number[] ->1 : number +>1 : 1 var r1 = foo1(r1arg1); // any, return types are not subtype of first overload >r1 : any @@ -349,14 +349,14 @@ var r2arg1 = (x: T) => ['']; >x : T >T : T >[''] : string[] ->'' : string +>'' : "" var r2arg2 = (x: number) => ['']; >r2arg2 : (x: number) => string[] >(x: number) => [''] : (x: number) => string[] >x : number >[''] : string[] ->'' : string +>'' : "" var r2 = foo2(r2arg1); >r2 : (x: number) => string[] @@ -371,8 +371,8 @@ var r2a = [r2arg1, r2arg2]; >r2arg2 : (x: number) => string[] var r2b = [r2arg2, r2arg1]; ->r2b : ((x: number) => string[])[] ->[r2arg2, r2arg1] : ((x: number) => string[])[] +>r2b : ((x: T) => string[])[] +>[r2arg2, r2arg1] : ((x: T) => string[])[] >r2arg2 : (x: number) => string[] >r2arg1 : (x: T) => string[] @@ -402,8 +402,8 @@ var r3a = [r3arg1, r3arg2]; >r3arg2 : (x: number) => void var r3b = [r3arg2, r3arg1]; ->r3b : ((x: number) => void)[] ->[r3arg2, r3arg1] : ((x: number) => void)[] +>r3b : ((x: T) => T)[] +>[r3arg2, r3arg1] : ((x: T) => T)[] >r3arg2 : (x: number) => void >r3arg1 : (x: T) => T @@ -423,7 +423,7 @@ var r4arg2 = (x: string, y: number) => ''; >(x: string, y: number) => '' : (x: string, y: number) => string >x : string >y : number ->'' : string +>'' : "" var r4 = foo4(r4arg1); // any >r4 : any @@ -461,7 +461,7 @@ var r5arg2 = (x: (arg: string) => number) => ''; >(x: (arg: string) => number) => '' : (x: (arg: string) => number) => string >x : (arg: string) => number >arg : string ->'' : string +>'' : "" var r5 = foo5(r5arg1); // any >r5 : any @@ -701,7 +701,7 @@ var r10arg1 = (...x: T[]) => x[0]; >T : T >x[0] : T >x : T[] ->0 : number +>0 : 0 var r10arg2 = (...x: Derived[]) => null; >r10arg2 : (...x: Derived[]) => Derived @@ -814,8 +814,8 @@ var r12a = [r12arg1, r12arg2]; >r12arg2 : (x: Base[], y: Derived2[]) => Derived[] var r12b = [r12arg2, r12arg1]; ->r12b : ((x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg2, r12arg1] : ((x: Base[], y: Derived2[]) => Derived[])[] +>r12b : ((x: Base[], y: T) => Derived[])[] +>[r12arg2, r12arg1] : ((x: Base[], y: T) => Derived[])[] >r12arg2 : (x: Base[], y: Derived2[]) => Derived[] >r12arg1 : (x: Base[], y: T) => Derived[] @@ -929,7 +929,7 @@ var r16arg1 = (x: T) => [1]; >x : T >T : T >[1] : number[] ->1 : number +>1 : 1 var r16 = foo16(r16arg1); >r16 : { (x: T): number[]; (x: U): number[]; } diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index 2d4c6e9fda5..6abc7567efb 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -224,7 +224,7 @@ module Errors { >(x: number) => [''] : (x: number) => string[] >x : number >[''] : string[] ->'' : string +>'' : "" >(x: T) => null : (x: T) => U[] >T : T >U : U @@ -248,7 +248,7 @@ module Errors { >(x: number) => [''] : (x: number) => string[] >x : number >[''] : string[] ->'' : string +>'' : "" var r2arg = (x: (arg: T) => U) => (r: T) => null; >r2arg : (x: (arg: T) => U) => (r: T) => V @@ -349,8 +349,8 @@ module Errors { >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U var r3a = [r3arg2, r3arg]; ->r3a : (((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived) | ((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U))[] ->[r3arg2, r3arg] : (((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived) | ((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U))[] +>r3a : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] +>[r3arg2, r3arg] : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] >r3arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -508,7 +508,7 @@ module Errors { >x : { a: string; b: number; } >a : string >b : number ->1 : number +>1 : 1 var r7 = foo15(r7arg); // any >r7 : any @@ -538,7 +538,7 @@ module Errors { >T : T >b : T >T : T ->1 : number +>1 : 1 var r7c = foo15(r7arg3); // (x: { a: string; b: number }) => number): number; >r7c : (x: { a: string; b: number; }) => number @@ -553,8 +553,8 @@ module Errors { >r7arg3 : (x: { a: T; b: T; }) => number var r7e = [r7arg3, r7arg2]; ->r7e : ((x: { a: T; b: T; }) => number)[] ->[r7arg3, r7arg2] : ((x: { a: T; b: T; }) => number)[] +>r7e : ((x: { a: string; b: number; }) => number)[] +>[r7arg3, r7arg2] : ((x: { a: string; b: number; }) => number)[] >r7arg3 : (x: { a: T; b: T; }) => number >r7arg2 : (x: { a: string; b: number; }) => number @@ -617,7 +617,7 @@ module WithGenericSignaturesInBaseType { >x : T >T : T >[''] : string[] ->'' : string +>'' : "" var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now >r2 : (x: T) => T[] diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.types b/tests/baselines/reference/subtypingWithCallSignatures4.types index f490f787878..5926636289a 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.types +++ b/tests/baselines/reference/subtypingWithCallSignatures4.types @@ -264,7 +264,7 @@ var r2arg = (x: T) => ['']; >x : T >T : T >[''] : string[] ->'' : string +>'' : "" var r2arg2 = (x: T) => ['']; >r2arg2 : (x: T) => string[] @@ -273,7 +273,7 @@ var r2arg2 = (x: T) => ['']; >x : T >T : T >[''] : string[] ->'' : string +>'' : "" var r2 = foo2(r2arg); >r2 : any @@ -323,8 +323,8 @@ var r3a = [r3arg, r3arg2]; >r3arg2 : (x: T) => void var r3b = [r3arg2, r3arg]; ->r3b : ((x: T) => void)[] ->[r3arg2, r3arg] : ((x: T) => void)[] +>r3b : ((x: T) => T)[] +>[r3arg2, r3arg] : ((x: T) => T)[] >r3arg2 : (x: T) => void >r3arg : (x: T) => T @@ -337,7 +337,7 @@ var r4arg = (x: T, y: U) => ''; >T : T >y : U >U : U ->'' : string +>'' : "" var r4arg2 = (x: T, y: U) => ''; >r4arg2 : (x: T, y: U) => string @@ -348,7 +348,7 @@ var r4arg2 = (x: T, y: U) => ''; >T : T >y : U >U : U ->'' : string +>'' : "" var r4 = foo4(r4arg); >r4 : any @@ -453,8 +453,8 @@ var r6a = [r6arg, r6arg2]; >r6arg2 : (x: (arg: T) => Derived) => T var r6b = [r6arg2, r6arg]; ->r6b : ((x: (arg: T) => Derived) => T)[] ->[r6arg2, r6arg] : ((x: (arg: T) => Derived) => T)[] +>r6b : ((x: (arg: T) => U) => T)[] +>[r6arg2, r6arg] : ((x: (arg: T) => U) => T)[] >r6arg2 : (x: (arg: T) => Derived) => T >r6arg : (x: (arg: T) => U) => T @@ -504,8 +504,8 @@ var r11a = [r11arg, r11arg2]; >r11arg2 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base var r11b = [r11arg2, r11arg]; ->r11b : ((x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] ->[r11arg2, r11arg] : ((x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] +>r11b : ((x: { foo: T; }, y: { foo: U; bar: U; }) => Base)[] +>[r11arg2, r11arg] : ((x: { foo: T; }, y: { foo: U; bar: U; }) => Base)[] >r11arg2 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base >r11arg : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -549,8 +549,8 @@ var r15a = [r15arg, r15arg2]; >r15arg2 : (x: { a: T; b: T; }) => T[] var r15b = [r15arg2, r15arg]; ->r15b : ((x: { a: T; b: T; }) => T[])[] ->[r15arg2, r15arg] : ((x: { a: T; b: T; }) => T[])[] +>r15b : ((x: { a: U; b: V; }) => U[])[] +>[r15arg2, r15arg] : ((x: { a: U; b: V; }) => U[])[] >r15arg2 : (x: { a: T; b: T; }) => T[] >r15arg : (x: { a: U; b: V; }) => U[] diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.types b/tests/baselines/reference/subtypingWithConstructSignatures2.types index c66d6055558..d723a367ecb 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.types @@ -360,8 +360,8 @@ var r2a = [r2arg1, r2arg2]; >r2arg2 : new (x: number) => string[] var r2b = [r2arg2, r2arg1]; ->r2b : (new (x: number) => string[])[] ->[r2arg2, r2arg1] : (new (x: number) => string[])[] +>r2b : (new (x: T) => string[])[] +>[r2arg2, r2arg1] : (new (x: T) => string[])[] >r2arg2 : new (x: number) => string[] >r2arg1 : new (x: T) => string[] @@ -389,8 +389,8 @@ var r3a = [r3arg1, r3arg2]; >r3arg2 : new (x: number) => void var r3b = [r3arg2, r3arg1]; ->r3b : (new (x: number) => void)[] ->[r3arg2, r3arg1] : (new (x: number) => void)[] +>r3b : (new (x: T) => T)[] +>[r3arg2, r3arg1] : (new (x: T) => T)[] >r3arg2 : new (x: number) => void >r3arg1 : new (x: T) => T @@ -636,8 +636,8 @@ var r9a = [r9arg1, r9arg2]; >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived var r9b = [r9arg2, r9arg1]; ->r9b : ((new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived) | (new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U))[] ->[r9arg2, r9arg1] : ((new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived) | (new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U))[] +>r9b : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] +>[r9arg2, r9arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U @@ -747,8 +747,8 @@ var r12a = [r12arg1, r12arg2]; >r12arg2 : new (x: Base[], y: Derived2[]) => Derived[] var r12b = [r12arg2, r12arg1]; ->r12b : (new (x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg2, r12arg1] : (new (x: Base[], y: Derived2[]) => Derived[])[] +>r12b : (new (x: Base[], y: T) => Derived[])[] +>[r12arg2, r12arg1] : (new (x: Base[], y: T) => Derived[])[] >r12arg2 : new (x: Base[], y: Derived2[]) => Derived[] >r12arg1 : new (x: Base[], y: T) => Derived[] diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.types b/tests/baselines/reference/subtypingWithConstructSignatures3.types index 741db4f4ba6..b0f0680c7a0 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.types @@ -318,8 +318,8 @@ module Errors { >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U var r3a = [r3arg2, r3arg1]; ->r3a : ((new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived) | (new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U))[] ->[r3arg2, r3arg1] : ((new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived) | (new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U))[] +>r3a : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] +>[r3arg2, r3arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] >r3arg2 : new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U @@ -497,8 +497,8 @@ module Errors { >r7arg3 : new (x: { a: T; b: T; }) => number var r7e = [r7arg3, r7arg2]; ->r7e : (new (x: { a: T; b: T; }) => number)[] ->[r7arg3, r7arg2] : (new (x: { a: T; b: T; }) => number)[] +>r7e : (new (x: { a: string; b: number; }) => number)[] +>[r7arg3, r7arg2] : (new (x: { a: string; b: number; }) => number)[] >r7arg3 : new (x: { a: T; b: T; }) => number >r7arg2 : new (x: { a: string; b: number; }) => number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures4.types b/tests/baselines/reference/subtypingWithConstructSignatures4.types index 932adcb7368..21a40ecf7fc 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures4.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures4.types @@ -307,8 +307,8 @@ var r3a = [r3arg, r3arg2]; >r3arg2 : new (x: T) => void var r3b = [r3arg2, r3arg]; ->r3b : (new (x: T) => void)[] ->[r3arg2, r3arg] : (new (x: T) => void)[] +>r3b : (new (x: T) => T)[] +>[r3arg2, r3arg] : (new (x: T) => T)[] >r3arg2 : new (x: T) => void >r3arg : new (x: T) => T @@ -421,8 +421,8 @@ var r6a = [r6arg, r6arg2]; >r6arg2 : new (x: new (arg: T) => Derived) => T var r6b = [r6arg2, r6arg]; ->r6b : (new (x: new (arg: T) => Derived) => T)[] ->[r6arg2, r6arg] : (new (x: new (arg: T) => Derived) => T)[] +>r6b : (new (x: new (arg: T) => U) => T)[] +>[r6arg2, r6arg] : (new (x: new (arg: T) => U) => T)[] >r6arg2 : new (x: new (arg: T) => Derived) => T >r6arg : new (x: new (arg: T) => U) => T @@ -466,8 +466,8 @@ var r11a = [r11arg, r11arg2]; >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base var r11b = [r11arg2, r11arg]; ->r11b : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] ->[r11arg2, r11arg] : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] +>r11b : (new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base)[] +>[r11arg2, r11arg] : (new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base)[] >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -505,8 +505,8 @@ var r15a = [r15arg, r15arg2]; >r15arg2 : new (x: { a: T; b: T; }) => T[] var r15b = [r15arg2, r15arg]; ->r15b : (new (x: { a: T; b: T; }) => T[])[] ->[r15arg2, r15arg] : (new (x: { a: T; b: T; }) => T[])[] +>r15b : (new (x: { a: U; b: V; }) => U[])[] +>[r15arg2, r15arg] : (new (x: { a: U; b: V; }) => U[])[] >r15arg2 : new (x: { a: T; b: T; }) => T[] >r15arg : new (x: { a: U; b: V; }) => U[] diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types index 815f2d60740..e0198e31d28 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types @@ -87,7 +87,7 @@ var b = { Foo: null }; var r = true ? a : b; >r : { Foo?: Base; } >true ? a : b : { Foo?: Base; } ->true : boolean +>true : true >a : { Foo?: Base; } >b : { Foo: Derived; } @@ -158,7 +158,7 @@ module TwoLevels { var r = true ? a : b; >r : { Foo?: Base; } >true ? a : b : { Foo?: Base; } ->true : boolean +>true : true >a : { Foo?: Base; } >b : { Foo: Derived2; } } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types index 000d1cdc8ed..7f93418506f 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types @@ -69,9 +69,9 @@ var b: { Foo2: Derived; } >Derived : Derived var r = true ? a : b; // ok ->r : { Foo?: Base; } | { Foo2: Derived; } ->true ? a : b : { Foo?: Base; } | { Foo2: Derived; } ->true : boolean +>r : { Foo?: Base; } +>true ? a : b : { Foo?: Base; } +>true : true >a : { Foo?: Base; } >b : { Foo2: Derived; } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types index 2dcda59f46f..d1d00e8e1bc 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types @@ -69,9 +69,9 @@ var b: { Foo2?: Derived; } >Derived : Derived var r = true ? a : b; // ok ->r : { Foo: Base; } | { Foo2?: Derived; } ->true ? a : b : { Foo: Base; } | { Foo2?: Derived; } ->true : boolean +>r : { Foo2?: Derived; } +>true ? a : b : { Foo2?: Derived; } +>true : true >a : { Foo: Base; } >b : { Foo2?: Derived; } diff --git a/tests/baselines/reference/super2.types b/tests/baselines/reference/super2.types index a3807f03099..2ff73710080 100644 --- a/tests/baselines/reference/super2.types +++ b/tests/baselines/reference/super2.types @@ -7,14 +7,14 @@ class Base5 { >x : () => string return "BaseX"; ->"BaseX" : string +>"BaseX" : "BaseX" } public y() { >y : () => string return "BaseY"; ->"BaseY" : string +>"BaseY" : "BaseY" } } @@ -26,7 +26,7 @@ class Sub5 extends Base5 { >x : () => string return "SubX"; ->"SubX" : string +>"SubX" : "SubX" } } @@ -62,7 +62,7 @@ class Base6 { >x : () => string return "BaseX"; ->"BaseX" : string +>"BaseX" : "BaseX" } } @@ -74,7 +74,7 @@ class Sub6 extends Base6 { >y : () => string return "SubY"; ->"SubY" : string +>"SubY" : "SubY" } } diff --git a/tests/baselines/reference/superAccess.js b/tests/baselines/reference/superAccess.js index 37c6a9816a6..6e5cd9aca44 100644 --- a/tests/baselines/reference/superAccess.js +++ b/tests/baselines/reference/superAccess.js @@ -24,9 +24,9 @@ var MyBase = (function () { this.S2 = "test"; this.f = function () { return 5; }; } - MyBase.S1 = 5; return MyBase; }()); +MyBase.S1 = 5; var MyDerived = (function (_super) { __extends(MyDerived, _super); function MyDerived() { diff --git a/tests/baselines/reference/superAccess2.js b/tests/baselines/reference/superAccess2.js index b27d695cb31..8de13b5ef51 100644 --- a/tests/baselines/reference/superAccess2.js +++ b/tests/baselines/reference/superAccess2.js @@ -42,9 +42,9 @@ var Q = (function (_super) { // Super is not allowed in constructor args function Q(z, zz, zzz) { var _this = this; - if (z === void 0) { z = _super.prototype.; } - if (zz === void 0) { zz = _super.prototype.; } - if (zzz === void 0) { zzz = function () { return _super.prototype.; }; } + if (z === void 0) { z = _super.; } + if (zz === void 0) { zz = _super.; } + if (zzz === void 0) { zzz = function () { return _super.; }; } _super.call(this); this.z = z; this.xx = _super.prototype.; @@ -59,6 +59,6 @@ var Q = (function (_super) { _super.x.call(this); // error _super.y.call(this); }; - Q.yy = _super.; // error for static initializer accessing super return Q; }(P)); +Q.yy = _super.; // error for static initializer accessing super diff --git a/tests/baselines/reference/superCallArgsMustMatch.errors.txt b/tests/baselines/reference/superCallArgsMustMatch.errors.txt index 06758b44fe6..f5724a710d1 100644 --- a/tests/baselines/reference/superCallArgsMustMatch.errors.txt +++ b/tests/baselines/reference/superCallArgsMustMatch.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/superCallArgsMustMatch.ts(17,15): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/compiler/superCallArgsMustMatch.ts(17,15): error TS2345: Argument of type '"hi"' is not assignable to parameter of type 'number'. ==== tests/cases/compiler/superCallArgsMustMatch.ts (1 errors) ==== @@ -20,7 +20,7 @@ tests/cases/compiler/superCallArgsMustMatch.ts(17,15): error TS2345: Argument of // which is instantiated with 'number' in the extends clause super("hi"); ~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"hi"' is not assignable to parameter of type 'number'. var x: number = this.foo; diff --git a/tests/baselines/reference/superCallAssignResult.errors.txt b/tests/baselines/reference/superCallAssignResult.errors.txt index bc9e2a0dc55..524866f28f1 100644 --- a/tests/baselines/reference/superCallAssignResult.errors.txt +++ b/tests/baselines/reference/superCallAssignResult.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/superCallAssignResult.ts(8,9): error TS2322: Type 'number' is not assignable to type 'void'. +tests/cases/compiler/superCallAssignResult.ts(8,9): error TS2322: Type '5' is not assignable to type 'void'. ==== tests/cases/compiler/superCallAssignResult.ts (1 errors) ==== @@ -11,6 +11,6 @@ tests/cases/compiler/superCallAssignResult.ts(8,9): error TS2322: Type 'number' var x = super(5); // Should be of type void, not E. x = 5; ~ -!!! error TS2322: Type 'number' is not assignable to type 'void'. +!!! error TS2322: Type '5' is not assignable to type 'void'. } } \ No newline at end of file diff --git a/tests/baselines/reference/superCallInConstructorWithNoBaseType.js b/tests/baselines/reference/superCallInConstructorWithNoBaseType.js index 9b0f63ed871..9746ab6a9de 100644 --- a/tests/baselines/reference/superCallInConstructorWithNoBaseType.js +++ b/tests/baselines/reference/superCallInConstructorWithNoBaseType.js @@ -20,8 +20,8 @@ var C = (function () { }()); var D = (function () { function D(x) { - this.x = x; _super.call(this); // error + this.x = x; } return D; }()); diff --git a/tests/baselines/reference/superCalls.types b/tests/baselines/reference/superCalls.types index ce5353df329..ad5f0806c44 100644 --- a/tests/baselines/reference/superCalls.types +++ b/tests/baselines/reference/superCalls.types @@ -4,7 +4,7 @@ class Base { x = 43; >x : number ->43 : number +>43 : 43 constructor(n: string) { >n : string @@ -26,14 +26,14 @@ class Derived extends Base { super(''); >super('') : void >super : typeof Base ->'' : string +>'' : "" //type of super call expression is void var p = super(''); >p : void >super('') : void >super : typeof Base ->'' : string +>'' : "" var p = v(); >p : void @@ -54,7 +54,7 @@ class OtherDerived extends OtherBase { constructor() { var p = ''; >p : string ->'' : string +>'' : "" super(); >super() : void diff --git a/tests/baselines/reference/superErrors.js b/tests/baselines/reference/superErrors.js index 0208e720b0c..fd70114d0fd 100644 --- a/tests/baselines/reference/superErrors.js +++ b/tests/baselines/reference/superErrors.js @@ -58,6 +58,7 @@ var __extends = (this && this.__extends) || function (d, b) { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; function foo() { + var _this = this; // super in a non class context var x = _super.; var y = function () { return _super.; }; @@ -83,20 +84,28 @@ var RegisteredUser = (function (_super) { } // super call in a lambda in an inner function in a constructor function inner2() { - var x = function () { return _super.sayHello.call(this); }; + var _this = this; + var x = function () { return _super.sayHello.call(_this); }; } // super call in a lambda in a function expression in a constructor - (function () { return function () { return _super.; }; })(); + (function () { + var _this = this; + return function () { return _super.; }; + })(); } RegisteredUser.prototype.sayHello = function () { // super call in a method _super.prototype.sayHello.call(this); // super call in a lambda in an inner function in a method function inner() { - var x = function () { return _super.sayHello.call(this); }; + var _this = this; + var x = function () { return _super.sayHello.call(_this); }; } // super call in a lambda in a function expression in a constructor - (function () { return function () { return _super.; }; })(); + (function () { + var _this = this; + return function () { return _super.; }; + })(); }; RegisteredUser.staticFunction = function () { var _this = this; diff --git a/tests/baselines/reference/superInConstructorParam1.js b/tests/baselines/reference/superInConstructorParam1.js index 9c3c11d105c..3c6eb0bdad2 100644 --- a/tests/baselines/reference/superInConstructorParam1.js +++ b/tests/baselines/reference/superInConstructorParam1.js @@ -27,7 +27,7 @@ var B = (function () { var C = (function (_super) { __extends(C, _super); function C(a) { - if (a === void 0) { a = _super.prototype.foo.call(this); } + if (a === void 0) { a = _super.foo.call(this); } } return C; }(B)); diff --git a/tests/baselines/reference/superInObjectLiterals_ES5.js b/tests/baselines/reference/superInObjectLiterals_ES5.js index f701ca7df7b..5d1fed24b4f 100644 --- a/tests/baselines/reference/superInObjectLiterals_ES5.js +++ b/tests/baselines/reference/superInObjectLiterals_ES5.js @@ -65,6 +65,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; +var _this = this; var obj = { __proto__: { method: function () { @@ -87,7 +88,7 @@ var obj = { _super.method.call(this); }, p3: function () { - _super.method.call(this); + _super.method.call(_this); } }; var A = (function () { diff --git a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.types b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.types index d435bff69b5..78af8fdf0b9 100644 --- a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.types +++ b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES5.types @@ -4,7 +4,7 @@ class A { foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } class B extends A { @@ -13,7 +13,7 @@ class B extends A { foo() { return 2; } >foo : () => number ->2 : number +>2 : 2 bar() { >bar : () => typeof (Anonymous class) @@ -28,7 +28,7 @@ class B extends A { >foo : () => number return 100; ->100 : number +>100 : 100 } } } diff --git a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.js b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.js index 825fa7682e2..940814a3104 100644 --- a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.js +++ b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.js @@ -25,7 +25,6 @@ class B extends A { [super.foo()]() { return 100; } - } - ; + }; } } diff --git a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.types b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.types index 817e3b73ba4..0e3d295fc88 100644 --- a/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.types +++ b/tests/baselines/reference/superPropertyAccessInComputedPropertiesOfNestedType_ES6.types @@ -4,7 +4,7 @@ class A { foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } class B extends A { @@ -13,7 +13,7 @@ class B extends A { foo() { return 2; } >foo : () => number ->2 : number +>2 : 2 bar() { >bar : () => typeof (Anonymous class) @@ -28,7 +28,7 @@ class B extends A { >foo : () => number return 100; ->100 : number +>100 : 100 } } } diff --git a/tests/baselines/reference/superPropertyAccessNoError.types b/tests/baselines/reference/superPropertyAccessNoError.types index b982b2ab694..f1e6101c421 100644 --- a/tests/baselines/reference/superPropertyAccessNoError.types +++ b/tests/baselines/reference/superPropertyAccessNoError.types @@ -14,14 +14,14 @@ class SomeBaseClass { >func : () => string return ''; ->'' : string +>'' : "" } static func() { >func : () => number return 3; ->3 : number +>3 : 3 } returnThis() { diff --git a/tests/baselines/reference/superPropertyAccess_ES6.types b/tests/baselines/reference/superPropertyAccess_ES6.types index b10b1944a44..bb4082a73cf 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.types +++ b/tests/baselines/reference/superPropertyAccess_ES6.types @@ -5,11 +5,11 @@ class MyBase { getValue(): number { return 1; } >getValue : () => number ->1 : number +>1 : 1 get value(): number { return 1; } >value : number ->1 : number +>1 : 1 } class MyDerived extends MyBase { @@ -84,6 +84,6 @@ class B extends A { >property : string >value + " addition" : string >value : string ->" addition" : string +>" addition" : " addition" } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess1.types b/tests/baselines/reference/superSymbolIndexedAccess1.types index af2c6cab156..ab09528b04b 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess1.types +++ b/tests/baselines/reference/superSymbolIndexedAccess1.types @@ -5,7 +5,7 @@ var symbol = Symbol.for('myThing'); >Symbol.for : (key: string) => symbol >Symbol : SymbolConstructor >for : (key: string) => symbol ->'myThing' : string +>'myThing' : "myThing" class Foo { >Foo : Foo @@ -14,7 +14,7 @@ class Foo { >symbol : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess2.types b/tests/baselines/reference/superSymbolIndexedAccess2.types index 72bb6914d3e..61c760dfac7 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess2.types +++ b/tests/baselines/reference/superSymbolIndexedAccess2.types @@ -9,7 +9,7 @@ class Foo { >isConcatSpreadable : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess5.types b/tests/baselines/reference/superSymbolIndexedAccess5.types index abc3ba364b0..745fd81b8f8 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess5.types +++ b/tests/baselines/reference/superSymbolIndexedAccess5.types @@ -9,7 +9,7 @@ class Foo { >symbol : any return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess6.types b/tests/baselines/reference/superSymbolIndexedAccess6.types index 830ade0c685..11c4a0e553b 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess6.types +++ b/tests/baselines/reference/superSymbolIndexedAccess6.types @@ -9,7 +9,7 @@ class Foo { >symbol : any return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/switchAssignmentCompat.errors.txt b/tests/baselines/reference/switchAssignmentCompat.errors.txt index 747a1035b68..46c89fa5b52 100644 --- a/tests/baselines/reference/switchAssignmentCompat.errors.txt +++ b/tests/baselines/reference/switchAssignmentCompat.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2678: Type 'typeof Foo' is not comparable to type 'number'. +tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2678: Type 'typeof Foo' is not comparable to type '0'. ==== tests/cases/compiler/switchAssignmentCompat.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/switchAssignmentCompat.ts(4,10): error TS2678: Type 'typeof switch (0) { case Foo: break; // Error expected ~~~ -!!! error TS2678: Type 'typeof Foo' is not comparable to type 'number'. +!!! error TS2678: Type 'typeof Foo' is not comparable to type '0'. } \ No newline at end of file diff --git a/tests/baselines/reference/switchBreakStatements.errors.txt b/tests/baselines/reference/switchBreakStatements.errors.txt new file mode 100644 index 00000000000..229c42068c3 --- /dev/null +++ b/tests/baselines/reference/switchBreakStatements.errors.txt @@ -0,0 +1,92 @@ +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(3,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(9,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(16,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(22,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(25,18): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(31,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(34,18): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(41,10): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(43,18): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(45,26): error TS2678: Type '"a"' is not comparable to type '""'. +tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts(49,34): error TS2678: Type '"a"' is not comparable to type '""'. + + +==== tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts (11 errors) ==== + + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break; + } + + ONE: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break ONE; + } + + TWO: + THREE: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break THREE; + } + + FOUR: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + FIVE: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break FOUR; + } + } + + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + SIX: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break SIX; + } + } + + SEVEN: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + break SEVEN; + EIGHT: + switch ('') { + case 'a': + ~~~ +!!! error TS2678: Type '"a"' is not comparable to type '""'. + var fn = function () { } + break EIGHT; + } + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/switchBreakStatements.types b/tests/baselines/reference/switchBreakStatements.types index 0364d878d5a..c69c20a3306 100644 --- a/tests/baselines/reference/switchBreakStatements.types +++ b/tests/baselines/reference/switchBreakStatements.types @@ -4,7 +4,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break; } @@ -16,7 +16,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break ONE; >ONE : any @@ -32,7 +32,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break THREE; >THREE : any @@ -45,7 +45,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" FIVE: >FIVE : any @@ -54,7 +54,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break FOUR; >FOUR : any @@ -65,7 +65,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" SIX: >SIX : any @@ -74,7 +74,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break SIX; >SIX : any @@ -88,19 +88,19 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" break SEVEN; >SEVEN : any @@ -112,7 +112,7 @@ switch ('') { >'' : string case 'a': ->'a' : string +>'a' : "a" var fn = function () { } >fn : () => void diff --git a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt index d42f407a784..ad2ca8bc123 100644 --- a/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt +++ b/tests/baselines/reference/switchCaseWithIntersectionTypes01.errors.txt @@ -1,7 +1,6 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(19,10): error TS2678: Type 'number & boolean' is not comparable to type 'string & number'. Type 'number & boolean' is not comparable to type 'string'. tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts(23,10): error TS2678: Type 'boolean' is not comparable to type 'string & number'. - Type 'boolean' is not comparable to type 'string'. ==== tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithIntersectionTypes01.ts (2 errors) ==== @@ -33,6 +32,5 @@ tests/cases/conformance/types/typeRelationships/comparable/switchCaseWithInterse case bool: ~~~~ !!! error TS2678: Type 'boolean' is not comparable to type 'string & number'. -!!! error TS2678: Type 'boolean' is not comparable to type 'string'. break; } \ No newline at end of file diff --git a/tests/baselines/reference/switchCases.errors.txt b/tests/baselines/reference/switchCases.errors.txt new file mode 100644 index 00000000000..205f8aae8c7 --- /dev/null +++ b/tests/baselines/reference/switchCases.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/switchCases.ts(2,7): error TS2678: Type '1' is not comparable to type '0'. + + +==== tests/cases/compiler/switchCases.ts (1 errors) ==== + switch(0) { + case 1: + ~ +!!! error TS2678: Type '1' is not comparable to type '0'. + break; + } + \ No newline at end of file diff --git a/tests/baselines/reference/switchCases.types b/tests/baselines/reference/switchCases.types index 154ea011cde..0f10e702907 100644 --- a/tests/baselines/reference/switchCases.types +++ b/tests/baselines/reference/switchCases.types @@ -3,7 +3,7 @@ switch(0) { >0 : number case 1: ->1 : number +>1 : 1 break; } diff --git a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt index 26d39efef48..3ea12e2460f 100644 --- a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt +++ b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt @@ -1,22 +1,25 @@ -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2678: Type 'typeof Foo' is not comparable to type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2678: Type 'string' is not comparable to type 'number'. -tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2678: Type 'boolean' is not comparable to type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(4,10): error TS2678: Type 'typeof Foo' is not comparable to type '0'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(5,10): error TS2678: Type '"sss"' is not comparable to type '0'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(6,10): error TS2678: Type '123' is not comparable to type '0'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2678: Type 'true' is not comparable to type '0'. -==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (3 errors) ==== +==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (4 errors) ==== class Foo { } switch (0) { case Foo: break; // Error ~~~ -!!! error TS2678: Type 'typeof Foo' is not comparable to type 'number'. +!!! error TS2678: Type 'typeof Foo' is not comparable to type '0'. case "sss": break; // Error ~~~~~ -!!! error TS2678: Type 'string' is not comparable to type 'number'. +!!! error TS2678: Type '"sss"' is not comparable to type '0'. case 123: break; // No Error + ~~~ +!!! error TS2678: Type '123' is not comparable to type '0'. case true: break; // Error ~~~~ -!!! error TS2678: Type 'boolean' is not comparable to type 'number'. +!!! error TS2678: Type 'true' is not comparable to type '0'. } var s: any = 0; diff --git a/tests/baselines/reference/switchFallThroughs.types b/tests/baselines/reference/switchFallThroughs.types index 7a88985741c..3e0f0276846 100644 --- a/tests/baselines/reference/switchFallThroughs.types +++ b/tests/baselines/reference/switchFallThroughs.types @@ -7,36 +7,36 @@ function R1(index: number) { >index : number case 0: ->0 : number +>0 : 0 case 1: ->1 : number +>1 : 1 case 2: ->2 : number +>2 : 2 var a = 'a'; >a : string ->'a' : string +>'a' : "a" return a; >a : string case 3: ->3 : number +>3 : 3 case 4: { ->4 : number +>4 : 4 return 'b'; ->'b' : string +>'b' : "b" } case 5: ->5 : number +>5 : 5 default: return 'c'; ->'c' : string +>'c' : "c" } } diff --git a/tests/baselines/reference/symbolDeclarationEmit10.types b/tests/baselines/reference/symbolDeclarationEmit10.types index 0d8d54c28de..d7f5c861e89 100644 --- a/tests/baselines/reference/symbolDeclarationEmit10.types +++ b/tests/baselines/reference/symbolDeclarationEmit10.types @@ -7,7 +7,7 @@ var obj = { >Symbol.isConcatSpreadable : symbol >Symbol : SymbolConstructor >isConcatSpreadable : symbol ->'' : string +>'' : "" set [Symbol.isConcatSpreadable](x) { } >Symbol.isConcatSpreadable : symbol diff --git a/tests/baselines/reference/symbolDeclarationEmit11.types b/tests/baselines/reference/symbolDeclarationEmit11.types index 30f92266eb2..d75c3683e97 100644 --- a/tests/baselines/reference/symbolDeclarationEmit11.types +++ b/tests/baselines/reference/symbolDeclarationEmit11.types @@ -6,7 +6,7 @@ class C { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 static [Symbol.isConcatSpreadable]() { } >Symbol.isConcatSpreadable : symbol @@ -17,7 +17,7 @@ class C { >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->"" : string +>"" : "" static set [Symbol.toPrimitive](x) { } >Symbol.toPrimitive : symbol diff --git a/tests/baselines/reference/symbolDeclarationEmit13.types b/tests/baselines/reference/symbolDeclarationEmit13.types index ce77ec9b38b..9fa17acdc10 100644 --- a/tests/baselines/reference/symbolDeclarationEmit13.types +++ b/tests/baselines/reference/symbolDeclarationEmit13.types @@ -6,7 +6,7 @@ class C { >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->"" : string +>"" : "" set [Symbol.toStringTag](x) { } >Symbol.toStringTag : symbol diff --git a/tests/baselines/reference/symbolDeclarationEmit14.types b/tests/baselines/reference/symbolDeclarationEmit14.types index 5e975a6eae4..daf7b6d5731 100644 --- a/tests/baselines/reference/symbolDeclarationEmit14.types +++ b/tests/baselines/reference/symbolDeclarationEmit14.types @@ -6,11 +6,11 @@ class C { >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->"" : string +>"" : "" get [Symbol.toStringTag]() { return ""; } >Symbol.toStringTag : symbol >Symbol : SymbolConstructor >toStringTag : symbol ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/symbolDeclarationEmit2.types b/tests/baselines/reference/symbolDeclarationEmit2.types index 10727836712..23d2fac2de8 100644 --- a/tests/baselines/reference/symbolDeclarationEmit2.types +++ b/tests/baselines/reference/symbolDeclarationEmit2.types @@ -6,5 +6,5 @@ class C { >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/symbolDeclarationEmit4.types b/tests/baselines/reference/symbolDeclarationEmit4.types index 51e4135b498..f9fa6dc581c 100644 --- a/tests/baselines/reference/symbolDeclarationEmit4.types +++ b/tests/baselines/reference/symbolDeclarationEmit4.types @@ -6,7 +6,7 @@ class C { >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->"" : string +>"" : "" set [Symbol.toPrimitive](x) { } >Symbol.toPrimitive : symbol diff --git a/tests/baselines/reference/symbolDeclarationEmit8.types b/tests/baselines/reference/symbolDeclarationEmit8.types index e14bc5c395b..4e8bfc9a9af 100644 --- a/tests/baselines/reference/symbolDeclarationEmit8.types +++ b/tests/baselines/reference/symbolDeclarationEmit8.types @@ -7,5 +7,5 @@ var obj = { >Symbol.isConcatSpreadable : symbol >Symbol : SymbolConstructor >isConcatSpreadable : symbol ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/symbolProperty1.types b/tests/baselines/reference/symbolProperty1.types index 667e51fda8a..4af154f7b27 100644 --- a/tests/baselines/reference/symbolProperty1.types +++ b/tests/baselines/reference/symbolProperty1.types @@ -8,7 +8,7 @@ var x = { [s]: 0, >s : symbol ->0 : number +>0 : 0 [s]() { }, >s : symbol @@ -17,6 +17,6 @@ var x = { >s : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/symbolProperty18.types b/tests/baselines/reference/symbolProperty18.types index 772e6aff2f7..97b4de9897c 100644 --- a/tests/baselines/reference/symbolProperty18.types +++ b/tests/baselines/reference/symbolProperty18.types @@ -7,13 +7,13 @@ var i = { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 [Symbol.toStringTag]() { return "" }, >Symbol.toStringTag : symbol >Symbol : SymbolConstructor >toStringTag : symbol ->"" : string +>"" : "" set [Symbol.toPrimitive](p: boolean) { } >Symbol.toPrimitive : symbol @@ -40,11 +40,11 @@ var str = i[Symbol.toStringTag](); >toStringTag : symbol i[Symbol.toPrimitive] = false; ->i[Symbol.toPrimitive] = false : boolean +>i[Symbol.toPrimitive] = false : false >i[Symbol.toPrimitive] : boolean >i : { [Symbol.iterator]: number; [Symbol.toStringTag](): string; [Symbol.toPrimitive]: boolean; } >Symbol.toPrimitive : symbol >Symbol : SymbolConstructor >toPrimitive : symbol ->false : boolean +>false : false diff --git a/tests/baselines/reference/symbolProperty2.types b/tests/baselines/reference/symbolProperty2.types index 7584c6461e8..18aafb5afb5 100644 --- a/tests/baselines/reference/symbolProperty2.types +++ b/tests/baselines/reference/symbolProperty2.types @@ -10,7 +10,7 @@ var x = { [s]: 0, >s : symbol ->0 : number +>0 : 0 [s]() { }, >s : symbol @@ -19,6 +19,6 @@ var x = { >s : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/symbolProperty21.errors.txt b/tests/baselines/reference/symbolProperty21.errors.txt index fa9cabc9b61..766af0659e8 100644 --- a/tests/baselines/reference/symbolProperty21.errors.txt +++ b/tests/baselines/reference/symbolProperty21.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/Symbols/symbolProperty21.ts(10,5): error TS2345: Argument of type '{ [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: boolean; }' is not assignable to parameter of type 'I'. +tests/cases/conformance/es6/Symbols/symbolProperty21.ts(10,5): error TS2345: Argument of type '{ [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: true; }' is not assignable to parameter of type 'I'. Object literal may only specify known properties, and '[Symbol.toPrimitive]' does not exist in type 'I'. @@ -14,7 +14,7 @@ tests/cases/conformance/es6/Symbols/symbolProperty21.ts(10,5): error TS2345: Arg [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '{ [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: boolean; }' is not assignable to parameter of type 'I'. +!!! error TS2345: Argument of type '{ [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: true; }' is not assignable to parameter of type 'I'. !!! error TS2345: Object literal may only specify known properties, and '[Symbol.toPrimitive]' does not exist in type 'I'. [Symbol.unscopables]: true }); \ No newline at end of file diff --git a/tests/baselines/reference/symbolProperty22.types b/tests/baselines/reference/symbolProperty22.types index 29d16b1553e..628164f3929 100644 --- a/tests/baselines/reference/symbolProperty22.types +++ b/tests/baselines/reference/symbolProperty22.types @@ -28,7 +28,7 @@ declare function foo(p1: T, p2: I): U; foo("", { [Symbol.unscopables]: s => s.length }); >foo("", { [Symbol.unscopables]: s => s.length }) : number >foo : (p1: T, p2: I) => U ->"" : string +>"" : "" >{ [Symbol.unscopables]: s => s.length } : { [Symbol.unscopables]: (s: string) => number; } >Symbol.unscopables : symbol >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty23.types b/tests/baselines/reference/symbolProperty23.types index b34a208a907..c4a9d6765dd 100644 --- a/tests/baselines/reference/symbolProperty23.types +++ b/tests/baselines/reference/symbolProperty23.types @@ -18,6 +18,6 @@ class C implements I { >toPrimitive : symbol return true; ->true : boolean +>true : true } } diff --git a/tests/baselines/reference/symbolProperty26.types b/tests/baselines/reference/symbolProperty26.types index 386761c98f9..cde412000db 100644 --- a/tests/baselines/reference/symbolProperty26.types +++ b/tests/baselines/reference/symbolProperty26.types @@ -8,7 +8,7 @@ class C1 { >toStringTag : symbol return ""; ->"" : string +>"" : "" } } @@ -22,6 +22,6 @@ class C2 extends C1 { >toStringTag : symbol return ""; ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/symbolProperty27.types b/tests/baselines/reference/symbolProperty27.types index d8ff2f2f116..2c138b5a9d0 100644 --- a/tests/baselines/reference/symbolProperty27.types +++ b/tests/baselines/reference/symbolProperty27.types @@ -22,6 +22,6 @@ class C2 extends C1 { >toStringTag : symbol return ""; ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/symbolProperty28.types b/tests/baselines/reference/symbolProperty28.types index 6eddebf44d8..2a7b5fabf79 100644 --- a/tests/baselines/reference/symbolProperty28.types +++ b/tests/baselines/reference/symbolProperty28.types @@ -10,7 +10,7 @@ class C1 { return { x: "" }; >{ x: "" } : { x: string; } >x : string ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/symbolProperty33.errors.txt b/tests/baselines/reference/symbolProperty33.errors.txt index 25a16b045ab..b1dab90db33 100644 --- a/tests/baselines/reference/symbolProperty33.errors.txt +++ b/tests/baselines/reference/symbolProperty33.errors.txt @@ -1,8 +1,11 @@ +tests/cases/conformance/es6/Symbols/symbolProperty33.ts(1,18): error TS2690: A class must be declared after its base class. tests/cases/conformance/es6/Symbols/symbolProperty33.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'. -==== tests/cases/conformance/es6/Symbols/symbolProperty33.ts (1 errors) ==== +==== tests/cases/conformance/es6/Symbols/symbolProperty33.ts (2 errors) ==== class C1 extends C2 { + ~~ +!!! error TS2690: A class must be declared after its base class. [Symbol.toStringTag]() { return { x: "" }; } diff --git a/tests/baselines/reference/symbolProperty34.errors.txt b/tests/baselines/reference/symbolProperty34.errors.txt index 4339af94788..98a9875bd50 100644 --- a/tests/baselines/reference/symbolProperty34.errors.txt +++ b/tests/baselines/reference/symbolProperty34.errors.txt @@ -1,8 +1,11 @@ +tests/cases/conformance/es6/Symbols/symbolProperty34.ts(1,18): error TS2690: A class must be declared after its base class. tests/cases/conformance/es6/Symbols/symbolProperty34.ts(7,6): error TS1023: An index signature parameter type must be 'string' or 'number'. -==== tests/cases/conformance/es6/Symbols/symbolProperty34.ts (1 errors) ==== +==== tests/cases/conformance/es6/Symbols/symbolProperty34.ts (2 errors) ==== class C1 extends C2 { + ~~ +!!! error TS2690: A class must be declared after its base class. [Symbol.toStringTag]() { return { x: "" }; } diff --git a/tests/baselines/reference/symbolProperty4.types b/tests/baselines/reference/symbolProperty4.types index 7bcf3f23397..abcf4451b03 100644 --- a/tests/baselines/reference/symbolProperty4.types +++ b/tests/baselines/reference/symbolProperty4.types @@ -6,7 +6,7 @@ var x = { [Symbol()]: 0, >Symbol() : symbol >Symbol : SymbolConstructor ->0 : number +>0 : 0 [Symbol()]() { }, >Symbol() : symbol @@ -17,6 +17,6 @@ var x = { >Symbol : SymbolConstructor return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/symbolProperty40.types b/tests/baselines/reference/symbolProperty40.types index c349a705a29..efe6600d535 100644 --- a/tests/baselines/reference/symbolProperty40.types +++ b/tests/baselines/reference/symbolProperty40.types @@ -37,7 +37,7 @@ c[Symbol.iterator](""); >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->"" : string +>"" : "" c[Symbol.iterator](0); >c[Symbol.iterator](0) : number @@ -46,5 +46,5 @@ c[Symbol.iterator](0); >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/symbolProperty41.types b/tests/baselines/reference/symbolProperty41.types index f312481ac04..5eebd107659 100644 --- a/tests/baselines/reference/symbolProperty41.types +++ b/tests/baselines/reference/symbolProperty41.types @@ -40,7 +40,7 @@ c[Symbol.iterator](""); >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->"" : string +>"" : "" c[Symbol.iterator]("hello"); >c[Symbol.iterator]("hello") : { x: string; hello: string; } diff --git a/tests/baselines/reference/symbolProperty45.types b/tests/baselines/reference/symbolProperty45.types index 946ceeb9ea1..cb0fbdffc53 100644 --- a/tests/baselines/reference/symbolProperty45.types +++ b/tests/baselines/reference/symbolProperty45.types @@ -8,7 +8,7 @@ class C { >hasInstance : symbol return ""; ->"" : string +>"" : "" } get [Symbol.toPrimitive]() { >Symbol.toPrimitive : symbol @@ -16,6 +16,6 @@ class C { >toPrimitive : symbol return ""; ->"" : string +>"" : "" } } diff --git a/tests/baselines/reference/symbolProperty46.errors.txt b/tests/baselines/reference/symbolProperty46.errors.txt index 68f86afc315..3756f2c5271 100644 --- a/tests/baselines/reference/symbolProperty46.errors.txt +++ b/tests/baselines/reference/symbolProperty46.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/Symbols/symbolProperty46.ts(10,1): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/es6/Symbols/symbolProperty46.ts(10,1): error TS2322: Type '0' is not assignable to type 'string'. ==== tests/cases/conformance/es6/Symbols/symbolProperty46.ts (1 errors) ==== @@ -13,5 +13,5 @@ tests/cases/conformance/es6/Symbols/symbolProperty46.ts(10,1): error TS2322: Typ (new C)[Symbol.hasInstance] = 0; ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '0' is not assignable to type 'string'. (new C)[Symbol.hasInstance] = ""; \ No newline at end of file diff --git a/tests/baselines/reference/symbolProperty47.errors.txt b/tests/baselines/reference/symbolProperty47.errors.txt index b35650f94bb..2e15085eb24 100644 --- a/tests/baselines/reference/symbolProperty47.errors.txt +++ b/tests/baselines/reference/symbolProperty47.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/es6/Symbols/symbolProperty47.ts(3,16): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/es6/Symbols/symbolProperty47.ts(11,1): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/Symbols/symbolProperty47.ts(3,16): error TS2322: Type '""' is not assignable to type 'number'. +tests/cases/conformance/es6/Symbols/symbolProperty47.ts(11,1): error TS2322: Type '""' is not assignable to type 'number'. ==== tests/cases/conformance/es6/Symbols/symbolProperty47.ts (2 errors) ==== @@ -7,7 +7,7 @@ tests/cases/conformance/es6/Symbols/symbolProperty47.ts(11,1): error TS2322: Typ get [Symbol.hasInstance]() { return ""; ~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '""' is not assignable to type 'number'. } // Should take a string set [Symbol.hasInstance](x: number) { @@ -17,4 +17,4 @@ tests/cases/conformance/es6/Symbols/symbolProperty47.ts(11,1): error TS2322: Typ (new C)[Symbol.hasInstance] = 0; (new C)[Symbol.hasInstance] = ""; ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type '""' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/symbolProperty5.types b/tests/baselines/reference/symbolProperty5.types index b338f94f6d3..833b6aa525d 100644 --- a/tests/baselines/reference/symbolProperty5.types +++ b/tests/baselines/reference/symbolProperty5.types @@ -7,7 +7,7 @@ var x = { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 [Symbol.toPrimitive]() { }, >Symbol.toPrimitive : symbol @@ -20,6 +20,6 @@ var x = { >toStringTag : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/symbolProperty55.types b/tests/baselines/reference/symbolProperty55.types index 8c438bbf445..3d56c268267 100644 --- a/tests/baselines/reference/symbolProperty55.types +++ b/tests/baselines/reference/symbolProperty55.types @@ -7,7 +7,7 @@ var obj = { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/symbolProperty56.types b/tests/baselines/reference/symbolProperty56.types index 87998908745..63f6317e219 100644 --- a/tests/baselines/reference/symbolProperty56.types +++ b/tests/baselines/reference/symbolProperty56.types @@ -7,7 +7,7 @@ var obj = { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 }; @@ -24,5 +24,5 @@ module M { >obj : { [Symbol.iterator]: number; } >Symbol["iterator"] : any >Symbol : {} ->"iterator" : string +>"iterator" : "iterator" } diff --git a/tests/baselines/reference/symbolProperty57.types b/tests/baselines/reference/symbolProperty57.types index b0c02052e58..6a4920b8e2f 100644 --- a/tests/baselines/reference/symbolProperty57.types +++ b/tests/baselines/reference/symbolProperty57.types @@ -7,7 +7,7 @@ var obj = { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 }; @@ -17,5 +17,5 @@ obj[Symbol["nonsense"]]; >obj : { [Symbol.iterator]: number; } >Symbol["nonsense"] : any >Symbol : SymbolConstructor ->"nonsense" : string +>"nonsense" : "nonsense" diff --git a/tests/baselines/reference/symbolProperty6.types b/tests/baselines/reference/symbolProperty6.types index a378acf1bbe..a9fe1178e07 100644 --- a/tests/baselines/reference/symbolProperty6.types +++ b/tests/baselines/reference/symbolProperty6.types @@ -6,7 +6,7 @@ class C { >Symbol.iterator : symbol >Symbol : SymbolConstructor >iterator : symbol ->0 : number +>0 : 0 [Symbol.unscopables]: number; >Symbol.unscopables : symbol @@ -24,6 +24,6 @@ class C { >toStringTag : symbol return 0; ->0 : number +>0 : 0 } } diff --git a/tests/baselines/reference/symbolType11.types b/tests/baselines/reference/symbolType11.types index b251db43301..ec474dcdb54 100644 --- a/tests/baselines/reference/symbolType11.types +++ b/tests/baselines/reference/symbolType11.types @@ -5,7 +5,7 @@ var s = Symbol.for("logical"); >Symbol.for : (key: string) => symbol >Symbol : SymbolConstructor >for : (key: string) => symbol ->"logical" : string +>"logical" : "logical" s && s; >s && s : symbol @@ -18,8 +18,8 @@ s && []; >[] : undefined[] 0 && s; ->0 && s : symbol ->0 : number +>0 && s : 0 +>0 : 0 >s : symbol s || s; @@ -28,9 +28,9 @@ s || s; >s : symbol s || 1; ->s || 1 : symbol | number +>s || 1 : symbol | 1 >s : symbol ->1 : number +>1 : 1 ({}) || s; >({}) || s : {} diff --git a/tests/baselines/reference/symbolType12.errors.txt b/tests/baselines/reference/symbolType12.errors.txt index adceb58ae56..b6034c62eec 100644 --- a/tests/baselines/reference/symbolType12.errors.txt +++ b/tests/baselines/reference/symbolType12.errors.txt @@ -8,7 +8,7 @@ tests/cases/conformance/es6/Symbols/symbolType12.ts(7,1): error TS2362: The left tests/cases/conformance/es6/Symbols/symbolType12.ts(7,6): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/es6/Symbols/symbolType12.ts(8,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/es6/Symbols/symbolType12.ts(9,1): error TS2365: Operator '+=' cannot be applied to types 'symbol' and 'symbol'. -tests/cases/conformance/es6/Symbols/symbolType12.ts(10,1): error TS2365: Operator '+=' cannot be applied to types 'symbol' and 'number'. +tests/cases/conformance/es6/Symbols/symbolType12.ts(10,1): error TS2365: Operator '+=' cannot be applied to types 'symbol' and '0'. tests/cases/conformance/es6/Symbols/symbolType12.ts(11,1): error TS2469: The '+=' operator cannot be applied to type 'symbol'. tests/cases/conformance/es6/Symbols/symbolType12.ts(12,8): error TS2469: The '+=' operator cannot be applied to type 'symbol'. tests/cases/conformance/es6/Symbols/symbolType12.ts(13,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. @@ -67,7 +67,7 @@ tests/cases/conformance/es6/Symbols/symbolType12.ts(28,8): error TS2469: The '+= !!! error TS2365: Operator '+=' cannot be applied to types 'symbol' and 'symbol'. s += 0; ~~~~~~ -!!! error TS2365: Operator '+=' cannot be applied to types 'symbol' and 'number'. +!!! error TS2365: Operator '+=' cannot be applied to types 'symbol' and '0'. s += ""; ~ !!! error TS2469: The '+=' operator cannot be applied to type 'symbol'. diff --git a/tests/baselines/reference/symbolType15.errors.txt b/tests/baselines/reference/symbolType15.errors.txt index eb63e5798d5..205a2a999d0 100644 --- a/tests/baselines/reference/symbolType15.errors.txt +++ b/tests/baselines/reference/symbolType15.errors.txt @@ -1,4 +1,5 @@ tests/cases/conformance/es6/Symbols/symbolType15.ts(5,1): error TS2322: Type 'Symbol' is not assignable to type 'symbol'. + 'symbol' is a primitive, but 'Symbol' is a wrapper object. Prefer using 'symbol' when possible. ==== tests/cases/conformance/es6/Symbols/symbolType15.ts (1 errors) ==== @@ -8,4 +9,5 @@ tests/cases/conformance/es6/Symbols/symbolType15.ts(5,1): error TS2322: Type 'Sy symObj = sym; sym = symObj; ~~~ -!!! error TS2322: Type 'Symbol' is not assignable to type 'symbol'. \ No newline at end of file +!!! error TS2322: Type 'Symbol' is not assignable to type 'symbol'. +!!! error TS2322: 'symbol' is a primitive, but 'Symbol' is a wrapper object. Prefer using 'symbol' when possible. \ No newline at end of file diff --git a/tests/baselines/reference/symbolType17.types b/tests/baselines/reference/symbolType17.types index a6174f7a3ae..c186f915cd0 100644 --- a/tests/baselines/reference/symbolType17.types +++ b/tests/baselines/reference/symbolType17.types @@ -14,7 +14,7 @@ if (typeof x === "symbol") { >typeof x === "symbol" : boolean >typeof x : string >x : symbol | Foo ->"symbol" : string +>"symbol" : "symbol" x; >x : symbol diff --git a/tests/baselines/reference/symbolType18.types b/tests/baselines/reference/symbolType18.types index 68c43215136..8f0012f4f11 100644 --- a/tests/baselines/reference/symbolType18.types +++ b/tests/baselines/reference/symbolType18.types @@ -14,7 +14,7 @@ if (typeof x === "object") { >typeof x === "object" : boolean >typeof x : string >x : symbol | Foo ->"object" : string +>"object" : "object" x; >x : Foo diff --git a/tests/baselines/reference/symbolType19.types b/tests/baselines/reference/symbolType19.types index 33c4f5ac07c..18daa27fd00 100644 --- a/tests/baselines/reference/symbolType19.types +++ b/tests/baselines/reference/symbolType19.types @@ -13,7 +13,7 @@ if (typeof x === "number") { >typeof x === "number" : boolean >typeof x : string >x : symbol | E ->"number" : string +>"number" : "number" x; >x : E diff --git a/tests/baselines/reference/symbolType6.errors.txt b/tests/baselines/reference/symbolType6.errors.txt index 29d894c2afb..42940ac1961 100644 --- a/tests/baselines/reference/symbolType6.errors.txt +++ b/tests/baselines/reference/symbolType6.errors.txt @@ -3,10 +3,10 @@ tests/cases/conformance/es6/Symbols/symbolType6.ts(4,1): error TS2362: The left- tests/cases/conformance/es6/Symbols/symbolType6.ts(4,5): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/es6/Symbols/symbolType6.ts(5,1): error TS2469: The '+' operator cannot be applied to type 'symbol'. tests/cases/conformance/es6/Symbols/symbolType6.ts(6,1): error TS2469: The '+' operator cannot be applied to type 'symbol'. -tests/cases/conformance/es6/Symbols/symbolType6.ts(7,1): error TS2365: Operator '+' cannot be applied to types 'symbol' and 'number'. +tests/cases/conformance/es6/Symbols/symbolType6.ts(7,1): error TS2365: Operator '+' cannot be applied to types 'symbol' and '0'. tests/cases/conformance/es6/Symbols/symbolType6.ts(8,6): error TS2469: The '+' operator cannot be applied to type 'symbol'. tests/cases/conformance/es6/Symbols/symbolType6.ts(9,5): error TS2469: The '+' operator cannot be applied to type 'symbol'. -tests/cases/conformance/es6/Symbols/symbolType6.ts(10,1): error TS2365: Operator '+' cannot be applied to types 'number' and 'symbol'. +tests/cases/conformance/es6/Symbols/symbolType6.ts(10,1): error TS2365: Operator '+' cannot be applied to types '0' and 'symbol'. tests/cases/conformance/es6/Symbols/symbolType6.ts(11,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/es6/Symbols/symbolType6.ts(12,5): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. tests/cases/conformance/es6/Symbols/symbolType6.ts(14,1): error TS2469: The '+' operator cannot be applied to type 'symbol'. @@ -32,7 +32,7 @@ tests/cases/conformance/es6/Symbols/symbolType6.ts(15,6): error TS2469: The '+' !!! error TS2469: The '+' operator cannot be applied to type 'symbol'. s + 0; ~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'symbol' and 'number'. +!!! error TS2365: Operator '+' cannot be applied to types 'symbol' and '0'. "" + s; ~ !!! error TS2469: The '+' operator cannot be applied to type 'symbol'. @@ -41,7 +41,7 @@ tests/cases/conformance/es6/Symbols/symbolType6.ts(15,6): error TS2469: The '+' !!! error TS2469: The '+' operator cannot be applied to type 'symbol'. 0 + s; ~~~~~ -!!! error TS2365: Operator '+' cannot be applied to types 'number' and 'symbol'. +!!! error TS2365: Operator '+' cannot be applied to types '0' and 'symbol'. s - 0; ~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. diff --git a/tests/baselines/reference/systemExportAssignment.js b/tests/baselines/reference/systemExportAssignment.js index 1e87af1ca22..9db066ce8b1 100644 --- a/tests/baselines/reference/systemExportAssignment.js +++ b/tests/baselines/reference/systemExportAssignment.js @@ -10,12 +10,12 @@ import * as a from "a"; //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemExportAssignment2.js b/tests/baselines/reference/systemExportAssignment2.js index 177f36f23d2..a16724d9640 100644 --- a/tests/baselines/reference/systemExportAssignment2.js +++ b/tests/baselines/reference/systemExportAssignment2.js @@ -10,24 +10,24 @@ import * as a from "a"; //// [a.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var a; return { - setters:[], - execute: function() { + setters: [], + execute: function () { a = 10; } - } + }; }); //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemExportAssignment3.js b/tests/baselines/reference/systemExportAssignment3.js index 78e330c6467..00ebe2f50c9 100644 --- a/tests/baselines/reference/systemExportAssignment3.js +++ b/tests/baselines/reference/systemExportAssignment3.js @@ -12,12 +12,12 @@ import * as a from "a"; //// [b.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModule1.js b/tests/baselines/reference/systemModule1.js index 2b7e3e2c4dc..e2a4d309d66 100644 --- a/tests/baselines/reference/systemModule1.js +++ b/tests/baselines/reference/systemModule1.js @@ -3,14 +3,14 @@ export var x = 1; //// [systemModule1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = 1); } - } + }; }); diff --git a/tests/baselines/reference/systemModule1.types b/tests/baselines/reference/systemModule1.types index 2adf73d116f..927b88f4b54 100644 --- a/tests/baselines/reference/systemModule1.types +++ b/tests/baselines/reference/systemModule1.types @@ -2,5 +2,5 @@ export var x = 1; >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/systemModule10.js b/tests/baselines/reference/systemModule10.js index 0c171ab6cc1..10afa784ebb 100644 --- a/tests/baselines/reference/systemModule10.js +++ b/tests/baselines/reference/systemModule10.js @@ -10,19 +10,20 @@ export {n2} export {n2 as n3} //// [systemModule10.js] -System.register(['file1', 'file2'], function(exports_1, context_1) { +System.register(["file1", "file2"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var file1_1, n2; return { - setters:[ + setters: [ function (file1_1_1) { file1_1 = file1_1_1; }, function (n2_1) { n2 = n2_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", file1_1.x); exports_1("y", file1_1.x); exports_1("n", file1_1["default"]); @@ -30,5 +31,5 @@ System.register(['file1', 'file2'], function(exports_1, context_1) { exports_1("n2", n2); exports_1("n3", n2); } - } + }; }); diff --git a/tests/baselines/reference/systemModule10_ES5.js b/tests/baselines/reference/systemModule10_ES5.js index 711ca3ed7a3..830c611bd38 100644 --- a/tests/baselines/reference/systemModule10_ES5.js +++ b/tests/baselines/reference/systemModule10_ES5.js @@ -10,19 +10,20 @@ export {n2} export {n2 as n3} //// [systemModule10_ES5.js] -System.register(['file1', 'file2'], function(exports_1, context_1) { +System.register(["file1", "file2"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var file1_1, n2; return { - setters:[ + setters: [ function (file1_1_1) { file1_1 = file1_1_1; }, function (n2_1) { n2 = n2_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("x", file1_1.x); exports_1("y", file1_1.x); exports_1("n", file1_1.default); @@ -30,5 +31,5 @@ System.register(['file1', 'file2'], function(exports_1, context_1) { exports_1("n2", n2); exports_1("n3", n2); } - } + }; }); diff --git a/tests/baselines/reference/systemModule11.js b/tests/baselines/reference/systemModule11.js index f7d47db1d7f..7f120cec40d 100644 --- a/tests/baselines/reference/systemModule11.js +++ b/tests/baselines/reference/systemModule11.js @@ -42,78 +42,84 @@ export * from 'a'; //// [file1.js] // set of tests cases that checks generation of local storage for exported names -System.register(['bar'], function(exports_1, context_1) { +System.register(["bar"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var x; function foo() { } + var x; exports_1("foo", foo); var exportedNames_1 = { - 'x': true, - 'foo': true + "x": true, + "foo": true }; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n]; + for (var n in m) { + if (n !== "default" && !exportedNames_1.hasOwnProperty(n)) + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (bar_1_1) { exportStar_1(bar_1_1); - }], - execute: function() { + } + ], + execute: function () { + // set of tests cases that checks generation of local storage for exported names } - } + }; }); //// [file2.js] -System.register(['bar'], function(exports_1, context_1) { +System.register(["bar"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x, y; var exportedNames_1 = { - 'x': true, - 'y1': true + "x": true, + "y1": true }; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n]; + for (var n in m) { + if (n !== "default" && !exportedNames_1.hasOwnProperty(n)) + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (bar_1_1) { exportStar_1(bar_1_1); - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x); exports_1("y1", y); } - } + }; }); //// [file3.js] -System.register(['a', 'bar'], function(exports_1, context_1) { +System.register(["a", "bar"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("default", foo); var exportedNames_1 = { - 'x': true, - 'z': true + "x": true, + "z": true }; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n]; + for (var n in m) { + if (n !== "default" && !exportedNames_1.hasOwnProperty(n)) + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (a_1_1) { exports_1({ "x": a_1_1["x"], @@ -122,52 +128,56 @@ System.register(['a', 'bar'], function(exports_1, context_1) { }, function (bar_1_1) { exportStar_1(bar_1_1); - }], - execute: function() { + } + ], + execute: function () { } - } + }; }); //// [file4.js] -System.register(['a'], function(exports_1, context_1) { +System.register(["a"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var x, z, z1; function foo() { } - exports_1("foo", foo); function default_1() { } + var x, z, z1; + exports_1("foo", foo); exports_1("default", default_1); return { - setters:[ + setters: [ function (a_1_1) { exports_1({ "s": a_1_1["s"], "s2": a_1_1["s1"] }); - }], - execute: function() { + } + ], + execute: function () { exports_1("z", z); exports_1("z2", z1); } - } + }; }); //// [file5.js] -System.register(['a'], function(exports_1, context_1) { +System.register(["a"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { } function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default") exports[n] = m[n]; + for (var n in m) { + if (n !== "default") + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (a_1_1) { exportStar_1(a_1_1); - }], - execute: function() { + } + ], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModule12.js b/tests/baselines/reference/systemModule12.js index 45e7beaf218..8e94ffb54da 100644 --- a/tests/baselines/reference/systemModule12.js +++ b/tests/baselines/reference/systemModule12.js @@ -5,12 +5,12 @@ import n from 'file1' //// [systemModule12.js] -System.register("NamedModule", [], function(exports_1, context_1) { +System.register("NamedModule", [], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModule13.js b/tests/baselines/reference/systemModule13.js index e3ed2daf3a6..c527fd3e811 100644 --- a/tests/baselines/reference/systemModule13.js +++ b/tests/baselines/reference/systemModule13.js @@ -5,19 +5,18 @@ export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; for ([x] of [[1]]) {} //// [systemModule13.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var x, y, z, z0, z1; + var x, y, z, _a, z0, z1, _b; return { - setters:[], - execute: function() { + setters: [], + execute: function () { _a = [1, 2, 3], exports_1("x", x = _a[0]), exports_1("y", y = _a[1]), exports_1("z", z = _a[2]); _b = { a: true, b: { c: "123" } }, exports_1("z0", z0 = _b.a), exports_1("z1", z1 = _b.b.c); - for (var _i = 0, _c = [[1]]; _i < _c.length; _i++) { - exports_1("x", x = _c[_i][0]); + for (var _i = 0, _a = [[1]]; _i < _a.length; _i++) { + exports_1("x", x = _a[_i][0]); } } - } - var _a, _b; + }; }); diff --git a/tests/baselines/reference/systemModule13.types b/tests/baselines/reference/systemModule13.types index f31b0825416..ec85746d2bb 100644 --- a/tests/baselines/reference/systemModule13.types +++ b/tests/baselines/reference/systemModule13.types @@ -5,9 +5,9 @@ export let [x,y,z] = [1, 2, 3]; >y : number >z : number >[1, 2, 3] : [number, number, number] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; >a : any @@ -17,16 +17,16 @@ export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; >z1 : string >{a: true, b: {c: "123"}} : { a: boolean; b: { c: string; }; } >a : boolean ->true : boolean +>true : true >b : { c: string; } >{c: "123"} : { c: string; } >c : string ->"123" : string +>"123" : "123" for ([x] of [[1]]) {} >[x] : [number] >x : number >[[1]] : number[][] >[1] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/systemModule14.js b/tests/baselines/reference/systemModule14.js index 5eaafd9ba6b..bebe9244e07 100644 --- a/tests/baselines/reference/systemModule14.js +++ b/tests/baselines/reference/systemModule14.js @@ -11,23 +11,23 @@ var x = 1; export {foo as b} //// [systemModule14.js] -System.register(["foo"], function(exports_1, context_1) { +System.register(["foo"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var foo_1; - var x; function foo() { return foo_1.a; } + var foo_1, x; return { - setters:[ + setters: [ function (foo_1_1) { foo_1 = foo_1_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("foo", foo); x = 1; exports_1("b", foo); } - } + }; }); diff --git a/tests/baselines/reference/systemModule15.js b/tests/baselines/reference/systemModule15.js index f2fefb344ac..92f9bf444bd 100644 --- a/tests/baselines/reference/systemModule15.js +++ b/tests/baselines/reference/systemModule15.js @@ -34,63 +34,65 @@ export default value; export var value2 = "v"; //// [file3.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var value; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("value", value = "youpi"); - exports_1("default",value); + exports_1("default", value); } - } + }; }); //// [file4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var value2; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("value2", value2 = "v"); } - } + }; }); //// [file2.js] -System.register(["./file3"], function(exports_1, context_1) { +System.register(["./file3"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var moduleCStar, file3_1, file3_2; return { - setters:[ + setters: [ function (moduleCStar_1) { moduleCStar = moduleCStar_1; file3_1 = moduleCStar_1; file3_2 = moduleCStar_1; - }], - execute: function() { + } + ], + execute: function () { exports_1("moduleCStar", moduleCStar); exports_1("moduleC", file3_1["default"]); exports_1("value", file3_2.value); } - } + }; }); //// [file1.js] -System.register(["./file2"], function(exports_1, context_1) { +System.register(["./file2"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var moduleB; return { - setters:[ + setters: [ function (moduleB_1) { moduleB = moduleB_1; - }], - execute: function() { + } + ], + execute: function () { use(moduleB.value); use(moduleB.moduleC); use(moduleB.moduleCStar); } - } + }; }); diff --git a/tests/baselines/reference/systemModule15.types b/tests/baselines/reference/systemModule15.types index 502638dab93..7ebd1f7378e 100644 --- a/tests/baselines/reference/systemModule15.types +++ b/tests/baselines/reference/systemModule15.types @@ -25,9 +25,9 @@ use(moduleB.moduleC); use(moduleB.moduleCStar); >use(moduleB.moduleCStar) : void >use : (v: any) => void ->moduleB.moduleCStar : typeof +>moduleB.moduleCStar : typeof "tests/cases/compiler/file3" >moduleB : typeof moduleB ->moduleCStar : typeof +>moduleCStar : typeof "tests/cases/compiler/file3" === tests/cases/compiler/file2.ts === @@ -58,7 +58,7 @@ export { export var value = "youpi"; >value : string ->"youpi" : string +>"youpi" : "youpi" export default value; >value : string @@ -67,5 +67,5 @@ export default value; export var value2 = "v"; >value2 : string ->"v" : string +>"v" : "v" diff --git a/tests/baselines/reference/systemModule16.js b/tests/baselines/reference/systemModule16.js index 27fa77b9c76..8058e0f2ea1 100644 --- a/tests/baselines/reference/systemModule16.js +++ b/tests/baselines/reference/systemModule16.js @@ -13,26 +13,27 @@ x,y,a1,b1,d1; //// [systemModule16.js] -System.register(["foo", "bar"], function(exports_1, context_1) { +System.register(["foo", "bar"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x, y, foo_1; var exportedNames_1 = { - 'x': true, - 'y': true, - 'a2': true, - 'b2': true, - 'd2': true + "x": true, + "y": true, + "a2": true, + "b2": true, + "d2": true }; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n]; + for (var n in m) { + if (n !== "default" && !exportedNames_1.hasOwnProperty(n)) + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (x_1) { x = x_1; exportStar_1(x_1); @@ -46,11 +47,12 @@ System.register(["foo", "bar"], function(exports_1, context_1) { "b2": y_1["b2"], "d2": y_1["c2"] }); - }], - execute: function() { + } + ], + execute: function () { exports_1("x", x); exports_1("y", y); x, y, foo_1.a1, foo_1.b1, foo_1.c1; } - } + }; }); diff --git a/tests/baselines/reference/systemModule17.js b/tests/baselines/reference/systemModule17.js index 6bf1ce25b84..df3d722f3d2 100644 --- a/tests/baselines/reference/systemModule17.js +++ b/tests/baselines/reference/systemModule17.js @@ -42,13 +42,13 @@ export {II}; export {II as II1}; //// [f1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var A; return { - setters:[], - execute: function() { + setters: [], + execute: function () { A = (function () { function A() { } @@ -56,20 +56,20 @@ System.register([], function(exports_1, context_1) { }()); exports_1("A", A); } - } + }; }); //// [f2.js] -System.register(["f1"], function(exports_1, context_1) { +System.register(["f1"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var f1_1; - var x, N, IX; + var x, N, IX, f1_1; return { - setters:[ + setters: [ function (f1_1_1) { f1_1 = f1_1_1; - }], - execute: function() { + } + ], + execute: function () { x = 1; (function (N) { N.x = 1; @@ -84,5 +84,5 @@ System.register(["f1"], function(exports_1, context_1) { exports_1("IX", IX); exports_1("IX1", IX); } - } + }; }); diff --git a/tests/baselines/reference/systemModule17.types b/tests/baselines/reference/systemModule17.types index 1f0b1b51842..c0a0a7dc584 100644 --- a/tests/baselines/reference/systemModule17.types +++ b/tests/baselines/reference/systemModule17.types @@ -11,7 +11,7 @@ export interface I {} var x = 1; >x : number ->1 : number +>1 : 1 interface I { } >I : I @@ -21,7 +21,7 @@ namespace N { export var x = 1; >x : number ->1 : number +>1 : 1 export interface I { } >I : I diff --git a/tests/baselines/reference/systemModule2.js b/tests/baselines/reference/systemModule2.js index 95755421eaa..c267eaefb43 100644 --- a/tests/baselines/reference/systemModule2.js +++ b/tests/baselines/reference/systemModule2.js @@ -4,14 +4,14 @@ var x = 1; export = x; //// [systemModule2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { + setters: [], + execute: function () { x = 1; } - } + }; }); diff --git a/tests/baselines/reference/systemModule3.js b/tests/baselines/reference/systemModule3.js index 7800c8c220e..a8f93941c89 100644 --- a/tests/baselines/reference/systemModule3.js +++ b/tests/baselines/reference/systemModule3.js @@ -18,37 +18,37 @@ export default class C {} export default class {} //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function default_1() { } exports_1("default", default_1); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function f() { } exports_1("default", f); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file3.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var C; return { - setters:[], - execute: function() { + setters: [], + execute: function () { C = (function () { function C() { } @@ -56,22 +56,22 @@ System.register([], function(exports_1, context_1) { }()); exports_1("default", C); } - } + }; }); //// [file4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var default_1; return { - setters:[], - execute: function() { + setters: [], + execute: function () { default_1 = (function () { - function default_1() { + function class_1() { } - return default_1; + return class_1; }()); exports_1("default", default_1); } - } + }; }); diff --git a/tests/baselines/reference/systemModule4.js b/tests/baselines/reference/systemModule4.js index 67990c63a58..22a4755e9fb 100644 --- a/tests/baselines/reference/systemModule4.js +++ b/tests/baselines/reference/systemModule4.js @@ -4,14 +4,14 @@ export var x = 1; export var y; //// [systemModule4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x, y; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = 1); } - } + }; }); diff --git a/tests/baselines/reference/systemModule4.types b/tests/baselines/reference/systemModule4.types index 2029cdb88d7..8a871a987a7 100644 --- a/tests/baselines/reference/systemModule4.types +++ b/tests/baselines/reference/systemModule4.types @@ -2,7 +2,7 @@ export var x = 1; >x : number ->1 : number +>1 : 1 export var y; >y : any diff --git a/tests/baselines/reference/systemModule5.js b/tests/baselines/reference/systemModule5.js index d0b1f79b2f7..ada3b339168 100644 --- a/tests/baselines/reference/systemModule5.js +++ b/tests/baselines/reference/systemModule5.js @@ -4,14 +4,14 @@ export function foo() {} //// [systemModule5.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("foo", foo); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModule6.js b/tests/baselines/reference/systemModule6.js index 4848c82f738..5e1f51dd697 100644 --- a/tests/baselines/reference/systemModule6.js +++ b/tests/baselines/reference/systemModule6.js @@ -7,16 +7,16 @@ function foo() { //// [systemModule6.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var C; function foo() { new C(); } + var C; return { - setters:[], - execute: function() { + setters: [], + execute: function () { C = (function () { function C() { } @@ -24,5 +24,5 @@ System.register([], function(exports_1, context_1) { }()); exports_1("C", C); } - } + }; }); diff --git a/tests/baselines/reference/systemModule7.js b/tests/baselines/reference/systemModule7.js index 60114b54400..bf34e3f786c 100644 --- a/tests/baselines/reference/systemModule7.js +++ b/tests/baselines/reference/systemModule7.js @@ -11,18 +11,18 @@ export module M { } //// [systemModule7.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var M; return { - setters:[], - execute: function() { + setters: [], + execute: function () { // filename: instantiatedModule.ts (function (M) { var x = 1; })(M = M || (M = {})); exports_1("M", M); } - } + }; }); diff --git a/tests/baselines/reference/systemModule7.types b/tests/baselines/reference/systemModule7.types index 650e2d6cdb1..33003f5fa37 100644 --- a/tests/baselines/reference/systemModule7.types +++ b/tests/baselines/reference/systemModule7.types @@ -6,7 +6,7 @@ export module M { var x = 1; >x : number ->1 : number +>1 : 1 } // filename: nonInstantiatedModule.ts diff --git a/tests/baselines/reference/systemModule8.js b/tests/baselines/reference/systemModule8.js index f099628facb..467c52298fb 100644 --- a/tests/baselines/reference/systemModule8.js +++ b/tests/baselines/reference/systemModule8.js @@ -31,19 +31,19 @@ export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; for ([x] of [[1]]) {} //// [systemModule8.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var x, y, z0, z1; function foo() { exports_1("x", x = 100); } + var x, y, z0, z1, _a; return { - setters:[], - execute: function() { + setters: [], + execute: function () { exports_1("x", x = 1); - (exports_1("x", ++x) - 1); - (exports_1("x", --x) + 1); + exports_1("x", ++x) - 1; + exports_1("x", --x) + 1; exports_1("x", ++x); exports_1("x", --x); exports_1("x", x += 1); @@ -56,17 +56,16 @@ System.register([], function(exports_1, context_1) { x - 1; x & 1; x | 1; - for (exports_1("x", x = 5);; (exports_1("x", ++x) - 1)) { } - for (exports_1("x", x = 8);; (exports_1("x", --x) + 1)) { } + for (exports_1("x", x = 5);; exports_1("x", ++x) - 1) { } + for (exports_1("x", x = 8);; exports_1("x", --x) + 1) { } for (exports_1("x", x = 15);; exports_1("x", ++x)) { } for (exports_1("x", x = 18);; exports_1("x", --x)) { } for (var x_1 = 50;;) { } exports_1("y", y = [1][0]); _a = { a: true, b: { c: "123" } }, exports_1("z0", z0 = _a.a), exports_1("z1", z1 = _a.b.c); - for (var _i = 0, _b = [[1]]; _i < _b.length; _i++) { - exports_1("x", x = _b[_i][0]); + for (var _i = 0, _a = [[1]]; _i < _a.length; _i++) { + exports_1("x", x = _a[_i][0]); } } - } - var _a; + }; }); diff --git a/tests/baselines/reference/systemModule8.types b/tests/baselines/reference/systemModule8.types index 940067c5653..f31e77c346d 100644 --- a/tests/baselines/reference/systemModule8.types +++ b/tests/baselines/reference/systemModule8.types @@ -4,9 +4,9 @@ export var x; >x : any x = 1; ->x = 1 : number +>x = 1 : 1 >x : any ->1 : number +>1 : 1 x++; >x++ : number @@ -27,98 +27,98 @@ x--; x += 1; >x += 1 : any >x : any ->1 : number +>1 : 1 x -= 1; >x -= 1 : number >x : any ->1 : number +>1 : 1 x *= 1; >x *= 1 : number >x : any ->1 : number +>1 : 1 x /= 1; >x /= 1 : number >x : any ->1 : number +>1 : 1 x |= 1; >x |= 1 : number >x : any ->1 : number +>1 : 1 x &= 1; >x &= 1 : number >x : any ->1 : number +>1 : 1 x + 1; >x + 1 : any >x : any ->1 : number +>1 : 1 x - 1; >x - 1 : number >x : any ->1 : number +>1 : 1 x & 1; >x & 1 : number >x : any ->1 : number +>1 : 1 x | 1; >x | 1 : number >x : any ->1 : number +>1 : 1 for (x = 5;;x++) {} ->x = 5 : number +>x = 5 : 5 >x : any ->5 : number +>5 : 5 >x++ : number >x : any for (x = 8;;x--) {} ->x = 8 : number +>x = 8 : 8 >x : any ->8 : number +>8 : 8 >x-- : number >x : any for (x = 15;;++x) {} ->x = 15 : number +>x = 15 : 15 >x : any ->15 : number +>15 : 15 >++x : number >x : any for (x = 18;;--x) {} ->x = 18 : number +>x = 18 : 18 >x : any ->18 : number +>18 : 18 >--x : number >x : any for (let x = 50;;) {} >x : number ->50 : number +>50 : 50 function foo() { >foo : () => void x = 100; ->x = 100 : number +>x = 100 : 100 >x : any ->100 : number +>100 : 100 } export let [y] = [1]; >y : number >[1] : [number] ->1 : number +>1 : 1 export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; >a : any @@ -128,16 +128,16 @@ export const {a: z0, b: {c: z1}} = {a: true, b: {c: "123"}}; >z1 : string >{a: true, b: {c: "123"}} : { a: boolean; b: { c: string; }; } >a : boolean ->true : boolean +>true : true >b : { c: string; } >{c: "123"} : { c: string; } >c : string ->"123" : string +>"123" : "123" for ([x] of [[1]]) {} >[x] : [any] >x : any >[[1]] : number[][] >[1] : number[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/systemModule9.js b/tests/baselines/reference/systemModule9.js index 940b9e5975b..e46b97a71a2 100644 --- a/tests/baselines/reference/systemModule9.js +++ b/tests/baselines/reference/systemModule9.js @@ -22,24 +22,24 @@ export {x}; export {y as z}; //// [systemModule9.js] -System.register(['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7'], function(exports_1, context_1) { +System.register(["file1", "file2", "file3", "file4", "file5", "file6", "file7"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var ns, file2_1, file3_1, file5_1, ns3; - var x, y; + var ns, file2_1, file3_1, file5_1, ns3, x, y; var exportedNames_1 = { - 'x': true, - 'z': true + "x": true, + "z": true }; function exportStar_1(m) { var exports = {}; - for(var n in m) { - if (n !== "default"&& !exportedNames_1.hasOwnProperty(n)) exports[n] = m[n]; + for (var n in m) { + if (n !== "default" && !exportedNames_1.hasOwnProperty(n)) + exports[n] = m[n]; } exports_1(exports); } return { - setters:[ + setters: [ function (ns_1) { ns = ns_1; }, @@ -49,7 +49,8 @@ System.register(['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7'], function (file3_1_1) { file3_1 = file3_1_1; }, - function (_1) {}, + function (_1) { + }, function (file5_1_1) { file5_1 = file5_1_1; }, @@ -58,8 +59,9 @@ System.register(['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7'], }, function (file7_1_1) { exportStar_1(file7_1_1); - }], - execute: function() { + } + ], + execute: function () { ns.f(); file2_1.a(); file2_1.b(); @@ -71,5 +73,5 @@ System.register(['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7'], exports_1("x", x); exports_1("z", y); } - } + }; }); diff --git a/tests/baselines/reference/systemModuleAmbientDeclarations.js b/tests/baselines/reference/systemModuleAmbientDeclarations.js index 91bad620b77..9714f138c5e 100644 --- a/tests/baselines/reference/systemModuleAmbientDeclarations.js +++ b/tests/baselines/reference/systemModuleAmbientDeclarations.js @@ -29,68 +29,68 @@ export declare module M { var v: number; } //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var promise, foo, c, e; return { - setters:[], - execute: function() { + setters: [], + execute: function () { ; exports_1("promise", promise = Promise); exports_1("foo", foo = Foo); exports_1("c", c = C); exports_1("e", e = E); } - } + }; }); //// [file2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file3.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file5.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file6.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModuleAmbientDeclarations.types b/tests/baselines/reference/systemModuleAmbientDeclarations.types index 3633f922881..04c4f2d49df 100644 --- a/tests/baselines/reference/systemModuleAmbientDeclarations.types +++ b/tests/baselines/reference/systemModuleAmbientDeclarations.types @@ -12,7 +12,7 @@ declare class C {} declare enum E {X = 1}; >E : E >X : E ->1 : number +>1 : 1 export var promise = Promise; >promise : typeof Promise @@ -46,7 +46,7 @@ export declare var v: number; export declare enum E {X = 1} >E : E >X : E ->1 : number +>1 : 1 === tests/cases/compiler/file6.ts === export declare module M { var v: number; } diff --git a/tests/baselines/reference/systemModuleConstEnums.js b/tests/baselines/reference/systemModuleConstEnums.js index 08df549a87b..dbb88c61e14 100644 --- a/tests/baselines/reference/systemModuleConstEnums.js +++ b/tests/baselines/reference/systemModuleConstEnums.js @@ -13,7 +13,7 @@ module M { } //// [systemModuleConstEnums.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { @@ -22,8 +22,8 @@ System.register([], function(exports_1, context_1) { } exports_1("foo", foo); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); diff --git a/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js b/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js index be2f07cc59e..0cd6f472bdb 100644 --- a/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js +++ b/tests/baselines/reference/systemModuleConstEnumsSeparateCompilation.js @@ -13,18 +13,18 @@ module M { } //// [systemModuleConstEnumsSeparateCompilation.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var TopLevelConstEnum, M; function foo() { use(TopLevelConstEnum.X); use(M.NonTopLevelConstEnum.X); } + var TopLevelConstEnum, M; exports_1("foo", foo); return { - setters:[], - execute: function() { + setters: [], + execute: function () { (function (TopLevelConstEnum) { TopLevelConstEnum[TopLevelConstEnum["X"] = 0] = "X"; })(TopLevelConstEnum || (TopLevelConstEnum = {})); @@ -35,5 +35,5 @@ System.register([], function(exports_1, context_1) { var NonTopLevelConstEnum = M.NonTopLevelConstEnum; })(M || (M = {})); } - } + }; }); diff --git a/tests/baselines/reference/systemModuleDeclarationMerging.js b/tests/baselines/reference/systemModuleDeclarationMerging.js index 1196aa8898d..d5994bc9f22 100644 --- a/tests/baselines/reference/systemModuleDeclarationMerging.js +++ b/tests/baselines/reference/systemModuleDeclarationMerging.js @@ -10,15 +10,15 @@ export enum E {} export module E { var x; } //// [systemModuleDeclarationMerging.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var F, C, E; function F() { } + var F, C, C, E, E; exports_1("F", F); return { - setters:[], - execute: function() { + setters: [], + execute: function () { (function (F) { var x; })(F = F || (F = {})); @@ -41,5 +41,5 @@ System.register([], function(exports_1, context_1) { })(E = E || (E = {})); exports_1("E", E); } - } + }; }); diff --git a/tests/baselines/reference/systemModuleExportDefault.js b/tests/baselines/reference/systemModuleExportDefault.js index eaa4e6ddaa7..53f63ecb027 100644 --- a/tests/baselines/reference/systemModuleExportDefault.js +++ b/tests/baselines/reference/systemModuleExportDefault.js @@ -16,54 +16,54 @@ export default class C {} //// [file1.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function default_1() { } exports_1("default", default_1); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file2.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; function foo() { } exports_1("default", foo); return { - setters:[], - execute: function() { + setters: [], + execute: function () { } - } + }; }); //// [file3.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var default_1; return { - setters:[], - execute: function() { + setters: [], + execute: function () { default_1 = (function () { - function default_1() { + function class_1() { } - return default_1; + return class_1; }()); exports_1("default", default_1); } - } + }; }); //// [file4.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var C; return { - setters:[], - execute: function() { + setters: [], + execute: function () { C = (function () { function C() { } @@ -71,5 +71,5 @@ System.register([], function(exports_1, context_1) { }()); exports_1("default", C); } - } + }; }); diff --git a/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js b/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js index 1cf993baec0..b0498b23f79 100644 --- a/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js +++ b/tests/baselines/reference/systemModuleNonTopLevelModuleMembers.js @@ -13,15 +13,15 @@ export module TopLevelModule2 { } //// [systemModuleNonTopLevelModuleMembers.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var TopLevelClass, TopLevelModule, TopLevelEnum, TopLevelModule2; function TopLevelFunction() { } + var TopLevelClass, TopLevelModule, TopLevelEnum, TopLevelModule2; exports_1("TopLevelFunction", TopLevelFunction); return { - setters:[], - execute: function() { + setters: [], + execute: function () { TopLevelClass = (function () { function TopLevelClass() { } @@ -56,5 +56,5 @@ System.register([], function(exports_1, context_1) { })(TopLevelModule2 = TopLevelModule2 || (TopLevelModule2 = {})); exports_1("TopLevelModule2", TopLevelModule2); } - } + }; }); diff --git a/tests/baselines/reference/systemModuleTargetES6.js b/tests/baselines/reference/systemModuleTargetES6.js index 21bbc6a6ad8..a049ea78395 100644 --- a/tests/baselines/reference/systemModuleTargetES6.js +++ b/tests/baselines/reference/systemModuleTargetES6.js @@ -14,29 +14,29 @@ export function myFunction2() { } //// [systemModuleTargetES6.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var MyClass, MyClass2; function myFunction() { return new MyClass(); } - exports_1("myFunction", myFunction); function myFunction2() { return new MyClass2(); } + var MyClass, MyClass2; + exports_1("myFunction", myFunction); exports_1("myFunction2", myFunction2); return { - setters:[], - execute: function() { + setters: [], + execute: function () { MyClass = class MyClass { }; exports_1("MyClass", MyClass); MyClass2 = class MyClass2 { static getInstance() { return MyClass2.value; } }; - MyClass2.value = 42; exports_1("MyClass2", MyClass2); + MyClass2.value = 42; } - } + }; }); diff --git a/tests/baselines/reference/systemModuleTargetES6.types b/tests/baselines/reference/systemModuleTargetES6.types index 5a9801a5d89..193507fca89 100644 --- a/tests/baselines/reference/systemModuleTargetES6.types +++ b/tests/baselines/reference/systemModuleTargetES6.types @@ -7,7 +7,7 @@ export class MyClass2 { static value = 42; >value : number ->42 : number +>42 : 42 static getInstance() { return MyClass2.value; } >getInstance : () => number diff --git a/tests/baselines/reference/systemModuleWithSuperClass.js b/tests/baselines/reference/systemModuleWithSuperClass.js index 0aab851cc57..31cd542d2e2 100644 --- a/tests/baselines/reference/systemModuleWithSuperClass.js +++ b/tests/baselines/reference/systemModuleWithSuperClass.js @@ -13,13 +13,13 @@ export class Bar extends Foo { } //// [foo.js] -System.register([], function(exports_1, context_1) { +System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var Foo; return { - setters:[], - execute: function() { + setters: [], + execute: function () { Foo = (function () { function Foo() { } @@ -27,25 +27,25 @@ System.register([], function(exports_1, context_1) { }()); exports_1("Foo", Foo); } - } + }; }); //// [bar.js] -System.register(['./foo'], function(exports_1, context_1) { +System.register(["./foo"], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; - var foo_1; - var Bar; + var __moduleName = context_1 && context_1.id; + var foo_1, Bar; return { - setters:[ + setters: [ function (foo_1_1) { foo_1 = foo_1_1; - }], - execute: function() { + } + ], + execute: function () { Bar = (function (_super) { __extends(Bar, _super); function Bar() { @@ -55,5 +55,5 @@ System.register(['./foo'], function(exports_1, context_1) { }(foo_1.Foo)); exports_1("Bar", Bar); } - } + }; }); diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index 93ca81f8446..4e207a0d6bb 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts === type FuncType = (x: (p: T) => T) => typeof x; ->FuncType : (x: (p: T) => T) => (p: T) => T +>FuncType : FuncType >x : (p: T) => T >T : T >p : T @@ -10,31 +10,31 @@ type FuncType = (x: (p: T) => T) => typeof x; >x : (p: T) => T function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >T : T >templateStrs : TemplateStringsArray >TemplateStringsArray : TemplateStringsArray ->f : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>f : FuncType +>FuncType : FuncType >x : T >T : T >T : T function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >T : T >templateStrs : TemplateStringsArray >TemplateStringsArray : TemplateStringsArray ->f : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T ->h : (x: (p: T) => T) => (p: T) => T ->FuncType : (x: (p: T) => T) => (p: T) => T +>f : FuncType +>FuncType : FuncType +>h : FuncType +>FuncType : FuncType >x : T >T : T >T : T function tempTag1(...rest: any[]): T { ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >T : T >rest : any[] >T : T @@ -48,8 +48,8 @@ function tempTag1(...rest: any[]): T { // and it is an error to invoke an any-typed value with type arguments, // so this test will error. tempTag1 `${ x => { x(undefined); return x; } }${ 10 }`; ->tempTag1 `${ x => { x(undefined); return x; } }${ 10 }` : number ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 `${ x => { x(undefined); return x; } }${ 10 }` : 10 +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >`${ x => { x(undefined); return x; } }${ 10 }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -57,11 +57,11 @@ tempTag1 `${ x => { x(undefined); return x; } }${ 10 } >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->10 : number +>10 : 10 tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }`; ->tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : number ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : 10 +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >`${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -75,11 +75,11 @@ tempTag1 `${ x => { x(undefined); return x; } }${ y => >y : (p: T) => T >undefined : undefined >y : (p: T) => T ->10 : number +>10 : 10 tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }`; >tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >`${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -101,7 +101,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ (y: tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }`; >tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >`${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : string >(x: (p: T) => T) => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types index 8fcfc02c62b..2dbf2c53c8b 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping2.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts === type FuncType1 = (x: (p: T) => T) => typeof x; ->FuncType1 : (x: (p: T) => T) => (p: T) => T +>FuncType1 : FuncType1 >x : (p: T) => T >T : T >p : T @@ -10,7 +10,7 @@ type FuncType1 = (x: (p: T) => T) => typeof x; >x : (p: T) => T type FuncType2 = (x: (p: T) => T) => typeof x; ->FuncType2 : (x: (p: T) => T) => (p: T) => T +>FuncType2 : FuncType2 >x : (p: T) => T >S : S >T : T @@ -20,25 +20,25 @@ type FuncType2 = (x: (p: T) => T) => typeof x; >x : (p: T) => T function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >templateStrs : TemplateStringsArray >TemplateStringsArray : TemplateStringsArray ->f : (x: (p: T) => T) => (p: T) => T ->FuncType1 : (x: (p: T) => T) => (p: T) => T +>f : FuncType1 +>FuncType1 : FuncType1 >x : number function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >templateStrs : TemplateStringsArray >TemplateStringsArray : TemplateStringsArray ->f : (x: (p: T) => T) => (p: T) => T ->FuncType2 : (x: (p: T) => T) => (p: T) => T ->h : (x: (p: T) => T) => (p: T) => T ->FuncType2 : (x: (p: T) => T) => (p: T) => T +>f : FuncType2 +>FuncType2 : FuncType2 +>h : FuncType2 +>FuncType2 : FuncType2 >x : string function tempTag2(...rest: any[]): any { ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >rest : any[] return undefined; @@ -51,7 +51,7 @@ function tempTag2(...rest: any[]): any { // so this test will error. tempTag2 `${ x => { x(undefined); return x; } }${ 0 }`; >tempTag2 `${ x => { x(undefined); return x; } }${ 0 }` : number ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >`${ x => { x(undefined); return x; } }${ 0 }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -59,11 +59,11 @@ tempTag2 `${ x => { x(undefined); return x; } }${ 0 }`; >x : (p: T) => T >undefined : undefined >x : (p: T) => T ->0 : number +>0 : 0 tempTag2 `${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }`; >tempTag2 `${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >`${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -77,11 +77,11 @@ tempTag2 `${ x => { x(undefined); return x; } }${ y => { yy : (p: T) => T >null : null >y : (p: T) => T ->"hello" : string +>"hello" : "hello" tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ "hello" }`; >tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, x: number): number; (templateStrs: TemplateStringsArray, f: (x: (p: T) => T) => (p: T) => T, h: (x: (p: T) => T) => (p: T) => T, x: string): string; } +>tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } >`${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -90,5 +90,5 @@ tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ >undefined : undefined >x : (p: T) => T >undefined : undefined ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.types b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.types index 329ce9c3b21..e42bf52c005 100644 --- a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.types +++ b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapes.types @@ -8,5 +8,5 @@ f `\x0D${ "Interrupted CRLF" }\x0A`; >f `\x0D${ "Interrupted CRLF" }\x0A` : void >f : (...args: any[]) => void >`\x0D${ "Interrupted CRLF" }\x0A` : string ->"Interrupted CRLF" : string +>"Interrupted CRLF" : "Interrupted CRLF" diff --git a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapesES6.types b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapesES6.types index f350b6137a7..1b5fefe9c9e 100644 --- a/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapesES6.types +++ b/tests/baselines/reference/taggedTemplateStringsHexadecimalEscapesES6.types @@ -8,5 +8,5 @@ f `\x0D${ "Interrupted CRLF" }\x0A`; >f `\x0D${ "Interrupted CRLF" }\x0A` : void >f : (...args: any[]) => void >`\x0D${ "Interrupted CRLF" }\x0A` : string ->"Interrupted CRLF" : string +>"Interrupted CRLF" : "Interrupted CRLF" diff --git a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.types b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.types index 9b02e0d3fb3..6619696bb39 100644 --- a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.types +++ b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.types @@ -3,33 +3,33 @@ `0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` >`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " diff --git a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.types b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.types index ed229126283..2fae6446989 100644 --- a/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.types @@ -10,33 +10,33 @@ f `0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " >f `0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` : void >f : (...x: any[]) => void >`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt index b345e971ab2..2ead58862b6 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts(64,11): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts(77,79): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate '{ x: number; z: Date; }' is not a valid type argument because it is not a supertype of candidate '{ x: number; y: string; }'. Object literal may only specify known properties, and 'y' does not exist in type '{ x: number; z: Date; }'. @@ -72,7 +72,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. var a9a: {}; // Generic tag with multiple parameters of generic type passed arguments with multiple best common types diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt index 619e5081a3b..781456b8bbb 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts(63,11): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts(76,79): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate '{ x: number; z: Date; }' is not a valid type argument because it is not a supertype of candidate '{ x: number; y: string; }'. Object literal may only specify known properties, and 'y' does not exist in type '{ x: number; z: Date; }'. @@ -71,7 +71,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. var a9a: {}; // Generic tag with multiple parameters of generic type passed arguments with multiple best common types diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt index 44b30fb535f..06343389868 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(14,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(18,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(22,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(24,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(26,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(28,57): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(14,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(18,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(22,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(24,25): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(26,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(28,57): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts (6 errors) ==== @@ -22,31 +22,31 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped f `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`.member f `abc${1}def${2}ghi`.member; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`["member"]; f `abc${1}def${2}ghi`["member"]; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`[0].member `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f.thisIsNotATag(`abc`); diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js index 511928e1342..16f1a3faea0 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js @@ -46,4 +46,4 @@ var f; (_l = ["abc", "def", "ghi"], _l.raw = ["abc", "def", "ghi"], (_m = ["abc", "def", "ghi"], _m.raw = ["abc", "def", "ghi"], f(_m, true, true))["member"].member(_l, 1, 2)); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; +var _a, _b, _c, _d, _e, _f, _h, _g, _k, _j, _m, _l; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt index c2825c19e63..9d1ee541e4f 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(14,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(18,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(22,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(24,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(26,9): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(28,57): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(14,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(18,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(22,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(24,25): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(26,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(28,57): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts (6 errors) ==== @@ -22,31 +22,31 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped f `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`.member f `abc${1}def${2}ghi`.member; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`["member"]; f `abc${1}def${2}ghi`["member"]; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc`[0].member `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f.thisIsNotATag(`abc`); diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types index 553cda2b2b9..f10c493dbd9 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types @@ -36,10 +36,10 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >f `abc${ 0 }def` : I >f : I >`abc${ 0 }def` : string ->0 : number +>0 : 0 >member : new (s: string) => new (n: number) => new () => boolean ->"hello" : string ->42 : number ->true : boolean +>"hello" : "hello" +>42 : 42 +>true : true diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types index f9d7c605f7f..23923ab7180 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types @@ -36,10 +36,10 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >f `abc${ 0 }def` : I >f : I >`abc${ 0 }def` : string ->0 : number +>0 : 0 >member : new (s: string) => new (n: number) => new () => boolean ->"hello" : string ->42 : number ->true : boolean +>"hello" : "hello" +>42 : 42 +>true : true diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt index 426eef8ce7f..e9c9e0ed6e0 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(12,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(13,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(14,9): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(19,20): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(19,20): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(21,9): error TS2346: Supplied parameters do not match any signature of call target. @@ -43,7 +43,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio var w = foo `${1}${2}`; // boolean var x = foo `${1}${true}`; // boolean (with error) ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. var y = foo `${1}${"2"}`; // {} var z = foo `${1}${2}${3}`; // any (with error) ~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt index 73adc0c0302..d7817e32ee0 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt @@ -5,7 +5,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(12,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(13,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(14,9): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(19,20): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(19,20): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(21,9): error TS2346: Supplied parameters do not match any signature of call target. @@ -43,7 +43,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio var w = foo `${1}${2}`; // boolean var x = foo `${1}${true}`; // boolean (with error) ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. var y = foo `${1}${"2"}`; // {} var z = foo `${1}${2}${3}`; // any (with error) ~~~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types index 3c35974ddec..38b2087ccbf 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types @@ -24,14 +24,14 @@ var a = foo1 `${1}`; >foo1 `${1}` : string >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >`${1}` : string ->1 : number +>1 : 1 var b = foo1([], 1); >b : number >foo1([], 1) : number >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >[] : undefined[] ->1 : number +>1 : 1 function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } @@ -57,12 +57,12 @@ var c = foo2 `${1}`; >foo2 `${1}` : string >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >`${1}` : string ->1 : number +>1 : 1 var d = foo2([], 1); >d : number >foo2([], 1) : number >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >[] : undefined[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types index 7faeec19c4a..41caabef752 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types @@ -23,14 +23,14 @@ var a = foo1 `${1}`; >foo1 `${1}` : string >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >`${1}` : string ->1 : number +>1 : 1 var b = foo1([], 1); >b : number >foo1([], 1) : number >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >[] : undefined[] ->1 : number +>1 : 1 function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } @@ -56,12 +56,12 @@ var c = foo2 `${1}`; >foo2 `${1}` : string >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >`${1}` : string ->1 : number +>1 : 1 var d = foo2([], 1); >d : number >foo2([], 1) : number >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >[] : undefined[] ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.errors.txt index 0d65c3fd13b..2248fee5ceb 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.errors.txt @@ -1,8 +1,8 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(10,9): error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(19,4): error TS2339: Property 'foo' does not exist on type 'Date'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(45,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(63,9): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(64,18): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(63,9): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(64,18): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3.ts(70,18): error TS2339: Property 'toFixed' does not exist on type 'string'. @@ -77,10 +77,10 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4 `${ true }${ null }`; ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. fn4 `${ null }${ true }`; ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.errors.txt index e65acdee835..7329ade1b64 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.errors.txt @@ -1,8 +1,8 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(9,9): error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(18,4): error TS2339: Property 'foo' does not exist on type 'Date'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(44,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(62,9): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(63,18): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(62,9): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(63,18): error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution3_ES6.ts(69,18): error TS2339: Property 'toFixed' does not exist on type 'string'. @@ -76,10 +76,10 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolutio // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4 `${ true }${ null }`; ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'. fn4 `${ null }${ true }`; ~~~~ -!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type 'true' is not assignable to parameter of type 'string'. // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.types b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.types index d1f56f387d6..b0accf616af 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclare.types @@ -11,5 +11,5 @@ declare `Hello ${0} world!`; >declare `Hello ${0} world!` : void >declare : (x: any, ...ys: any[]) => void >`Hello ${0} world!` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclareES6.types b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclareES6.types index e2274f82ff7..6e474bf3474 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclareES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTagNamedDeclareES6.types @@ -10,5 +10,5 @@ declare `Hello ${0} world!`; >declare `Hello ${0} world!` : void >declare : (x: any, ...ys: any[]) => void >`Hello ${0} world!` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js index fd83d9d0ba0..cd3d8ba6701 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.js @@ -39,4 +39,4 @@ var f; (_l = ["abc", "def", "ghi"], _l.raw = ["abc", "def", "ghi"], (_m = ["abc", "def", "ghi"], _m.raw = ["abc", "def", "ghi"], f(_m, 1, 2))["member"].someOtherTag(_l, 1, 2)); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; +var _a, _b, _c, _d, _e, _f, _g, _h, _k, _j, _m, _l; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.types b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.types index 0db2a3bb963..9e894240c93 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAny.types @@ -11,8 +11,8 @@ f `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.g.h `abc` >f.g.h `abc` : any @@ -31,8 +31,8 @@ f.g.h `abc${1}def${2}ghi`; >g : any >h : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc`.member >f `abc`.member : any @@ -46,8 +46,8 @@ f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 >member : any f `abc`["member"]; @@ -55,16 +55,16 @@ f `abc`["member"]; >f `abc` : any >f : any >`abc` : string ->"member" : string +>"member" : "member" f `abc${1}def${2}ghi`["member"]; >f `abc${1}def${2}ghi`["member"] : any >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" f `abc`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc`["member"].someOtherTag `abc${1}def${2}ghi` : any @@ -73,11 +73,11 @@ f `abc`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc` : any >f : any >`abc` : string ->"member" : string +>"member" : "member" >someOtherTag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi` : any @@ -86,13 +86,13 @@ f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" >someOtherTag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : any @@ -107,6 +107,6 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f : any >thisIsNotATag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAnyES6.types b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAnyES6.types index 1a6ffb5eba0..99bb10f3546 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAnyES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTagsTypedAsAnyES6.types @@ -11,8 +11,8 @@ f `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.g.h `abc` >f.g.h `abc` : any @@ -31,8 +31,8 @@ f.g.h `abc${1}def${2}ghi`; >g : any >h : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc`.member >f `abc`.member : any @@ -46,8 +46,8 @@ f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 >member : any f `abc`["member"]; @@ -55,16 +55,16 @@ f `abc`["member"]; >f `abc` : any >f : any >`abc` : string ->"member" : string +>"member" : "member" f `abc${1}def${2}ghi`["member"]; >f `abc${1}def${2}ghi`["member"] : any >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" f `abc`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc`["member"].someOtherTag `abc${1}def${2}ghi` : any @@ -73,11 +73,11 @@ f `abc`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc` : any >f : any >`abc` : string ->"member" : string +>"member" : "member" >someOtherTag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi` : any @@ -86,13 +86,13 @@ f `abc${1}def${2}ghi`["member"].someOtherTag `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : any >f : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" >someOtherTag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : any @@ -107,6 +107,6 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f : any >thisIsNotATag : any >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt index 88bfac23211..6da8d2ffce3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts(6,31): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts(6,31): error TS2322: Type '"bad"' is not assignable to type 'number'. ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts (1 errors) ==== @@ -9,4 +9,4 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFuncti foo `${function (x: number) { x = "bad"; } }`; ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type '"bad"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt index 6b0f4b642ff..c1d18cd6f91 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts(5,31): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts(5,31): error TS2322: Type '"bad"' is not assignable to type 'number'. ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts (1 errors) ==== @@ -8,4 +8,4 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypeErrorInFuncti foo `${function (x: number) { x = "bad"; } }`; ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type '"bad"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js index d011c3048a7..5f3409a1e58 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js @@ -43,4 +43,4 @@ var f; (_j = ["abc", "def", "ghi"], _j.raw = ["abc", "def", "ghi"], (_k = ["abc", "def", "ghi"], _k.raw = ["abc", "def", "ghi"], f(_k, 1, 2))["member"].member(_j, 1, 2)); f.thisIsNotATag("abc"); f.thisIsNotATag("abc" + 1 + "def" + 2 + "ghi"); -var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; +var _a, _b, _c, _d, _e, _f, _h, _g, _k, _j; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types index c7c521154c7..69b9368f765 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types @@ -42,8 +42,8 @@ f `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc`.member >f `abc`.member : I @@ -57,8 +57,8 @@ f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 >member : I f `abc`["member"]; @@ -66,16 +66,16 @@ f `abc`["member"]; >f `abc` : I >f : I >`abc` : string ->"member" : string +>"member" : "member" f `abc${1}def${2}ghi`["member"]; >f `abc${1}def${2}ghi`["member"] : I >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member `abc${1}def${2}ghi` : I @@ -84,11 +84,11 @@ f `abc`[0].member `abc${1}def${2}ghi`; >f `abc` : I >f : I >`abc` : string ->0 : number +>0 : 0 >member : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : I @@ -97,13 +97,13 @@ f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" >member : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void @@ -118,6 +118,6 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f : I >thisIsNotATag : (x: string) => void >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types index bf45144c329..97e2f011ca6 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types @@ -42,8 +42,8 @@ f `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc`.member >f `abc`.member : I @@ -57,8 +57,8 @@ f `abc${1}def${2}ghi`.member; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 >member : I f `abc`["member"]; @@ -66,16 +66,16 @@ f `abc`["member"]; >f `abc` : I >f : I >`abc` : string ->"member" : string +>"member" : "member" f `abc${1}def${2}ghi`["member"]; >f `abc${1}def${2}ghi`["member"] : I >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member `abc${1}def${2}ghi` : I @@ -84,11 +84,11 @@ f `abc`[0].member `abc${1}def${2}ghi`; >f `abc` : I >f : I >`abc` : string ->0 : number +>0 : 0 >member : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : I @@ -97,13 +97,13 @@ f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; >f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number ->"member" : string +>1 : 1 +>2 : 2 +>"member" : "member" >member : I >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void @@ -118,6 +118,6 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f : I >thisIsNotATag : (x: string) => void >`abc${1}def${2}ghi` : string ->1 : number ->2 : number +>1 : 1 +>2 : 2 diff --git a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.types b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.types index 7b09b5c5746..4b9b447d32a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.types +++ b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapes.types @@ -8,5 +8,5 @@ f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'`; >f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'` : void >f : (...args: any[]) => void >`'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'` : string ->" should be converted to " : string +>" should be converted to " : " should be converted to " diff --git a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapesES6.types b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapesES6.types index ad4c5cc67a9..36a298c5a38 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapesES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithUnicodeEscapesES6.types @@ -8,5 +8,5 @@ f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'`; >f `'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'` : void >f : (...args: any[]) => void >`'\u{1f4a9}'${ " should be converted to " }'\uD83D\uDCA9'` : string ->" should be converted to " : string +>" should be converted to " : " should be converted to " diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.js b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js new file mode 100644 index 00000000000..e0d16eec39d --- /dev/null +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.js @@ -0,0 +1,8 @@ +//// [taggedTemplateUntypedTagCall01.ts] +var tag: Function; +tag `Hello world!`; + +//// [taggedTemplateUntypedTagCall01.js] +var tag; +(_a = ["Hello world!"], _a.raw = ["Hello world!"], tag(_a)); +var _a; diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols b/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols new file mode 100644 index 00000000000..07af0a996e5 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.symbols @@ -0,0 +1,8 @@ +=== 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, --, --)) + +tag `Hello world!`; +>tag : Symbol(tag, Decl(taggedTemplateUntypedTagCall01.ts, 0, 3)) + diff --git a/tests/baselines/reference/taggedTemplateUntypedTagCall01.types b/tests/baselines/reference/taggedTemplateUntypedTagCall01.types new file mode 100644 index 00000000000..3949869550c --- /dev/null +++ b/tests/baselines/reference/taggedTemplateUntypedTagCall01.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/es6/templates/taggedTemplateUntypedTagCall01.ts === +var tag: Function; +>tag : Function +>Function : Function + +tag `Hello world!`; +>tag `Hello world!` : any +>tag : Function +>`Hello world!` : string + diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.errors.txt b/tests/baselines/reference/taggedTemplateWithConstructableTag01.errors.txt new file mode 100644 index 00000000000..b114acc5277 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag01.ts(3,1): error TS2349: Cannot invoke an expression whose type lacks a call signature. + + +==== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag01.ts (1 errors) ==== + class CtorTag { } + + CtorTag `Hello world!`; + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2349: Cannot invoke an expression whose type lacks a call signature. \ No newline at end of file diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.js b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js new file mode 100644 index 00000000000..dbcb70edf00 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.js @@ -0,0 +1,13 @@ +//// [taggedTemplateWithConstructableTag01.ts] +class CtorTag { } + +CtorTag `Hello world!`; + +//// [taggedTemplateWithConstructableTag01.js] +var CtorTag = (function () { + function CtorTag() { + } + return CtorTag; +}()); +(_a = ["Hello world!"], _a.raw = ["Hello world!"], CtorTag(_a)); +var _a; diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.symbols b/tests/baselines/reference/taggedTemplateWithConstructableTag01.symbols new file mode 100644 index 00000000000..340d5887808 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag01.ts === +class CtorTag { } +>CtorTag : Symbol(CtorTag, Decl(taggedTemplateWithConstructableTag01.ts, 0, 0)) + +CtorTag `Hello world!`; +>CtorTag : Symbol(CtorTag, Decl(taggedTemplateWithConstructableTag01.ts, 0, 0)) + diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag01.types b/tests/baselines/reference/taggedTemplateWithConstructableTag01.types new file mode 100644 index 00000000000..05e5aba7cde --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag01.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag01.ts === +class CtorTag { } +>CtorTag : CtorTag + +CtorTag `Hello world!`; +>CtorTag `Hello world!` : any +>CtorTag : typeof CtorTag +>`Hello world!` : string + diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt b/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt new file mode 100644 index 00000000000..9bc4414b24f --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts(6,1): error TS2349: Cannot invoke an expression whose type lacks a call signature. + + +==== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts (1 errors) ==== + interface I { + new (...args: any[]): string; + new (): number; + } + var tag: I; + tag `Hello world!`; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2349: Cannot invoke an expression whose type lacks a call signature. \ No newline at end of file diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.js b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js new file mode 100644 index 00000000000..6c38d508bd2 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.js @@ -0,0 +1,12 @@ +//// [taggedTemplateWithConstructableTag02.ts] +interface I { + new (...args: any[]): string; + new (): number; +} +var tag: I; +tag `Hello world!`; + +//// [taggedTemplateWithConstructableTag02.js] +var tag; +(_a = ["Hello world!"], _a.raw = ["Hello world!"], tag(_a)); +var _a; diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols b/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols new file mode 100644 index 00000000000..2b2ccdbcbcf --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts === +interface I { +>I : Symbol(I, Decl(taggedTemplateWithConstructableTag02.ts, 0, 0)) + + new (...args: any[]): string; +>args : Symbol(args, Decl(taggedTemplateWithConstructableTag02.ts, 1, 9)) + + new (): number; +} +var tag: I; +>tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 3)) +>I : Symbol(I, Decl(taggedTemplateWithConstructableTag02.ts, 0, 0)) + +tag `Hello world!`; +>tag : Symbol(tag, Decl(taggedTemplateWithConstructableTag02.ts, 4, 3)) + diff --git a/tests/baselines/reference/taggedTemplateWithConstructableTag02.types b/tests/baselines/reference/taggedTemplateWithConstructableTag02.types new file mode 100644 index 00000000000..1b96c3324dd --- /dev/null +++ b/tests/baselines/reference/taggedTemplateWithConstructableTag02.types @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/templates/taggedTemplateWithConstructableTag02.ts === +interface I { +>I : I + + new (...args: any[]): string; +>args : any[] + + new (): number; +} +var tag: I; +>tag : I +>I : I + +tag `Hello world!`; +>tag `Hello world!` : any +>tag : I +>`Hello world!` : string + diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.errors.txt b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.errors.txt index 33d93b43f13..ca306a8ad8b 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.errors.txt +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts(6,18): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts(6,18): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts(6,23): error TS1109: Expression expected. @@ -10,6 +10,6 @@ tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions3.ts(6,23): // Incomplete call, not enough parameters. f `123qdawdrqw${ 1 }${ ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.errors.txt b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.errors.txt index c577896aec7..a5d3f132b69 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.errors.txt +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts(6,18): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts(6,18): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts(6,23): error TS1109: Expression expected. @@ -10,6 +10,6 @@ tests/cases/compiler/taggedTemplatesWithIncompleteTemplateExpressions6.ts(6,23): // Incomplete call, not enough parameters, at EOF. f `123qdawdrqw${ 1 }${ ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/targetTypeArgs.types b/tests/baselines/reference/targetTypeArgs.types index cda814d52c5..84985316aa2 100644 --- a/tests/baselines/reference/targetTypeArgs.types +++ b/tests/baselines/reference/targetTypeArgs.types @@ -7,7 +7,7 @@ function foo(callback: (x: string) => void) { callback("hello"); >callback("hello") : void >callback : (x: string) => void ->"hello" : string +>"hello" : "hello" } foo(function(x) { x }); @@ -21,7 +21,7 @@ foo(function(x) { x }); >[1].forEach(function(v,i,a) { v }) : void >[1].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void >[1] : number[] ->1 : number +>1 : 1 >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void >function(v,i,a) { v } : (v: number, i: number, a: number[]) => void >v : number @@ -33,55 +33,55 @@ foo(function(x) { x }); >["hello"].every(function(v,i,a) {return true;}) : boolean >["hello"].every : (callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any) => boolean >["hello"] : string[] ->"hello" : string +>"hello" : "hello" >every : (callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any) => boolean ->function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => boolean +>function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true >v : string >i : number >a : string[] ->true : boolean +>true : true [1].every(function(v,i,a) {return true;}); >[1].every(function(v,i,a) {return true;}) : boolean >[1].every : (callbackfn: (value: number, index: number, array: number[]) => boolean, thisArg?: any) => boolean >[1] : number[] ->1 : number +>1 : 1 >every : (callbackfn: (value: number, index: number, array: number[]) => boolean, thisArg?: any) => boolean ->function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => boolean +>function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true >v : number >i : number >a : number[] ->true : boolean +>true : true [1].every(function(v,i,a) {return true;}); >[1].every(function(v,i,a) {return true;}) : boolean >[1].every : (callbackfn: (value: number, index: number, array: number[]) => boolean, thisArg?: any) => boolean >[1] : number[] ->1 : number +>1 : 1 >every : (callbackfn: (value: number, index: number, array: number[]) => boolean, thisArg?: any) => boolean ->function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => boolean +>function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true >v : number >i : number >a : number[] ->true : boolean +>true : true ["s"].every(function(v,i,a) {return true;}); >["s"].every(function(v,i,a) {return true;}) : boolean >["s"].every : (callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any) => boolean >["s"] : string[] ->"s" : string +>"s" : "s" >every : (callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any) => boolean ->function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => boolean +>function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true >v : string >i : number >a : string[] ->true : boolean +>true : true ["s"].forEach(function(v,i,a) { v }); >["s"].forEach(function(v,i,a) { v }) : void >["s"].forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void >["s"] : string[] ->"s" : string +>"s" : "s" >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void >function(v,i,a) { v } : (v: string, i: number, a: string[]) => void >v : string diff --git a/tests/baselines/reference/targetTypeBaseCalls.errors.txt b/tests/baselines/reference/targetTypeBaseCalls.errors.txt index 37a00c9798d..0ff253d1389 100644 --- a/tests/baselines/reference/targetTypeBaseCalls.errors.txt +++ b/tests/baselines/reference/targetTypeBaseCalls.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/targetTypeBaseCalls.ts(9,19): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/targetTypeBaseCalls.ts(13,23): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/compiler/targetTypeBaseCalls.ts(17,61): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/targetTypeBaseCalls.ts(9,19): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/targetTypeBaseCalls.ts(13,23): error TS2322: Type '5' is not assignable to type 'string'. +tests/cases/compiler/targetTypeBaseCalls.ts(17,61): error TS2322: Type '5' is not assignable to type 'string'. ==== tests/cases/compiler/targetTypeBaseCalls.ts (3 errors) ==== @@ -14,17 +14,17 @@ tests/cases/compiler/targetTypeBaseCalls.ts(17,61): error TS2322: Type 'number' foo(function(s) { s = 5 }); // Error, can’t assign number to string ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. new Foo(function(s) { s = 5 }); // error, if types are applied correctly ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. class Bar extends Foo { constructor() { super(function(s) { s = 5 }) } } // error, if types are applied correctly ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '5' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/targetTypeCalls.types b/tests/baselines/reference/targetTypeCalls.types index 6e9c1ca190d..1ceb86a3a09 100644 --- a/tests/baselines/reference/targetTypeCalls.types +++ b/tests/baselines/reference/targetTypeCalls.types @@ -14,7 +14,7 @@ var fra2: (v:any)=>number = function() { return function () { return 0; } }() // >function() { return function () { return 0; } }() : () => number >function() { return function () { return 0; } } : () => () => number >function () { return 0; } : () => number ->0 : number +>0 : 0 var fra3: (v:any)=>string = function() { return function() { return function(v) {return v;};}(); }() // should work >fra3 : (v: any) => string diff --git a/tests/baselines/reference/targetTypeObjectLiteral.types b/tests/baselines/reference/targetTypeObjectLiteral.types index 8f77c11f7b6..5f80a01bf0c 100644 --- a/tests/baselines/reference/targetTypeObjectLiteral.types +++ b/tests/baselines/reference/targetTypeObjectLiteral.types @@ -8,7 +8,7 @@ var z: { x: number; y: (w:string)=>number;} = { x: 12, >x : number ->12 : number +>12 : 12 y: function(w) { >y : (w: string) => number @@ -16,7 +16,7 @@ var z: { x: number; y: (w:string)=>number;} = { >w : string return 0; ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/targetTypeObjectLiteralToAny.types b/tests/baselines/reference/targetTypeObjectLiteralToAny.types index b6bd1e91051..1dd81b33603 100644 --- a/tests/baselines/reference/targetTypeObjectLiteralToAny.types +++ b/tests/baselines/reference/targetTypeObjectLiteralToAny.types @@ -25,7 +25,7 @@ function suggest(){ >text : string >keyword : string >type : string ->"keyword" : string +>"keyword" : "keyword" }); } diff --git a/tests/baselines/reference/targetTypeTest2.types b/tests/baselines/reference/targetTypeTest2.types index 53381b9de43..d3a4bc66dbb 100644 --- a/tests/baselines/reference/targetTypeTest2.types +++ b/tests/baselines/reference/targetTypeTest2.types @@ -4,10 +4,10 @@ var a : any[] = [1,2,"3"]; >a : any[] ->[1,2,"3"] : (number | string)[] ->1 : number ->2 : number ->"3" : string +>[1,2,"3"] : (string | number)[] +>1 : 1 +>2 : 2 +>"3" : "3" function func1(stuff:any[]) { return stuff; } diff --git a/tests/baselines/reference/targetTypeTest3.errors.txt b/tests/baselines/reference/targetTypeTest3.errors.txt index 935a9b9e68e..f5dab732ed3 100644 --- a/tests/baselines/reference/targetTypeTest3.errors.txt +++ b/tests/baselines/reference/targetTypeTest3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/targetTypeTest3.ts(4,5): error TS2322: Type '(number | string)[]' is not assignable to type 'string[]'. - Type 'number | string' is not assignable to type 'string'. +tests/cases/compiler/targetTypeTest3.ts(4,5): error TS2322: Type '(string | number)[]' is not assignable to type 'string[]'. + Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. @@ -9,8 +9,8 @@ tests/cases/compiler/targetTypeTest3.ts(4,5): error TS2322: Type '(number | stri var a : string[] = [1,2,"3"]; // should produce an error ~ -!!! error TS2322: Type '(number | string)[]' is not assignable to type 'string[]'. -!!! error TS2322: Type 'number | string' is not assignable to type 'string'. +!!! error TS2322: Type '(string | number)[]' is not assignable to type 'string[]'. +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/templateStringBinaryOperations.js b/tests/baselines/reference/templateStringBinaryOperations.js index 691dad41f77..74093775b98 100644 --- a/tests/baselines/reference/templateStringBinaryOperations.js +++ b/tests/baselines/reference/templateStringBinaryOperations.js @@ -57,34 +57,34 @@ var a = 1 + ("" + 3); var b = 1 + ("2" + 3); var c = 1 + (3 + "4"); var d = 1 + ("2" + 3 + "4"); -var e = ("" + 3) + 5; -var f = ("2" + 3) + 5; -var g = (3 + "4") + 5; -var h = ("2" + 3 + "4") + 5; +var e = "" + 3 + 5; +var f = "2" + 3 + 5; +var g = 3 + "4" + 5; +var h = "2" + 3 + "4" + 5; var i = 1 + ("" + 3) + 5; var j = 1 + ("2" + 3) + 5; var k = 1 + (3 + "4") + 5; var l = 1 + ("2" + 3 + "4") + 5; var a2 = 1 + ("" + (3 - 4)); var b2 = 1 + ("2" + (3 - 4)); -var c2 = 1 + ((3 - 4) + "5"); +var c2 = 1 + (3 - 4 + "5"); var d2 = 1 + ("2" + (3 - 4) + "5"); -var e2 = ("" + (3 - 4)) + 6; -var f2 = ("2" + (3 - 4)) + 6; -var g2 = ((3 - 4) + "5") + 6; -var h2 = ("2" + (3 - 4) + "5") + 6; +var e2 = "" + (3 - 4) + 6; +var f2 = "2" + (3 - 4) + 6; +var g2 = 3 - 4 + "5" + 6; +var h2 = "2" + (3 - 4) + "5" + 6; var i2 = 1 + ("" + (3 - 4)) + 6; var j2 = 1 + ("2" + (3 - 4)) + 6; -var k2 = 1 + ((3 - 4) + "5") + 6; +var k2 = 1 + (3 - 4 + "5") + 6; var l2 = 1 + ("2" + (3 - 4) + "5") + 6; var a3 = 1 + ("" + 3 * 4); var b3 = 1 + ("2" + 3 * 4); var c3 = 1 + (3 * 4 + "5"); var d3 = 1 + ("2" + 3 * 4 + "5"); -var e3 = ("" + 3 * 4) + 6; -var f3 = ("2" + 3 * 4) + 6; -var g3 = (3 * 4 + "5") + 6; -var h3 = ("2" + 3 * 4 + "5") + 6; +var e3 = "" + 3 * 4 + 6; +var f3 = "2" + 3 * 4 + 6; +var g3 = 3 * 4 + "5" + 6; +var h3 = "2" + 3 * 4 + "5" + 6; var i3 = 1 + ("" + 3 * 4) + 6; var j3 = 1 + ("2" + 3 * 4) + 6; var k3 = 1 + (3 * 4 + "5") + 6; @@ -93,10 +93,10 @@ var a4 = 1 + ("" + (3 & 4)); var b4 = 1 + ("2" + (3 & 4)); var c4 = 1 + ((3 & 4) + "5"); var d4 = 1 + ("2" + (3 & 4) + "5"); -var e4 = ("" + (3 & 4)) + 6; -var f4 = ("2" + (3 & 4)) + 6; -var g4 = ((3 & 4) + "5") + 6; -var h4 = ("2" + (3 & 4) + "5") + 6; +var e4 = "" + (3 & 4) + 6; +var f4 = "2" + (3 & 4) + 6; +var g4 = (3 & 4) + "5" + 6; +var h4 = "2" + (3 & 4) + "5" + 6; var i4 = 1 + ("" + (3 & 4)) + 6; var j4 = 1 + ("2" + (3 & 4)) + 6; var k4 = 1 + ((3 & 4) + "5") + 6; diff --git a/tests/baselines/reference/templateStringBinaryOperations.types b/tests/baselines/reference/templateStringBinaryOperations.types index d4b8c531ef4..01d306487ee 100644 --- a/tests/baselines/reference/templateStringBinaryOperations.types +++ b/tests/baselines/reference/templateStringBinaryOperations.types @@ -2,440 +2,440 @@ var a = 1 + `${ 3 }`; >a : string >1 + `${ 3 }` : string ->1 : number +>1 : 1 >`${ 3 }` : string ->3 : number +>3 : 3 var b = 1 + `2${ 3 }`; >b : string >1 + `2${ 3 }` : string ->1 : number +>1 : 1 >`2${ 3 }` : string ->3 : number +>3 : 3 var c = 1 + `${ 3 }4`; >c : string >1 + `${ 3 }4` : string ->1 : number +>1 : 1 >`${ 3 }4` : string ->3 : number +>3 : 3 var d = 1 + `2${ 3 }4`; >d : string >1 + `2${ 3 }4` : string ->1 : number +>1 : 1 >`2${ 3 }4` : string ->3 : number +>3 : 3 var e = `${ 3 }` + 5; >e : string >`${ 3 }` + 5 : string >`${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var f = `2${ 3 }` + 5; >f : string >`2${ 3 }` + 5 : string >`2${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var g = `${ 3 }4` + 5; >g : string >`${ 3 }4` + 5 : string >`${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var h = `2${ 3 }4` + 5; >h : string >`2${ 3 }4` + 5 : string >`2${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var i = 1 + `${ 3 }` + 5; >i : string >1 + `${ 3 }` + 5 : string >1 + `${ 3 }` : string ->1 : number +>1 : 1 >`${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var j = 1 + `2${ 3 }` + 5; >j : string >1 + `2${ 3 }` + 5 : string >1 + `2${ 3 }` : string ->1 : number +>1 : 1 >`2${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var k = 1 + `${ 3 }4` + 5; >k : string >1 + `${ 3 }4` + 5 : string >1 + `${ 3 }4` : string ->1 : number +>1 : 1 >`${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var l = 1 + `2${ 3 }4` + 5; >l : string >1 + `2${ 3 }4` + 5 : string >1 + `2${ 3 }4` : string ->1 : number +>1 : 1 >`2${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var a2 = 1 + `${ 3 - 4 }`; >a2 : string >1 + `${ 3 - 4 }` : string ->1 : number +>1 : 1 >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b2 = 1 + `2${ 3 - 4 }`; >b2 : string >1 + `2${ 3 - 4 }` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c2 = 1 + `${ 3 - 4 }5`; >c2 : string >1 + `${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d2 = 1 + `2${ 3 - 4 }5`; >d2 : string >1 + `2${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e2 = `${ 3 - 4 }` + 6; >e2 : string >`${ 3 - 4 }` + 6 : string >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f2 = `2${ 3 - 4 }` + 6; >f2 : string >`2${ 3 - 4 }` + 6 : string >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g2 = `${ 3 - 4 }5` + 6; >g2 : string >`${ 3 - 4 }5` + 6 : string >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h2 = `2${ 3 - 4 }5` + 6; >h2 : string >`2${ 3 - 4 }5` + 6 : string >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i2 = 1 + `${ 3 - 4 }` + 6; >i2 : string >1 + `${ 3 - 4 }` + 6 : string >1 + `${ 3 - 4 }` : string ->1 : number +>1 : 1 >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j2 = 1 + `2${ 3 - 4 }` + 6; >j2 : string >1 + `2${ 3 - 4 }` + 6 : string >1 + `2${ 3 - 4 }` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k2 = 1 + `${ 3 - 4 }5` + 6; >k2 : string >1 + `${ 3 - 4 }5` + 6 : string >1 + `${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l2 = 1 + `2${ 3 - 4 }5` + 6; >l2 : string >1 + `2${ 3 - 4 }5` + 6 : string >1 + `2${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var a3 = 1 + `${ 3 * 4 }`; >a3 : string >1 + `${ 3 * 4 }` : string ->1 : number +>1 : 1 >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b3 = 1 + `2${ 3 * 4 }`; >b3 : string >1 + `2${ 3 * 4 }` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c3 = 1 + `${ 3 * 4 }5`; >c3 : string >1 + `${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d3 = 1 + `2${ 3 * 4 }5`; >d3 : string >1 + `2${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e3 = `${ 3 * 4 }` + 6; >e3 : string >`${ 3 * 4 }` + 6 : string >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f3 = `2${ 3 * 4 }` + 6; >f3 : string >`2${ 3 * 4 }` + 6 : string >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g3 = `${ 3 * 4 }5` + 6; >g3 : string >`${ 3 * 4 }5` + 6 : string >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h3 = `2${ 3 * 4 }5` + 6; >h3 : string >`2${ 3 * 4 }5` + 6 : string >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i3 = 1 + `${ 3 * 4 }` + 6; >i3 : string >1 + `${ 3 * 4 }` + 6 : string >1 + `${ 3 * 4 }` : string ->1 : number +>1 : 1 >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j3 = 1 + `2${ 3 * 4 }` + 6; >j3 : string >1 + `2${ 3 * 4 }` + 6 : string >1 + `2${ 3 * 4 }` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k3 = 1 + `${ 3 * 4 }5` + 6; >k3 : string >1 + `${ 3 * 4 }5` + 6 : string >1 + `${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l3 = 1 + `2${ 3 * 4 }5` + 6; >l3 : string >1 + `2${ 3 * 4 }5` + 6 : string >1 + `2${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var a4 = 1 + `${ 3 & 4 }`; >a4 : string >1 + `${ 3 & 4 }` : string ->1 : number +>1 : 1 >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b4 = 1 + `2${ 3 & 4 }`; >b4 : string >1 + `2${ 3 & 4 }` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c4 = 1 + `${ 3 & 4 }5`; >c4 : string >1 + `${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d4 = 1 + `2${ 3 & 4 }5`; >d4 : string >1 + `2${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e4 = `${ 3 & 4 }` + 6; >e4 : string >`${ 3 & 4 }` + 6 : string >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f4 = `2${ 3 & 4 }` + 6; >f4 : string >`2${ 3 & 4 }` + 6 : string >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g4 = `${ 3 & 4 }5` + 6; >g4 : string >`${ 3 & 4 }5` + 6 : string >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h4 = `2${ 3 & 4 }5` + 6; >h4 : string >`2${ 3 & 4 }5` + 6 : string >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i4 = 1 + `${ 3 & 4 }` + 6; >i4 : string >1 + `${ 3 & 4 }` + 6 : string >1 + `${ 3 & 4 }` : string ->1 : number +>1 : 1 >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j4 = 1 + `2${ 3 & 4 }` + 6; >j4 : string >1 + `2${ 3 & 4 }` + 6 : string >1 + `2${ 3 & 4 }` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k4 = 1 + `${ 3 & 4 }5` + 6; >k4 : string >1 + `${ 3 & 4 }5` + 6 : string >1 + `${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l4 = 1 + `2${ 3 & 4 }5` + 6; >l4 : string >1 + `2${ 3 & 4 }5` + 6 : string >1 + `2${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 diff --git a/tests/baselines/reference/templateStringBinaryOperationsES6.types b/tests/baselines/reference/templateStringBinaryOperationsES6.types index a20da835a81..0ac9775a655 100644 --- a/tests/baselines/reference/templateStringBinaryOperationsES6.types +++ b/tests/baselines/reference/templateStringBinaryOperationsES6.types @@ -2,440 +2,440 @@ var a = 1 + `${ 3 }`; >a : string >1 + `${ 3 }` : string ->1 : number +>1 : 1 >`${ 3 }` : string ->3 : number +>3 : 3 var b = 1 + `2${ 3 }`; >b : string >1 + `2${ 3 }` : string ->1 : number +>1 : 1 >`2${ 3 }` : string ->3 : number +>3 : 3 var c = 1 + `${ 3 }4`; >c : string >1 + `${ 3 }4` : string ->1 : number +>1 : 1 >`${ 3 }4` : string ->3 : number +>3 : 3 var d = 1 + `2${ 3 }4`; >d : string >1 + `2${ 3 }4` : string ->1 : number +>1 : 1 >`2${ 3 }4` : string ->3 : number +>3 : 3 var e = `${ 3 }` + 5; >e : string >`${ 3 }` + 5 : string >`${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var f = `2${ 3 }` + 5; >f : string >`2${ 3 }` + 5 : string >`2${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var g = `${ 3 }4` + 5; >g : string >`${ 3 }4` + 5 : string >`${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var h = `2${ 3 }4` + 5; >h : string >`2${ 3 }4` + 5 : string >`2${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var i = 1 + `${ 3 }` + 5; >i : string >1 + `${ 3 }` + 5 : string >1 + `${ 3 }` : string ->1 : number +>1 : 1 >`${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var j = 1 + `2${ 3 }` + 5; >j : string >1 + `2${ 3 }` + 5 : string >1 + `2${ 3 }` : string ->1 : number +>1 : 1 >`2${ 3 }` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var k = 1 + `${ 3 }4` + 5; >k : string >1 + `${ 3 }4` + 5 : string >1 + `${ 3 }4` : string ->1 : number +>1 : 1 >`${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var l = 1 + `2${ 3 }4` + 5; >l : string >1 + `2${ 3 }4` + 5 : string >1 + `2${ 3 }4` : string ->1 : number +>1 : 1 >`2${ 3 }4` : string ->3 : number ->5 : number +>3 : 3 +>5 : 5 var a2 = 1 + `${ 3 - 4 }`; >a2 : string >1 + `${ 3 - 4 }` : string ->1 : number +>1 : 1 >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b2 = 1 + `2${ 3 - 4 }`; >b2 : string >1 + `2${ 3 - 4 }` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c2 = 1 + `${ 3 - 4 }5`; >c2 : string >1 + `${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d2 = 1 + `2${ 3 - 4 }5`; >d2 : string >1 + `2${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e2 = `${ 3 - 4 }` + 6; >e2 : string >`${ 3 - 4 }` + 6 : string >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f2 = `2${ 3 - 4 }` + 6; >f2 : string >`2${ 3 - 4 }` + 6 : string >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g2 = `${ 3 - 4 }5` + 6; >g2 : string >`${ 3 - 4 }5` + 6 : string >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h2 = `2${ 3 - 4 }5` + 6; >h2 : string >`2${ 3 - 4 }5` + 6 : string >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i2 = 1 + `${ 3 - 4 }` + 6; >i2 : string >1 + `${ 3 - 4 }` + 6 : string >1 + `${ 3 - 4 }` : string ->1 : number +>1 : 1 >`${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j2 = 1 + `2${ 3 - 4 }` + 6; >j2 : string >1 + `2${ 3 - 4 }` + 6 : string >1 + `2${ 3 - 4 }` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k2 = 1 + `${ 3 - 4 }5` + 6; >k2 : string >1 + `${ 3 - 4 }5` + 6 : string >1 + `${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l2 = 1 + `2${ 3 - 4 }5` + 6; >l2 : string >1 + `2${ 3 - 4 }5` + 6 : string >1 + `2${ 3 - 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 - 4 }5` : string >3 - 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var a3 = 1 + `${ 3 * 4 }`; >a3 : string >1 + `${ 3 * 4 }` : string ->1 : number +>1 : 1 >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b3 = 1 + `2${ 3 * 4 }`; >b3 : string >1 + `2${ 3 * 4 }` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c3 = 1 + `${ 3 * 4 }5`; >c3 : string >1 + `${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d3 = 1 + `2${ 3 * 4 }5`; >d3 : string >1 + `2${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e3 = `${ 3 * 4 }` + 6; >e3 : string >`${ 3 * 4 }` + 6 : string >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f3 = `2${ 3 * 4 }` + 6; >f3 : string >`2${ 3 * 4 }` + 6 : string >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g3 = `${ 3 * 4 }5` + 6; >g3 : string >`${ 3 * 4 }5` + 6 : string >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h3 = `2${ 3 * 4 }5` + 6; >h3 : string >`2${ 3 * 4 }5` + 6 : string >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i3 = 1 + `${ 3 * 4 }` + 6; >i3 : string >1 + `${ 3 * 4 }` + 6 : string >1 + `${ 3 * 4 }` : string ->1 : number +>1 : 1 >`${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j3 = 1 + `2${ 3 * 4 }` + 6; >j3 : string >1 + `2${ 3 * 4 }` + 6 : string >1 + `2${ 3 * 4 }` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k3 = 1 + `${ 3 * 4 }5` + 6; >k3 : string >1 + `${ 3 * 4 }5` + 6 : string >1 + `${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l3 = 1 + `2${ 3 * 4 }5` + 6; >l3 : string >1 + `2${ 3 * 4 }5` + 6 : string >1 + `2${ 3 * 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 * 4 }5` : string >3 * 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var a4 = 1 + `${ 3 & 4 }`; >a4 : string >1 + `${ 3 & 4 }` : string ->1 : number +>1 : 1 >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var b4 = 1 + `2${ 3 & 4 }`; >b4 : string >1 + `2${ 3 & 4 }` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var c4 = 1 + `${ 3 & 4 }5`; >c4 : string >1 + `${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var d4 = 1 + `2${ 3 & 4 }5`; >d4 : string >1 + `2${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number +>3 : 3 +>4 : 4 var e4 = `${ 3 & 4 }` + 6; >e4 : string >`${ 3 & 4 }` + 6 : string >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var f4 = `2${ 3 & 4 }` + 6; >f4 : string >`2${ 3 & 4 }` + 6 : string >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var g4 = `${ 3 & 4 }5` + 6; >g4 : string >`${ 3 & 4 }5` + 6 : string >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var h4 = `2${ 3 & 4 }5` + 6; >h4 : string >`2${ 3 & 4 }5` + 6 : string >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var i4 = 1 + `${ 3 & 4 }` + 6; >i4 : string >1 + `${ 3 & 4 }` + 6 : string >1 + `${ 3 & 4 }` : string ->1 : number +>1 : 1 >`${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var j4 = 1 + `2${ 3 & 4 }` + 6; >j4 : string >1 + `2${ 3 & 4 }` + 6 : string >1 + `2${ 3 & 4 }` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var k4 = 1 + `${ 3 & 4 }5` + 6; >k4 : string >1 + `${ 3 & 4 }5` + 6 : string >1 + `${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 var l4 = 1 + `2${ 3 & 4 }5` + 6; >l4 : string >1 + `2${ 3 & 4 }5` + 6 : string >1 + `2${ 3 & 4 }5` : string ->1 : number +>1 : 1 >`2${ 3 & 4 }5` : string >3 & 4 : number ->3 : number ->4 : number ->6 : number +>3 : 3 +>4 : 4 +>6 : 6 diff --git a/tests/baselines/reference/templateStringBinaryOperationsInvalid.js b/tests/baselines/reference/templateStringBinaryOperationsInvalid.js index f8c0344f44b..e6c288f1b54 100644 --- a/tests/baselines/reference/templateStringBinaryOperationsInvalid.js +++ b/tests/baselines/reference/templateStringBinaryOperationsInvalid.js @@ -113,10 +113,10 @@ var a = 1 - ("" + 3); var b = 1 - ("2" + 3); var c = 1 - (3 + "4"); var d = 1 - ("2" + 3 + "4"); -var e = ("" + 3) - 5; -var f = ("2" + 3) - 5; -var g = (3 + "4") - 5; -var h = ("2" + 3 + "4") - 5; +var e = "" + 3 - 5; +var f = "2" + 3 - 5; +var g = 3 + "4" - 5; +var h = "2" + 3 + "4" - 5; var a2 = 1 * ("" + 3); var b2 = 1 * ("2" + 3); var c2 = 1 * (3 + "4"); @@ -135,35 +135,35 @@ var g3 = 3 + "4" & 5; var h3 = "2" + 3 + "4" & 5; var a4 = 1 - ("" + (3 - 4)); var b4 = 1 - ("2" + (3 - 4)); -var c4 = 1 - ((3 - 4) + "5"); +var c4 = 1 - (3 - 4 + "5"); var d4 = 1 - ("2" + (3 - 4) + "5"); -var e4 = ("" + (3 - 4)) - 6; -var f4 = ("2" + (3 - 4)) - 6; -var g4 = ((3 - 4) + "5") - 6; -var h4 = ("2" + (3 - 4) + "5") - 6; +var e4 = "" + (3 - 4) - 6; +var f4 = "2" + (3 - 4) - 6; +var g4 = 3 - 4 + "5" - 6; +var h4 = "2" + (3 - 4) + "5" - 6; var a5 = 1 - ("" + 3 * 4); var b5 = 1 - ("2" + 3 * 4); var c5 = 1 - (3 * 4 + "5"); var d5 = 1 - ("2" + 3 * 4 + "5"); -var e5 = ("" + 3 * 4) - 6; -var f5 = ("2" + 3 * 4) - 6; -var g5 = (3 * 4 + "5") - 6; -var h5 = ("2" + 3 * 4 + "5") - 6; +var e5 = "" + 3 * 4 - 6; +var f5 = "2" + 3 * 4 - 6; +var g5 = 3 * 4 + "5" - 6; +var h5 = "2" + 3 * 4 + "5" - 6; var a6 = 1 - ("" + (3 & 4)); var b6 = 1 - ("2" + (3 & 4)); var c6 = 1 - ((3 & 4) + "5"); var d6 = 1 - ("2" + (3 & 4) + "5"); -var e6 = ("" + (3 & 4)) - 6; -var f6 = ("2" + (3 & 4)) - 6; -var g6 = ((3 & 4) + "5") - 6; -var h6 = ("2" + (3 & 4) + "5") - 6; +var e6 = "" + (3 & 4) - 6; +var f6 = "2" + (3 & 4) - 6; +var g6 = (3 & 4) + "5" - 6; +var h6 = "2" + (3 & 4) + "5" - 6; var a7 = 1 * ("" + (3 - 4)); var b7 = 1 * ("2" + (3 - 4)); -var c7 = 1 * ((3 - 4) + "5"); +var c7 = 1 * (3 - 4 + "5"); var d7 = 1 * ("2" + (3 - 4) + "5"); var e7 = ("" + (3 - 4)) * 6; var f7 = ("2" + (3 - 4)) * 6; -var g7 = ((3 - 4) + "5") * 6; +var g7 = (3 - 4 + "5") * 6; var h7 = ("2" + (3 - 4) + "5") * 6; var a8 = 1 * ("" + 3 * 4); var b8 = 1 * ("2" + 3 * 4); @@ -183,11 +183,11 @@ var g9 = ((3 & 4) + "5") * 6; var h9 = ("2" + (3 & 4) + "5") * 6; var aa = 1 & "" + (3 - 4); var ba = 1 & "2" + (3 - 4); -var ca = 1 & (3 - 4) + "5"; +var ca = 1 & 3 - 4 + "5"; var da = 1 & "2" + (3 - 4) + "5"; var ea = "" + (3 - 4) & 6; var fa = "2" + (3 - 4) & 6; -var ga = (3 - 4) + "5" & 6; +var ga = 3 - 4 + "5" & 6; var ha = "2" + (3 - 4) + "5" & 6; var ab = 1 & "" + 3 * 4; var bb = 1 & "2" + 3 * 4; diff --git a/tests/baselines/reference/templateStringInArray.js b/tests/baselines/reference/templateStringInArray.js index 97d0b1a636b..7b387ae8e74 100644 --- a/tests/baselines/reference/templateStringInArray.js +++ b/tests/baselines/reference/templateStringInArray.js @@ -2,4 +2,4 @@ var x = [1, 2, `abc${ 123 }def`]; //// [templateStringInArray.js] -var x = [1, 2, ("abc" + 123 + "def")]; +var x = [1, 2, "abc" + 123 + "def"]; diff --git a/tests/baselines/reference/templateStringInArray.types b/tests/baselines/reference/templateStringInArray.types index aec30c02e00..03271a5dcd7 100644 --- a/tests/baselines/reference/templateStringInArray.types +++ b/tests/baselines/reference/templateStringInArray.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/templates/templateStringInArray.ts === var x = [1, 2, `abc${ 123 }def`]; ->x : (number | string)[] ->[1, 2, `abc${ 123 }def`] : (number | string)[] ->1 : number ->2 : number +>x : (string | number)[] +>[1, 2, `abc${ 123 }def`] : (string | number)[] +>1 : 1 +>2 : 2 >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInArrowFunction.js b/tests/baselines/reference/templateStringInArrowFunction.js index 4c4890633e1..3e72edf031f 100644 --- a/tests/baselines/reference/templateStringInArrowFunction.js +++ b/tests/baselines/reference/templateStringInArrowFunction.js @@ -2,4 +2,4 @@ var x = x => `abc${ x }def`; //// [templateStringInArrowFunction.js] -var x = function (x) { return ("abc" + x + "def"); }; +var x = function (x) { return "abc" + x + "def"; }; diff --git a/tests/baselines/reference/templateStringInConditional.types b/tests/baselines/reference/templateStringInConditional.types index bb5de339533..a375d572a5d 100644 --- a/tests/baselines/reference/templateStringInConditional.types +++ b/tests/baselines/reference/templateStringInConditional.types @@ -3,9 +3,9 @@ var x = `abc${ " " }def` ? `abc${ " " }def` : `abc${ " " }def`; >x : string >`abc${ " " }def` ? `abc${ " " }def` : `abc${ " " }def` : string >`abc${ " " }def` : string ->" " : string +>" " : " " >`abc${ " " }def` : string ->" " : string +>" " : " " >`abc${ " " }def` : string ->" " : string +>" " : " " diff --git a/tests/baselines/reference/templateStringInConditionalES6.types b/tests/baselines/reference/templateStringInConditionalES6.types index 060b81b2ab7..0f65ab22977 100644 --- a/tests/baselines/reference/templateStringInConditionalES6.types +++ b/tests/baselines/reference/templateStringInConditionalES6.types @@ -3,9 +3,9 @@ var x = `abc${ " " }def` ? `abc${ " " }def` : `abc${ " " }def`; >x : string >`abc${ " " }def` ? `abc${ " " }def` : `abc${ " " }def` : string >`abc${ " " }def` : string ->" " : string +>" " : " " >`abc${ " " }def` : string ->" " : string +>" " : " " >`abc${ " " }def` : string ->" " : string +>" " : " " diff --git a/tests/baselines/reference/templateStringInDeleteExpression.types b/tests/baselines/reference/templateStringInDeleteExpression.types index ff950555fb9..1ae84e4e2ff 100644 --- a/tests/baselines/reference/templateStringInDeleteExpression.types +++ b/tests/baselines/reference/templateStringInDeleteExpression.types @@ -2,5 +2,5 @@ delete `abc${0}abc`; >delete `abc${0}abc` : boolean >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInDeleteExpressionES6.types b/tests/baselines/reference/templateStringInDeleteExpressionES6.types index a182754dc68..80569e533e4 100644 --- a/tests/baselines/reference/templateStringInDeleteExpressionES6.types +++ b/tests/baselines/reference/templateStringInDeleteExpressionES6.types @@ -2,5 +2,5 @@ delete `abc${0}abc`; >delete `abc${0}abc` : boolean >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInEqualityChecks.types b/tests/baselines/reference/templateStringInEqualityChecks.types index 51a450e5245..dd78aa131d4 100644 --- a/tests/baselines/reference/templateStringInEqualityChecks.types +++ b/tests/baselines/reference/templateStringInEqualityChecks.types @@ -4,7 +4,7 @@ var x = `abc${0}abc` === `abc` || >`abc${0}abc` === `abc` || `abc` !== `abc${0}abc` && `abc${0}abc` == "abc0abc" && "abc0abc" !== `abc${0}abc` : boolean >`abc${0}abc` === `abc` : boolean >`abc${0}abc` : string ->0 : number +>0 : 0 >`abc` : string `abc` !== `abc${0}abc` && @@ -13,17 +13,17 @@ var x = `abc${0}abc` === `abc` || >`abc` !== `abc${0}abc` : boolean >`abc` : string >`abc${0}abc` : string ->0 : number +>0 : 0 `abc${0}abc` == "abc0abc" && >`abc${0}abc` == "abc0abc" : boolean >`abc${0}abc` : string ->0 : number ->"abc0abc" : string +>0 : 0 +>"abc0abc" : "abc0abc" "abc0abc" !== `abc${0}abc`; >"abc0abc" !== `abc${0}abc` : boolean ->"abc0abc" : string +>"abc0abc" : "abc0abc" >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInEqualityChecksES6.types b/tests/baselines/reference/templateStringInEqualityChecksES6.types index 37e5e4a8c28..b3ef2b89720 100644 --- a/tests/baselines/reference/templateStringInEqualityChecksES6.types +++ b/tests/baselines/reference/templateStringInEqualityChecksES6.types @@ -4,7 +4,7 @@ var x = `abc${0}abc` === `abc` || >`abc${0}abc` === `abc` || `abc` !== `abc${0}abc` && `abc${0}abc` == "abc0abc" && "abc0abc" !== `abc${0}abc` : boolean >`abc${0}abc` === `abc` : boolean >`abc${0}abc` : string ->0 : number +>0 : 0 >`abc` : string `abc` !== `abc${0}abc` && @@ -13,17 +13,17 @@ var x = `abc${0}abc` === `abc` || >`abc` !== `abc${0}abc` : boolean >`abc` : string >`abc${0}abc` : string ->0 : number +>0 : 0 `abc${0}abc` == "abc0abc" && >`abc${0}abc` == "abc0abc" : boolean >`abc${0}abc` : string ->0 : number ->"abc0abc" : string +>0 : 0 +>"abc0abc" : "abc0abc" "abc0abc" !== `abc${0}abc`; >"abc0abc" !== `abc${0}abc` : boolean ->"abc0abc" : string +>"abc0abc" : "abc0abc" >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInFunctionExpression.types b/tests/baselines/reference/templateStringInFunctionExpression.types index 62e34b5fc2d..af92d867acd 100644 --- a/tests/baselines/reference/templateStringInFunctionExpression.types +++ b/tests/baselines/reference/templateStringInFunctionExpression.types @@ -6,10 +6,10 @@ var x = function y() { `abc${ 0 }def` >`abc${ 0 }def` : string ->0 : number +>0 : 0 return `abc${ 0 }def`; >`abc${ 0 }def` : string ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/templateStringInFunctionExpressionES6.types b/tests/baselines/reference/templateStringInFunctionExpressionES6.types index 268928125c5..2ab90b9e374 100644 --- a/tests/baselines/reference/templateStringInFunctionExpressionES6.types +++ b/tests/baselines/reference/templateStringInFunctionExpressionES6.types @@ -6,10 +6,10 @@ var x = function y() { `abc${ 0 }def` >`abc${ 0 }def` : string ->0 : number +>0 : 0 return `abc${ 0 }def`; >`abc${ 0 }def` : string ->0 : number +>0 : 0 }; diff --git a/tests/baselines/reference/templateStringInFunctionParameterType.js b/tests/baselines/reference/templateStringInFunctionParameterType.js index 4a4abeacd6d..a824a8ee91a 100644 --- a/tests/baselines/reference/templateStringInFunctionParameterType.js +++ b/tests/baselines/reference/templateStringInFunctionParameterType.js @@ -6,6 +6,7 @@ function f(x: string) { } //// [templateStringInFunctionParameterType.js] +function f() { } "hello"; ; function f(x) { diff --git a/tests/baselines/reference/templateStringInFunctionParameterTypeES6.js b/tests/baselines/reference/templateStringInFunctionParameterTypeES6.js index aa38f6b6be9..41742f6757d 100644 --- a/tests/baselines/reference/templateStringInFunctionParameterTypeES6.js +++ b/tests/baselines/reference/templateStringInFunctionParameterTypeES6.js @@ -6,6 +6,7 @@ function f(x: string) { } //// [templateStringInFunctionParameterTypeES6.js] +function f() { } `hello`; ; function f(x) { diff --git a/tests/baselines/reference/templateStringInInOperator.types b/tests/baselines/reference/templateStringInInOperator.types index 881f37221fe..5ed944af496 100644 --- a/tests/baselines/reference/templateStringInInOperator.types +++ b/tests/baselines/reference/templateStringInInOperator.types @@ -3,10 +3,10 @@ var x = `${ "hi" }` in { hi: 10, hello: 20}; >x : boolean >`${ "hi" }` in { hi: 10, hello: 20} : boolean >`${ "hi" }` : string ->"hi" : string +>"hi" : "hi" >{ hi: 10, hello: 20} : { hi: number; hello: number; } >hi : number ->10 : number +>10 : 10 >hello : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringInInOperatorES6.types b/tests/baselines/reference/templateStringInInOperatorES6.types index 4297338ba56..335b77380c2 100644 --- a/tests/baselines/reference/templateStringInInOperatorES6.types +++ b/tests/baselines/reference/templateStringInInOperatorES6.types @@ -3,10 +3,10 @@ var x = `${ "hi" }` in { hi: 10, hello: 20}; >x : boolean >`${ "hi" }` in { hi: 10, hello: 20} : boolean >`${ "hi" }` : string ->"hi" : string +>"hi" : "hi" >{ hi: 10, hello: 20} : { hi: number; hello: number; } >hi : number ->10 : number +>10 : 10 >hello : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringInIndexExpression.types b/tests/baselines/reference/templateStringInIndexExpression.types index ff5461158ab..b453c37f4c5 100644 --- a/tests/baselines/reference/templateStringInIndexExpression.types +++ b/tests/baselines/reference/templateStringInIndexExpression.types @@ -2,6 +2,6 @@ `abc${0}abc`[`0`]; >`abc${0}abc`[`0`] : any >`abc${0}abc` : string ->0 : number +>0 : 0 >`0` : string diff --git a/tests/baselines/reference/templateStringInIndexExpressionES6.types b/tests/baselines/reference/templateStringInIndexExpressionES6.types index 153bed9f97a..b7be602e893 100644 --- a/tests/baselines/reference/templateStringInIndexExpressionES6.types +++ b/tests/baselines/reference/templateStringInIndexExpressionES6.types @@ -2,6 +2,6 @@ `abc${0}abc`[`0`]; >`abc${0}abc`[`0`] : any >`abc${0}abc` : string ->0 : number +>0 : 0 >`0` : string diff --git a/tests/baselines/reference/templateStringInObjectLiteral.js b/tests/baselines/reference/templateStringInObjectLiteral.js index 2e4de70f57c..0381e9a95e7 100644 --- a/tests/baselines/reference/templateStringInObjectLiteral.js +++ b/tests/baselines/reference/templateStringInObjectLiteral.js @@ -5,7 +5,8 @@ var x = { } //// [templateStringInObjectLiteral.js] -var x = (_a = ["b"], _a.raw = ["b"], ({ - a: "abc" + 123 + "def" })(_a)); +var x = (_a = ["b"], _a.raw = ["b"], { + a: "abc" + 123 + "def" +}(_a)); 321; var _a; diff --git a/tests/baselines/reference/templateStringInObjectLiteralES6.js b/tests/baselines/reference/templateStringInObjectLiteralES6.js index 7de012185a9..22144e75247 100644 --- a/tests/baselines/reference/templateStringInObjectLiteralES6.js +++ b/tests/baselines/reference/templateStringInObjectLiteralES6.js @@ -6,5 +6,6 @@ var x = { //// [templateStringInObjectLiteralES6.js] var x = { - a: `abc${123}def`, } `b`; + a: `abc${123}def`, +} `b`; 321; diff --git a/tests/baselines/reference/templateStringInParentheses.types b/tests/baselines/reference/templateStringInParentheses.types index 29436a32d2a..ca9b328d5b5 100644 --- a/tests/baselines/reference/templateStringInParentheses.types +++ b/tests/baselines/reference/templateStringInParentheses.types @@ -3,5 +3,5 @@ var x = (`abc${0}abc`); >x : string >(`abc${0}abc`) : string >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInParenthesesES6.types b/tests/baselines/reference/templateStringInParenthesesES6.types index 0d4d89ef3a9..518ad880918 100644 --- a/tests/baselines/reference/templateStringInParenthesesES6.types +++ b/tests/baselines/reference/templateStringInParenthesesES6.types @@ -3,5 +3,5 @@ var x = (`abc${0}abc`); >x : string >(`abc${0}abc`) : string >`abc${0}abc` : string ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/templateStringInPropertyAssignment.types b/tests/baselines/reference/templateStringInPropertyAssignment.types index a8ba0351311..c47a921e941 100644 --- a/tests/baselines/reference/templateStringInPropertyAssignment.types +++ b/tests/baselines/reference/templateStringInPropertyAssignment.types @@ -6,6 +6,6 @@ var x = { a: `abc${ 123 }def${ 456 }ghi` >a : string >`abc${ 123 }def${ 456 }ghi` : string ->123 : number ->456 : number +>123 : 123 +>456 : 456 } diff --git a/tests/baselines/reference/templateStringInPropertyAssignmentES6.types b/tests/baselines/reference/templateStringInPropertyAssignmentES6.types index 5da8d9ac6f9..43a9e0f5507 100644 --- a/tests/baselines/reference/templateStringInPropertyAssignmentES6.types +++ b/tests/baselines/reference/templateStringInPropertyAssignmentES6.types @@ -6,6 +6,6 @@ var x = { a: `abc${ 123 }def${ 456 }ghi` >a : string >`abc${ 123 }def${ 456 }ghi` : string ->123 : number ->456 : number +>123 : 123 +>456 : 456 } diff --git a/tests/baselines/reference/templateStringInPropertyName1.js b/tests/baselines/reference/templateStringInPropertyName1.js index 18e35c475e3..239ba78d827 100644 --- a/tests/baselines/reference/templateStringInPropertyName1.js +++ b/tests/baselines/reference/templateStringInPropertyName1.js @@ -4,6 +4,6 @@ var x = { } //// [templateStringInPropertyName1.js] -var x = (_a = ["a"], _a.raw = ["a"], ({})(_a)); +var x = (_a = ["a"], _a.raw = ["a"], {}(_a)); 321; var _a; diff --git a/tests/baselines/reference/templateStringInPropertyName2.js b/tests/baselines/reference/templateStringInPropertyName2.js index 1a2995ca08f..8a71a6e30be 100644 --- a/tests/baselines/reference/templateStringInPropertyName2.js +++ b/tests/baselines/reference/templateStringInPropertyName2.js @@ -4,6 +4,6 @@ var x = { } //// [templateStringInPropertyName2.js] -var x = (_a = ["abc", "def", "ghi"], _a.raw = ["abc", "def", "ghi"], ({})(_a, 123, 456)); +var x = (_a = ["abc", "def", "ghi"], _a.raw = ["abc", "def", "ghi"], {}(_a, 123, 456)); 321; var _a; diff --git a/tests/baselines/reference/templateStringInSwitchAndCase.types b/tests/baselines/reference/templateStringInSwitchAndCase.types index 0949aa21fde..a0f8602167a 100644 --- a/tests/baselines/reference/templateStringInSwitchAndCase.types +++ b/tests/baselines/reference/templateStringInSwitchAndCase.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/templates/templateStringInSwitchAndCase.ts === switch (`abc${0}abc`) { >`abc${0}abc` : string ->0 : number +>0 : 0 case `abc`: >`abc` : string @@ -11,9 +11,9 @@ switch (`abc${0}abc`) { case `abc${0}abc`: >`abc${0}abc` : string ->0 : number +>0 : 0 `def${1}def`; >`def${1}def` : string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/templateStringInSwitchAndCaseES6.types b/tests/baselines/reference/templateStringInSwitchAndCaseES6.types index a9ba35c8599..0cde7e58756 100644 --- a/tests/baselines/reference/templateStringInSwitchAndCaseES6.types +++ b/tests/baselines/reference/templateStringInSwitchAndCaseES6.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/templates/templateStringInSwitchAndCaseES6.ts === switch (`abc${0}abc`) { >`abc${0}abc` : string ->0 : number +>0 : 0 case `abc`: >`abc` : string @@ -11,9 +11,9 @@ switch (`abc${0}abc`) { case `abc${0}abc`: >`abc${0}abc` : string ->0 : number +>0 : 0 `def${1}def`; >`def${1}def` : string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/templateStringInTypeAssertion.js b/tests/baselines/reference/templateStringInTypeAssertion.js index 94533248b6d..723e688d94b 100644 --- a/tests/baselines/reference/templateStringInTypeAssertion.js +++ b/tests/baselines/reference/templateStringInTypeAssertion.js @@ -2,4 +2,4 @@ var x = `abc${ 123 }def`; //// [templateStringInTypeAssertion.js] -var x = ("abc" + 123 + "def"); +var x = "abc" + 123 + "def"; diff --git a/tests/baselines/reference/templateStringInTypeAssertion.types b/tests/baselines/reference/templateStringInTypeAssertion.types index 73ed437adb3..c8950634a36 100644 --- a/tests/baselines/reference/templateStringInTypeAssertion.types +++ b/tests/baselines/reference/templateStringInTypeAssertion.types @@ -3,5 +3,5 @@ var x = `abc${ 123 }def`; >x : any >`abc${ 123 }def` : any >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInTypeAssertionES6.types b/tests/baselines/reference/templateStringInTypeAssertionES6.types index 26d4689f939..becccd73738 100644 --- a/tests/baselines/reference/templateStringInTypeAssertionES6.types +++ b/tests/baselines/reference/templateStringInTypeAssertionES6.types @@ -3,5 +3,5 @@ var x = `abc${ 123 }def`; >x : any >`abc${ 123 }def` : any >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInTypeOf.types b/tests/baselines/reference/templateStringInTypeOf.types index 550828b3a47..0d7d26a82b2 100644 --- a/tests/baselines/reference/templateStringInTypeOf.types +++ b/tests/baselines/reference/templateStringInTypeOf.types @@ -3,5 +3,5 @@ var x = typeof `abc${ 123 }def`; >x : string >typeof `abc${ 123 }def` : string >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInTypeOfES6.types b/tests/baselines/reference/templateStringInTypeOfES6.types index b04e37426a4..ad142d13fe5 100644 --- a/tests/baselines/reference/templateStringInTypeOfES6.types +++ b/tests/baselines/reference/templateStringInTypeOfES6.types @@ -3,5 +3,5 @@ var x = typeof `abc${ 123 }def`; >x : string >typeof `abc${ 123 }def` : string >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInUnaryPlus.types b/tests/baselines/reference/templateStringInUnaryPlus.types index bab86198433..aa2b4fe4f2d 100644 --- a/tests/baselines/reference/templateStringInUnaryPlus.types +++ b/tests/baselines/reference/templateStringInUnaryPlus.types @@ -3,5 +3,5 @@ var x = +`abc${ 123 }def`; >x : number >+`abc${ 123 }def` : number >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInUnaryPlusES6.types b/tests/baselines/reference/templateStringInUnaryPlusES6.types index d632e8e2965..8286fa8b6c1 100644 --- a/tests/baselines/reference/templateStringInUnaryPlusES6.types +++ b/tests/baselines/reference/templateStringInUnaryPlusES6.types @@ -3,5 +3,5 @@ var x = +`abc${ 123 }def`; >x : number >+`abc${ 123 }def` : number >`abc${ 123 }def` : string ->123 : number +>123 : 123 diff --git a/tests/baselines/reference/templateStringInWhile.types b/tests/baselines/reference/templateStringInWhile.types index fe4931455e2..c0914ee771c 100644 --- a/tests/baselines/reference/templateStringInWhile.types +++ b/tests/baselines/reference/templateStringInWhile.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/templates/templateStringInWhile.ts === while (`abc${0}abc`) { >`abc${0}abc` : string ->0 : number +>0 : 0 `def${1}def`; >`def${1}def` : string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/templateStringInWhileES6.types b/tests/baselines/reference/templateStringInWhileES6.types index ef2c3d02cae..29119d7f77e 100644 --- a/tests/baselines/reference/templateStringInWhileES6.types +++ b/tests/baselines/reference/templateStringInWhileES6.types @@ -1,9 +1,9 @@ === tests/cases/conformance/es6/templates/templateStringInWhileES6.ts === while (`abc${0}abc`) { >`abc${0}abc` : string ->0 : number +>0 : 0 `def${1}def`; >`def${1}def` : string ->1 : number +>1 : 1 } diff --git a/tests/baselines/reference/templateStringInYieldKeyword.js b/tests/baselines/reference/templateStringInYieldKeyword.js index 02ac42c723f..e23eaa17c9c 100644 --- a/tests/baselines/reference/templateStringInYieldKeyword.js +++ b/tests/baselines/reference/templateStringInYieldKeyword.js @@ -6,7 +6,7 @@ function* gen() { //// [templateStringInYieldKeyword.js] -function gen() { +function* gen() { // Once this is supported, the inner expression does not need to be parenthesized. var x = yield "abc" + x + "def"; } diff --git a/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02.types b/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02.types index e7cc81af06c..62d0190586a 100644 --- a/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02.types +++ b/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02.types @@ -3,33 +3,33 @@ `0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` >`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " diff --git a/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02_ES6.types b/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02_ES6.types index 9b91b5db72c..cf07cae5b93 100644 --- a/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02_ES6.types +++ b/tests/baselines/reference/templateStringPlainCharactersThatArePartsOfEscapes02_ES6.types @@ -2,33 +2,33 @@ `0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` >`0${ " " }1${ " " }2${ " " }3${ " " }4${ " " }5${ " " }6${ " " }7${ " " }8${ " " }9${ " " }10${ " " }11${ " " }12${ " " }13${ " " }14${ " " }15${ " " }16${ " " }17${ " " }18${ " " }19${ " " }20${ " " }2028${ " " }2029${ " " }0085${ " " }t${ " " }v${ " " }f${ " " }b${ " " }r${ " " }n` : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string ->" " : string +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " +>" " : " " diff --git a/tests/baselines/reference/templateStringWithEmbeddedAddition.types b/tests/baselines/reference/templateStringWithEmbeddedAddition.types index 02173dc026f..56bc197c377 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedAddition.types +++ b/tests/baselines/reference/templateStringWithEmbeddedAddition.types @@ -3,6 +3,6 @@ var x = `abc${ 10 + 10 }def`; >x : string >`abc${ 10 + 10 }def` : string >10 + 10 : number ->10 : number ->10 : number +>10 : 10 +>10 : 10 diff --git a/tests/baselines/reference/templateStringWithEmbeddedAdditionES6.types b/tests/baselines/reference/templateStringWithEmbeddedAdditionES6.types index ec33cee95f1..6ee46c39f57 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedAdditionES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedAdditionES6.types @@ -3,6 +3,6 @@ var x = `abc${ 10 + 10 }def`; >x : string >`abc${ 10 + 10 }def` : string >10 + 10 : number ->10 : number ->10 : number +>10 : 10 +>10 : 10 diff --git a/tests/baselines/reference/templateStringWithEmbeddedArray.types b/tests/baselines/reference/templateStringWithEmbeddedArray.types index 2842936c502..b82fa26d400 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedArray.types +++ b/tests/baselines/reference/templateStringWithEmbeddedArray.types @@ -3,7 +3,7 @@ var x = `abc${ [1,2,3] }def`; >x : string >`abc${ [1,2,3] }def` : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 diff --git a/tests/baselines/reference/templateStringWithEmbeddedArrayES6.types b/tests/baselines/reference/templateStringWithEmbeddedArrayES6.types index 2f8e67f0539..e8701a7f4c3 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedArrayES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedArrayES6.types @@ -3,7 +3,7 @@ var x = `abc${ [1,2,3] }def`; >x : string >`abc${ [1,2,3] }def` : string >[1,2,3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 diff --git a/tests/baselines/reference/templateStringWithEmbeddedComments.js b/tests/baselines/reference/templateStringWithEmbeddedComments.js index 58a73e89ba7..730997e28fb 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedComments.js +++ b/tests/baselines/reference/templateStringWithEmbeddedComments.js @@ -13,4 +13,9 @@ middle${ tail`; //// [templateStringWithEmbeddedComments.js] -"head" + 10 + "\nmiddle" + 20 + "\ntail"; +"head" + 10 + "\nmiddle" + +/* Multi- + * line + * comment + */ +20 + "\ntail"; diff --git a/tests/baselines/reference/templateStringWithEmbeddedComments.types b/tests/baselines/reference/templateStringWithEmbeddedComments.types index 46a5fd3b091..f948a8bdaaf 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedComments.types +++ b/tests/baselines/reference/templateStringWithEmbeddedComments.types @@ -3,7 +3,7 @@ >`head${ // single line comment10}middle${/* Multi- * line * comment */ 20 // closing comment}tail` : string 10 ->10 : number +>10 : 10 } middle${ /* Multi- @@ -11,7 +11,7 @@ middle${ * comment */ 20 ->20 : number +>20 : 20 // closing comment } diff --git a/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.js b/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.js index c6b3649ad2a..f5450e45b32 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.js +++ b/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.js @@ -13,4 +13,14 @@ middle${ tail`; //// [templateStringWithEmbeddedCommentsES6.js] -"head" + 10 + "\nmiddle" + 20 + "\ntail"; +`head${ // single line comment +10} +middle${ +/* Multi- + * line + * comment + */ +20 +// closing comment +} +tail`; diff --git a/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.types b/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.types index 0eaf40cafac..cd2e0b23441 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedCommentsES6.types @@ -3,7 +3,7 @@ >`head${ // single line comment10}middle${/* Multi- * line * comment */ 20 // closing comment}tail` : string 10 ->10 : number +>10 : 10 } middle${ /* Multi- @@ -11,7 +11,7 @@ middle${ * comment */ 20 ->20 : number +>20 : 20 // closing comment } diff --git a/tests/baselines/reference/templateStringWithEmbeddedConditional.types b/tests/baselines/reference/templateStringWithEmbeddedConditional.types index 2a741dc271b..d79433e7b8a 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedConditional.types +++ b/tests/baselines/reference/templateStringWithEmbeddedConditional.types @@ -2,8 +2,8 @@ var x = `abc${ true ? false : " " }def`; >x : string >`abc${ true ? false : " " }def` : string ->true ? false : " " : boolean | string ->true : boolean ->false : boolean ->" " : string +>true ? false : " " : false | " " +>true : true +>false : false +>" " : " " diff --git a/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types b/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types index d0a228ee673..1ddc81a19e7 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types @@ -2,8 +2,8 @@ var x = `abc${ true ? false : " " }def`; >x : string >`abc${ true ? false : " " }def` : string ->true ? false : " " : boolean | string ->true : boolean ->false : boolean ->" " : string +>true ? false : " " : false | " " +>true : true +>false : false +>" " : " " diff --git a/tests/baselines/reference/templateStringWithEmbeddedDivision.types b/tests/baselines/reference/templateStringWithEmbeddedDivision.types index 440d162933b..6f891375624 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedDivision.types +++ b/tests/baselines/reference/templateStringWithEmbeddedDivision.types @@ -3,6 +3,6 @@ var x = `abc${ 1 / 1 }def`; >x : string >`abc${ 1 / 1 }def` : string >1 / 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/templateStringWithEmbeddedDivisionES6.types b/tests/baselines/reference/templateStringWithEmbeddedDivisionES6.types index 7a5980bae9e..f91b3a27639 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedDivisionES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedDivisionES6.types @@ -3,6 +3,6 @@ var x = `abc${ 1 / 1 }def`; >x : string >`abc${ 1 / 1 }def` : string >1 / 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/templateStringWithEmbeddedInOperator.types b/tests/baselines/reference/templateStringWithEmbeddedInOperator.types index d693dd276d1..f97ca55b633 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedInOperator.types +++ b/tests/baselines/reference/templateStringWithEmbeddedInOperator.types @@ -3,10 +3,10 @@ var x = `abc${ "hi" in { hi: 10, hello: 20} }def`; >x : string >`abc${ "hi" in { hi: 10, hello: 20} }def` : string >"hi" in { hi: 10, hello: 20} : boolean ->"hi" : string +>"hi" : "hi" >{ hi: 10, hello: 20} : { hi: number; hello: number; } >hi : number ->10 : number +>10 : 10 >hello : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithEmbeddedInOperatorES6.types b/tests/baselines/reference/templateStringWithEmbeddedInOperatorES6.types index ff5be5f4d82..a1346c2ce6d 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedInOperatorES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedInOperatorES6.types @@ -3,10 +3,10 @@ var x = `abc${ "hi" in { hi: 10, hello: 20} }def`; >x : string >`abc${ "hi" in { hi: 10, hello: 20} }def` : string >"hi" in { hi: 10, hello: 20} : boolean ->"hi" : string +>"hi" : "hi" >{ hi: 10, hello: 20} : { hi: number; hello: number; } >hi : number ->10 : number +>10 : 10 >hello : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithEmbeddedModulo.types b/tests/baselines/reference/templateStringWithEmbeddedModulo.types index fc5d3d2560d..c4711809563 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedModulo.types +++ b/tests/baselines/reference/templateStringWithEmbeddedModulo.types @@ -3,6 +3,6 @@ var x = `abc${ 1 % 1 }def`; >x : string >`abc${ 1 % 1 }def` : string >1 % 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/templateStringWithEmbeddedModuloES6.types b/tests/baselines/reference/templateStringWithEmbeddedModuloES6.types index 35ae5473bef..2a1e6b602e2 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedModuloES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedModuloES6.types @@ -3,6 +3,6 @@ var x = `abc${ 1 % 1 }def`; >x : string >`abc${ 1 % 1 }def` : string >1 % 1 : number ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/templateStringWithEmbeddedMultiplication.types b/tests/baselines/reference/templateStringWithEmbeddedMultiplication.types index 6d81cabc169..f442ab3165b 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedMultiplication.types +++ b/tests/baselines/reference/templateStringWithEmbeddedMultiplication.types @@ -3,6 +3,6 @@ var x = `abc${ 7 * 6 }def`; >x : string >`abc${ 7 * 6 }def` : string >7 * 6 : number ->7 : number ->6 : number +>7 : 7 +>6 : 6 diff --git a/tests/baselines/reference/templateStringWithEmbeddedMultiplicationES6.types b/tests/baselines/reference/templateStringWithEmbeddedMultiplicationES6.types index c4235f8535e..3e9f15773ef 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedMultiplicationES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedMultiplicationES6.types @@ -3,6 +3,6 @@ var x = `abc${ 7 * 6 }def`; >x : string >`abc${ 7 * 6 }def` : string >7 * 6 : number ->7 : number ->6 : number +>7 : 7 +>6 : 6 diff --git a/tests/baselines/reference/templateStringWithEmbeddedNewOperator.types b/tests/baselines/reference/templateStringWithEmbeddedNewOperator.types index bcc90c42c74..1e358a571b3 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedNewOperator.types +++ b/tests/baselines/reference/templateStringWithEmbeddedNewOperator.types @@ -4,5 +4,5 @@ var x = `abc${ new String("Hi") }def`; >`abc${ new String("Hi") }def` : string >new String("Hi") : String >String : StringConstructor ->"Hi" : string +>"Hi" : "Hi" diff --git a/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.types b/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.types index be58edbe4d8..4939c6f867f 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedNewOperatorES6.types @@ -4,5 +4,5 @@ var x = `abc${ new String("Hi") }def`; >`abc${ new String("Hi") }def` : string >new String("Hi") : String >String : StringConstructor ->"Hi" : string +>"Hi" : "Hi" diff --git a/tests/baselines/reference/templateStringWithEmbeddedObjectLiteral.types b/tests/baselines/reference/templateStringWithEmbeddedObjectLiteral.types index 0ff7fc140bb..9854e4e9056 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedObjectLiteral.types +++ b/tests/baselines/reference/templateStringWithEmbeddedObjectLiteral.types @@ -4,7 +4,7 @@ var x = `abc${ { x: 10, y: 20 } }def`; >`abc${ { x: 10, y: 20 } }def` : string >{ x: 10, y: 20 } : { x: number; y: number; } >x : number ->10 : number +>10 : 10 >y : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithEmbeddedObjectLiteralES6.types b/tests/baselines/reference/templateStringWithEmbeddedObjectLiteralES6.types index 4a5df4707b7..db086517791 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedObjectLiteralES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedObjectLiteralES6.types @@ -4,7 +4,7 @@ var x = `abc${ { x: 10, y: 20 } }def`; >`abc${ { x: 10, y: 20 } }def` : string >{ x: 10, y: 20 } : { x: number; y: number; } >x : number ->10 : number +>10 : 10 >y : number ->20 : number +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithEmbeddedTemplateString.types b/tests/baselines/reference/templateStringWithEmbeddedTemplateString.types index acda0c7a7ec..cef4f69c0a9 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTemplateString.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTemplateString.types @@ -3,7 +3,7 @@ var x = `123${ `456 ${ " | " } 654` }321 123${ `456 ${ " | " } 654` }321`; >x : string >`123${ `456 ${ " | " } 654` }321 123${ `456 ${ " | " } 654` }321` : string >`456 ${ " | " } 654` : string ->" | " : string +>" | " : " | " >`456 ${ " | " } 654` : string ->" | " : string +>" | " : " | " diff --git a/tests/baselines/reference/templateStringWithEmbeddedTemplateStringES6.types b/tests/baselines/reference/templateStringWithEmbeddedTemplateStringES6.types index 252765cb7c0..12532c8402e 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTemplateStringES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTemplateStringES6.types @@ -3,7 +3,7 @@ var x = `123${ `456 ${ " | " } 654` }321 123${ `456 ${ " | " } 654` }321`; >x : string >`123${ `456 ${ " | " } 654` }321 123${ `456 ${ " | " } 654` }321` : string >`456 ${ " | " } 654` : string ->" | " : string +>" | " : " | " >`456 ${ " | " } 654` : string ->" | " : string +>" | " : " | " diff --git a/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAddition.types b/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAddition.types index 98254cad8b7..898263825af 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAddition.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAddition.types @@ -5,6 +5,6 @@ var x = `abc${ (10 + 10) }def`; >(10 + 10) : any >(10 + 10) : number >10 + 10 : number ->10 : number ->10 : number +>10 : 10 +>10 : 10 diff --git a/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAdditionES6.types b/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAdditionES6.types index ac74625f57a..e9e81a2d097 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAdditionES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTypeAssertionOnAdditionES6.types @@ -5,6 +5,6 @@ var x = `abc${ (10 + 10) }def`; >(10 + 10) : any >(10 + 10) : number >10 + 10 : number ->10 : number ->10 : number +>10 : 10 +>10 : 10 diff --git a/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperator.types b/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperator.types index e63ea3aac69..48330140ad3 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperator.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperator.types @@ -3,5 +3,5 @@ var x = `abc${ typeof "hi" }def`; >x : string >`abc${ typeof "hi" }def` : string >typeof "hi" : string ->"hi" : string +>"hi" : "hi" diff --git a/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperatorES6.types b/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperatorES6.types index 0692eaccb5e..3d7eba45c19 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperatorES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedTypeOfOperatorES6.types @@ -3,5 +3,5 @@ var x = `abc${ typeof "hi" }def`; >x : string >`abc${ typeof "hi" }def` : string >typeof "hi" : string ->"hi" : string +>"hi" : "hi" diff --git a/tests/baselines/reference/templateStringWithEmbeddedYieldKeyword.js b/tests/baselines/reference/templateStringWithEmbeddedYieldKeyword.js index e050441173e..8230f0ec8f1 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedYieldKeyword.js +++ b/tests/baselines/reference/templateStringWithEmbeddedYieldKeyword.js @@ -6,7 +6,7 @@ function* gen { //// [templateStringWithEmbeddedYieldKeyword.js] -function gen() { +function* gen() { // Once this is supported, yield *must* be parenthesized. var x = "abc" + (yield 10) + "def"; } diff --git a/tests/baselines/reference/templateStringWithEmbeddedYieldKeywordES6.types b/tests/baselines/reference/templateStringWithEmbeddedYieldKeywordES6.types index 3a6f5d16726..e4496aa4e8b 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedYieldKeywordES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedYieldKeywordES6.types @@ -1,12 +1,12 @@ === tests/cases/conformance/es6/templates/templateStringWithEmbeddedYieldKeywordES6.ts === function* gen() { ->gen : () => IterableIterator +>gen : () => IterableIterator<10> // Once this is supported, yield *must* be parenthesized. var x = `abc${ yield 10 }def`; >x : string >`abc${ yield 10 }def` : string >yield 10 : any ->10 : number +>10 : 10 } diff --git a/tests/baselines/reference/templateStringWithEmptyLiteralPortions.types b/tests/baselines/reference/templateStringWithEmptyLiteralPortions.types index f88ca5e7493..f20ab1552e3 100644 --- a/tests/baselines/reference/templateStringWithEmptyLiteralPortions.types +++ b/tests/baselines/reference/templateStringWithEmptyLiteralPortions.types @@ -6,68 +6,68 @@ var a = ``; var b = `${ 0 }`; >b : string >`${ 0 }` : string ->0 : number +>0 : 0 var c = `1${ 0 }`; >c : string >`1${ 0 }` : string ->0 : number +>0 : 0 var d = `${ 0 }2`; >d : string >`${ 0 }2` : string ->0 : number +>0 : 0 var e = `1${ 0 }2`; >e : string >`1${ 0 }2` : string ->0 : number +>0 : 0 var f = `${ 0 }${ 0 }`; >f : string >`${ 0 }${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var g = `1${ 0 }${ 0 }`; >g : string >`1${ 0 }${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var h = `${ 0 }2${ 0 }`; >h : string >`${ 0 }2${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var i = `1${ 0 }2${ 0 }`; >i : string >`1${ 0 }2${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var j = `${ 0 }${ 0 }3`; >j : string >`${ 0 }${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var k = `1${ 0 }${ 0 }3`; >k : string >`1${ 0 }${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var l = `${ 0 }2${ 0 }3`; >l : string >`${ 0 }2${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var m = `1${ 0 }2${ 0 }3`; >m : string >`1${ 0 }2${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/templateStringWithEmptyLiteralPortionsES6.types b/tests/baselines/reference/templateStringWithEmptyLiteralPortionsES6.types index 068da7f9484..73eeeaae045 100644 --- a/tests/baselines/reference/templateStringWithEmptyLiteralPortionsES6.types +++ b/tests/baselines/reference/templateStringWithEmptyLiteralPortionsES6.types @@ -6,68 +6,68 @@ var a = ``; var b = `${ 0 }`; >b : string >`${ 0 }` : string ->0 : number +>0 : 0 var c = `1${ 0 }`; >c : string >`1${ 0 }` : string ->0 : number +>0 : 0 var d = `${ 0 }2`; >d : string >`${ 0 }2` : string ->0 : number +>0 : 0 var e = `1${ 0 }2`; >e : string >`1${ 0 }2` : string ->0 : number +>0 : 0 var f = `${ 0 }${ 0 }`; >f : string >`${ 0 }${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var g = `1${ 0 }${ 0 }`; >g : string >`1${ 0 }${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var h = `${ 0 }2${ 0 }`; >h : string >`${ 0 }2${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var i = `1${ 0 }2${ 0 }`; >i : string >`1${ 0 }2${ 0 }` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var j = `${ 0 }${ 0 }3`; >j : string >`${ 0 }${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var k = `1${ 0 }${ 0 }3`; >k : string >`1${ 0 }${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var l = `${ 0 }2${ 0 }3`; >l : string >`${ 0 }2${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 var m = `1${ 0 }2${ 0 }3`; >m : string >`1${ 0 }2${ 0 }3` : string ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/templateStringWithOpenCommentInStringPortion.types b/tests/baselines/reference/templateStringWithOpenCommentInStringPortion.types index 9adee375396..8c6d4dc2e79 100644 --- a/tests/baselines/reference/templateStringWithOpenCommentInStringPortion.types +++ b/tests/baselines/reference/templateStringWithOpenCommentInStringPortion.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/templates/templateStringWithOpenCommentInStringPortion.ts === ` /**head ${ 10 } // still middle ${ 20 } /* still tail ` >` /**head ${ 10 } // still middle ${ 20 } /* still tail ` : string ->10 : number ->20 : number +>10 : 10 +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithOpenCommentInStringPortionES6.types b/tests/baselines/reference/templateStringWithOpenCommentInStringPortionES6.types index ea1513756de..fa9ede6976b 100644 --- a/tests/baselines/reference/templateStringWithOpenCommentInStringPortionES6.types +++ b/tests/baselines/reference/templateStringWithOpenCommentInStringPortionES6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/templates/templateStringWithOpenCommentInStringPortionES6.ts === ` /**head ${ 10 } // still middle ${ 20 } /* still tail ` >` /**head ${ 10 } // still middle ${ 20 } /* still tail ` : string ->10 : number ->20 : number +>10 : 10 +>20 : 20 diff --git a/tests/baselines/reference/templateStringWithPropertyAccess.types b/tests/baselines/reference/templateStringWithPropertyAccess.types index 6afb7402970..21749c848da 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccess.types +++ b/tests/baselines/reference/templateStringWithPropertyAccess.types @@ -3,7 +3,7 @@ >`abc${0}abc`.indexOf(`abc`) : number >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number >`abc${0}abc` : string ->0 : number +>0 : 0 >indexOf : (searchString: string, position?: number) => number >`abc` : string diff --git a/tests/baselines/reference/templateStringWithPropertyAccessES6.types b/tests/baselines/reference/templateStringWithPropertyAccessES6.types index bdbded8be4a..3e297e6bf07 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccessES6.types +++ b/tests/baselines/reference/templateStringWithPropertyAccessES6.types @@ -3,7 +3,7 @@ >`abc${0}abc`.indexOf(`abc`) : number >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number >`abc${0}abc` : string ->0 : number +>0 : 0 >indexOf : (searchString: string, position?: number) => number >`abc` : string diff --git a/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt b/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt index 7204f32dba2..6b11fdb661a 100644 --- a/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt +++ b/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts(3,27): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts(3,27): error TS2322: Type '"bad"' is not assignable to type 'number'. ==== tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts (1 errors) ==== @@ -6,4 +6,4 @@ tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpr `${function (x: number) { x = "bad"; } }`; ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type '"bad"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt b/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt index 9fece57ef5e..8d5a8bb4885 100644 --- a/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt +++ b/tests/baselines/reference/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts(2,27): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts(2,27): error TS2322: Type '"bad"' is not assignable to type 'number'. ==== tests/cases/conformance/es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpressionES6.ts (1 errors) ==== `${function (x: number) { x = "bad"; } }`; ~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! error TS2322: Type '"bad"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/ternaryExpressionSourceMap.types b/tests/baselines/reference/ternaryExpressionSourceMap.types index d74a175635a..d6d17091b43 100644 --- a/tests/baselines/reference/ternaryExpressionSourceMap.types +++ b/tests/baselines/reference/ternaryExpressionSourceMap.types @@ -2,14 +2,14 @@ var x = 1; >x : number ->1 : number +>1 : 1 var foo = x ? () => 0 : () => 0; >foo : () => number >x ? () => 0 : () => 0 : () => number >x : number >() => 0 : () => number ->0 : number +>0 : 0 >() => 0 : () => number ->0 : number +>0 : 0 diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 99668ca4901..dbd9f83c741 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -17,7 +17,7 @@ class C { var x = 1; >x : number ->1 : number +>1 : 1 return this.x; >this.x : number @@ -35,7 +35,7 @@ class C { var x = 1; >x : number ->1 : number +>1 : 1 return this.x; >this.x : any @@ -57,7 +57,7 @@ var messenger = { message: "Hello World", >message : string ->"Hello World" : string +>"Hello World" : "Hello World" start: function () { >start : () => number @@ -71,7 +71,7 @@ var messenger = { >this.message : any >this : any >message : any ->3000 : number +>3000 : 3000 } }; diff --git a/tests/baselines/reference/thisCapture1.types b/tests/baselines/reference/thisCapture1.types index eb4501203ca..ff9e9e3b9fe 100644 --- a/tests/baselines/reference/thisCapture1.types +++ b/tests/baselines/reference/thisCapture1.types @@ -4,7 +4,7 @@ class X { private y = 0; >y : number ->0 : number +>0 : 0 public getSettings(keys: string[]): any { >getSettings : (keys: string[]) => any @@ -23,11 +23,11 @@ class X { >() => { this.y = 0; } : () => void this.y = 0; ->this.y = 0 : number +>this.y = 0 : 0 >this.y : number >this : this >y : number ->0 : number +>0 : 0 }).promise(); >promise : any diff --git a/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js b/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js index 4b23326c7a3..03b86b1d225 100644 --- a/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js +++ b/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js @@ -9,14 +9,14 @@ class Vector { } //// [thisInArrowFunctionInStaticInitializer1.js] +var _this = this; function log(a) { } var Vector = (function () { function Vector() { - var _this = this; } - Vector.foo = function () { - // 'this' should not be available in a static initializer. - log(_this); - }; return Vector; }()); +Vector.foo = function () { + // 'this' should not be available in a static initializer. + log(_this); +}; diff --git a/tests/baselines/reference/thisInConstructorParameter2.js b/tests/baselines/reference/thisInConstructorParameter2.js index 7260ecafcb9..ba2917c5a4e 100644 --- a/tests/baselines/reference/thisInConstructorParameter2.js +++ b/tests/baselines/reference/thisInConstructorParameter2.js @@ -25,6 +25,6 @@ var P = (function () { if (zz === void 0) { zz = this; } zz.y; }; - P.y = this; return P; }()); +P.y = this; diff --git a/tests/baselines/reference/thisInGenericStaticMembers.types b/tests/baselines/reference/thisInGenericStaticMembers.types index 8d4aabe2812..082ffb588a5 100644 --- a/tests/baselines/reference/thisInGenericStaticMembers.types +++ b/tests/baselines/reference/thisInGenericStaticMembers.types @@ -30,7 +30,7 @@ class A { >one : (source: T, value: number) => T >T : T >source : T ->42 : number +>42 : 42 } } @@ -60,7 +60,7 @@ class B { >this : typeof B >one : (source: B, value: number) => B >source : B ->42 : number +>42 : 42 } } diff --git a/tests/baselines/reference/thisInInnerFunctions.types b/tests/baselines/reference/thisInInnerFunctions.types index 2d0c3363b18..e6c6d2b834c 100644 --- a/tests/baselines/reference/thisInInnerFunctions.types +++ b/tests/baselines/reference/thisInInnerFunctions.types @@ -4,7 +4,7 @@ class Foo { x = "hello"; >x : string ->"hello" : string +>"hello" : "hello" bar() { >bar : () => void @@ -13,11 +13,11 @@ class Foo { >inner : () => void this.y = "hi"; // 'this' should be not type to 'Foo' either ->this.y = "hi" : string +>this.y = "hi" : "hi" >this.y : any >this : any >y : any ->"hi" : string +>"hi" : "hi" var f = () => this.y; // 'this' should be not type to 'Foo' either >f : () => any diff --git a/tests/baselines/reference/thisInInvalidContexts.js b/tests/baselines/reference/thisInInvalidContexts.js index 75ccd12c288..76eeef0139c 100644 --- a/tests/baselines/reference/thisInInvalidContexts.js +++ b/tests/baselines/reference/thisInInvalidContexts.js @@ -58,9 +58,9 @@ var __extends = (this && this.__extends) || function (d, b) { var ErrClass1 = (function () { function ErrClass1() { } - ErrClass1.t = this; // Error return ErrClass1; }()); +ErrClass1.t = this; // Error var BaseErrClass = (function () { function BaseErrClass(t) { } diff --git a/tests/baselines/reference/thisInInvalidContextsExternalModule.js b/tests/baselines/reference/thisInInvalidContextsExternalModule.js index 2e7e6d8b47c..634b5ef0a20 100644 --- a/tests/baselines/reference/thisInInvalidContextsExternalModule.js +++ b/tests/baselines/reference/thisInInvalidContextsExternalModule.js @@ -59,9 +59,9 @@ var __extends = (this && this.__extends) || function (d, b) { var ErrClass1 = (function () { function ErrClass1() { } - ErrClass1.t = this; // Error return ErrClass1; }()); +ErrClass1.t = this; // Error var BaseErrClass = (function () { function BaseErrClass(t) { } diff --git a/tests/baselines/reference/thisInLambda.types b/tests/baselines/reference/thisInLambda.types index aea7fb08bd6..a9d5b695750 100644 --- a/tests/baselines/reference/thisInLambda.types +++ b/tests/baselines/reference/thisInLambda.types @@ -4,7 +4,7 @@ class Foo { x = "hello"; >x : string ->"hello" : string +>"hello" : "hello" bar() { >bar : () => void diff --git a/tests/baselines/reference/thisInOuterClassBody.js b/tests/baselines/reference/thisInOuterClassBody.js index 40e4a2e2485..40b0e2b78ae 100644 --- a/tests/baselines/reference/thisInOuterClassBody.js +++ b/tests/baselines/reference/thisInOuterClassBody.js @@ -36,6 +36,6 @@ var Foo = (function () { var a = this.y; var b = this.x; }; - Foo.y = this; return Foo; }()); +Foo.y = this; diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.js b/tests/baselines/reference/thisInPropertyBoundDeclarations.js index 0b378cec51a..f5967fbb5b2 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.js +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.js @@ -74,13 +74,13 @@ var Bug = (function () { Bug.prototype.foo = function (name) { this.name = name; }; - Bug.func = [ - function (that, name) { - that.foo(name); - } - ]; return Bug; }()); +Bug.func = [ + function (that, name) { + that.foo(name); + } +]; // Valid use of this in a property bound decl var A = (function () { function A() { diff --git a/tests/baselines/reference/thisInPropertyBoundDeclarations.types b/tests/baselines/reference/thisInPropertyBoundDeclarations.types index f871e78d219..b783c5c1b5f 100644 --- a/tests/baselines/reference/thisInPropertyBoundDeclarations.types +++ b/tests/baselines/reference/thisInPropertyBoundDeclarations.types @@ -131,14 +131,14 @@ class B { >' ' + function() { } + ' ' + (() => () => () => this) : string >' ' + function() { } + ' ' : string >' ' + function() { } : string ->' ' : string +>' ' : " " function() { >function() { } : () => void } + ' ' + ->' ' : string +>' ' : " " (() => () => () => this); >(() => () => () => this) : () => () => () => this diff --git a/tests/baselines/reference/thisInStaticMethod1.js b/tests/baselines/reference/thisInStaticMethod1.js index a42415c0b62..1e39ded3b61 100644 --- a/tests/baselines/reference/thisInStaticMethod1.js +++ b/tests/baselines/reference/thisInStaticMethod1.js @@ -14,7 +14,7 @@ var foo = (function () { foo.bar = function () { return this.x; }; - foo.x = 3; return foo; }()); +foo.x = 3; var x = foo.bar(); diff --git a/tests/baselines/reference/thisInStaticMethod1.types b/tests/baselines/reference/thisInStaticMethod1.types index fdee20c21bf..6e922737ca9 100644 --- a/tests/baselines/reference/thisInStaticMethod1.types +++ b/tests/baselines/reference/thisInStaticMethod1.types @@ -4,7 +4,7 @@ class foo { static x = 3; >x : number ->3 : number +>3 : 3 static bar() { >bar : () => number diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.js b/tests/baselines/reference/thisInTupleTypeParameterConstraints.js new file mode 100644 index 00000000000..c63fbf61991 --- /dev/null +++ b/tests/baselines/reference/thisInTupleTypeParameterConstraints.js @@ -0,0 +1,29 @@ +//// [thisInTupleTypeParameterConstraints.ts] +/// + +interface Boolean {} +interface IArguments {} +interface Function {} +interface Number {} +interface RegExp {} +interface Object {} +interface String {} + +interface Array { + // 4 methods will run out of memory if this-types are not instantiated + // correctly for tuple types that are type parameter constraints + map(arg: this): void; + reduceRight(arg: this): void; + reduce(arg: this): void; + reduce2(arg: this): void; +} + +declare function f number]>(a: T): void; +let x: [(x: number) => number]; +f(x); + + +//// [thisInTupleTypeParameterConstraints.js] +/// +var x; +f(x); diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.symbols b/tests/baselines/reference/thisInTupleTypeParameterConstraints.symbols new file mode 100644 index 00000000000..4d2bef22c55 --- /dev/null +++ b/tests/baselines/reference/thisInTupleTypeParameterConstraints.symbols @@ -0,0 +1,66 @@ +=== tests/cases/compiler/thisInTupleTypeParameterConstraints.ts === +/// + +interface Boolean {} +>Boolean : Symbol(Boolean, Decl(thisInTupleTypeParameterConstraints.ts, 0, 0)) + +interface IArguments {} +>IArguments : Symbol(IArguments, Decl(thisInTupleTypeParameterConstraints.ts, 2, 20)) + +interface Function {} +>Function : Symbol(Function, Decl(thisInTupleTypeParameterConstraints.ts, 3, 23)) + +interface Number {} +>Number : Symbol(Number, Decl(thisInTupleTypeParameterConstraints.ts, 4, 21)) + +interface RegExp {} +>RegExp : Symbol(RegExp, Decl(thisInTupleTypeParameterConstraints.ts, 5, 19)) + +interface Object {} +>Object : Symbol(Object, Decl(thisInTupleTypeParameterConstraints.ts, 6, 19)) + +interface String {} +>String : Symbol(String, Decl(thisInTupleTypeParameterConstraints.ts, 7, 19)) + +interface Array { +>Array : Symbol(Array, Decl(thisInTupleTypeParameterConstraints.ts, 8, 19)) +>T : Symbol(T, Decl(thisInTupleTypeParameterConstraints.ts, 10, 16)) + + // 4 methods will run out of memory if this-types are not instantiated + // correctly for tuple types that are type parameter constraints + map(arg: this): void; +>map : Symbol(Array.map, Decl(thisInTupleTypeParameterConstraints.ts, 10, 20)) +>U : Symbol(U, Decl(thisInTupleTypeParameterConstraints.ts, 13, 8)) +>arg : Symbol(arg, Decl(thisInTupleTypeParameterConstraints.ts, 13, 11)) + + reduceRight(arg: this): void; +>reduceRight : Symbol(Array.reduceRight, Decl(thisInTupleTypeParameterConstraints.ts, 13, 28)) +>U : Symbol(U, Decl(thisInTupleTypeParameterConstraints.ts, 14, 16)) +>arg : Symbol(arg, Decl(thisInTupleTypeParameterConstraints.ts, 14, 19)) + + reduce(arg: this): void; +>reduce : Symbol(Array.reduce, Decl(thisInTupleTypeParameterConstraints.ts, 14, 36)) +>U : Symbol(U, Decl(thisInTupleTypeParameterConstraints.ts, 15, 11)) +>arg : Symbol(arg, Decl(thisInTupleTypeParameterConstraints.ts, 15, 14)) + + reduce2(arg: this): void; +>reduce2 : Symbol(Array.reduce2, Decl(thisInTupleTypeParameterConstraints.ts, 15, 31)) +>U : Symbol(U, Decl(thisInTupleTypeParameterConstraints.ts, 16, 12)) +>arg : Symbol(arg, Decl(thisInTupleTypeParameterConstraints.ts, 16, 15)) +} + +declare function f number]>(a: T): void; +>f : Symbol(f, Decl(thisInTupleTypeParameterConstraints.ts, 17, 1)) +>T : Symbol(T, Decl(thisInTupleTypeParameterConstraints.ts, 19, 19)) +>x : Symbol(x, Decl(thisInTupleTypeParameterConstraints.ts, 19, 31)) +>a : Symbol(a, Decl(thisInTupleTypeParameterConstraints.ts, 19, 54)) +>T : Symbol(T, Decl(thisInTupleTypeParameterConstraints.ts, 19, 19)) + +let x: [(x: number) => number]; +>x : Symbol(x, Decl(thisInTupleTypeParameterConstraints.ts, 20, 3)) +>x : Symbol(x, Decl(thisInTupleTypeParameterConstraints.ts, 20, 9)) + +f(x); +>f : Symbol(f, Decl(thisInTupleTypeParameterConstraints.ts, 17, 1)) +>x : Symbol(x, Decl(thisInTupleTypeParameterConstraints.ts, 20, 3)) + diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.types b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types new file mode 100644 index 00000000000..7daafe02bfc --- /dev/null +++ b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types @@ -0,0 +1,67 @@ +=== tests/cases/compiler/thisInTupleTypeParameterConstraints.ts === +/// + +interface Boolean {} +>Boolean : Boolean + +interface IArguments {} +>IArguments : IArguments + +interface Function {} +>Function : Function + +interface Number {} +>Number : Number + +interface RegExp {} +>RegExp : RegExp + +interface Object {} +>Object : Object + +interface String {} +>String : String + +interface Array { +>Array : T[] +>T : T + + // 4 methods will run out of memory if this-types are not instantiated + // correctly for tuple types that are type parameter constraints + map(arg: this): void; +>map : (arg: this) => void +>U : U +>arg : this + + reduceRight(arg: this): void; +>reduceRight : (arg: this) => void +>U : U +>arg : this + + reduce(arg: this): void; +>reduce : (arg: this) => void +>U : U +>arg : this + + reduce2(arg: this): void; +>reduce2 : (arg: this) => void +>U : U +>arg : this +} + +declare function f number]>(a: T): void; +>f : number]>(a: T) => void +>T : T +>x : number +>a : T +>T : T + +let x: [(x: number) => number]; +>x : [(x: number) => number] +>x : number + +f(x); +>f(x) : void +>f : number]>(a: T) => void +>x : [(x: number) => number] + diff --git a/tests/baselines/reference/thisTypeErrors.js b/tests/baselines/reference/thisTypeErrors.js index f246b80f4f4..5811ec6b709 100644 --- a/tests/baselines/reference/thisTypeErrors.js +++ b/tests/baselines/reference/thisTypeErrors.js @@ -75,9 +75,9 @@ var C2 = (function () { C2.foo = function (x) { return undefined; }; - C2.y = undefined; return C2; }()); +C2.y = undefined; var N1; (function (N1) { N1.y = this; diff --git a/tests/baselines/reference/thisTypeInAccessors.types b/tests/baselines/reference/thisTypeInAccessors.types index 998658c5d58..4bf21861051 100644 --- a/tests/baselines/reference/thisTypeInAccessors.types +++ b/tests/baselines/reference/thisTypeInAccessors.types @@ -15,7 +15,7 @@ const explicit = { n: 12, >n : number ->12 : number +>12 : 12 get x(this: Foo): number { return this.n; }, >x : number @@ -42,7 +42,7 @@ const copiedFromGetter = { n: 14, >n : number ->14 : number +>14 : 14 get x(this: Foo): number { return this.n; }, >x : number @@ -67,7 +67,7 @@ const copiedFromSetter = { n: 15, >n : number ->15 : number +>15 : 15 get x() { return this.n }, >x : number @@ -92,7 +92,7 @@ const copiedFromGetterUnannotated = { n: 16, >n : number ->16 : number +>16 : 16 get x(this: Foo) { return this.n }, >x : number @@ -118,7 +118,7 @@ class Explicit { n = 17; >n : number ->17 : number +>17 : 17 get x(this: Foo): number { return this.n; } >x : number @@ -144,7 +144,7 @@ class Contextual { n = 21; >n : number ->21 : number +>21 : 21 get x() { return this.n } // inside a class, so already correct >x : number diff --git a/tests/baselines/reference/thisTypeInFunctions.symbols b/tests/baselines/reference/thisTypeInFunctions.symbols index 8a0be7427ed..ad16785f288 100644 --- a/tests/baselines/reference/thisTypeInFunctions.symbols +++ b/tests/baselines/reference/thisTypeInFunctions.symbols @@ -135,7 +135,7 @@ let impl: I = { return this.a; >this.a : Symbol(a, Decl(thisTypeInFunctions.ts, 24, 30)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 24, 28)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 24, 23)) >a : Symbol(a, Decl(thisTypeInFunctions.ts, 24, 30)) }, @@ -144,7 +144,7 @@ let impl: I = { return this.a; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 19, 21)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 25, 22)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) }, @@ -153,7 +153,7 @@ let impl: I = { return this.a; >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 19, 21)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 26, 17)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) }, @@ -173,7 +173,7 @@ impl.explicitStructural = function() { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 37, 3)) >explicitStructural : Symbol(I.explicitStructural, Decl(thisTypeInFunctions.ts, 23, 38)) >this.a : Symbol(a, Decl(thisTypeInFunctions.ts, 24, 30)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 24, 28)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 24, 23)) >a : Symbol(a, Decl(thisTypeInFunctions.ts, 24, 30)) impl.explicitInterface = function() { return this.a; }; @@ -181,7 +181,7 @@ impl.explicitInterface = function() { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 37, 3)) >explicitInterface : Symbol(I.explicitInterface, Decl(thisTypeInFunctions.ts, 24, 50)) >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 19, 21)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 25, 22)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) impl.explicitStructural = () => 12; @@ -199,7 +199,7 @@ impl.explicitThis = function () { return this.a; }; >impl : Symbol(impl, Decl(thisTypeInFunctions.ts, 37, 3)) >explicitThis : Symbol(I.explicitThis, Decl(thisTypeInFunctions.ts, 25, 39)) >this.a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) ->this : Symbol(I, Decl(thisTypeInFunctions.ts, 19, 21)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 26, 17)) >a : Symbol(I.a, Decl(thisTypeInFunctions.ts, 20, 13)) // parameter checking @@ -536,7 +536,7 @@ c.explicitC = function(m) { return this.n + m }; >explicitC : Symbol(C.explicitC, Decl(thisTypeInFunctions.ts, 8, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 23)) >this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 9, 14)) >n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 126, 23)) @@ -546,7 +546,7 @@ c.explicitProperty = function(m) { return this.n + m }; >explicitProperty : Symbol(C.explicitProperty, Decl(thisTypeInFunctions.ts, 11, 5)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 30)) >this.n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) ->this : Symbol(, Decl(thisTypeInFunctions.ts, 12, 26)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 12, 21)) >n : Symbol(n, Decl(thisTypeInFunctions.ts, 12, 28)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 127, 30)) @@ -556,7 +556,7 @@ c.explicitThis = function(m) { return this.n + m }; >explicitThis : Symbol(C.explicitThis, Decl(thisTypeInFunctions.ts, 5, 14)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 26)) >this.n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) ->this : Symbol(C, Decl(thisTypeInFunctions.ts, 3, 1)) +>this : Symbol(this, Decl(thisTypeInFunctions.ts, 6, 17)) >n : Symbol(C.n, Decl(thisTypeInFunctions.ts, 4, 9)) >m : Symbol(m, Decl(thisTypeInFunctions.ts, 128, 26)) diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index 24c4fb87baf..44bf23ad509 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -58,7 +58,7 @@ class C { return m + 1; >m + 1 : number >m : number ->1 : number +>1 : 1 } } class D extends C { } @@ -127,16 +127,16 @@ function implicitThis(n: number): number { >this : any >m : any >n : number ->12 : number +>12 : 12 } let impl: I = { >impl : I >I : I ->{ a: 12, explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) explicitVoid1() { return 12; }, explicitStructural() { return this.a; }, explicitInterface() { return this.a; }, explicitThis() { return this.a; },} : { a: number; explicitVoid2: () => any; explicitVoid1(): number; explicitStructural(): number; explicitInterface(): number; explicitThis(): number; } +>{ a: 12, explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) explicitVoid1() { return 12; }, explicitStructural() { return this.a; }, explicitInterface() { return this.a; }, explicitThis() { return this.a; },} : { a: number; explicitVoid2: () => any; explicitVoid1(this: void): number; explicitStructural(this: { a: number; }): number; explicitInterface(this: I): number; explicitThis(this: I): number; } a: 12, >a : number ->12 : number +>12 : 12 explicitVoid2: () => this.a, // ok, this: any because it refers to some outer object (window?) >explicitVoid2 : () => any @@ -146,11 +146,11 @@ let impl: I = { >a : any explicitVoid1() { return 12; }, ->explicitVoid1 : () => number ->12 : number +>explicitVoid1 : (this: void) => number +>12 : 12 explicitStructural() { ->explicitStructural : () => number +>explicitStructural : (this: { a: number; }) => number return this.a; >this.a : number @@ -159,7 +159,7 @@ let impl: I = { }, explicitInterface() { ->explicitInterface : () => number +>explicitInterface : (this: I) => number return this.a; >this.a : number @@ -168,7 +168,7 @@ let impl: I = { }, explicitThis() { ->explicitThis : () => number +>explicitThis : (this: I) => number return this.a; >this.a : number @@ -178,12 +178,12 @@ let impl: I = { }, } impl.explicitVoid1 = function () { return 12; }; ->impl.explicitVoid1 = function () { return 12; } : () => number +>impl.explicitVoid1 = function () { return 12; } : (this: void) => number >impl.explicitVoid1 : (this: void) => number >impl : I >explicitVoid1 : (this: void) => number ->function () { return 12; } : () => number ->12 : number +>function () { return 12; } : (this: void) => number +>12 : 12 impl.explicitVoid2 = () => 12; >impl.explicitVoid2 = () => 12 : () => number @@ -191,24 +191,24 @@ impl.explicitVoid2 = () => 12; >impl : I >explicitVoid2 : (this: void) => number >() => 12 : () => number ->12 : number +>12 : 12 impl.explicitStructural = function() { return this.a; }; ->impl.explicitStructural = function() { return this.a; } : () => number +>impl.explicitStructural = function() { return this.a; } : (this: { a: number; }) => number >impl.explicitStructural : (this: { a: number; }) => number >impl : I >explicitStructural : (this: { a: number; }) => number ->function() { return this.a; } : () => number +>function() { return this.a; } : (this: { a: number; }) => number >this.a : number >this : { a: number; } >a : number impl.explicitInterface = function() { return this.a; }; ->impl.explicitInterface = function() { return this.a; } : () => number +>impl.explicitInterface = function() { return this.a; } : (this: I) => number >impl.explicitInterface : (this: I) => number >impl : I >explicitInterface : (this: I) => number ->function() { return this.a; } : () => number +>function() { return this.a; } : (this: I) => number >this.a : number >this : I >a : number @@ -219,7 +219,7 @@ impl.explicitStructural = () => 12; >impl : I >explicitStructural : (this: { a: number; }) => number >() => 12 : () => number ->12 : number +>12 : 12 impl.explicitInterface = () => 12; >impl.explicitInterface = () => 12 : () => number @@ -227,14 +227,14 @@ impl.explicitInterface = () => 12; >impl : I >explicitInterface : (this: I) => number >() => 12 : () => number ->12 : number +>12 : 12 impl.explicitThis = function () { return this.a; }; ->impl.explicitThis = function () { return this.a; } : () => number +>impl.explicitThis = function () { return this.a; } : (this: I) => number >impl.explicitThis : (this: I) => number >impl : I >explicitThis : (this: I) => number ->function () { return this.a; } : () => number +>function () { return this.a; } : (this: I) => number >this.a : number >this : I >a : number @@ -249,7 +249,7 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: >x : number >{ y: 12, f: explicitStructural } : { y: number; f: (this: { y: number; }, x: number) => number; } >y : number ->12 : number +>12 : 12 >f : (this: { y: number; }, x: number) => number >explicitStructural : (this: { y: number; }, x: number) => number @@ -260,7 +260,7 @@ let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpeci >x : number >{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (n: number) => number; } >notSpecified : number ->12 : number +>12 : 12 >f : (n: number) => number >implicitThis : (n: number) => number @@ -269,19 +269,19 @@ ok.f(13); >ok.f : (this: { y: number; }, x: number) => number >ok : { y: number; f: (this: { y: number; }, x: number) => number; } >f : (this: { y: number; }, x: number) => number ->13 : number +>13 : 13 implicitThis(12); >implicitThis(12) : number >implicitThis : (n: number) => number ->12 : number +>12 : 12 implicitAnyOk.f(12); >implicitAnyOk.f(12) : number >implicitAnyOk.f : (x: number) => number >implicitAnyOk : { notSpecified: number; f: (x: number) => number; } >f : (x: number) => number ->12 : number +>12 : 12 let c = new C(); >c : C @@ -304,42 +304,42 @@ c.explicitC(12); >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->12 : number +>12 : 12 c.explicitProperty(12); >c.explicitProperty(12) : number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->12 : number +>12 : 12 c.explicitThis(12); >c.explicitThis(12) : number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->12 : number +>12 : 12 d.explicitC(12); >d.explicitC(12) : number >d.explicitC : (this: C, m: number) => number >d : D >explicitC : (this: C, m: number) => number ->12 : number +>12 : 12 d.explicitProperty(12); >d.explicitProperty(12) : number >d.explicitProperty : (this: { n: number; }, m: number) => number >d : D >explicitProperty : (this: { n: number; }, m: number) => number ->12 : number +>12 : 12 d.explicitThis(12); >d.explicitThis(12) : number >d.explicitThis : (this: D, m: number) => number >d : D >explicitThis : (this: D, m: number) => number ->12 : number +>12 : 12 let reconstructed: { >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } @@ -375,7 +375,7 @@ let reconstructed: { n: 12, >n : number ->12 : number +>12 : 12 explicitThis: c.explicitThis, >explicitThis : (this: C, m: number) => number @@ -407,14 +407,14 @@ reconstructed.explicitThis(10); >reconstructed.explicitThis : (this: C, m: number) => number >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >explicitThis : (this: C, m: number) => number ->10 : number +>10 : 10 reconstructed.explicitProperty(11); >reconstructed.explicitProperty(11) : number >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } >explicitProperty : (this: { n: number; }, m: number) => number ->11 : number +>11 : 11 let explicitVoid = reconstructed.explicitVoid; >explicitVoid : (this: void, m: number) => number @@ -425,7 +425,7 @@ let explicitVoid = reconstructed.explicitVoid; explicitVoid(12); >explicitVoid(12) : number >explicitVoid : (this: void, m: number) => number ->12 : number +>12 : 12 // assignment checking let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any @@ -433,7 +433,7 @@ let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + th >this : { y: number; } >y : number >x : number ->x => x + this.y : (x: number) => any +>x => x + this.y : (this: { y: number; }, x: number) => any >x : number >x + this.y : any >x : number @@ -457,7 +457,7 @@ let anyToSpecified: (this: { y: number }, x: number) => number = function(x: num >x : number >x + 12 : number >x : number ->12 : number +>12 : 12 let unspecifiedLambda: (x: number) => number = x => x + 12; >unspecifiedLambda : (x: number) => number @@ -466,17 +466,17 @@ let unspecifiedLambda: (x: number) => number = x => x + 12; >x : number >x + 12 : number >x : number ->12 : number +>12 : 12 let specifiedLambda: (this: void, x: number) => number = x => x + 12; >specifiedLambda : (this: void, x: number) => number >this : void >x : number ->x => x + 12 : (x: number) => number +>x => x + 12 : (this: void, x: number) => number >x : number >x + 12 : number >x : number ->12 : number +>12 : 12 let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; >unspecifiedLambdaToSpecified : (this: { y: number; }, x: number) => number @@ -560,40 +560,40 @@ c.explicitProperty = reconstructed.explicitProperty; // lambdas are assignable to anything c.explicitC = m => m; ->c.explicitC = m => m : (m: number) => number +>c.explicitC = m => m : (this: C, m: number) => number >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->m => m : (m: number) => number +>m => m : (this: C, m: number) => number >m : number >m : number c.explicitThis = m => m; ->c.explicitThis = m => m : (m: number) => number +>c.explicitThis = m => m : (this: C, m: number) => number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->m => m : (m: number) => number +>m => m : (this: C, m: number) => number >m : number >m : number c.explicitProperty = m => m; ->c.explicitProperty = m => m : (m: number) => number +>c.explicitProperty = m => m : (this: { n: number; }, m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->m => m : (m: number) => number +>m => m : (this: { n: number; }, m: number) => number >m : number >m : number // this inside lambdas refer to outer scope // the outer-scoped lambda at top-level is still just `any` c.explicitC = m => m + this.n; ->c.explicitC = m => m + this.n : (m: number) => any +>c.explicitC = m => m + this.n : (this: C, m: number) => any >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->m => m + this.n : (m: number) => any +>m => m + this.n : (this: C, m: number) => any >m : number >m + this.n : any >m : number @@ -602,11 +602,11 @@ c.explicitC = m => m + this.n; >n : any c.explicitThis = m => m + this.n; ->c.explicitThis = m => m + this.n : (m: number) => any +>c.explicitThis = m => m + this.n : (this: C, m: number) => any >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->m => m + this.n : (m: number) => any +>m => m + this.n : (this: C, m: number) => any >m : number >m + this.n : any >m : number @@ -615,11 +615,11 @@ c.explicitThis = m => m + this.n; >n : any c.explicitProperty = m => m + this.n; ->c.explicitProperty = m => m + this.n : (m: number) => any +>c.explicitProperty = m => m + this.n : (this: { n: number; }, m: number) => any >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->m => m + this.n : (m: number) => any +>m => m + this.n : (this: { n: number; }, m: number) => any >m : number >m + this.n : any >m : number @@ -652,11 +652,11 @@ c.explicitThis = function(this: C, m: number) { return this.n + m }; // this:any compatibility c.explicitC = function(m) { return this.n + m }; ->c.explicitC = function(m) { return this.n + m } : (m: number) => number +>c.explicitC = function(m) { return this.n + m } : (this: C, m: number) => number >c.explicitC : (this: C, m: number) => number >c : C >explicitC : (this: C, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: C, m: number) => number >m : number >this.n + m : number >this.n : number @@ -665,11 +665,11 @@ c.explicitC = function(m) { return this.n + m }; >m : number c.explicitProperty = function(m) { return this.n + m }; ->c.explicitProperty = function(m) { return this.n + m } : (m: number) => number +>c.explicitProperty = function(m) { return this.n + m } : (this: { n: number; }, m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: { n: number; }, m: number) => number >m : number >this.n + m : number >this.n : number @@ -678,11 +678,11 @@ c.explicitProperty = function(m) { return this.n + m }; >m : number c.explicitThis = function(m) { return this.n + m }; ->c.explicitThis = function(m) { return this.n + m } : (m: number) => number +>c.explicitThis = function(m) { return this.n + m } : (this: C, m: number) => number >c.explicitThis : (this: C, m: number) => number >c : C >explicitThis : (this: C, m: number) => number ->function(m) { return this.n + m } : (m: number) => number +>function(m) { return this.n + m } : (this: C, m: number) => number >m : number >this.n + m : number >this.n : number @@ -723,11 +723,11 @@ c.explicitC = function(this: B, m: number) { return this.n + m }; // this:void compatibility c.explicitVoid = n => n; ->c.explicitVoid = n => n : (n: number) => number +>c.explicitVoid = n => n : (this: void, n: number) => number >c.explicitVoid : (this: void, m: number) => number >c : C >explicitVoid : (this: void, m: number) => number ->n => n : (n: number) => number +>n => n : (this: void, n: number) => number >n : number >n : number @@ -881,11 +881,11 @@ function InterfaceThis(this: I) { >I : I this.a = 12; ->this.a = 12 : number +>this.a = 12 : 12 >this.a : number >this : I >a : number ->12 : number +>12 : 12 } function LiteralTypeThis(this: {x: string}) { >LiteralTypeThis : (this: { x: string; }) => void @@ -893,22 +893,22 @@ function LiteralTypeThis(this: {x: string}) { >x : string this.x = "ok"; ->this.x = "ok" : string +>this.x = "ok" : "ok" >this.x : string >this : { x: string; } >x : string ->"ok" : string +>"ok" : "ok" } function AnyThis(this: any) { >AnyThis : (this: any) => void >this : any this.x = "ok"; ->this.x = "ok" : string +>this.x = "ok" : "ok" >this.x : any >this : any >x : any ->"ok" : string +>"ok" : "ok" } let interfaceThis = new InterfaceThis(); >interfaceThis : any @@ -949,7 +949,7 @@ let n: number = f.call(12); >f.call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U >f : { (this: void, x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } >call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U ->12 : number +>12 : 12 function missingTypeIsImplicitAny(this, a: number) { return this.anything + a; } >missingTypeIsImplicitAny : (this: any, a: number) => any diff --git a/tests/baselines/reference/thisTypeInFunctions2.symbols b/tests/baselines/reference/thisTypeInFunctions2.symbols index cdc7fb321d4..5cc26e3ad43 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.symbols +++ b/tests/baselines/reference/thisTypeInFunctions2.symbols @@ -61,12 +61,12 @@ extend1({ >init : Symbol(init, Decl(thisTypeInFunctions2.ts, 20, 9)) this // this: IndexedWithThis because of contextual typing. ->this : Symbol(IndexedWithThis, Decl(thisTypeInFunctions2.ts, 0, 0)) +>this : Symbol(this, Decl(thisTypeInFunctions2.ts, 2, 12)) // this.mine this.willDestroy >this.willDestroy : Symbol(IndexedWithThis.willDestroy, Decl(thisTypeInFunctions2.ts, 2, 32)) ->this : Symbol(IndexedWithThis, Decl(thisTypeInFunctions2.ts, 0, 0)) +>this : Symbol(this, Decl(thisTypeInFunctions2.ts, 2, 12)) >willDestroy : Symbol(IndexedWithThis.willDestroy, Decl(thisTypeInFunctions2.ts, 2, 32)) }, @@ -77,7 +77,10 @@ extend1({ >foo : Symbol(foo, Decl(thisTypeInFunctions2.ts, 26, 13)) this.url; // this: any because 'foo' matches the string indexer +>this : Symbol(this, Decl(thisTypeInFunctions2.ts, 4, 87)) + this.willDestroy; +>this : Symbol(this, Decl(thisTypeInFunctions2.ts, 4, 87)) } }); extend2({ diff --git a/tests/baselines/reference/thisTypeInFunctions2.types b/tests/baselines/reference/thisTypeInFunctions2.types index 371b5f5cafc..3cf6c1d2fae 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.types +++ b/tests/baselines/reference/thisTypeInFunctions2.types @@ -58,10 +58,10 @@ declare function simple(arg: SimpleInterface): void; extend1({ >extend1({ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }}) : void >extend1 : (args: IndexedWithThis) => void ->{ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }} : { init(): void; mine: number; foo(): void; } +>{ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }} : { init(this: IndexedWithThis): void; mine: 12; foo(this: any): void; } init() { ->init : () => void +>init : (this: IndexedWithThis) => void this // this: IndexedWithThis because of contextual typing. >this : IndexedWithThis @@ -75,10 +75,10 @@ extend1({ }, mine: 12, >mine : number ->12 : number +>12 : 12 foo() { ->foo : () => void +>foo : (this: any) => void this.url; // this: any because 'foo' matches the string indexer >this.url : any @@ -115,7 +115,7 @@ extend2({ }, mine: 13, >mine : number ->13 : number +>13 : 13 foo() { >foo : () => void @@ -159,7 +159,7 @@ simple({ >bar : () => number return 14; ->14 : number +>14 : 14 } }) diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 564aa2ed926..e88f4c1ca96 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -11,7 +11,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(62,97): er tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(63,110): error TS2322: Type '{ wrongName: number; explicitStructural: (this: { y: number; }, x: number) => number; }' is not assignable to type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. Object literal may only specify known properties, and 'explicitStructural' does not exist in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(65,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(66,6): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(66,6): error TS2345: Argument of type '"wrong type"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(67,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(68,1): error TS2684: The 'this' context of type '{ y: string; f: (this: { y: number; }, x: number) => number; }' is not assignable to method's 'this' of type '{ y: number; }'. Types of property 'y' are incompatible. @@ -19,16 +19,16 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(68,1): err tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(69,1): error TS2684: The 'this' context of type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }' is not assignable to method's 'this' of type '{ y: number; }'. Property 'y' is missing in type '{ wrongName: number; f: (this: { y: number; }, x: number) => number; }'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(72,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(73,13): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(73,13): error TS2345: Argument of type '"wrong type"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(74,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(75,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(76,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(76,16): error TS2345: Argument of type '"wrong type 2"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(77,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(78,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(79,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(79,16): error TS2345: Argument of type '"wrong type 2"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(80,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(81,1): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(82,20): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(82,20): error TS2345: Argument of type '"wrong type 3"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(83,1): error TS2346: Supplied parameters do not match any signature of call target. tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(86,5): error TS2322: Type '(this: { y: number; }, x: number) => number' is not assignable to type '(this: void, x: number) => number'. The 'this' types of each signature are incompatible. @@ -190,7 +190,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e !!! error TS2346: Supplied parameters do not match any signature of call target. ok.f('wrong type'); ~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"wrong type"' is not assignable to parameter of type 'number'. ok.f(13, 'too many arguments'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. @@ -210,7 +210,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e !!! error TS2346: Supplied parameters do not match any signature of call target. c.explicitC('wrong type'); ~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"wrong type"' is not assignable to parameter of type 'number'. c.explicitC(13, 'too many arguments'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. @@ -219,7 +219,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e !!! error TS2346: Supplied parameters do not match any signature of call target. c.explicitThis('wrong type 2'); ~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"wrong type 2"' is not assignable to parameter of type 'number'. c.explicitThis(14, 'too many arguments 2'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. @@ -228,7 +228,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e !!! error TS2346: Supplied parameters do not match any signature of call target. c.implicitThis('wrong type 2'); ~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"wrong type 2"' is not assignable to parameter of type 'number'. c.implicitThis(14, 'too many arguments 2'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. @@ -237,7 +237,7 @@ tests/cases/conformance/types/thisType/thisTypeInFunctionsNegative.ts(175,35): e !!! error TS2346: Supplied parameters do not match any signature of call target. c.explicitProperty('wrong type 3'); ~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '"wrong type 3"' is not assignable to parameter of type 'number'. c.explicitProperty(15, 'too many arguments 3'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.js b/tests/baselines/reference/thisTypeInFunctionsNegative.js index 602c6afefd7..4b40ca2e1e7 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.js +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.js @@ -333,18 +333,19 @@ var ThisConstructor = (function () { return ThisConstructor; }()); var thisConstructorType; -function notFirst(a, this) { return this.n; } +function notFirst(a) { return this.n; } ///// parse errors ///// function modifiers(, C) { if ( === void 0) { = this; } return this.n; } -function restParam(, C) { return this.n; } +function restParam(C) { return this.n; } function optional(C) { return this.n; } function decorated(, C) { if ( === void 0) { = this; } return this.n; } +function initializer() { } new C(); number; { diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.types b/tests/baselines/reference/thisTypeInObjectLiterals.types index 91d95d5f0a8..240cfaa54f9 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals.types @@ -5,7 +5,7 @@ let o = { d: "bar", >d : string ->"bar" : string +>"bar" : "bar" m() { >m : () => any @@ -37,7 +37,7 @@ let mutuallyRecursive = { a: 100, >a : number ->100 : number +>100 : 100 start() { >start : () => any @@ -71,7 +71,7 @@ let mutuallyRecursive = { if (n > 0) { >n > 0 : boolean >n : number ->0 : number +>0 : 0 return this.passthrough(n - 1); >this.passthrough(n - 1) : any @@ -80,7 +80,7 @@ let mutuallyRecursive = { >passthrough : any >n - 1 : number >n : number ->1 : number +>1 : 1 } return n; >n : number diff --git a/tests/baselines/reference/thisTypeInTuples.types b/tests/baselines/reference/thisTypeInTuples.types index e0268840317..3b6f995840e 100644 --- a/tests/baselines/reference/thisTypeInTuples.types +++ b/tests/baselines/reference/thisTypeInTuples.types @@ -10,30 +10,30 @@ interface Array { let t: [number, string] = [42, "hello"]; >t : [number, string] >[42, "hello"] : [number, string] ->42 : number ->"hello" : string +>42 : 42 +>"hello" : "hello" let a = t.slice(); >a : [number, string] >t.slice() : [number, string] ->t.slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } +>t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } >t : [number, string] ->slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } +>slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } let b = t.slice(1); ->b : (number | string)[] ->t.slice(1) : (number | string)[] ->t.slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } +>b : (string | number)[] +>t.slice(1) : (string | number)[] +>t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } >t : [number, string] ->slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } ->1 : number +>slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } +>1 : 1 let c = t.slice(0, 1); ->c : (number | string)[] ->t.slice(0, 1) : (number | string)[] ->t.slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } +>c : (string | number)[] +>t.slice(0, 1) : (string | number)[] +>t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } >t : [number, string] ->slice : { (start?: number, end?: number): (number | string)[]; (): [number, string]; } ->0 : number ->1 : number +>slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } +>0 : 0 +>1 : 1 diff --git a/tests/baselines/reference/throwInEnclosingStatements.types b/tests/baselines/reference/throwInEnclosingStatements.types index c0a43ca38f5..4955b9243ae 100644 --- a/tests/baselines/reference/throwInEnclosingStatements.types +++ b/tests/baselines/reference/throwInEnclosingStatements.types @@ -22,7 +22,7 @@ switch (y) { >y : string case 'a': ->'a' : string +>'a' : "a" throw y; >y : string @@ -34,12 +34,12 @@ switch (y) { var z = 0; >z : number ->0 : number +>0 : 0 while (z < 10) { >z < 10 : boolean >z : number ->10 : number +>10 : 10 throw z; >z : number @@ -47,7 +47,7 @@ while (z < 10) { for (var i = 0; ;) { throw i; } >i : number ->0 : number +>0 : 0 >i : number for (var idx in {}) { throw idx; } @@ -57,16 +57,16 @@ for (var idx in {}) { throw idx; } do { throw null; }while(true) >null : null ->true : boolean +>true : true var j = 0; >j : number ->0 : number +>0 : 0 while (j < 0) { throw j; } >j < 0 : boolean >j : number ->0 : number +>0 : 0 >j : number class C { @@ -98,7 +98,7 @@ var aa = { id:12, >id : number ->12 : number +>12 : 12 biz() { >biz : () => void diff --git a/tests/baselines/reference/throwStatements.types b/tests/baselines/reference/throwStatements.types index 5023513ee53..19b8988ed47 100644 --- a/tests/baselines/reference/throwStatements.types +++ b/tests/baselines/reference/throwStatements.types @@ -40,7 +40,7 @@ class D{ function F(x: string): number { return 42; } >F : (x: string) => number >x : string ->42 : number +>42 : 42 module M { >M : typeof M @@ -63,14 +63,14 @@ module M { var aNumber = 9.9; >aNumber : number ->9.9 : number +>9.9 : 9.9 throw aNumber; >aNumber : number var aString = 'this is a string'; >aString : string ->'this is a string' : string +>'this is a string' : "this is a string" throw aString; >aString : string @@ -79,7 +79,7 @@ var aDate = new Date(12); >aDate : Date >new Date(12) : Date >Date : DateConstructor ->12 : number +>12 : 12 throw aDate; >aDate : Date @@ -135,7 +135,7 @@ var anObjectLiteral = { id: 12 }; >anObjectLiteral : { id: number; } >{ id: 12 } : { id: number; } >id : number ->12 : number +>12 : 12 throw anObjectLiteral; >anObjectLiteral : { id: number; } @@ -150,13 +150,13 @@ throw aFunction; throw aFunction(''); >aFunction('') : number >aFunction : (x: string) => number ->'' : string +>'' : "" var aLambda = (x) => 2; >aLambda : (x: any) => number >(x) => 2 : (x: any) => number >x : any ->2 : number +>2 : 2 throw aLambda; >aLambda : (x: any) => number @@ -164,7 +164,7 @@ throw aLambda; throw aLambda(1); >aLambda(1) : number >aLambda : (x: any) => number ->1 : number +>1 : 1 var aModule = M; >aModule : typeof M @@ -205,10 +205,10 @@ throw x; // literals throw 0.0; ->0.0 : number +>0.0 : 0 throw false; ->false : boolean +>false : false throw null; >null : null @@ -217,34 +217,34 @@ throw undefined; >undefined : undefined throw 'a string'; ->'a string' : string +>'a string' : "a string" throw function () { return 'a string' }; >function () { return 'a string' } : () => string ->'a string' : string +>'a string' : "a string" throw (x:T) => 42; >(x:T) => 42 : (x: T) => number >T : T >x : T >T : T ->42 : number +>42 : 42 throw { x: 12, y: 13 }; >{ x: 12, y: 13 } : { x: number; y: number; } >x : number ->12 : number +>12 : 12 >y : number ->13 : number +>13 : 13 throw []; >[] : undefined[] throw ['a', ['b']]; >['a', ['b']] : (string | string[])[] ->'a' : string +>'a' : "a" >['b'] : string[] ->'b' : string +>'b' : "b" throw /[a-z]/; >/[a-z]/ : RegExp diff --git a/tests/baselines/reference/throwWithoutNewLine2.js b/tests/baselines/reference/throwWithoutNewLine2.js index 868e4e3d844..db2227671d3 100644 --- a/tests/baselines/reference/throwWithoutNewLine2.js +++ b/tests/baselines/reference/throwWithoutNewLine2.js @@ -3,5 +3,5 @@ throw a; //// [throwWithoutNewLine2.js] -throw ; +throw; a; diff --git a/tests/baselines/reference/toStringOnPrimitives.types b/tests/baselines/reference/toStringOnPrimitives.types index 4d7227f248a..1b0e320ef6f 100644 --- a/tests/baselines/reference/toStringOnPrimitives.types +++ b/tests/baselines/reference/toStringOnPrimitives.types @@ -2,22 +2,22 @@ true.toString() >true.toString() : string >true.toString : () => string ->true : boolean +>true : true >toString : () => string var aBool = false; >aBool : boolean ->false : boolean +>false : false aBool.toString(); >aBool.toString() : string >aBool.toString : () => string ->aBool : boolean +>aBool : false >toString : () => string 1..toString(); >1..toString() : string >1..toString : (radix?: number) => string ->1. : number +>1. : 1 >toString : (radix?: number) => string diff --git a/tests/baselines/reference/topLevel.types b/tests/baselines/reference/topLevel.types index ac1dd1182b9..72794b6f4e3 100644 --- a/tests/baselines/reference/topLevel.types +++ b/tests/baselines/reference/topLevel.types @@ -48,21 +48,21 @@ class Point implements IPoint { >"("+this.x+","+this.y : string >"("+this.x+"," : string >"("+this.x : string ->"(" : string +>"(" : "(" >this.x : any >this : this >x : any ->"," : string +>"," : "," >this.y : any >this : this >y : any ->")" : string +>")" : ")" } } var result=""; >result : string ->"" : string +>"" : "" result+=(new Point(3,4).move(2,2)); >result+=(new Point(3,4).move(2,2)) : string @@ -72,11 +72,11 @@ result+=(new Point(3,4).move(2,2)); >new Point(3,4).move : (xo: number, yo: number) => Point >new Point(3,4) : Point >Point : typeof Point ->3 : number ->4 : number +>3 : 3 +>4 : 4 >move : (xo: number, yo: number) => Point ->2 : number ->2 : number +>2 : 2 +>2 : 2 module M { >M : typeof M @@ -85,8 +85,8 @@ module M { >origin : Point >new Point(0,0) : Point >Point : typeof Point ->0 : number ->0 : number +>0 : 0 +>0 : 0 } result+=(M.origin.move(1,1)); @@ -99,7 +99,7 @@ result+=(M.origin.move(1,1)); >M : typeof M >origin : Point >move : (xo: number, yo: number) => Point ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/topLevelAmbientModule.types b/tests/baselines/reference/topLevelAmbientModule.types index c5bcfa3a5bf..aef1bb5486f 100644 --- a/tests/baselines/reference/topLevelAmbientModule.types +++ b/tests/baselines/reference/topLevelAmbientModule.types @@ -9,7 +9,7 @@ var z = foo.x + 10; >foo.x : number >foo : typeof foo >x : number ->10 : number +>10 : 10 === tests/cases/conformance/externalModules/foo_0.ts === declare module "foo" { diff --git a/tests/baselines/reference/topLevelExports.types b/tests/baselines/reference/topLevelExports.types index ab156991506..4a27478c08f 100644 --- a/tests/baselines/reference/topLevelExports.types +++ b/tests/baselines/reference/topLevelExports.types @@ -1,7 +1,7 @@ === tests/cases/compiler/topLevelExports.ts === export var foo = 3; >foo : number ->3 : number +>3 : 3 function log(n:number) { return n;} >log : (n: number) => number diff --git a/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt b/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt index 498e74ce350..b502eaad7e5 100644 --- a/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt +++ b/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt @@ -1,8 +1,8 @@ -tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts(5,19): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. - Type 'number | string' is not assignable to type 'number'. +tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts(5,19): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. -tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts(6,19): error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. - Type 'number | string' is not assignable to type 'number'. +tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts(6,19): error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. @@ -13,13 +13,13 @@ tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts(6,19): error TS // these two should give the same error this.test([1, 2, "hi", 5, ]); ~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'number'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'number'. !!! error TS2345: Type 'string' is not assignable to type 'number'. this.test([1, 2, "hi", 5]); ~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(number | string)[]' is not assignable to parameter of type 'number[]'. -!!! error TS2345: Type 'number | string' is not assignable to type 'number'. +!!! error TS2345: Argument of type '(string | number)[]' is not assignable to parameter of type 'number[]'. +!!! error TS2345: Type 'string | number' is not assignable to type 'number'. !!! error TS2345: Type 'string' is not assignable to type 'number'. } } diff --git a/tests/baselines/reference/trailingCommasES3.types b/tests/baselines/reference/trailingCommasES3.types index 98777c6b37f..21e397a1c46 100644 --- a/tests/baselines/reference/trailingCommasES3.types +++ b/tests/baselines/reference/trailingCommasES3.types @@ -4,23 +4,23 @@ var o1 = { a: 1, b: 2 }; >o1 : { a: number; b: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 var o2 = { a: 1, b: 2, }; >o2 : { a: number; b: number; } >{ a: 1, b: 2, } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 var o3 = { a: 1, }; >o3 : { a: number; } >{ a: 1, } : { a: number; } >a : number ->1 : number +>1 : 1 var o4 = {}; >o4 : {} @@ -29,19 +29,19 @@ var o4 = {}; var a1 = [1, 2]; >a1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a2 = [1, 2, ]; >a2 : number[] >[1, 2, ] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a3 = [1, ]; >a3 : number[] >[1, ] : number[] ->1 : number +>1 : 1 var a4 = []; >a4 : any[] @@ -50,7 +50,7 @@ var a4 = []; var a5 = [1, , ]; >a5 : number[] >[1, , ] : number[] ->1 : number +>1 : 1 > : undefined var a6 = [, , ]; diff --git a/tests/baselines/reference/trailingCommasES5.types b/tests/baselines/reference/trailingCommasES5.types index 498f70df94a..22d4fb37780 100644 --- a/tests/baselines/reference/trailingCommasES5.types +++ b/tests/baselines/reference/trailingCommasES5.types @@ -4,23 +4,23 @@ var o1 = { a: 1, b: 2 }; >o1 : { a: number; b: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 var o2 = { a: 1, b: 2, }; >o2 : { a: number; b: number; } >{ a: 1, b: 2, } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 var o3 = { a: 1, }; >o3 : { a: number; } >{ a: 1, } : { a: number; } >a : number ->1 : number +>1 : 1 var o4 = {}; >o4 : {} @@ -29,19 +29,19 @@ var o4 = {}; var a1 = [1, 2]; >a1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a2 = [1, 2, ]; >a2 : number[] >[1, 2, ] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 var a3 = [1, ]; >a3 : number[] >[1, ] : number[] ->1 : number +>1 : 1 var a4 = []; >a4 : any[] @@ -50,7 +50,7 @@ var a4 = []; var a5 = [1, , ]; >a5 : number[] >[1, , ] : number[] ->1 : number +>1 : 1 > : undefined var a6 = [, , ]; diff --git a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types index 9e2aa0abd8a..00cca0b5e87 100644 --- a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types +++ b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types @@ -7,7 +7,7 @@ function f1(x,) {} f1(1,); >f1(1,) : void >f1 : (x: any) => void ->1 : number +>1 : 1 function f2(...args,) {} >f2 : (...args: any[]) => void @@ -33,14 +33,14 @@ declare function f3(x, y,): string; >f3(1,) : number >f3(1,) : number >f3 : { (x: any): number; (x: any, y: any): string; } ->1 : number +>1 : 1 f3(1, 2,); >f3(1, 2,) : string >f3(1, 2,) : string >f3 : { (x: any): number; (x: any, y: any): string; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 // Works for constructors too class X { @@ -67,5 +67,5 @@ interface Y { new X(1,); >new X(1,) : X >X : typeof X ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with CommonJS option.js b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with CommonJS option.js index e5495f226d2..f1e36ae9b15 100644 --- a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with CommonJS option.js +++ b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with CommonJS option.js @@ -13,11 +13,11 @@ var MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - fooexport, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); +MyClass1 = __decorate([ + fooexport, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) +], MyClass1); +var _a; //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js index 491481e6a40..9e3d59ce27c 100644 --- a/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js +++ b/tests/baselines/reference/transpile/Correctly serialize metadata when transpile with System option.js @@ -1,6 +1,5 @@ -System.register(["angular2/core"], function(exports_1, context_1) { +System.register(["angular2/core"], function (exports_1, context_1) { "use strict"; - var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -10,26 +9,26 @@ System.register(["angular2/core"], function(exports_1, context_1) { var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; - var ng; - var MyClass1; + var __moduleName = context_1 && context_1.id; + var ng, MyClass1, _a; return { - setters:[ + setters: [ function (ng_1) { ng = ng_1; - }], - execute: function() { + } + ], + execute: function () { MyClass1 = (function () { function MyClass1(_elementRef) { this._elementRef = _elementRef; } - MyClass1 = __decorate([ - fooexport, - __metadata('design:paramtypes', [(typeof (_a = typeof ng !== 'undefined' && ng.ElementRef) === 'function' && _a) || Object]) - ], MyClass1); return MyClass1; - var _a; }()); + MyClass1 = __decorate([ + fooexport, + __metadata("design:paramtypes", [typeof (_a = (typeof ng !== "undefined" && ng).ElementRef) === "function" && _a || Object]) + ], MyClass1); } - } + }; }); //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Rename dependencies - System.js b/tests/baselines/reference/transpile/Rename dependencies - System.js index 8f3fcaa8559..4aad7dd82ec 100644 --- a/tests/baselines/reference/transpile/Rename dependencies - System.js +++ b/tests/baselines/reference/transpile/Rename dependencies - System.js @@ -1,15 +1,16 @@ -System.register(["SomeOtherName"], function(exports_1, context_1) { +System.register(["SomeOtherName"], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var SomeName_1; return { - setters:[ + setters: [ function (SomeName_1_1) { SomeName_1 = SomeName_1_1; - }], - execute: function() { + } + ], + execute: function () { use(SomeName_1.foo); } - } + }; }); //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Rename dependencies - UMD.js b/tests/baselines/reference/transpile/Rename dependencies - UMD.js index 94a7249678f..88bdc515936 100644 --- a/tests/baselines/reference/transpile/Rename dependencies - UMD.js +++ b/tests/baselines/reference/transpile/Rename dependencies - UMD.js @@ -1,11 +1,11 @@ -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports", "SomeOtherName"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports", "SomeOtherName"], function (require, exports) { "use strict"; var SomeName_1 = require("SomeOtherName"); use(SomeName_1.foo); diff --git a/tests/baselines/reference/transpile/Report an error when compiler-options input is empty object.errors.txt b/tests/baselines/reference/transpile/Report an error when compiler-options input is empty object.errors.txt new file mode 100644 index 00000000000..d7d6eb69300 --- /dev/null +++ b/tests/baselines/reference/transpile/Report an error when compiler-options input is empty object.errors.txt @@ -0,0 +1,6 @@ +error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015' + + +!!! error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015' +==== file.ts (0 errors) ==== + \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Report an error when compiler-options input is empty string.errors.txt b/tests/baselines/reference/transpile/Report an error when compiler-options input is empty string.errors.txt new file mode 100644 index 00000000000..d7d6eb69300 --- /dev/null +++ b/tests/baselines/reference/transpile/Report an error when compiler-options input is empty string.errors.txt @@ -0,0 +1,6 @@ +error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015' + + +!!! error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015' +==== file.ts (0 errors) ==== + \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Report an error when compiler-options module-kind is out-of-range.js b/tests/baselines/reference/transpile/Report an error when compiler-options module-kind is out-of-range.js index 1ceb1bcd146..c7570e81192 100644 --- a/tests/baselines/reference/transpile/Report an error when compiler-options module-kind is out-of-range.js +++ b/tests/baselines/reference/transpile/Report an error when compiler-options module-kind is out-of-range.js @@ -1,2 +1 @@ -"use strict"; //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Report an error when compiler-options target-script is out-of-range.js b/tests/baselines/reference/transpile/Report an error when compiler-options target-script is out-of-range.js index 1ceb1bcd146..c7570e81192 100644 --- a/tests/baselines/reference/transpile/Report an error when compiler-options target-script is out-of-range.js +++ b/tests/baselines/reference/transpile/Report an error when compiler-options target-script is out-of-range.js @@ -1,2 +1 @@ -"use strict"; //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Sets module name.js b/tests/baselines/reference/transpile/Sets module name.js index 683266f8383..dfe9605fc9e 100644 --- a/tests/baselines/reference/transpile/Sets module name.js +++ b/tests/baselines/reference/transpile/Sets module name.js @@ -1,12 +1,12 @@ -System.register("NamedModule", [], function(exports_1, context_1) { +System.register("NamedModule", [], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var x; return { - setters:[], - execute: function() { - var x = 1; + setters: [], + execute: function () { + x = 1; } - } + }; }); //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Transpile with emit decorators and emit metadata.js b/tests/baselines/reference/transpile/Transpile with emit decorators and emit metadata.js index 407ee216d58..b6b17292c12 100644 --- a/tests/baselines/reference/transpile/Transpile with emit decorators and emit metadata.js +++ b/tests/baselines/reference/transpile/Transpile with emit decorators and emit metadata.js @@ -1,5 +1,5 @@ "use strict"; -var db_1 = require('./db'); +var db_1 = require("./db"); function someDecorator(target) { return target; } @@ -8,12 +8,12 @@ var MyClass = (function () { this.db = db; this.db.doSomething(); } - MyClass = __decorate([ - someDecorator, - __metadata('design:paramtypes', [(typeof (_a = typeof db_1.db !== 'undefined' && db_1.db) === 'function' && _a) || Object]) - ], MyClass); return MyClass; - var _a; }()); +MyClass = __decorate([ + someDecorator, + __metadata("design:paramtypes", [typeof (_a = typeof db_1.db !== "undefined" && db_1.db) === "function" && _a || Object]) +], MyClass); exports.MyClass = MyClass; +var _a; //# sourceMappingURL=file.js.map \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/tsConfig/Default initialized TSConfig/tsconfig.json new file mode 100644 index 00000000000..ea891967cb5 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Default initialized TSConfig/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json new file mode 100644 index 00000000000..abe135b4f16 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "noUnusedLocals": true + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with enum value compiler options/tsconfig.json new file mode 100644 index 00000000000..e28b66c8c2b --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "jsx": "react" + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with files options/tsconfig.json new file mode 100644 index 00000000000..5273b3cb7c8 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with files options/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false + }, + "files": [ + "file0.st", + "file1.ts", + "file2.ts" + ] +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json new file mode 100644 index 00000000000..fa9cb6cad84 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": [ + "es5", + "es2015.promise" + ] + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json new file mode 100644 index 00000000000..ea891967cb5 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json new file mode 100644 index 00000000000..3ff8208d9d6 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "lib": [ + "es5", + "es2015.core" + ] + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options/tsconfig.json new file mode 100644 index 00000000000..b1740ac4c12 --- /dev/null +++ b/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "noImplicitAny": false, + "sourceMap": false, + "types": [ + "jquery", + "mocha" + ] + } +} \ No newline at end of file diff --git a/tests/baselines/reference/tsxAttributeErrors.errors.txt b/tests/baselines/reference/tsxAttributeErrors.errors.txt index 30a897c5163..4a898969363 100644 --- a/tests/baselines/reference/tsxAttributeErrors.errors.txt +++ b/tests/baselines/reference/tsxAttributeErrors.errors.txt @@ -1,5 +1,5 @@ -tests/cases/conformance/jsx/tsxAttributeErrors.tsx(15,6): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/jsx/tsxAttributeErrors.tsx(18,6): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/jsx/tsxAttributeErrors.tsx(15,6): error TS2322: Type '42' is not assignable to type 'string'. +tests/cases/conformance/jsx/tsxAttributeErrors.tsx(18,6): error TS2322: Type '"foo"' is not assignable to type 'number'. tests/cases/conformance/jsx/tsxAttributeErrors.tsx(22,6): error TS2606: Property 'text' of JSX spread attribute is not assignable to target property. Type 'number' is not assignable to type 'string'. @@ -21,12 +21,12 @@ tests/cases/conformance/jsx/tsxAttributeErrors.tsx(22,6): error TS2606: Property // Error, number is not assignable to string
; ~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '42' is not assignable to type 'string'. // Error, string is not assignable to number
; ~~~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"foo"' is not assignable to type 'number'. // Error, number is not assignable to string var attribs = { text: 100 }; diff --git a/tests/baselines/reference/tsxAttributeResolution1.errors.txt b/tests/baselines/reference/tsxAttributeResolution1.errors.txt index 49bb504604e..f7fb114f3e0 100644 --- a/tests/baselines/reference/tsxAttributeResolution1.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/jsx/file.tsx(23,8): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/jsx/file.tsx(23,8): error TS2322: Type '"0"' is not assignable to type 'number'. tests/cases/conformance/jsx/file.tsx(24,8): error TS2339: Property 'y' does not exist on type 'Attribs1'. tests/cases/conformance/jsx/file.tsx(25,8): error TS2339: Property 'y' does not exist on type 'Attribs1'. -tests/cases/conformance/jsx/file.tsx(26,8): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/jsx/file.tsx(26,8): error TS2322: Type '"32"' is not assignable to type 'number'. tests/cases/conformance/jsx/file.tsx(27,8): error TS2339: Property 'var' does not exist on type 'Attribs1'. tests/cases/conformance/jsx/file.tsx(29,1): error TS2324: Property 'reqd' is missing in type '{ reqd: string; }'. -tests/cases/conformance/jsx/file.tsx(30,8): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(30,8): error TS2322: Type '10' is not assignable to type 'string'. ==== tests/cases/conformance/jsx/file.tsx (7 errors) ==== @@ -32,7 +32,7 @@ tests/cases/conformance/jsx/file.tsx(30,8): error TS2322: Type 'number' is not a // Errors ; // Error, '0' is not number ~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"0"' is not assignable to type 'number'. ; // Error, no property "y" ~ !!! error TS2339: Property 'y' does not exist on type 'Attribs1'. @@ -41,7 +41,7 @@ tests/cases/conformance/jsx/file.tsx(30,8): error TS2322: Type 'number' is not a !!! error TS2339: Property 'y' does not exist on type 'Attribs1'. ; // Error, "32" is not number ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"32"' is not assignable to type 'number'. ; // Error, no 'var' property ~~~ !!! error TS2339: Property 'var' does not exist on type 'Attribs1'. @@ -51,7 +51,7 @@ tests/cases/conformance/jsx/file.tsx(30,8): error TS2322: Type 'number' is not a !!! error TS2324: Property 'reqd' is missing in type '{ reqd: string; }'. ; // Error, reqd is not string ~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '10' is not assignable to type 'string'. // Should be OK ; diff --git a/tests/baselines/reference/tsxAttributeResolution10.errors.txt b/tests/baselines/reference/tsxAttributeResolution10.errors.txt index c929756364c..787eb4b5f00 100644 --- a/tests/baselines/reference/tsxAttributeResolution10.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution10.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/jsx/file.tsx(11,14): error TS2322: Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/jsx/file.tsx(11,14): error TS2322: Type '"world"' is not assignable to type 'boolean'. ==== tests/cases/conformance/jsx/react.d.ts (0 errors) ==== @@ -25,7 +25,7 @@ tests/cases/conformance/jsx/file.tsx(11,14): error TS2322: Type 'string' is not // Should be an error ; ~~~~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"world"' is not assignable to type 'boolean'. // Should be OK ; diff --git a/tests/baselines/reference/tsxAttributeResolution14.errors.txt b/tests/baselines/reference/tsxAttributeResolution14.errors.txt new file mode 100644 index 00000000000..9f4e00747f1 --- /dev/null +++ b/tests/baselines/reference/tsxAttributeResolution14.errors.txt @@ -0,0 +1,38 @@ +tests/cases/conformance/jsx/file.tsx(14,28): error TS2322: Type '2' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(16,28): error TS2322: Type 'true' is not assignable to type 'string | number'. + + +==== tests/cases/conformance/jsx/react.d.ts (0 errors) ==== + + declare module JSX { + interface Element { } + interface IntrinsicElements { + div: any; + } + interface ElementAttributesProperty { prop: any } + } + +==== tests/cases/conformance/jsx/file.tsx (2 errors) ==== + + interface IProps { + primaryText: string, + [propName: string]: string | number + } + + function VerticalNavMenuItem(prop: IProps) { + return
props.primaryText
+ } + + function VerticalNav() { + return ( +
+ // error + ~~~~~~~~~~~~~~~ +!!! error TS2322: Type '2' is not assignable to type 'string'. + // ok + // error + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type 'true' is not assignable to type 'string | number'. +
+ ) + } \ No newline at end of file diff --git a/tests/baselines/reference/tsxAttributeResolution14.js b/tests/baselines/reference/tsxAttributeResolution14.js new file mode 100644 index 00000000000..d920179458c --- /dev/null +++ b/tests/baselines/reference/tsxAttributeResolution14.js @@ -0,0 +1,47 @@ +//// [tests/cases/conformance/jsx/tsxAttributeResolution14.tsx] //// + +//// [react.d.ts] + +declare module JSX { + interface Element { } + interface IntrinsicElements { + div: any; + } + interface ElementAttributesProperty { prop: any } +} + +//// [file.tsx] + +interface IProps { + primaryText: string, + [propName: string]: string | number +} + +function VerticalNavMenuItem(prop: IProps) { + return
props.primaryText
+} + +function VerticalNav() { + return ( +
+ // error + // ok + // error +
+ ) +} + +//// [file.jsx] +function VerticalNavMenuItem(prop) { + return
props.primaryText
; +} +function VerticalNav() { + return (
+ // error + // error + // ok + // ok + // error + // error +
); +} diff --git a/tests/baselines/reference/tsxAttributeResolution3.errors.txt b/tests/baselines/reference/tsxAttributeResolution3.errors.txt index 6513b9879dc..ae8ba7a9a54 100644 --- a/tests/baselines/reference/tsxAttributeResolution3.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution3.errors.txt @@ -3,7 +3,7 @@ tests/cases/conformance/jsx/file.tsx(19,8): error TS2606: Property 'x' of JSX sp tests/cases/conformance/jsx/file.tsx(23,1): error TS2324: Property 'x' is missing in type 'Attribs1'. tests/cases/conformance/jsx/file.tsx(31,15): error TS2606: Property 'x' of JSX spread attribute is not assignable to target property. Type 'number' is not assignable to type 'string'. -tests/cases/conformance/jsx/file.tsx(39,8): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(39,8): error TS2322: Type '32' is not assignable to type 'string'. ==== tests/cases/conformance/jsx/file.tsx (4 errors) ==== @@ -55,5 +55,5 @@ tests/cases/conformance/jsx/file.tsx(39,8): error TS2322: Type 'number' is not a var obj7 = { x: 'foo' }; ~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '32' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/tsxAttributeResolution5.errors.txt b/tests/baselines/reference/tsxAttributeResolution5.errors.txt index d7aa46bc05a..42dabc741ab 100644 --- a/tests/baselines/reference/tsxAttributeResolution5.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution5.errors.txt @@ -2,9 +2,10 @@ tests/cases/conformance/jsx/file.tsx(21,16): error TS2606: Property 'x' of JSX s Type 'number' is not assignable to type 'string'. tests/cases/conformance/jsx/file.tsx(25,9): error TS2324: Property 'x' is missing in type 'Attribs1'. tests/cases/conformance/jsx/file.tsx(29,1): error TS2324: Property 'x' is missing in type 'Attribs1'. +tests/cases/conformance/jsx/file.tsx(30,1): error TS2324: Property 'toString' is missing in type 'Attribs2'. -==== tests/cases/conformance/jsx/file.tsx (3 errors) ==== +==== tests/cases/conformance/jsx/file.tsx (4 errors) ==== declare module JSX { interface Element { } interface IntrinsicElements { @@ -41,5 +42,7 @@ tests/cases/conformance/jsx/file.tsx(29,1): error TS2324: Property 'x' is missin ; // Error, missing x ~~~~~~~~~~~~~~~~~ !!! error TS2324: Property 'x' is missing in type 'Attribs1'. - ; // OK + ; // Error, missing toString + ~~~~~~~~~~~~~~~~~ +!!! error TS2324: Property 'toString' is missing in type 'Attribs2'. \ No newline at end of file diff --git a/tests/baselines/reference/tsxAttributeResolution5.js b/tests/baselines/reference/tsxAttributeResolution5.js index abfb54e000c..4bde09074b5 100644 --- a/tests/baselines/reference/tsxAttributeResolution5.js +++ b/tests/baselines/reference/tsxAttributeResolution5.js @@ -28,7 +28,7 @@ function make3 (obj: T) { ; // Error, missing x -; // OK +; // Error, missing toString //// [file.jsx] @@ -42,4 +42,4 @@ function make3(obj) { return ; // Error, missing x } ; // Error, missing x -; // OK +; // Error, missing toString diff --git a/tests/baselines/reference/tsxAttributeResolution6.errors.txt b/tests/baselines/reference/tsxAttributeResolution6.errors.txt index 732ac9500a9..f3a4d512152 100644 --- a/tests/baselines/reference/tsxAttributeResolution6.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution6.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/jsx/file.tsx(10,8): error TS2322: Type 'boolean' is not assignable to type 'string'. -tests/cases/conformance/jsx/file.tsx(11,8): error TS2322: Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/jsx/file.tsx(11,8): error TS2322: Type '"true"' is not assignable to type 'boolean'. tests/cases/conformance/jsx/file.tsx(12,1): error TS2324: Property 'n' is missing in type '{ n: boolean; }'. @@ -18,7 +18,7 @@ tests/cases/conformance/jsx/file.tsx(12,1): error TS2324: Property 'n' is missin !!! error TS2322: Type 'boolean' is not assignable to type 'string'. ; ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '"true"' is not assignable to type 'boolean'. ; ~~~~~~~~~ !!! error TS2324: Property 'n' is missing in type '{ n: boolean; }'. diff --git a/tests/baselines/reference/tsxAttributeResolution7.errors.txt b/tests/baselines/reference/tsxAttributeResolution7.errors.txt index acbd7f407de..f5af1b48eb2 100644 --- a/tests/baselines/reference/tsxAttributeResolution7.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution7.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/jsx/file.tsx(9,8): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(9,8): error TS2322: Type '32' is not assignable to type 'string'. ==== tests/cases/conformance/jsx/file.tsx (1 errors) ==== @@ -12,7 +12,7 @@ tests/cases/conformance/jsx/file.tsx(9,8): error TS2322: Type 'number' is not as // Error ; ~~~~~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '32' is not assignable to type 'string'. // OK ; diff --git a/tests/baselines/reference/tsxAttributeResolution9.errors.txt b/tests/baselines/reference/tsxAttributeResolution9.errors.txt index c25532eaa0a..73571689b1f 100644 --- a/tests/baselines/reference/tsxAttributeResolution9.errors.txt +++ b/tests/baselines/reference/tsxAttributeResolution9.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/jsx/file.tsx(9,14): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(9,14): error TS2322: Type '0' is not assignable to type 'string'. ==== tests/cases/conformance/jsx/react.d.ts (0 errors) ==== @@ -27,5 +27,5 @@ tests/cases/conformance/jsx/file.tsx(9,14): error TS2322: Type 'number' is not a ; // ok ; // should be an error ~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '0' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/tsxDefaultImports.js b/tests/baselines/reference/tsxDefaultImports.js new file mode 100644 index 00000000000..e7e0a13860d --- /dev/null +++ b/tests/baselines/reference/tsxDefaultImports.js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/tsxDefaultImports.ts] //// + +//// [a.ts] + +enum SomeEnum { + one, +} +export default class SomeClass { + public static E = SomeEnum; +} + +//// [b.ts] +import {default as Def} from "./a" +let a = Def.E.one; + + +//// [a.js] +"use strict"; +var SomeEnum; +(function (SomeEnum) { + SomeEnum[SomeEnum["one"] = 0] = "one"; +})(SomeEnum || (SomeEnum = {})); +var SomeClass = (function () { + function SomeClass() { + } + return SomeClass; +}()); +exports.__esModule = true; +exports["default"] = SomeClass; +SomeClass.E = SomeEnum; +//// [b.js] +"use strict"; +var a_1 = require("./a"); +var a = a_1["default"].E.one; diff --git a/tests/baselines/reference/tsxDefaultImports.symbols b/tests/baselines/reference/tsxDefaultImports.symbols new file mode 100644 index 00000000000..e42392e24aa --- /dev/null +++ b/tests/baselines/reference/tsxDefaultImports.symbols @@ -0,0 +1,29 @@ +=== tests/cases/compiler/a.ts === + +enum SomeEnum { +>SomeEnum : Symbol(SomeEnum, Decl(a.ts, 0, 0)) + + one, +>one : Symbol(SomeEnum.one, Decl(a.ts, 1, 15)) +} +export default class SomeClass { +>SomeClass : Symbol(SomeClass, Decl(a.ts, 3, 1)) + + public static E = SomeEnum; +>E : Symbol(SomeClass.E, Decl(a.ts, 4, 32)) +>SomeEnum : Symbol(SomeEnum, Decl(a.ts, 0, 0)) +} + +=== tests/cases/compiler/b.ts === +import {default as Def} from "./a" +>default : Symbol(Def, Decl(b.ts, 0, 8)) +>Def : Symbol(Def, Decl(b.ts, 0, 8)) + +let a = Def.E.one; +>a : Symbol(a, Decl(b.ts, 1, 3)) +>Def.E.one : Symbol(SomeEnum.one, Decl(a.ts, 1, 15)) +>Def.E : Symbol(Def.E, Decl(a.ts, 4, 32)) +>Def : Symbol(Def, Decl(b.ts, 0, 8)) +>E : Symbol(Def.E, Decl(a.ts, 4, 32)) +>one : Symbol(SomeEnum.one, Decl(a.ts, 1, 15)) + diff --git a/tests/baselines/reference/tsxDefaultImports.types b/tests/baselines/reference/tsxDefaultImports.types new file mode 100644 index 00000000000..a9bdedf3efd --- /dev/null +++ b/tests/baselines/reference/tsxDefaultImports.types @@ -0,0 +1,29 @@ +=== tests/cases/compiler/a.ts === + +enum SomeEnum { +>SomeEnum : SomeEnum + + one, +>one : SomeEnum +} +export default class SomeClass { +>SomeClass : SomeClass + + public static E = SomeEnum; +>E : typeof SomeEnum +>SomeEnum : typeof SomeEnum +} + +=== tests/cases/compiler/b.ts === +import {default as Def} from "./a" +>default : typeof Def +>Def : typeof Def + +let a = Def.E.one; +>a : SomeEnum +>Def.E.one : SomeEnum +>Def.E : typeof SomeEnum +>Def : typeof Def +>E : typeof SomeEnum +>one : SomeEnum + diff --git a/tests/baselines/reference/tsxDynamicTagName1.types b/tests/baselines/reference/tsxDynamicTagName1.types index 005afcf6adb..def9810e052 100644 --- a/tests/baselines/reference/tsxDynamicTagName1.types +++ b/tests/baselines/reference/tsxDynamicTagName1.types @@ -2,7 +2,7 @@ var CustomTag = "h1"; >CustomTag : string ->"h1" : string +>"h1" : "h1" Hello World // No error > Hello World : any diff --git a/tests/baselines/reference/tsxDynamicTagName5.js b/tests/baselines/reference/tsxDynamicTagName5.js index 03c9627c2c1..a8d154998e1 100644 --- a/tests/baselines/reference/tsxDynamicTagName5.js +++ b/tests/baselines/reference/tsxDynamicTagName5.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var Text = (function (_super) { __extends(Text, _super); function Text() { diff --git a/tests/baselines/reference/tsxDynamicTagName5.types b/tests/baselines/reference/tsxDynamicTagName5.types index ac4ee31141a..dbc01e89483 100644 --- a/tests/baselines/reference/tsxDynamicTagName5.types +++ b/tests/baselines/reference/tsxDynamicTagName5.types @@ -19,7 +19,7 @@ export class Text extends React.Component<{}, {}> { _tagName: string = 'div'; >_tagName : string ->'div' : string +>'div' : "div" render() { >render : () => any diff --git a/tests/baselines/reference/tsxDynamicTagName6.types b/tests/baselines/reference/tsxDynamicTagName6.types index 5dadf6fe825..b4fbb1ed358 100644 --- a/tests/baselines/reference/tsxDynamicTagName6.types +++ b/tests/baselines/reference/tsxDynamicTagName6.types @@ -18,7 +18,7 @@ const t = {tag:'h1'} >t : { tag: string; } >{tag:'h1'} : { tag: string; } >tag : string ->'h1' : string +>'h1' : "h1" const foo = // No error >foo : JSX.Element diff --git a/tests/baselines/reference/tsxDynamicTagName7.js b/tests/baselines/reference/tsxDynamicTagName7.js index f8dffbfad7e..dbe171f9682 100644 --- a/tests/baselines/reference/tsxDynamicTagName7.js +++ b/tests/baselines/reference/tsxDynamicTagName7.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var Text = (function (_super) { __extends(Text, _super); function Text() { diff --git a/tests/baselines/reference/tsxDynamicTagName8.js b/tests/baselines/reference/tsxDynamicTagName8.js index 36d551b0ce7..e6f63b6a9bf 100644 --- a/tests/baselines/reference/tsxDynamicTagName8.js +++ b/tests/baselines/reference/tsxDynamicTagName8.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var Text = (function (_super) { __extends(Text, _super); function Text() { diff --git a/tests/baselines/reference/tsxDynamicTagName8.types b/tests/baselines/reference/tsxDynamicTagName8.types index 154e7e33fe0..e2d7956a989 100644 --- a/tests/baselines/reference/tsxDynamicTagName8.types +++ b/tests/baselines/reference/tsxDynamicTagName8.types @@ -19,7 +19,7 @@ export class Text extends React.Component<{}, {}> { _tagName: string = 'div'; >_tagName : string ->'div' : string +>'div' : "div" render() { >render : () => any diff --git a/tests/baselines/reference/tsxDynamicTagName9.js b/tests/baselines/reference/tsxDynamicTagName9.js index 78abc446e3f..589cc7cd226 100644 --- a/tests/baselines/reference/tsxDynamicTagName9.js +++ b/tests/baselines/reference/tsxDynamicTagName9.js @@ -26,7 +26,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var Text = (function (_super) { __extends(Text, _super); function Text() { diff --git a/tests/baselines/reference/tsxElementResolution12.errors.txt b/tests/baselines/reference/tsxElementResolution12.errors.txt index 4a15005f6fb..5367e29e388 100644 --- a/tests/baselines/reference/tsxElementResolution12.errors.txt +++ b/tests/baselines/reference/tsxElementResolution12.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/jsx/file.tsx(17,2): error TS2304: Cannot find name 'Obj2'. tests/cases/conformance/jsx/file.tsx(23,1): error TS2607: JSX element class does not support attributes because it does not have a 'pr' property -tests/cases/conformance/jsx/file.tsx(30,7): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/jsx/file.tsx(30,7): error TS2322: Type '"10"' is not assignable to type 'number'. ==== tests/cases/conformance/jsx/file.tsx (3 errors) ==== @@ -39,5 +39,5 @@ tests/cases/conformance/jsx/file.tsx(30,7): error TS2322: Type 'string' is not a ; // OK ; // Error ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"10"' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/tsxElementResolution13.types b/tests/baselines/reference/tsxElementResolution13.types index 57884f86b56..d55d4705ff4 100644 --- a/tests/baselines/reference/tsxElementResolution13.types +++ b/tests/baselines/reference/tsxElementResolution13.types @@ -25,5 +25,5 @@ var obj1: Obj1; > : JSX.Element >obj1 : Obj1 >x : any ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/tsxElementResolution14.types b/tests/baselines/reference/tsxElementResolution14.types index 2768a6c531d..752a0baafb9 100644 --- a/tests/baselines/reference/tsxElementResolution14.types +++ b/tests/baselines/reference/tsxElementResolution14.types @@ -20,5 +20,5 @@ var obj1: Obj1; > : JSX.Element >obj1 : Obj1 >x : any ->10 : number +>10 : 10 diff --git a/tests/baselines/reference/tsxElementResolution17.js b/tests/baselines/reference/tsxElementResolution17.js index 270c9254cbb..1f813b7e24b 100644 --- a/tests/baselines/reference/tsxElementResolution17.js +++ b/tests/baselines/reference/tsxElementResolution17.js @@ -29,7 +29,7 @@ import s2 = require('elements2'); //// [file.jsx] //// [consumer.jsx] -define(["require", "exports", 'elements1'], function (require, exports, s1) { +define(["require", "exports", "elements1"], function (require, exports, s1) { "use strict"; ; }); diff --git a/tests/baselines/reference/tsxElementResolution19.js b/tests/baselines/reference/tsxElementResolution19.js index 8114c5e4be5..f8c3f4b25be 100644 --- a/tests/baselines/reference/tsxElementResolution19.js +++ b/tests/baselines/reference/tsxElementResolution19.js @@ -32,7 +32,7 @@ define(["require", "exports"], function (require, exports) { exports.MyClass = MyClass; }); //// [file2.js] -define(["require", "exports", 'react', './file1'], function (require, exports, React, file1_1) { +define(["require", "exports", "react", "./file1"], function (require, exports, React, file1_1) { "use strict"; React.createElement(file1_1.MyClass, null); }); diff --git a/tests/baselines/reference/tsxElementResolution9.types b/tests/baselines/reference/tsxElementResolution9.types index b138aa0509e..c63e61efc07 100644 --- a/tests/baselines/reference/tsxElementResolution9.types +++ b/tests/baselines/reference/tsxElementResolution9.types @@ -68,5 +68,5 @@ var Obj3: Obj3; > : JSX.Element >Obj3 : Obj3 >x : any ->42 : number +>42 : 42 diff --git a/tests/baselines/reference/tsxEmit1.types b/tests/baselines/reference/tsxEmit1.types index e6f92bebd1e..84f00b4758a 100644 --- a/tests/baselines/reference/tsxEmit1.types +++ b/tests/baselines/reference/tsxEmit1.types @@ -45,7 +45,7 @@ var selfClosed5 =
; >
: JSX.Element >div : any >x : any ->0 : number +>0 : 0 >y : any var selfClosed6 =
; @@ -53,7 +53,7 @@ var selfClosed6 =
; >
: JSX.Element >div : any >x : any ->"1" : string +>"1" : "1" >y : any var selfClosed7 =
; diff --git a/tests/baselines/reference/tsxEmit3.js b/tests/baselines/reference/tsxEmit3.js index 9501df4e237..33e1975cdbc 100644 --- a/tests/baselines/reference/tsxEmit3.js +++ b/tests/baselines/reference/tsxEmit3.js @@ -58,6 +58,8 @@ var M; return Bar; }()); S.Bar = Bar; + // Emit Foo + // Foo, ; })(S = M.S || (M.S = {})); })(M || (M = {})); var M; diff --git a/tests/baselines/reference/tsxEmit3.js.map b/tests/baselines/reference/tsxEmit3.js.map index 1a19c6b6bf3..051be56f256 100644 --- a/tests/baselines/reference/tsxEmit3.js.map +++ b/tests/baselines/reference/tsxEmit3.js.map @@ -1,2 +1,2 @@ //// [file.jsx.map] -{"version":3,"file":"file.jsx","sourceRoot":"","sources":["file.tsx"],"names":[],"mappings":"AAMA,IAAO,CAAC,CAQP;AARD,WAAO,CAAC,EAAC,CAAC;IACT;QAAmB;QAAgB,CAAC;QAAC,UAAC;IAAD,CAAC,AAAtC,IAAsC;IAAzB,KAAG,MAAsB,CAAA;IACtC,IAAc,CAAC,CAKd;IALD,WAAc,CAAC,EAAC,CAAC;QAChB;YAAA;YAAmB,CAAC;YAAD,UAAC;QAAD,CAAC,AAApB,IAAoB;QAAP,KAAG,MAAI,CAAA;IAIrB,CAAC,EALa,CAAC,GAAD,GAAC,KAAD,GAAC,QAKd;AACF,CAAC,EARM,CAAC,KAAD,CAAC,QAQP;AAED,IAAO,CAAC,CAYP;AAZD,WAAO,CAAC,EAAC,CAAC;IACT,aAAa;IACb,KAAG,EAAE,CAAC,KAAG,GAAG,CAAC;IAEb,IAAc,CAAC,CAMd;IAND,WAAc,CAAC,EAAC,CAAC;QAChB,aAAa;QACb,KAAG,EAAE,CAAC,KAAG,GAAG,CAAC;QAEb,aAAa;QACb,KAAG,EAAE,CAAC,KAAG,GAAG,CAAC;IACd,CAAC,EANa,CAAC,GAAD,GAAC,KAAD,GAAC,QAMd;AAEF,CAAC,EAZM,CAAC,KAAD,CAAC,QAYP;AAED,IAAO,CAAC,CAGP;AAHD,WAAO,CAAC,EAAC,CAAC;IACT,eAAe;IACf,GAAC,CAAC,GAAG,EAAE,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;AAClB,CAAC,EAHM,CAAC,KAAD,CAAC,QAGP;AAED,IAAO,CAAC,CAIP;AAJD,WAAO,GAAC,EAAC,CAAC;IACT,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,eAAe;IACf,OAAG,EAAE,CAAC,OAAG,GAAG,CAAC;AACd,CAAC,EAJM,CAAC,KAAD,CAAC,QAIP"} \ No newline at end of file +{"version":3,"file":"file.jsx","sourceRoot":"","sources":["file.tsx"],"names":[],"mappings":"AAMA,IAAO,CAAC,CAQP;AARD,WAAO,CAAC;IACP;QAAmB;QAAgB,CAAC;QAAC,UAAC;IAAD,CAAC,AAAtC,IAAsC;IAAzB,KAAG,MAAsB,CAAA;IACtC,IAAc,CAAC,CAKd;IALD,WAAc,CAAC;QACd;YAAA;YAAmB,CAAC;YAAD,UAAC;QAAD,CAAC,AAApB,IAAoB;QAAP,KAAG,MAAI,CAAA;QAEpB,WAAW;QACX,gBAAgB;IACjB,CAAC,EALa,CAAC,GAAD,GAAC,KAAD,GAAC,QAKd;AACF,CAAC,EARM,CAAC,KAAD,CAAC,QAQP;AAED,IAAO,CAAC,CAYP;AAZD,WAAO,CAAC;IACP,aAAa;IACb,EAAA,GAAG,EAAE,CAAC,EAAA,GAAG,GAAG,CAAC;IAEb,IAAc,CAAC,CAMd;IAND,WAAc,CAAC;QACd,aAAa;QACb,EAAA,GAAG,EAAE,CAAC,EAAA,GAAG,GAAG,CAAC;QAEb,aAAa;QACb,EAAA,GAAG,EAAE,CAAC,EAAA,GAAG,GAAG,CAAC;IACd,CAAC,EANa,CAAC,GAAD,GAAC,KAAD,GAAC,QAMd;AAEF,CAAC,EAZM,CAAC,KAAD,CAAC,QAYP;AAED,IAAO,CAAC,CAGP;AAHD,WAAO,CAAC;IACP,eAAe;IACf,EAAA,CAAC,CAAC,GAAG,EAAE,CAAC,EAAA,CAAC,CAAC,GAAG,GAAG,CAAC;AAClB,CAAC,EAHM,CAAC,KAAD,CAAC,QAGP;AAED,IAAO,CAAC,CAIP;AAJD,WAAO,GAAC;IACP,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,eAAe;IACf,IAAA,GAAG,EAAE,CAAC,IAAA,GAAG,GAAG,CAAC;AACd,CAAC,EAJM,CAAC,KAAD,CAAC,QAIP"} \ No newline at end of file diff --git a/tests/baselines/reference/tsxEmit3.sourcemap.txt b/tests/baselines/reference/tsxEmit3.sourcemap.txt index b8fdbbfc4ba..02fec081e4c 100644 --- a/tests/baselines/reference/tsxEmit3.sourcemap.txt +++ b/tests/baselines/reference/tsxEmit3.sourcemap.txt @@ -41,24 +41,18 @@ sourceFile:file.tsx 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^-> 1-> 2 >module 3 > M -4 > -5 > { 1->Emitted(2, 1) Source(7, 1) + SourceIndex(0) 2 >Emitted(2, 12) Source(7, 8) + SourceIndex(0) 3 >Emitted(2, 13) Source(7, 9) + SourceIndex(0) -4 >Emitted(2, 15) Source(7, 10) + SourceIndex(0) -5 >Emitted(2, 16) Source(7, 11) + SourceIndex(0) --- >>> var Foo = (function () { 1->^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(3, 5) Source(8, 2) + SourceIndex(0) --- @@ -139,24 +133,18 @@ sourceFile:file.tsx 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^-> 1-> 2 > export module 3 > S -4 > -5 > { 1->Emitted(10, 5) Source(9, 2) + SourceIndex(0) 2 >Emitted(10, 16) Source(9, 16) + SourceIndex(0) 3 >Emitted(10, 17) Source(9, 17) + SourceIndex(0) -4 >Emitted(10, 19) Source(9, 18) + SourceIndex(0) -5 >Emitted(10, 20) Source(9, 19) + SourceIndex(0) --- >>> var Bar = (function () { 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(11, 9) Source(10, 3) + SourceIndex(0) --- @@ -203,7 +191,6 @@ sourceFile:file.tsx 2 > ^^^^^ 3 > ^^^^^^ 4 > ^ -5 > ^^^^^^^^^^^-> 1-> 2 > Bar 3 > { } @@ -213,6 +200,27 @@ sourceFile:file.tsx 3 >Emitted(16, 20) Source(10, 23) + SourceIndex(0) 4 >Emitted(16, 21) Source(10, 23) + SourceIndex(0) --- +>>> // Emit Foo +1 >^^^^^^^^ +2 > ^^^^^^^^^^^ +3 > ^^^^^^-> +1 > + > + > +2 > // Emit Foo +1 >Emitted(17, 9) Source(12, 3) + SourceIndex(0) +2 >Emitted(17, 20) Source(12, 14) + SourceIndex(0) +--- +>>> // Foo, ; +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^ +3 > ^^^^^^^-> +1-> + > +2 > // Foo, ; +1->Emitted(18, 9) Source(13, 3) + SourceIndex(0) +2 >Emitted(18, 25) Source(13, 19) + SourceIndex(0) +--- >>> })(S = M.S || (M.S = {})); 1->^^^^ 2 > ^ @@ -224,9 +232,6 @@ sourceFile:file.tsx 8 > ^^^ 9 > ^^^^^^^^ 1-> - > - > // Emit Foo - > // Foo, ; > 2 > } 3 > @@ -241,15 +246,15 @@ sourceFile:file.tsx > // Emit Foo > // Foo, ; > } -1->Emitted(17, 5) Source(14, 2) + SourceIndex(0) -2 >Emitted(17, 6) Source(14, 3) + SourceIndex(0) -3 >Emitted(17, 8) Source(9, 16) + SourceIndex(0) -4 >Emitted(17, 9) Source(9, 17) + SourceIndex(0) -5 >Emitted(17, 12) Source(9, 16) + SourceIndex(0) -6 >Emitted(17, 15) Source(9, 17) + SourceIndex(0) -7 >Emitted(17, 20) Source(9, 16) + SourceIndex(0) -8 >Emitted(17, 23) Source(9, 17) + SourceIndex(0) -9 >Emitted(17, 31) Source(14, 3) + SourceIndex(0) +1->Emitted(19, 5) Source(14, 2) + SourceIndex(0) +2 >Emitted(19, 6) Source(14, 3) + SourceIndex(0) +3 >Emitted(19, 8) Source(9, 16) + SourceIndex(0) +4 >Emitted(19, 9) Source(9, 17) + SourceIndex(0) +5 >Emitted(19, 12) Source(9, 16) + SourceIndex(0) +6 >Emitted(19, 15) Source(9, 17) + SourceIndex(0) +7 >Emitted(19, 20) Source(9, 16) + SourceIndex(0) +8 >Emitted(19, 23) Source(9, 17) + SourceIndex(0) +9 >Emitted(19, 31) Source(14, 3) + SourceIndex(0) --- >>>})(M || (M = {})); 1 > @@ -275,13 +280,13 @@ sourceFile:file.tsx > // Foo, ; > } > } -1 >Emitted(18, 1) Source(15, 1) + SourceIndex(0) -2 >Emitted(18, 2) Source(15, 2) + SourceIndex(0) -3 >Emitted(18, 4) Source(7, 8) + SourceIndex(0) -4 >Emitted(18, 5) Source(7, 9) + SourceIndex(0) -5 >Emitted(18, 10) Source(7, 8) + SourceIndex(0) -6 >Emitted(18, 11) Source(7, 9) + SourceIndex(0) -7 >Emitted(18, 19) Source(15, 2) + SourceIndex(0) +1 >Emitted(20, 1) Source(15, 1) + SourceIndex(0) +2 >Emitted(20, 2) Source(15, 2) + SourceIndex(0) +3 >Emitted(20, 4) Source(7, 8) + SourceIndex(0) +4 >Emitted(20, 5) Source(7, 9) + SourceIndex(0) +5 >Emitted(20, 10) Source(7, 8) + SourceIndex(0) +6 >Emitted(20, 11) Source(7, 9) + SourceIndex(0) +7 >Emitted(20, 19) Source(15, 2) + SourceIndex(0) --- >>>var M; 1 > @@ -307,62 +312,62 @@ sourceFile:file.tsx > } > > } -1 >Emitted(19, 1) Source(17, 1) + SourceIndex(0) -2 >Emitted(19, 5) Source(17, 8) + SourceIndex(0) -3 >Emitted(19, 6) Source(17, 9) + SourceIndex(0) -4 >Emitted(19, 7) Source(29, 2) + SourceIndex(0) +1 >Emitted(21, 1) Source(17, 1) + SourceIndex(0) +2 >Emitted(21, 5) Source(17, 8) + SourceIndex(0) +3 >Emitted(21, 6) Source(17, 9) + SourceIndex(0) +4 >Emitted(21, 7) Source(29, 2) + SourceIndex(0) --- >>>(function (M) { 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^-> +4 > ^^^^^^-> 1-> 2 >module 3 > M -4 > -5 > { -1->Emitted(20, 1) Source(17, 1) + SourceIndex(0) -2 >Emitted(20, 12) Source(17, 8) + SourceIndex(0) -3 >Emitted(20, 13) Source(17, 9) + SourceIndex(0) -4 >Emitted(20, 15) Source(17, 10) + SourceIndex(0) -5 >Emitted(20, 16) Source(17, 11) + SourceIndex(0) +1->Emitted(22, 1) Source(17, 1) + SourceIndex(0) +2 >Emitted(22, 12) Source(17, 8) + SourceIndex(0) +3 >Emitted(22, 13) Source(17, 9) + SourceIndex(0) --- >>> // Emit M.Foo 1->^^^^ 2 > ^^^^^^^^^^^^^ 3 > ^^^^^-> -1-> +1-> { > 2 > // Emit M.Foo -1->Emitted(21, 5) Source(18, 2) + SourceIndex(0) -2 >Emitted(21, 18) Source(18, 15) + SourceIndex(0) +1->Emitted(23, 5) Source(18, 2) + SourceIndex(0) +2 >Emitted(23, 18) Source(18, 15) + SourceIndex(0) --- >>> M.Foo, ; 1->^^^^ -2 > ^^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^ -6 > ^^^ -7 > ^ +2 > ^^ +3 > ^^^ +4 > ^^ +5 > ^ +6 > ^^ +7 > ^^^ +8 > ^^^ +9 > ^ 1-> > -2 > Foo -3 > , -4 > < -5 > Foo -6 > /> -7 > ; -1->Emitted(22, 5) Source(19, 2) + SourceIndex(0) -2 >Emitted(22, 10) Source(19, 5) + SourceIndex(0) -3 >Emitted(22, 12) Source(19, 7) + SourceIndex(0) -4 >Emitted(22, 13) Source(19, 8) + SourceIndex(0) -5 >Emitted(22, 18) Source(19, 11) + SourceIndex(0) -6 >Emitted(22, 21) Source(19, 14) + SourceIndex(0) -7 >Emitted(22, 22) Source(19, 15) + SourceIndex(0) +2 > +3 > Foo +4 > , +5 > < +6 > +7 > Foo +8 > /> +9 > ; +1->Emitted(24, 5) Source(19, 2) + SourceIndex(0) +2 >Emitted(24, 7) Source(19, 2) + SourceIndex(0) +3 >Emitted(24, 10) Source(19, 5) + SourceIndex(0) +4 >Emitted(24, 12) Source(19, 7) + SourceIndex(0) +5 >Emitted(24, 13) Source(19, 8) + SourceIndex(0) +6 >Emitted(24, 15) Source(19, 8) + SourceIndex(0) +7 >Emitted(24, 18) Source(19, 11) + SourceIndex(0) +8 >Emitted(24, 21) Source(19, 14) + SourceIndex(0) +9 >Emitted(24, 22) Source(19, 15) + SourceIndex(0) --- >>> var S; 1 >^^^^ @@ -382,62 +387,62 @@ sourceFile:file.tsx > // Emit S.Bar > Bar, ; > } -1 >Emitted(23, 5) Source(21, 2) + SourceIndex(0) -2 >Emitted(23, 9) Source(21, 16) + SourceIndex(0) -3 >Emitted(23, 10) Source(21, 17) + SourceIndex(0) -4 >Emitted(23, 11) Source(27, 3) + SourceIndex(0) +1 >Emitted(25, 5) Source(21, 2) + SourceIndex(0) +2 >Emitted(25, 9) Source(21, 16) + SourceIndex(0) +3 >Emitted(25, 10) Source(21, 17) + SourceIndex(0) +4 >Emitted(25, 11) Source(27, 3) + SourceIndex(0) --- >>> (function (S) { 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^-> +4 > ^^^^^^-> 1-> 2 > export module 3 > S -4 > -5 > { -1->Emitted(24, 5) Source(21, 2) + SourceIndex(0) -2 >Emitted(24, 16) Source(21, 16) + SourceIndex(0) -3 >Emitted(24, 17) Source(21, 17) + SourceIndex(0) -4 >Emitted(24, 19) Source(21, 18) + SourceIndex(0) -5 >Emitted(24, 20) Source(21, 19) + SourceIndex(0) +1->Emitted(26, 5) Source(21, 2) + SourceIndex(0) +2 >Emitted(26, 16) Source(21, 16) + SourceIndex(0) +3 >Emitted(26, 17) Source(21, 17) + SourceIndex(0) --- >>> // Emit M.Foo 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^ 3 > ^^^^^-> -1-> +1-> { > 2 > // Emit M.Foo -1->Emitted(25, 9) Source(22, 3) + SourceIndex(0) -2 >Emitted(25, 22) Source(22, 16) + SourceIndex(0) +1->Emitted(27, 9) Source(22, 3) + SourceIndex(0) +2 >Emitted(27, 22) Source(22, 16) + SourceIndex(0) --- >>> M.Foo, ; 1->^^^^^^^^ -2 > ^^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^ -6 > ^^^ -7 > ^ +2 > ^^ +3 > ^^^ +4 > ^^ +5 > ^ +6 > ^^ +7 > ^^^ +8 > ^^^ +9 > ^ 1-> > -2 > Foo -3 > , -4 > < -5 > Foo -6 > /> -7 > ; -1->Emitted(26, 9) Source(23, 3) + SourceIndex(0) -2 >Emitted(26, 14) Source(23, 6) + SourceIndex(0) -3 >Emitted(26, 16) Source(23, 8) + SourceIndex(0) -4 >Emitted(26, 17) Source(23, 9) + SourceIndex(0) -5 >Emitted(26, 22) Source(23, 12) + SourceIndex(0) -6 >Emitted(26, 25) Source(23, 15) + SourceIndex(0) -7 >Emitted(26, 26) Source(23, 16) + SourceIndex(0) +2 > +3 > Foo +4 > , +5 > < +6 > +7 > Foo +8 > /> +9 > ; +1->Emitted(28, 9) Source(23, 3) + SourceIndex(0) +2 >Emitted(28, 11) Source(23, 3) + SourceIndex(0) +3 >Emitted(28, 14) Source(23, 6) + SourceIndex(0) +4 >Emitted(28, 16) Source(23, 8) + SourceIndex(0) +5 >Emitted(28, 17) Source(23, 9) + SourceIndex(0) +6 >Emitted(28, 19) Source(23, 9) + SourceIndex(0) +7 >Emitted(28, 22) Source(23, 12) + SourceIndex(0) +8 >Emitted(28, 25) Source(23, 15) + SourceIndex(0) +9 >Emitted(28, 26) Source(23, 16) + SourceIndex(0) --- >>> // Emit S.Bar 1 >^^^^^^^^ @@ -447,33 +452,39 @@ sourceFile:file.tsx > > 2 > // Emit S.Bar -1 >Emitted(27, 9) Source(25, 3) + SourceIndex(0) -2 >Emitted(27, 22) Source(25, 16) + SourceIndex(0) +1 >Emitted(29, 9) Source(25, 3) + SourceIndex(0) +2 >Emitted(29, 22) Source(25, 16) + SourceIndex(0) --- >>> S.Bar, ; 1->^^^^^^^^ -2 > ^^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^ -6 > ^^^ -7 > ^ -8 > ^^^^^^-> +2 > ^^ +3 > ^^^ +4 > ^^ +5 > ^ +6 > ^^ +7 > ^^^ +8 > ^^^ +9 > ^ +10> ^^^^^^-> 1-> > -2 > Bar -3 > , -4 > < -5 > Bar -6 > /> -7 > ; -1->Emitted(28, 9) Source(26, 3) + SourceIndex(0) -2 >Emitted(28, 14) Source(26, 6) + SourceIndex(0) -3 >Emitted(28, 16) Source(26, 8) + SourceIndex(0) -4 >Emitted(28, 17) Source(26, 9) + SourceIndex(0) -5 >Emitted(28, 22) Source(26, 12) + SourceIndex(0) -6 >Emitted(28, 25) Source(26, 15) + SourceIndex(0) -7 >Emitted(28, 26) Source(26, 16) + SourceIndex(0) +2 > +3 > Bar +4 > , +5 > < +6 > +7 > Bar +8 > /> +9 > ; +1->Emitted(30, 9) Source(26, 3) + SourceIndex(0) +2 >Emitted(30, 11) Source(26, 3) + SourceIndex(0) +3 >Emitted(30, 14) Source(26, 6) + SourceIndex(0) +4 >Emitted(30, 16) Source(26, 8) + SourceIndex(0) +5 >Emitted(30, 17) Source(26, 9) + SourceIndex(0) +6 >Emitted(30, 19) Source(26, 9) + SourceIndex(0) +7 >Emitted(30, 22) Source(26, 12) + SourceIndex(0) +8 >Emitted(30, 25) Source(26, 15) + SourceIndex(0) +9 >Emitted(30, 26) Source(26, 16) + SourceIndex(0) --- >>> })(S = M.S || (M.S = {})); 1->^^^^ @@ -501,15 +512,15 @@ sourceFile:file.tsx > // Emit S.Bar > Bar, ; > } -1->Emitted(29, 5) Source(27, 2) + SourceIndex(0) -2 >Emitted(29, 6) Source(27, 3) + SourceIndex(0) -3 >Emitted(29, 8) Source(21, 16) + SourceIndex(0) -4 >Emitted(29, 9) Source(21, 17) + SourceIndex(0) -5 >Emitted(29, 12) Source(21, 16) + SourceIndex(0) -6 >Emitted(29, 15) Source(21, 17) + SourceIndex(0) -7 >Emitted(29, 20) Source(21, 16) + SourceIndex(0) -8 >Emitted(29, 23) Source(21, 17) + SourceIndex(0) -9 >Emitted(29, 31) Source(27, 3) + SourceIndex(0) +1->Emitted(31, 5) Source(27, 2) + SourceIndex(0) +2 >Emitted(31, 6) Source(27, 3) + SourceIndex(0) +3 >Emitted(31, 8) Source(21, 16) + SourceIndex(0) +4 >Emitted(31, 9) Source(21, 17) + SourceIndex(0) +5 >Emitted(31, 12) Source(21, 16) + SourceIndex(0) +6 >Emitted(31, 15) Source(21, 17) + SourceIndex(0) +7 >Emitted(31, 20) Source(21, 16) + SourceIndex(0) +8 >Emitted(31, 23) Source(21, 17) + SourceIndex(0) +9 >Emitted(31, 31) Source(27, 3) + SourceIndex(0) --- >>>})(M || (M = {})); 1 > @@ -540,13 +551,13 @@ sourceFile:file.tsx > } > > } -1 >Emitted(30, 1) Source(29, 1) + SourceIndex(0) -2 >Emitted(30, 2) Source(29, 2) + SourceIndex(0) -3 >Emitted(30, 4) Source(17, 8) + SourceIndex(0) -4 >Emitted(30, 5) Source(17, 9) + SourceIndex(0) -5 >Emitted(30, 10) Source(17, 8) + SourceIndex(0) -6 >Emitted(30, 11) Source(17, 9) + SourceIndex(0) -7 >Emitted(30, 19) Source(29, 2) + SourceIndex(0) +1 >Emitted(32, 1) Source(29, 1) + SourceIndex(0) +2 >Emitted(32, 2) Source(29, 2) + SourceIndex(0) +3 >Emitted(32, 4) Source(17, 8) + SourceIndex(0) +4 >Emitted(32, 5) Source(17, 9) + SourceIndex(0) +5 >Emitted(32, 10) Source(17, 8) + SourceIndex(0) +6 >Emitted(32, 11) Source(17, 9) + SourceIndex(0) +7 >Emitted(32, 19) Source(29, 2) + SourceIndex(0) --- >>>var M; 1 > @@ -563,74 +574,74 @@ sourceFile:file.tsx > // Emit M.S.Bar > S.Bar, ; > } -1 >Emitted(31, 1) Source(31, 1) + SourceIndex(0) -2 >Emitted(31, 5) Source(31, 8) + SourceIndex(0) -3 >Emitted(31, 6) Source(31, 9) + SourceIndex(0) -4 >Emitted(31, 7) Source(34, 2) + SourceIndex(0) +1 >Emitted(33, 1) Source(31, 1) + SourceIndex(0) +2 >Emitted(33, 5) Source(31, 8) + SourceIndex(0) +3 >Emitted(33, 6) Source(31, 9) + SourceIndex(0) +4 >Emitted(33, 7) Source(34, 2) + SourceIndex(0) --- >>>(function (M) { 1-> 2 >^^^^^^^^^^^ 3 > ^ -4 > ^^ -5 > ^ -6 > ^^^^^-> +4 > ^^^^^^^^-> 1-> 2 >module 3 > M -4 > -5 > { -1->Emitted(32, 1) Source(31, 1) + SourceIndex(0) -2 >Emitted(32, 12) Source(31, 8) + SourceIndex(0) -3 >Emitted(32, 13) Source(31, 9) + SourceIndex(0) -4 >Emitted(32, 15) Source(31, 10) + SourceIndex(0) -5 >Emitted(32, 16) Source(31, 11) + SourceIndex(0) +1->Emitted(34, 1) Source(31, 1) + SourceIndex(0) +2 >Emitted(34, 12) Source(31, 8) + SourceIndex(0) +3 >Emitted(34, 13) Source(31, 9) + SourceIndex(0) --- >>> // Emit M.S.Bar 1->^^^^ 2 > ^^^^^^^^^^^^^^^ 3 > ^^^^^^^-> -1-> +1-> { > 2 > // Emit M.S.Bar -1->Emitted(33, 5) Source(32, 2) + SourceIndex(0) -2 >Emitted(33, 20) Source(32, 17) + SourceIndex(0) +1->Emitted(35, 5) Source(32, 2) + SourceIndex(0) +2 >Emitted(35, 20) Source(32, 17) + SourceIndex(0) --- >>> M.S.Bar, ; 1->^^^^ -2 > ^^^ -3 > ^ -4 > ^^^ -5 > ^^ -6 > ^ -7 > ^^^ -8 > ^ -9 > ^^^ -10> ^^^ -11> ^ +2 > ^^ +3 > ^ +4 > ^ +5 > ^^^ +6 > ^^ +7 > ^ +8 > ^^ +9 > ^ +10> ^ +11> ^^^ +12> ^^^ +13> ^ 1-> > -2 > S -3 > . -4 > Bar -5 > , -6 > < -7 > S -8 > . -9 > Bar -10> /> -11> ; -1->Emitted(34, 5) Source(33, 2) + SourceIndex(0) -2 >Emitted(34, 8) Source(33, 3) + SourceIndex(0) -3 >Emitted(34, 9) Source(33, 4) + SourceIndex(0) -4 >Emitted(34, 12) Source(33, 7) + SourceIndex(0) -5 >Emitted(34, 14) Source(33, 9) + SourceIndex(0) -6 >Emitted(34, 15) Source(33, 10) + SourceIndex(0) -7 >Emitted(34, 18) Source(33, 11) + SourceIndex(0) -8 >Emitted(34, 19) Source(33, 12) + SourceIndex(0) -9 >Emitted(34, 22) Source(33, 15) + SourceIndex(0) -10>Emitted(34, 25) Source(33, 18) + SourceIndex(0) -11>Emitted(34, 26) Source(33, 19) + SourceIndex(0) +2 > +3 > S +4 > . +5 > Bar +6 > , +7 > < +8 > +9 > S +10> . +11> Bar +12> /> +13> ; +1->Emitted(36, 5) Source(33, 2) + SourceIndex(0) +2 >Emitted(36, 7) Source(33, 2) + SourceIndex(0) +3 >Emitted(36, 8) Source(33, 3) + SourceIndex(0) +4 >Emitted(36, 9) Source(33, 4) + SourceIndex(0) +5 >Emitted(36, 12) Source(33, 7) + SourceIndex(0) +6 >Emitted(36, 14) Source(33, 9) + SourceIndex(0) +7 >Emitted(36, 15) Source(33, 10) + SourceIndex(0) +8 >Emitted(36, 17) Source(33, 10) + SourceIndex(0) +9 >Emitted(36, 18) Source(33, 11) + SourceIndex(0) +10>Emitted(36, 19) Source(33, 12) + SourceIndex(0) +11>Emitted(36, 22) Source(33, 15) + SourceIndex(0) +12>Emitted(36, 25) Source(33, 18) + SourceIndex(0) +13>Emitted(36, 26) Source(33, 19) + SourceIndex(0) --- >>>})(M || (M = {})); 1 > @@ -651,13 +662,13 @@ sourceFile:file.tsx > // Emit M.S.Bar > S.Bar, ; > } -1 >Emitted(35, 1) Source(34, 1) + SourceIndex(0) -2 >Emitted(35, 2) Source(34, 2) + SourceIndex(0) -3 >Emitted(35, 4) Source(31, 8) + SourceIndex(0) -4 >Emitted(35, 5) Source(31, 9) + SourceIndex(0) -5 >Emitted(35, 10) Source(31, 8) + SourceIndex(0) -6 >Emitted(35, 11) Source(31, 9) + SourceIndex(0) -7 >Emitted(35, 19) Source(34, 2) + SourceIndex(0) +1 >Emitted(37, 1) Source(34, 1) + SourceIndex(0) +2 >Emitted(37, 2) Source(34, 2) + SourceIndex(0) +3 >Emitted(37, 4) Source(31, 8) + SourceIndex(0) +4 >Emitted(37, 5) Source(31, 9) + SourceIndex(0) +5 >Emitted(37, 10) Source(31, 8) + SourceIndex(0) +6 >Emitted(37, 11) Source(31, 9) + SourceIndex(0) +7 >Emitted(37, 19) Source(34, 2) + SourceIndex(0) --- >>>var M; 1 > @@ -675,49 +686,44 @@ sourceFile:file.tsx > // Emit M_1.Foo > Foo, ; > } -1 >Emitted(36, 1) Source(36, 1) + SourceIndex(0) -2 >Emitted(36, 5) Source(36, 8) + SourceIndex(0) -3 >Emitted(36, 6) Source(36, 9) + SourceIndex(0) -4 >Emitted(36, 7) Source(40, 2) + SourceIndex(0) +1 >Emitted(38, 1) Source(36, 1) + SourceIndex(0) +2 >Emitted(38, 5) Source(36, 8) + SourceIndex(0) +3 >Emitted(38, 6) Source(36, 9) + SourceIndex(0) +4 >Emitted(38, 7) Source(40, 2) + SourceIndex(0) --- >>>(function (M_1) { 1-> 2 >^^^^^^^^^^^ 3 > ^^^ -4 > ^^ -5 > ^ +4 > ^^^-> 1-> 2 >module 3 > M -4 > -5 > { -1->Emitted(37, 1) Source(36, 1) + SourceIndex(0) -2 >Emitted(37, 12) Source(36, 8) + SourceIndex(0) -3 >Emitted(37, 15) Source(36, 9) + SourceIndex(0) -4 >Emitted(37, 17) Source(36, 10) + SourceIndex(0) -5 >Emitted(37, 18) Source(36, 11) + SourceIndex(0) +1->Emitted(39, 1) Source(36, 1) + SourceIndex(0) +2 >Emitted(39, 12) Source(36, 8) + SourceIndex(0) +3 >Emitted(39, 15) Source(36, 9) + SourceIndex(0) --- >>> var M = 100; -1 >^^^^ +1->^^^^ 2 > ^^^^ 3 > ^ 4 > ^^^ 5 > ^^^ 6 > ^ 7 > ^^^^-> -1 > +1-> { > 2 > var 3 > M 4 > = 5 > 100 6 > ; -1 >Emitted(38, 5) Source(37, 2) + SourceIndex(0) -2 >Emitted(38, 9) Source(37, 6) + SourceIndex(0) -3 >Emitted(38, 10) Source(37, 7) + SourceIndex(0) -4 >Emitted(38, 13) Source(37, 10) + SourceIndex(0) -5 >Emitted(38, 16) Source(37, 13) + SourceIndex(0) -6 >Emitted(38, 17) Source(37, 14) + SourceIndex(0) +1->Emitted(40, 5) Source(37, 2) + SourceIndex(0) +2 >Emitted(40, 9) Source(37, 6) + SourceIndex(0) +3 >Emitted(40, 10) Source(37, 7) + SourceIndex(0) +4 >Emitted(40, 13) Source(37, 10) + SourceIndex(0) +5 >Emitted(40, 16) Source(37, 13) + SourceIndex(0) +6 >Emitted(40, 17) Source(37, 14) + SourceIndex(0) --- >>> // Emit M_1.Foo 1->^^^^ @@ -726,32 +732,38 @@ sourceFile:file.tsx 1-> > 2 > // Emit M_1.Foo -1->Emitted(39, 5) Source(38, 2) + SourceIndex(0) -2 >Emitted(39, 20) Source(38, 17) + SourceIndex(0) +1->Emitted(41, 5) Source(38, 2) + SourceIndex(0) +2 >Emitted(41, 20) Source(38, 17) + SourceIndex(0) --- >>> M_1.Foo, ; 1->^^^^ -2 > ^^^^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^^^ -6 > ^^^ -7 > ^ +2 > ^^^^ +3 > ^^^ +4 > ^^ +5 > ^ +6 > ^^^^ +7 > ^^^ +8 > ^^^ +9 > ^ 1-> > -2 > Foo -3 > , -4 > < -5 > Foo -6 > /> -7 > ; -1->Emitted(40, 5) Source(39, 2) + SourceIndex(0) -2 >Emitted(40, 12) Source(39, 5) + SourceIndex(0) -3 >Emitted(40, 14) Source(39, 7) + SourceIndex(0) -4 >Emitted(40, 15) Source(39, 8) + SourceIndex(0) -5 >Emitted(40, 22) Source(39, 11) + SourceIndex(0) -6 >Emitted(40, 25) Source(39, 14) + SourceIndex(0) -7 >Emitted(40, 26) Source(39, 15) + SourceIndex(0) +2 > +3 > Foo +4 > , +5 > < +6 > +7 > Foo +8 > /> +9 > ; +1->Emitted(42, 5) Source(39, 2) + SourceIndex(0) +2 >Emitted(42, 9) Source(39, 2) + SourceIndex(0) +3 >Emitted(42, 12) Source(39, 5) + SourceIndex(0) +4 >Emitted(42, 14) Source(39, 7) + SourceIndex(0) +5 >Emitted(42, 15) Source(39, 8) + SourceIndex(0) +6 >Emitted(42, 19) Source(39, 8) + SourceIndex(0) +7 >Emitted(42, 22) Source(39, 11) + SourceIndex(0) +8 >Emitted(42, 25) Source(39, 14) + SourceIndex(0) +9 >Emitted(42, 26) Source(39, 15) + SourceIndex(0) --- >>>})(M || (M = {})); 1 > @@ -774,12 +786,12 @@ sourceFile:file.tsx > // Emit M_1.Foo > Foo, ; > } -1 >Emitted(41, 1) Source(40, 1) + SourceIndex(0) -2 >Emitted(41, 2) Source(40, 2) + SourceIndex(0) -3 >Emitted(41, 4) Source(36, 8) + SourceIndex(0) -4 >Emitted(41, 5) Source(36, 9) + SourceIndex(0) -5 >Emitted(41, 10) Source(36, 8) + SourceIndex(0) -6 >Emitted(41, 11) Source(36, 9) + SourceIndex(0) -7 >Emitted(41, 19) Source(40, 2) + SourceIndex(0) +1 >Emitted(43, 1) Source(40, 1) + SourceIndex(0) +2 >Emitted(43, 2) Source(40, 2) + SourceIndex(0) +3 >Emitted(43, 4) Source(36, 8) + SourceIndex(0) +4 >Emitted(43, 5) Source(36, 9) + SourceIndex(0) +5 >Emitted(43, 10) Source(36, 8) + SourceIndex(0) +6 >Emitted(43, 11) Source(36, 9) + SourceIndex(0) +7 >Emitted(43, 19) Source(40, 2) + SourceIndex(0) --- >>>//# sourceMappingURL=file.jsx.map \ No newline at end of file diff --git a/tests/baselines/reference/tsxEmit3.types b/tests/baselines/reference/tsxEmit3.types index e70c44d0041..42c31a37720 100644 --- a/tests/baselines/reference/tsxEmit3.types +++ b/tests/baselines/reference/tsxEmit3.types @@ -77,7 +77,7 @@ module M { var M = 100; >M : number ->100 : number +>100 : 100 // Emit M_1.Foo Foo, ; diff --git a/tests/baselines/reference/tsxErrorRecovery3.js b/tests/baselines/reference/tsxErrorRecovery3.js index 93b34a14c19..0e0d3d072a6 100644 --- a/tests/baselines/reference/tsxErrorRecovery3.js +++ b/tests/baselines/reference/tsxErrorRecovery3.js @@ -16,4 +16,4 @@ React.createElement("div", null) , React.createElement("div", null); //// [file2.js] -var x = React.createElement("div", null), React.createElement("div", null); +var x = (React.createElement("div", null), React.createElement("div", null)); diff --git a/tests/baselines/reference/tsxExternalModuleEmit1.js b/tests/baselines/reference/tsxExternalModuleEmit1.js index 29aee544b3c..0d4e58d7008 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit1.js +++ b/tests/baselines/reference/tsxExternalModuleEmit1.js @@ -38,7 +38,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var Button = (function (_super) { __extends(Button, _super); function Button() { @@ -57,9 +57,9 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); // Should see var button_1 = require('./button') here -var button_1 = require('./button'); +var button_1 = require("./button"); var App = (function (_super) { __extends(App, _super); function App() { diff --git a/tests/baselines/reference/tsxExternalModuleEmit2.js b/tests/baselines/reference/tsxExternalModuleEmit2.js index 25e186e140f..6c01a48af78 100644 --- a/tests/baselines/reference/tsxExternalModuleEmit2.js +++ b/tests/baselines/reference/tsxExternalModuleEmit2.js @@ -27,8 +27,8 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { } return t; }; -var mod_1 = require('mod'); +var mod_1 = require("mod"); // Should see mod_1['default'] in emit here -React.createElement(Foo, {handler: mod_1["default"]}); +React.createElement(Foo, { handler: mod_1["default"] }); // Should see mod_1['default'] in emit here React.createElement(Foo, __assign({}, mod_1["default"])); diff --git a/tests/baselines/reference/tsxGenericArrowFunctionParsing.types b/tests/baselines/reference/tsxGenericArrowFunctionParsing.types index d5a9436872a..693f920195d 100644 --- a/tests/baselines/reference/tsxGenericArrowFunctionParsing.types +++ b/tests/baselines/reference/tsxGenericArrowFunctionParsing.types @@ -51,7 +51,7 @@ var x4 = () => {}; >() => {} : JSX.Element >T : any >extends : any ->true : boolean +>true : true >T : any x4.isElement; diff --git a/tests/baselines/reference/tsxPreserveEmit1.js b/tests/baselines/reference/tsxPreserveEmit1.js index 6d795c946c3..b9a7d369fc0 100644 --- a/tests/baselines/reference/tsxPreserveEmit1.js +++ b/tests/baselines/reference/tsxPreserveEmit1.js @@ -34,7 +34,7 @@ module M { //// [test.jsx] -define(["require", "exports", 'react', 'react-router'], function (require, exports, React, ReactRouter) { +define(["require", "exports", "react", "react-router"], function (require, exports, React, ReactRouter) { "use strict"; var Route = ReactRouter.Route; var routes1 = ; diff --git a/tests/baselines/reference/tsxReactEmit1.js b/tests/baselines/reference/tsxReactEmit1.js index f62a7bdc47d..20a91b3fe89 100644 --- a/tests/baselines/reference/tsxReactEmit1.js +++ b/tests/baselines/reference/tsxReactEmit1.js @@ -44,17 +44,17 @@ var whitespace3 =
//// [file.js] var p; var selfClosed1 = React.createElement("div", null); -var selfClosed2 = React.createElement("div", {x: "1"}); -var selfClosed3 = React.createElement("div", {x: '1'}); -var selfClosed4 = React.createElement("div", {x: "1", y: '0'}); -var selfClosed5 = React.createElement("div", {x: 0, y: '0'}); -var selfClosed6 = React.createElement("div", {x: "1", y: '0'}); -var selfClosed7 = React.createElement("div", {x: p, y: 'p', b: true}); +var selfClosed2 = React.createElement("div", { x: "1" }); +var selfClosed3 = React.createElement("div", { x: '1' }); +var selfClosed4 = React.createElement("div", { x: "1", y: '0' }); +var selfClosed5 = React.createElement("div", { x: 0, y: '0' }); +var selfClosed6 = React.createElement("div", { x: "1", y: '0' }); +var selfClosed7 = React.createElement("div", { x: p, y: 'p', b: true }); var openClosed1 = React.createElement("div", null); -var openClosed2 = React.createElement("div", {n: 'm'}, "foo"); -var openClosed3 = React.createElement("div", {n: 'm'}, p); -var openClosed4 = React.createElement("div", {n: 'm'}, p < p); -var openClosed5 = React.createElement("div", {n: 'm', b: true}, p > p); +var openClosed2 = React.createElement("div", { n: 'm' }, "foo"); +var openClosed3 = React.createElement("div", { n: 'm' }, p); +var openClosed4 = React.createElement("div", { n: 'm' }, p < p); +var openClosed5 = React.createElement("div", { n: 'm', b: true }, p > p); var SomeClass = (function () { function SomeClass() { } @@ -63,15 +63,15 @@ var SomeClass = (function () { var rewrites1 = React.createElement("div", null, function () { return _this; }); var rewrites2 = React.createElement("div", null, [p].concat(p, [p])); var rewrites3 = React.createElement("div", null, { p: p }); - var rewrites4 = React.createElement("div", {a: function () { return _this; }}); - var rewrites5 = React.createElement("div", {a: [p].concat(p, [p])}); - var rewrites6 = React.createElement("div", {a: { p: p }}); + var rewrites4 = React.createElement("div", { a: function () { return _this; } }); + var rewrites5 = React.createElement("div", { a: [p].concat(p, [p]) }); + var rewrites6 = React.createElement("div", { a: { p: p } }); }; return SomeClass; }()); var whitespace1 = React.createElement("div", null, " "); -var whitespace2 = React.createElement("div", null, - " ", - p, +var whitespace2 = React.createElement("div", null, + " ", + p, " "); var whitespace3 = React.createElement("div", null, p); diff --git a/tests/baselines/reference/tsxReactEmit1.types b/tests/baselines/reference/tsxReactEmit1.types index d837eb007bf..8eb14e91963 100644 --- a/tests/baselines/reference/tsxReactEmit1.types +++ b/tests/baselines/reference/tsxReactEmit1.types @@ -47,7 +47,7 @@ var selfClosed5 =
; >
: JSX.Element >div : any >x : any ->0 : number +>0 : 0 >y : any var selfClosed6 =
; @@ -55,7 +55,7 @@ var selfClosed6 =
; >
: JSX.Element >div : any >x : any ->"1" : string +>"1" : "1" >y : any var selfClosed7 =
; diff --git a/tests/baselines/reference/tsxReactEmit2.js b/tests/baselines/reference/tsxReactEmit2.js index 051c7380171..80e3215e2b6 100644 --- a/tests/baselines/reference/tsxReactEmit2.js +++ b/tests/baselines/reference/tsxReactEmit2.js @@ -27,6 +27,6 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { var p1, p2, p3; var spreads1 = React.createElement("div", __assign({}, p1), p2); var spreads2 = React.createElement("div", __assign({}, p1), p2); -var spreads3 = React.createElement("div", __assign({x: p3}, p1), p2); -var spreads4 = React.createElement("div", __assign({}, p1, {x: p3}), p2); -var spreads5 = React.createElement("div", __assign({x: p2}, p1, {y: p3}), p2); +var spreads3 = React.createElement("div", __assign({ x: p3 }, p1), p2); +var spreads4 = React.createElement("div", __assign({}, p1, { x: p3 }), p2); +var spreads5 = React.createElement("div", __assign({ x: p2 }, p1, { y: p3 }), p2); diff --git a/tests/baselines/reference/tsxReactEmit3.js b/tests/baselines/reference/tsxReactEmit3.js index 07a8f22761f..155a316e078 100644 --- a/tests/baselines/reference/tsxReactEmit3.js +++ b/tests/baselines/reference/tsxReactEmit3.js @@ -8,11 +8,11 @@ declare var Foo, Bar, baz; q s ; //// [test.js] -React.createElement(Foo, null, - " ", - React.createElement(Bar, null, " q "), - " ", - React.createElement(Bar, null), - " s ", - React.createElement(Bar, null), +React.createElement(Foo, null, + " ", + React.createElement(Bar, null, " q "), + " ", + React.createElement(Bar, null), + " s ", + React.createElement(Bar, null), React.createElement(Bar, null)); diff --git a/tests/baselines/reference/tsxReactEmit4.js b/tests/baselines/reference/tsxReactEmit4.js index 3b554f17cb7..33c835d1ab2 100644 --- a/tests/baselines/reference/tsxReactEmit4.js +++ b/tests/baselines/reference/tsxReactEmit4.js @@ -29,4 +29,4 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { var p; var openClosed1 = React.createElement("div", null, blah); // Should emit React.__spread({}, p, {x: 0}) -var spread1 = React.createElement("div", __assign({}, p, {x: 0})); +var spread1 = React.createElement("div", __assign({}, p, { x: 0 })); diff --git a/tests/baselines/reference/tsxReactEmit5.js b/tests/baselines/reference/tsxReactEmit5.js index a6dde25edc3..c3e58d0a0da 100644 --- a/tests/baselines/reference/tsxReactEmit5.js +++ b/tests/baselines/reference/tsxReactEmit5.js @@ -35,4 +35,4 @@ var test_1 = require("./test"); // Should emit test_1.React.createElement // and React.__spread var foo; -var spread1 = test_1.React.createElement("div", __assign({x: ''}, foo, {y: ''})); +var spread1 = test_1.React.createElement("div", __assign({ x: '' }, foo, { y: '' })); diff --git a/tests/baselines/reference/tsxReactEmit6.js b/tests/baselines/reference/tsxReactEmit6.js index cb41bf4d1eb..a85c6baa687 100644 --- a/tests/baselines/reference/tsxReactEmit6.js +++ b/tests/baselines/reference/tsxReactEmit6.js @@ -44,7 +44,7 @@ var M; // Should emit M.React.createElement // and M.React.__spread var foo; - var spread1 = M.React.createElement("div", __assign({x: ''}, foo, {y: ''})); + var spread1 = M.React.createElement("div", __assign({ x: '' }, foo, { y: '' })); // Quotes var x = M.React.createElement("div", null, "This \"quote\" thing"); })(M || (M = {})); diff --git a/tests/baselines/reference/tsxReactEmit7.js b/tests/baselines/reference/tsxReactEmit7.js index 44d28c2dd9c..c119585c1f6 100644 --- a/tests/baselines/reference/tsxReactEmit7.js +++ b/tests/baselines/reference/tsxReactEmit7.js @@ -21,13 +21,13 @@ var e =
; //// [file.js] -var m = React.createElement("div", {"x-y": "val"}); -var n = React.createElement("div", {"xx-y": "val"}); -var o = React.createElement("div", {"x-yy": "val"}); -var p = React.createElement("div", {"xx-yy": "val"}); +var m = React.createElement("div", { "x-y": "val" }); +var n = React.createElement("div", { "xx-y": "val" }); +var o = React.createElement("div", { "x-yy": "val" }); +var p = React.createElement("div", { "xx-yy": "val" }); // Investigation -var a = React.createElement("div", {x: "val"}); -var b = React.createElement("div", {xx: "val"}); -var c = React.createElement("div", {xxx: "val"}); -var d = React.createElement("div", {xxxx: "val"}); -var e = React.createElement("div", {xxxxx: "val"}); +var a = React.createElement("div", { x: "val" }); +var b = React.createElement("div", { xx: "val" }); +var c = React.createElement("div", { xxx: "val" }); +var d = React.createElement("div", { xxxx: "val" }); +var e = React.createElement("div", { xxxxx: "val" }); diff --git a/tests/baselines/reference/tsxReactEmitEntities.js b/tests/baselines/reference/tsxReactEmitEntities.js index a20f3380bf7..41c294b8bab 100644 --- a/tests/baselines/reference/tsxReactEmitEntities.js +++ b/tests/baselines/reference/tsxReactEmitEntities.js @@ -9,8 +9,27 @@ declare var React: any;
Dot goes here: · ¬AnEntity;
;
Be careful of "-ed strings!
; +
{{braces}}
; +// Escapes do nothing +
\n
; + +// Also works in string literal attributes +
; +// Does not happen for a string literal that happens to be inside an attribute (and escapes then work) +
; +// Preserves single quotes +
//// [file.js] -React.createElement("div", null, "Dot goes here: · ¬AnEntity; "); +React.createElement("div", null, "Dot goes here: \u00B7 ¬AnEntity; "); React.createElement("div", null, "Be careful of \"-ed strings!"); +React.createElement("div", null, "{{braces}}"); +// Escapes do nothing +React.createElement("div", null, "\\n"); +// Also works in string literal attributes +React.createElement("div", { attr: "{\u2026}\\" }); +// Does not happen for a string literal that happens to be inside an attribute (and escapes then work) +React.createElement("div", { attr: "{…}\"" }); +// Preserves single quotes +React.createElement("div", { attr: '"' }); diff --git a/tests/baselines/reference/tsxReactEmitEntities.symbols b/tests/baselines/reference/tsxReactEmitEntities.symbols index 5a0274029e4..470c6177842 100644 --- a/tests/baselines/reference/tsxReactEmitEntities.symbols +++ b/tests/baselines/reference/tsxReactEmitEntities.symbols @@ -23,3 +23,30 @@ declare var React: any; >div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) >div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +
{{braces}}
; +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +// Escapes do nothing +
\n
; +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +// Also works in string literal attributes +
; +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>attr : Symbol(unknown) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +// Does not happen for a string literal that happens to be inside an attribute (and escapes then work) +
; +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>attr : Symbol(unknown) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +// Preserves single quotes +
+>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>attr : Symbol(unknown) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + diff --git a/tests/baselines/reference/tsxReactEmitEntities.types b/tests/baselines/reference/tsxReactEmitEntities.types index 111653ea140..34ef6dff0a8 100644 --- a/tests/baselines/reference/tsxReactEmitEntities.types +++ b/tests/baselines/reference/tsxReactEmitEntities.types @@ -25,3 +25,36 @@ declare var React: any; >div : any >div : any +
{{braces}}
; +>
{{braces}}
: JSX.Element +>div : any +>div : any + +// Escapes do nothing +
\n
; +>
\n
: JSX.Element +>div : any +>div : any + +// Also works in string literal attributes +
; +>
: JSX.Element +>div : any +>attr : any +>div : any + +// Does not happen for a string literal that happens to be inside an attribute (and escapes then work) +
; +>
: JSX.Element +>div : any +>attr : any +>"{…}\"" : "{…}\"" +>div : any + +// Preserves single quotes +
+>
: JSX.Element +>div : any +>attr : any +>div : any + diff --git a/tests/baselines/reference/tsxReactEmitNesting.js b/tests/baselines/reference/tsxReactEmitNesting.js index 53abc04aa9b..29e948f687b 100644 --- a/tests/baselines/reference/tsxReactEmitNesting.js +++ b/tests/baselines/reference/tsxReactEmitNesting.js @@ -38,23 +38,21 @@ let render = (ctrl, model) => //// [file.js] // A simple render function with nesting and control statements var render = function (ctrl, model) { - return vdom.createElement("section", {class: "todoapp"}, - vdom.createElement("header", {class: "header"}, - vdom.createElement("h1", null, "todos "), - vdom.createElement("input", {class: "new-todo", autofocus: true, autocomplete: "off", placeholder: "What needs to be done?", value: model.newTodo, onKeyup: ctrl.addTodo.bind(ctrl, model)})), - vdom.createElement("section", {class: "main", style: { display: (model.todos && model.todos.length) ? "block" : "none" }}, - vdom.createElement("input", {class: "toggle-all", type: "checkbox", onChange: ctrl.toggleAll.bind(ctrl)}), - vdom.createElement("ul", {class: "todo-list"}, model.filteredTodos.map(function (todo) { - return vdom.createElement("li", {class: { todo: true, completed: todo.completed, editing: todo == model.editedTodo }}, - vdom.createElement("div", {class: "view"}, + return vdom.createElement("section", { class: "todoapp" }, + vdom.createElement("header", { class: "header" }, + vdom.createElement("h1", null, "todos "), + vdom.createElement("input", { class: "new-todo", autofocus: true, autocomplete: "off", placeholder: "What needs to be done?", value: model.newTodo, onKeyup: ctrl.addTodo.bind(ctrl, model) })), + vdom.createElement("section", { class: "main", style: { display: (model.todos && model.todos.length) ? "block" : "none" } }, + vdom.createElement("input", { class: "toggle-all", type: "checkbox", onChange: ctrl.toggleAll.bind(ctrl) }), + vdom.createElement("ul", { class: "todo-list" }, model.filteredTodos.map(function (todo) { + return vdom.createElement("li", { class: { todo: true, completed: todo.completed, editing: todo == model.editedTodo } }, + vdom.createElement("div", { class: "view" }, (!todo.editable) ? - vdom.createElement("input", {class: "toggle", type: "checkbox"}) - : null, - vdom.createElement("label", {onDoubleClick: function () { ctrl.editTodo(todo); }}, todo.title), - vdom.createElement("button", {class: "destroy", onClick: ctrl.removeTodo.bind(ctrl, todo)}), - vdom.createElement("div", {class: "iconBorder"}, - vdom.createElement("div", {class: "icon"}) - )) - ); + vdom.createElement("input", { class: "toggle", type: "checkbox" }) + : null, + vdom.createElement("label", { onDoubleClick: function () { ctrl.editTodo(todo); } }, todo.title), + vdom.createElement("button", { class: "destroy", onClick: ctrl.removeTodo.bind(ctrl, todo) }), + vdom.createElement("div", { class: "iconBorder" }, + vdom.createElement("div", { class: "icon" })))); })))); }; diff --git a/tests/baselines/reference/tsxReactEmitNesting.types b/tests/baselines/reference/tsxReactEmitNesting.types index fff29c11525..7a1b3e82441 100644 --- a/tests/baselines/reference/tsxReactEmitNesting.types +++ b/tests/baselines/reference/tsxReactEmitNesting.types @@ -62,7 +62,7 @@ let render = (ctrl, model) => >style : any >{display:(model.todos && model.todos.length) ? "block" : "none"} : { display: string; } >display : string ->(model.todos && model.todos.length) ? "block" : "none" : string +>(model.todos && model.todos.length) ? "block" : "none" : "block" | "none" >(model.todos && model.todos.length) : any >model.todos && model.todos.length : any >model.todos : any @@ -73,8 +73,8 @@ let render = (ctrl, model) => >model : any >todos : any >length : any ->"block" : string ->"none" : string +>"block" : "block" +>"none" : "none" > : any @@ -111,7 +111,7 @@ let render = (ctrl, model) => >class : any >{todo: true, completed: todo.completed, editing: todo == model.editedTodo} : { todo: boolean; completed: any; editing: boolean; } >todo : boolean ->true : boolean +>true : true >completed : any >todo.completed : any >todo : any diff --git a/tests/baselines/reference/tsxReactEmitWhitespace.js b/tests/baselines/reference/tsxReactEmitWhitespace.js index 9a157d242e3..dd69091569f 100644 --- a/tests/baselines/reference/tsxReactEmitWhitespace.js +++ b/tests/baselines/reference/tsxReactEmitWhitespace.js @@ -59,9 +59,9 @@ var p = 0; // Emit " " React.createElement("div", null, " "); // Emit " ", p, " " -React.createElement("div", null, - " ", - p, +React.createElement("div", null, + " ", + p, " "); // Emit only p React.createElement("div", null, p); @@ -76,4 +76,4 @@ React.createElement("div", null, "3"); // Emit no args React.createElement("div", null); // Emit "foo" + ' ' + "bar" -React.createElement("div", null, "foo" + ' ' + "bar"); +React.createElement("div", null, "foo" + " " + "bar"); diff --git a/tests/baselines/reference/tsxReactEmitWhitespace.types b/tests/baselines/reference/tsxReactEmitWhitespace.types index 824aa5cfdae..f5ae431d342 100644 --- a/tests/baselines/reference/tsxReactEmitWhitespace.types +++ b/tests/baselines/reference/tsxReactEmitWhitespace.types @@ -20,7 +20,7 @@ declare var React: any; var p = 0; >p : number ->0 : number +>0 : 0 // Emit " "
; diff --git a/tests/baselines/reference/tsxReactEmitWhitespace2.js b/tests/baselines/reference/tsxReactEmitWhitespace2.js index 152d869fc03..0ff92b37131 100644 --- a/tests/baselines/reference/tsxReactEmitWhitespace2.js +++ b/tests/baselines/reference/tsxReactEmitWhitespace2.js @@ -18,15 +18,15 @@ declare var React: any; //// [file.js] // Emit ' word' in the last string -React.createElement("div", null, - "word ", - React.createElement("code", null, "code"), +React.createElement("div", null, + "word ", + React.createElement("code", null, "code"), " word"); // Same here -React.createElement("div", null, - React.createElement("code", null, "code"), +React.createElement("div", null, + React.createElement("code", null, "code"), " word"); // And here -React.createElement("div", null, - React.createElement("code", null), +React.createElement("div", null, + React.createElement("code", null), " word"); diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt b/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt index a40aef38e22..e1f7570d9c0 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt +++ b/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt @@ -1,6 +1,6 @@ tests/cases/conformance/jsx/file.tsx(12,9): error TS2324: Property 'name' is missing in type 'IntrinsicAttributes & { name: string; }'. tests/cases/conformance/jsx/file.tsx(12,16): error TS2339: Property 'naaame' does not exist on type 'IntrinsicAttributes & { name: string; }'. -tests/cases/conformance/jsx/file.tsx(19,15): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsx/file.tsx(19,15): error TS2322: Type '42' is not assignable to type 'string'. tests/cases/conformance/jsx/file.tsx(21,15): error TS2339: Property 'naaaaaaame' does not exist on type 'IntrinsicAttributes & { name?: string; }'. @@ -29,7 +29,7 @@ tests/cases/conformance/jsx/file.tsx(21,15): error TS2339: Property 'naaaaaaame' // Error let e = ; ~~~~~~~~~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '42' is not assignable to type 'string'. // Error let f = ; ~~~~~~~~~~ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.js b/tests/baselines/reference/tsxStatelessFunctionComponents2.js index 04d61d41218..b93832567d5 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.js +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.js @@ -45,7 +45,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); function Greet(x) { return
Hello, {x}
; } diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents3.js b/tests/baselines/reference/tsxStatelessFunctionComponents3.js index d58586dd1ee..02ddcc8a58e 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents3.js +++ b/tests/baselines/reference/tsxStatelessFunctionComponents3.js @@ -19,7 +19,7 @@ var App: React.StatelessComponent<{ children }> = ({children}) => ( ); //// [file.jsx] -define(["require", "exports", 'react'], function (require, exports, React) { +define(["require", "exports", "react"], function (require, exports, React) { "use strict"; var Foo = function (props) { return
; }; // Should be OK diff --git a/tests/baselines/reference/tsxTypeErrors.types b/tests/baselines/reference/tsxTypeErrors.types index 303c7695dbf..d64781479fa 100644 --- a/tests/baselines/reference/tsxTypeErrors.types +++ b/tests/baselines/reference/tsxTypeErrors.types @@ -19,7 +19,7 @@ var thing = { oops: 100 }; >thing : { oops: number; } >{ oops: 100 } : { oops: number; } >oops : number ->100 : number +>100 : 100 var a3 =
>a3 : any @@ -62,7 +62,7 @@ var b1 = ; > : any >MyClass : typeof MyClass >reqd : any ->true : boolean +>true : true // Mistyped attribute member // sample.tsx(23,22): error TS2322: Type '{ x: number; y: string; }' is not assignable to type '{ x: number; y: number; }'. @@ -75,8 +75,8 @@ var b2 = ; >pt : any >{x: 4, y: 'oops'} : { x: number; y: string; } >x : number ->4 : number +>4 : 4 >y : string ->'oops' : string +>'oops' : "oops" diff --git a/tests/baselines/reference/tsxUnionTypeComponent1.js b/tests/baselines/reference/tsxUnionTypeComponent1.js index 11b41a2aa3d..444542068be 100644 --- a/tests/baselines/reference/tsxUnionTypeComponent1.js +++ b/tests/baselines/reference/tsxUnionTypeComponent1.js @@ -31,7 +31,7 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var React = require('react'); +var React = require("react"); var MyComponent = (function (_super) { __extends(MyComponent, _super); function MyComponent() { @@ -44,7 +44,7 @@ var MyComponent = (function (_super) { return MyComponent; }(React.Component)); // Stateless Component As Props -React.createElement(MyComponent, {AnyComponent: function () { return React.createElement("button", null, "test"); }}); +React.createElement(MyComponent, { AnyComponent: function () { return React.createElement("button", null, "test"); } }); // Component Class as Props var MyButtonComponent = (function (_super) { __extends(MyButtonComponent, _super); @@ -53,4 +53,4 @@ var MyButtonComponent = (function (_super) { } return MyButtonComponent; }(React.Component)); -React.createElement(MyComponent, {AnyComponent: MyButtonComponent}); +React.createElement(MyComponent, { AnyComponent: MyButtonComponent }); diff --git a/tests/baselines/reference/tsxUnionTypeComponent2.js b/tests/baselines/reference/tsxUnionTypeComponent2.js index b88816f285a..3cc6f44c699 100644 --- a/tests/baselines/reference/tsxUnionTypeComponent2.js +++ b/tests/baselines/reference/tsxUnionTypeComponent2.js @@ -13,6 +13,6 @@ const X: Invalid1 = 1; //// [file.js] "use strict"; -var React = require('react'); +var React = require("react"); var X = 1; React.createElement(X, null); diff --git a/tests/baselines/reference/tupleElementTypes3.types b/tests/baselines/reference/tupleElementTypes3.types index 6f29ba1371a..eee520d4425 100644 --- a/tests/baselines/reference/tupleElementTypes3.types +++ b/tests/baselines/reference/tupleElementTypes3.types @@ -3,6 +3,6 @@ var [a, b] = [0, undefined]; >a : number >b : any >[0, undefined] : [number, undefined] ->0 : number +>0 : 0 >undefined : undefined diff --git a/tests/baselines/reference/tupleElementTypes4.types b/tests/baselines/reference/tupleElementTypes4.types index 06e19ef72bb..72ff071e5e2 100644 --- a/tests/baselines/reference/tupleElementTypes4.types +++ b/tests/baselines/reference/tupleElementTypes4.types @@ -4,6 +4,6 @@ function f([a, b] = [0, undefined]) { } >a : number >b : any >[0, undefined] : [number, undefined] ->0 : number +>0 : 0 >undefined : undefined diff --git a/tests/baselines/reference/tupleTypes.errors.txt b/tests/baselines/reference/tupleTypes.errors.txt index 8f418f98157..3b55476e4b1 100644 --- a/tests/baselines/reference/tupleTypes.errors.txt +++ b/tests/baselines/reference/tupleTypes.errors.txt @@ -4,13 +4,12 @@ tests/cases/compiler/tupleTypes.ts(14,1): error TS2322: Type 'undefined[]' is no tests/cases/compiler/tupleTypes.ts(15,1): error TS2322: Type '[number]' is not assignable to type '[number, string]'. Property '1' is missing in type '[number]'. tests/cases/compiler/tupleTypes.ts(17,1): error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. - Types of property '0' are incompatible. - Type 'string' is not assignable to type 'number'. + Type 'string' is not assignable to type 'number'. tests/cases/compiler/tupleTypes.ts(41,1): error TS2322: Type 'undefined[]' is not assignable to type '[number, string]'. tests/cases/compiler/tupleTypes.ts(47,1): error TS2322: Type '[number, string]' is not assignable to type 'number[]'. Types of property 'pop' are incompatible. - Type '() => number | string' is not assignable to type '() => number'. - Type 'number | string' is not assignable to type 'number'. + Type '() => string | number' is not assignable to type '() => number'. + Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/tupleTypes.ts(49,1): error TS2322: Type '[number, {}]' is not assignable to type 'number[]'. Types of property 'pop' are incompatible. @@ -18,11 +17,9 @@ tests/cases/compiler/tupleTypes.ts(49,1): error TS2322: Type '[number, {}]' is n Type 'number | {}' is not assignable to type 'number'. Type '{}' is not assignable to type 'number'. tests/cases/compiler/tupleTypes.ts(50,1): error TS2322: Type '[number, number]' is not assignable to type '[number, string]'. - Types of property '1' are incompatible. - Type 'number' is not assignable to type 'string'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is not assignable to type '[number, string]'. - Types of property '1' are incompatible. - Type '{}' is not assignable to type 'string'. + Type '{}' is not assignable to type 'string'. ==== tests/cases/compiler/tupleTypes.ts (9 errors) ==== @@ -53,8 +50,7 @@ tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is n t = ["hello", 1]; // Error ~ !!! error TS2322: Type '[string, number]' is not assignable to type '[number, string]'. -!!! error TS2322: Types of property '0' are incompatible. -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. t = [1, "hello", 2]; // Ok var tf: [string, (x: string) => number] = ["hello", x => x.length]; @@ -90,8 +86,8 @@ tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is n ~ !!! error TS2322: Type '[number, string]' is not assignable to type 'number[]'. !!! error TS2322: Types of property 'pop' are incompatible. -!!! error TS2322: Type '() => number | string' is not assignable to type '() => number'. -!!! error TS2322: Type 'number | string' is not assignable to type 'number'. +!!! error TS2322: Type '() => string | number' is not assignable to type '() => number'. +!!! error TS2322: Type 'string | number' is not assignable to type 'number'. !!! error TS2322: Type 'string' is not assignable to type 'number'. a = a2; a = a3; // Error @@ -104,13 +100,11 @@ tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is n a1 = a2; // Error ~~ !!! error TS2322: Type '[number, number]' is not assignable to type '[number, string]'. -!!! error TS2322: Types of property '1' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. a1 = a3; // Error ~~ !!! error TS2322: Type '[number, {}]' is not assignable to type '[number, string]'. -!!! error TS2322: Types of property '1' are incompatible. -!!! error TS2322: Type '{}' is not assignable to type 'string'. +!!! error TS2322: Type '{}' is not assignable to type 'string'. a3 = a1; a3 = a2; \ No newline at end of file diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types index e9ed0031928..897e54a2330 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types @@ -63,7 +63,7 @@ var r = b.foo(true); // returns Date >b.foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } >b : B >foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } ->true : boolean +>true : true // add generic overload interface C { @@ -106,12 +106,12 @@ var c: C; var r2 = c.foo(1, 2); // number >r2 : number ->c.foo(1, 2) : number +>c.foo(1, 2) : 1 | 2 >c.foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } >c : C >foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } ->1 : number ->2 : number +>1 : 1 +>2 : 2 // add generic overload that would be ambiguous interface D { @@ -163,6 +163,6 @@ var r3 = d.foo(1, 1); // boolean, last definition wins >d.foo : { (x: A, y: A): Date; (x: W, y: W): boolean; } >d : D >foo : { (x: A, y: A): Date; (x: W, y: W): boolean; } ->1 : number ->1 : number +>1 : 1 +>1 : 1 diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads2.types b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads2.types index afbafba4920..bbe716d4323 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads2.types +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads2.types @@ -28,14 +28,14 @@ var r2 = a(1); >r2 : number >a(1) : number >a : A ->1 : number +>1 : 1 var r3 = a(1, 2); >r3 : boolean >a(1, 2) : boolean >a : A ->1 : number ->2 : number +>1 : 1 +>2 : 2 module G { >G : typeof G @@ -83,19 +83,19 @@ module G { >r2 : boolean >a(true) : boolean >a : A ->true : boolean +>true : true var r3 = a(true, 2); >r3 : boolean >a(true, 2) : boolean >a : A ->true : boolean ->2 : number +>true : true +>2 : 2 var r4 = a(1, true); >r4 : number ->a(1, true) : number +>a(1, true) : 1 >a : A ->1 : number ->true : boolean +>1 : 1 +>true : true } diff --git a/tests/baselines/reference/typeAliasDeclarationEmit.js b/tests/baselines/reference/typeAliasDeclarationEmit.js index 1f72e1d1b00..6e82fe4b07d 100644 --- a/tests/baselines/reference/typeAliasDeclarationEmit.js +++ b/tests/baselines/reference/typeAliasDeclarationEmit.js @@ -6,7 +6,6 @@ export type CallbackArray = () => T; //// [typeAliasDeclarationEmit.js] define(["require", "exports"], function (require, exports) { - "use strict"; }); diff --git a/tests/baselines/reference/typeAliasDeclarationEmit.types b/tests/baselines/reference/typeAliasDeclarationEmit.types index 6f9359e36f5..cc7d5f9a342 100644 --- a/tests/baselines/reference/typeAliasDeclarationEmit.types +++ b/tests/baselines/reference/typeAliasDeclarationEmit.types @@ -1,13 +1,13 @@ === tests/cases/compiler/typeAliasDeclarationEmit.ts === export type callback = () => T; ->callback : () => T +>callback : callback >T : T >T : T export type CallbackArray = () => T; ->CallbackArray : () => T +>CallbackArray : CallbackArray >T : T ->callback : () => T +>callback : callback >T : T diff --git a/tests/baselines/reference/typeAliasDeclarationEmit2.js b/tests/baselines/reference/typeAliasDeclarationEmit2.js index b94eb56a2a2..4bb1bd3efd9 100644 --- a/tests/baselines/reference/typeAliasDeclarationEmit2.js +++ b/tests/baselines/reference/typeAliasDeclarationEmit2.js @@ -4,7 +4,6 @@ export type A = { value: a }; //// [typeAliasDeclarationEmit2.js] define(["require", "exports"], function (require, exports) { - "use strict"; }); diff --git a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types index eb0fcdcbbca..f112db28e7f 100644 --- a/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types +++ b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types @@ -4,7 +4,7 @@ declare module m { // type alias declaration here shouldnt make the module declaration instantiated type Selector = string| string[] |Function; ->Selector : string | string[] | Function +>Selector : Selector >Function : Function export interface IStatic { diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types index c762a568b32..1d798bc14a6 100644 --- a/tests/baselines/reference/typeAliases.types +++ b/tests/baselines/reference/typeAliases.types @@ -94,14 +94,14 @@ var x8: T8; >T8 : string | boolean type T9 = () => string; ->T9 : () => string +>T9 : T9 var x9: () => string; >x9 : () => string var x9: T9; >x9 : () => string ->T9 : () => string +>T9 : T9 type T10 = { x: number }; >T10 : { x: number; } @@ -191,7 +191,7 @@ type Meters = number enum E { x = 10 } >E : E >x : E ->10 : number +>10 : 10 declare function f15(a: string): boolean; >f15 : { (a: string): boolean; (a: number): string; } @@ -231,15 +231,15 @@ f16(x); var y: StringAndBoolean = ["1", false]; >y : [string, boolean] >StringAndBoolean : [string, boolean] ->["1", false] : [string, boolean] ->"1" : string ->false : boolean +>["1", false] : [string, false] +>"1" : "1" +>false : false y[0].toLowerCase(); >y[0].toLowerCase() : string >y[0].toLowerCase : () => string >y[0] : string >y : [string, boolean] ->0 : number +>0 : 0 >toLowerCase : () => string diff --git a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types index d0c881c1c5d..66e35a5a535 100644 --- a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types +++ b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types @@ -28,31 +28,31 @@ var menuData: IMenuItem[] = [ >{ "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" } : { "id": string; "type": string; "link": string; "icon": string; } "id": "ourLogo", ->"ourLogo" : string +>"ourLogo" : "ourLogo" "type": "image", ->"image" : string +>"image" : "image" "link": "", ->"" : string +>"" : "" "icon": "modules/menu/logo.svg" ->"modules/menu/logo.svg" : string +>"modules/menu/logo.svg" : "modules/menu/logo.svg" }, { >{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { "id": string; "type": string; "link": string; "text": string; } "id": "productName", ->"productName" : string +>"productName" : "productName" "type": "default", ->"default" : string +>"default" : "default" "link": "", ->"" : string +>"" : "" "text": "Product Name" ->"Product Name" : string +>"Product Name" : "Product Name" } ]; diff --git a/tests/baselines/reference/typeArgInference.types b/tests/baselines/reference/typeArgInference.types index d553e0fe8d4..e8a2fff80a7 100644 --- a/tests/baselines/reference/typeArgInference.types +++ b/tests/baselines/reference/typeArgInference.types @@ -39,9 +39,9 @@ var o = { a: 3, b: "test" }; >o : { a: number; b: string; } >{ a: 3, b: "test" } : { a: number; b: string; } >a : number ->3 : number +>3 : 3 >b : string ->"test" : string +>"test" : "test" var x: I; >x : I diff --git a/tests/baselines/reference/typeArgInference2WithError.errors.txt b/tests/baselines/reference/typeArgInference2WithError.errors.txt index 8a191ed310e..e7abedfecb7 100644 --- a/tests/baselines/reference/typeArgInference2WithError.errors.txt +++ b/tests/baselines/reference/typeArgInference2WithError.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/typeArgInference2WithError.ts(7,10): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '"abc"' is not a valid type argument because it is not a supertype of candidate '5'. ==== tests/cases/compiler/typeArgInference2WithError.ts (1 errors) ==== @@ -12,4 +12,4 @@ tests/cases/compiler/typeArgInference2WithError.ts(7,10): error TS2453: The type var z7 = foo("abc", 5); // Error ~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. \ No newline at end of file +!!! error TS2453: Type argument candidate '"abc"' is not a valid type argument because it is not a supertype of candidate '5'. \ No newline at end of file diff --git a/tests/baselines/reference/typeArgInferenceWithNull.types b/tests/baselines/reference/typeArgInferenceWithNull.types index 93ded4267eb..52f656f6890 100644 --- a/tests/baselines/reference/typeArgInferenceWithNull.types +++ b/tests/baselines/reference/typeArgInferenceWithNull.types @@ -48,5 +48,5 @@ fn6({ x: null }, y => { }, { x: "" }); // y has type { x: any }, but ideally wou >y : { x: string; } >{ x: "" } : { x: string; } >x : string ->"" : string +>"" : "" diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.errors.txt b/tests/baselines/reference/typeArgumentConstraintResolution1.errors.txt index 1131b6e1a68..6f27916eda0 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.errors.txt +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/typeArgumentConstraintResolution1.ts(4,12): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'. -tests/cases/compiler/typeArgumentConstraintResolution1.ts(11,12): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'. +tests/cases/compiler/typeArgumentConstraintResolution1.ts(4,12): error TS2345: Argument of type '""' is not assignable to parameter of type 'Date'. +tests/cases/compiler/typeArgumentConstraintResolution1.ts(11,12): error TS2345: Argument of type '""' is not assignable to parameter of type 'Date'. ==== tests/cases/compiler/typeArgumentConstraintResolution1.ts (2 errors) ==== @@ -8,7 +8,7 @@ tests/cases/compiler/typeArgumentConstraintResolution1.ts(11,12): error TS2345: function foo1(test: any) { } foo1(""); // should error ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'Date'. @@ -17,5 +17,5 @@ tests/cases/compiler/typeArgumentConstraintResolution1.ts(11,12): error TS2345: function foo2(test: any): any { return null; } foo2(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number' ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'Date'. \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentInference.errors.txt b/tests/baselines/reference/typeArgumentInference.errors.txt index 51cf4ccf7d2..cc6c1d8ce96 100644 --- a/tests/baselines/reference/typeArgumentInference.errors.txt +++ b/tests/baselines/reference/typeArgumentInference.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(68,11): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(82,69): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate '{ x: number; z: Date; }' is not a valid type argument because it is not a supertype of candidate '{ x: number; y: string; }'. Object literal may only specify known properties, and 'y' does not exist in type '{ x: number; z: Date; }'. @@ -78,7 +78,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(84,74 var a9a = someGenerics9('', 0, []); ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. var a9a: {}; var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType1.types b/tests/baselines/reference/typeArgumentInferenceApparentType1.types index 29fd1aeca18..1b25f79d4fc 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType1.types +++ b/tests/baselines/reference/typeArgumentInferenceApparentType1.types @@ -14,5 +14,5 @@ var res: string = method("test"); >res : string >method("test") : string >method : (iterable: Iterable) => T ->"test" : string +>"test" : "test" diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt index da01aa778b6..ab056d461e9 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(25,35): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(25,35): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(51,19): error TS2304: Cannot find name 'Window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(61,39): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. @@ -10,7 +10,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct Types of parameters 'n' and 'b' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(106,15): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(118,9): error TS2304: Cannot find name 'Window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(120,51): error TS2304: Cannot find name 'window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(120,69): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. @@ -48,7 +48,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct new someGenerics1(3, 4); new someGenerics1(3, 4); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. new someGenerics1(3, 4); // Generic call with argument of function type whose parameter is of type parameter type @@ -146,7 +146,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct var a9a = new someGenerics9('', 0, []); ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. var a9a: {}; var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt b/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt index 36a17e166a5..47d5e82994c 100644 --- a/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceErrors.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(3,31): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(3,31): error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts(7,35): error TS2345: Argument of type '(x: string) => string' is not assignable to parameter of type '(x: number) => void'. Types of parameters 'x' and 'x' are incompatible. Type 'number' is not assignable to type 'string'. @@ -15,7 +15,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts function someGenerics1(n: T, m: number) { } someGenerics1(3, 4); // Error ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '3' is not assignable to parameter of type 'string'. // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type function someGenerics4(n: T, f: (x: U) => void) { } diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.js b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.js index d18181dd1dc..44b37cc3be5 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.js +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.js @@ -14,9 +14,11 @@ function foo(x) { }()); } return undefined; } -foo((function () { - function class_2() { - } - class_2.prop = "hello"; - return class_2; -}())).length; +foo((_a = (function () { + function class_2() { + } + return class_2; + }()), + _a.prop = "hello", + _a)).length; +var _a; diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types index 63ee1309383..dd434e8bb5d 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types @@ -18,6 +18,6 @@ foo(class { static prop = "hello" }).length; >foo : (x?: typeof (Anonymous class)) => T >class { static prop = "hello" } : typeof (Anonymous class) >prop : string ->"hello" : string +>"hello" : "hello" >length : number diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.js b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.js index 66da2ffbff6..bd221a30137 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.js +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.js @@ -16,9 +16,11 @@ function foo(x) { return undefined; } // Should not infer string because it is a static property -foo((function () { - function class_2() { - } - class_2.prop = "hello"; - return class_2; -}())).length; +foo((_a = (function () { + function class_2() { + } + return class_2; + }()), + _a.prop = "hello", + _a)).length; +var _a; diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types index 9a2bddd9296..82764584abd 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types @@ -18,6 +18,6 @@ foo(class { prop = "hello" }).length; >foo : (x?: typeof (Anonymous class)) => T >class { prop = "hello" } : typeof (Anonymous class) >prop : string ->"hello" : string +>"hello" : "hello" >length : number diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt index 22d18e11eca..090f8c9b852 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt @@ -15,7 +15,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(66,31): error TS2345: Argument of type '(a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void' is not assignable to parameter of type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(73,11): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(85,9): error TS2304: Cannot find name 'Window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(87,47): error TS2304: Cannot find name 'window'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(87,65): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. @@ -128,7 +128,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst var a9a = someGenerics9('', 0, []); ~~~~~~~~~~~~~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '0'. var a9a: {}; var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.errors.txt index c1352bedb9b..e82e7e020d0 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.errors.txt @@ -1,8 +1,10 @@ +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithObjectLiteral.ts(30,10): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. + Type argument candidate 'E1' is not a valid type argument because it is not a supertype of candidate '0'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithObjectLiteral.ts(35,10): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate 'E1' is not a valid type argument because it is not a supertype of candidate 'E2'. -==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithObjectLiteral.ts (1 errors) ==== +==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithObjectLiteral.ts (2 errors) ==== interface Computed { read(): T; write(value: T); @@ -33,6 +35,9 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithObjec var v1 = f1({ w: x => x, r: () => 0 }, 0); var v1 = f1({ w: x => x, r: () => 0 }, E1.X); var v1 = f1({ w: x => x, r: () => E1.X }, 0); + ~~ +!!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. +!!! error TS2453: Type argument candidate 'E1' is not a valid type argument because it is not a supertype of candidate '0'. var v2: E1; var v2 = f1({ w: x => x, r: () => E1.X }, E1.X); diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types index ea821607211..5269bd9b518 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types @@ -1,27 +1,27 @@ === tests/cases/compiler/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.ts === type TreeNode = { ->TreeNode : { name: string; parent: TreeNode; } +>TreeNode : TreeNode name: string; >name : string parent: TreeNode; ->parent : { name: string; parent: TreeNode; } ->TreeNode : { name: string; parent: TreeNode; } +>parent : TreeNode +>TreeNode : TreeNode } var nodes: TreeNode[]; ->nodes : { name: string; parent: TreeNode; }[] ->TreeNode : { name: string; parent: TreeNode; } +>nodes : TreeNode[] +>TreeNode : TreeNode nodes.map(n => n.name); >nodes.map(n => n.name) : string[] ->nodes.map : (callbackfn: (value: { name: string; parent: TreeNode; }, index: number, array: { name: string; parent: TreeNode; }[]) => U, thisArg?: any) => U[] ->nodes : { name: string; parent: TreeNode; }[] ->map : (callbackfn: (value: { name: string; parent: TreeNode; }, index: number, array: { name: string; parent: TreeNode; }[]) => U, thisArg?: any) => U[] ->n => n.name : (n: { name: string; parent: TreeNode; }) => string ->n : { name: string; parent: TreeNode; } +>nodes.map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] +>nodes : TreeNode[] +>map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] +>n => n.name : (n: TreeNode) => string +>n : TreeNode >n.name : string ->n : { name: string; parent: TreeNode; } +>n : TreeNode >name : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types index d18cf3a2b1d..fec665f3f61 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types @@ -1,38 +1,38 @@ === tests/cases/compiler/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.ts === type TreeNode = { ->TreeNode : { name: string; parent: TreeNode; } +>TreeNode : TreeNode name: string; >name : string parent: TreeNode; ->parent : { name: string; parent: TreeNode; } ->TreeNode : { name: string; parent: TreeNode; } +>parent : TreeNode +>TreeNode : TreeNode } type TreeNodeMiddleman = { ->TreeNodeMiddleman : { name: string; parent: { name: string; parent: TreeNode; }; } +>TreeNodeMiddleman : { name: string; parent: TreeNode; } name: string; >name : string parent: TreeNode; ->parent : { name: string; parent: TreeNode; } ->TreeNode : { name: string; parent: TreeNode; } +>parent : TreeNode +>TreeNode : TreeNode } var nodes: TreeNodeMiddleman[]; ->nodes : { name: string; parent: { name: string; parent: TreeNode; }; }[] ->TreeNodeMiddleman : { name: string; parent: { name: string; parent: TreeNode; }; } +>nodes : { name: string; parent: TreeNode; }[] +>TreeNodeMiddleman : { name: string; parent: TreeNode; } nodes.map(n => n.name); >nodes.map(n => n.name) : string[] ->nodes.map : (callbackfn: (value: { name: string; parent: { name: string; parent: TreeNode; }; }, index: number, array: { name: string; parent: { name: string; parent: TreeNode; }; }[]) => U, thisArg?: any) => U[] ->nodes : { name: string; parent: { name: string; parent: TreeNode; }; }[] ->map : (callbackfn: (value: { name: string; parent: { name: string; parent: TreeNode; }; }, index: number, array: { name: string; parent: { name: string; parent: TreeNode; }; }[]) => U, thisArg?: any) => U[] ->n => n.name : (n: { name: string; parent: { name: string; parent: TreeNode; }; }) => string ->n : { name: string; parent: { name: string; parent: TreeNode; }; } +>nodes.map : (callbackfn: (value: { name: string; parent: TreeNode; }, index: number, array: { name: string; parent: TreeNode; }[]) => U, thisArg?: any) => U[] +>nodes : { name: string; parent: TreeNode; }[] +>map : (callbackfn: (value: { name: string; parent: TreeNode; }, index: number, array: { name: string; parent: TreeNode; }[]) => U, thisArg?: any) => U[] +>n => n.name : (n: { name: string; parent: TreeNode; }) => string +>n : { name: string; parent: TreeNode; } >n.name : string ->n : { name: string; parent: { name: string; parent: TreeNode; }; } +>n : { name: string; parent: TreeNode; } >name : string diff --git a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.errors.txt b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.errors.txt index b529afd4c6a..b2d9e3f8aaf 100644 --- a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.errors.txt +++ b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts(2,13): error TS2346: Supplied parameters do not match any signature of call target. -tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts(3,15): error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts(3,15): error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts(4,13): error TS2346: Supplied parameters do not match any signature of call target. @@ -10,7 +10,7 @@ tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts(4,13): erro !!! error TS2346: Supplied parameters do not match any signature of call target. var r2 = f(1); ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'T'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'T'. var r3 = f(null); ~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt index 48c7efb37e8..2876390758f 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt @@ -11,21 +11,17 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(55,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(58,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(61,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(63,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(75,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. - Type '"World"' is not assignable to type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(77,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. - Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(68,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(70,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(75,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(77,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(87,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,43): error TS2345: Argument of type '"Hello"' is not assignable to parameter of type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(89,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(93,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(97,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. - Type '"World"' is not assignable to type '"Hello"'. -tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(104,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. - Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(104,25): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(107,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(111,30): error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. ==== tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts (24 errors) ==== @@ -116,32 +112,30 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 // Assignment from the returned value should cause an error. a = takeReturnString(a); - ~ -!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. b = takeReturnString(b); c = takeReturnString(c); - ~ -!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. d = takeReturnString(d); e = takeReturnString(e); // Should be valid a = takeReturnHello(a); + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. b = takeReturnHello(b); c = takeReturnHello(c); + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. d = takeReturnHello(d); e = takeReturnHello(e); // Assignment from the returned value should cause an error. a = takeReturnHelloWorld(a); - ~ -!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. -!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. b = takeReturnHelloWorld(b); c = takeReturnHelloWorld(c); - ~ -!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. -!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. d = takeReturnHelloWorld(d); e = takeReturnHelloWorld(e); } @@ -164,32 +158,30 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 // Assignment from the returned value should cause an error. a = takeReturnString(a); - ~ -!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. b = takeReturnString(b); c = takeReturnString(c); d = takeReturnString(d); e = takeReturnString(e); - ~ -!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. // Passing these as arguments should cause an error. a = takeReturnHello(a); ~ -!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. -!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. b = takeReturnHello(b); c = takeReturnHello(c); d = takeReturnHello(d); e = takeReturnHello(e); ~ -!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. -!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello"'. // Both should be valid. a = takeReturnHelloWorld(a); + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. b = takeReturnHelloWorld(b); c = takeReturnHelloWorld(c); d = takeReturnHelloWorld(d); e = takeReturnHelloWorld(e); + ~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type '"Hello" | "World"'. } \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js index c07dd225396..ca67e358705 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js @@ -229,16 +229,16 @@ declare namespace n1 { let e: string; } declare namespace n2 { - let a: "Hello"; + let a: string; let b: any; - let c: "Hello"; + let c: string; let d: any; let e: any; } declare namespace n3 { - let a: "Hello" | "World"; + let a: string; let b: any; let c: any; let d: any; - let e: "Hello" | "World"; + let e: string; } diff --git a/tests/baselines/reference/typeAssertionToGenericFunctionType.errors.txt b/tests/baselines/reference/typeAssertionToGenericFunctionType.errors.txt index a404b12701a..7d99934f5ea 100644 --- a/tests/baselines/reference/typeAssertionToGenericFunctionType.errors.txt +++ b/tests/baselines/reference/typeAssertionToGenericFunctionType.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/typeAssertionToGenericFunctionType.ts(5,13): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +tests/cases/compiler/typeAssertionToGenericFunctionType.ts(5,13): error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. tests/cases/compiler/typeAssertionToGenericFunctionType.ts(6,1): error TS2346: Supplied parameters do not match any signature of call target. @@ -9,7 +9,7 @@ tests/cases/compiler/typeAssertionToGenericFunctionType.ts(6,1): error TS2346: S } x.a(1); // bug was that this caused 'Could not find symbol T' on return type T in the type assertion on x.a's definition ~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'string'. x.b(); // error ~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. \ No newline at end of file diff --git a/tests/baselines/reference/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index e330c23d737..c840e016083 100644 --- a/tests/baselines/reference/typeAssertions.errors.txt +++ b/tests/baselines/reference/typeAssertions.errors.txt @@ -13,7 +13,7 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,14): err tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,17): error TS1005: ')' expected. tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,17): error TS2304: Cannot find name 'string'. tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(44,48): error TS1005: ';' expected. -tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(45,2): error TS2322: Type 'number | string' is not assignable to type 'string'. +tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(45,2): error TS2322: Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,32): error TS2304: Cannot find name 'numOrStr'. tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,41): error TS1005: ')' expected. @@ -96,7 +96,7 @@ tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts(48,50): err !!! error TS1005: ';' expected. str = numOrStr; // Error, no narrowing occurred ~~~ -!!! error TS2322: Type 'number | string' is not assignable to type 'string'. +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. !!! error TS2322: Type 'number' is not assignable to type 'string'. } diff --git a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js index 90470f58124..5590dac249f 100644 --- a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js +++ b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js @@ -20,7 +20,7 @@ function foo() { exports.foo = foo; //// [file2.js] "use strict"; -var f = require('./file1'); +var f = require("./file1"); f.foo(); diff --git a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.errors.txt b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.errors.txt index e8c9bd6fc20..8df09b66513 100644 --- a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.errors.txt +++ b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(2,7): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(2,7): error TS2322: Type '10' is not assignable to type 'string'. tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(3,5): error TS2322: Type 'Object' is not assignable to type 'string'. tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(4,15): error TS2339: Property 'NonexistantMethod' does not exist on type 'number[]'. tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(5,5): error TS2304: Cannot find name 'derp'. @@ -8,7 +8,7 @@ tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts(5,5): error var functions = [function () { var k: string = 10; ~ -!!! error TS2322: Type 'number' is not assignable to type 'string'. +!!! error TS2322: Type '10' is not assignable to type 'string'. k = new Object(); ~ !!! error TS2322: Type 'Object' is not assignable to type 'string'. diff --git a/tests/baselines/reference/typeGuardEnums.types b/tests/baselines/reference/typeGuardEnums.types index 2bef6915046..f9d5cb1754e 100644 --- a/tests/baselines/reference/typeGuardEnums.types +++ b/tests/baselines/reference/typeGuardEnums.types @@ -6,15 +6,15 @@ enum V {} >V : V let x: number|string|E|V; ->x : number | string | E | V +>x : string | number | E | V >E : E >V : V if (typeof x === "number") { >typeof x === "number" : boolean >typeof x : string ->x : number | string | E | V ->"number" : string +>x : string | number | E | V +>"number" : "number" x; // number|E|V >x : number | E | V @@ -27,14 +27,14 @@ else { if (typeof x !== "number") { >typeof x !== "number" : boolean >typeof x : string ->x : number | string ->"number" : string +>x : string | number | E | V +>"number" : "number" x; // string >x : string } else { x; // number|E|V ->x : number +>x : number | E | V } diff --git a/tests/baselines/reference/typeGuardFunction.types b/tests/baselines/reference/typeGuardFunction.types index 50a5fcaf324..a5635d2f31c 100644 --- a/tests/baselines/reference/typeGuardFunction.types +++ b/tests/baselines/reference/typeGuardFunction.types @@ -121,7 +121,7 @@ if (isC_multipleParams(a, 0)) { >isC_multipleParams(a, 0) : boolean >isC_multipleParams : (p1: any, p2: any) => p1 is C >a : A ->0 : number +>0 : 0 a.propC; >a.propC : number @@ -151,7 +151,7 @@ class D { >C : C return true; ->true : boolean +>true : true } } @@ -163,7 +163,7 @@ let f1 = (p1: A): p1 is C => false; >A : A >p1 : any >C : C ->false : boolean +>false : false // Function type declare function f2(p1: (p1: A) => p1 is C); @@ -185,7 +185,7 @@ f2(function(p1: A): p1 is C { >C : C return true; ->true : boolean +>true : true }); @@ -216,16 +216,16 @@ acceptingTypeGuardFunction(isA); // Binary expressions let union2: C | B; ->union2 : C | B +>union2 : B | C >C : C >B : B let union3: boolean | B = isA(union2) || union2; >union3 : boolean | B >B : B ->isA(union2) || union2 : boolean | B +>isA(union2) || union2 : true | B >isA(union2) : boolean >isA : (p1: any) => p1 is A ->union2 : C | B +>union2 : B | C >union2 : B diff --git a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt index eac2660df81..88f71cda196 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt @@ -1,5 +1,5 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(2,7): error TS2300: Duplicate identifier 'A'. -tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(15,12): error TS2322: Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(15,12): error TS2322: Type '""' is not assignable to type 'boolean'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(18,55): error TS2304: Cannot find name 'x'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(18,57): error TS1144: '{' or ';' expected. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(18,57): error TS2304: Cannot find name 'is'. @@ -47,7 +47,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(98,22) tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(98,25): error TS1005: ';' expected. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(98,27): error TS1005: ';' expected. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(104,25): error TS1228: A type predicate is only allowed in return type position for functions and methods. -tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(105,16): error TS2322: Type 'boolean' is not assignable to type 'D'. +tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(105,16): error TS2322: Type 'true' is not assignable to type 'D'. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(105,16): error TS2409: Return type of constructor signature must be assignable to the instance type of the class tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(107,20): error TS1228: A type predicate is only allowed in return type position for functions and methods. tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(110,20): error TS1228: A type predicate is only allowed in return type position for functions and methods. @@ -83,7 +83,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(137,39 function hasANonBooleanReturnStatement(x): x is A { return ''; ~~ -!!! error TS2322: Type 'string' is not assignable to type 'boolean'. +!!! error TS2322: Type '""' is not assignable to type 'boolean'. } function hasTypeGuardTypeInsideTypeGuardType(x): x is x is A { @@ -259,7 +259,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardFunctionErrors.ts(137,39 !!! error TS1228: A type predicate is only allowed in return type position for functions and methods. return true; ~~~~ -!!! error TS2322: Type 'boolean' is not assignable to type 'D'. +!!! error TS2322: Type 'true' is not assignable to type 'D'. ~~~~ !!! error TS2409: Return type of constructor signature must be assignable to the instance type of the class } diff --git a/tests/baselines/reference/typeGuardFunctionErrors.js b/tests/baselines/reference/typeGuardFunctionErrors.js index dcd8ffcb265..f3ff5ffab4a 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.js +++ b/tests/baselines/reference/typeGuardFunctionErrors.js @@ -171,6 +171,7 @@ var C = (function (_super) { function hasANonBooleanReturnStatement(x) { return ''; } +function hasTypeGuardTypeInsideTypeGuardType(x) { } is; A; { @@ -231,6 +232,7 @@ function b2(a, A) { if (a === void 0) { a = is; } } ; +function b3() { } is; A; { diff --git a/tests/baselines/reference/typeGuardFunctionGenerics.types b/tests/baselines/reference/typeGuardFunctionGenerics.types index c4655e71f0c..9d0fb25f2e8 100644 --- a/tests/baselines/reference/typeGuardFunctionGenerics.types +++ b/tests/baselines/reference/typeGuardFunctionGenerics.types @@ -134,5 +134,5 @@ let test3: B = funE(isB, 1); >funE(isB, 1) : B >funE : (p1: (p1: any) => p1 is T, p2: U) => T >isB : (p1: any) => p1 is B ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThis.types b/tests/baselines/reference/typeGuardFunctionOfFormThis.types index 66d1a4b5b11..7b4b1fc76c8 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThis.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThis.types @@ -259,13 +259,13 @@ if (crate.isSundries()) { >isSundries : () => this is Crate crate.contents.broken = true; ->crate.contents.broken = true : boolean +>crate.contents.broken = true : true >crate.contents.broken : boolean >crate.contents : Sundries >crate : Crate >contents : Sundries >broken : boolean ->true : boolean +>true : true } else if (crate.isSupplies()) { >crate.isSupplies() : boolean @@ -274,13 +274,13 @@ else if (crate.isSupplies()) { >isSupplies : () => this is Crate crate.contents.spoiled = true; ->crate.contents.spoiled = true : boolean +>crate.contents.spoiled = true : true >crate.contents.spoiled : boolean >crate.contents : Supplies >crate : Crate >contents : Supplies >spoiled : boolean ->true : boolean +>true : true } // Matching guards should be assignable diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.types b/tests/baselines/reference/typeGuardIntersectionTypes.types index 8be50453572..6b6dbae8ca2 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.types +++ b/tests/baselines/reference/typeGuardIntersectionTypes.types @@ -167,7 +167,7 @@ function hasLegs(x: Beast): x is Legged { return x && typeof x.legs === 'number' >x.legs : number | undefined >x : Beast >legs : number | undefined ->'number' : string +>'number' : "number" function hasWings(x: Beast): x is Winged { return x && !!x.wings; } >hasWings : (x: Beast) => x is Winged @@ -206,7 +206,7 @@ function identifyBeast(beast: Beast) { >beast.legs : number >beast : Legged & Winged >legs : number ->4 : number +>4 : 4 log(`pegasus - 4 legs, wings`); >log(`pegasus - 4 legs, wings`) : void @@ -218,7 +218,7 @@ function identifyBeast(beast: Beast) { >beast.legs : number >beast : Legged & Winged >legs : number ->2 : number +>2 : 2 log(`bird - 2 legs, wings`); >log(`bird - 2 legs, wings`) : void diff --git a/tests/baselines/reference/typeGuardNesting.types b/tests/baselines/reference/typeGuardNesting.types index 2b18e232412..29f6cba10db 100644 --- a/tests/baselines/reference/typeGuardNesting.types +++ b/tests/baselines/reference/typeGuardNesting.types @@ -9,13 +9,13 @@ if ((typeof strOrBool === 'boolean' && !strOrBool) || typeof strOrBool === 'stri >typeof strOrBool === 'boolean' : boolean >typeof strOrBool : string >strOrBool : string | boolean ->'boolean' : string +>'boolean' : "boolean" >!strOrBool : boolean >strOrBool : boolean >typeof strOrBool === 'string' : boolean >typeof strOrBool : string ->strOrBool : string | boolean ->'string' : string +>strOrBool : string | true +>'string' : "string" let label: string = (typeof strOrBool === 'string') ? strOrBool : "string"; >label : string @@ -23,10 +23,10 @@ if ((typeof strOrBool === 'boolean' && !strOrBool) || typeof strOrBool === 'stri >(typeof strOrBool === 'string') : boolean >typeof strOrBool === 'string' : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->'string' : string +>strOrBool : string | boolean +>'string' : "string" >strOrBool : string ->"string" : string +>"string" : "string" let bool: boolean = (typeof strOrBool === 'boolean') ? strOrBool : false; >bool : boolean @@ -35,9 +35,9 @@ if ((typeof strOrBool === 'boolean' && !strOrBool) || typeof strOrBool === 'stri >typeof strOrBool === 'boolean' : boolean >typeof strOrBool : string >strOrBool : string | boolean ->'boolean' : string +>'boolean' : "boolean" >strOrBool : boolean ->false : boolean +>false : false let label2: string = (typeof strOrBool !== 'boolean') ? strOrBool : "string"; >label2 : string @@ -45,10 +45,10 @@ if ((typeof strOrBool === 'boolean' && !strOrBool) || typeof strOrBool === 'stri >(typeof strOrBool !== 'boolean') : boolean >typeof strOrBool !== 'boolean' : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->'boolean' : string +>strOrBool : string | boolean +>'boolean' : "boolean" >strOrBool : string ->"string" : string +>"string" : "string" let bool2: boolean = (typeof strOrBool !== 'string') ? strOrBool : false; >bool2 : boolean @@ -57,9 +57,9 @@ if ((typeof strOrBool === 'boolean' && !strOrBool) || typeof strOrBool === 'stri >typeof strOrBool !== 'string' : boolean >typeof strOrBool : string >strOrBool : string | boolean ->'string' : string +>'string' : "string" >strOrBool : boolean ->false : boolean +>false : false } if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boolean') { @@ -68,14 +68,14 @@ if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boole >typeof strOrBool !== 'string' && !strOrBool : boolean >typeof strOrBool !== 'string' : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->'string' : string +>strOrBool : string | boolean +>'string' : "string" >!strOrBool : boolean >strOrBool : boolean >typeof strOrBool !== 'boolean' : boolean >typeof strOrBool : string ->strOrBool : string | boolean ->'boolean' : string +>strOrBool : string | true +>'boolean' : "boolean" let label: string = (typeof strOrBool === 'string') ? strOrBool : "string"; >label : string @@ -83,10 +83,10 @@ if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boole >(typeof strOrBool === 'string') : boolean >typeof strOrBool === 'string' : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->'string' : string +>strOrBool : string | boolean +>'string' : "string" >strOrBool : string ->"string" : string +>"string" : "string" let bool: boolean = (typeof strOrBool === 'boolean') ? strOrBool : false; >bool : boolean @@ -95,9 +95,9 @@ if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boole >typeof strOrBool === 'boolean' : boolean >typeof strOrBool : string >strOrBool : string | boolean ->'boolean' : string +>'boolean' : "boolean" >strOrBool : boolean ->false : boolean +>false : false let label2: string = (typeof strOrBool !== 'boolean') ? strOrBool : "string"; >label2 : string @@ -105,10 +105,10 @@ if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boole >(typeof strOrBool !== 'boolean') : boolean >typeof strOrBool !== 'boolean' : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->'boolean' : string +>strOrBool : string | boolean +>'boolean' : "boolean" >strOrBool : string ->"string" : string +>"string" : "string" let bool2: boolean = (typeof strOrBool !== 'string') ? strOrBool : false; >bool2 : boolean @@ -117,8 +117,8 @@ if ((typeof strOrBool !== 'string' && !strOrBool) || typeof strOrBool !== 'boole >typeof strOrBool !== 'string' : boolean >typeof strOrBool : string >strOrBool : string | boolean ->'string' : string +>'string' : "string" >strOrBool : boolean ->false : boolean +>false : false } diff --git a/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types b/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types index a10d398988f..b24b63f61dc 100644 --- a/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types +++ b/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types @@ -26,7 +26,7 @@ var c: C; >C : C var cOrBool: C| boolean; ->cOrBool : C | boolean +>cOrBool : boolean | C >C : C var strOrNumOrBoolOrC: string | number | boolean | C; @@ -44,11 +44,11 @@ if (typeof strOrNumOrBool !== "string" && typeof strOrNumOrBool !== "number") { >typeof strOrNumOrBool !== "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >typeof strOrNumOrBool !== "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : number | boolean ->"number" : string +>"number" : "number" bool = strOrNumOrBool; // boolean >bool = strOrNumOrBool : boolean @@ -68,15 +68,15 @@ if (typeof strOrNumOrBoolOrC !== "string" && typeof strOrNumOrBoolOrC !== "numbe >typeof strOrNumOrBoolOrC !== "string" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : string | number | boolean | C ->"string" : string +>"string" : "string" >typeof strOrNumOrBoolOrC !== "number" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : number | boolean | C ->"number" : string +>"number" : "number" >typeof strOrNumOrBoolOrC !== "boolean" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : boolean | C ->"boolean" : string +>"boolean" : "boolean" c = strOrNumOrBoolOrC; // C >c = strOrNumOrBoolOrC : C @@ -95,21 +95,21 @@ if (typeof strOrNumOrBoolOrC !== "string" && typeof strOrNumOrBoolOrC !== "numbe >typeof strOrNumOrBoolOrC !== "string" && typeof strOrNumOrBoolOrC !== "number" : boolean >typeof strOrNumOrBoolOrC !== "string" : boolean >typeof strOrNumOrBoolOrC : string ->strOrNumOrBoolOrC : C | string | number | boolean ->"string" : string +>strOrNumOrBoolOrC : string | number | boolean | C +>"string" : "string" >typeof strOrNumOrBoolOrC !== "number" : boolean >typeof strOrNumOrBoolOrC : string ->strOrNumOrBoolOrC : C | number | boolean ->"number" : string +>strOrNumOrBoolOrC : number | boolean | C +>"number" : "number" >typeof strOrNumOrBool === "boolean" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"boolean" : string +>"boolean" : "boolean" cOrBool = strOrNumOrBoolOrC; // C | boolean ->cOrBool = strOrNumOrBoolOrC : C | boolean ->cOrBool : C | boolean ->strOrNumOrBoolOrC : C | boolean +>cOrBool = strOrNumOrBoolOrC : boolean | C +>cOrBool : boolean | C +>strOrNumOrBoolOrC : boolean | C bool = strOrNumOrBool; // boolean >bool = strOrNumOrBool : boolean @@ -120,7 +120,7 @@ else { var r1: string | number | boolean | C = strOrNumOrBoolOrC; // string | number | boolean | C >r1 : string | number | boolean | C >C : C ->strOrNumOrBoolOrC : string | number | C | boolean +>strOrNumOrBoolOrC : string | number | boolean | C var r2: string | number | boolean = strOrNumOrBool; >r2 : string | number | boolean @@ -132,7 +132,7 @@ if (typeof strOrNumOrBool !== "string" && numOrBool !== strOrNumOrBool) { >typeof strOrNumOrBool !== "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >numOrBool !== strOrNumOrBool : boolean >numOrBool : number | boolean >strOrNumOrBool : number | boolean diff --git a/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.types b/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.types index acd929a7ca1..eb428bcb679 100644 --- a/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.types +++ b/tests/baselines/reference/typeGuardOfFormExpr1OrExpr2.types @@ -26,7 +26,7 @@ var c: C; >C : C var cOrBool: C| boolean; ->cOrBool : C | boolean +>cOrBool : boolean | C >C : C var strOrNumOrBoolOrC: string | number | boolean | C; @@ -44,11 +44,11 @@ if (typeof strOrNumOrBool === "string" || typeof strOrNumOrBool === "number") { >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >typeof strOrNumOrBool === "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : number | boolean ->"number" : string +>"number" : "number" strOrNum = strOrNumOrBool; // string | number >strOrNum = strOrNumOrBool : string | number @@ -68,15 +68,15 @@ if (typeof strOrNumOrBoolOrC === "string" || typeof strOrNumOrBoolOrC === "numbe >typeof strOrNumOrBoolOrC === "string" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : string | number | boolean | C ->"string" : string +>"string" : "string" >typeof strOrNumOrBoolOrC === "number" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : number | boolean | C ->"number" : string +>"number" : "number" >typeof strOrNumOrBoolOrC === "boolean" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : boolean | C ->"boolean" : string +>"boolean" : "boolean" strOrNumOrBool = strOrNumOrBoolOrC; // string | number | boolean >strOrNumOrBool = strOrNumOrBoolOrC : string | number | boolean @@ -96,15 +96,15 @@ if (typeof strOrNumOrBoolOrC === "string" || typeof strOrNumOrBoolOrC === "numbe >typeof strOrNumOrBoolOrC === "string" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : string | number | boolean | C ->"string" : string +>"string" : "string" >typeof strOrNumOrBoolOrC === "number" : boolean >typeof strOrNumOrBoolOrC : string >strOrNumOrBoolOrC : number | boolean | C ->"number" : string +>"number" : "number" >typeof strOrNumOrBool !== "boolean" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"boolean" : string +>"boolean" : "boolean" var r1: string | number | boolean | C = strOrNumOrBoolOrC; // string | number | boolean | C >r1 : string | number | boolean | C @@ -118,7 +118,7 @@ if (typeof strOrNumOrBoolOrC === "string" || typeof strOrNumOrBoolOrC === "numbe else { cOrBool = strOrNumOrBoolOrC; // C | boolean >cOrBool = strOrNumOrBoolOrC : boolean | C ->cOrBool : C | boolean +>cOrBool : boolean | C >strOrNumOrBoolOrC : boolean | C bool = strOrNumOrBool; // boolean @@ -132,7 +132,7 @@ if (typeof strOrNumOrBool === "string" || numOrBool !== strOrNumOrBool) { >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >numOrBool !== strOrNumOrBool : boolean >numOrBool : number | boolean >strOrNumOrBool : number | boolean diff --git a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types index 55f2e2aac0e..b47dfa94c8c 100644 --- a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types +++ b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types @@ -15,13 +15,13 @@ declare function isString2(a: Object): a is string; switch (isString1(0, "")) { >isString1(0, "") : boolean >isString1 : (a: number, b: Object) => b is string ->0 : number ->"" : string +>0 : 0 +>"" : "" case isString2(""): >isString2("") : boolean >isString2 : (a: Object) => a is string ->"" : string +>"" : "" default: } @@ -31,11 +31,11 @@ var x = isString1(0, "") === isString2(""); >isString1(0, "") === isString2("") : boolean >isString1(0, "") : boolean >isString1 : (a: number, b: Object) => b is string ->0 : number ->"" : string +>0 : 0 +>"" : "" >isString2("") : boolean >isString2 : (a: Object) => a is string ->"" : string +>"" : "" function isString3(a: number, b: number, c: Object): c is string { >isString3 : (a: number, b: number, c: Object) => c is string @@ -48,7 +48,7 @@ function isString3(a: number, b: number, c: Object): c is string { return isString1(0, c); >isString1(0, c) : boolean >isString1 : (a: number, b: Object) => b is string ->0 : number +>0 : 0 >c : Object } diff --git a/tests/baselines/reference/typeGuardOfFormInstanceOf.types b/tests/baselines/reference/typeGuardOfFormInstanceOf.types index 608e827f479..8fec2d488f6 100644 --- a/tests/baselines/reference/typeGuardOfFormInstanceOf.types +++ b/tests/baselines/reference/typeGuardOfFormInstanceOf.types @@ -60,7 +60,7 @@ num = ctor1 instanceof C2 && ctor1.p2; // C2 >num : number >ctor1 instanceof C2 && ctor1.p2 : number >ctor1 instanceof C2 : boolean ->ctor1 : C2 | C1 +>ctor1 : C1 | C2 >C2 : typeof C2 >ctor1.p2 : number >ctor1 : C2 @@ -109,7 +109,7 @@ num = ctor2 instanceof D1 && ctor2.p3; // D1 >num : number >ctor2 instanceof D1 && ctor2.p3 : number >ctor2 instanceof D1 : boolean ->ctor2 : D1 | C2 +>ctor2 : C2 | D1 >D1 : typeof D1 >ctor2.p3 : number >ctor2 : D1 @@ -127,7 +127,7 @@ str = ctor2 instanceof D1 && ctor2.p1; // D1 >p1 : string var r2: D1 | C2 = ctor2 instanceof C1 && ctor2; // C2 | D1 ->r2 : D1 | C2 +>r2 : C2 | D1 >D1 : D1 >C2 : C2 >ctor2 instanceof C1 && ctor2 : D1 @@ -192,19 +192,19 @@ else { } var ctor5: C1 | D1 | C2; ->ctor5 : C1 | D1 | C2 +>ctor5 : C1 | C2 | D1 >C1 : C1 >D1 : D1 >C2 : C2 if (ctor5 instanceof C1) { >ctor5 instanceof C1 : boolean ->ctor5 : C1 | D1 | C2 +>ctor5 : C1 | C2 | D1 >C1 : typeof C1 ctor5.p1; // C1 >ctor5.p1 : string ->ctor5 : C1 +>ctor5 : C1 | D1 >p1 : string } else { diff --git a/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.types b/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.types index a5387e66d44..fe23d6d303e 100644 --- a/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.types +++ b/tests/baselines/reference/typeGuardOfFormInstanceOfOnInterface.types @@ -84,7 +84,7 @@ num = c1Orc2 instanceof c2 && c1Orc2.p2; // C2 >num : number >c1Orc2 instanceof c2 && c1Orc2.p2 : number >c1Orc2 instanceof c2 : boolean ->c1Orc2 : C2 | C1 +>c1Orc2 : C1 | C2 >c2 : C2 >c1Orc2.p2 : number >c1Orc2 : C2 @@ -133,7 +133,7 @@ num = c2Ord1 instanceof d1 && c2Ord1.p3; // D1 >num : number >c2Ord1 instanceof d1 && c2Ord1.p3 : number >c2Ord1 instanceof d1 : boolean ->c2Ord1 : D1 | C2 +>c2Ord1 : C2 | D1 >d1 : D1 >c2Ord1.p3 : number >c2Ord1 : D1 @@ -151,7 +151,7 @@ str = c2Ord1 instanceof d1 && c2Ord1.p1; // D1 >p1 : string var r2: D1 | C2 = c2Ord1 instanceof c1 && c2Ord1; // C2 | D1 ->r2 : D1 | C2 +>r2 : C2 | D1 >D1 : D1 >C2 : C2 >c2Ord1 instanceof c1 && c2Ord1 : D1 diff --git a/tests/baselines/reference/typeGuardOfFormIsType.types b/tests/baselines/reference/typeGuardOfFormIsType.types index 23ce38732cd..53b2fab53f4 100644 --- a/tests/baselines/reference/typeGuardOfFormIsType.types +++ b/tests/baselines/reference/typeGuardOfFormIsType.types @@ -35,7 +35,7 @@ function isC1(x: any): x is C1 { >C1 : C1 return true; ->true : boolean +>true : true } function isC2(x: any): x is C2 { @@ -45,7 +45,7 @@ function isC2(x: any): x is C2 { >C2 : C2 return true; ->true : boolean +>true : true } function isD1(x: any): x is D1 { @@ -55,7 +55,7 @@ function isD1(x: any): x is D1 { >D1 : D1 return true; ->true : boolean +>true : true } var c1Orc2: C1 | C2; @@ -80,7 +80,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) && c1Orc2.p2 : number >isC2(c1Orc2) : boolean >isC2 : (x: any) => x is C2 ->c1Orc2 : C2 | C1 +>c1Orc2 : C1 | C2 >c1Orc2.p2 : number >c1Orc2 : C2 >p2 : number @@ -129,7 +129,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) && c2Ord1.p3 : number >isD1(c2Ord1) : boolean >isD1 : (x: any) => x is D1 ->c2Ord1 : D1 | C2 +>c2Ord1 : C2 | D1 >c2Ord1.p3 : number >c2Ord1 : D1 >p3 : number diff --git a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types index 728d3dc0e38..1295d0f6123 100644 --- a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types +++ b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types @@ -54,7 +54,7 @@ function isC1(x: any): x is C1 { >C1 : C1 return true; ->true : boolean +>true : true } function isC2(x: any): x is C2 { @@ -64,7 +64,7 @@ function isC2(x: any): x is C2 { >C2 : C2 return true; ->true : boolean +>true : true } function isD1(x: any): x is D1 { @@ -74,7 +74,7 @@ function isD1(x: any): x is D1 { >D1 : D1 return true; ->true : boolean +>true : true } var c1: C1; @@ -111,7 +111,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) && c1Orc2.p2 : number >isC2(c1Orc2) : boolean >isC2 : (x: any) => x is C2 ->c1Orc2 : C2 | C1 +>c1Orc2 : C1 | C2 >c1Orc2.p2 : number >c1Orc2 : C2 >p2 : number @@ -160,7 +160,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) && c2Ord1.p3 : number >isD1(c2Ord1) : boolean >isD1 : (x: any) => x is D1 ->c2Ord1 : D1 | C2 +>c2Ord1 : C2 | D1 >c2Ord1.p3 : number >c2Ord1 : D1 >p3 : number diff --git a/tests/baselines/reference/typeGuardOfFormNotExpr.types b/tests/baselines/reference/typeGuardOfFormNotExpr.types index e7cfd6a0dce..e4490d42dae 100644 --- a/tests/baselines/reference/typeGuardOfFormNotExpr.types +++ b/tests/baselines/reference/typeGuardOfFormNotExpr.types @@ -28,7 +28,7 @@ if (!(typeof strOrNum === "string")) { >typeof strOrNum === "string" : boolean >typeof strOrNum : string >strOrNum : string | number ->"string" : string +>"string" : "string" num === strOrNum; // number >num === strOrNum : boolean @@ -49,11 +49,11 @@ if (!(typeof strOrNumOrBool === "string" || typeof strOrNumOrBool === "number")) >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >typeof strOrNumOrBool === "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : number | boolean ->"number" : string +>"number" : "number" bool = strOrNumOrBool; // boolean >bool = strOrNumOrBool : boolean @@ -73,14 +73,14 @@ if (!(typeof strOrNumOrBool !== "string") || !(typeof strOrNumOrBool !== "number >(typeof strOrNumOrBool !== "string") : boolean >typeof strOrNumOrBool !== "string" : boolean >typeof strOrNumOrBool : string ->strOrNumOrBool : boolean | string | number ->"string" : string +>strOrNumOrBool : string | number | boolean +>"string" : "string" >!(typeof strOrNumOrBool !== "number") : boolean >(typeof strOrNumOrBool !== "number") : boolean >typeof strOrNumOrBool !== "number" : boolean >typeof strOrNumOrBool : string ->strOrNumOrBool : boolean | number ->"number" : string +>strOrNumOrBool : number | boolean +>"number" : "number" strOrNum = strOrNumOrBool; // string | number >strOrNum = strOrNumOrBool : string | number @@ -101,11 +101,11 @@ if (!(typeof strOrNumOrBool !== "string" && typeof strOrNumOrBool !== "number")) >typeof strOrNumOrBool !== "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >typeof strOrNumOrBool !== "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : number | boolean ->"number" : string +>"number" : "number" strOrNum = strOrNumOrBool; // string | number >strOrNum = strOrNumOrBool : string | number @@ -126,13 +126,13 @@ if (!(typeof strOrNumOrBool === "string") && !(typeof strOrNumOrBool === "number >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" >!(typeof strOrNumOrBool === "number") : boolean >(typeof strOrNumOrBool === "number") : boolean >typeof strOrNumOrBool === "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : number | boolean ->"number" : string +>"number" : "number" bool = strOrNumOrBool; // boolean >bool = strOrNumOrBool : boolean @@ -152,19 +152,19 @@ if (!(typeof strOrNumOrBool === "string") && numOrBool !== strOrNumOrBool) { >(typeof strOrNumOrBool === "string") : boolean >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string ->strOrNumOrBool : boolean | string | number ->"string" : string +>strOrNumOrBool : string | number | boolean +>"string" : "string" >numOrBool !== strOrNumOrBool : boolean >numOrBool : number | boolean ->strOrNumOrBool : boolean | number +>strOrNumOrBool : number | boolean numOrBool = strOrNumOrBool; // number | boolean ->numOrBool = strOrNumOrBool : boolean | number +>numOrBool = strOrNumOrBool : number | boolean >numOrBool : number | boolean ->strOrNumOrBool : boolean | number +>strOrNumOrBool : number | boolean } else { var r1: string | number | boolean = strOrNumOrBool; // string | number | boolean >r1 : string | number | boolean ->strOrNumOrBool : string | boolean | number +>strOrNumOrBool : string | number | boolean } diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.types b/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.types index 7a4b279b572..c06c16e331d 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfBoolean.types @@ -48,7 +48,7 @@ if (typeof strOrBool === "boolean") { >typeof strOrBool === "boolean" : boolean >typeof strOrBool : string >strOrBool : string | boolean ->"boolean" : string +>"boolean" : "boolean" bool = strOrBool; // boolean >bool = strOrBool : boolean @@ -65,7 +65,7 @@ if (typeof numOrBool === "boolean") { >typeof numOrBool === "boolean" : boolean >typeof numOrBool : string >numOrBool : number | boolean ->"boolean" : string +>"boolean" : "boolean" bool = numOrBool; // boolean >bool = numOrBool : boolean @@ -82,7 +82,7 @@ if (typeof strOrNumOrBool === "boolean") { >typeof strOrNumOrBool === "boolean" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"boolean" : string +>"boolean" : "boolean" bool = strOrNumOrBool; // boolean >bool = strOrNumOrBool : boolean @@ -99,7 +99,7 @@ if (typeof boolOrC === "boolean") { >typeof boolOrC === "boolean" : boolean >typeof boolOrC : string >boolOrC : boolean | C ->"boolean" : string +>"boolean" : "boolean" bool = boolOrC; // boolean >bool = boolOrC : boolean @@ -117,7 +117,7 @@ if (typeof strOrNum === "boolean") { >typeof strOrNum === "boolean" : boolean >typeof strOrNum : string >strOrNum : string | number ->"boolean" : string +>"boolean" : "boolean" let z1: {} = strOrNum; // {} >z1 : {} @@ -136,8 +136,8 @@ else { if (typeof strOrBool !== "boolean") { >typeof strOrBool !== "boolean" : boolean >typeof strOrBool : string ->strOrBool : boolean | string ->"boolean" : string +>strOrBool : string | boolean +>"boolean" : "boolean" str = strOrBool; // string >str = strOrBool : string @@ -153,8 +153,8 @@ else { if (typeof numOrBool !== "boolean") { >typeof numOrBool !== "boolean" : boolean >typeof numOrBool : string ->numOrBool : boolean | number ->"boolean" : string +>numOrBool : number | boolean +>"boolean" : "boolean" num = numOrBool; // number >num = numOrBool : number @@ -170,8 +170,8 @@ else { if (typeof strOrNumOrBool !== "boolean") { >typeof strOrNumOrBool !== "boolean" : boolean >typeof strOrNumOrBool : string ->strOrNumOrBool : boolean | string | number ->"boolean" : string +>strOrNumOrBool : string | number | boolean +>"boolean" : "boolean" strOrNum = strOrNumOrBool; // string | number >strOrNum = strOrNumOrBool : string | number @@ -188,7 +188,7 @@ if (typeof boolOrC !== "boolean") { >typeof boolOrC !== "boolean" : boolean >typeof boolOrC : string >boolOrC : boolean | C ->"boolean" : string +>"boolean" : "boolean" c = boolOrC; // C >c = boolOrC : C @@ -206,7 +206,7 @@ if (typeof strOrNum !== "boolean") { >typeof strOrNum !== "boolean" : boolean >typeof strOrNum : string >strOrNum : string | number ->"boolean" : string +>"boolean" : "boolean" let z1: string | number = strOrNum; // string | number >z1 : string | number diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types index 2d91abb9613..43cc37f98e8 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types @@ -25,7 +25,7 @@ var func: () => void; if ("string" === typeof strOrNum) { >"string" === typeof strOrNum : boolean ->"string" : string +>"string" : "string" >typeof strOrNum : string >strOrNum : string | number @@ -42,7 +42,7 @@ else { } if ("function" === typeof strOrFunc) { >"function" === typeof strOrFunc : boolean ->"function" : string +>"function" : "function" >typeof strOrFunc : string >strOrFunc : string | (() => void) @@ -59,7 +59,7 @@ else { } if ("number" === typeof numOrBool) { >"number" === typeof numOrBool : boolean ->"number" : string +>"number" : "number" >typeof numOrBool : string >numOrBool : number | boolean @@ -76,7 +76,7 @@ else { } if ("boolean" === typeof strOrBool) { >"boolean" === typeof strOrBool : boolean ->"boolean" : string +>"boolean" : "boolean" >typeof strOrBool : string >strOrBool : string | boolean diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNumber.types b/tests/baselines/reference/typeGuardOfFormTypeOfNumber.types index c6a5615e75a..17787d06486 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNumber.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNumber.types @@ -48,7 +48,7 @@ if (typeof strOrNum === "number") { >typeof strOrNum === "number" : boolean >typeof strOrNum : string >strOrNum : string | number ->"number" : string +>"number" : "number" num = strOrNum; // number >num = strOrNum : number @@ -65,7 +65,7 @@ if (typeof numOrBool === "number") { >typeof numOrBool === "number" : boolean >typeof numOrBool : string >numOrBool : number | boolean ->"number" : string +>"number" : "number" num = numOrBool; // number >num = numOrBool : number @@ -81,7 +81,7 @@ if (typeof strOrNumOrBool === "number") { >typeof strOrNumOrBool === "number" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"number" : string +>"number" : "number" num = strOrNumOrBool; // number >num = strOrNumOrBool : number @@ -98,7 +98,7 @@ if (typeof numOrC === "number") { >typeof numOrC === "number" : boolean >typeof numOrC : string >numOrC : number | C ->"number" : string +>"number" : "number" num = numOrC; // number >num = numOrC : number @@ -116,7 +116,7 @@ if (typeof strOrBool === "number") { >typeof strOrBool === "number" : boolean >typeof strOrBool : string >strOrBool : string | boolean ->"number" : string +>"number" : "number" let y1: {} = strOrBool; // {} >y1 : {} @@ -134,8 +134,8 @@ else { if (typeof strOrNum !== "number") { >typeof strOrNum !== "number" : boolean >typeof strOrNum : string ->strOrNum : number | string ->"number" : string +>strOrNum : string | number +>"number" : "number" str === strOrNum; // string >str === strOrNum : boolean @@ -152,7 +152,7 @@ if (typeof numOrBool !== "number") { >typeof numOrBool !== "number" : boolean >typeof numOrBool : string >numOrBool : number | boolean ->"number" : string +>"number" : "number" var x: number | boolean = numOrBool; // number | boolean >x : number | boolean @@ -167,8 +167,8 @@ else { if (typeof strOrNumOrBool !== "number") { >typeof strOrNumOrBool !== "number" : boolean >typeof strOrNumOrBool : string ->strOrNumOrBool : number | string | boolean ->"number" : string +>strOrNumOrBool : string | number | boolean +>"number" : "number" strOrBool = strOrNumOrBool; // string | boolean >strOrBool = strOrNumOrBool : string | boolean @@ -185,7 +185,7 @@ if (typeof numOrC !== "number") { >typeof numOrC !== "number" : boolean >typeof numOrC : string >numOrC : number | C ->"number" : string +>"number" : "number" c = numOrC; // C >c = numOrC : C @@ -203,7 +203,7 @@ if (typeof strOrBool !== "number") { >typeof strOrBool !== "number" : boolean >typeof strOrBool : string >strOrBool : string | boolean ->"number" : string +>"number" : "number" let y1: string | boolean = strOrBool; // string | boolean >y1 : string | boolean diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfOther.types b/tests/baselines/reference/typeGuardOfFormTypeOfOther.types index 8e42a8e0d8e..b87f6a2a004 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfOther.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfOther.types @@ -52,7 +52,7 @@ if (typeof strOrC === "Object") { >typeof strOrC === "Object" : boolean >typeof strOrC : string >strOrC : string | C ->"Object" : string +>"Object" : "Object" c = strOrC; // C >c = strOrC : C @@ -68,7 +68,7 @@ if (typeof numOrC === "Object") { >typeof numOrC === "Object" : boolean >typeof numOrC : string >numOrC : number | C ->"Object" : string +>"Object" : "Object" c = numOrC; // C >c = numOrC : C @@ -84,7 +84,7 @@ if (typeof boolOrC === "Object") { >typeof boolOrC === "Object" : boolean >typeof boolOrC : string >boolOrC : boolean | C ->"Object" : string +>"Object" : "Object" c = boolOrC; // C >c = boolOrC : C @@ -101,7 +101,7 @@ if (typeof strOrNumOrBool === "Object") { >typeof strOrNumOrBool === "Object" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"Object" : string +>"Object" : "Object" let q1: {} = strOrNumOrBool; // {} >q1 : {} @@ -119,8 +119,8 @@ else { if (typeof strOrC !== "Object") { >typeof strOrC !== "Object" : boolean >typeof strOrC : string ->strOrC : C | string ->"Object" : string +>strOrC : string | C +>"Object" : "Object" var r2: string = strOrC; // string >r2 : string @@ -135,8 +135,8 @@ else { if (typeof numOrC !== "Object") { >typeof numOrC !== "Object" : boolean >typeof numOrC : string ->numOrC : C | number ->"Object" : string +>numOrC : number | C +>"Object" : "Object" var r3: number = numOrC; // number >r3 : number @@ -151,8 +151,8 @@ else { if (typeof boolOrC !== "Object") { >typeof boolOrC !== "Object" : boolean >typeof boolOrC : string ->boolOrC : C | boolean ->"Object" : string +>boolOrC : boolean | C +>"Object" : "Object" var r4: boolean = boolOrC; // boolean >r4 : boolean @@ -169,7 +169,7 @@ if (typeof strOrNumOrBool !== "Object") { >typeof strOrNumOrBool !== "Object" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"Object" : string +>"Object" : "Object" let q1: string | number | boolean = strOrNumOrBool; // string | number | boolean >q1 : string | number | boolean diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types index 7e88ca5cb94..6302ef58005 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types @@ -10,7 +10,7 @@ if (typeof a === "number") { >typeof a === "number" : boolean >typeof a : string >a : {} ->"number" : string +>"number" : "number" let c: number = a; >c : number @@ -20,7 +20,7 @@ if (typeof a === "string") { >typeof a === "string" : boolean >typeof a : string >a : {} ->"string" : string +>"string" : "string" let c: string = a; >c : string @@ -30,7 +30,7 @@ if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string >a : {} ->"boolean" : string +>"boolean" : "boolean" let c: boolean = a; >c : boolean @@ -41,7 +41,7 @@ if (typeof b === "number") { >typeof b === "number" : boolean >typeof b : string >b : { toString(): string; } ->"number" : string +>"number" : "number" let c: number = b; >c : number @@ -51,7 +51,7 @@ if (typeof b === "string") { >typeof b === "string" : boolean >typeof b : string >b : { toString(): string; } ->"string" : string +>"string" : "string" let c: string = b; >c : string @@ -61,7 +61,7 @@ if (typeof b === "boolean") { >typeof b === "boolean" : boolean >typeof b : string >b : { toString(): string; } ->"boolean" : string +>"boolean" : "boolean" let c: boolean = b; >c : boolean diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfString.types b/tests/baselines/reference/typeGuardOfFormTypeOfString.types index 971109215f7..e9960ac3019 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfString.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfString.types @@ -48,7 +48,7 @@ if (typeof strOrNum === "string") { >typeof strOrNum === "string" : boolean >typeof strOrNum : string >strOrNum : string | number ->"string" : string +>"string" : "string" str = strOrNum; // string >str = strOrNum : string @@ -65,7 +65,7 @@ if (typeof strOrBool === "string") { >typeof strOrBool === "string" : boolean >typeof strOrBool : string >strOrBool : string | boolean ->"string" : string +>"string" : "string" str = strOrBool; // string >str = strOrBool : string @@ -82,7 +82,7 @@ if (typeof strOrNumOrBool === "string") { >typeof strOrNumOrBool === "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" str = strOrNumOrBool; // string >str = strOrNumOrBool : string @@ -99,7 +99,7 @@ if (typeof strOrC === "string") { >typeof strOrC === "string" : boolean >typeof strOrC : string >strOrC : string | C ->"string" : string +>"string" : "string" str = strOrC; // string >str = strOrC : string @@ -117,7 +117,7 @@ if (typeof numOrBool === "string") { >typeof numOrBool === "string" : boolean >typeof numOrBool : string >numOrBool : number | boolean ->"string" : string +>"string" : "string" let x1: {} = numOrBool; // {} >x1 : {} @@ -136,7 +136,7 @@ if (typeof strOrNum !== "string") { >typeof strOrNum !== "string" : boolean >typeof strOrNum : string >strOrNum : string | number ->"string" : string +>"string" : "string" num === strOrNum; // number >num === strOrNum : boolean @@ -153,7 +153,7 @@ if (typeof strOrBool !== "string") { >typeof strOrBool !== "string" : boolean >typeof strOrBool : string >strOrBool : string | boolean ->"string" : string +>"string" : "string" bool = strOrBool; // boolean >bool = strOrBool : boolean @@ -170,7 +170,7 @@ if (typeof strOrNumOrBool !== "string") { >typeof strOrNumOrBool !== "string" : boolean >typeof strOrNumOrBool : string >strOrNumOrBool : string | number | boolean ->"string" : string +>"string" : "string" numOrBool = strOrNumOrBool; // number | boolean >numOrBool = strOrNumOrBool : number | boolean @@ -187,7 +187,7 @@ if (typeof strOrC !== "string") { >typeof strOrC !== "string" : boolean >typeof strOrC : string >strOrC : string | C ->"string" : string +>"string" : "string" c = strOrC; // C >c = strOrC : C @@ -205,7 +205,7 @@ if (typeof numOrBool !== "string") { >typeof numOrBool !== "string" : boolean >typeof numOrBool : string >numOrBool : number | boolean ->"string" : string +>"string" : "string" let x1: number | boolean = numOrBool; // number | boolean >x1 : number | boolean diff --git a/tests/baselines/reference/typeGuardRedundancy.types b/tests/baselines/reference/typeGuardRedundancy.types index 754019de7ed..80de5f54ace 100644 --- a/tests/baselines/reference/typeGuardRedundancy.types +++ b/tests/baselines/reference/typeGuardRedundancy.types @@ -9,11 +9,11 @@ var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" >typeof x === "string" : boolean >typeof x : string >x : string ->"string" : string +>"string" : "string" >x.substr : (from: number, length?: number) => string >x : string >substr : (from: number, length?: number) => string @@ -22,19 +22,19 @@ var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >toFixed : (fractionDigits?: number) => string var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr; ->r2 : (fractionDigits?: number) => string ->!(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr : (fractionDigits?: number) => string +>r2 : (from: number, length?: number) => string +>!(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr : (from: number, length?: number) => string >!(typeof x === "string" && typeof x === "string") : boolean >(typeof x === "string" && typeof x === "string") : boolean >typeof x === "string" && typeof x === "string" : boolean >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" >typeof x === "string" : boolean >typeof x : string >x : string ->"string" : string +>"string" : "string" >x.toFixed : (fractionDigits?: number) => string >x : number >toFixed : (fractionDigits?: number) => string @@ -48,12 +48,12 @@ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >typeof x === "string" || typeof x === "string" : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >typeof x === "string" : boolean >typeof x : string >x : number ->"string" : string +>"string" : "string" >x.substr : (from: number, length?: number) => string >x : string >substr : (from: number, length?: number) => string @@ -62,19 +62,19 @@ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >toFixed : (fractionDigits?: number) => string var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr; ->r4 : (fractionDigits?: number) => string ->!(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr : (fractionDigits?: number) => string +>r4 : (from: number, length?: number) => string +>!(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr : (from: number, length?: number) => string >!(typeof x === "string" || typeof x === "string") : boolean >(typeof x === "string" || typeof x === "string") : boolean >typeof x === "string" || typeof x === "string" : boolean >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" >typeof x === "string" : boolean >typeof x : string >x : number ->"string" : string +>"string" : "string" >x.toFixed : (fractionDigits?: number) => string >x : number >toFixed : (fractionDigits?: number) => string diff --git a/tests/baselines/reference/typeGuardTautologicalConsistiency.types b/tests/baselines/reference/typeGuardTautologicalConsistiency.types index 8e681deb073..0a6524dd26f 100644 --- a/tests/baselines/reference/typeGuardTautologicalConsistiency.types +++ b/tests/baselines/reference/typeGuardTautologicalConsistiency.types @@ -6,16 +6,16 @@ if (typeof stringOrNumber === "number") { >typeof stringOrNumber === "number" : boolean >typeof stringOrNumber : string >stringOrNumber : string | number ->"number" : string +>"number" : "number" if (typeof stringOrNumber !== "number") { >typeof stringOrNumber !== "number" : boolean >typeof stringOrNumber : string >stringOrNumber : number ->"number" : string +>"number" : "number" stringOrNumber; ->stringOrNumber : string +>stringOrNumber : never } } @@ -24,13 +24,13 @@ if (typeof stringOrNumber === "number" && typeof stringOrNumber !== "number") { >typeof stringOrNumber === "number" : boolean >typeof stringOrNumber : string >stringOrNumber : string | number ->"number" : string +>"number" : "number" >typeof stringOrNumber !== "number" : boolean >typeof stringOrNumber : string >stringOrNumber : number ->"number" : string +>"number" : "number" stringOrNumber; ->stringOrNumber : string +>stringOrNumber : never } diff --git a/tests/baselines/reference/typeGuardTypeOfUndefined.types b/tests/baselines/reference/typeGuardTypeOfUndefined.types index 167d6204a98..520d045d9e0 100644 --- a/tests/baselines/reference/typeGuardTypeOfUndefined.types +++ b/tests/baselines/reference/typeGuardTypeOfUndefined.types @@ -8,13 +8,13 @@ function test1(a: any) { >typeof a !== "undefined" : boolean >typeof a : string >a : any ->"undefined" : string +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string >a : any ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean @@ -38,16 +38,16 @@ function test2(a: any) { >typeof a === "undefined" : boolean >typeof a : string >a : any ->"undefined" : string +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string >a : undefined ->"boolean" : string +>"boolean" : "boolean" a; ->a : boolean +>a : never } else { a; @@ -69,11 +69,11 @@ function test3(a: any) { >typeof a === "undefined" : boolean >typeof a : string >a : any ->"undefined" : string +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string >a : any ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean @@ -93,11 +93,11 @@ function test4(a: any) { >typeof a !== "undefined" : boolean >typeof a : string >a : any ->"undefined" : string +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string >a : any ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean @@ -116,20 +116,20 @@ function test5(a: boolean | void) { >typeof a !== "undefined" : boolean >typeof a : string >a : boolean | void ->"undefined" : string +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string >a : boolean ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean } else { a; ->a : void +>a : never } } else { @@ -146,13 +146,13 @@ function test6(a: boolean | void) { >typeof a === "undefined" : boolean >typeof a : string >a : boolean | void ->"undefined" : string +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string >a : boolean | void ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean @@ -177,18 +177,18 @@ function test7(a: boolean | void) { >typeof a === "undefined" : boolean >typeof a : string >a : boolean | void ->"undefined" : string +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string >a : boolean ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean | void } else { a; ->a : void +>a : never } } @@ -201,11 +201,11 @@ function test8(a: boolean | void) { >typeof a !== "undefined" : boolean >typeof a : string >a : boolean | void ->"undefined" : string +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string >a : boolean ->"boolean" : string +>"boolean" : "boolean" a; >a : boolean @@ -217,20 +217,20 @@ function test8(a: boolean | void) { } function test9(a: boolean | number) { ->test9 : (a: boolean | number) => void ->a : boolean | number +>test9 : (a: number | boolean) => void +>a : number | boolean if (typeof a !== "undefined") { >typeof a !== "undefined" : boolean >typeof a : string ->a : boolean | number ->"undefined" : string +>a : number | boolean +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; >a : boolean @@ -242,25 +242,25 @@ function test9(a: boolean | number) { } else { a; ->a : boolean | number +>a : number | boolean } } function test10(a: boolean | number) { ->test10 : (a: boolean | number) => void ->a : boolean | number +>test10 : (a: number | boolean) => void +>a : number | boolean if (typeof a === "undefined") { >typeof a === "undefined" : boolean >typeof a : string ->a : boolean | number ->"undefined" : string +>a : number | boolean +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; >a : boolean @@ -272,27 +272,27 @@ function test10(a: boolean | number) { } else { a; ->a : boolean | number +>a : number | boolean } } function test11(a: boolean | number) { ->test11 : (a: boolean | number) => void ->a : boolean | number +>test11 : (a: number | boolean) => void +>a : number | boolean if (typeof a === "undefined" || typeof a === "boolean") { >typeof a === "undefined" || typeof a === "boolean" : boolean >typeof a === "undefined" : boolean >typeof a : string ->a : boolean | number ->"undefined" : string +>a : number | boolean +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; ->a : boolean | number +>a : number | boolean } else { a; @@ -301,44 +301,44 @@ function test11(a: boolean | number) { } function test12(a: boolean | number) { ->test12 : (a: boolean | number) => void ->a : boolean | number +>test12 : (a: number | boolean) => void +>a : number | boolean if (typeof a !== "undefined" && typeof a === "boolean") { >typeof a !== "undefined" && typeof a === "boolean" : boolean >typeof a !== "undefined" : boolean >typeof a : string ->a : boolean | number ->"undefined" : string +>a : number | boolean +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; >a : boolean } else { a; ->a : boolean | number +>a : number | boolean } } function test13(a: boolean | number | void) { ->test13 : (a: boolean | number | void) => void ->a : boolean | number | void +>test13 : (a: number | boolean | void) => void +>a : number | boolean | void if (typeof a !== "undefined") { >typeof a !== "undefined" : boolean >typeof a : string ->a : boolean | number | void ->"undefined" : string +>a : number | boolean | void +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; >a : boolean @@ -350,25 +350,25 @@ function test13(a: boolean | number | void) { } else { a; ->a : boolean | number | void +>a : number | boolean | void } } function test14(a: boolean | number | void) { ->test14 : (a: boolean | number | void) => void ->a : boolean | number | void +>test14 : (a: number | boolean | void) => void +>a : number | boolean | void if (typeof a === "undefined") { >typeof a === "undefined" : boolean >typeof a : string ->a : boolean | number | void ->"undefined" : string +>a : number | boolean | void +>"undefined" : "undefined" if (typeof a === "boolean") { >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number | void ->"boolean" : string +>a : number | boolean | void +>"boolean" : "boolean" a; >a : boolean @@ -380,27 +380,27 @@ function test14(a: boolean | number | void) { } else { a; ->a : boolean | number +>a : number | boolean } } function test15(a: boolean | number | void) { ->test15 : (a: boolean | number | void) => void ->a : boolean | number | void +>test15 : (a: number | boolean | void) => void +>a : number | boolean | void if (typeof a === "undefined" || typeof a === "boolean") { >typeof a === "undefined" || typeof a === "boolean" : boolean >typeof a === "undefined" : boolean >typeof a : string ->a : boolean | number | void ->"undefined" : string +>a : number | boolean | void +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; ->a : boolean | number | void +>a : number | boolean | void } else { a; @@ -409,26 +409,26 @@ function test15(a: boolean | number | void) { } function test16(a: boolean | number | void) { ->test16 : (a: boolean | number | void) => void ->a : boolean | number | void +>test16 : (a: number | boolean | void) => void +>a : number | boolean | void if (typeof a !== "undefined" && typeof a === "boolean") { >typeof a !== "undefined" && typeof a === "boolean" : boolean >typeof a !== "undefined" : boolean >typeof a : string ->a : boolean | number | void ->"undefined" : string +>a : number | boolean | void +>"undefined" : "undefined" >typeof a === "boolean" : boolean >typeof a : string ->a : boolean | number ->"boolean" : string +>a : number | boolean +>"boolean" : "boolean" a; >a : boolean } else { a; ->a : boolean | number | void +>a : number | boolean | void } } diff --git a/tests/baselines/reference/typeGuardsAsAssertions.types b/tests/baselines/reference/typeGuardsAsAssertions.types index 82e92a72d8d..bdda2eafefd 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.types +++ b/tests/baselines/reference/typeGuardsAsAssertions.types @@ -6,7 +6,7 @@ let cond: boolean; >cond : boolean export type Optional = Some | None; ->Optional : Some | None +>Optional : Optional >a : a >Some : Some >a : a @@ -27,13 +27,13 @@ export const none : None = { none: '' }; >None : None >{ none: '' } : { none: string; } >none : string ->'' : string +>'' : "" export function isSome(value: Optional): value is Some { ->isSome : (value: Some | None) => value is Some +>isSome : (value: Optional) => value is Some >a : a ->value : Some | None ->Optional : Some | None +>value : Optional +>Optional : Optional >a : a >value : any >Some : Some @@ -41,8 +41,8 @@ export function isSome(value: Optional): value is Some { return 'some' in value; >'some' in value : boolean ->'some' : string ->value : Some | None +>'some' : "some" +>value : Optional } function someFrom(some: a) { @@ -63,8 +63,8 @@ export function fn(makeSome: () => r): void { >r : r let result: Optional = none; ->result : Some | None ->Optional : Some | None +>result : Optional +>Optional : Optional >r : r >none : None @@ -75,17 +75,17 @@ export function fn(makeSome: () => r): void { >cond : boolean result; // Some | None ->result : None | Some +>result : Optional result = someFrom(isSome(result) ? result.some : makeSome()); >result = someFrom(isSome(result) ? result.some : makeSome()) : { some: r; } ->result : Some | None +>result : Optional >someFrom(isSome(result) ? result.some : makeSome()) : { some: r; } >someFrom : (some: a) => { some: a; } >isSome(result) ? result.some : makeSome() : r >isSome(result) : boolean ->isSome : (value: Some | None) => value is Some ->result : None | Some +>isSome : (value: Optional) => value is Some +>result : Optional >result.some : r >result : Some >some : r @@ -102,7 +102,7 @@ function foo1() { let x: string | number | boolean = 0; >x : string | number | boolean ->0 : number +>0 : 0 x; // number >x : number @@ -111,7 +111,7 @@ function foo1() { >cond : boolean x; // number, then string | number ->x : number | string +>x : string | number x = typeof x === "string" ? x.slice() : "abc"; >x = typeof x === "string" ? x.slice() : "abc" : string @@ -119,19 +119,19 @@ function foo1() { >typeof x === "string" ? x.slice() : "abc" : string >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >x.slice() : string >x.slice : (start?: number | undefined, end?: number | undefined) => string >x : string >slice : (start?: number | undefined, end?: number | undefined) => string ->"abc" : string +>"abc" : "abc" x; // string >x : string } x; ->x : number | string +>x : string | number } function foo2() { @@ -139,7 +139,7 @@ function foo2() { let x: string | number | boolean = 0; >x : string | number | boolean ->0 : number +>0 : 0 x; // number >x : number @@ -148,13 +148,13 @@ function foo2() { >cond : boolean x; // number, then string | number ->x : number | string +>x : string | number if (typeof x === "string") { >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" x = x.slice(); >x = x.slice() : string @@ -166,15 +166,15 @@ function foo2() { } else { x = "abc"; ->x = "abc" : string +>x = "abc" : "abc" >x : string | number | boolean ->"abc" : string +>"abc" : "abc" } x; // string >x : string } x; ->x : number | string +>x : string | number } // Type guards as assertions @@ -193,10 +193,10 @@ function f1() { >x : undefined x; // string | number (guard as assertion) ->x : string | number +>x : never } x; // string | number | undefined ->x : string | number | undefined +>x : undefined } function f2() { @@ -213,13 +213,13 @@ function f2() { >typeof x === "string" : boolean >typeof x : string >x : undefined ->"string" : string +>"string" : "string" x; // string (guard as assertion) ->x : string +>x : never } x; // string | undefined ->x : string | undefined +>x : undefined } function f3() { @@ -233,13 +233,13 @@ function f3() { >x : undefined if (!x) { ->!x : boolean +>!x : true >x : undefined return; } x; // string | number (guard as assertion) ->x : string | number +>x : never } function f4() { @@ -256,7 +256,7 @@ function f4() { >typeof x === "boolean" : boolean >typeof x : string >x : undefined ->"boolean" : string +>"boolean" : "boolean" x; // nothing (boolean not in declared type) >x : never @@ -274,21 +274,21 @@ function f5(x: string | number) { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" >typeof x === "number" : boolean >typeof x : string >x : string ->"number" : string +>"number" : "number" x; // number (guard as assertion) ->x : number +>x : never } else { x; // string | number ->x : number | string +>x : string | number } x; // string | number ->x : number | string +>x : string | number } function f6() { @@ -306,9 +306,9 @@ function f6() { >slice : (start?: number | undefined, end?: number | undefined) => string x = ""; ->x = "" : string +>x = "" : "" >x : string | null | undefined ->"" : string +>"" : "" x!.slice(); >x!.slice() : string @@ -359,7 +359,7 @@ function f6() { >x = "" : string | undefined >x : string | null | undefined >"" : string | undefined ->"" : string +>"" : "" x!.slice(); >x!.slice() : string @@ -373,7 +373,7 @@ function f6() { >x : string | null | undefined >"" : string | null >null : null ->"" : string +>"" : "" x!.slice(); >x!.slice() : string diff --git a/tests/baselines/reference/typeGuardsInClassAccessors.types b/tests/baselines/reference/typeGuardsInClassAccessors.types index bdba5e9c116..2250657e453 100644 --- a/tests/baselines/reference/typeGuardsInClassAccessors.types +++ b/tests/baselines/reference/typeGuardsInClassAccessors.types @@ -28,7 +28,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -44,7 +44,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -65,7 +65,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -78,7 +78,7 @@ class ClassWithAccessors { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -94,7 +94,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -111,7 +111,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -127,7 +127,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -148,7 +148,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -161,7 +161,7 @@ class ClassWithAccessors { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -177,7 +177,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -194,7 +194,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -210,7 +210,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -231,7 +231,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -244,7 +244,7 @@ class ClassWithAccessors { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -260,7 +260,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -277,7 +277,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -293,7 +293,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -314,7 +314,7 @@ class ClassWithAccessors { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -327,7 +327,7 @@ class ClassWithAccessors { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -343,7 +343,7 @@ class ClassWithAccessors { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number diff --git a/tests/baselines/reference/typeGuardsInClassMethods.types b/tests/baselines/reference/typeGuardsInClassMethods.types index b3e20c88ed3..600e3e36ab0 100644 --- a/tests/baselines/reference/typeGuardsInClassMethods.types +++ b/tests/baselines/reference/typeGuardsInClassMethods.types @@ -23,7 +23,7 @@ class C1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -39,7 +39,7 @@ class C1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -52,7 +52,7 @@ class C1 { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -70,7 +70,7 @@ class C1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -86,7 +86,7 @@ class C1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -99,7 +99,7 @@ class C1 { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -117,7 +117,7 @@ class C1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -133,7 +133,7 @@ class C1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -146,7 +146,7 @@ class C1 { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -164,7 +164,7 @@ class C1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -180,7 +180,7 @@ class C1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -193,7 +193,7 @@ class C1 { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -211,7 +211,7 @@ class C1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -227,7 +227,7 @@ class C1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -240,7 +240,7 @@ class C1 { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number diff --git a/tests/baselines/reference/typeGuardsInConditionalExpression.types b/tests/baselines/reference/typeGuardsInConditionalExpression.types index cc1459738e4..165eecd3514 100644 --- a/tests/baselines/reference/typeGuardsInConditionalExpression.types +++ b/tests/baselines/reference/typeGuardsInConditionalExpression.types @@ -7,15 +7,15 @@ // provided the false expression contains no assignments to the variable or parameter. function foo(x: number | string) { ->foo : (x: number | string) => number ->x : number | string +>foo : (x: string | number) => number +>x : string | number return typeof x === "string" >typeof x === "string" ? x.length // string : x++ : number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? x.length // string >x.length : number @@ -27,61 +27,61 @@ function foo(x: number | string) { >x : number } function foo2(x: number | string) { ->foo2 : (x: number | string) => string | number ->x : number | string +>foo2 : (x: string | number) => string | number +>x : string | number return typeof x === "string" >typeof x === "string" ? ((x = "hello") && x) // string : x : string | number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? ((x = "hello") && x) // string >((x = "hello") && x) : string >(x = "hello") && x : string ->(x = "hello") : string ->x = "hello" : string ->x : number | string ->"hello" : string +>(x = "hello") : "hello" +>x = "hello" : "hello" +>x : string | number +>"hello" : "hello" >x : string : x; // number >x : number } function foo3(x: number | string) { ->foo3 : (x: number | string) => number ->x : number | string +>foo3 : (x: string | number) => number +>x : string | number return typeof x === "string" >typeof x === "string" ? ((x = 10) && x) // number : x : number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? ((x = 10) && x) // number >((x = 10) && x) : number >(x = 10) && x : number ->(x = 10) : number ->x = 10 : number ->x : number | string ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number +>10 : 10 >x : number : x; // number >x : number } function foo4(x: number | string) { ->foo4 : (x: number | string) => string | number ->x : number | string +>foo4 : (x: string | number) => string | number +>x : string | number return typeof x === "string" >typeof x === "string" ? x // string : ((x = 10) && x) : string | number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? x // string >x : string @@ -89,22 +89,22 @@ function foo4(x: number | string) { : ((x = 10) && x); // number >((x = 10) && x) : number >(x = 10) && x : number ->(x = 10) : number ->x = 10 : number ->x : number | string ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number +>10 : 10 >x : number } function foo5(x: number | string) { ->foo5 : (x: number | string) => string ->x : number | string +>foo5 : (x: string | number) => string +>x : string | number return typeof x === "string" >typeof x === "string" ? x // string : ((x = "hello") && x) : string >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? x // string >x : string @@ -112,64 +112,64 @@ function foo5(x: number | string) { : ((x = "hello") && x); // string >((x = "hello") && x) : string >(x = "hello") && x : string ->(x = "hello") : string ->x = "hello" : string ->x : number | string ->"hello" : string +>(x = "hello") : "hello" +>x = "hello" : "hello" +>x : string | number +>"hello" : "hello" >x : string } function foo6(x: number | string) { ->foo6 : (x: number | string) => number | string ->x : number | string +>foo6 : (x: string | number) => string | number +>x : string | number // Modify in both branches return typeof x === "string" ->typeof x === "string" ? ((x = 10) && x) // number : ((x = "hello") && x) : number | string +>typeof x === "string" ? ((x = 10) && x) // number : ((x = "hello") && x) : string | number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? ((x = 10) && x) // number >((x = 10) && x) : number >(x = 10) && x : number ->(x = 10) : number ->x = 10 : number ->x : number | string ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number +>10 : 10 >x : number : ((x = "hello") && x); // string >((x = "hello") && x) : string >(x = "hello") && x : string ->(x = "hello") : string ->x = "hello" : string ->x : number | string ->"hello" : string +>(x = "hello") : "hello" +>x = "hello" : "hello" +>x : string | number +>"hello" : "hello" >x : string } function foo7(x: number | string | boolean) { ->foo7 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo7 : (x: string | number | boolean) => boolean +>x : string | number | boolean return typeof x === "string" >typeof x === "string" ? x === "hello" // boolean : typeof x === "boolean" ? x // boolean : x == 10 : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x === "hello" // boolean >x === "hello" : boolean >x : string ->"hello" : string +>"hello" : "hello" : typeof x === "boolean" >typeof x === "boolean" ? x // boolean : x == 10 : boolean >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x // boolean >x : boolean @@ -177,11 +177,11 @@ function foo7(x: number | string | boolean) { : x == 10; // boolean >x == 10 : boolean >x : number ->10 : number +>10 : 10 } function foo8(x: number | string | boolean) { ->foo8 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo8 : (x: string | number | boolean) => boolean +>x : string | number | boolean var b: number | boolean; >b : number | boolean @@ -190,13 +190,13 @@ function foo8(x: number | string | boolean) { >typeof x === "string" ? x === "hello" : ((b = x) && // number | boolean (typeof x === "boolean" ? x // boolean : x == 10)) : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x === "hello" >x === "hello" : boolean >x : string ->"hello" : string +>"hello" : "hello" : ((b = x) && // number | boolean >((b = x) && // number | boolean (typeof x === "boolean" ? x // boolean : x == 10)) : boolean @@ -212,7 +212,7 @@ function foo8(x: number | string | boolean) { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x // boolean >x : boolean @@ -220,23 +220,23 @@ function foo8(x: number | string | boolean) { : x == 10)); // boolean >x == 10 : boolean >x : number ->10 : number +>10 : 10 } function foo9(x: number | string) { ->foo9 : (x: number | string) => boolean ->x : number | string +>foo9 : (x: string | number) => boolean +>x : string | number var y = 10; >y : number ->10 : number +>10 : 10 // usage of x or assignment to separate variable shouldn't cause narrowing of type to stop return typeof x === "string" >typeof x === "string" ? ((y = x.length) && x === "hello") // boolean : x === 10 : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" ? ((y = x.length) && x === "hello") // boolean >((y = x.length) && x === "hello") : boolean @@ -249,27 +249,27 @@ function foo9(x: number | string) { >length : number >x === "hello" : boolean >x : string ->"hello" : string +>"hello" : "hello" : x === 10; // boolean >x === 10 : boolean >x : number ->10 : number +>10 : 10 } function foo10(x: number | string | boolean) { ->foo10 : (x: number | string | boolean) => string ->x : number | string | boolean +>foo10 : (x: string | number | boolean) => string +>x : string | number | boolean // Mixing typeguards var b: boolean | number; ->b : boolean | number +>b : number | boolean return typeof x === "string" >typeof x === "string" ? x // string : ((b = x) // x is number | boolean && typeof x === "number" && x.toString()) : string >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x // string >x : string @@ -280,14 +280,14 @@ function foo10(x: number | string | boolean) { >(b = x) // x is number | boolean && typeof x === "number" : boolean >(b = x) : number | boolean >b = x : number | boolean ->b : boolean | number +>b : number | boolean >x : number | boolean && typeof x === "number" >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" && x.toString()); // x is number >x.toString() : string @@ -296,19 +296,19 @@ function foo10(x: number | string | boolean) { >toString : (radix?: number) => string } function foo11(x: number | string | boolean) { ->foo11 : (x: number | string | boolean) => string | number ->x : number | string | boolean +>foo11 : (x: string | number | boolean) => string | number +>x : string | number | boolean // Mixing typeguards var b: number | boolean | string; ->b : number | boolean | string +>b : string | number | boolean return typeof x === "string" >typeof x === "string" ? x // string : ((b = x) // x is number | boolean && typeof x === "number" && (x = 10) // assignment to x && x) : string | number >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x // string >x : string @@ -316,50 +316,50 @@ function foo11(x: number | string | boolean) { : ((b = x) // x is number | boolean >((b = x) // x is number | boolean && typeof x === "number" && (x = 10) // assignment to x && x) : number >(b = x) // x is number | boolean && typeof x === "number" && (x = 10) // assignment to x && x : number ->(b = x) // x is number | boolean && typeof x === "number" && (x = 10) : number +>(b = x) // x is number | boolean && typeof x === "number" && (x = 10) : 0 | 10 >(b = x) // x is number | boolean && typeof x === "number" : boolean >(b = x) : number | boolean >b = x : number | boolean ->b : number | boolean | string +>b : string | number | boolean >x : number | boolean && typeof x === "number" >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" && (x = 10) // assignment to x ->(x = 10) : number ->x = 10 : number ->x : number | string | boolean ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number | boolean +>10 : 10 && x); // x is number >x : number } function foo12(x: number | string | boolean) { ->foo12 : (x: number | string | boolean) => number ->x : number | string | boolean +>foo12 : (x: string | number | boolean) => number +>x : string | number | boolean // Mixing typeguards var b: number | boolean | string; ->b : number | boolean | string +>b : string | number | boolean return typeof x === "string" >typeof x === "string" ? ((x = 10) && x.toString().length) // number : ((b = x) // x is number | boolean && typeof x === "number" && x) : number >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? ((x = 10) && x.toString().length) // number >((x = 10) && x.toString().length) : number >(x = 10) && x.toString().length : number ->(x = 10) : number ->x = 10 : number ->x : number | string | boolean ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number | boolean +>10 : 10 >x.toString().length : number >x.toString() : string >x.toString : (radix?: number) => string @@ -373,14 +373,14 @@ function foo12(x: number | string | boolean) { >(b = x) // x is number | boolean && typeof x === "number" : boolean >(b = x) : number | boolean >b = x : number | boolean ->b : number | boolean | string +>b : string | number | boolean >x : number | boolean && typeof x === "number" >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" && x); // x is number >x : number diff --git a/tests/baselines/reference/typeGuardsInDoStatement.types b/tests/baselines/reference/typeGuardsInDoStatement.types index 79183e7d6c8..fe14cff375f 100644 --- a/tests/baselines/reference/typeGuardsInDoStatement.types +++ b/tests/baselines/reference/typeGuardsInDoStatement.types @@ -7,13 +7,13 @@ function a(x: string | number | boolean) { >x : string | number | boolean x = true; ->x = true : boolean +>x = true : true >x : string | number | boolean ->true : boolean +>true : true do { x; // boolean | string ->x : boolean | string +>x : string | true x = undefined; >x = undefined : undefined @@ -24,7 +24,7 @@ function a(x: string | number | boolean) { >typeof x === "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" x; // number | boolean >x : number | boolean @@ -34,13 +34,13 @@ function b(x: string | number | boolean) { >x : string | number | boolean x = true; ->x = true : boolean +>x = true : true >x : string | number | boolean ->true : boolean +>true : true do { x; // boolean | string ->x : boolean | string +>x : string | true if (cond) continue; >cond : boolean @@ -54,7 +54,7 @@ function b(x: string | number | boolean) { >typeof x === "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" x; // number | boolean >x : number | boolean @@ -64,9 +64,9 @@ function c(x: string | number) { >x : string | number x = ""; ->x = "" : string +>x = "" : "" >x : string | number ->"" : string +>"" : "" do { x; // string @@ -84,7 +84,7 @@ function c(x: string | number) { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" x; // string | number >x : string | number diff --git a/tests/baselines/reference/typeGuardsInExternalModule.types b/tests/baselines/reference/typeGuardsInExternalModule.types index 940e7db831a..a0c33af4557 100644 --- a/tests/baselines/reference/typeGuardsInExternalModule.types +++ b/tests/baselines/reference/typeGuardsInExternalModule.types @@ -13,7 +13,7 @@ if (typeof var1 === "string") { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" num = var1.length; // string >num = var1.length : number @@ -40,7 +40,7 @@ if (typeof var2 === "string") { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" // export makes the var property and not variable strOrNum = var2; // string | number diff --git a/tests/baselines/reference/typeGuardsInForStatement.types b/tests/baselines/reference/typeGuardsInForStatement.types index 5ebdea53c31..1d600d52d13 100644 --- a/tests/baselines/reference/typeGuardsInForStatement.types +++ b/tests/baselines/reference/typeGuardsInForStatement.types @@ -13,7 +13,7 @@ function a(x: string | number) { >typeof x !== "number" : boolean >typeof x : string >x : string | number ->"number" : string +>"number" : "number" >x = undefined : undefined >x : string | number >undefined : undefined @@ -35,7 +35,7 @@ function b(x: string | number) { >typeof x !== "number" : boolean >typeof x : string >x : string | number ->"number" : string +>"number" : "number" >x = undefined : undefined >x : string | number >undefined : undefined @@ -60,7 +60,7 @@ function c(x: string | number) { >typeof x !== "number" : boolean >typeof x : string >x : string | number ->"number" : string +>"number" : "number" >x = undefined : undefined >x : string | number >undefined : undefined @@ -72,6 +72,6 @@ function c(x: string | number) { >cond : boolean } x; // string | number ->x : number | string +>x : string | number } diff --git a/tests/baselines/reference/typeGuardsInFunction.types b/tests/baselines/reference/typeGuardsInFunction.types index 5ae489ce48a..6a007dd7c95 100644 --- a/tests/baselines/reference/typeGuardsInFunction.types +++ b/tests/baselines/reference/typeGuardsInFunction.types @@ -22,7 +22,7 @@ function f(param: string | number) { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -38,7 +38,7 @@ function f(param: string | number) { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -51,7 +51,7 @@ function f(param: string | number) { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -76,7 +76,7 @@ function f1(param: string | number) { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -89,7 +89,7 @@ function f1(param: string | number) { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -102,7 +102,7 @@ function f1(param: string | number) { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -118,7 +118,7 @@ function f1(param: string | number) { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" >var3.length : number >var3 : string >length : number @@ -130,7 +130,7 @@ function f1(param: string | number) { >typeof param1 === "string" : boolean >typeof param1 : string >param1 : string | number ->"string" : string +>"string" : "string" >param1.length : number >param1 : string >length : number @@ -160,7 +160,7 @@ function f2(param: string | number) { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -173,7 +173,7 @@ function f2(param: string | number) { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -186,7 +186,7 @@ function f2(param: string | number) { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -202,7 +202,7 @@ function f2(param: string | number) { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" >var3.length : number >var3 : string >length : number @@ -214,7 +214,7 @@ function f2(param: string | number) { >typeof param1 === "string" : boolean >typeof param1 : string >param1 : string | number ->"string" : string +>"string" : "string" >param1.length : number >param1 : string >length : number @@ -247,7 +247,7 @@ function f3(param: string | number) { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -260,7 +260,7 @@ function f3(param: string | number) { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -273,7 +273,7 @@ function f3(param: string | number) { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -289,7 +289,7 @@ function f3(param: string | number) { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" >var3.length : number >var3 : string >length : number @@ -301,7 +301,7 @@ function f3(param: string | number) { >typeof param1 === "string" : boolean >typeof param1 : string >param1 : string | number ->"string" : string +>"string" : "string" >param1.length : number >param1 : string >length : number @@ -332,7 +332,7 @@ strOrNum = typeof f4() === "string" && f4(); // string | number >typeof f4() : string >f4() : string | number >f4 : () => string | number ->"string" : string +>"string" : "string" >f4() : string | number >f4 : () => string | number diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types index cc9553b9767..0cb312ffb1a 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types @@ -2,15 +2,15 @@ // typeguards are scoped in function/module block function foo(x: number | string | boolean) { ->foo : (x: number | string | boolean) => string ->x : number | string | boolean +>foo : (x: string | number | boolean) => string +>x : string | number | boolean return typeof x === "string" >typeof x === "string" ? x : function f() { var b = x; // number | boolean return typeof x === "boolean" ? x.toString() // boolean : x.toString(); // number } () : string >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x >x : string @@ -29,7 +29,7 @@ function foo(x: number | string | boolean) { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string @@ -46,15 +46,15 @@ function foo(x: number | string | boolean) { } (); } function foo2(x: number | string | boolean) { ->foo2 : (x: number | string | boolean) => string ->x : number | string | boolean +>foo2 : (x: string | number | boolean) => string +>x : string | number | boolean return typeof x === "string" >typeof x === "string" ? x : function f(a: number | boolean) { var b = x; // new scope - number | boolean return typeof x === "boolean" ? x.toString() // boolean : x.toString(); // number } (x) : string >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x >x : string @@ -74,7 +74,7 @@ function foo2(x: number | string | boolean) { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string @@ -92,15 +92,15 @@ function foo2(x: number | string | boolean) { >x : number | boolean } function foo3(x: number | string | boolean) { ->foo3 : (x: number | string | boolean) => string ->x : number | string | boolean +>foo3 : (x: string | number | boolean) => string +>x : string | number | boolean return typeof x === "string" >typeof x === "string" ? x : (() => { var b = x; // new scope - number | boolean return typeof x === "boolean" ? x.toString() // boolean : x.toString(); // number })() : string >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x >x : string @@ -119,7 +119,7 @@ function foo3(x: number | string | boolean) { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string @@ -136,15 +136,15 @@ function foo3(x: number | string | boolean) { })(); } function foo4(x: number | string | boolean) { ->foo4 : (x: number | string | boolean) => string ->x : number | string | boolean +>foo4 : (x: string | number | boolean) => string +>x : string | number | boolean return typeof x === "string" >typeof x === "string" ? x : ((a: number | boolean) => { var b = x; // new scope - number | boolean return typeof x === "boolean" ? x.toString() // boolean : x.toString(); // number })(x) : string >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" ? x >x : string @@ -164,7 +164,7 @@ function foo4(x: number | string | boolean) { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string @@ -183,14 +183,14 @@ function foo4(x: number | string | boolean) { } // Type guards do not affect nested function declarations function foo5(x: number | string | boolean) { ->foo5 : (x: number | string | boolean) => void ->x : number | string | boolean +>foo5 : (x: string | number | boolean) => void +>x : string | number | boolean if (typeof x === "string") { >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" var y = x; // string; >y : string @@ -200,8 +200,8 @@ function foo5(x: number | string | boolean) { >foo : () => void var z = x; // string ->z : number | string | boolean ->x : number | string | boolean +>z : string | number | boolean +>x : string | number | boolean } } } @@ -209,14 +209,14 @@ module m { >m : typeof m var x: number | string | boolean; ->x : number | string | boolean +>x : string | number | boolean module m2 { >m2 : typeof m2 var b = x; // new scope - number | boolean | string ->b : number | string | boolean ->x : number | string | boolean +>b : string | number | boolean +>x : string | number | boolean var y: string; >y : string @@ -224,8 +224,8 @@ module m { if (typeof x === "string") { >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" y = x // string; >y = x : string @@ -240,7 +240,7 @@ module m { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string @@ -260,15 +260,15 @@ module m1 { >m1 : typeof m1 var x: number | string | boolean; ->x : number | string | boolean +>x : string | number | boolean module m2.m3 { >m2 : typeof m2 >m3 : typeof m3 var b = x; // new scope - number | boolean | string ->b : number | string | boolean ->x : number | string | boolean +>b : string | number | boolean +>x : string | number | boolean var y: string; >y : string @@ -276,8 +276,8 @@ module m1 { if (typeof x === "string") { >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" y = x // string; >y = x : string @@ -292,7 +292,7 @@ module m1 { >typeof x === "boolean" : boolean >typeof x : string >x : number | boolean ->"boolean" : string +>"boolean" : "boolean" ? x.toString() // boolean >x.toString() : string diff --git a/tests/baselines/reference/typeGuardsInGlobal.types b/tests/baselines/reference/typeGuardsInGlobal.types index b64c1edcc13..7935c05411e 100644 --- a/tests/baselines/reference/typeGuardsInGlobal.types +++ b/tests/baselines/reference/typeGuardsInGlobal.types @@ -13,7 +13,7 @@ if (typeof var1 === "string") { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" num = var1.length; // string >num = var1.length : number diff --git a/tests/baselines/reference/typeGuardsInIfStatement.errors.txt b/tests/baselines/reference/typeGuardsInIfStatement.errors.txt index 984ca454e76..ac8dfb07887 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.errors.txt +++ b/tests/baselines/reference/typeGuardsInIfStatement.errors.txt @@ -1,9 +1,7 @@ -tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(22,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(31,10): error TS2354: No best common type exists among return expressions. -tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(49,10): error TS2354: No best common type exists among return expressions. +tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(139,17): error TS2339: Property 'toString' does not exist on type 'never'. -==== tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts (3 errors) ==== +==== tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts (1 errors) ==== // In the true branch statement of an 'if' statement, // the type of a variable or parameter is narrowed by any type guard in the 'if' condition when true. // In the false branch statement of an 'if' statement, @@ -26,8 +24,6 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(49,10) } } function foo3(x: number | string) { - ~~~~ -!!! error TS2354: No best common type exists among return expressions. if (typeof x === "string") { x = "Hello"; return x; // string @@ -37,8 +33,6 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(49,10) } } function foo4(x: number | string) { - ~~~~ -!!! error TS2354: No best common type exists among return expressions. if (typeof x === "string") { return x; // string } @@ -57,8 +51,6 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(49,10) } } function foo6(x: number | string) { - ~~~~ -!!! error TS2354: No best common type exists among return expressions. if (typeof x === "string") { x = 10; return x; // number @@ -149,5 +141,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsInIfStatement.ts(49,10) return typeof x === "number" ? x.toString() // number : x.toString(); // boolean | string + ~~~~~~~~ +!!! error TS2339: Property 'toString' does not exist on type 'never'. } } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsInModule.types b/tests/baselines/reference/typeGuardsInModule.types index 7d3753037ad..f1efc45a248 100644 --- a/tests/baselines/reference/typeGuardsInModule.types +++ b/tests/baselines/reference/typeGuardsInModule.types @@ -24,7 +24,7 @@ module m1 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -37,7 +37,7 @@ module m1 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" num = var2.length; // string >num = var2.length : number @@ -61,7 +61,7 @@ module m1 { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" strOrNum = var3; // string | number >strOrNum = var3 : string @@ -96,7 +96,7 @@ module m2 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -109,7 +109,7 @@ module m2 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -122,7 +122,7 @@ module m2 { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" >var3 : string // variables in module declaration @@ -133,7 +133,7 @@ module m2 { >typeof var4 === "string" : boolean >typeof var4 : string >var4 : string | number ->"string" : string +>"string" : "string" num = var4.length; // string >num = var4.length : number @@ -157,7 +157,7 @@ module m2 { >typeof var5 === "string" : boolean >typeof var5 : string >var5 : string | number ->"string" : string +>"string" : "string" strOrNum = var5; // string | number >strOrNum = var5 : string @@ -185,7 +185,7 @@ module m3.m4 { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -198,7 +198,7 @@ module m3.m4 { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" num = var2.length; // string >num = var2.length : number @@ -222,7 +222,7 @@ module m3.m4 { >typeof var3 === "string" : boolean >typeof var3 : string >var3 : string | number ->"string" : string +>"string" : "string" strOrNum = var3; // string | number >strOrNum = var3 : string diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index 4ddf8af7a67..1f8151dff71 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -37,7 +37,7 @@ class C1 { >this.pp1 : string | number >this : this >pp1 : string | number ->"string" : string +>"string" : "string" >this.pp1 : string >this : this >pp1 : string @@ -51,7 +51,7 @@ class C1 { >this.pp2 : string | number >this : this >pp2 : string | number ->"string" : string +>"string" : "string" >this.pp2 : string >this : this >pp2 : string @@ -65,7 +65,7 @@ class C1 { >this.pp3 : string | number >this : this >pp3 : string | number ->"string" : string +>"string" : "string" >this.pp3 : string >this : this >pp3 : string @@ -84,7 +84,7 @@ strOrNum = typeof c1.pp2 === "string" && c1.pp2; // string | number >c1.pp2 : string | number >c1 : C1 >pp2 : string | number ->"string" : string +>"string" : "string" >c1.pp2 : string >c1 : C1 >pp2 : string @@ -98,7 +98,7 @@ strOrNum = typeof c1.pp3 === "string" && c1.pp3; // string | number >c1.pp3 : string | number >c1 : C1 >pp3 : string | number ->"string" : string +>"string" : "string" >c1.pp3 : string >c1 : C1 >pp3 : string @@ -119,7 +119,7 @@ strOrNum = typeof obj1.x === "string" && obj1.x; // string | number >obj1.x : string | number >obj1 : { x: string | number; } >x : string | number ->"string" : string +>"string" : "string" >obj1.x : string >obj1 : { x: string | number; } >x : string diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types index 2da52b8b1b8..54c1d0270b5 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types @@ -2,83 +2,83 @@ // In the right operand of a && operation, // the type of a variable or parameter is narrowed by any type guard in the left operand when true. function foo(x: number | string) { ->foo : (x: number | string) => boolean ->x : number | string +>foo : (x: string | number) => boolean +>x : string | number return typeof x === "string" && x.length === 10; // string >typeof x === "string" && x.length === 10 : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >x.length === 10 : boolean >x.length : number >x : string >length : number ->10 : number +>10 : 10 } function foo2(x: number | string) { ->foo2 : (x: number | string) => number ->x : number | string +>foo2 : (x: string | number) => number +>x : string | number // modify x in right hand operand return typeof x === "string" && ((x = 10) && x); // string | number >typeof x === "string" && ((x = 10) && x) : number >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >((x = 10) && x) : number >(x = 10) && x : number ->(x = 10) : number ->x = 10 : number ->x : number | string ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number +>10 : 10 >x : number } function foo3(x: number | string) { ->foo3 : (x: number | string) => string ->x : number | string +>foo3 : (x: string | number) => string +>x : string | number // modify x in right hand operand with string type itself return typeof x === "string" && ((x = "hello") && x); // string | number >typeof x === "string" && ((x = "hello") && x) : string >typeof x === "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >((x = "hello") && x) : string >(x = "hello") && x : string ->(x = "hello") : string ->x = "hello" : string ->x : number | string ->"hello" : string +>(x = "hello") : "hello" +>x = "hello" : "hello" +>x : string | number +>"hello" : "hello" >x : string } function foo4(x: number | string | boolean) { ->foo4 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo4 : (x: string | number | boolean) => boolean +>x : string | number | boolean return typeof x !== "string" // string | number | boolean >typeof x !== "string" // string | number | boolean && typeof x !== "number" // number | boolean && x : boolean >typeof x !== "string" // string | number | boolean && typeof x !== "number" : boolean >typeof x !== "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" && typeof x !== "number" // number | boolean >typeof x !== "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" && x; // boolean >x : boolean } function foo5(x: number | string | boolean) { ->foo5 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo5 : (x: string | number | boolean) => boolean +>x : string | number | boolean // usage of x or assignment to separate variable shouldn't cause narrowing of type to stop var b: number | boolean; @@ -88,8 +88,8 @@ function foo5(x: number | string | boolean) { >typeof x !== "string" // string | number | boolean && ((b = x) && (typeof x !== "number" // number | boolean && x)) : boolean >typeof x !== "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" && ((b = x) && (typeof x !== "number" // number | boolean >((b = x) && (typeof x !== "number" // number | boolean && x)) : boolean @@ -103,22 +103,22 @@ function foo5(x: number | string | boolean) { >typeof x !== "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" && x)); // boolean >x : boolean } function foo6(x: number | string | boolean) { ->foo6 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo6 : (x: string | number | boolean) => boolean +>x : string | number | boolean // Mixing typeguard narrowing in if statement with conditional expression typeguard return typeof x !== "string" // string | number | boolean >typeof x !== "string" // string | number | boolean && (typeof x !== "number" // number | boolean ? x // boolean : x === 10) : boolean >typeof x !== "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" && (typeof x !== "number" // number | boolean >(typeof x !== "number" // number | boolean ? x // boolean : x === 10) : boolean @@ -126,7 +126,7 @@ function foo6(x: number | string | boolean) { >typeof x !== "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" ? x // boolean >x : boolean @@ -134,32 +134,32 @@ function foo6(x: number | string | boolean) { : x === 10) // number >x === 10 : boolean >x : number ->10 : number +>10 : 10 } function foo7(x: number | string | boolean) { ->foo7 : (x: number | string | boolean) => string ->x : number | string | boolean +>foo7 : (x: string | number | boolean) => string +>x : string | number | boolean var y: number| boolean | string; ->y : number | boolean | string +>y : string | number | boolean var z: number| boolean | string; ->z : number | boolean | string +>z : string | number | boolean // Mixing typeguard narrowing return typeof x !== "string" >typeof x !== "string" && ((z = x) // number | boolean && (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // x is number // do not change value : ((y = x) && x.toString()))) : string >typeof x !== "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" && ((z = x) // number | boolean >((z = x) // number | boolean && (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // x is number // do not change value : ((y = x) && x.toString()))) : string >(z = x) // number | boolean && (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // x is number // do not change value : ((y = x) && x.toString())) : string >(z = x) : number | boolean >z = x : number | boolean ->z : number | boolean | string +>z : string | number | boolean >x : number | boolean && (typeof x === "number" @@ -168,16 +168,16 @@ function foo7(x: number | string | boolean) { >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" // change value of x ? ((x = 10) && x.toString()) // x is number >((x = 10) && x.toString()) : string >(x = 10) && x.toString() : string ->(x = 10) : number ->x = 10 : number ->x : number | string | boolean ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number | boolean +>10 : 10 >x.toString() : string >x.toString : (radix?: number) => string >x : number @@ -189,7 +189,7 @@ function foo7(x: number | string | boolean) { >(y = x) && x.toString() : string >(y = x) : boolean >y = x : boolean ->y : number | boolean | string +>y : string | number | boolean >x : boolean >x.toString() : string >x.toString : () => string diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types index 659182ab888..e8548ab1ef6 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types @@ -3,94 +3,94 @@ // the type of a variable or parameter is narrowed by any type guard in the left operand when false, // provided the right operand contains no assignments to the variable or parameter. function foo(x: number | string) { ->foo : (x: number | string) => boolean ->x : number | string +>foo : (x: string | number) => boolean +>x : string | number return typeof x !== "string" || x.length === 10; // string >typeof x !== "string" || x.length === 10 : boolean >typeof x !== "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >x.length === 10 : boolean >x.length : number >x : string >length : number ->10 : number +>10 : 10 } function foo2(x: number | string) { ->foo2 : (x: number | string) => boolean | number ->x : number | string +>foo2 : (x: string | number) => number | true +>x : string | number // modify x in right hand operand return typeof x !== "string" || ((x = 10) || x); // string | number ->typeof x !== "string" || ((x = 10) || x) : boolean | number +>typeof x !== "string" || ((x = 10) || x) : number | true >typeof x !== "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >((x = 10) || x) : number >(x = 10) || x : number ->(x = 10) : number ->x = 10 : number ->x : number | string ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number +>10 : 10 >x : number } function foo3(x: number | string) { ->foo3 : (x: number | string) => boolean | string ->x : number | string +>foo3 : (x: string | number) => string | true +>x : string | number // modify x in right hand operand with string type itself return typeof x !== "string" || ((x = "hello") || x); // string | number ->typeof x !== "string" || ((x = "hello") || x) : boolean | string +>typeof x !== "string" || ((x = "hello") || x) : string | true >typeof x !== "string" : boolean >typeof x : string ->x : number | string ->"string" : string +>x : string | number +>"string" : "string" >((x = "hello") || x) : string >(x = "hello") || x : string ->(x = "hello") : string ->x = "hello" : string ->x : number | string ->"hello" : string +>(x = "hello") : "hello" +>x = "hello" : "hello" +>x : string | number +>"hello" : "hello" >x : string } function foo4(x: number | string | boolean) { ->foo4 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo4 : (x: string | number | boolean) => boolean +>x : string | number | boolean return typeof x === "string" // string | number | boolean >typeof x === "string" // string | number | boolean || typeof x === "number" // number | boolean || x : boolean >typeof x === "string" // string | number | boolean || typeof x === "number" : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" || typeof x === "number" // number | boolean >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" || x; // boolean >x : boolean } function foo5(x: number | string | boolean) { ->foo5 : (x: number | string | boolean) => boolean | number ->x : number | string | boolean +>foo5 : (x: string | number | boolean) => number | boolean +>x : string | number | boolean // usage of x or assignment to separate variable shouldn't cause narrowing of type to stop var b: number | boolean; >b : number | boolean return typeof x === "string" // string | number | boolean ->typeof x === "string" // string | number | boolean || ((b = x) || (typeof x === "number" // number | boolean || x)) : boolean | number +>typeof x === "string" // string | number | boolean || ((b = x) || (typeof x === "number" // number | boolean || x)) : number | boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" || ((b = x) || (typeof x === "number" // number | boolean >((b = x) || (typeof x === "number" // number | boolean || x)) : number | boolean @@ -104,22 +104,22 @@ function foo5(x: number | string | boolean) { >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" || x)); // boolean >x : boolean } function foo6(x: number | string | boolean) { ->foo6 : (x: number | string | boolean) => boolean ->x : number | string | boolean +>foo6 : (x: string | number | boolean) => boolean +>x : string | number | boolean // Mixing typeguard return typeof x === "string" // string | number | boolean >typeof x === "string" // string | number | boolean || (typeof x !== "number" // number | boolean ? x // boolean : x === 10) : boolean >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" || (typeof x !== "number" // number | boolean >(typeof x !== "number" // number | boolean ? x // boolean : x === 10) : boolean @@ -127,7 +127,7 @@ function foo6(x: number | string | boolean) { >typeof x !== "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" ? x // boolean >x : boolean @@ -135,32 +135,32 @@ function foo6(x: number | string | boolean) { : x === 10) // number >x === 10 : boolean >x : number ->10 : number +>10 : 10 } function foo7(x: number | string | boolean) { ->foo7 : (x: number | string | boolean) => boolean | number | string ->x : number | string | boolean +>foo7 : (x: string | number | boolean) => string | number | true +>x : string | number | boolean var y: number| boolean | string; ->y : number | boolean | string +>y : string | number | boolean var z: number| boolean | string; ->z : number | boolean | string +>z : string | number | boolean // Mixing typeguard narrowing return typeof x === "string" ->typeof x === "string" || ((z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString()))) : boolean | number | string +>typeof x === "string" || ((z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString()))) : string | number | true >typeof x === "string" : boolean >typeof x : string ->x : number | string | boolean ->"string" : string +>x : string | number | boolean +>"string" : "string" || ((z = x) // number | boolean ->((z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString()))) : number | boolean | string ->(z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString())) : number | boolean | string +>((z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString()))) : string | number | true +>(z = x) // number | boolean || (typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string // do not change value : ((y = x) && x.toString())) : string | number | true >(z = x) : number | boolean >z = x : number | boolean ->z : number | boolean | string +>z : string | number | boolean >x : number | boolean || (typeof x === "number" @@ -169,16 +169,16 @@ function foo7(x: number | string | boolean) { >typeof x === "number" : boolean >typeof x : string >x : number | boolean ->"number" : string +>"number" : "number" // change value of x ? ((x = 10) && x.toString()) // number | boolean | string >((x = 10) && x.toString()) : string >(x = 10) && x.toString() : string ->(x = 10) : number ->x = 10 : number ->x : number | string | boolean ->10 : number +>(x = 10) : 10 +>x = 10 : 10 +>x : string | number | boolean +>10 : 10 >x.toString() : string >x.toString : (radix?: number) => string >x : number @@ -190,7 +190,7 @@ function foo7(x: number | string | boolean) { >(y = x) && x.toString() : string >(y = x) : boolean >y = x : boolean ->y : number | boolean | string +>y : string | number | boolean >x : boolean >x.toString() : string >x.toString : () => string diff --git a/tests/baselines/reference/typeGuardsInWhileStatement.types b/tests/baselines/reference/typeGuardsInWhileStatement.types index cde045cc621..b0ea7959ec5 100644 --- a/tests/baselines/reference/typeGuardsInWhileStatement.types +++ b/tests/baselines/reference/typeGuardsInWhileStatement.types @@ -10,7 +10,7 @@ function a(x: string | number) { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" x; // string >x : string @@ -31,7 +31,7 @@ function b(x: string | number) { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" if (cond) continue; >cond : boolean @@ -55,7 +55,7 @@ function c(x: string | number) { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" if (cond) break; >cond : boolean @@ -69,6 +69,6 @@ function c(x: string | number) { >undefined : undefined } x; // string | number ->x : number | string +>x : string | number } diff --git a/tests/baselines/reference/typeGuardsNestedAssignments.types b/tests/baselines/reference/typeGuardsNestedAssignments.types index 566a39a9c23..32ac85e270b 100644 --- a/tests/baselines/reference/typeGuardsNestedAssignments.types +++ b/tests/baselines/reference/typeGuardsNestedAssignments.types @@ -109,7 +109,7 @@ function f4() { >x : string | number | null >getStringOrNumberOrNull() : string | number | null >getStringOrNumberOrNull : () => string | number | null ->"number" : string +>"number" : "number" x; >x : number @@ -136,7 +136,7 @@ while ((match = re.exec("xxx")) != null) { >re.exec : (string: string) => RegExpExecArray | null >re : RegExp >exec : (string: string) => RegExpExecArray | null ->"xxx" : string +>"xxx" : "xxx" >null : null const length = match[1].length + match[2].length @@ -145,11 +145,11 @@ while ((match = re.exec("xxx")) != null) { >match[1].length : number >match[1] : string >match : RegExpExecArray ->1 : number +>1 : 1 >length : number >match[2].length : number >match[2] : string >match : RegExpExecArray ->2 : number +>2 : 2 >length : number } diff --git a/tests/baselines/reference/typeGuardsObjectMethods.types b/tests/baselines/reference/typeGuardsObjectMethods.types index f409bf5caf9..5a795c336e2 100644 --- a/tests/baselines/reference/typeGuardsObjectMethods.types +++ b/tests/baselines/reference/typeGuardsObjectMethods.types @@ -30,7 +30,7 @@ var obj1 = { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -46,7 +46,7 @@ var obj1 = { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -59,7 +59,7 @@ var obj1 = { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -79,7 +79,7 @@ var obj1 = { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -95,7 +95,7 @@ var obj1 = { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -116,7 +116,7 @@ var obj1 = { >typeof var1 === "string" : boolean >typeof var1 : string >var1 : string | number ->"string" : string +>"string" : "string" >var1.length : number >var1 : string >length : number @@ -132,7 +132,7 @@ var obj1 = { >typeof var2 === "string" : boolean >typeof var2 : string >var2 : string | number ->"string" : string +>"string" : "string" >var2.length : number >var2 : string >length : number @@ -145,7 +145,7 @@ var obj1 = { >typeof param === "string" : boolean >typeof param : string >param : string | number ->"string" : string +>"string" : "string" >param.length : number >param : string >length : number @@ -163,7 +163,7 @@ strOrNum = typeof obj1.method(strOrNum) === "string" && obj1.method(strOrNum); >obj1 : { method(param: string | number): string | number; prop: string | number; } >method : (param: string | number) => string | number >strOrNum : string | number ->"string" : string +>"string" : "string" >obj1.method(strOrNum) : string | number >obj1.method : (param: string | number) => string | number >obj1 : { method(param: string | number): string | number; prop: string | number; } @@ -180,7 +180,7 @@ strOrNum = typeof obj1.prop === "string" && obj1.prop; >obj1.prop : string | number >obj1 : { method(param: string | number): string | number; prop: string | number; } >prop : string | number ->"string" : string +>"string" : "string" >obj1.prop : string >obj1 : { method(param: string | number): string | number; prop: string | number; } >prop : string diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.types b/tests/baselines/reference/typeGuardsOnClassProperty.types index 6d524ccf674..1b663ef209f 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.types +++ b/tests/baselines/reference/typeGuardsOnClassProperty.types @@ -24,13 +24,13 @@ class D { >typeof data === "string" : boolean >typeof data : string >data : string | string[] ->"string" : string +>"string" : "string" >data : string >data.join(" ") : string >data.join : (separator?: string) => string >data : string[] >join : (separator?: string) => string ->" " : string +>" " : " " } getData1() { @@ -43,7 +43,7 @@ class D { >this.data : string | string[] >this : this >data : string | string[] ->"string" : string +>"string" : "string" >this.data : string >this : this >data : string @@ -53,58 +53,58 @@ class D { >this : this >data : string[] >join : (separator?: string) => string ->" " : string +>" " : " " } } var o: { ->o : { prop1: number | string; prop2: boolean | string; } +>o : { prop1: string | number; prop2: string | boolean; } prop1: number|string; ->prop1 : number | string +>prop1 : string | number prop2: boolean|string; ->prop2 : boolean | string +>prop2 : string | boolean } = { ->{ prop1: "string" , prop2: true } : { prop1: string; prop2: boolean; } +>{ prop1: "string" , prop2: true } : { prop1: string; prop2: true; } prop1: "string" , >prop1 : string ->"string" : string +>"string" : "string" prop2: true >prop2 : boolean ->true : boolean +>true : true } if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} >typeof o.prop1 === "string" && o.prop1.toLowerCase() : string >typeof o.prop1 === "string" : boolean >typeof o.prop1 : string ->o.prop1 : number | string ->o : { prop1: number | string; prop2: boolean | string; } ->prop1 : number | string ->"string" : string +>o.prop1 : string | number +>o : { prop1: string | number; prop2: string | boolean; } +>prop1 : string | number +>"string" : "string" >o.prop1.toLowerCase() : string >o.prop1.toLowerCase : () => string >o.prop1 : string ->o : { prop1: number | string; prop2: boolean | string; } +>o : { prop1: string | number; prop2: string | boolean; } >prop1 : string >toLowerCase : () => string var prop1 = o.prop1; ->prop1 : number | string ->o.prop1 : number | string ->o : { prop1: number | string; prop2: boolean | string; } ->prop1 : number | string +>prop1 : string | number +>o.prop1 : string | number +>o : { prop1: string | number; prop2: string | boolean; } +>prop1 : string | number if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } >typeof prop1 === "string" && prop1.toLocaleLowerCase() : string >typeof prop1 === "string" : boolean >typeof prop1 : string ->prop1 : number | string ->"string" : string +>prop1 : string | number +>"string" : "string" >prop1.toLocaleLowerCase() : string >prop1.toLocaleLowerCase : () => string >prop1 : string diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt index 63b9de2aeda..9c20377e7a6 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.errors.txt @@ -1,16 +1,26 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(12,10): error TS2339: Property 'bar' does not exist on type 'A'. -tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(33,5): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(18,10): error TS2339: Property 'bar' does not exist on type 'A'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(33,5): error TS2322: Type '"str"' is not assignable to type 'number'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(34,10): error TS2339: Property 'bar' does not exist on type 'B'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(41,10): error TS2339: Property 'bar' does not exist on type 'B'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(66,10): error TS2339: Property 'bar2' does not exist on type 'C1'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(72,10): error TS2339: Property 'bar1' does not exist on type 'C1 | C2'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(73,10): error TS2339: Property 'bar2' does not exist on type 'C1 | C2'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(85,10): error TS2339: Property 'bar' does not exist on type 'D'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(91,10): error TS2339: Property 'bar' does not exist on type 'D'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(112,10): error TS2339: Property 'bar2' does not exist on type 'E1'. -tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(134,11): error TS2339: Property 'foo' does not exist on type 'F | string'. -tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(135,11): error TS2339: Property 'bar' does not exist on type 'F | string'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(118,11): error TS2339: Property 'bar1' does not exist on type 'E1 | E2'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(119,11): error TS2339: Property 'bar2' does not exist on type 'E1 | E2'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(134,11): error TS2339: Property 'foo' does not exist on type 'string | F'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(135,11): error TS2339: Property 'bar' does not exist on type 'string | F'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(160,11): error TS2339: Property 'foo2' does not exist on type 'G1'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(166,11): error TS2339: Property 'foo2' does not exist on type 'G1'. tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(182,11): error TS2339: Property 'bar' does not exist on type 'H'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(187,11): error TS2339: Property 'foo1' does not exist on type 'H'. +tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts(188,11): error TS2339: Property 'foo2' does not exist on type 'H'. -==== tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts (10 errors) ==== +==== tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts (20 errors) ==== interface AConstructor { new (): A; } @@ -28,9 +38,11 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj2: any; - if (obj2 instanceof A) { // can't narrow type from 'any' + if (obj2 instanceof A) { obj2.foo; obj2.bar; + ~~~ +!!! error TS2339: Property 'bar' does not exist on type 'A'. } // a construct signature with generics @@ -47,17 +59,19 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru obj3.foo = 1; obj3.foo = "str"; ~~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! error TS2322: Type '"str"' is not assignable to type 'number'. obj3.bar = "str"; ~~~ !!! error TS2339: Property 'bar' does not exist on type 'B'. } var obj4: any; - if (obj4 instanceof B) { // can't narrow type from 'any' + if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; obj4.bar = "str"; + ~~~ +!!! error TS2339: Property 'bar' does not exist on type 'B'. } // has multiple construct signature @@ -88,10 +102,14 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj6: any; - if (obj6 instanceof C) { // can't narrow type from 'any' + if (obj6 instanceof C) { obj6.foo; obj6.bar1; + ~~~~ +!!! error TS2339: Property 'bar1' does not exist on type 'C1 | C2'. obj6.bar2; + ~~~~ +!!! error TS2339: Property 'bar2' does not exist on type 'C1 | C2'. } // with object type literal @@ -109,9 +127,11 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj8: any; - if (obj8 instanceof D) { // can't narrow type from 'any' + if (obj8 instanceof D) { obj8.foo; obj8.bar; + ~~~ +!!! error TS2339: Property 'bar' does not exist on type 'D'. } // a construct signature that returns a union type @@ -138,10 +158,14 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj10: any; - if (obj10 instanceof E) { // can't narrow type from 'any' + if (obj10 instanceof E) { obj10.foo; obj10.bar1; + ~~~~ +!!! error TS2339: Property 'bar1' does not exist on type 'E1 | E2'. obj10.bar2; + ~~~~ +!!! error TS2339: Property 'bar2' does not exist on type 'E1 | E2'. } // a construct signature that returns any @@ -158,14 +182,14 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru if (obj11 instanceof F) { // can't type narrowing, construct signature returns any. obj11.foo; ~~~ -!!! error TS2339: Property 'foo' does not exist on type 'F | string'. +!!! error TS2339: Property 'foo' does not exist on type 'string | F'. obj11.bar; ~~~ -!!! error TS2339: Property 'bar' does not exist on type 'F | string'. +!!! error TS2339: Property 'bar' does not exist on type 'string | F'. } var obj12: any; - if (obj12 instanceof F) { // can't narrow type from 'any' + if (obj12 instanceof F) { obj12.foo; obj12.bar; } @@ -192,9 +216,11 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj14: any; - if (obj14 instanceof G) { // can't narrow type from 'any' + if (obj14 instanceof G) { obj14.foo1; obj14.foo2; + ~~~~ +!!! error TS2339: Property 'foo2' does not exist on type 'G1'. } // a type with a prototype that has any type @@ -216,8 +242,24 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } var obj16: any; - if (obj16 instanceof H) { // can't narrow type from 'any' + if (obj16 instanceof H) { obj16.foo1; + ~~~~ +!!! error TS2339: Property 'foo1' does not exist on type 'H'. obj16.foo2; + ~~~~ +!!! error TS2339: Property 'foo2' does not exist on type 'H'. + } + + var obj17: any; + if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' + obj17.foo1; + obj17.foo2; + } + + var obj18: any; + if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' + obj18.foo1; + obj18.foo2; } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js index 7e6b3324470..40ef6587e75 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.js @@ -14,7 +14,7 @@ if (obj1 instanceof A) { // narrowed to A. } var obj2: any; -if (obj2 instanceof A) { // can't narrow type from 'any' +if (obj2 instanceof A) { obj2.foo; obj2.bar; } @@ -36,7 +36,7 @@ if (obj3 instanceof B) { // narrowed to B. } var obj4: any; -if (obj4 instanceof B) { // can't narrow type from 'any' +if (obj4 instanceof B) { obj4.foo = "str"; obj4.foo = 1; obj4.bar = "str"; @@ -68,7 +68,7 @@ if (obj5 instanceof C) { // narrowed to C1|C2. } var obj6: any; -if (obj6 instanceof C) { // can't narrow type from 'any' +if (obj6 instanceof C) { obj6.foo; obj6.bar1; obj6.bar2; @@ -87,7 +87,7 @@ if (obj7 instanceof D) { // narrowed to D. } var obj8: any; -if (obj8 instanceof D) { // can't narrow type from 'any' +if (obj8 instanceof D) { obj8.foo; obj8.bar; } @@ -114,7 +114,7 @@ if (obj9 instanceof E) { // narrowed to E1 | E2 } var obj10: any; -if (obj10 instanceof E) { // can't narrow type from 'any' +if (obj10 instanceof E) { obj10.foo; obj10.bar1; obj10.bar2; @@ -137,7 +137,7 @@ if (obj11 instanceof F) { // can't type narrowing, construct signature returns a } var obj12: any; -if (obj12 instanceof F) { // can't narrow type from 'any' +if (obj12 instanceof F) { obj12.foo; obj12.bar; } @@ -162,7 +162,7 @@ if (obj13 instanceof G) { // narrowed to G1. G1 is return type of prototype prop } var obj14: any; -if (obj14 instanceof G) { // can't narrow type from 'any' +if (obj14 instanceof G) { obj14.foo1; obj14.foo2; } @@ -184,10 +184,22 @@ if (obj15 instanceof H) { // narrowed to H. } var obj16: any; -if (obj16 instanceof H) { // can't narrow type from 'any' +if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } + +var obj17: any; +if (obj17 instanceof Object) { // can't narrow type from 'any' to 'Object' + obj17.foo1; + obj17.foo2; +} + +var obj18: any; +if (obj18 instanceof Function) { // can't narrow type from 'any' to 'Function' + obj18.foo1; + obj18.foo2; +} //// [typeGuardsWithInstanceOfByConstructorSignature.js] @@ -278,3 +290,13 @@ if (obj16 instanceof H) { obj16.foo1; obj16.foo2; } +var obj17; +if (obj17 instanceof Object) { + obj17.foo1; + obj17.foo2; +} +var obj18; +if (obj18 instanceof Function) { + obj18.foo1; + obj18.foo2; +} diff --git a/tests/baselines/reference/typeInferenceConflictingCandidates.errors.txt b/tests/baselines/reference/typeInferenceConflictingCandidates.errors.txt index f275e44503a..d20b7ae4ede 100644 --- a/tests/baselines/reference/typeInferenceConflictingCandidates.errors.txt +++ b/tests/baselines/reference/typeInferenceConflictingCandidates.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/typeInferenceConflictingCandidates.ts(3,1): error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. - Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. + Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '3'. ==== tests/cases/compiler/typeInferenceConflictingCandidates.ts (1 errors) ==== @@ -8,4 +8,4 @@ tests/cases/compiler/typeInferenceConflictingCandidates.ts(3,1): error TS2453: T g("", 3, a => a); ~ !!! error TS2453: The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. -!!! error TS2453: Type argument candidate 'string' is not a valid type argument because it is not a supertype of candidate 'number'. \ No newline at end of file +!!! error TS2453: Type argument candidate '""' is not a valid type argument because it is not a supertype of candidate '3'. \ No newline at end of file diff --git a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types index 0ce04aabddf..a6d0a51dd45 100644 --- a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types +++ b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types @@ -61,9 +61,9 @@ fold( [1, 2, 3], >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 [] as [string, string][], >[] as [string, string][] : [string, string][] @@ -81,8 +81,8 @@ fold( ["", ""] >["", ""] : [string, string] ->"" : string ->"" : string +>"" : "" +>"" : "" ) ); diff --git a/tests/baselines/reference/typeInferenceFixEarly.types b/tests/baselines/reference/typeInferenceFixEarly.types index 5c727ca3226..2eacc53be61 100644 --- a/tests/baselines/reference/typeInferenceFixEarly.types +++ b/tests/baselines/reference/typeInferenceFixEarly.types @@ -13,5 +13,5 @@ f(n => 3); >f : (p: (t: T) => T) => T >n => 3 : (n: {}) => number >n : {} ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/typeInferenceWithTupleType.types b/tests/baselines/reference/typeInferenceWithTupleType.types index a45e72518e8..a7f8bff6798 100644 --- a/tests/baselines/reference/typeInferenceWithTupleType.types +++ b/tests/baselines/reference/typeInferenceWithTupleType.types @@ -20,20 +20,20 @@ var combineResult = combine("string", 10); >combineResult : [string, number] >combine("string", 10) : [string, number] >combine : (x: T, y: U) => [T, U] ->"string" : string ->10 : number +>"string" : "string" +>10 : 10 var combineEle1 = combineResult[0]; // string >combineEle1 : string >combineResult[0] : string >combineResult : [string, number] ->0 : number +>0 : 0 var combineEle2 = combineResult[1]; // number >combineEle2 : number >combineResult[1] : number >combineResult : [string, number] ->1 : number +>1 : 1 function zip(array1: T[], array2: U[]): [[T, U]] { >zip : (array1: T[], array2: U[]) => [[T, U]] @@ -74,7 +74,7 @@ function zip(array1: T[], array2: U[]): [[T, U]] { for (var i = 0; i < length; ++i) { >i : number ->0 : number +>0 : 0 >i < length : boolean >i : number >length : number @@ -103,24 +103,24 @@ var zipResult = zip(["foo", "bar"], [5, 6]); >zip(["foo", "bar"], [5, 6]) : [[string, number]] >zip : (array1: T[], array2: U[]) => [[T, U]] >["foo", "bar"] : string[] ->"foo" : string ->"bar" : string +>"foo" : "foo" +>"bar" : "bar" >[5, 6] : number[] ->5 : number ->6 : number +>5 : 5 +>6 : 6 var zipResultEle = zipResult[0]; // [string, number] >zipResultEle : [string, number] >zipResult[0] : [string, number] >zipResult : [[string, number]] ->0 : number +>0 : 0 var zipResultEleEle = zipResult[0][0]; // string >zipResultEleEle : string >zipResult[0][0] : string >zipResult[0] : [string, number] >zipResult : [[string, number]] ->0 : number ->0 : number +>0 : 0 +>0 : 0 diff --git a/tests/baselines/reference/typeName1.errors.txt b/tests/baselines/reference/typeName1.errors.txt index 152a5b951e7..3e99a18552f 100644 --- a/tests/baselines/reference/typeName1.errors.txt +++ b/tests/baselines/reference/typeName1.errors.txt @@ -1,19 +1,19 @@ -tests/cases/compiler/typeName1.ts(9,5): error TS2322: Type 'number' is not assignable to type '{ f(s: string): number; f(n: number): string; }'. -tests/cases/compiler/typeName1.ts(10,5): error TS2322: Type 'number' is not assignable to type '{ f(s: string): number; }'. -tests/cases/compiler/typeName1.ts(11,5): error TS2322: Type 'number' is not assignable to type '{ (s: string): number; (n: number): string; }'. -tests/cases/compiler/typeName1.ts(12,5): error TS2322: Type 'number' is not assignable to type '{ x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. -tests/cases/compiler/typeName1.ts(13,5): error TS2322: Type 'number' is not assignable to type '{ (s: string): number; (n: number): string; x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. -tests/cases/compiler/typeName1.ts(14,5): error TS2322: Type 'number' is not assignable to type '{ z: number; f: { (n: number): string; (s: string): number; }; }'. -tests/cases/compiler/typeName1.ts(15,5): error TS2322: Type 'number' is not assignable to type '(s: string) => boolean'. -tests/cases/compiler/typeName1.ts(16,5): error TS2322: Type 'number' is not assignable to type '{ (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }'. +tests/cases/compiler/typeName1.ts(9,5): error TS2322: Type '3' is not assignable to type '{ f(s: string): number; f(n: number): string; }'. +tests/cases/compiler/typeName1.ts(10,5): error TS2322: Type '3' is not assignable to type '{ f(s: string): number; }'. +tests/cases/compiler/typeName1.ts(11,5): error TS2322: Type '3' is not assignable to type '{ (s: string): number; (n: number): string; }'. +tests/cases/compiler/typeName1.ts(12,5): error TS2322: Type '3' is not assignable to type '{ x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. +tests/cases/compiler/typeName1.ts(13,5): error TS2322: Type '3' is not assignable to type '{ (s: string): number; (n: number): string; x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. +tests/cases/compiler/typeName1.ts(14,5): error TS2322: Type '3' is not assignable to type '{ z: number; f: { (n: number): string; (s: string): number; }; }'. +tests/cases/compiler/typeName1.ts(15,5): error TS2322: Type '3' is not assignable to type '(s: string) => boolean'. +tests/cases/compiler/typeName1.ts(16,5): error TS2322: Type '3' is not assignable to type '{ (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }'. tests/cases/compiler/typeName1.ts(16,10): error TS2411: Property 'z' of type 'I' is not assignable to string index type '{ x: any; y: any; }'. -tests/cases/compiler/typeName1.ts(17,5): error TS2322: Type 'number' is not assignable to type 'I'. -tests/cases/compiler/typeName1.ts(18,5): error TS2322: Type 'number' is not assignable to type 'I[][][][]'. -tests/cases/compiler/typeName1.ts(19,5): error TS2322: Type 'number' is not assignable to type '{ z: I; x: boolean; }[][]'. -tests/cases/compiler/typeName1.ts(20,5): error TS2322: Type 'number' is not assignable to type '{ z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }; }[][]'. +tests/cases/compiler/typeName1.ts(17,5): error TS2322: Type '3' is not assignable to type 'I'. +tests/cases/compiler/typeName1.ts(18,5): error TS2322: Type '3' is not assignable to type 'I[][][][]'. +tests/cases/compiler/typeName1.ts(19,5): error TS2322: Type '3' is not assignable to type '{ z: I; x: boolean; }[][]'. +tests/cases/compiler/typeName1.ts(20,5): error TS2322: Type '3' is not assignable to type '{ z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }; }[][]'. tests/cases/compiler/typeName1.ts(20,50): error TS2411: Property 'z' of type 'I' is not assignable to string index type '{ x: any; y: any; }'. -tests/cases/compiler/typeName1.ts(21,5): error TS2322: Type 'number' is not assignable to type '{ (): {}; new (): number; new (n: number): number; x: string; w: { y: number; }; }'. -tests/cases/compiler/typeName1.ts(22,5): error TS2322: Type 'number' is not assignable to type '{ (): string; f(x: number): boolean; p: any; q: any; }'. +tests/cases/compiler/typeName1.ts(21,5): error TS2322: Type '3' is not assignable to type '{ (): {}; new (): number; new (n: number): number; x: string; w: { y: number; }; }'. +tests/cases/compiler/typeName1.ts(22,5): error TS2322: Type '3' is not assignable to type '{ (): string; f(x: number): boolean; p: any; q: any; }'. tests/cases/compiler/typeName1.ts(23,5): error TS2322: Type 'typeof C' is not assignable to type 'number'. @@ -28,50 +28,50 @@ tests/cases/compiler/typeName1.ts(23,5): error TS2322: Type 'typeof C' is not as var x1:{ f(s:string):number;f(n:number):string; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ f(s: string): number; f(n: number): string; }'. +!!! error TS2322: Type '3' is not assignable to type '{ f(s: string): number; f(n: number): string; }'. var x2:{ f(s:string):number; } =3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ f(s: string): number; }'. +!!! error TS2322: Type '3' is not assignable to type '{ f(s: string): number; }'. var x3:{ (s:string):number;(n:number):string; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ (s: string): number; (n: number): string; }'. +!!! error TS2322: Type '3' is not assignable to type '{ (s: string): number; (n: number): string; }'. var x4:{ x;y;z:number;f(n:number):string;f(s:string):number; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. +!!! error TS2322: Type '3' is not assignable to type '{ x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. var x5:{ (s:string):number;(n:number):string;x;y;z:number;f(n:number):string;f(s:string):number; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ (s: string): number; (n: number): string; x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. +!!! error TS2322: Type '3' is not assignable to type '{ (s: string): number; (n: number): string; x: any; y: any; z: number; f(n: number): string; f(s: string): number; }'. var x6:{ z:number;f:{(n:number):string;(s:string):number;}; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ z: number; f: { (n: number): string; (s: string): number; }; }'. +!!! error TS2322: Type '3' is not assignable to type '{ z: number; f: { (n: number): string; (s: string): number; }; }'. var x7:(s:string)=>boolean=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '(s: string) => boolean'. +!!! error TS2322: Type '3' is not assignable to type '(s: string) => boolean'. var x8:{ z:I;[s:string]:{ x; y; };[n:number]:{x; y;};():boolean; }=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type '{ (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }'. +!!! error TS2322: Type '3' is not assignable to type '{ (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }'. ~~~~ !!! error TS2411: Property 'z' of type 'I' is not assignable to string index type '{ x: any; y: any; }'. var x9:I=3; ~~ -!!! error TS2322: Type 'number' is not assignable to type 'I'. +!!! error TS2322: Type '3' is not assignable to type 'I'. var x10:I[][][][]=3; ~~~ -!!! error TS2322: Type 'number' is not assignable to type 'I[][][][]'. +!!! error TS2322: Type '3' is not assignable to type 'I[][][][]'. var x11:{z:I;x:boolean;}[][]=3; ~~~ -!!! error TS2322: Type 'number' is not assignable to type '{ z: I; x: boolean; }[][]'. +!!! error TS2322: Type '3' is not assignable to type '{ z: I; x: boolean; }[][]'. var x12:{z:I;x:boolean;y:(s:string)=>boolean;w:{ z:I;[s:string]:{ x; y; };[n:number]:{x; y;};():boolean; };}[][]=3; ~~~ -!!! error TS2322: Type 'number' is not assignable to type '{ z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }; }[][]'. +!!! error TS2322: Type '3' is not assignable to type '{ z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }; }[][]'. ~~~~ !!! error TS2411: Property 'z' of type 'I' is not assignable to string index type '{ x: any; y: any; }'. var x13:{ new(): number; new(n:number):number; x: string; w: {y: number;}; (): {}; } = 3; ~~~ -!!! error TS2322: Type 'number' is not assignable to type '{ (): {}; new (): number; new (n: number): number; x: string; w: { y: number; }; }'. +!!! error TS2322: Type '3' is not assignable to type '{ (): {}; new (): number; new (n: number): number; x: string; w: { y: number; }; }'. var x14:{ f(x:number):boolean; p; q; ():string; }=3; ~~~ -!!! error TS2322: Type 'number' is not assignable to type '{ (): string; f(x: number): boolean; p: any; q: any; }'. +!!! error TS2322: Type '3' is not assignable to type '{ (): string; f(x: number): boolean; p: any; q: any; }'. var x15:number=C; ~~~ !!! error TS2322: Type 'typeof C' is not assignable to type 'number'. diff --git a/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt b/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt index d7410ec04cb..89849d3a614 100644 --- a/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt +++ b/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt @@ -1,7 +1,9 @@ +tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts(8,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. +tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts(10,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts(10,70): error TS2375: Duplicate number index signature. -==== tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts (1 errors) ==== +==== tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts (3 errors) ==== enum E { a } @@ -10,7 +12,11 @@ tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts(10,70): error TS2375: Dup } var x = E; var x: { readonly a: E; readonly b: E; readonly [x: number]: string; }; // Shouldnt error + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. var y = E; var y: { readonly a: E; readonly b: E; readonly [x: number]: string; readonly [x: number]: string } // two errors: the types are not identical and duplicate signatures + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2375: Duplicate number index signature. \ No newline at end of file diff --git a/tests/baselines/reference/typeOfOnTypeArg.errors.txt b/tests/baselines/reference/typeOfOnTypeArg.errors.txt index 46b48983f21..58412a5417f 100644 --- a/tests/baselines/reference/typeOfOnTypeArg.errors.txt +++ b/tests/baselines/reference/typeOfOnTypeArg.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/typeOfOnTypeArg.ts(7,6): error TS2345: Argument of type 'number' is not assignable to parameter of type '{ '': number; }'. +tests/cases/compiler/typeOfOnTypeArg.ts(7,6): error TS2345: Argument of type '32' is not assignable to parameter of type '{ '': number; }'. ==== tests/cases/compiler/typeOfOnTypeArg.ts (1 errors) ==== @@ -10,5 +10,5 @@ tests/cases/compiler/typeOfOnTypeArg.ts(7,6): error TS2345: Argument of type 'nu fill(32); ~~ -!!! error TS2345: Argument of type 'number' is not assignable to parameter of type '{ '': number; }'. +!!! error TS2345: Argument of type '32' is not assignable to parameter of type '{ '': number; }'. \ No newline at end of file diff --git a/tests/baselines/reference/typeOfPrototype.js b/tests/baselines/reference/typeOfPrototype.js index 3e8b3186936..a0f076113e0 100644 --- a/tests/baselines/reference/typeOfPrototype.js +++ b/tests/baselines/reference/typeOfPrototype.js @@ -11,7 +11,7 @@ var Foo = (function () { function Foo() { this.bar = 3; } - Foo.bar = ''; return Foo; }()); +Foo.bar = ''; Foo.prototype.bar = undefined; // Should be OK diff --git a/tests/baselines/reference/typeOfPrototype.types b/tests/baselines/reference/typeOfPrototype.types index 90466787080..0660b4cd00c 100644 --- a/tests/baselines/reference/typeOfPrototype.types +++ b/tests/baselines/reference/typeOfPrototype.types @@ -4,11 +4,11 @@ class Foo { bar = 3; >bar : number ->3 : number +>3 : 3 static bar = ''; >bar : string ->'' : string +>'' : "" } Foo.prototype.bar = undefined; // Should be OK >Foo.prototype.bar = undefined : undefined diff --git a/tests/baselines/reference/typeOfThisInStaticMembers.types b/tests/baselines/reference/typeOfThisInStaticMembers.types index 72caa4a95a9..55e92bd791c 100644 --- a/tests/baselines/reference/typeOfThisInStaticMembers.types +++ b/tests/baselines/reference/typeOfThisInStaticMembers.types @@ -35,7 +35,7 @@ var r2 = t.foo + 1; >t.foo : number >t : typeof C >foo : number ->1 : number +>1 : 1 var r3 = t.bar(); >r3 : typeof C @@ -48,7 +48,7 @@ var r4 = new t(1); >r4 : C >new t(1) : C >t : typeof C ->1 : number +>1 : 1 class C2 { >C2 : C2 @@ -90,7 +90,7 @@ var r5 = t2.foo + 1; >t2.foo : string >t2 : typeof C2 >foo : string ->1 : number +>1 : 1 var r6 = t2.bar(); >r6 : typeof C2 @@ -103,6 +103,6 @@ var r7 = new t2(''); >r7 : C2<{}> >new t2('') : C2<{}> >t2 : typeof C2 ->'' : string +>'' : "" diff --git a/tests/baselines/reference/typeOfThisInStaticMembers2.js b/tests/baselines/reference/typeOfThisInStaticMembers2.js index b01770446be..886ea04e23d 100644 --- a/tests/baselines/reference/typeOfThisInStaticMembers2.js +++ b/tests/baselines/reference/typeOfThisInStaticMembers2.js @@ -11,12 +11,12 @@ class C2 { var C = (function () { function C() { } - C.foo = this; // error return C; }()); +C.foo = this; // error var C2 = (function () { function C2() { } - C2.foo = this; // error return C2; }()); +C2.foo = this; // error diff --git a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types index 8e476732ded..a8b96275283 100644 --- a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types +++ b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types @@ -13,7 +13,7 @@ function f(A: A): A { >A.toExponential : (fractionDigits?: number) => string >A : A >toExponential : (fractionDigits?: number) => string ->123 : number +>123 : 123 return null; >null : null diff --git a/tests/baselines/reference/typeParameterAsElementType.types b/tests/baselines/reference/typeParameterAsElementType.types index 3b145b7f3cf..b4c3b4f3ec0 100644 --- a/tests/baselines/reference/typeParameterAsElementType.types +++ b/tests/baselines/reference/typeParameterAsElementType.types @@ -8,8 +8,8 @@ function fee() { >T : T var arr = [t, ""]; ->arr : (T | string)[] ->[t, ""] : (T | string)[] +>arr : (string | T)[] +>[t, ""] : (string | T)[] >t : T ->"" : string +>"" : "" } diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types index c5f15f1ba55..885b655b749 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types @@ -16,17 +16,17 @@ function foo(x: T, y: U): U { return y; } var r = foo(1, 2); >r : number ->foo(1, 2) : number +>foo(1, 2) : 2 >foo : (x: T, y: U) => U ->1 : number ->2 : number +>1 : 1 +>2 : 2 var r = foo({}, 1); >r : number ->foo({}, 1) : number +>foo({}, 1) : 1 >foo : (x: T, y: U) => U >{} : {} ->1 : number +>1 : 1 interface A { >A : A @@ -62,12 +62,12 @@ var r3 = foo({ x: 1 }, { x: 2, y: 3 }); >foo : (x: T, y: U) => U >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 >{ x: 2, y: 3 } : { x: number; y: number; } >x : number ->2 : number +>2 : 2 >y : number ->3 : number +>3 : 3 function foo2(x: T, y: U) { return y; } >foo2 : (x: T, y: U) => U @@ -82,10 +82,10 @@ function foo2(x: T, y: U) { return y; } >y : U foo2(1, ''); ->foo2(1, '') : string +>foo2(1, '') : "" >foo2 : (x: T, y: U) => U ->1 : number ->'' : string +>1 : 1 +>'' : "" foo2({}, { length: 2 }); >foo2({}, { length: 2 }) : { length: number; } @@ -93,28 +93,28 @@ foo2({}, { length: 2 }); >{} : {} >{ length: 2 } : { length: number; } >length : number ->2 : number +>2 : 2 foo2(1, { width: 3, length: 2 }); >foo2(1, { width: 3, length: 2 }) : { width: number; length: number; } >foo2 : (x: T, y: U) => U ->1 : number +>1 : 1 >{ width: 3, length: 2 } : { width: number; length: number; } >width : number ->3 : number +>3 : 3 >length : number ->2 : number +>2 : 2 foo2(1, []); >foo2(1, []) : any[] >foo2 : (x: T, y: U) => U ->1 : number +>1 : 1 >[] : undefined[] foo2(1, ['']); >foo2(1, ['']) : string[] >foo2 : (x: T, y: U) => U ->1 : number +>1 : 1 >[''] : string[] ->'' : string +>'' : "" diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.errors.txt b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.errors.txt index 0e148cb5689..08706d095b2 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.errors.txt +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts(6,8): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts(6,8): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts(7,8): error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts(13,17): error TS2345: Argument of type 'NumberVariant' is not assignable to parameter of type 'number'. tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts(16,9): error TS2345: Argument of type '{ length: string; }' is not assignable to parameter of type '{ length: number; }'. @@ -20,7 +20,7 @@ tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTy foo(1, ''); ~~ -!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. +!!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. foo(1, {}); ~~ !!! error TS2345: Argument of type '{}' is not assignable to parameter of type 'number'. diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types index e2d41c5c136..8e5f04507bb 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types @@ -45,30 +45,30 @@ function foo(x: T, y: U, z: V): V { return z; } //function foo(x: T, y: U, z: V): V { return z; } foo(1, 2, 3); ->foo(1, 2, 3) : number +>foo(1, 2, 3) : 3 >foo : (x: T, y: U, z: V) => V ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }) : { x: number; y: string; z: boolean; } >foo : (x: T, y: U, z: V) => V >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 >{ x: 1, y: '' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'' : string ->{ x: 2, y: '', z: true } : { x: number; y: string; z: boolean; } +>'' : "" +>{ x: 2, y: '', z: true } : { x: number; y: string; z: true; } >x : number ->2 : number +>2 : 2 >y : string ->'' : string +>'' : "" >z : boolean ->true : boolean +>true : true foo(a, b, c); >foo(a, b, c) : C @@ -82,13 +82,13 @@ foo(a, b, { foo: 1, bar: '', hm: true }); >foo : (x: T, y: U, z: V) => V >a : A >b : B ->{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: boolean; } +>{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: true; } >foo : number ->1 : number +>1 : 1 >bar : string ->'' : string +>'' : "" >hm : boolean ->true : boolean +>true : true foo((x: number, y) => { }, (x) => { }, () => { }); >foo((x: number, y) => { }, (x) => { }, () => { }) : () => void @@ -137,9 +137,9 @@ foo(b, b, { foo: 1, bar: '', hm: '' }); >b : B >{ foo: 1, bar: '', hm: '' } : { foo: number; bar: string; hm: string; } >foo : number ->1 : number +>1 : 1 >bar : string ->'' : string +>'' : "" >hm : string ->'' : string +>'' : "" diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types index 3d51ad80832..80e800cb1e0 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types @@ -45,30 +45,30 @@ function foo(x: T, y: U, z: V): V { return z; } //function foo(x: T, y: U, z: V): V { return z; } foo(1, 2, ''); ->foo(1, 2, '') : string +>foo(1, 2, '') : "" >foo : (x: T, y: U, z: V) => V ->1 : number ->2 : number ->'' : string +>1 : 1 +>2 : 2 +>'' : "" foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }) : { x: number; y: number; z: boolean; } >foo : (x: T, y: U, z: V) => V >{ x: 1 } : { x: number; } >x : number ->1 : number +>1 : 1 >{ x: 1, y: '' } : { x: number; y: string; } >x : number ->1 : number +>1 : 1 >y : string ->'' : string ->{ x: 2, y: 2, z: true } : { x: number; y: number; z: boolean; } +>'' : "" +>{ x: 2, y: 2, z: true } : { x: number; y: number; z: true; } >x : number ->2 : number +>2 : 2 >y : number ->2 : number +>2 : 2 >z : boolean ->true : boolean +>true : true foo(a, b, a); >foo(a, b, a) : A @@ -81,13 +81,13 @@ foo(a, { foo: 1, bar: '', hm: true }, b); >foo(a, { foo: 1, bar: '', hm: true }, b) : B >foo : (x: T, y: U, z: V) => V >a : A ->{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: boolean; } +>{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: true; } >foo : number ->1 : number +>1 : 1 >bar : string ->'' : string +>'' : "" >hm : boolean ->true : boolean +>true : true >b : B foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }); diff --git a/tests/baselines/reference/typeParameterConstraints1.errors.txt b/tests/baselines/reference/typeParameterConstraints1.errors.txt index 97bc8165751..bba4bd1878e 100644 --- a/tests/baselines/reference/typeParameterConstraints1.errors.txt +++ b/tests/baselines/reference/typeParameterConstraints1.errors.txt @@ -1,9 +1,7 @@ tests/cases/compiler/typeParameterConstraints1.ts(6,25): error TS2304: Cannot find name 'hm'. -tests/cases/compiler/typeParameterConstraints1.ts(9,25): error TS1110: Type expected. -tests/cases/compiler/typeParameterConstraints1.ts(10,26): error TS1110: Type expected. -==== tests/cases/compiler/typeParameterConstraints1.ts (3 errors) ==== +==== tests/cases/compiler/typeParameterConstraints1.ts (1 errors) ==== function foo1(test: T) { } function foo2(test: T) { } function foo3(test: T) { } @@ -15,11 +13,7 @@ tests/cases/compiler/typeParameterConstraints1.ts(10,26): error TS1110: Type exp function foo7(test: T) { } // valid function foo8(test: T) { } function foo9 (test: T) { } - ~ -!!! error TS1110: Type expected. function foo10 (test: T) { } - ~ -!!! error TS1110: Type expected. function foo11 (test: T) { } function foo12(test: T) { } function foo13(test: T) { } \ No newline at end of file diff --git a/tests/baselines/reference/typeQueryOnClass.js b/tests/baselines/reference/typeQueryOnClass.js index 85dff0de831..80623af5be8 100644 --- a/tests/baselines/reference/typeQueryOnClass.js +++ b/tests/baselines/reference/typeQueryOnClass.js @@ -99,10 +99,10 @@ var C = (function () { enumerable: true, configurable: true }); - C.sa = 1; - C.sb = function () { return 1; }; return C; }()); +C.sa = 1; +C.sb = function () { return 1; }; var c; // BUG 820454 var r1; diff --git a/tests/baselines/reference/typeReferenceDirectives1.js b/tests/baselines/reference/typeReferenceDirectives1.js index 775af9c5283..a6210819931 100644 --- a/tests/baselines/reference/typeReferenceDirectives1.js +++ b/tests/baselines/reference/typeReferenceDirectives1.js @@ -2,7 +2,6 @@ //// [index.d.ts] - interface $ { x } //// [app.ts] diff --git a/tests/baselines/reference/typeReferenceDirectives1.symbols b/tests/baselines/reference/typeReferenceDirectives1.symbols index 55c17b219ec..a33a2aba408 100644 --- a/tests/baselines/reference/typeReferenceDirectives1.symbols +++ b/tests/baselines/reference/typeReferenceDirectives1.symbols @@ -9,8 +9,7 @@ interface A { } === /types/lib/index.d.ts === - interface $ { x } >$ : Symbol($, Decl(index.d.ts, 0, 0)) ->x : Symbol($.x, Decl(index.d.ts, 2, 13)) +>x : Symbol($.x, Decl(index.d.ts, 1, 13)) diff --git a/tests/baselines/reference/typeReferenceDirectives1.types b/tests/baselines/reference/typeReferenceDirectives1.types index 05080e05651..be789a08ddc 100644 --- a/tests/baselines/reference/typeReferenceDirectives1.types +++ b/tests/baselines/reference/typeReferenceDirectives1.types @@ -9,7 +9,6 @@ interface A { } === /types/lib/index.d.ts === - interface $ { x } >$ : $ >x : any diff --git a/tests/baselines/reference/typeReferenceDirectives11.errors.txt b/tests/baselines/reference/typeReferenceDirectives11.errors.txt index 45433bf3b83..910c6a8e4c6 100644 --- a/tests/baselines/reference/typeReferenceDirectives11.errors.txt +++ b/tests/baselines/reference/typeReferenceDirectives11.errors.txt @@ -8,6 +8,7 @@ ==== /types/lib/index.d.ts (0 errors) ==== + interface Lib { x } ==== /mod1.ts (1 errors) ==== diff --git a/tests/baselines/reference/typeReferenceDirectives11.js b/tests/baselines/reference/typeReferenceDirectives11.js deleted file mode 100644 index cb41c843adc..00000000000 --- a/tests/baselines/reference/typeReferenceDirectives11.js +++ /dev/null @@ -1,27 +0,0 @@ -//// [tests/cases/compiler/typeReferenceDirectives11.ts] //// - -//// [index.d.ts] - - -interface Lib { x } - -//// [mod1.ts] - -export function foo(): Lib { return {x: 1} } - -//// [mod2.ts] - -import {foo} from "./mod1"; -export const bar = foo(); - -//// [output.js] - - -//// [output.d.ts] -/// -declare module "mod1" { - export function foo(): Lib; -} -declare module "mod2" { - export const bar: Lib; -} diff --git a/tests/baselines/reference/typeReferenceDirectives11.symbols b/tests/baselines/reference/typeReferenceDirectives11.symbols new file mode 100644 index 00000000000..875bb2a0900 --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives11.symbols @@ -0,0 +1,23 @@ +=== /mod2.ts === + +import {foo} from "./mod1"; +>foo : Symbol(foo, Decl(mod2.ts, 1, 8)) + +export const bar = foo(); +>bar : Symbol(bar, Decl(mod2.ts, 2, 12)) +>foo : Symbol(foo, Decl(mod2.ts, 1, 8)) + +=== /types/lib/index.d.ts === + + +interface Lib { x } +>Lib : Symbol(Lib, Decl(index.d.ts, 0, 0)) +>x : Symbol(Lib.x, Decl(index.d.ts, 2, 15)) + +=== /mod1.ts === + +export function foo(): Lib { return {x: 1} } +>foo : Symbol(foo, Decl(mod1.ts, 0, 0)) +>Lib : Symbol(Lib, Decl(index.d.ts, 0, 0)) +>x : Symbol(x, Decl(mod1.ts, 1, 37)) + diff --git a/tests/baselines/reference/typeReferenceDirectives11.types b/tests/baselines/reference/typeReferenceDirectives11.types new file mode 100644 index 00000000000..93d80b7988a --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives11.types @@ -0,0 +1,26 @@ +=== /mod2.ts === + +import {foo} from "./mod1"; +>foo : () => Lib + +export const bar = foo(); +>bar : Lib +>foo() : Lib +>foo : () => Lib + +=== /types/lib/index.d.ts === + + +interface Lib { x } +>Lib : Lib +>x : any + +=== /mod1.ts === + +export function foo(): Lib { return {x: 1} } +>foo : () => Lib +>Lib : Lib +>{x: 1} : { x: number; } +>x : number +>1 : number + diff --git a/tests/baselines/reference/typeReferenceDirectives12.errors.txt b/tests/baselines/reference/typeReferenceDirectives12.errors.txt index c1b3a6126b2..6775a2269ee 100644 --- a/tests/baselines/reference/typeReferenceDirectives12.errors.txt +++ b/tests/baselines/reference/typeReferenceDirectives12.errors.txt @@ -11,6 +11,7 @@ ==== /types/lib/index.d.ts (0 errors) ==== + interface Lib { x } ==== /main.ts (1 errors) ==== diff --git a/tests/baselines/reference/typeReferenceDirectives12.js b/tests/baselines/reference/typeReferenceDirectives12.js deleted file mode 100644 index c9c4a912da1..00000000000 --- a/tests/baselines/reference/typeReferenceDirectives12.js +++ /dev/null @@ -1,63 +0,0 @@ -//// [tests/cases/compiler/typeReferenceDirectives12.ts] //// - -//// [index.d.ts] - - -interface Lib { x } - -//// [main.ts] -export class Cls { - x -} - -//// [mod1.ts] -/// - -import {Cls} from "./main"; -Cls.prototype.foo = function() { return undefined; } - -declare module "./main" { - interface Cls { - foo(): Lib; - } - namespace Cls { - function bar(): Lib; - } -} - -//// [mod2.ts] -import { Cls } from "./main"; -import "./mod1"; - -export const cls = Cls; -export const foo = new Cls().foo(); -export const bar = Cls.bar(); - -//// [output.js] -/// - - -//// [output.d.ts] -/// -declare module "main" { - export class Cls { - x: any; - } -} -declare module "mod1" { - module "main" { - interface Cls { - foo(): Lib; - } - namespace Cls { - function bar(): Lib; - } - } -} -declare module "mod2" { - import { Cls } from "main"; - import "mod1"; - export const cls: typeof Cls; - export const foo: Lib; - export const bar: Lib; -} diff --git a/tests/baselines/reference/typeReferenceDirectives12.symbols b/tests/baselines/reference/typeReferenceDirectives12.symbols new file mode 100644 index 00000000000..30b24c39284 --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives12.symbols @@ -0,0 +1,68 @@ +=== /mod2.ts === +import { Cls } from "./main"; +>Cls : Symbol(Cls, Decl(mod2.ts, 0, 8)) + +import "./mod1"; + +export const cls = Cls; +>cls : Symbol(cls, Decl(mod2.ts, 3, 12)) +>Cls : Symbol(Cls, Decl(mod2.ts, 0, 8)) + +export const foo = new Cls().foo(); +>foo : Symbol(foo, Decl(mod2.ts, 4, 12)) +>new Cls().foo : Symbol(Cls.foo, Decl(mod1.ts, 6, 19)) +>Cls : Symbol(Cls, Decl(mod2.ts, 0, 8)) +>foo : Symbol(Cls.foo, Decl(mod1.ts, 6, 19)) + +export const bar = Cls.bar(); +>bar : Symbol(bar, Decl(mod2.ts, 5, 12)) +>Cls.bar : Symbol(Cls.bar, Decl(mod1.ts, 9, 19)) +>Cls : Symbol(Cls, Decl(mod2.ts, 0, 8)) +>bar : Symbol(Cls.bar, Decl(mod1.ts, 9, 19)) + +=== /types/lib/index.d.ts === + + +interface Lib { x } +>Lib : Symbol(Lib, Decl(index.d.ts, 0, 0)) +>x : Symbol(Lib.x, Decl(index.d.ts, 2, 15)) + +=== /main.ts === +export class Cls { +>Cls : Symbol(Cls, Decl(main.ts, 0, 0), Decl(mod1.ts, 5, 25), Decl(mod1.ts, 8, 5)) + + x +>x : Symbol(Cls.x, Decl(main.ts, 0, 18)) +} + +=== /mod1.ts === +/// + +import {Cls} from "./main"; +>Cls : Symbol(Cls, Decl(mod1.ts, 2, 8)) + +Cls.prototype.foo = function() { return undefined; } +>Cls.prototype.foo : Symbol(Cls.foo, Decl(mod1.ts, 6, 19)) +>Cls.prototype : Symbol(Cls.prototype) +>Cls : Symbol(Cls, Decl(mod1.ts, 2, 8)) +>prototype : Symbol(Cls.prototype) +>foo : Symbol(Cls.foo, Decl(mod1.ts, 6, 19)) +>undefined : Symbol(undefined) + +declare module "./main" { + interface Cls { +>Cls : Symbol(Cls, Decl(main.ts, 0, 0), Decl(mod1.ts, 5, 25), Decl(mod1.ts, 8, 5)) + + foo(): Lib; +>foo : Symbol(Cls.foo, Decl(mod1.ts, 6, 19)) +>Lib : Symbol(Lib, Decl(index.d.ts, 0, 0)) + } + namespace Cls { +>Cls : Symbol(Cls, Decl(main.ts, 0, 0), Decl(mod1.ts, 5, 25), Decl(mod1.ts, 8, 5)) + + function bar(): Lib; +>bar : Symbol(bar, Decl(mod1.ts, 9, 19)) +>Lib : Symbol(Lib, Decl(index.d.ts, 0, 0)) + } +} + diff --git a/tests/baselines/reference/typeReferenceDirectives12.types b/tests/baselines/reference/typeReferenceDirectives12.types new file mode 100644 index 00000000000..bd429b91f1c --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives12.types @@ -0,0 +1,73 @@ +=== /mod2.ts === +import { Cls } from "./main"; +>Cls : typeof Cls + +import "./mod1"; + +export const cls = Cls; +>cls : typeof Cls +>Cls : typeof Cls + +export const foo = new Cls().foo(); +>foo : Lib +>new Cls().foo() : Lib +>new Cls().foo : () => Lib +>new Cls() : Cls +>Cls : typeof Cls +>foo : () => Lib + +export const bar = Cls.bar(); +>bar : Lib +>Cls.bar() : Lib +>Cls.bar : () => Lib +>Cls : typeof Cls +>bar : () => Lib + +=== /types/lib/index.d.ts === + + +interface Lib { x } +>Lib : Lib +>x : any + +=== /main.ts === +export class Cls { +>Cls : Cls + + x +>x : any +} + +=== /mod1.ts === +/// + +import {Cls} from "./main"; +>Cls : typeof Cls + +Cls.prototype.foo = function() { return undefined; } +>Cls.prototype.foo = function() { return undefined; } : () => any +>Cls.prototype.foo : () => Lib +>Cls.prototype : Cls +>Cls : typeof Cls +>prototype : Cls +>foo : () => Lib +>function() { return undefined; } : () => any +>undefined : undefined + +declare module "./main" { + interface Cls { +>Cls : Cls + + foo(): Lib; +>foo : () => Lib +>Lib : Lib + } + namespace Cls { +>Cls : typeof Cls + + function bar(): Lib; +>bar : () => Lib +>Lib : Lib + } +} + diff --git a/tests/baselines/reference/typeReferenceDirectives7.types b/tests/baselines/reference/typeReferenceDirectives7.types index dab53a49899..8ef960dd4a9 100644 --- a/tests/baselines/reference/typeReferenceDirectives7.types +++ b/tests/baselines/reference/typeReferenceDirectives7.types @@ -3,7 +3,7 @@ export let $ = 1; >$ : number ->1 : number +>1 : 1 export let x: typeof $; >x : number diff --git a/tests/baselines/reference/typeReferenceDirectives8.types b/tests/baselines/reference/typeReferenceDirectives8.types index 93d80b7988a..54ed0efd6e0 100644 --- a/tests/baselines/reference/typeReferenceDirectives8.types +++ b/tests/baselines/reference/typeReferenceDirectives8.types @@ -22,5 +22,5 @@ export function foo(): Lib { return {x: 1} } >Lib : Lib >{x: 1} : { x: number; } >x : number ->1 : number +>1 : 1 diff --git a/tests/baselines/reference/typeResolution.js.map b/tests/baselines/reference/typeResolution.js.map index 7ccf64daf06..99d359bdbee 100644 --- a/tests/baselines/reference/typeResolution.js.map +++ b/tests/baselines/reference/typeResolution.js.map @@ -1,2 +1,2 @@ //// [typeResolution.js.map] -{"version":3,"file":"typeResolution.js","sourceRoot":"","sources":["typeResolution.ts"],"names":[],"mappings":";;IAAA,IAAc,eAAe,CAmG5B;IAnGD,WAAc,eAAe,EAAC,CAAC;QAC3B,IAAc,UAAU,CAwEvB;QAxED,WAAc,UAAU,EAAC,CAAC;YACtB,IAAc,aAAa,CAwD1B;YAxDD,WAAc,aAAa,EAAC,CAAC;gBACzB;oBAAA;oBAmBA,CAAC;oBAlBU,2BAAU,GAAjB;wBACI,uCAAuC;wBACvC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,yCAAyC;wBACzC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,qCAAqC;wBACrC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,sBAAsB;wBACtB,IAAI,EAAc,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;oBACL,aAAC;gBAAD,CAAC,AAnBD,IAmBC;gBAnBY,oBAAM,SAmBlB,CAAA;gBACD;oBAAA;oBAsBA,CAAC;oBArBU,2BAAU,GAAjB;wBACI,+CAA+C;wBAE/C,uCAAuC;wBACvC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,yCAAyC;wBACzC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,qCAAqC;wBACrC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzE,IAAI,EAAqC,CAAC;wBAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAEzD,sBAAsB;wBACtB,IAAI,EAAc,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;oBACL,aAAC;gBAAD,CAAC,AAtBD,IAsBC;gBAtBY,oBAAM,SAsBlB,CAAA;gBAED;oBACI;wBACI;4BACI,uCAAuC;4BACvC,IAAI,EAAmD,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACzE,IAAI,EAAmD,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACzE,IAAI,EAAc,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACpC,IAAI,EAAqC,CAAC;4BAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAC7D,CAAC;oBACL,CAAC;oBACL,wBAAC;gBAAD,CAAC,AAVD,IAUC;YACL,CAAC,EAxDa,aAAa,GAAb,wBAAa,KAAb,wBAAa,QAwD1B;YAED,0EAA0E;YAC1E;gBACI;oBACI;wBACI,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,sBAAsB;wBACtB,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACL,aAAC;YAAD,CAAC,AAXD,IAWC;QACL,CAAC,EAxEa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAwEvB;QAED,IAAc,UAAU,CAWvB;QAXD,WAAc,UAAU,EAAC,CAAC;YACtB,IAAc,aAAa,CAO1B;YAPD,WAAc,aAAa,EAAC,CAAC;gBACzB,6DAA6D;gBAC7D;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;gBAC/C;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;gBAC/C;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;YAGnD,CAAC,EAPa,aAAa,GAAb,wBAAa,KAAb,wBAAa,QAO1B;QAGL,CAAC,EAXa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAWvB;QAED;YAAA;YAEA,CAAC;YADU,uBAAM,GAAb,cAAkB,CAAC;YACvB,aAAC;QAAD,CAAC,AAFD,IAEC;QAMD,IAAO,iBAAiB,CAEvB;QAFD,WAAO,iBAAiB,EAAC,CAAC;YACtB;gBAAA;gBAAsB,CAAC;gBAAD,aAAC;YAAD,CAAC,AAAvB,IAAuB;YAAV,wBAAM,SAAI,CAAA;QAC3B,CAAC,EAFM,iBAAiB,KAAjB,iBAAiB,QAEvB;IACL,CAAC,EAnGa,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAmG5B;IAED,IAAO,eAAe,CAMrB;IAND,WAAO,eAAe,EAAC,CAAC;QACpB,IAAc,UAAU,CAIvB;QAJD,WAAc,UAAU,EAAC,CAAC;YACtB;gBAAA;gBAEA,CAAC;gBADU,yBAAQ,GAAf,cAAoB,CAAC;gBACzB,aAAC;YAAD,CAAC,AAFD,IAEC;YAFY,iBAAM,SAElB,CAAA;QACL,CAAC,EAJa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAIvB;IACL,CAAC,EANM,eAAe,KAAf,eAAe,QAMrB"} \ No newline at end of file +{"version":3,"file":"typeResolution.js","sourceRoot":"","sources":["typeResolution.ts"],"names":[],"mappings":";;IAAA,IAAc,eAAe,CAmG5B;IAnGD,WAAc,eAAe;QACzB,IAAc,UAAU,CAwEvB;QAxED,WAAc,UAAU;YACpB,IAAc,aAAa,CAwD1B;YAxDD,WAAc,aAAa;gBACvB;oBAAA;oBAmBA,CAAC;oBAlBU,2BAAU,GAAjB;wBACI,uCAAuC;wBACvC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,yCAAyC;wBACzC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,qCAAqC;wBACrC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,sBAAsB;wBACtB,IAAI,EAAc,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;oBACL,aAAC;gBAAD,CAAC,AAnBD,IAmBC;gBAnBY,oBAAM,SAmBlB,CAAA;gBACD;oBAAA;oBAsBA,CAAC;oBArBU,2BAAU,GAAjB;wBACI,+CAA+C;wBAE/C,uCAAuC;wBACvC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,yCAAyC;wBACzC,IAAI,EAAU,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAChC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,qCAAqC;wBACrC,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzE,IAAI,EAAqC,CAAC;wBAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAEzD,sBAAsB;wBACtB,IAAI,EAAc,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;oBACL,aAAC;gBAAD,CAAC,AAtBD,IAsBC;gBAtBY,oBAAM,SAsBlB,CAAA;gBAED;oBACI;wBACI;4BACI,uCAAuC;4BACvC,IAAI,EAAmD,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACzE,IAAI,EAAmD,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACzE,IAAI,EAAc,CAAC;4BAAC,EAAE,CAAC,UAAU,EAAE,CAAC;4BACpC,IAAI,EAAqC,CAAC;4BAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBAC7D,CAAC;oBACL,CAAC;oBACL,wBAAC;gBAAD,CAAC,AAVD,IAUC;YACL,CAAC,EAxDa,aAAa,GAAb,wBAAa,KAAb,wBAAa,QAwD1B;YAED,0EAA0E;YAC1E;gBACI;oBACI;wBACI,IAAI,EAAwB,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAC9C,IAAI,EAAmC,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,EAAmD,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;wBAEzE,sBAAsB;wBACtB,IAAI,EAA4B,CAAC;wBAAC,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACL,aAAC;YAAD,CAAC,AAXD,IAWC;QACL,CAAC,EAxEa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAwEvB;QAED,IAAc,UAAU,CAWvB;QAXD,WAAc,UAAU;YACpB,IAAc,aAAa,CAO1B;YAPD,WAAc,aAAa;gBACvB,6DAA6D;gBAC7D;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;gBAC/C;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;gBAC/C;oBAAA;oBAA8C,CAAC;oBAAlB,2BAAU,GAAjB,cAAsB,CAAC;oBAAC,aAAC;gBAAD,CAAC,AAA/C,IAA+C;gBAAlC,oBAAM,SAA4B,CAAA;YAGnD,CAAC,EAPa,aAAa,GAAb,wBAAa,KAAb,wBAAa,QAO1B;QAGL,CAAC,EAXa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAWvB;QAED;YAAA;YAEA,CAAC;YADU,uBAAM,GAAb,cAAkB,CAAC;YACvB,aAAC;QAAD,CAAC,AAFD,IAEC;QAMD,IAAO,iBAAiB,CAEvB;QAFD,WAAO,iBAAiB;YACpB;gBAAA;gBAAsB,CAAC;gBAAD,aAAC;YAAD,CAAC,AAAvB,IAAuB;YAAV,wBAAM,SAAI,CAAA;QAC3B,CAAC,EAFM,iBAAiB,KAAjB,iBAAiB,QAEvB;IACL,CAAC,EAnGa,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAmG5B;IAED,IAAO,eAAe,CAMrB;IAND,WAAO,eAAe;QAClB,IAAc,UAAU,CAIvB;QAJD,WAAc,UAAU;YACpB;gBAAA;gBAEA,CAAC;gBADU,yBAAQ,GAAf,cAAoB,CAAC;gBACzB,aAAC;YAAD,CAAC,AAFD,IAEC;YAFY,iBAAM,SAElB,CAAA;QACL,CAAC,EAJa,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAIvB;IACL,CAAC,EANM,eAAe,KAAf,eAAe,QAMrB"} \ No newline at end of file diff --git a/tests/baselines/reference/typeResolution.sourcemap.txt b/tests/baselines/reference/typeResolution.sourcemap.txt index 2c109916e6c..8cfb638991c 100644 --- a/tests/baselines/reference/typeResolution.sourcemap.txt +++ b/tests/baselines/reference/typeResolution.sourcemap.txt @@ -128,18 +128,12 @@ sourceFile:typeResolution.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^^^ -4 > ^^ -5 > ^ 1-> 2 > export module 3 > TopLevelModule1 -4 > -5 > { 1->Emitted(4, 5) Source(1, 1) + SourceIndex(0) 2 >Emitted(4, 16) Source(1, 15) + SourceIndex(0) 3 >Emitted(4, 31) Source(1, 30) + SourceIndex(0) -4 >Emitted(4, 33) Source(1, 31) + SourceIndex(0) -5 >Emitted(4, 34) Source(1, 32) + SourceIndex(0) --- >>> var SubModule1; 1 >^^^^^^^^ @@ -147,7 +141,7 @@ sourceFile:typeResolution.ts 3 > ^^^^^^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > +1 > { > 2 > export module 3 > SubModule1 @@ -233,26 +227,21 @@ sourceFile:typeResolution.ts 1->^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^ -4 > ^^ -5 > ^ +4 > ^^-> 1-> 2 > export module 3 > SubModule1 -4 > -5 > { 1->Emitted(6, 9) Source(2, 5) + SourceIndex(0) 2 >Emitted(6, 20) Source(2, 19) + SourceIndex(0) 3 >Emitted(6, 30) Source(2, 29) + SourceIndex(0) -4 >Emitted(6, 32) Source(2, 30) + SourceIndex(0) -5 >Emitted(6, 33) Source(2, 31) + SourceIndex(0) --- >>> var SubSubModule1; -1 >^^^^^^^^^^^^ +1->^^^^^^^^^^^^ 2 > ^^^^ 3 > ^^^^^^^^^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > +1-> { > 2 > export module 3 > SubSubModule1 @@ -313,7 +302,7 @@ sourceFile:typeResolution.ts > } > } > } -1 >Emitted(7, 13) Source(3, 9) + SourceIndex(0) +1->Emitted(7, 13) Source(3, 9) + SourceIndex(0) 2 >Emitted(7, 17) Source(3, 23) + SourceIndex(0) 3 >Emitted(7, 30) Source(3, 36) + SourceIndex(0) 4 >Emitted(7, 31) Source(59, 10) + SourceIndex(0) @@ -322,24 +311,18 @@ sourceFile:typeResolution.ts 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^-> +4 > ^^^^^^^^-> 1-> 2 > export module 3 > SubSubModule1 -4 > -5 > { 1->Emitted(8, 13) Source(3, 9) + SourceIndex(0) 2 >Emitted(8, 24) Source(3, 23) + SourceIndex(0) 3 >Emitted(8, 37) Source(3, 36) + SourceIndex(0) -4 >Emitted(8, 39) Source(3, 37) + SourceIndex(0) -5 >Emitted(8, 40) Source(3, 38) + SourceIndex(0) --- >>> var ClassA = (function () { 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(9, 17) Source(4, 13) + SourceIndex(0) --- @@ -2090,26 +2073,21 @@ sourceFile:typeResolution.ts 1->^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^ -4 > ^^ -5 > ^ +4 > ^^-> 1-> 2 > export module 3 > SubModule2 -4 > -5 > { 1->Emitted(108, 9) Source(76, 5) + SourceIndex(0) 2 >Emitted(108, 20) Source(76, 19) + SourceIndex(0) 3 >Emitted(108, 30) Source(76, 29) + SourceIndex(0) -4 >Emitted(108, 32) Source(76, 30) + SourceIndex(0) -5 >Emitted(108, 33) Source(76, 31) + SourceIndex(0) --- >>> var SubSubModule2; -1 >^^^^^^^^^^^^ +1->^^^^^^^^^^^^ 2 > ^^^^ 3 > ^^^^^^^^^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > +1-> { > 2 > export module 3 > SubSubModule2 @@ -2121,7 +2099,7 @@ sourceFile:typeResolution.ts > export interface InterfaceY { YisIn1_2_2(); } > interface NonExportedInterfaceQ { } > } -1 >Emitted(109, 13) Source(77, 9) + SourceIndex(0) +1->Emitted(109, 13) Source(77, 9) + SourceIndex(0) 2 >Emitted(109, 17) Source(77, 23) + SourceIndex(0) 3 >Emitted(109, 30) Source(77, 36) + SourceIndex(0) 4 >Emitted(109, 31) Source(84, 10) + SourceIndex(0) @@ -2130,24 +2108,18 @@ sourceFile:typeResolution.ts 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> 2 > export module 3 > SubSubModule2 -4 > -5 > { 1->Emitted(110, 13) Source(77, 9) + SourceIndex(0) 2 >Emitted(110, 24) Source(77, 23) + SourceIndex(0) 3 >Emitted(110, 37) Source(77, 36) + SourceIndex(0) -4 >Emitted(110, 39) Source(77, 37) + SourceIndex(0) -5 >Emitted(110, 40) Source(77, 38) + SourceIndex(0) --- >>> // No code here since these are the mirror of the above calls 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1-> +1-> { > 2 > // No code here since these are the mirror of the above calls 1->Emitted(111, 17) Source(78, 13) + SourceIndex(0) @@ -2559,24 +2531,18 @@ sourceFile:typeResolution.ts 1->^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^^^^^ -4 > ^^ -5 > ^ -6 > ^-> +4 > ^^^^-> 1-> 2 > module 3 > NotExportedModule -4 > -5 > { 1->Emitted(142, 9) Source(97, 5) + SourceIndex(0) 2 >Emitted(142, 20) Source(97, 12) + SourceIndex(0) 3 >Emitted(142, 37) Source(97, 29) + SourceIndex(0) -4 >Emitted(142, 39) Source(97, 30) + SourceIndex(0) -5 >Emitted(142, 40) Source(97, 31) + SourceIndex(0) --- >>> var ClassA = (function () { 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(143, 13) Source(98, 9) + SourceIndex(0) --- @@ -2816,18 +2782,12 @@ sourceFile:typeResolution.ts 1->^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^^^ -4 > ^^ -5 > ^ 1-> 2 > module 3 > TopLevelModule2 -4 > -5 > { 1->Emitted(152, 5) Source(102, 1) + SourceIndex(0) 2 >Emitted(152, 16) Source(102, 8) + SourceIndex(0) 3 >Emitted(152, 31) Source(102, 23) + SourceIndex(0) -4 >Emitted(152, 33) Source(102, 24) + SourceIndex(0) -5 >Emitted(152, 34) Source(102, 25) + SourceIndex(0) --- >>> var SubModule3; 1 >^^^^^^^^ @@ -2835,7 +2795,7 @@ sourceFile:typeResolution.ts 3 > ^^^^^^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > +1 > { > 2 > export module 3 > SubModule3 @@ -2853,24 +2813,18 @@ sourceFile:typeResolution.ts 1->^^^^^^^^ 2 > ^^^^^^^^^^^ 3 > ^^^^^^^^^^ -4 > ^^ -5 > ^ -6 > ^^^^^^^^-> +4 > ^^^^^^^^^^^-> 1-> 2 > export module 3 > SubModule3 -4 > -5 > { 1->Emitted(154, 9) Source(103, 5) + SourceIndex(0) 2 >Emitted(154, 20) Source(103, 19) + SourceIndex(0) 3 >Emitted(154, 30) Source(103, 29) + SourceIndex(0) -4 >Emitted(154, 32) Source(103, 30) + SourceIndex(0) -5 >Emitted(154, 33) Source(103, 31) + SourceIndex(0) --- >>> var ClassA = (function () { 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1-> { > 1->Emitted(155, 13) Source(104, 9) + SourceIndex(0) --- diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.js b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.js new file mode 100644 index 00000000000..a2542ca9cc0 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/typeRootsFromMultipleNodeModulesDirectories.ts] //// + +//// [index.d.ts] + +declare module "xyz" { + export const x: number; +} + +//// [index.d.ts] +declare module "pdq" { + export const y: number; +} + +//// [index.d.ts] +declare module "abc" { + export const z: number; +} + +//// [a.ts] +import { x } from "xyz"; +import { y } from "pdq"; +import { z } from "abc"; +x + y + z; + + +//// [a.js] +"use strict"; +var xyz_1 = require("xyz"); +var pdq_1 = require("pdq"); +var abc_1 = require("abc"); +xyz_1.x + pdq_1.y + abc_1.z; diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.symbols b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.symbols new file mode 100644 index 00000000000..67fd371f8ee --- /dev/null +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.symbols @@ -0,0 +1,34 @@ +=== /foo/bar/a.ts === +import { x } from "xyz"; +>x : Symbol(x, Decl(a.ts, 0, 8)) + +import { y } from "pdq"; +>y : Symbol(y, Decl(a.ts, 1, 8)) + +import { z } from "abc"; +>z : Symbol(z, Decl(a.ts, 2, 8)) + +x + y + z; +>x : Symbol(x, Decl(a.ts, 0, 8)) +>y : Symbol(y, Decl(a.ts, 1, 8)) +>z : Symbol(z, Decl(a.ts, 2, 8)) + +=== /node_modules/@types/dopey/index.d.ts === + +declare module "xyz" { + export const x: number; +>x : Symbol(x, Decl(index.d.ts, 2, 16)) +} + +=== /foo/node_modules/@types/grumpy/index.d.ts === +declare module "pdq" { + export const y: number; +>y : Symbol(y, Decl(index.d.ts, 1, 16)) +} + +=== /foo/node_modules/@types/sneezy/index.d.ts === +declare module "abc" { + export const z: number; +>z : Symbol(z, Decl(index.d.ts, 1, 16)) +} + diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json new file mode 100644 index 00000000000..c734e57cda2 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json @@ -0,0 +1,157 @@ +[ + "======== Resolving module 'xyz' from '/foo/bar/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'xyz' from 'node_modules' folder.", + "File '/foo/bar/node_modules/xyz.ts' does not exist.", + "File '/foo/bar/node_modules/xyz.tsx' does not exist.", + "File '/foo/bar/node_modules/xyz.d.ts' does not exist.", + "File '/foo/bar/node_modules/xyz/package.json' does not exist.", + "File '/foo/bar/node_modules/xyz/index.ts' does not exist.", + "File '/foo/bar/node_modules/xyz/index.tsx' does not exist.", + "File '/foo/bar/node_modules/xyz/index.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/xyz.ts' does not exist.", + "File '/foo/bar/node_modules/@types/xyz.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/xyz.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/xyz/package.json' does not exist.", + "File '/foo/bar/node_modules/@types/xyz/index.ts' does not exist.", + "File '/foo/bar/node_modules/@types/xyz/index.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/xyz/index.d.ts' does not exist.", + "File '/foo/node_modules/xyz.ts' does not exist.", + "File '/foo/node_modules/xyz.tsx' does not exist.", + "File '/foo/node_modules/xyz.d.ts' does not exist.", + "File '/foo/node_modules/xyz/package.json' does not exist.", + "File '/foo/node_modules/xyz/index.ts' does not exist.", + "File '/foo/node_modules/xyz/index.tsx' does not exist.", + "File '/foo/node_modules/xyz/index.d.ts' does not exist.", + "File '/foo/node_modules/@types/xyz.ts' does not exist.", + "File '/foo/node_modules/@types/xyz.tsx' does not exist.", + "File '/foo/node_modules/@types/xyz.d.ts' does not exist.", + "File '/foo/node_modules/@types/xyz/package.json' does not exist.", + "File '/foo/node_modules/@types/xyz/index.ts' does not exist.", + "File '/foo/node_modules/@types/xyz/index.tsx' does not exist.", + "File '/foo/node_modules/@types/xyz/index.d.ts' does not exist.", + "File '/node_modules/xyz.ts' does not exist.", + "File '/node_modules/xyz.tsx' does not exist.", + "File '/node_modules/xyz.d.ts' does not exist.", + "File '/node_modules/xyz/package.json' does not exist.", + "File '/node_modules/xyz/index.ts' does not exist.", + "File '/node_modules/xyz/index.tsx' does not exist.", + "File '/node_modules/xyz/index.d.ts' does not exist.", + "File '/node_modules/@types/xyz.ts' does not exist.", + "File '/node_modules/@types/xyz.tsx' does not exist.", + "File '/node_modules/@types/xyz.d.ts' does not exist.", + "File '/node_modules/@types/xyz/package.json' does not exist.", + "File '/node_modules/@types/xyz/index.ts' does not exist.", + "File '/node_modules/@types/xyz/index.tsx' does not exist.", + "File '/node_modules/@types/xyz/index.d.ts' does not exist.", + "======== Module name 'xyz' was not resolved. ========", + "======== Resolving module 'pdq' from '/foo/bar/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'pdq' from 'node_modules' folder.", + "File '/foo/bar/node_modules/pdq.ts' does not exist.", + "File '/foo/bar/node_modules/pdq.tsx' does not exist.", + "File '/foo/bar/node_modules/pdq.d.ts' does not exist.", + "File '/foo/bar/node_modules/pdq/package.json' does not exist.", + "File '/foo/bar/node_modules/pdq/index.ts' does not exist.", + "File '/foo/bar/node_modules/pdq/index.tsx' does not exist.", + "File '/foo/bar/node_modules/pdq/index.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/pdq.ts' does not exist.", + "File '/foo/bar/node_modules/@types/pdq.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/pdq.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/pdq/package.json' does not exist.", + "File '/foo/bar/node_modules/@types/pdq/index.ts' does not exist.", + "File '/foo/bar/node_modules/@types/pdq/index.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/pdq/index.d.ts' does not exist.", + "File '/foo/node_modules/pdq.ts' does not exist.", + "File '/foo/node_modules/pdq.tsx' does not exist.", + "File '/foo/node_modules/pdq.d.ts' does not exist.", + "File '/foo/node_modules/pdq/package.json' does not exist.", + "File '/foo/node_modules/pdq/index.ts' does not exist.", + "File '/foo/node_modules/pdq/index.tsx' does not exist.", + "File '/foo/node_modules/pdq/index.d.ts' does not exist.", + "File '/foo/node_modules/@types/pdq.ts' does not exist.", + "File '/foo/node_modules/@types/pdq.tsx' does not exist.", + "File '/foo/node_modules/@types/pdq.d.ts' does not exist.", + "File '/foo/node_modules/@types/pdq/package.json' does not exist.", + "File '/foo/node_modules/@types/pdq/index.ts' does not exist.", + "File '/foo/node_modules/@types/pdq/index.tsx' does not exist.", + "File '/foo/node_modules/@types/pdq/index.d.ts' does not exist.", + "File '/node_modules/pdq.ts' does not exist.", + "File '/node_modules/pdq.tsx' does not exist.", + "File '/node_modules/pdq.d.ts' does not exist.", + "File '/node_modules/pdq/package.json' does not exist.", + "File '/node_modules/pdq/index.ts' does not exist.", + "File '/node_modules/pdq/index.tsx' does not exist.", + "File '/node_modules/pdq/index.d.ts' does not exist.", + "File '/node_modules/@types/pdq.ts' does not exist.", + "File '/node_modules/@types/pdq.tsx' does not exist.", + "File '/node_modules/@types/pdq.d.ts' does not exist.", + "File '/node_modules/@types/pdq/package.json' does not exist.", + "File '/node_modules/@types/pdq/index.ts' does not exist.", + "File '/node_modules/@types/pdq/index.tsx' does not exist.", + "File '/node_modules/@types/pdq/index.d.ts' does not exist.", + "======== Module name 'pdq' was not resolved. ========", + "======== Resolving module 'abc' from '/foo/bar/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'abc' from 'node_modules' folder.", + "File '/foo/bar/node_modules/abc.ts' does not exist.", + "File '/foo/bar/node_modules/abc.tsx' does not exist.", + "File '/foo/bar/node_modules/abc.d.ts' does not exist.", + "File '/foo/bar/node_modules/abc/package.json' does not exist.", + "File '/foo/bar/node_modules/abc/index.ts' does not exist.", + "File '/foo/bar/node_modules/abc/index.tsx' does not exist.", + "File '/foo/bar/node_modules/abc/index.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/abc.ts' does not exist.", + "File '/foo/bar/node_modules/@types/abc.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/abc.d.ts' does not exist.", + "File '/foo/bar/node_modules/@types/abc/package.json' does not exist.", + "File '/foo/bar/node_modules/@types/abc/index.ts' does not exist.", + "File '/foo/bar/node_modules/@types/abc/index.tsx' does not exist.", + "File '/foo/bar/node_modules/@types/abc/index.d.ts' does not exist.", + "File '/foo/node_modules/abc.ts' does not exist.", + "File '/foo/node_modules/abc.tsx' does not exist.", + "File '/foo/node_modules/abc.d.ts' does not exist.", + "File '/foo/node_modules/abc/package.json' does not exist.", + "File '/foo/node_modules/abc/index.ts' does not exist.", + "File '/foo/node_modules/abc/index.tsx' does not exist.", + "File '/foo/node_modules/abc/index.d.ts' does not exist.", + "File '/foo/node_modules/@types/abc.ts' does not exist.", + "File '/foo/node_modules/@types/abc.tsx' does not exist.", + "File '/foo/node_modules/@types/abc.d.ts' does not exist.", + "File '/foo/node_modules/@types/abc/package.json' does not exist.", + "File '/foo/node_modules/@types/abc/index.ts' does not exist.", + "File '/foo/node_modules/@types/abc/index.tsx' does not exist.", + "File '/foo/node_modules/@types/abc/index.d.ts' does not exist.", + "File '/node_modules/abc.ts' does not exist.", + "File '/node_modules/abc.tsx' does not exist.", + "File '/node_modules/abc.d.ts' does not exist.", + "File '/node_modules/abc/package.json' does not exist.", + "File '/node_modules/abc/index.ts' does not exist.", + "File '/node_modules/abc/index.tsx' does not exist.", + "File '/node_modules/abc/index.d.ts' does not exist.", + "File '/node_modules/@types/abc.ts' does not exist.", + "File '/node_modules/@types/abc.tsx' does not exist.", + "File '/node_modules/@types/abc.d.ts' does not exist.", + "File '/node_modules/@types/abc/package.json' does not exist.", + "File '/node_modules/@types/abc/index.ts' does not exist.", + "File '/node_modules/@types/abc/index.tsx' does not exist.", + "File '/node_modules/@types/abc/index.d.ts' does not exist.", + "======== Module name 'abc' was not resolved. ========", + "======== Resolving type reference directive 'grumpy', containing file '/src/__inferred type names__.ts', root directory '/foo/node_modules/@types,/node_modules/@types'. ========", + "Resolving with primary search path '/foo/node_modules/@types, /node_modules/@types'", + "File '/foo/node_modules/@types/grumpy/package.json' does not exist.", + "File '/foo/node_modules/@types/grumpy/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'grumpy' was successfully resolved to '/foo/node_modules/@types/grumpy/index.d.ts', primary: true. ========", + "======== Resolving type reference directive 'sneezy', containing file '/src/__inferred type names__.ts', root directory '/foo/node_modules/@types,/node_modules/@types'. ========", + "Resolving with primary search path '/foo/node_modules/@types, /node_modules/@types'", + "File '/foo/node_modules/@types/sneezy/package.json' does not exist.", + "File '/foo/node_modules/@types/sneezy/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'sneezy' was successfully resolved to '/foo/node_modules/@types/sneezy/index.d.ts', primary: true. ========", + "======== Resolving type reference directive 'dopey', containing file '/src/__inferred type names__.ts', root directory '/foo/node_modules/@types,/node_modules/@types'. ========", + "Resolving with primary search path '/foo/node_modules/@types, /node_modules/@types'", + "File '/foo/node_modules/@types/dopey/package.json' does not exist.", + "File '/foo/node_modules/@types/dopey/index.d.ts' does not exist.", + "File '/node_modules/@types/dopey/package.json' does not exist.", + "File '/node_modules/@types/dopey/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'dopey' was successfully resolved to '/node_modules/@types/dopey/index.d.ts', primary: true. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.types b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.types new file mode 100644 index 00000000000..c47be9cdab3 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.types @@ -0,0 +1,36 @@ +=== /foo/bar/a.ts === +import { x } from "xyz"; +>x : number + +import { y } from "pdq"; +>y : number + +import { z } from "abc"; +>z : number + +x + y + z; +>x + y + z : number +>x + y : number +>x : number +>y : number +>z : number + +=== /node_modules/@types/dopey/index.d.ts === + +declare module "xyz" { + export const x: number; +>x : number +} + +=== /foo/node_modules/@types/grumpy/index.d.ts === +declare module "pdq" { + export const y: number; +>y : number +} + +=== /foo/node_modules/@types/sneezy/index.d.ts === +declare module "abc" { + export const z: number; +>z : number +} + diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.js b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.js new file mode 100644 index 00000000000..9e93755d1f0 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/typeRootsFromNodeModulesInParentDirectory.ts] //// + +//// [index.d.ts] + +declare module "xyz" { + export const x: number; +} + +//// [a.ts] +import { x } from "xyz"; +x; + + +//// [a.js] +"use strict"; +var xyz_1 = require("xyz"); +xyz_1.x; diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.symbols b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.symbols new file mode 100644 index 00000000000..10cbdaa3c53 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.symbols @@ -0,0 +1,14 @@ +=== /src/a.ts === +import { x } from "xyz"; +>x : Symbol(x, Decl(a.ts, 0, 8)) + +x; +>x : Symbol(x, Decl(a.ts, 0, 8)) + +=== /node_modules/@types/foo/index.d.ts === + +declare module "xyz" { + export const x: number; +>x : Symbol(x, Decl(index.d.ts, 2, 16)) +} + diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json new file mode 100644 index 00000000000..7782ffc4ebf --- /dev/null +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json @@ -0,0 +1,39 @@ +[ + "======== Resolving module 'xyz' from '/src/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'xyz' from 'node_modules' folder.", + "File '/src/node_modules/xyz.ts' does not exist.", + "File '/src/node_modules/xyz.tsx' does not exist.", + "File '/src/node_modules/xyz.d.ts' does not exist.", + "File '/src/node_modules/xyz/package.json' does not exist.", + "File '/src/node_modules/xyz/index.ts' does not exist.", + "File '/src/node_modules/xyz/index.tsx' does not exist.", + "File '/src/node_modules/xyz/index.d.ts' does not exist.", + "File '/src/node_modules/@types/xyz.ts' does not exist.", + "File '/src/node_modules/@types/xyz.tsx' does not exist.", + "File '/src/node_modules/@types/xyz.d.ts' does not exist.", + "File '/src/node_modules/@types/xyz/package.json' does not exist.", + "File '/src/node_modules/@types/xyz/index.ts' does not exist.", + "File '/src/node_modules/@types/xyz/index.tsx' does not exist.", + "File '/src/node_modules/@types/xyz/index.d.ts' does not exist.", + "File '/node_modules/xyz.ts' does not exist.", + "File '/node_modules/xyz.tsx' does not exist.", + "File '/node_modules/xyz.d.ts' does not exist.", + "File '/node_modules/xyz/package.json' does not exist.", + "File '/node_modules/xyz/index.ts' does not exist.", + "File '/node_modules/xyz/index.tsx' does not exist.", + "File '/node_modules/xyz/index.d.ts' does not exist.", + "File '/node_modules/@types/xyz.ts' does not exist.", + "File '/node_modules/@types/xyz.tsx' does not exist.", + "File '/node_modules/@types/xyz.d.ts' does not exist.", + "File '/node_modules/@types/xyz/package.json' does not exist.", + "File '/node_modules/@types/xyz/index.ts' does not exist.", + "File '/node_modules/@types/xyz/index.tsx' does not exist.", + "File '/node_modules/@types/xyz/index.d.ts' does not exist.", + "======== Module name 'xyz' was not resolved. ========", + "======== Resolving type reference directive 'foo', containing file '/src/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "File '/node_modules/@types/foo/package.json' does not exist.", + "File '/node_modules/@types/foo/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'foo' was successfully resolved to '/node_modules/@types/foo/index.d.ts', primary: true. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.types b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.types new file mode 100644 index 00000000000..532a05fcb87 --- /dev/null +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.types @@ -0,0 +1,14 @@ +=== /src/a.ts === +import { x } from "xyz"; +>x : number + +x; +>x : number + +=== /node_modules/@types/foo/index.d.ts === + +declare module "xyz" { + export const x: number; +>x : number +} + diff --git a/tests/baselines/reference/typeVal.types b/tests/baselines/reference/typeVal.types index d9768a9fbf7..26944f231b2 100644 --- a/tests/baselines/reference/typeVal.types +++ b/tests/baselines/reference/typeVal.types @@ -11,13 +11,13 @@ var I:I = { I: 3}; >I : I >{ I: 3} : { I: number; } >I : number ->3 : number +>3 : 3 I.I=4; ->I.I=4 : number +>I.I=4 : 4 >I.I : number >I : I >I : number ->4 : number +>4 : 4 diff --git a/tests/baselines/reference/typedArrays.types b/tests/baselines/reference/typedArrays.types index f7d3cbdd19f..444d6a74e43 100644 --- a/tests/baselines/reference/typedArrays.types +++ b/tests/baselines/reference/typedArrays.types @@ -11,63 +11,63 @@ function CreateTypedArrayTypes() { >typedArrays[0] = Int8Array : Int8ArrayConstructor >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array : Int8ArrayConstructor typedArrays[1] = Uint8Array; >typedArrays[1] = Uint8Array : Uint8ArrayConstructor >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array : Uint8ArrayConstructor typedArrays[2] = Int16Array; >typedArrays[2] = Int16Array : Int16ArrayConstructor >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array : Int16ArrayConstructor typedArrays[3] = Uint16Array; >typedArrays[3] = Uint16Array : Uint16ArrayConstructor >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array : Uint16ArrayConstructor typedArrays[4] = Int32Array; >typedArrays[4] = Int32Array : Int32ArrayConstructor >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array : Int32ArrayConstructor typedArrays[5] = Uint32Array; >typedArrays[5] = Uint32Array : Uint32ArrayConstructor >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array : Uint32ArrayConstructor typedArrays[6] = Float32Array; >typedArrays[6] = Float32Array : Float32ArrayConstructor >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array : Float32ArrayConstructor typedArrays[7] = Float64Array; >typedArrays[7] = Float64Array : Float64ArrayConstructor >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array : Float64ArrayConstructor typedArrays[8] = Uint8ClampedArray; >typedArrays[8] = Uint8ClampedArray : Uint8ClampedArrayConstructor >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray : Uint8ClampedArrayConstructor return typedArrays; @@ -86,7 +86,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[0] = new Int8Array(obj) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >new Int8Array(obj) : Int8Array >Int8Array : Int8ArrayConstructor >obj : number @@ -95,7 +95,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[1] = new Uint8Array(obj) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >new Uint8Array(obj) : Uint8Array >Uint8Array : Uint8ArrayConstructor >obj : number @@ -104,7 +104,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[2] = new Int16Array(obj) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >new Int16Array(obj) : Int16Array >Int16Array : Int16ArrayConstructor >obj : number @@ -113,7 +113,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[3] = new Uint16Array(obj) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >new Uint16Array(obj) : Uint16Array >Uint16Array : Uint16ArrayConstructor >obj : number @@ -122,7 +122,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[4] = new Int32Array(obj) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >new Int32Array(obj) : Int32Array >Int32Array : Int32ArrayConstructor >obj : number @@ -131,7 +131,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[5] = new Uint32Array(obj) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >new Uint32Array(obj) : Uint32Array >Uint32Array : Uint32ArrayConstructor >obj : number @@ -140,7 +140,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[6] = new Float32Array(obj) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >new Float32Array(obj) : Float32Array >Float32Array : Float32ArrayConstructor >obj : number @@ -149,7 +149,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[7] = new Float64Array(obj) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >new Float64Array(obj) : Float64Array >Float64Array : Float64ArrayConstructor >obj : number @@ -158,7 +158,7 @@ function CreateTypedArrayInstancesFromLength(obj: number) { >typedArrays[8] = new Uint8ClampedArray(obj) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >new Uint8ClampedArray(obj) : Uint8ClampedArray >Uint8ClampedArray : Uint8ClampedArrayConstructor >obj : number @@ -179,7 +179,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[0] = new Int8Array(obj) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >new Int8Array(obj) : Int8Array >Int8Array : Int8ArrayConstructor >obj : number[] @@ -188,7 +188,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[1] = new Uint8Array(obj) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >new Uint8Array(obj) : Uint8Array >Uint8Array : Uint8ArrayConstructor >obj : number[] @@ -197,7 +197,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[2] = new Int16Array(obj) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >new Int16Array(obj) : Int16Array >Int16Array : Int16ArrayConstructor >obj : number[] @@ -206,7 +206,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[3] = new Uint16Array(obj) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >new Uint16Array(obj) : Uint16Array >Uint16Array : Uint16ArrayConstructor >obj : number[] @@ -215,7 +215,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[4] = new Int32Array(obj) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >new Int32Array(obj) : Int32Array >Int32Array : Int32ArrayConstructor >obj : number[] @@ -224,7 +224,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[5] = new Uint32Array(obj) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >new Uint32Array(obj) : Uint32Array >Uint32Array : Uint32ArrayConstructor >obj : number[] @@ -233,7 +233,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[6] = new Float32Array(obj) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >new Float32Array(obj) : Float32Array >Float32Array : Float32ArrayConstructor >obj : number[] @@ -242,7 +242,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[7] = new Float64Array(obj) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >new Float64Array(obj) : Float64Array >Float64Array : Float64ArrayConstructor >obj : number[] @@ -251,7 +251,7 @@ function CreateTypedArrayInstancesFromArray(obj: number[]) { >typedArrays[8] = new Uint8ClampedArray(obj) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >new Uint8ClampedArray(obj) : Uint8ClampedArray >Uint8ClampedArray : Uint8ClampedArrayConstructor >obj : number[] @@ -272,7 +272,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[0] = Int8Array.from(obj) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.from(obj) : Int8Array >Int8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor @@ -283,7 +283,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[1] = Uint8Array.from(obj) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.from(obj) : Uint8Array >Uint8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor @@ -294,7 +294,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[2] = Int16Array.from(obj) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.from(obj) : Int16Array >Int16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor @@ -305,7 +305,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[3] = Uint16Array.from(obj) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.from(obj) : Uint16Array >Uint16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor @@ -316,7 +316,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[4] = Int32Array.from(obj) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.from(obj) : Int32Array >Int32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor @@ -327,7 +327,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[5] = Uint32Array.from(obj) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.from(obj) : Uint32Array >Uint32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor @@ -338,7 +338,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[6] = Float32Array.from(obj) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.from(obj) : Float32Array >Float32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor @@ -349,7 +349,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[7] = Float64Array.from(obj) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.from(obj) : Float64Array >Float64Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor @@ -360,7 +360,7 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >typedArrays[8] = Uint8ClampedArray.from(obj) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.from(obj) : Uint8ClampedArray >Uint8ClampedArray.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor @@ -384,7 +384,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[0] = Int8Array.from(obj) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.from(obj) : Int8Array >Int8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor @@ -395,7 +395,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[1] = Uint8Array.from(obj) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.from(obj) : Uint8Array >Uint8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor @@ -406,7 +406,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[2] = Int16Array.from(obj) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.from(obj) : Int16Array >Int16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor @@ -417,7 +417,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[3] = Uint16Array.from(obj) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.from(obj) : Uint16Array >Uint16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor @@ -428,7 +428,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[4] = Int32Array.from(obj) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.from(obj) : Int32Array >Int32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor @@ -439,7 +439,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[5] = Uint32Array.from(obj) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.from(obj) : Uint32Array >Uint32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor @@ -450,7 +450,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[6] = Float32Array.from(obj) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.from(obj) : Float32Array >Float32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor @@ -461,7 +461,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[7] = Float64Array.from(obj) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.from(obj) : Float64Array >Float64Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor @@ -472,7 +472,7 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >typedArrays[8] = Uint8ClampedArray.from(obj) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.from(obj) : Uint8ClampedArray >Uint8ClampedArray.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor @@ -495,7 +495,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[0] = Int8Array.of(...obj) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.of(...obj) : Int8Array >Int8Array.of : (...items: number[]) => Int8Array >Int8Array : Int8ArrayConstructor @@ -507,7 +507,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[1] = Uint8Array.of(...obj) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.of(...obj) : Uint8Array >Uint8Array.of : (...items: number[]) => Uint8Array >Uint8Array : Uint8ArrayConstructor @@ -519,7 +519,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[2] = Int16Array.of(...obj) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.of(...obj) : Int16Array >Int16Array.of : (...items: number[]) => Int16Array >Int16Array : Int16ArrayConstructor @@ -531,7 +531,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[3] = Uint16Array.of(...obj) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.of(...obj) : Uint16Array >Uint16Array.of : (...items: number[]) => Uint16Array >Uint16Array : Uint16ArrayConstructor @@ -543,7 +543,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[4] = Int32Array.of(...obj) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.of(...obj) : Int32Array >Int32Array.of : (...items: number[]) => Int32Array >Int32Array : Int32ArrayConstructor @@ -555,7 +555,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[5] = Uint32Array.of(...obj) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.of(...obj) : Uint32Array >Uint32Array.of : (...items: number[]) => Uint32Array >Uint32Array : Uint32ArrayConstructor @@ -567,7 +567,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[6] = Float32Array.of(...obj) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.of(...obj) : Float32Array >Float32Array.of : (...items: number[]) => Float32Array >Float32Array : Float32ArrayConstructor @@ -579,7 +579,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[7] = Float64Array.of(...obj) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.of(...obj) : Float64Array >Float64Array.of : (...items: number[]) => Float64Array >Float64Array : Float64ArrayConstructor @@ -591,7 +591,7 @@ function CreateTypedArraysOf(obj) { >typedArrays[8] = Uint8ClampedArray.of(...obj) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.of(...obj) : Uint8ClampedArray >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray >Uint8ClampedArray : Uint8ClampedArrayConstructor @@ -614,127 +614,127 @@ function CreateTypedArraysOf2() { >typedArrays[0] = Int8Array.of(1,2,3,4) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.of(1,2,3,4) : Int8Array >Int8Array.of : (...items: number[]) => Int8Array >Int8Array : Int8ArrayConstructor >of : (...items: number[]) => Int8Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[1] = Uint8Array.of(1,2,3,4); >typedArrays[1] = Uint8Array.of(1,2,3,4) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.of(1,2,3,4) : Uint8Array >Uint8Array.of : (...items: number[]) => Uint8Array >Uint8Array : Uint8ArrayConstructor >of : (...items: number[]) => Uint8Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[2] = Int16Array.of(1,2,3,4); >typedArrays[2] = Int16Array.of(1,2,3,4) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.of(1,2,3,4) : Int16Array >Int16Array.of : (...items: number[]) => Int16Array >Int16Array : Int16ArrayConstructor >of : (...items: number[]) => Int16Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[3] = Uint16Array.of(1,2,3,4); >typedArrays[3] = Uint16Array.of(1,2,3,4) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.of(1,2,3,4) : Uint16Array >Uint16Array.of : (...items: number[]) => Uint16Array >Uint16Array : Uint16ArrayConstructor >of : (...items: number[]) => Uint16Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[4] = Int32Array.of(1,2,3,4); >typedArrays[4] = Int32Array.of(1,2,3,4) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.of(1,2,3,4) : Int32Array >Int32Array.of : (...items: number[]) => Int32Array >Int32Array : Int32ArrayConstructor >of : (...items: number[]) => Int32Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[5] = Uint32Array.of(1,2,3,4); >typedArrays[5] = Uint32Array.of(1,2,3,4) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.of(1,2,3,4) : Uint32Array >Uint32Array.of : (...items: number[]) => Uint32Array >Uint32Array : Uint32ArrayConstructor >of : (...items: number[]) => Uint32Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[6] = Float32Array.of(1,2,3,4); >typedArrays[6] = Float32Array.of(1,2,3,4) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.of(1,2,3,4) : Float32Array >Float32Array.of : (...items: number[]) => Float32Array >Float32Array : Float32ArrayConstructor >of : (...items: number[]) => Float32Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[7] = Float64Array.of(1,2,3,4); >typedArrays[7] = Float64Array.of(1,2,3,4) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.of(1,2,3,4) : Float64Array >Float64Array.of : (...items: number[]) => Float64Array >Float64Array : Float64ArrayConstructor >of : (...items: number[]) => Float64Array ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 typedArrays[8] = Uint8ClampedArray.of(1,2,3,4); >typedArrays[8] = Uint8ClampedArray.of(1,2,3,4) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.of(1,2,3,4) : Uint8ClampedArray >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray >Uint8ClampedArray : Uint8ClampedArrayConstructor >of : (...items: number[]) => Uint8ClampedArray ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 return typedArrays; >typedArrays : any[] @@ -756,7 +756,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[0] = Int8Array.from(obj, mapFn) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.from(obj, mapFn) : Int8Array >Int8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor @@ -768,7 +768,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[1] = Uint8Array.from(obj, mapFn) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.from(obj, mapFn) : Uint8Array >Uint8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor @@ -780,7 +780,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[2] = Int16Array.from(obj, mapFn) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.from(obj, mapFn) : Int16Array >Int16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor @@ -792,7 +792,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[3] = Uint16Array.from(obj, mapFn) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.from(obj, mapFn) : Uint16Array >Uint16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor @@ -804,7 +804,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[4] = Int32Array.from(obj, mapFn) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.from(obj, mapFn) : Int32Array >Int32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor @@ -816,7 +816,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[5] = Uint32Array.from(obj, mapFn) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.from(obj, mapFn) : Uint32Array >Uint32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor @@ -828,7 +828,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[6] = Float32Array.from(obj, mapFn) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.from(obj, mapFn) : Float32Array >Float32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor @@ -840,7 +840,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[7] = Float64Array.from(obj, mapFn) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.from(obj, mapFn) : Float64Array >Float64Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor @@ -852,7 +852,7 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray >Uint8ClampedArray.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor @@ -881,7 +881,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[0] = Int8Array.from(obj, mapFn, thisArg) : Int8Array >typedArrays[0] : any >typedArrays : any[] ->0 : number +>0 : 0 >Int8Array.from(obj, mapFn, thisArg) : Int8Array >Int8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor @@ -894,7 +894,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[1] = Uint8Array.from(obj, mapFn, thisArg) : Uint8Array >typedArrays[1] : any >typedArrays : any[] ->1 : number +>1 : 1 >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array >Uint8Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor @@ -907,7 +907,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[2] = Int16Array.from(obj, mapFn, thisArg) : Int16Array >typedArrays[2] : any >typedArrays : any[] ->2 : number +>2 : 2 >Int16Array.from(obj, mapFn, thisArg) : Int16Array >Int16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor @@ -920,7 +920,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[3] = Uint16Array.from(obj, mapFn, thisArg) : Uint16Array >typedArrays[3] : any >typedArrays : any[] ->3 : number +>3 : 3 >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array >Uint16Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor @@ -933,7 +933,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[4] = Int32Array.from(obj, mapFn, thisArg) : Int32Array >typedArrays[4] : any >typedArrays : any[] ->4 : number +>4 : 4 >Int32Array.from(obj, mapFn, thisArg) : Int32Array >Int32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor @@ -946,7 +946,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[5] = Uint32Array.from(obj, mapFn, thisArg) : Uint32Array >typedArrays[5] : any >typedArrays : any[] ->5 : number +>5 : 5 >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array >Uint32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor @@ -959,7 +959,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[6] = Float32Array.from(obj, mapFn, thisArg) : Float32Array >typedArrays[6] : any >typedArrays : any[] ->6 : number +>6 : 6 >Float32Array.from(obj, mapFn, thisArg) : Float32Array >Float32Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor @@ -972,7 +972,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[7] = Float64Array.from(obj, mapFn, thisArg) : Float64Array >typedArrays[7] : any >typedArrays : any[] ->7 : number +>7 : 7 >Float64Array.from(obj, mapFn, thisArg) : Float64Array >Float64Array.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor @@ -985,7 +985,7 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray >typedArrays[8] : any >typedArrays : any[] ->8 : number +>8 : 8 >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray >Uint8ClampedArray.from : { (arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor diff --git a/tests/baselines/reference/typedGenericPrototypeMember.types b/tests/baselines/reference/typedGenericPrototypeMember.types index 9e3f064de0d..b772c3be680 100644 --- a/tests/baselines/reference/typedGenericPrototypeMember.types +++ b/tests/baselines/reference/typedGenericPrototypeMember.types @@ -16,5 +16,5 @@ List.prototype.add("abc"); // Valid because T is instantiated to any >List : typeof List >prototype : List >add : (item: any) => void ->"abc" : string +>"abc" : "abc" diff --git a/tests/baselines/reference/typeofAmbientExternalModules.js b/tests/baselines/reference/typeofAmbientExternalModules.js index 9bcc5a2fa15..de158544d0d 100644 --- a/tests/baselines/reference/typeofAmbientExternalModules.js +++ b/tests/baselines/reference/typeofAmbientExternalModules.js @@ -38,8 +38,8 @@ module.exports = D; "use strict"; /// /// -var ext = require('./typeofAmbientExternalModules_0'); -var exp = require('./typeofAmbientExternalModules_1'); +var ext = require("./typeofAmbientExternalModules_0"); +var exp = require("./typeofAmbientExternalModules_1"); var y1 = ext; y1 = exp; var y2 = exp; diff --git a/tests/baselines/reference/typeofEnum.types b/tests/baselines/reference/typeofEnum.types index 2140bfa175b..9026e664c14 100644 --- a/tests/baselines/reference/typeofEnum.types +++ b/tests/baselines/reference/typeofEnum.types @@ -3,10 +3,10 @@ enum E { >E : E e1, ->e1 : E +>e1 : E.e1 e2 ->e2 : E +>e2 : E.e2 } var e1: typeof E; @@ -14,7 +14,7 @@ var e1: typeof E; >E : typeof E e1.e1; ->e1.e1 : E +>e1.e1 : E.e1 >e1 : typeof E ->e1 : E +>e1 : E.e1 diff --git a/tests/baselines/reference/typeofExternalModules.js b/tests/baselines/reference/typeofExternalModules.js index 0bb9f6820f6..1c43d28be8b 100644 --- a/tests/baselines/reference/typeofExternalModules.js +++ b/tests/baselines/reference/typeofExternalModules.js @@ -34,8 +34,8 @@ var D = (function () { module.exports = D; //// [typeofExternalModules_core.js] "use strict"; -var ext = require('./typeofExternalModules_external'); -var exp = require('./typeofExternalModules_exportAssign'); +var ext = require("./typeofExternalModules_external"); +var exp = require("./typeofExternalModules_exportAssign"); var y1 = ext; y1 = exp; var y2 = exp; diff --git a/tests/baselines/reference/typeofInterface.types b/tests/baselines/reference/typeofInterface.types index 70e3cfe6926..fad9b029004 100644 --- a/tests/baselines/reference/typeofInterface.types +++ b/tests/baselines/reference/typeofInterface.types @@ -25,5 +25,5 @@ var j: typeof k.foo = { a: "hello" }; >foo : { a: string; } >{ a: "hello" } : { a: string; } >a : string ->"hello" : string +>"hello" : "hello" diff --git a/tests/baselines/reference/typeofModuleWithoutExports.types b/tests/baselines/reference/typeofModuleWithoutExports.types index e0f29156c53..764a6c1df33 100644 --- a/tests/baselines/reference/typeofModuleWithoutExports.types +++ b/tests/baselines/reference/typeofModuleWithoutExports.types @@ -4,7 +4,7 @@ module M { var x = 1; >x : number ->1 : number +>1 : 1 class C { >C : C diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.types b/tests/baselines/reference/typeofOperatorWithBooleanType.types index 043307cfb00..a1a01c3f61f 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.types +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.types @@ -6,7 +6,7 @@ var BOOLEAN: boolean; function foo(): boolean { return true; } >foo : () => boolean ->true : boolean +>true : true class A { >A : A @@ -16,7 +16,7 @@ class A { static foo() { return false; } >foo : () => boolean ->false : boolean +>false : false } module M { >M : typeof M @@ -40,16 +40,16 @@ var ResultIsString1 = typeof BOOLEAN; var ResultIsString2 = typeof true; >ResultIsString2 : string >typeof true : string ->true : boolean +>true : true var ResultIsString3 = typeof { x: true, y: false }; >ResultIsString3 : string >typeof { x: true, y: false } : string >{ x: true, y: false } : { x: boolean; y: boolean; } >x : boolean ->true : boolean +>true : true >y : boolean ->false : boolean +>false : false // boolean type expressions var ResultIsString4 = typeof objA.a; @@ -90,7 +90,7 @@ var ResultIsString8 = typeof typeof BOOLEAN; // miss assignment operators typeof true; >typeof true : string ->true : boolean +>true : true typeof BOOLEAN; >typeof BOOLEAN : string @@ -102,10 +102,10 @@ typeof foo(); >foo : () => boolean typeof true, false; ->typeof true, false : boolean +>typeof true, false : false >typeof true : string ->true : boolean ->false : boolean +>true : true +>false : false typeof objA.a; >typeof objA.a : string @@ -143,9 +143,9 @@ var y = { a: true, b: false}; >y : { a: boolean; b: boolean; } >{ a: true, b: false} : { a: boolean; b: boolean; } >a : boolean ->true : boolean +>true : true >b : boolean ->false : boolean +>false : false z: typeof y.a; >z : any diff --git a/tests/baselines/reference/typeofOperatorWithEnumType.types b/tests/baselines/reference/typeofOperatorWithEnumType.types index f9224811393..ec147bce889 100644 --- a/tests/baselines/reference/typeofOperatorWithEnumType.types +++ b/tests/baselines/reference/typeofOperatorWithEnumType.types @@ -7,8 +7,8 @@ enum ENUM { }; enum ENUM1 { A, B, "" }; >ENUM1 : ENUM1 ->A : ENUM1 ->B : ENUM1 +>A : ENUM1.A +>B : ENUM1.B // enum type var var ResultIsString1 = typeof ENUM; @@ -25,9 +25,9 @@ var ResultIsString2 = typeof ENUM1; var ResultIsString3 = typeof ENUM1["A"]; >ResultIsString3 : string >typeof ENUM1["A"] : string ->ENUM1["A"] : ENUM1 +>ENUM1["A"] : ENUM1.A >ENUM1 : typeof ENUM1 ->"A" : string +>"A" : "A" var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]); >ResultIsString4 : string @@ -36,10 +36,10 @@ var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]); >ENUM[0] + ENUM1["B"] : string >ENUM[0] : string >ENUM : typeof ENUM ->0 : number ->ENUM1["B"] : ENUM1 +>0 : 0 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" // multiple typeof operators var ResultIsString5 = typeof typeof ENUM; @@ -57,10 +57,10 @@ var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B); >ENUM[0] + ENUM1.B : string >ENUM[0] : string >ENUM : typeof ENUM ->0 : number ->ENUM1.B : ENUM1 +>0 : 0 +>ENUM1.B : ENUM1.B >ENUM1 : typeof ENUM1 ->B : ENUM1 +>B : ENUM1.B // miss assignment operators typeof ENUM; @@ -73,9 +73,9 @@ typeof ENUM1; typeof ENUM1["B"]; >typeof ENUM1["B"] : string ->ENUM1["B"] : ENUM1 +>ENUM1["B"] : ENUM1.B >ENUM1 : typeof ENUM1 ->"B" : string +>"B" : "B" typeof ENUM, ENUM1; >typeof ENUM, ENUM1 : typeof ENUM1 diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.types b/tests/baselines/reference/typeofOperatorWithNumberType.types index b80e6b1d4a8..d497257d636 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.types +++ b/tests/baselines/reference/typeofOperatorWithNumberType.types @@ -6,12 +6,12 @@ var NUMBER: number; var NUMBER1: number[] = [1, 2]; >NUMBER1 : number[] >[1, 2] : number[] ->1 : number ->2 : number +>1 : 1 +>2 : 2 function foo(): number { return 1; } >foo : () => number ->1 : number +>1 : 1 class A { >A : A @@ -21,7 +21,7 @@ class A { static foo() { return 1; } >foo : () => number ->1 : number +>1 : 1 } module M { >M : typeof M @@ -50,23 +50,23 @@ var ResultIsString2 = typeof NUMBER1; var ResultIsString3 = typeof 1; >ResultIsString3 : string >typeof 1 : string ->1 : number +>1 : 1 var ResultIsString4 = typeof { x: 1, y: 2}; >ResultIsString4 : string >typeof { x: 1, y: 2} : string >{ x: 1, y: 2} : { x: number; y: number; } >x : number ->1 : number +>1 : 1 >y : number ->2 : number +>2 : 2 var ResultIsString5 = typeof { x: 1, y: (n: number) => { return n; } }; >ResultIsString5 : string >typeof { x: 1, y: (n: number) => { return n; } } : string >{ x: 1, y: (n: number) => { return n; } } : { x: number; y: (n: number) => number; } >x : number ->1 : number +>1 : 1 >y : (n: number) => number >(n: number) => { return n; } : (n: number) => number >n : number @@ -92,7 +92,7 @@ var ResultIsString8 = typeof NUMBER1[0]; >typeof NUMBER1[0] : string >NUMBER1[0] : number >NUMBER1 : number[] ->0 : number +>0 : 0 var ResultIsString9 = typeof foo(); >ResultIsString9 : string @@ -136,7 +136,7 @@ var ResultIsString13 = typeof typeof typeof (NUMBER + NUMBER); // miss assignment operators typeof 1; >typeof 1 : string ->1 : number +>1 : 1 typeof NUMBER; >typeof NUMBER : string @@ -199,9 +199,9 @@ var y = { a: 1, b: 2 }; >y : { a: number; b: number; } >{ a: 1, b: 2 } : { a: number; b: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 z: typeof y.a; >z : any diff --git a/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.js b/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.js index a90cf63bac4..1424f9343aa 100644 --- a/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.js +++ b/tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.js @@ -24,7 +24,7 @@ var y: {M2: Object} = foo0; "use strict"; //// [foo_1.js] "use strict"; -var foo0 = require('./foo_0'); +var foo0 = require("./foo_0"); // Per 11.2.3, foo_0 should still be "instantiated", albeit with no members var x = {}; var y = foo0; diff --git a/tests/baselines/reference/typesWithOptionalProperty.types b/tests/baselines/reference/typesWithOptionalProperty.types index 89879740732..e69b875a831 100644 --- a/tests/baselines/reference/typesWithOptionalProperty.types +++ b/tests/baselines/reference/typesWithOptionalProperty.types @@ -32,26 +32,26 @@ var b = { foo: '' }; >b : { foo: string; } >{ foo: '' } : { foo: string; } >foo : string ->'' : string +>'' : "" var c = { foo: '', bar: 3 }; >c : { foo: string; bar: number; } >{ foo: '', bar: 3 } : { foo: string; bar: number; } >foo : string ->'' : string +>'' : "" >bar : number ->3 : number +>3 : 3 var d = { foo: '', bar: 3, baz: () => '' }; >d : { foo: string; bar: number; baz: () => string; } >{ foo: '', bar: 3, baz: () => '' } : { foo: string; bar: number; baz: () => string; } >foo : string ->'' : string +>'' : "" >bar : number ->3 : number +>3 : 3 >baz : () => string >() => '' : () => string ->'' : string +>'' : "" var i: I; >i : I diff --git a/tests/baselines/reference/typesWithSpecializedCallSignatures.types b/tests/baselines/reference/typesWithSpecializedCallSignatures.types index b587ee7840e..b2ce825199f 100644 --- a/tests/baselines/reference/typesWithSpecializedCallSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedCallSignatures.types @@ -143,5 +143,5 @@ var r3: Base = c.foo('hm'); >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >c : C >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } ->'hm' : string +>'hm' : "hm" diff --git a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types index 3036c0cea71..3829cd5ce21 100644 --- a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types @@ -38,7 +38,7 @@ var c = new C('a'); >c : C >new C('a') : C >C : typeof C ->'a' : string +>'a' : "a" interface I { >I : I @@ -114,5 +114,5 @@ var r3: Base = new a('hm'); >Base : Base >new a('hm') : Base >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } ->'hm' : string +>'hm' : "hm" diff --git a/tests/baselines/reference/typingsLookup2.js b/tests/baselines/reference/typingsLookup2.js new file mode 100644 index 00000000000..3e816526af2 --- /dev/null +++ b/tests/baselines/reference/typingsLookup2.js @@ -0,0 +1,9 @@ +//// [tests/cases/conformance/typings/typingsLookup2.ts] //// + +//// [package.json] +{ "typings": null } + +//// [a.ts] + + +//// [a.js] diff --git a/tests/baselines/reference/typingsLookup2.symbols b/tests/baselines/reference/typingsLookup2.symbols new file mode 100644 index 00000000000..7223c8589a6 --- /dev/null +++ b/tests/baselines/reference/typingsLookup2.symbols @@ -0,0 +1,3 @@ +=== /a.ts === + +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup2.trace.json b/tests/baselines/reference/typingsLookup2.trace.json new file mode 100644 index 00000000000..0637a088a01 --- /dev/null +++ b/tests/baselines/reference/typingsLookup2.trace.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup2.types b/tests/baselines/reference/typingsLookup2.types new file mode 100644 index 00000000000..7223c8589a6 --- /dev/null +++ b/tests/baselines/reference/typingsLookup2.types @@ -0,0 +1,3 @@ +=== /a.ts === + +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup3.js b/tests/baselines/reference/typingsLookup3.js new file mode 100644 index 00000000000..b3be036b4ae --- /dev/null +++ b/tests/baselines/reference/typingsLookup3.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/typings/typingsLookup3.ts] //// + +//// [index.d.ts] +declare var $: { x: any }; + +//// [a.ts] +/// +$.x; + + +//// [a.js] +/// +$.x; diff --git a/tests/baselines/reference/typingsLookup3.symbols b/tests/baselines/reference/typingsLookup3.symbols new file mode 100644 index 00000000000..e641afb183b --- /dev/null +++ b/tests/baselines/reference/typingsLookup3.symbols @@ -0,0 +1,12 @@ +=== /a.ts === +/// +$.x; +>$.x : Symbol(x, Decl(index.d.ts, 0, 16)) +>$ : Symbol($, Decl(index.d.ts, 0, 11)) +>x : Symbol(x, Decl(index.d.ts, 0, 16)) + +=== /node_modules/@types/jquery/index.d.ts === +declare var $: { x: any }; +>$ : Symbol($, Decl(index.d.ts, 0, 11)) +>x : Symbol(x, Decl(index.d.ts, 0, 16)) + diff --git a/tests/baselines/reference/typingsLookup3.trace.json b/tests/baselines/reference/typingsLookup3.trace.json new file mode 100644 index 00000000000..83b0e91d6c7 --- /dev/null +++ b/tests/baselines/reference/typingsLookup3.trace.json @@ -0,0 +1,12 @@ +[ + "======== Resolving type reference directive 'jquery', containing file '/a.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========", + "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup3.types b/tests/baselines/reference/typingsLookup3.types new file mode 100644 index 00000000000..f57a974077e --- /dev/null +++ b/tests/baselines/reference/typingsLookup3.types @@ -0,0 +1,12 @@ +=== /a.ts === +/// +$.x; +>$.x : any +>$ : { x: any; } +>x : any + +=== /node_modules/@types/jquery/index.d.ts === +declare var $: { x: any }; +>$ : { x: any; } +>x : any + diff --git a/tests/baselines/reference/typingsLookup4.js b/tests/baselines/reference/typingsLookup4.js new file mode 100644 index 00000000000..c11bc13c613 --- /dev/null +++ b/tests/baselines/reference/typingsLookup4.js @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/typings/typingsLookup4.ts] //// + +//// [package.json] +{ "typings": "jquery.d.ts" } + +//// [jquery.d.ts] +export const j: number; + +//// [package.json] +{ "typings": "kquery" } + +//// [kquery.d.ts] +export const k: number; + +//// [package.json] +{ "typings": "lquery" } + +//// [lquery.ts] +export const l = 2; + +//// [a.ts] +import { j } from "jquery"; +import { k } from "kquery"; +import { l } from "lquery"; +j + k + l; + + +//// [lquery.js] +"use strict"; +exports.l = 2; +//// [a.js] +"use strict"; +var jquery_1 = require("jquery"); +var kquery_1 = require("kquery"); +var lquery_1 = require("lquery"); +jquery_1.j + kquery_1.k + lquery_1.l; diff --git a/tests/baselines/reference/typingsLookup4.symbols b/tests/baselines/reference/typingsLookup4.symbols new file mode 100644 index 00000000000..144548c6452 --- /dev/null +++ b/tests/baselines/reference/typingsLookup4.symbols @@ -0,0 +1,27 @@ +=== /a.ts === +import { j } from "jquery"; +>j : Symbol(j, Decl(a.ts, 0, 8)) + +import { k } from "kquery"; +>k : Symbol(k, Decl(a.ts, 1, 8)) + +import { l } from "lquery"; +>l : Symbol(l, Decl(a.ts, 2, 8)) + +j + k + l; +>j : Symbol(j, Decl(a.ts, 0, 8)) +>k : Symbol(k, Decl(a.ts, 1, 8)) +>l : Symbol(l, Decl(a.ts, 2, 8)) + +=== /node_modules/@types/jquery/jquery.d.ts === +export const j: number; +>j : Symbol(j, Decl(jquery.d.ts, 0, 12)) + +=== /node_modules/@types/kquery/kquery.d.ts === +export const k: number; +>k : Symbol(k, Decl(kquery.d.ts, 0, 12)) + +=== /node_modules/@types/lquery/lquery.ts === +export const l = 2; +>l : Symbol(l, Decl(lquery.ts, 0, 12)) + diff --git a/tests/baselines/reference/typingsLookup4.trace.json b/tests/baselines/reference/typingsLookup4.trace.json new file mode 100644 index 00000000000..4bca8456f58 --- /dev/null +++ b/tests/baselines/reference/typingsLookup4.trace.json @@ -0,0 +1,93 @@ +[ + "======== Resolving module 'jquery' from '/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'jquery' from 'node_modules' folder.", + "File '/node_modules/jquery.ts' does not exist.", + "File '/node_modules/jquery.tsx' does not exist.", + "File '/node_modules/jquery.d.ts' does not exist.", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.ts' does not exist.", + "File '/node_modules/jquery/index.tsx' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "File '/node_modules/@types/jquery.ts' does not exist.", + "File '/node_modules/@types/jquery.tsx' does not exist.", + "File '/node_modules/@types/jquery.d.ts' does not exist.", + "Found 'package.json' at '/node_modules/@types/jquery/package.json'.", + "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", + "File '/node_modules/@types/jquery/jquery.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/node_modules/@types/jquery/jquery.d.ts', result '/node_modules/@types/jquery/jquery.d.ts'", + "======== Module name 'jquery' was successfully resolved to '/node_modules/@types/jquery/jquery.d.ts'. ========", + "======== Resolving module 'kquery' from '/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'kquery' from 'node_modules' folder.", + "File '/node_modules/kquery.ts' does not exist.", + "File '/node_modules/kquery.tsx' does not exist.", + "File '/node_modules/kquery.d.ts' does not exist.", + "File '/node_modules/kquery/package.json' does not exist.", + "File '/node_modules/kquery/index.ts' does not exist.", + "File '/node_modules/kquery/index.tsx' does not exist.", + "File '/node_modules/kquery/index.d.ts' does not exist.", + "File '/node_modules/@types/kquery.ts' does not exist.", + "File '/node_modules/@types/kquery.tsx' does not exist.", + "File '/node_modules/@types/kquery.d.ts' does not exist.", + "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", + "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", + "File '/node_modules/@types/kquery/kquery' does not exist.", + "File '/node_modules/@types/kquery/kquery.ts' does not exist.", + "File '/node_modules/@types/kquery/kquery.tsx' does not exist.", + "File '/node_modules/@types/kquery/kquery.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/node_modules/@types/kquery/kquery.d.ts', result '/node_modules/@types/kquery/kquery.d.ts'", + "======== Module name 'kquery' was successfully resolved to '/node_modules/@types/kquery/kquery.d.ts'. ========", + "======== Resolving module 'lquery' from '/a.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'lquery' from 'node_modules' folder.", + "File '/node_modules/lquery.ts' does not exist.", + "File '/node_modules/lquery.tsx' does not exist.", + "File '/node_modules/lquery.d.ts' does not exist.", + "File '/node_modules/lquery/package.json' does not exist.", + "File '/node_modules/lquery/index.ts' does not exist.", + "File '/node_modules/lquery/index.tsx' does not exist.", + "File '/node_modules/lquery/index.d.ts' does not exist.", + "File '/node_modules/@types/lquery.ts' does not exist.", + "File '/node_modules/@types/lquery.tsx' does not exist.", + "File '/node_modules/@types/lquery.d.ts' does not exist.", + "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", + "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", + "File '/node_modules/@types/lquery/lquery' does not exist.", + "File '/node_modules/@types/lquery/lquery.ts' exist - use it as a name resolution result.", + "Resolving real path for '/node_modules/@types/lquery/lquery.ts', result '/node_modules/@types/lquery/lquery.ts'", + "======== Module name 'lquery' was successfully resolved to '/node_modules/@types/lquery/lquery.ts'. ========", + "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "Found 'package.json' at '/node_modules/@types/jquery/package.json'.", + "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", + "File '/node_modules/@types/jquery/jquery.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/jquery.d.ts', primary: true. ========", + "======== Resolving type reference directive 'kquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", + "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", + "File '/node_modules/@types/kquery/kquery' does not exist.", + "File '/node_modules/@types/kquery/kquery.d.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'kquery' was successfully resolved to '/node_modules/@types/kquery/kquery.d.ts', primary: true. ========", + "======== Resolving type reference directive 'lquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'", + "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", + "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", + "File '/node_modules/@types/lquery/lquery' does not exist.", + "File '/node_modules/@types/lquery/lquery.d.ts' does not exist.", + "File '/node_modules/@types/lquery/index.d.ts' does not exist.", + "Looking up in 'node_modules' folder, initial location '/'", + "File '/node_modules/lquery.ts' does not exist.", + "File '/node_modules/lquery.d.ts' does not exist.", + "File '/node_modules/lquery/package.json' does not exist.", + "File '/node_modules/lquery/index.ts' does not exist.", + "File '/node_modules/lquery/index.d.ts' does not exist.", + "File '/node_modules/@types/lquery.ts' does not exist.", + "File '/node_modules/@types/lquery.d.ts' does not exist.", + "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", + "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", + "File '/node_modules/@types/lquery/lquery' does not exist.", + "File '/node_modules/@types/lquery/lquery.ts' exist - use it as a name resolution result.", + "======== Type reference directive 'lquery' was successfully resolved to '/node_modules/@types/lquery/lquery.ts', primary: false. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup4.types b/tests/baselines/reference/typingsLookup4.types new file mode 100644 index 00000000000..e3f747ac55d --- /dev/null +++ b/tests/baselines/reference/typingsLookup4.types @@ -0,0 +1,30 @@ +=== /a.ts === +import { j } from "jquery"; +>j : number + +import { k } from "kquery"; +>k : number + +import { l } from "lquery"; +>l : 2 + +j + k + l; +>j + k + l : number +>j + k : number +>j : number +>k : number +>l : 2 + +=== /node_modules/@types/jquery/jquery.d.ts === +export const j: number; +>j : number + +=== /node_modules/@types/kquery/kquery.d.ts === +export const k: number; +>k : number + +=== /node_modules/@types/lquery/lquery.ts === +export const l = 2; +>l : 2 +>2 : 2 + diff --git a/tests/baselines/reference/umd-augmentation-1.js b/tests/baselines/reference/umd-augmentation-1.js index b3ffcf670a8..ee4c143486c 100644 --- a/tests/baselines/reference/umd-augmentation-1.js +++ b/tests/baselines/reference/umd-augmentation-1.js @@ -42,7 +42,7 @@ var t = p.x; //// [b.js] "use strict"; /// -var m = require('math2d'); +var m = require("math2d"); var v = new m.Vector(3, 2); var magnitude = m.getLength(v); var p = v.translate(5, 5); diff --git a/tests/baselines/reference/umd-augmentation-1.symbols b/tests/baselines/reference/umd-augmentation-1.symbols index 645511350a9..70715649894 100644 --- a/tests/baselines/reference/umd-augmentation-1.symbols +++ b/tests/baselines/reference/umd-augmentation-1.symbols @@ -39,6 +39,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) export interface Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types index 31ac43fe855..8f759912256 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -9,8 +9,8 @@ let v = new m.Vector(3, 2); >m.Vector : typeof m.Vector >m : typeof m >Vector : typeof m.Vector ->3 : number ->2 : number +>3 : 3 +>2 : 2 let magnitude = m.getLength(v); >magnitude : number @@ -28,8 +28,8 @@ let p: m.Point = v.translate(5, 5); >v.translate : (dx: number, dy: number) => m.Vector >v : m.Vector >translate : (dx: number, dy: number) => m.Vector ->5 : number ->5 : number +>5 : 5 +>5 : 5 p = v.reverse(); >p = v.reverse() : m.Point @@ -48,7 +48,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; ->Math2d : any +>Math2d : typeof Math2d export interface Point { >Point : Point diff --git a/tests/baselines/reference/umd-augmentation-2.symbols b/tests/baselines/reference/umd-augmentation-2.symbols index bd6584d3d74..a31ed61d531 100644 --- a/tests/baselines/reference/umd-augmentation-2.symbols +++ b/tests/baselines/reference/umd-augmentation-2.symbols @@ -37,6 +37,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) export interface Point { >Point : Symbol(Point, Decl(index.d.ts, 1, 27)) diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types index 20bba091903..98d1d52ba4d 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -7,8 +7,8 @@ let v = new Math2d.Vector(3, 2); >Math2d.Vector : typeof Math2d.Vector >Math2d : typeof Math2d >Vector : typeof Math2d.Vector ->3 : number ->2 : number +>3 : 3 +>2 : 2 let magnitude = Math2d.getLength(v); >magnitude : number @@ -26,8 +26,8 @@ let p: Math2d.Point = v.translate(5, 5); >v.translate : (dx: number, dy: number) => Vector >v : Vector >translate : (dx: number, dy: number) => Vector ->5 : number ->5 : number +>5 : 5 +>5 : 5 p = v.reverse(); >p = v.reverse() : Math2d.Point @@ -46,7 +46,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; ->Math2d : any +>Math2d : typeof Math2d export interface Point { >Point : Point diff --git a/tests/baselines/reference/umd-augmentation-3.js b/tests/baselines/reference/umd-augmentation-3.js index 2b8eac7bf63..e9abf724881 100644 --- a/tests/baselines/reference/umd-augmentation-3.js +++ b/tests/baselines/reference/umd-augmentation-3.js @@ -48,7 +48,7 @@ var t = p.x; //// [b.js] "use strict"; /// -var m = require('math2d'); +var m = require("math2d"); var v = new m.Vector(3, 2); var magnitude = m.getLength(v); var p = v.translate(5, 5); diff --git a/tests/baselines/reference/umd-augmentation-3.symbols b/tests/baselines/reference/umd-augmentation-3.symbols index 3193e83cd19..3e2df7c8a89 100644 --- a/tests/baselines/reference/umd-augmentation-3.symbols +++ b/tests/baselines/reference/umd-augmentation-3.symbols @@ -39,6 +39,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) export = M2D; >M2D : Symbol(M2D, Decl(index.d.ts, 3, 13)) diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types index 854ebceff37..c62107cc40f 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -9,8 +9,8 @@ let v = new m.Vector(3, 2); >m.Vector : typeof m.Vector >m : typeof m >Vector : typeof m.Vector ->3 : number ->2 : number +>3 : 3 +>2 : 2 let magnitude = m.getLength(v); >magnitude : number @@ -28,8 +28,8 @@ let p: m.Point = v.translate(5, 5); >v.translate : (dx: number, dy: number) => m.Vector >v : m.Vector >translate : (dx: number, dy: number) => m.Vector ->5 : number ->5 : number +>5 : 5 +>5 : 5 p = v.reverse(); >p = v.reverse() : m.Point @@ -48,7 +48,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; ->Math2d : any +>Math2d : typeof Math2d export = M2D; >M2D : typeof M2D diff --git a/tests/baselines/reference/umd-augmentation-4.symbols b/tests/baselines/reference/umd-augmentation-4.symbols index 3f2cc913d86..7be5d278bf2 100644 --- a/tests/baselines/reference/umd-augmentation-4.symbols +++ b/tests/baselines/reference/umd-augmentation-4.symbols @@ -37,6 +37,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; +>Math2d : Symbol(Math2d, Decl(index.d.ts, 0, 0)) export = M2D; >M2D : Symbol(M2D, Decl(index.d.ts, 3, 13)) diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types index 71783d03012..e1283c74a7c 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -7,8 +7,8 @@ let v = new Math2d.Vector(3, 2); >Math2d.Vector : typeof Math2d.Vector >Math2d : typeof Math2d >Vector : typeof Math2d.Vector ->3 : number ->2 : number +>3 : 3 +>2 : 2 let magnitude = Math2d.getLength(v); >magnitude : number @@ -26,8 +26,8 @@ let p: Math2d.Point = v.translate(5, 5); >v.translate : (dx: number, dy: number) => Math2d.Vector >v : Math2d.Vector >translate : (dx: number, dy: number) => Math2d.Vector ->5 : number ->5 : number +>5 : 5 +>5 : 5 p = v.reverse(); >p = v.reverse() : Math2d.Point @@ -46,7 +46,7 @@ var t = p.x; === tests/cases/conformance/externalModules/node_modules/math2d/index.d.ts === export as namespace Math2d; ->Math2d : any +>Math2d : typeof Math2d export = M2D; >M2D : typeof M2D diff --git a/tests/baselines/reference/umd1.symbols b/tests/baselines/reference/umd1.symbols index 9b964456bcf..0307a9b78d3 100644 --- a/tests/baselines/reference/umd1.symbols +++ b/tests/baselines/reference/umd1.symbols @@ -30,4 +30,5 @@ export interface Thing { n: typeof x } >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 3, 38)) diff --git a/tests/baselines/reference/umd1.types b/tests/baselines/reference/umd1.types index 1767f3b5a89..1379bba8d5d 100644 --- a/tests/baselines/reference/umd1.types +++ b/tests/baselines/reference/umd1.types @@ -31,5 +31,5 @@ export interface Thing { n: typeof x } >x : number export as namespace Foo; ->Foo : any +>Foo : typeof Foo diff --git a/tests/baselines/reference/umd3.js b/tests/baselines/reference/umd3.js index 5e869148beb..03e15be2ecf 100644 --- a/tests/baselines/reference/umd3.js +++ b/tests/baselines/reference/umd3.js @@ -16,7 +16,7 @@ let y: number = x.n; //// [a.js] "use strict"; -var Foo = require('./foo'); +var Foo = require("./foo"); Foo.fn(); var x; var y = x.n; diff --git a/tests/baselines/reference/umd3.symbols b/tests/baselines/reference/umd3.symbols index 165fd81597a..c1fd3d6d74f 100644 --- a/tests/baselines/reference/umd3.symbols +++ b/tests/baselines/reference/umd3.symbols @@ -32,4 +32,5 @@ export interface Thing { n: typeof x } >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 3, 38)) diff --git a/tests/baselines/reference/umd3.types b/tests/baselines/reference/umd3.types index 85ee6bafe5e..23149e58d76 100644 --- a/tests/baselines/reference/umd3.types +++ b/tests/baselines/reference/umd3.types @@ -33,5 +33,5 @@ export interface Thing { n: typeof x } >x : number export as namespace Foo; ->Foo : any +>Foo : typeof Foo diff --git a/tests/baselines/reference/umd4.js b/tests/baselines/reference/umd4.js index b7a7d1da0e2..d06fc3aba93 100644 --- a/tests/baselines/reference/umd4.js +++ b/tests/baselines/reference/umd4.js @@ -16,7 +16,7 @@ let y: number = x.n; //// [a.js] "use strict"; -var Bar = require('./foo'); +var Bar = require("./foo"); Bar.fn(); var x; var y = x.n; diff --git a/tests/baselines/reference/umd4.symbols b/tests/baselines/reference/umd4.symbols index 8403187198b..d266997770b 100644 --- a/tests/baselines/reference/umd4.symbols +++ b/tests/baselines/reference/umd4.symbols @@ -32,4 +32,5 @@ export interface Thing { n: typeof x } >x : Symbol(x, Decl(foo.d.ts, 1, 10)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 3, 38)) diff --git a/tests/baselines/reference/umd4.types b/tests/baselines/reference/umd4.types index 579599f5661..18794258517 100644 --- a/tests/baselines/reference/umd4.types +++ b/tests/baselines/reference/umd4.types @@ -33,5 +33,5 @@ export interface Thing { n: typeof x } >x : number export as namespace Foo; ->Foo : any +>Foo : typeof Foo diff --git a/tests/baselines/reference/umd5.js b/tests/baselines/reference/umd5.js index d054daf93fd..95626132f77 100644 --- a/tests/baselines/reference/umd5.js +++ b/tests/baselines/reference/umd5.js @@ -18,7 +18,7 @@ let z = Foo; //// [a.js] "use strict"; -var Bar = require('./foo'); +var Bar = require("./foo"); Bar.fn(); var x; var y = x.n; diff --git a/tests/baselines/reference/umd6.symbols b/tests/baselines/reference/umd6.symbols index d08507f1ea2..958875b79eb 100644 --- a/tests/baselines/reference/umd6.symbols +++ b/tests/baselines/reference/umd6.symbols @@ -18,4 +18,5 @@ export = Thing; >Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types index 7318a43057a..5b1469cbd6c 100644 --- a/tests/baselines/reference/umd6.types +++ b/tests/baselines/reference/umd6.types @@ -19,5 +19,5 @@ export = Thing; >Thing : typeof Thing export as namespace Foo; ->Foo : any +>Foo : typeof Thing diff --git a/tests/baselines/reference/umd7.symbols b/tests/baselines/reference/umd7.symbols index 0b3ef17fb7b..19b56ed30f3 100644 --- a/tests/baselines/reference/umd7.symbols +++ b/tests/baselines/reference/umd7.symbols @@ -13,4 +13,5 @@ export = Thing; >Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 2, 15)) diff --git a/tests/baselines/reference/umd7.types b/tests/baselines/reference/umd7.types index 60782543710..d83e039b674 100644 --- a/tests/baselines/reference/umd7.types +++ b/tests/baselines/reference/umd7.types @@ -14,5 +14,5 @@ export = Thing; >Thing : () => number export as namespace Foo; ->Foo : any +>Foo : () => number diff --git a/tests/baselines/reference/umd8.symbols b/tests/baselines/reference/umd8.symbols index 8c38f267a2a..97da693b38f 100644 --- a/tests/baselines/reference/umd8.symbols +++ b/tests/baselines/reference/umd8.symbols @@ -22,4 +22,5 @@ export = Thing; >Thing : Symbol(Thing, Decl(foo.d.ts, 0, 0)) export as namespace Foo; +>Foo : Symbol(Foo, Decl(foo.d.ts, 4, 15)) diff --git a/tests/baselines/reference/umd8.types b/tests/baselines/reference/umd8.types index 0e66a49b963..ae3bdfd5fc8 100644 --- a/tests/baselines/reference/umd8.types +++ b/tests/baselines/reference/umd8.types @@ -23,5 +23,5 @@ export = Thing; >Thing : Thing export as namespace Foo; ->Foo : any +>Foo : typeof Thing diff --git a/tests/baselines/reference/umdDependencyComment2.js b/tests/baselines/reference/umdDependencyComment2.js index e73a5350d79..68cffd22023 100644 --- a/tests/baselines/reference/umdDependencyComment2.js +++ b/tests/baselines/reference/umdDependencyComment2.js @@ -7,14 +7,14 @@ m1.f(); //// [umdDependencyComment2.js] /// -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports", "bar", "m2"], factory); + define(dependencies, factory); } -})(function (require, exports) { +})(["require", "exports", "bar", "m2"], function (require, exports) { "use strict"; var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/umdDependencyCommentName1.js b/tests/baselines/reference/umdDependencyCommentName1.js index 7716ca949a3..ac2fcc99981 100644 --- a/tests/baselines/reference/umdDependencyCommentName1.js +++ b/tests/baselines/reference/umdDependencyCommentName1.js @@ -7,14 +7,14 @@ m1.f(); //// [umdDependencyCommentName1.js] /// -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports", "bar", "m2"], factory); + define(dependencies, factory); } -})(function (require, exports, b) { +})(["require", "exports", "bar", "m2"], function (require, exports, b) { "use strict"; var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/umdDependencyCommentName2.js b/tests/baselines/reference/umdDependencyCommentName2.js index 4650a8408e1..06bd2c8a90c 100644 --- a/tests/baselines/reference/umdDependencyCommentName2.js +++ b/tests/baselines/reference/umdDependencyCommentName2.js @@ -11,14 +11,14 @@ m1.f(); /// /// /// -(function (factory) { +(function (dependencies, factory) { if (typeof module === 'object' && typeof module.exports === 'object') { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === 'function' && define.amd) { - define(["require", "exports", "bar", "goo", "foo", "m2"], factory); + define(dependencies, factory); } -})(function (require, exports, b, c) { +})(["require", "exports", "bar", "goo", "foo", "m2"], function (require, exports, b, c) { "use strict"; var m1 = require("m2"); m1.f(); diff --git a/tests/baselines/reference/umdGlobalConflict.js b/tests/baselines/reference/umdGlobalConflict.js new file mode 100644 index 00000000000..e8a820e2333 --- /dev/null +++ b/tests/baselines/reference/umdGlobalConflict.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/umdGlobalConflict.ts] //// + +//// [index.d.ts] +export as namespace Alpha; +export var x: string; + +//// [index.d.ts] +export as namespace Alpha; +export var y: number; + +//// [consumer.ts] +import * as v1 from './v1'; +import * as v2 from './v2'; + +//// [global.ts] +// Should be OK, first in wins +const p: string = Alpha.x; + +//// [consumer.js] +"use strict"; +//// [global.js] +// Should be OK, first in wins +var p = Alpha.x; diff --git a/tests/baselines/reference/umdGlobalConflict.symbols b/tests/baselines/reference/umdGlobalConflict.symbols new file mode 100644 index 00000000000..b13fb0f25b1 --- /dev/null +++ b/tests/baselines/reference/umdGlobalConflict.symbols @@ -0,0 +1,29 @@ +=== tests/cases/compiler/v1/index.d.ts === +export as namespace Alpha; +>Alpha : Symbol(Alpha, Decl(index.d.ts, 0, 0)) + +export var x: string; +>x : Symbol(x, Decl(index.d.ts, 1, 10)) + +=== tests/cases/compiler/v2/index.d.ts === +export as namespace Alpha; +>Alpha : Symbol(Alpha, Decl(index.d.ts, 0, 0)) + +export var y: number; +>y : Symbol(y, Decl(index.d.ts, 1, 10)) + +=== tests/cases/compiler/consumer.ts === +import * as v1 from './v1'; +>v1 : Symbol(v1, Decl(consumer.ts, 0, 6)) + +import * as v2 from './v2'; +>v2 : Symbol(v2, Decl(consumer.ts, 1, 6)) + +=== tests/cases/compiler/global.ts === +// Should be OK, first in wins +const p: string = Alpha.x; +>p : Symbol(p, Decl(global.ts, 1, 5)) +>Alpha.x : Symbol(Alpha.x, Decl(index.d.ts, 1, 10)) +>Alpha : Symbol(Alpha, Decl(index.d.ts, 0, 0)) +>x : Symbol(Alpha.x, Decl(index.d.ts, 1, 10)) + diff --git a/tests/baselines/reference/umdGlobalConflict.types b/tests/baselines/reference/umdGlobalConflict.types new file mode 100644 index 00000000000..d23d42e702a --- /dev/null +++ b/tests/baselines/reference/umdGlobalConflict.types @@ -0,0 +1,29 @@ +=== tests/cases/compiler/v1/index.d.ts === +export as namespace Alpha; +>Alpha : typeof Alpha + +export var x: string; +>x : string + +=== tests/cases/compiler/v2/index.d.ts === +export as namespace Alpha; +>Alpha : typeof "tests/cases/compiler/v2/index" + +export var y: number; +>y : number + +=== tests/cases/compiler/consumer.ts === +import * as v1 from './v1'; +>v1 : typeof v1 + +import * as v2 from './v2'; +>v2 : typeof v2 + +=== tests/cases/compiler/global.ts === +// Should be OK, first in wins +const p: string = Alpha.x; +>p : string +>Alpha.x : string +>Alpha : typeof Alpha +>x : string + diff --git a/tests/baselines/reference/umdGlobalMerge.errors.txt b/tests/baselines/reference/umdGlobalMerge.errors.txt deleted file mode 100644 index eb4a116ef09..00000000000 --- a/tests/baselines/reference/umdGlobalMerge.errors.txt +++ /dev/null @@ -1,20 +0,0 @@ -tests/cases/compiler/b.d.ts(2,20): error TS2305: Module '"tests/cases/compiler/a".ns' has no exported member 'IFoo'. - - -==== tests/cases/compiler/a.d.ts (0 errors) ==== - export = ns; - - export as namespace ns; - - declare namespace ns { - export var x: number; - export interface IFoo { } - } - -==== tests/cases/compiler/b.d.ts (1 errors) ==== - declare namespace ns.something { - export var p: ns.IFoo; - ~~~~ -!!! error TS2305: Module '"tests/cases/compiler/a".ns' has no exported member 'IFoo'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/unaryPlus.types b/tests/baselines/reference/unaryPlus.types index fc7a038ac72..8f92b51a159 100644 --- a/tests/baselines/reference/unaryPlus.types +++ b/tests/baselines/reference/unaryPlus.types @@ -3,40 +3,40 @@ var a = +1; >a : number >+1 : number ->1 : number +>1 : 1 var b = +(""); >b : number >+("") : number >("") : any >"" : any ->"" : string +>"" : "" enum E { some, thing }; >E : E ->some : E ->thing : E +>some : E.some +>thing : E.thing var c = +E.some; >c : number >+E.some : number ->E.some : E +>E.some : E.some >E : typeof E ->some : E +>some : E.some // also allowed, used to be errors var x = +"3"; //should be valid >x : number >+"3" : number ->"3" : string +>"3" : "3" var y = -"3"; // should be valid >y : number >-"3" : number ->"3" : string +>"3" : "3" var z = ~"3"; // should be valid >z : number >~"3" : number ->"3" : string +>"3" : "3" diff --git a/tests/baselines/reference/uncaughtCompilerError1.types b/tests/baselines/reference/uncaughtCompilerError1.types index 20a3f0fbedd..d69a52334b3 100644 --- a/tests/baselines/reference/uncaughtCompilerError1.types +++ b/tests/baselines/reference/uncaughtCompilerError1.types @@ -19,24 +19,24 @@ function f() { >lineTokens : any >index : any >trim : any ->'=' : string +>'=' : "=" >index > 0 : boolean >index : any ->0 : number +>0 : 0 >token.type === '' : boolean >token.type : any >token : any >type : any ->'' : string +>'' : "" >tokens[index - 1].type === 'attribute.name.html' : boolean >tokens[index - 1].type : any >tokens[index - 1] : any >tokens : any >index - 1 : number >index : any ->1 : number +>1 : 1 >type : any ->'attribute.name.html' : string +>'attribute.name.html' : "attribute.name.html" if (index === (tokens.length - 1)) { >index === (tokens.length - 1) : boolean @@ -46,14 +46,14 @@ function f() { >tokens.length : any >tokens : any >length : any ->1 : number +>1 : 1 return { appendText: '\"\"', advanceCount: 1 }; >{ appendText: '\"\"', advanceCount: 1 } : { appendText: string; advanceCount: number; } >appendText : string ->'\"\"' : string +>'\"\"' : "\"\"" >advanceCount : number ->1 : number +>1 : 1 } else if (tokens[index + 1].type !== 'attribute.value.html' && tokens[index + 1].type !== '') { >tokens[index + 1].type !== 'attribute.value.html' && tokens[index + 1].type !== '' : boolean @@ -63,25 +63,25 @@ function f() { >tokens : any >index + 1 : any >index : any ->1 : number +>1 : 1 >type : any ->'attribute.value.html' : string +>'attribute.value.html' : "attribute.value.html" >tokens[index + 1].type !== '' : boolean >tokens[index + 1].type : any >tokens[index + 1] : any >tokens : any >index + 1 : any >index : any ->1 : number +>1 : 1 >type : any ->'' : string +>'' : "" return { appendText: '\"\"', advanceCount: 1 }; >{ appendText: '\"\"', advanceCount: 1 } : { appendText: string; advanceCount: number; } >appendText : string ->'\"\"' : string +>'\"\"' : "\"\"" >advanceCount : number ->1 : number +>1 : 1 } return null; >null : null diff --git a/tests/baselines/reference/undeclaredModuleError.js b/tests/baselines/reference/undeclaredModuleError.js index b768b0d9114..c9a43ab4ce6 100644 --- a/tests/baselines/reference/undeclaredModuleError.js +++ b/tests/baselines/reference/undeclaredModuleError.js @@ -16,7 +16,7 @@ function instrumentFile(covFileDir: string, covFileName: string, originalFilePat } //// [undeclaredModuleError.js] -define(["require", "exports", 'fs'], function (require, exports, fs) { +define(["require", "exports", "fs"], function (require, exports, fs) { "use strict"; function readdir(path, accept, callback) { } function join() { diff --git a/tests/baselines/reference/undefinedInferentialTyping.types b/tests/baselines/reference/undefinedInferentialTyping.types index 525181f0f4c..49ebbb53716 100644 --- a/tests/baselines/reference/undefinedInferentialTyping.types +++ b/tests/baselines/reference/undefinedInferentialTyping.types @@ -14,8 +14,8 @@ function f(arr: T[], elemnt: T): T { var a = f([], 3); // should be number >a : number ->f([], 3) : number +>f([], 3) : 3 >f : (arr: T[], elemnt: T) => T >[] : undefined[] ->3 : number +>3 : 3 diff --git a/tests/baselines/reference/undefinedIsSubtypeOfEverything.types b/tests/baselines/reference/undefinedIsSubtypeOfEverything.types index d89f032bf29..c52b7b62114 100644 --- a/tests/baselines/reference/undefinedIsSubtypeOfEverything.types +++ b/tests/baselines/reference/undefinedIsSubtypeOfEverything.types @@ -171,7 +171,7 @@ module f { export var bar = 1; >bar : number ->1 : number +>1 : 1 } class D12 extends Base { >D12 : D12 @@ -192,7 +192,7 @@ module c { export var bar = 1; >bar : number ->1 : number +>1 : 1 } class D13 extends Base { >D13 : D13 diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index 60cbcccda2b..4de13891137 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -127,7 +127,7 @@ class MyView extends View { >this : this >model : any >get : any ->"data" : string +>"data" : "data" var allSeries: ISeries[][] = _.pluck(data, "series"); >allSeries : ISeries[][] @@ -137,7 +137,7 @@ class MyView extends View { >_ : typeof _ >pluck : (list: _.Collection, propertyName: string) => any[] >data : IData[] ->"series" : string +>"series" : "series" return _.map(allSeries, _.first); >_.map(allSeries, _.first) : ISeries[] diff --git a/tests/baselines/reference/underscoreTest1.symbols b/tests/baselines/reference/underscoreTest1.symbols index 3506f23510e..89815bd2371 100644 --- a/tests/baselines/reference/underscoreTest1.symbols +++ b/tests/baselines/reference/underscoreTest1.symbols @@ -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, --, --)) +>a.concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >a : Symbol(a, Decl(underscoreTest1_underscoreTests.ts, 14, 32)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, --, --)) +>concat : Symbol(Array.concat, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) >b : Symbol(b, Decl(underscoreTest1_underscoreTests.ts, 14, 34)) var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 37f3bdb12ab..d4898d43bed 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -14,9 +14,9 @@ _.each([1, 2, 3], (num) => alert(num.toString())); >_ : Underscore.Static >each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >(num) => alert(num.toString()) : (num: number) => void >num : number >alert(num.toString()) : void @@ -33,11 +33,11 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu >each : { (list: T[], iterator: Iterator, context?: any): void; (list: Dictionary, iterator: Iterator, context?: any): void; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 >(value: number, key?: string) => alert(value.toString()) : (value: number, key?: string) => void >value : number >key : string @@ -54,14 +54,14 @@ _.map([1, 2, 3], (num) => num * 3); >_ : Underscore.Static >map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >(num) => num * 3 : (num: number) => number >num : number >num * 3 : number >num : number ->3 : number +>3 : 3 _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >_.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3) : number[] @@ -70,17 +70,17 @@ _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >map : { (list: T[], iterator: Iterator, context?: any): U[]; (list: Dictionary, iterator: Iterator, context?: any): U[]; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 >(value: number, key?: string) => value * 3 : (value: number, key?: string) => number >value : number >key : string >value * 3 : number >value : number ->3 : number +>3 : 3 var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); >sum : number @@ -89,29 +89,29 @@ var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); >_ : Underscore.Static >reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >(memo, num) => memo + num : (memo: number, num: number) => number >memo : number >num : number >memo + num : number >memo : number >num : number ->0 : number +>0 : 0 var list = [[0, 1], [2, 3], [4, 5]]; >list : number[][] >[[0, 1], [2, 3], [4, 5]] : number[][] >[0, 1] : number[] ->0 : number ->1 : number +>0 : 0 +>1 : 1 >[2, 3] : number[] ->2 : number ->3 : number +>2 : 2 +>3 : 3 >[4, 5] : number[] ->4 : number ->5 : number +>4 : 4 +>5 : 5 var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >flat : number[] @@ -124,9 +124,9 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >a : number[] >b : number[] >a.concat(b) : number[] ->a.concat : (...items: (number | number[])[]) => number[] +>a.concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } >a : number[] ->concat : (...items: (number | number[])[]) => number[] +>concat : { (...items: number[][]): number[]; (...items: (number | number[])[]): number[]; } >b : number[] >[] : undefined[] @@ -137,19 +137,19 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_ : Underscore.Static >find : { (list: T[], iterator: Iterator, context?: any): T; (list: Dictionary, iterator: Iterator, context?: any): T; } >[1, 2, 3, 4, 5, 6] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->6 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>6 : 6 >(num) => num % 2 == 0 : (num: number) => boolean >num : number >num % 2 == 0 : boolean >num % 2 : number >num : number ->2 : number ->0 : number +>2 : 2 +>0 : 0 var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >evens : number[] @@ -158,44 +158,44 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_ : Underscore.Static >filter : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } >[1, 2, 3, 4, 5, 6] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->6 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>6 : 6 >(num) => num % 2 == 0 : (num: number) => boolean >num : number >num % 2 == 0 : boolean >num % 2 : number >num : number ->2 : number ->0 : number +>2 : 2 +>0 : 0 var listOfPlays = [{ title: "Cymbeline", author: "Shakespeare", year: 1611 }, { title: "The Tempest", author: "Shakespeare", year: 1611 }, { title: "Other", author: "Not Shakespeare", year: 2012 }]; >listOfPlays : { title: string; author: string; year: number; }[] >[{ title: "Cymbeline", author: "Shakespeare", year: 1611 }, { title: "The Tempest", author: "Shakespeare", year: 1611 }, { title: "Other", author: "Not Shakespeare", year: 2012 }] : { title: string; author: string; year: number; }[] >{ title: "Cymbeline", author: "Shakespeare", year: 1611 } : { title: string; author: string; year: number; } >title : string ->"Cymbeline" : string +>"Cymbeline" : "Cymbeline" >author : string ->"Shakespeare" : string +>"Shakespeare" : "Shakespeare" >year : number ->1611 : number +>1611 : 1611 >{ title: "The Tempest", author: "Shakespeare", year: 1611 } : { title: string; author: string; year: number; } >title : string ->"The Tempest" : string +>"The Tempest" : "The Tempest" >author : string ->"Shakespeare" : string +>"Shakespeare" : "Shakespeare" >year : number ->1611 : number +>1611 : 1611 >{ title: "Other", author: "Not Shakespeare", year: 2012 } : { title: string; author: string; year: number; } >title : string ->"Other" : string +>"Other" : "Other" >author : string ->"Not Shakespeare" : string +>"Not Shakespeare" : "Not Shakespeare" >year : number ->2012 : number +>2012 : 2012 _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >_.where(listOfPlays, { author: "Shakespeare", year: 1611 }) : { title: string; author: string; year: number; }[] @@ -205,9 +205,9 @@ _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >listOfPlays : { title: string; author: string; year: number; }[] >{ author: "Shakespeare", year: 1611 } : { author: string; year: number; } >author : string ->"Shakespeare" : string +>"Shakespeare" : "Shakespeare" >year : number ->1611 : number +>1611 : 1611 var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >odds : number[] @@ -216,30 +216,30 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_ : Underscore.Static >reject : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; } >[1, 2, 3, 4, 5, 6] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->6 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>6 : 6 >(num) => num % 2 == 0 : (num: number) => boolean >num : number >num % 2 == 0 : boolean >num % 2 : number >num : number ->2 : number ->0 : number +>2 : 2 +>0 : 0 _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean >_.all : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } >_ : Underscore.Static >all : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } ->[true, 1, null, 'yes'] : (boolean | number | string)[] ->true : boolean ->1 : number +>[true, 1, null, 'yes'] : (true | 1 | "yes")[] +>true : true +>1 : 1 >null : null ->'yes' : string +>'yes' : "yes" >_.identity : (value: T) => T >_ : Underscore.Static >identity : (value: T) => T @@ -249,11 +249,11 @@ _.any([null, 0, 'yes', false]); >_.any : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } >_ : Underscore.Static >any : { (list: T[], iterator?: Iterator, context?: any): boolean; (list: Dictionary, iterator?: Iterator, context?: any): boolean; } ->[null, 0, 'yes', false] : (number | string | boolean)[] +>[null, 0, 'yes', false] : (false | 0 | "yes")[] >null : null ->0 : number ->'yes' : string ->false : boolean +>0 : 0 +>'yes' : "yes" +>false : false _.contains([1, 2, 3], 3); >_.contains([1, 2, 3], 3) : boolean @@ -261,10 +261,10 @@ _.contains([1, 2, 3], 3); >_ : Underscore.Static >contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 +>3 : 3 _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); >_.invoke([[5, 1, 7], [3, 2, 1]], 'sort') : any[] @@ -273,33 +273,33 @@ _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); >invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } >[[5, 1, 7], [3, 2, 1]] : number[][] >[5, 1, 7] : number[] ->5 : number ->1 : number ->7 : number +>5 : 5 +>1 : 1 +>7 : 7 >[3, 2, 1] : number[] ->3 : number ->2 : number ->1 : number ->'sort' : string +>3 : 3 +>2 : 2 +>1 : 1 +>'sort' : "sort" var stooges = [{ name: 'moe', age: 40 }, { name: 'larry', age: 50 }, { name: 'curly', age: 60 }]; >stooges : { name: string; age: number; }[] >[{ name: 'moe', age: 40 }, { name: 'larry', age: 50 }, { name: 'curly', age: 60 }] : { name: string; age: number; }[] >{ name: 'moe', age: 40 } : { name: string; age: number; } >name : string ->'moe' : string +>'moe' : "moe" >age : number ->40 : number +>40 : 40 >{ name: 'larry', age: 50 } : { name: string; age: number; } >name : string ->'larry' : string +>'larry' : "larry" >age : number ->50 : number +>50 : 50 >{ name: 'curly', age: 60 } : { name: string; age: number; } >name : string ->'curly' : string +>'curly' : "curly" >age : number ->60 : number +>60 : 60 _.pluck(stooges, 'name'); >_.pluck(stooges, 'name') : any[] @@ -307,7 +307,7 @@ _.pluck(stooges, 'name'); >_ : Underscore.Static >pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } >stooges : { name: string; age: number; }[] ->'name' : string +>'name' : "name" _.max(stooges, (stooge) => stooge.age); >_.max(stooges, (stooge) => stooge.age) : { name: string; age: number; } @@ -324,11 +324,11 @@ _.max(stooges, (stooge) => stooge.age); var numbers = [10, 5, 100, 2, 1000]; >numbers : number[] >[10, 5, 100, 2, 1000] : number[] ->10 : number ->5 : number ->100 : number ->2 : number ->1000 : number +>10 : 10 +>5 : 5 +>100 : 100 +>2 : 2 +>1000 : 1000 _.min(numbers); >_.min(numbers) : number @@ -343,12 +343,12 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_ : Underscore.Static >sortBy : { (list: T[], iterator: Iterator, context?: any): T[]; (list: Dictionary, iterator: Iterator, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } >[1, 2, 3, 4, 5, 6] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->6 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>6 : 6 >(num) => Math.sin(num) : (num: number) => number >num : number >Math.sin(num) : number @@ -365,9 +365,9 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >_([1.3, 2.1, 2.4]) : Underscore.WrappedArray >_ : Underscore.Static >[1.3, 2.1, 2.4] : number[] ->1.3 : number ->2.1 : number ->2.4 : number +>1.3 : 1.3 +>2.1 : 2.1 +>2.4 : 2.4 >groupBy : { (iterator?: Iterator, context?: any): Dictionary; (propertyName: string): Dictionary; } >(e: number, i?: number, list?: number[]) => Math.floor(e) : (e: number, i?: number, list?: number[]) => number >e : number @@ -385,9 +385,9 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_ : Underscore.Static >groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1.3, 2.1, 2.4] : number[] ->1.3 : number ->2.1 : number ->2.4 : number +>1.3 : 1.3 +>2.1 : 2.1 +>2.4 : 2.4 >(num: number) => Math.floor(num) : (num: number) => number >num : number >Math.floor(num) : number @@ -402,10 +402,10 @@ _.groupBy(['one', 'two', 'three'], 'length'); >_ : Underscore.Static >groupBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >['one', 'two', 'three'] : string[] ->'one' : string ->'two' : string ->'three' : string ->'length' : string +>'one' : "one" +>'two' : "two" +>'three' : "three" +>'length' : "length" _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd') : Dictionary @@ -413,21 +413,21 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_ : Underscore.Static >countBy : { (list: T[], iterator?: Iterator, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1, 2, 3, 4, 5] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->(num) => num % 2 == 0 ? 'even' : 'odd' : (num: number) => string +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>(num) => num % 2 == 0 ? 'even' : 'odd' : (num: number) => "even" | "odd" >num : number ->num % 2 == 0 ? 'even' : 'odd' : string +>num % 2 == 0 ? 'even' : 'odd' : "even" | "odd" >num % 2 == 0 : boolean >num % 2 : number >num : number ->2 : number ->0 : number ->'even' : string ->'odd' : string +>2 : 2 +>0 : 0 +>'even' : "even" +>'odd' : "odd" _.shuffle([1, 2, 3, 4, 5, 6]); >_.shuffle([1, 2, 3, 4, 5, 6]) : number[] @@ -435,12 +435,12 @@ _.shuffle([1, 2, 3, 4, 5, 6]); >_ : Underscore.Static >shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } >[1, 2, 3, 4, 5, 6] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number ->6 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 +>6 : 6 // (function(){ return _.toArray(arguments).slice(1); })(1, 2, 3, 4); @@ -451,11 +451,11 @@ _.size({ one: 1, two: 2, three: 3 }); >size : { (list: T[]): number; (list: Dictionary): number; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 /////////////////////////////////////////////////////////////////////////////////////// @@ -465,11 +465,11 @@ _.first([5, 4, 3, 2, 1]); >_ : Underscore.Static >first : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] ->5 : number ->4 : number ->3 : number ->2 : number ->1 : number +>5 : 5 +>4 : 4 +>3 : 3 +>2 : 2 +>1 : 1 _.initial([5, 4, 3, 2, 1]); >_.initial([5, 4, 3, 2, 1]) : number @@ -477,11 +477,11 @@ _.initial([5, 4, 3, 2, 1]); >_ : Underscore.Static >initial : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] ->5 : number ->4 : number ->3 : number ->2 : number ->1 : number +>5 : 5 +>4 : 4 +>3 : 3 +>2 : 2 +>1 : 1 _.last([5, 4, 3, 2, 1]); >_.last([5, 4, 3, 2, 1]) : number @@ -489,11 +489,11 @@ _.last([5, 4, 3, 2, 1]); >_ : Underscore.Static >last : { (list: T[]): T; (list: T[], count: number): T[]; } >[5, 4, 3, 2, 1] : number[] ->5 : number ->4 : number ->3 : number ->2 : number ->1 : number +>5 : 5 +>4 : 4 +>3 : 3 +>2 : 2 +>1 : 1 _.rest([5, 4, 3, 2, 1]); >_.rest([5, 4, 3, 2, 1]) : number[] @@ -501,24 +501,24 @@ _.rest([5, 4, 3, 2, 1]); >_ : Underscore.Static >rest : (list: T[], index?: number) => T[] >[5, 4, 3, 2, 1] : number[] ->5 : number ->4 : number ->3 : number ->2 : number ->1 : number +>5 : 5 +>4 : 4 +>3 : 3 +>2 : 2 +>1 : 1 _.compact([0, 1, false, 2, '', 3]); ->_.compact([0, 1, false, 2, '', 3]) : (number | boolean | string)[] +>_.compact([0, 1, false, 2, '', 3]) : (string | number | boolean)[] >_.compact : (list: T[]) => T[] >_ : Underscore.Static >compact : (list: T[]) => T[] ->[0, 1, false, 2, '', 3] : (number | boolean | string)[] ->0 : number ->1 : number ->false : boolean ->2 : number ->'' : string ->3 : number +>[0, 1, false, 2, '', 3] : (false | "" | 0 | 1 | 2 | 3)[] +>0 : 0 +>1 : 1 +>false : false +>2 : 2 +>'' : "" +>3 : 3 _.flatten([1, 2, 3, 4]); >_.flatten([1, 2, 3, 4]) : {}[] @@ -526,10 +526,10 @@ _.flatten([1, 2, 3, 4]); >_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, 2, 3, 4] : number[] ->1 : number ->2 : number ->3 : number ->4 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 _.flatten([1, [2]]); >_.flatten([1, [2]]) : {}[] @@ -537,9 +537,9 @@ _.flatten([1, [2]]); >_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2]] : (number | number[])[] ->1 : number +>1 : 1 >[2] : number[] ->2 : number +>2 : 2 // typescript doesn't like the elements being different _.flatten([1, [2], [3, [[4]]]]); @@ -548,14 +548,14 @@ _.flatten([1, [2], [3, [[4]]]]); >_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] ->1 : number +>1 : 1 >[2] : number[] ->2 : number +>2 : 2 >[3, [[4]]] : (number | number[][])[] ->3 : number +>3 : 3 >[[4]] : number[][] >[4] : number[] ->4 : number +>4 : 4 _.flatten([1, [2], [3, [[4]]]], true); >_.flatten([1, [2], [3, [[4]]]], true) : {}[] @@ -563,15 +563,15 @@ _.flatten([1, [2], [3, [[4]]]], true); >_ : Underscore.Static >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] ->1 : number +>1 : 1 >[2] : number[] ->2 : number +>2 : 2 >[3, [[4]]] : (number | number[][])[] ->3 : number +>3 : 3 >[[4]] : number[][] >[4] : number[] ->4 : number ->true : boolean +>4 : 4 +>true : true _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); >_.without([1, 2, 1, 0, 3, 1, 4], 0, 1) : number[] @@ -579,15 +579,15 @@ _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); >_ : Underscore.Static >without : (list: T[], ...values: T[]) => T[] >[1, 2, 1, 0, 3, 1, 4] : number[] ->1 : number ->2 : number ->1 : number ->0 : number ->3 : number ->1 : number ->4 : number ->0 : number ->1 : number +>1 : 1 +>2 : 2 +>1 : 1 +>0 : 0 +>3 : 3 +>1 : 1 +>4 : 4 +>0 : 0 +>1 : 1 _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] @@ -595,17 +595,17 @@ _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_ : Underscore.Static >union : (...arrays: T[][]) => T[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >[101, 2, 1, 10] : number[] ->101 : number ->2 : number ->1 : number ->10 : number +>101 : 101 +>2 : 2 +>1 : 1 +>10 : 10 >[2, 1] : number[] ->2 : number ->1 : number +>2 : 2 +>1 : 1 _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] @@ -613,17 +613,17 @@ _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_ : Underscore.Static >intersection : (...arrays: T[][]) => T[] >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 >[101, 2, 1, 10] : number[] ->101 : number ->2 : number ->1 : number ->10 : number +>101 : 101 +>2 : 2 +>1 : 1 +>10 : 10 >[2, 1] : number[] ->2 : number ->1 : number +>2 : 2 +>1 : 1 _.difference([1, 2, 3, 4, 5], [5, 2, 10]); >_.difference([1, 2, 3, 4, 5], [5, 2, 10]) : number[] @@ -631,15 +631,15 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); >_ : Underscore.Static >difference : (list: T[], ...others: T[][]) => T[] >[1, 2, 3, 4, 5] : number[] ->1 : number ->2 : number ->3 : number ->4 : number ->5 : number +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 +>5 : 5 >[5, 2, 10] : number[] ->5 : number ->2 : number ->10 : number +>5 : 5 +>2 : 2 +>10 : 10 _.uniq([1, 2, 1, 3, 1, 4]); >_.uniq([1, 2, 1, 3, 1, 4]) : number[] @@ -647,12 +647,12 @@ _.uniq([1, 2, 1, 3, 1, 4]); >_ : Underscore.Static >uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator, context?: any): U[]; } >[1, 2, 1, 3, 1, 4] : number[] ->1 : number ->2 : number ->1 : number ->3 : number ->1 : number ->4 : number +>1 : 1 +>2 : 2 +>1 : 1 +>3 : 3 +>1 : 1 +>4 : 4 _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]) : Tuple3[] @@ -660,17 +660,17 @@ _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_ : Underscore.Static >zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >['moe', 'larry', 'curly'] : string[] ->'moe' : string ->'larry' : string ->'curly' : string +>'moe' : "moe" +>'larry' : "larry" +>'curly' : "curly" >[30, 40, 50] : number[] ->30 : number ->40 : number ->50 : number +>30 : 30 +>40 : 40 +>50 : 50 >[true, false, false] : boolean[] ->true : boolean ->false : boolean ->false : boolean +>true : true +>false : false +>false : false _.object(['moe', 'larry', 'curly'], [30, 40, 50]); >_.object(['moe', 'larry', 'curly'], [30, 40, 50]) : any @@ -678,13 +678,13 @@ _.object(['moe', 'larry', 'curly'], [30, 40, 50]); >_ : Underscore.Static >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } >['moe', 'larry', 'curly'] : string[] ->'moe' : string ->'larry' : string ->'curly' : string +>'moe' : "moe" +>'larry' : "larry" +>'curly' : "curly" >[30, 40, 50] : number[] ->30 : number ->40 : number ->50 : number +>30 : 30 +>40 : 40 +>50 : 50 _.object([['moe', 30], ['larry', 40], ['curly', 50]]); >_.object([['moe', 30], ['larry', 40], ['curly', 50]]) : any @@ -693,14 +693,14 @@ _.object([['moe', 30], ['larry', 40], ['curly', 50]]); >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } >[['moe', 30], ['larry', 40], ['curly', 50]] : (string | number)[][] >['moe', 30] : (string | number)[] ->'moe' : string ->30 : number +>'moe' : "moe" +>30 : 30 >['larry', 40] : (string | number)[] ->'larry' : string ->40 : number +>'larry' : "larry" +>40 : 40 >['curly', 50] : (string | number)[] ->'curly' : string ->50 : number +>'curly' : "curly" +>50 : 50 _.indexOf([1, 2, 3], 2); >_.indexOf([1, 2, 3], 2) : number @@ -708,10 +708,10 @@ _.indexOf([1, 2, 3], 2); >_ : Underscore.Static >indexOf : (list: T[], value: T, isSorted?: boolean) => number >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->2 : number +>1 : 1 +>2 : 2 +>3 : 3 +>2 : 2 _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); >_.lastIndexOf([1, 2, 3, 1, 2, 3], 2) : number @@ -719,13 +719,13 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); >_ : Underscore.Static >lastIndexOf : (list: T[], value: T, fromIndex?: number) => number >[1, 2, 3, 1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number ->1 : number ->2 : number ->3 : number ->2 : number +>1 : 1 +>2 : 2 +>3 : 3 +>1 : 1 +>2 : 2 +>3 : 3 +>2 : 2 _.sortedIndex([10, 20, 30, 40, 50], 35); >_.sortedIndex([10, 20, 30, 40, 50], 35) : number @@ -733,52 +733,52 @@ _.sortedIndex([10, 20, 30, 40, 50], 35); >_ : Underscore.Static >sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator, context?: any): number; } >[10, 20, 30, 40, 50] : number[] ->10 : number ->20 : number ->30 : number ->40 : number ->50 : number ->35 : number +>10 : 10 +>20 : 20 +>30 : 30 +>40 : 40 +>50 : 50 +>35 : 35 _.range(10); >_.range(10) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } >_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->10 : number +>10 : 10 _.range(1, 11); >_.range(1, 11) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } >_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->1 : number ->11 : number +>1 : 1 +>11 : 11 _.range(0, 30, 5); >_.range(0, 30, 5) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } >_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->0 : number ->30 : number ->5 : number +>0 : 0 +>30 : 30 +>5 : 5 _.range(0, 30, 5); >_.range(0, 30, 5) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } >_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->0 : number ->30 : number ->5 : number +>0 : 0 +>30 : 30 +>5 : 5 _.range(0); >_.range(0) : number[] >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } >_ : Underscore.Static >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } ->0 : number +>0 : 0 /////////////////////////////////////////////////////////////////////////////////////// @@ -789,7 +789,7 @@ var func = function (greeting) { return greeting + ': ' + this.name }; >greeting + ': ' + this.name : string >greeting + ': ' : string >greeting : any ->': ' : string +>': ' : ": " >this.name : any >this : any >name : any @@ -805,8 +805,8 @@ var func2 = _.bind(func, { name: 'moe' }, 'hi'); >func : (greeting: any) => string >{ name: 'moe' } : { name: string; } >name : string ->'moe' : string ->'hi' : string +>'moe' : "moe" +>'hi' : "hi" func2(); >func2() : any @@ -818,7 +818,7 @@ var buttonView = { label: 'underscore', >label : string ->'underscore' : string +>'underscore' : "underscore" onClick: function () { alert('clicked: ' + this.label); }, >onClick : () => void @@ -826,7 +826,7 @@ var buttonView = { >alert('clicked: ' + this.label) : void >alert : (x: string) => void >'clicked: ' + this.label : string ->'clicked: ' : string +>'clicked: ' : "clicked: " >this.label : any >this : any >label : any @@ -837,7 +837,7 @@ var buttonView = { >alert('hovering: ' + this.label) : void >alert : (x: string) => void >'hovering: ' + this.label : string ->'hovering: ' : string +>'hovering: ' : "hovering: " >this.label : any >this : any >label : any @@ -855,9 +855,9 @@ $('#underscore_button').bind('click', buttonView.onClick); >$('#underscore_button').bind : any >$('#underscore_button') : any >$ : any ->'#underscore_button' : string +>'#underscore_button' : "#underscore_button" >bind : any ->'click' : string +>'click' : "click" >buttonView.onClick : () => void >buttonView : { label: string; onClick: () => void; onHover: () => void; } >onClick : () => void @@ -875,19 +875,19 @@ var fibonacci = _.memoize(function (n) { >n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2) : any >n < 2 : boolean >n : any ->2 : number +>2 : 2 >n : any >fibonacci(n - 1) + fibonacci(n - 2) : any >fibonacci(n - 1) : any >fibonacci : (n: any) => any >n - 1 : number >n : any ->1 : number +>1 : 1 >fibonacci(n - 2) : any >fibonacci : (n: any) => any >n - 2 : number >n : any ->2 : number +>2 : 2 }); @@ -908,8 +908,8 @@ _.delay(log, 1000, 'logged later'); >_ : Underscore.Static >delay : (func: Function, wait: number, ...args: any[]) => number >log : (message?: string, ...rest: string[]) => void ->1000 : number ->'logged later' : string +>1000 : 1000 +>'logged later' : "logged later" _.defer(function () { alert('deferred'); }); >_.defer(function () { alert('deferred'); }) : number @@ -919,14 +919,14 @@ _.defer(function () { alert('deferred'); }); >function () { alert('deferred'); } : () => void >alert('deferred') : void >alert : (x: string) => void ->'deferred' : string +>'deferred' : "deferred" var updatePosition = () => alert('updating position...'); >updatePosition : () => void >() => alert('updating position...') : () => void >alert('updating position...') : void >alert : (x: string) => void ->'updating position...' : string +>'updating position...' : "updating position..." var throttled = _.throttle(updatePosition, 100); >throttled : () => void @@ -935,7 +935,7 @@ var throttled = _.throttle(updatePosition, 100); >_ : Underscore.Static >throttle : (func: T, wait: number) => T >updatePosition : () => void ->100 : number +>100 : 100 $(null).scroll(throttled); >$(null).scroll(throttled) : any @@ -951,7 +951,7 @@ var calculateLayout = () => alert('calculating layout...'); >() => alert('calculating layout...') : () => void >alert('calculating layout...') : void >alert : (x: string) => void ->'calculating layout...' : string +>'calculating layout...' : "calculating layout..." var lazyLayout = _.debounce(calculateLayout, 300); >lazyLayout : () => void @@ -960,7 +960,7 @@ var lazyLayout = _.debounce(calculateLayout, 300); >_ : Underscore.Static >debounce : (func: T, wait: number, immediate?: boolean) => T >calculateLayout : () => void ->300 : number +>300 : 300 $(null).resize(lazyLayout); >$(null).resize(lazyLayout) : any @@ -976,7 +976,7 @@ var createApplication = () => alert('creating application...'); >() => alert('creating application...') : () => void >alert('creating application...') : void >alert : (x: string) => void ->'creating application...' : string +>'creating application...' : "creating application..." var initialize = _.once(createApplication); >initialize : () => void @@ -1002,7 +1002,7 @@ var render = () => alert("rendering..."); >() => alert("rendering...") : () => void >alert("rendering...") : void >alert : (x: string) => void ->"rendering..." : string +>"rendering..." : "rendering..." var renderNotes = _.after(notes.length, render); >renderNotes : () => void @@ -1036,7 +1036,7 @@ var hello = function (name) { return "hello: " + name; }; >function (name) { return "hello: " + name; } : (name: any) => string >name : any >"hello: " + name : string ->"hello: " : string +>"hello: " : "hello: " >name : any hello = _.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after"; }); @@ -1052,23 +1052,23 @@ hello = _.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after" >arg : any >"before, " + func(arg) + ", after" : string >"before, " + func(arg) : string ->"before, " : string +>"before, " : "before, " >func(arg) : string >func : (name: any) => string >arg : any ->", after" : string +>", after" : ", after" hello("moe"); >hello("moe") : string >hello : (name: any) => string ->"moe" : string +>"moe" : "moe" var greet = function (name) { return "hi: " + name; }; >greet : (name: any) => string >function (name) { return "hi: " + name; } : (name: any) => string >name : any >"hi: " + name : string ->"hi: " : string +>"hi: " : "hi: " >name : any var exclaim = function (statement) { return statement + "!"; }; @@ -1077,7 +1077,7 @@ var exclaim = function (statement) { return statement + "!"; }; >statement : any >statement + "!" : string >statement : any ->"!" : string +>"!" : "!" var welcome = _.compose(exclaim, greet); >welcome : Function @@ -1091,7 +1091,7 @@ var welcome = _.compose(exclaim, greet); welcome('moe'); >welcome('moe') : any >welcome : Function ->'moe' : string +>'moe' : "moe" /////////////////////////////////////////////////////////////////////////////////////// @@ -1102,11 +1102,11 @@ _.keys({ one: 1, two: 2, three: 3 }); >keys : (object: any) => string[] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 _.values({ one: 1, two: 2, three: 3 }); >_.values({ one: 1, two: 2, three: 3 }) : any[] @@ -1115,11 +1115,11 @@ _.values({ one: 1, two: 2, three: 3 }); >values : (object: any) => any[] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 _.pairs({ one: 1, two: 2, three: 3 }); >_.pairs({ one: 1, two: 2, three: 3 }) : any[][] @@ -1128,11 +1128,11 @@ _.pairs({ one: 1, two: 2, three: 3 }); >pairs : (object: any) => any[][] >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number ->1 : number +>1 : 1 >two : number ->2 : number +>2 : 2 >three : number ->3 : number +>3 : 3 _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); >_.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }) : any @@ -1141,11 +1141,11 @@ _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); >invert : (object: any) => any >{ Moe: "Moses", Larry: "Louis", Curly: "Jerome" } : { Moe: string; Larry: string; Curly: string; } >Moe : string ->"Moses" : string +>"Moses" : "Moses" >Larry : string ->"Louis" : string +>"Louis" : "Louis" >Curly : string ->"Jerome" : string +>"Jerome" : "Jerome" _.functions(_); >_.functions(_) : string[] @@ -1161,10 +1161,10 @@ _.extend({ name: 'moe' }, { age: 50 }); >extend : (destination: T, ...sources: any[]) => T >{ name: 'moe' } : { name: string; } >name : string ->'moe' : string +>'moe' : "moe" >{ age: 50 } : { age: number; } >age : number ->50 : number +>50 : 50 _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); >_.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age') : { name: string; age: number; userid: string; } @@ -1173,13 +1173,13 @@ _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); >pick : (object: T, ...keys: string[]) => T >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } >name : string ->'moe' : string +>'moe' : "moe" >age : number ->50 : number +>50 : 50 >userid : string ->'moe1' : string ->'name' : string ->'age' : string +>'moe1' : "moe1" +>'name' : "name" +>'age' : "age" _.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid'); >_.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid') : { name: string; age: number; userid: string; } @@ -1188,18 +1188,18 @@ _.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid'); >omit : (object: T, ...keys: string[]) => T >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } >name : string ->'moe' : string +>'moe' : "moe" >age : number ->50 : number +>50 : 50 >userid : string ->'moe1' : string ->'userid' : string +>'moe1' : "moe1" +>'userid' : "userid" var iceCream = { flavor: "chocolate" }; >iceCream : { flavor: string; } >{ flavor: "chocolate" } : { flavor: string; } >flavor : string ->"chocolate" : string +>"chocolate" : "chocolate" _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); >_.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }) : { flavor: string; } @@ -1209,9 +1209,9 @@ _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); >iceCream : { flavor: string; } >{ flavor: "vanilla", sprinkles: "lots" } : { flavor: string; sprinkles: string; } >flavor : string ->"vanilla" : string +>"vanilla" : "vanilla" >sprinkles : string ->"lots" : string +>"lots" : "lots" _.clone({ name: 'moe' }); >_.clone({ name: 'moe' }) : { name: string; } @@ -1220,7 +1220,7 @@ _.clone({ name: 'moe' }); >clone : (object: T) => T >{ name: 'moe' } : { name: string; } >name : string ->'moe' : string +>'moe' : "moe" _.chain([1, 2, 3, 200]) >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) .value() : number[] @@ -1236,10 +1236,10 @@ _.chain([1, 2, 3, 200]) >_ : Underscore.Static >chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } >[1, 2, 3, 200] : number[] ->1 : number ->2 : number ->3 : number ->200 : number +>1 : 1 +>2 : 2 +>3 : 3 +>200 : 200 .filter(function (num) { return num % 2 == 0; }) >filter : (iterator: Iterator, context?: any) => Underscore.ChainedArray @@ -1248,8 +1248,8 @@ _.chain([1, 2, 3, 200]) >num % 2 == 0 : boolean >num % 2 : number >num : number ->2 : number ->0 : number +>2 : 2 +>0 : 0 .tap(alert) >tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray @@ -1274,34 +1274,34 @@ _.has({ a: 1, b: 2, c: 3 }, "b"); >has : (object: any, key: string) => boolean >{ a: 1, b: 2, c: 3 } : { a: number; b: number; c: number; } >a : number ->1 : number +>1 : 1 >b : number ->2 : number +>2 : 2 >c : number ->3 : number ->"b" : string +>3 : 3 +>"b" : "b" var moe = { name: 'moe', luckyNumbers: [13, 27, 34] }; >moe : { name: string; luckyNumbers: number[]; } >{ name: 'moe', luckyNumbers: [13, 27, 34] } : { name: string; luckyNumbers: number[]; } >name : string ->'moe' : string +>'moe' : "moe" >luckyNumbers : number[] >[13, 27, 34] : number[] ->13 : number ->27 : number ->34 : number +>13 : 13 +>27 : 27 +>34 : 34 var clone = { name: 'moe', luckyNumbers: [13, 27, 34] }; >clone : { name: string; luckyNumbers: number[]; } >{ name: 'moe', luckyNumbers: [13, 27, 34] } : { name: string; luckyNumbers: number[]; } >name : string ->'moe' : string +>'moe' : "moe" >luckyNumbers : number[] >[13, 27, 34] : number[] ->13 : number ->27 : number ->34 : number +>13 : 13 +>27 : 27 +>34 : 34 moe == clone; >moe == clone : boolean @@ -1322,9 +1322,9 @@ _.isEmpty([1, 2, 3]); >_ : Underscore.Static >isEmpty : (object: any) => boolean >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 _.isEmpty({}); >_.isEmpty({}) : boolean @@ -1341,8 +1341,8 @@ _.isElement($('body')[0]); >$('body')[0] : any >$('body') : any >$ : any ->'body' : string ->0 : number +>'body' : "body" +>0 : 0 (function () { return _.isArray(arguments); })(); >(function () { return _.isArray(arguments); })() : boolean @@ -1360,9 +1360,9 @@ _.isArray([1, 2, 3]); >_ : Underscore.Static >isArray : (object: any) => boolean >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 _.isObject({}); >_.isObject({}) : boolean @@ -1376,7 +1376,7 @@ _.isObject(1); >_.isObject : (value: any) => boolean >_ : Underscore.Static >isObject : (value: any) => boolean ->1 : number +>1 : 1 // (() => { return _.isArguments(arguments); })(1, 2, 3); @@ -1386,9 +1386,9 @@ _.isArguments([1, 2, 3]); >_ : Underscore.Static >isArguments : (object: any) => boolean >[1, 2, 3] : number[] ->1 : number ->2 : number ->3 : number +>1 : 1 +>2 : 2 +>3 : 3 _.isFunction(alert); >_.isFunction(alert) : boolean @@ -1402,7 +1402,7 @@ _.isString("moe"); >_.isString : (object: any) => boolean >_ : Underscore.Static >isString : (object: any) => boolean ->"moe" : string +>"moe" : "moe" _.isNumber(8.4 * 5); >_.isNumber(8.4 * 5) : boolean @@ -1410,16 +1410,16 @@ _.isNumber(8.4 * 5); >_ : Underscore.Static >isNumber : (object: any) => boolean >8.4 * 5 : number ->8.4 : number ->5 : number +>8.4 : 8.4 +>5 : 5 _.isFinite(-101); >_.isFinite(-101) : boolean >_.isFinite : (object: any) => boolean >_ : Underscore.Static >isFinite : (object: any) => boolean ->-101 : number ->101 : number +>-101 : -101 +>101 : 101 _.isFinite(-Infinity); >_.isFinite(-Infinity) : boolean @@ -1508,7 +1508,7 @@ var moe2 = { name: 'moe' }; >moe2 : { name: string; } >{ name: 'moe' } : { name: string; } >name : string ->'moe' : string +>'moe' : "moe" moe2 === _.identity(moe); >moe2 === _.identity(moe) : boolean @@ -1527,7 +1527,7 @@ _.times(3, function (n) { genie.grantWishNumber(n); }); >_.times : (n: number, iterator: Iterator, context?: any) => U[] >_ : Underscore.Static >times : (n: number, iterator: Iterator, context?: any) => U[] ->3 : number +>3 : 3 >function (n) { genie.grantWishNumber(n); } : (n: number) => void >n : number >genie.grantWishNumber(n) : any @@ -1541,8 +1541,8 @@ _.random(0, 100); >_.random : { (max: number): number; (min: number, max: number): number; } >_ : Underscore.Static >random : { (max: number): number; (min: number, max: number): number; } ->0 : number ->100 : number +>0 : 0 +>100 : 100 _.mixin({ >_.mixin({ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }}) : void @@ -1564,7 +1564,7 @@ _.mixin({ >string.charAt : any >string : any >charAt : any ->0 : number +>0 : 0 >toUpperCase : any >string.substring(1).toLowerCase() : any >string.substring(1).toLowerCase : any @@ -1572,7 +1572,7 @@ _.mixin({ >string.substring : any >string : any >substring : any ->1 : number +>1 : 1 >toLowerCase : any } }); @@ -1583,7 +1583,7 @@ _.mixin({ >_("fabio") : any >_("fabio") : Underscore.WrappedObject >_ : Underscore.Static ->"fabio" : string +>"fabio" : "fabio" >capitalize : any _.uniqueId('contact_'); @@ -1591,23 +1591,23 @@ _.uniqueId('contact_'); >_.uniqueId : { (): number; (prefix: string): string; } >_ : Underscore.Static >uniqueId : { (): number; (prefix: string): string; } ->'contact_' : string +>'contact_' : "contact_" _.escape('Curly, Larry & Moe'); >_.escape('Curly, Larry & Moe') : string >_.escape : (s: string) => string >_ : Underscore.Static >escape : (s: string) => string ->'Curly, Larry & Moe' : string +>'Curly, Larry & Moe' : "Curly, Larry & Moe" var object = { cheese: 'crumpets', stuff: function () { return 'nonsense'; } }; >object : { cheese: string; stuff: () => string; } >{ cheese: 'crumpets', stuff: function () { return 'nonsense'; } } : { cheese: string; stuff: () => string; } >cheese : string ->'crumpets' : string +>'crumpets' : "crumpets" >stuff : () => string >function () { return 'nonsense'; } : () => string ->'nonsense' : string +>'nonsense' : "nonsense" _.result(object, 'cheese'); >_.result(object, 'cheese') : any @@ -1615,7 +1615,7 @@ _.result(object, 'cheese'); >_ : Underscore.Static >result : (object: any, property: string) => any >object : { cheese: string; stuff: () => string; } ->'cheese' : string +>'cheese' : "cheese" _.result(object, 'stuff'); >_.result(object, 'stuff') : any @@ -1623,7 +1623,7 @@ _.result(object, 'stuff'); >_ : Underscore.Static >result : (object: any, property: string) => any >object : { cheese: string; stuff: () => string; } ->'stuff' : string +>'stuff' : "stuff" var compiled = _.template("hello: <%= name %>"); >compiled : (data: any) => string @@ -1631,18 +1631,18 @@ var compiled = _.template("hello: <%= name %>"); >_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } >_ : Underscore.Static >template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } ->"hello: <%= name %>" : string +>"hello: <%= name %>" : "hello: <%= name %>" compiled({ name: 'moe' }); >compiled({ name: 'moe' }) : string >compiled : (data: any) => string >{ name: 'moe' } : { name: string; } >name : string ->'moe' : string +>'moe' : "moe" var list2 = "<% _.each(people, function(name) { %>
  • <%= name %>
  • <% }); %>"; >list2 : string ->"<% _.each(people, function(name) { %>
  • <%= name %>
  • <% }); %>" : string +>"<% _.each(people, function(name) { %>
  • <%= name %>
  • <% }); %>" : "<% _.each(people, function(name) { %>
  • <%= name %>
  • <% }); %>" _.template(list2, { people: ['moe', 'curly', 'larry'] }); >_.template(list2, { people: ['moe', 'curly', 'larry'] }) : string @@ -1653,9 +1653,9 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); >{ people: ['moe', 'curly', 'larry'] } : { people: string[]; } >people : string[] >['moe', 'curly', 'larry'] : string[] ->'moe' : string ->'curly' : string ->'larry' : string +>'moe' : "moe" +>'curly' : "curly" +>'larry' : "larry" var template = _.template("<%- value %>"); >template : (data: any) => string @@ -1663,14 +1663,14 @@ var template = _.template("<%- value %>"); >_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } >_ : Underscore.Static >template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } ->"<%- value %>" : string +>"<%- value %>" : "<%- value %>" template({ value: ' - +